throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2008/0137753 A1
`(43) Pub. Date:
`Jun. 12, 2008
`He
`
`US 20080 137753A1
`
`(54) SYSTEMAND METHOD OF DETERMINING
`DEBLOCKING CONTROL FLAG OF
`SCALABLEVIDEO SYSTEM FOR
`INDICATING PRESENTATION OF
`DEBLOCKING PARAMETERS FOR
`MULTIPLE LAYERS
`
`(75) Inventor:
`
`Zhongli He, Austin, TX (US)
`
`Correspondence Address:
`THE LAW OFFICES OF GARY R. STANFORD
`33OW. OVERLOOK MOUNTAIN RD.
`BUDA, TX 78610
`
`(73) Assignee:
`
`FREESCALE
`SEMICONDUCTOR, INC.,
`Austin, TX (US)
`
`(21) Appl. No.:
`
`11/608,690
`
`(22) Filed:
`
`Dec. 8, 2006
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`H04N 7/24
`(52) U.S. Cl. ............................ 375/240.24; 375/E07.004
`(57)
`ABSTRACT
`A method of generating a video sequence including setting a
`state of a deblocking control flag in a frame header of a frame
`to indicate that a deblocking parameter is presented for some
`but not all layers. A method of processing a received video
`sequence including determining a state of a deblocking con
`trol flag of a frame header and retrieving a deblocking param
`eter for some but not all layers. A scalable video system
`including a deblocking control circuit which sets a state of a
`deblocking control flag in a frame header to indicate that a
`deblocking parameter is presented for some but not all layers.
`A scalable video system including a deblocking control cir
`cuit which determines the state of a deblocking control flag in
`a frame header of a received video sequence and which
`retrieves a deblocking parameter for some but not all layers of
`the frame.
`
`125
`
`OUTPUT
`
`PWR
`
`
`
`els.
`
`
`
`MODE
`DECISION
`
`INTRAFRAME
`PREDICTION
`
`
`
`135
`
`MW
`PSF
`MINSAD
`URF
`
`
`
`
`
`
`
`
`
`
`
`|
`
`
`
`
`
`RF
`(RECONSTRUCTED)
`
`
`
`
`
`D
`
`13
`
`1
`
`SAMSUNG-1008
`
`

