[Mp4-tech] [H.264] Deblocking across Slices/SliceGroups

Mohit Garg mgarg nvidia.com
Thu Feb 2 17:11:51 ESTEDT 2006


Thanks Gary and John. It clears my doubt.
regards
Mohit Garg
Nvidia, Bangalore
________________________________
	From: Gary Sullivan [mailto:garysull windows.microsoft.com] 
	Sent: Thursday, February 02, 2024 2:29 AM
	To: Mohit Garg; mp4-tech lists.mpegif.org
	Subject: RE: [Mp4-tech] [H.264] Deblocking across
Slices/SliceGroups
	Mohit et al,
	Reply interspersed below.
	Best Regards,
	Gary Sullivan
________________________________
		From: mp4-tech-bounces lists.mpegif.org
[mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Mohit Garg
		Sent: Tuesday, January 31, 2024 9:30 PM
		To: mp4-tech lists.mpegif.org
		Subject: [Mp4-tech] [H.264] Deblocking across
Slices/SliceGroups
		Hello All, 
		I have some confusion regarding the Deblocking
specifications. The specifications [Ref: ITU-T Rec. H.264 (03/2005) -
Prepublished version] in Section 8.7, say that when
"disable_deblocking_filter_idc is equal to 2, macroblocks in different
slices are considered not available during specified steps of the
operation of the deblocking filter process." It also mentions that
filterLeftEdgeMBFlag/filterTopEdgeMBFlag=0 when
disable_deblocking_filter_idc =2 and mbAddrA/mbAddrB is not available.
Since 'availability' (Section 6.4.5) is defined to treat macroblocks in
different slices as not available, this means that when
disable_deblocking_filter_idc =2 we do not have to apply the filter
across slice edges. Some questions:
		~ What about the case when disable_deblocking_filter_idc
=0? Do we have to filter across slices in this case? 
		[GJS: ] Yes.  I think the spec is clear about that.  It
specifies what the decoder is supposed to do in that case, and what it
says the decoder must do is not dependent on whether the edges are slice
boundaries or not.  By the specified decoder actions, the answer is
KNOWN.  Do not be mesmerized by a web of preconceptions.
		 Doesn't this conflict with the fundamental idea behind
slices (error resilience)?
		[GJS: ]  Not necessarily. In fact, coupling deblocking
with error concealment strategies seems to often improve the concealment
quality.  And the slice structuring still lets the decoder find a spot
in the picture at which it can recover the video data in subsequent
slices of the frame at least approximately (i.e., except for exact
values near slice edges).  But in any case if you are making an encoder
and you think it isn't a good idea to filter across the slice edges,
then just set disable_deblocking_filter_idc equal to 2 and the decoder
will do what you want.  Generally, we try to let encoders decide what is
a good idea and what isn't -- decoders just do what they are told to do
(within the limited scope of proper receipt of conforming bitstreams, of
course).
		~ What about sliceGroups? Since every sliceGroup edge
will necessarily be a slice edge, does the above apply to sliceGroup
edges too? 
		[GJS: ] Yes.  As you said, the edge of a slice group
will be the edge of a slice.  So what applies to the edge of a slice
will apply to the edge of a slice group. 
		Thanks and regards, 
		Mohit Garg 
		Nvidia Graphics Pvt. Ltd. 
		"We may say that we KNOW, but by our actions it is
KNOWN" -- Anon 
		Personal Homepage: http://mohitgarg.vectorstar.net
<http://mohitgarg.vectorstar.net>  
		Social Work: http://www.noragging.com
<http://www.noragging.com>  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20060202/b771ae0b/attachment.html


More information about the Mp4-tech mailing list