`

`Patent Application Publication
`
`Jun. 12,2008 Sheet 1 of 7
`
`US 2008/0137753 Al
`
`Oud
`
`
`sig<tindino"a|p(nae)
`
`MdanaliasiN60L
`
`INO
`
`NOISIOa0KdTan]MIST
`
`5PPayzZ
`
`EWENEEEN))
`
`czlaio61
`
`SdNOTLOTCId
`LglINVUSVaINT
`
`4007830
`
`TOYLNOD
`
`(C4LONY1SNOO3Y)x
`
`
`
`ONTHOO1830
`
`Y3lld
`
`Ith
`
`2
`
`
`
`
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 2 of 7
`
`US 2008/O137753 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`d
`
`(BONG}}}}}}})
`
`}}
`
`(H10NHISN00}})
`
`}|00T1830
`
`TOHINO)
`
`3
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 3 of 7
`
`US 2008/O137753 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`AVG.. 4
`
`
`
`409
`PSF AND L/C
`
`
`
`TH = MINSADAVG THC1s (PSF/4+1
`TH2 = MINSADAVG THL (PSF/4+1
`
`TH1 = MINSADAVG THC2
`TH2 = MINSADAVG THL2
`
`419
`
`MNSADAWG >
`TH1?
`421-
`)
`MINSADAWG K p-1
`
`
`
`
`
`DISABLE
`DEBLOCKING FILTER
`(LUMA AND CHROMA)
`
`DISABLE CHROMA
`DEBLOCKING FILTER
`(LUMA ENABLED)
`
`ENABLE DEBLOCKINC - 431
`FILTER (LUMA
`AND CHROMA)
`
`435
`
`
`
`END OF
`SEQUENCE?
`
`
`
`
`
`4
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 4 of 7
`
`US 2008/0137753 A1
`
`
`
`503
`
`SWC WIDEO ENCODER
`601
`MINSAD, MV
`
`EFC
`
`CHANNEL
`602
`
`SVC VIDEO DECODER
`603
`
`OUTPUT
`VIDEO
`
`5
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 5 of 7
`
`US 2008/0137753 A1
`
`
`
`|
`0
`8
`
`6
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 6 of 7
`
`US 2008/0137753 A1
`
`INITIALIZATION
`BEGIN NEXT FRAME
`QL = 0;
`GO TO NEXT SLICE GROUP
`OF CURRENT FRAME
`
`(C)
`905
`(B)
`
`Q AVG. 9
`9 27
`Stated Y
`903
`N
`SE
`O
`N
`931
`DETERMINEX USING OL
`DETERMINE X USING OL
`
`E.G.,
`X=A FOR QL=1;
`X=B FOR QL=2;
`ETC.
`
`Y
`
`933
`
`
`
`
`
`
`
`
`
`919
`
`ENABLE
`DEBLOCK
`FILTERING
`
`MSTH = Xi QL:TH
`935
`CINSADAVGNY
`909
`s32 > MSTH
`N
`11
`APPLY BASE LAYER
`SET IDCO = 1
`DEBLOCK FILTER
`DETERMINATION SET IDCO
`915
`Sid 9 39
`95
`cope on Ayer slice of
`CURRENT SLICE GROUP
`941
`Sgt. EdFRAME?
`Y
`GO TO NEXT FRAME
`9
`953
`DETERMINE PMINSADAWG AS AVERACE
`OF CMINSADAVG OF LAST FRAME, IF
`LAST FRAME WAS I-FRAME, USE
`DEFAULT WALUE
`
`DISABLE DEBLOCK
`FILTERING
`
`
`
`
`
`ENABLE
`DEBLOCK
`FILTERING
`
`N
`
`949
`
`51
`9
`
`FILTERING
`
`917
`CODE BASE LAYER SLICE OF
`CURRENT SLICE GROUP, IF NOT
`I-FRAME DETERMINE CMINSADAVG
`
`921
`
`ANOTHER
`LAYER
`Y
`
`947
`ANOTHER
`SLICE GROUP
`Y
`
`N
`
`923
`
`
`
`N
`
`FLAG = 3
`
`Y
`
`955
`OVERRIDE?
`
`INCREMENT QL
`GO TO SLICE LAYER QL-925
`OF CURRENT SLICE GROUP
`OF CURRENT SLICE
`G.)
`
`(C)
`
`(B) s 959
`PMINSADAVG
`FLAG = 1
`t
`K TH
`963
`965
`N
`PMINSADAWG
`Y
`FLAG = 2 SE
`FLAG = 0
`N
`
`7
`
`

`

`Patent Application Publication
`
`Jun. 12, 2008 Sheet 7 of 7
`
`US 2008/0137753 A1
`
`START
`
`INITIALIZATION
`
`1001
`
`A77G. ZO
`
`1003 NRETRIEVE SEQUENCE HEADER
`
`BEGIN NEXT FRAME
`
`1005
`
`(C)
`
`1006
`
`1007
`(B)
`
`RETRIEVE FRAME HEADER
`INCLUDING FLAG
`
`QL = 0;
`CO TO NEXT SLICE GROUP
`OF CURRENT FRAME
`1009
`Y SSR.Ed
`
`
`
`
`
`1011 sid 1013
`
`RETRIEVE QL LAYER
`DEBLOCK PARAMETER
`IDCO
`
`
`
`1041
`
`
`
`RETRIEVE BASE LAYER
`N
`1021
`DEBLOCK PARAMETER IDC
`DISABLE DEBLOCK
`FILTERING
`ENABLE
`1015
`DEBLOCK Stop- 1037
`FILTERING
`1017
`DECODE QL LAYER SLICE
`DISABLE DEBLOCK FILTERING
`OF CURRENT SLICE GROUP
`1019
`1039
`DECODE BASE LAYER SLICE OF
`CURRENT SLICE CROUP
`
`
`
`ENABLE
`DEBLOCK
`FILTERING
`
`1023
`
`ANOTHER
`LAYER
`Y
`INCREMENT QL
`
`N
`
`1025
`
`1045
`
`ANOTHER
`SLICE GROUP
`Y
`(B)
`
`GO TO SLICE LAYER QL-1027
`(A)-OFCURRENTSICE GROUP
`OF CURRENT FRAME
`
`N
`
`ANOTHER
`FRAME?
`Y
`GO
`
`104.7
`
`N
`
`END
`
`8
`
`

`

`US 2008/O 137753 A1
`
`Jun. 12, 2008
`
`SYSTEMAND METHOD OF DETERMINING
`DEBLOCKING CONTROL FLAG OF
`SCALABLEVIDEO SYSTEM FOR
`INDICATING PRESENTATION OF
`DEBLOCKING PARAMETERS FOR
`MULTIPLE LAYERS
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`0001
`0002 The present invention relates in general to video
`information processing, and more specifically to a system and
`method of determining a deblocking control flag of Scalable
`Video system for indicating presentation of deblocking
`parameters for multiple layers for reducing bits in the bit
`Stream.
`0003 2. Description of the Related Art
`0004. The Advanced Video Coding (AVC) standard, Part
`10 of MPEG4 (Motion Picture Experts Group), otherwise
`known as H.264, includes advanced compression techniques
`that were developed to enable transmission of video signals at
`a lower bit rate or storage of video signals using less storage
`space. The newer standard outperforms video compression
`techniques of prior standards in order to Support higher qual
`ity streaming video at lower bit-rates and to enable internet
`based video and wireless applications and the like. The stan
`dard does not define the CODEC (encoder/decoder pair) but
`instead defines the syntax of the encoded video bitstream
`along with a method of decoding the bitstream. Each video
`frame is subdivided and encoded at the macroblock (MB)
`level, where each MB is a 16x16 block of pixels. Each MB is
`encoded in intraframe mode in which a prediction MB is
`formed based on reconstructed MBs in the current frame, or
`interframe mode in which a prediction MB is formed based
`on the MBs of the reference frames. The intraframe coding
`mode applies spatial information within the current frame in
`which the prediction MB is formed from samples in the
`current frame that have previously encoded, decoded and
`reconstructed. The interframe coding mode utilizes temporal
`information from previous and/or future reference frames to
`estimate motion to form the prediction MB. The video infor
`mation is typically processed and transmitted in slices, in
`which each video slice incorporates one or more macrob
`locks.
`0005 Scalable Video Coding (SVC) is an extension of the
`H.264 standard which addresses coding schemes for reliably
`delivery of video to diverse clients over heterogeneous net
`works using available system resources, particularly in sce
`narios where the downstream client capabilities, system
`resources, and network conditions are not known in advance,
`or dynamically changing from time to time. SVC provides
`multiple levels or layers of scalability including temporal
`Scalability, spatial scalability, complexity Scalability and
`quality Scalability. Temporal scalability generally refers to
`the number of frames per second (fps) of the video stream,
`such as 7.5fps, 15fps, 30fps, etc. Spatial scalability refers to
`the resolution of each frame. Such as common interface for
`mat (CIF) with 352 by 288 pixels per frame, or quarter CIF
`(QCIF) with 176 by 144 pixels per frame, although other
`spatial resolutions are contemplated, such as 4CIF, QVGA,
`VGA, SVGA, D1, HDTV, etc. Complexity scalability gener
`ally refers to the various computational capabilities and pro
`cessing power of the devices processing the video informa
`tion. Quality Scalability generally refers to the visual quality
`layers of the coded video by using different bitrates. Objec
`
`tively, visual quality is measured with a peak signal-to-noise
`(PSNR) metric defining the relative quality of a reconstructed
`image compared with an original image.
`0006. A deblocking filter is a formative part of the H.264
`standard and SVC extension, and an informative part (as a
`post processing block) of the earlier H.263 standard and
`MPEG4-Part2. The deblocking filter performs both luma and
`chroma filtering as known by those of ordinary skill in the art.
`The deblocking filter is used either as an in-loop filter as part
`of the standard (e.g., H.264/AVC), or as a post-processor for
`video decoder (e.g., H.263, MPEG4-part2, MPEG-2, etc.).
`The deblocking filter enhances the decoded picture quality
`and increases the encoding efficiency by removing the block
`effects in the boundary of each 4x4, 8x8, and/or 16x16
`block. The deblocking filter, however, also consumes a sig
`nificant amount of power and processing cycles. Generally
`speaking, the entire deblocking filter (both luma and chroma)
`consumes approximately 8% of the computations at the
`encoder and approximately 35% at the decoder for H.264/
`AVC. Disabling the entire deblocking filter, therefore, pro
`vides a significant reduction of power and processing com
`plexity, especially in the decoder. A conventional
`configuration according to H.264/AVC includes the ability to
`turn on and off the entire deblocking filter (including both
`luma and chroma deblock filtering). Disabling the entire
`deblocking filter, however, potentially causes degradation of
`both objective PSNR and subjective visual quality especially
`for video information having a relatively high level of motion.
`In most conventional configurations, therefore, the ability to
`completely disable the deblocking filter has not been used.
`0007. The bitstream carrying the video sequence gener
`ated and transmitted by an SVC video encoder is organized
`into multiple frames in which each frame includes multiple
`slices. Each frame header includes a frame header and the
`slices of the frame include base layer slices and enhanced
`layer slices, where each slice includes a slice header. The
`frame header includes a deblocking control flag indicating
`whether deblocking parameters are presented within the slice
`headers of the base layer slices and the enhanced layer slices.
`The deblocking parameters determine whether deblock filter
`ing is enabled or disabled and additional deblocking settings
`when enabled. A deblocking enable/disable parameter is set
`to “0” to enable deblock filtering and to “1” to disable deblock
`filtering.
`0008. In conventional SVC configurations, the deblocking
`control flag is limited to the values “0” and “1”, in which “0”
`indicates that deblocking parameters are not presented for
`any layers and “1” in which deblocking parameters are pre
`sented for all layers. If the deblocking control flag is “1”, then
`deblock filtering may be disabled for the base layer (by setting
`the deblocking enable/disable parameter for the base layer to
`“1”) or may be disabled for the enhanced layers to reduce
`processing cycles and/or power consumption. If deblock fil
`tering is not needed for the base layer but is needed for the
`enhanced layer or if needed at the base layer but not the
`enhanced layers, then the deblocking control flag must be set
`to “1” at the expense of additional bits in the bitstream. The
`additional bits for the deblocking parameters had to be pre
`sented even if deblocking is not to be disabled and could
`otherwise be set to the default value of “0”. The deblocking
`control flag could be set to “0” to reduce the bits in the
`bitstream since the deblocking parameters are not presented
`in the slice headers, yet this is at the expense of additional
`
`9
`
`

`

`US 2008/O 137753 A1
`
`Jun. 12, 2008
`
`processing cycles and/or power consumption required for
`deblock filtering. The conventional syntax thus wastes bits in
`the bitstream.
`0009. It is desired to reduce the number of bits in the
`bitstream by allowing the encoder designer the option of not
`having to present deblocking parameters for either the base
`layer slices or the enhanced layer slices while disabling
`deblock filtering of at least one layer.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0010. The benefits, features, and advantages of the present
`invention will become better understood with regard to the
`following description, and accompanying drawings where:
`0011
`FIG. 1 is a block diagram of a video encoder imple
`mented according to an exemplary embodiment for generat
`ing and transmitting video information in a bitstream (BTS);
`0012 FIG. 2 is a block diagram of a video decoder imple
`mented according to an exemplary embodiment for receiving
`and decoding video information incorporated into a bitstream
`BTS:
`0013 FIG.3 is a simplified block diagram of a deblocking
`filter that may be used as either or both of the deblocking
`filters of the encoder of FIG. 1 and/or the decoder of FIG. 2;
`0014 FIG. 4 is a flowchart diagram illustrating operation
`of the deblock control circuit of FIG. 1 implemented accord
`ing to an exemplary embodiment for adaptively disabling
`deblock filtering based on content of the video information
`and also based on power savings considerations;
`0015 FIG.5 is a block diagram depicting deblocking filter
`control information provided in the bitstream BTS output
`from the video encoder of FIG. 1 or provided to the video
`decoder of FIG. 2 according to an exemplary embodiment of
`a non-scalable configuration;
`0016 FIG. 6 is a simplified block diagram of an SVC
`Video system implemented according to an exemplary
`embodiment including both an SVC video encoder and
`decoder;
`0017 FIG. 7 is a block diagram depicting deblocking filter
`control information provided in an output bitstream BTS
`from the SVC video encoder of FIG. 6 or provided in an input
`bitstream BTS to the video decoder of FIG. 6 according to an
`exemplary embodiment;
`0018 FIG. 8 is a block diagram depicting deblocking filter
`control information provided in the bitstream BTS substan
`tially identical to that shown in FIG. 7 except illustrating a
`specific case of the deblocking filter control present flag:
`0019 FIG.9 is a flowchart diagram illustrating exemplary
`operation of the SVC video encoder of FIG. 6 while encoding
`each slice layer of each slice group of each frame of a video
`sequence incorporated into the output bitstream OBTS, for
`determining and setting the state of the deblocking filter con
`trol present flag for each video frame, and for setting the IDC
`deblocking disable control parameter for each layer of each
`slice of each frame; and
`0020 FIG. 10 is a flowchart diagram illustrating exem
`plary operation of the SVC video decoder of FIG. 6 for
`decoding each slice layer of each slice group of each frame of
`a video sequence received from the input bitstream IBTS.
`
`DETAILED DESCRIPTION
`0021. The following description is presented to enable one
`of ordinary skill in the art to make and use the present inven
`tion as provided within the context of a particular application
`
`and its requirements. Various modifications to the preferred
`embodiment will, however, be apparent to one skilled in the
`art, and the general principles defined herein may be applied
`to other embodiments. Therefore, the present invention is not
`intended to be limited to the particular embodiments shown
`and described herein, but is to be accorded the widest scope
`consistent with the principles and novel features herein dis
`closed.
`0022. The present disclosure describes video information
`processing systems according to exemplary embodiments of
`the present invention. It is intended, however, that the present
`disclosure apply more generally to any of various types of
`“video information' including video sequences (e.g. MPEG),
`image information, or image sequencing information, Such
`as, for example, JPEG (Joint Photographic Experts Group),
`motion JPEG (MJPEG), JPEG2000, motion JPEG2000
`(MJPEG2000), etc. The term “video information” as used
`herein is intended to apply to any video or image or image
`sequence information.
`(0023 FIG. 1 is a block diagram of a video encoder 100
`implemented according to an exemplary embodiment for
`generating and transmitting video information in a bitstream
`(BTS). A frame buffer 101 provides, for purposes of encod
`ing, current frame information F to one input of a motion
`estimation (ME) circuit 103, to one input of an intraframe
`prediction circuit 105, to a positive input of a combiner 107
`(e.g., adder or Subtractor or the like), to one input of a motion
`compensation (MC) circuit 111, and to an input of a mode
`decision circuit 113. Another frame buffer 109 provides ref
`erence information (REF) to another input of the ME circuit
`103 and to another input of the MC circuit 111. The encoder
`100 is typically configured to process information one mac
`roblock at a time, so that the frame information F is usually
`processed one macroblock at a time, although alternative
`configurations are contemplated. The reference information
`REF includes information from one or more previously
`encoded and decoded frames that have further been filtered,
`such as by a deblocking filter 131.
`0024. The ME circuit 103 provides motion estimation
`information at its output, which is provided to another input
`of the MC circuit 111 and to another input of the mode
`decision circuit 113. As shown, the ME circuit 103 provides
`motion vector (MV) information to the MC circuit 111 and to
`the mode decision circuit 113, and the ME circuit 103 pro
`vides minimum sum of absolute differences (MINSAD)
`information to the mode decision circuit 113. The mode deci
`sion circuit 113 has one output providing an intraframe enable
`signal INTRAE to an enable input of the intraframe predic
`tion circuit 105, and another output providing a motion com
`pensation enable signal MCE to an enable input of the MC
`circuit 111. The MC circuit 111 provides motion compen
`sated prediction information (e.g., interframe prediction) MC
`to a first input terminal S1 of a selector switch 115, illustrated
`as a single-pole, double-throw (SPDT) switch having input
`terminals S1 and S2, control input terminal C and a common
`terminal CP. The common terminal CP provides information
`from a selected input (S1 or S2) as its output as controlled by
`the control input terminal C. The intraframe prediction circuit
`105 provides intraframe prediction information (e.g.,
`intraframe prediction) IP to an input of the mode decision
`circuit 113 and to the input terminal S2 of the switch 115. The
`mode decision circuit 113 provides a mode decision select
`signal MSEL to the control terminal C of the switch 115 for
`
`10
`
`

`

`US 2008/O 137753 A1
`
`Jun. 12, 2008
`
`selecting between the motion compensated prediction infor
`mation MC or the intraframe prediction information IP.
`0025. The CP terminal of the switch 115 provides selected
`prediction information P to a negative input of the combiner
`107 and to a positive input of another combiner 117, which is
`an adder in the illustrated embodiment. The combiner 107
`subtracts the selected prediction information P from the cur
`rent information F of a current frame to provide residual
`information R to the input of a transform circuit 119. The
`transform circuit 119 performs a block transform, such as
`discrete cosine transform (DCT) or the like, and outputs the
`transform result B. The transform result B is provided to a
`quantization (Q) circuit 121, which outputs quantized trans
`form coefficients X. The X coefficients are provided to the
`input of an output processing circuit 125, which provides a
`compressed bitstream (BTS) for transmission or storage. The
`output processing circuit 125 performs additional functions
`for converting the X coefficients into the bitstream BTS, such
`as Scanning, reordering, entropy encoding, etc., as known to
`those skilled in the art.
`0026. The X coefficients are fed back to the input of an
`inverse quantization (Q) circuit 127, which outputs esti
`mated transformed information B' representing an estimated
`or reconstructed version of the transform result B. The esti
`mated transformed information B' is provided to the input of
`an inverse transform (T) circuit 129, which outputs esti
`mated residual information R representing a reconstructed
`version of the residual information R. The reconstructed
`residual information R is provided to another positive input
`of the combiner 117. In the embodiment shown, the combiner
`117 adds P to R' to generate unfiltered reconstructed infor
`mation URF. The unfiltered reconstructed frame information
`URF is provided to another input of the intraframe prediction
`circuit 105 and to an input of the deblocking filter 131. The
`deblocking filter 131, when enabled, filters the unfiltered
`reconstructed frame information URF and provides filtered
`reconstructed information RF to an RF buffer 133. One or two
`previously encoded and decoded frames from the RF buffer
`133 are provided to the frame storage 109 to serve as the
`reference frame information REF as previously described.
`0027. A deblock control circuit 135 provides an encoder
`filter control (EFC) signal to the deblocking filter 131. In one
`embodiment, the deblocking filter 131 is turned completely
`on or completely off (or otherwise fully enabled or disabled)
`by the EFC signal. If the deblocking filter 131 is turned off or
`fully disabled, then the unfiltered reconstructed frame infor
`mation URF is passed as the reconstructed information RF in
`which deblock filtering is bypassed (i.e., RF is the same as
`URF). In another embodiment, the EFC signal is configured
`to partially disable the deblocking filter 131 so that it only
`performs luma or chroma deblock filtering. The EFC signal
`may be a single binary signal or bit if only enabling or dis
`abling luma or chroma deblock filtering. Alternatively, the
`EFC signal includes multiple signals or bits for selecting
`between fully enabled, fully disabled, or for disabling either
`one of luma and chroma deblock filtering.
`0028 Disabling the entire deblocking filter 131 provides a
`significant reduction of computational complexity and power
`consumption, especially in the decoder of a video processing
`system. Disabling the entire deblocking filter, however,
`potentially causes degradation of both objective PSNR and
`subjective visual quality especially for a relatively high level
`of motion in the video information. As described herein, the
`content of the video information is examined to determine
`
`whether to disable the deblock filtering. The content of the
`Video information is examined to determine a characteristic
`indicative of a relative amount of content complexity and/or a
`relative amount of motion of the video information. If the
`video information content exhibits a relatively low amount of
`motion or is relatively simple content (e.g., not complex),
`then the deblocking filter 131 may be fully disabled without
`significant degradation in visual quality. Simulation results
`have revealed that disabling luma deblocking filter alone
`(while enabling the chroma deblocking filter) normally
`causes a relatively large degradation in both objective PSNR
`and Subjective visual quality especially for video with a rela
`tively large level of motion. The luma deblocking filter is
`particularly useful for low bit rate video applications or video
`having a relatively high compression ratio. The simulation
`results have also revealed, however, that disabling the chroma
`deblocking filter alone (while enabling the luma deblocking
`filter) results in a relatively small or negligible degradation in
`both objective and subjective visual quality. In various
`embodiments, the content characteristic is the content com
`plexity or level of motion, which is compared with a threshold
`for enabling or disabling the entire deblocking filter 131. In
`another embodiment, separate thresholds are provided for
`luma and chroma deblock filtering.
`(0029. The ME circuit 103 performs a motion search and
`determines a MINSAD value for each macroblock of each
`slice of the current frame or picture. In particular, the absolute
`values of the differences between each pixel value of the
`current macroblock of the current frame being encoded and
`the corresponding pixel value of a search macroblock in the
`reference frame are added together to determine a corre
`sponding SAD value. This calculation is repeated for each
`reference search macroblock in the search window (accord
`ing to the selected motion search pattern) and the lowest or
`lease SAD value is determined as the minimum SAD or
`MINSAD value. The reference search macroblock corre
`sponding to the MINSAD value is used for determining the
`motion vector (MV) information. Each MINSAD value is
`provided from the ME circuit 103 to the deblock control
`circuit 135 for the purpose of measuring the relative complex
`ity of the video content. As described further below, in one
`embodiment multiple MINSAD values are averaged for
`determining a complexity value or complexity factor of the
`video information. Other methods may be used to determine
`the relative complexity of the content of video information,
`Such as mean square error, a number of bits used for coding
`the video information of a slice/picture, statistics of an indi
`vidual frame or picture, etc. The mean square error may also
`be determined by the ME circuit 103 in which each pixel
`difference is squared and multiple squared values (for each
`macroblock or each slice, etc.) are Summed together. Calcu
`lating each MINSAD value is less computationally complex
`than calculating the mean square error and an average of
`MINSAD values provides a sufficiently accurate measure of
`content complexity. In an alternative embodiment, the
`amount of motion is determined by the motion vectors, which
`are also shown provided to the deblock control circuit 135.
`Although the deblock control circuit 135 may utilize multiple
`content characteristics of the video information, Such as, for
`example, both MV and MINSAD information, usually one
`characteristic is selected for particular configurations to
`reduce computational complexity.
`0030. In one embodiment, the deblock control circuit 135
`determines an average of MINSAD values of a group or block
`
`11
`
`

`

`US 2008/O 137753 A1
`
`Jun. 12, 2008
`
`of previously encoded information. The group or block of
`previously encoded information is usually a slice (on or more
`macroblocks) or a frame of encoded information. The deter
`mined average of MINSAD values is referred to as a MIN
`SADAVG value. A relatively small MINSADAVG value sug
`gests less change within a frame or between frames and thus
`Suggests relatively simple video content. On the other hand, a
`relatively high MINSADAVG value suggests relatively com
`plex video content. In certain embodiments, the MINSA
`DAVG value is the average MINSAD value of the previously
`encoded frame. In one embodiment, for example, the deblock
`control circuit 135 maintains a running average of MINSAD
`values for each video frame and stores the average of MIN
`SAD values of the previous frame as the MINSADAVG
`value. In other embodiments, the MINSADAVG value is the
`average MINSAD value of a corresponding video slice within
`the previously encoded frame. A video slice incorporates one
`or more macroblocks, and a "corresponding video slice is
`the video slice of the previous frame that is in the same
`relative position of the current video slice of the frame cur
`rently being encoded. In one embodiment, for example, the
`deblock control circuit 135 maintains a running average of
`MINSAD values for each video slice and stores an average
`MINSAD value for each slice of the previously encoded
`frame to provide multiple MINSADAVG values per video
`frame. In still other embodiments, the MINSADAVG value is
`the average MINSAD value of a previously encoded video
`slice within the current frame. In one embodiment, for
`example, the deblock control circuit 135 maintains a running
`average of MINSAD values for each video slice being
`encoded in the current frame and stores an average of MIN
`SAD values as the MINSADAVG value for the previously
`encoded video slice of the current frame. In this latter
`embodiment, the MINSADAVG value used for the first video
`slice (in which there is no previous slice in the current frame)
`is either the MINSADAVG value of the last encoded video
`slice of the previous frame or the average of MINSAD values
`of the entire previous frame.
`0031. The video encoder 100 includes a power manage
`ment circuit 137, which monitors a variety of power-related
`factors and provides a power saving factor (PSF) based on the
`monitored factors. The monitored factors include, for
`example, power level or available power (e.g., battery level)
`via a power metric PWR, available processing resources via a
`processing metric PROC, a signal strength metric SIG indi
`cating the signal strength of the bitstream BTS transmitted in
`a channel (e.g., see exemplary channel 602 of FIG. 6), and one
`or more user settings collectively indicated by a user metric
`USER. The USER metric may incorporate manual settings or
`adjustments made by the user or other manual or automatic
`power settings. The PSF is provided to the deblock control
`circuit 135. In one embodiment, the deblock control circuit
`135 uses the PSF and the MINSADAVG values to control the
`state of the deblocking filter 131 via the EFC signal as further
`described below. In one embodiment, the PSF signal ranges
`from Zero (0) to sixteen (16), in which PSF-0 indicates maxi
`mum available power and processing resources such that
`Sufficient energy and processing power are deemed to be
`available for full deblock filtering. As PSF increases, it is
`desired to conserve power consumption and processing
`cycles as much as possible. Such as by disabling at least a
`portion of deblock filtering.
`0032 FIG. 2 is a block diagram of a video decoder 200
`implemented according to an exemplary embodiment for
`
`receiving and decoding video information incorporated into a
`bitstream BTS. The video decoder 200 may be implemented
`in a different system (e.g., communicating with the video
`encoder 100) or may be incorporated into the same system as
`the video encoder 100 in which the encoder/decoder combi
`nation is used to communicate with similar type devices
`across the channel. The compressed bitstream BTS generated
`by the video encoder 100 is transmitted through the channel
`and provided to the input of an input processing circuit 201,
`which performs inverse processing functions of the output
`processing circuit 125 of the encoder 100, such as inverse
`scanning, reordering, entropy decoding, etc., as known to
`those skilled in the art. The input processing circuit 201
`outputs quantized transform coefficients X' coefficients,
`which are intended to duplicate the X coefficients of the
`encoder 100. The X coefficients are provided to the input of
`an inverse quantization circuit 203, which outputs estimated
`transformed information B'. The estimated transformed
`information B' is provided to the input of an inverse transform
`circuit 205, which outputs reconstructed residual information
`R" to a positive input of a combiner 207. In the embodiment
`shown, the combiner 207 adds selected prediction informa
`tion P' to R' to generate unfiltered reconstructed information
`URF". The unfiltered reconstructed frame information URF"
`is provided to an input of an intraframe prediction circuit 209
`and to an input of a deblocking filter 211. The deblocking
`filter 211 filters the unfiltered reconstructed frame informa
`tion URF" and provides filtered reconstructed information RF
`to an RF buffer 213.
`0033. One or two previously encoded and decoded (and
`selectively filtered) frames from

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket