throbber
US008326075B2
`
`(12) United States Patent
`Wilkins et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,326,075 B2
`Dec. 4, 2012
`
`(54) SYSTEMAND METHOD FOR VIDEO
`ENCOOING USINGADAPTIVE LOOP FILTER
`(75) Inventors: Paul Wilkins, Cambridge (GB); James
`Bankoski, North Greenbush, NY (US);
`Yaowu Xu, Clifton Park, NY (US)
`(73) Assignee: Google Inc., Mountain View, CA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1033 days.
`(21) Appl. No.: 12/329,070
`(22) Filed:
`Dec. 5, 2008
`
`(65)
`
`O
`O
`Prior Publication Data
`US 201O/OO61645 A1
`Mar. 11, 2010
`
`Related U.S. Application Data
`(60) Provisional application No. 61/096,147, filed on Sep.
`11, 2008.
`(51) Int. Cl
`(2006.01)
`G06K9/40
`(2006.01)
`H04N L/32
`2006.O1
`H4N I/4I
`(
`ions. 358/426.O1
`(52) U.S. Cl
`58 Fi id f c - - - - - ificati- - - - - -s - - - - - - - h
`s
`No
`(58)
`O li assi site eas - - - - - - - - - -hhi - - - - - - - - O
`ee application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`3,825,832 A
`7, 1974 Frei et al.
`4,719,642 A
`1, 1988 Lucas
`4,729,127 A
`3, 1988 Chan et al.
`4,736,446 A
`4/1988 Reynolds et al.
`4,868,764 A
`9, 1989 Richards
`
`1/1990 Mann
`4,891,748 A
`5,068,724. A 1 1/1991 Krause et al.
`5,083,214 A
`1/1992 Knowles
`93. A 38: St.i.
`5,136,376 A
`8/1992 Yagasaki et al.
`5,164,819 A 1 1/1992 Music
`5,270,812 A 12/1993 Richards
`5,274.442 A 12/1993 Murakami et al.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`1555832
`7/2005
`(Continued)
`OTHER PUBLICATIONS
`“Series H. Audiovisual and Multimedia Systems; Infrastructure of
`audiovisual services Coding of moving video; Advanced video
`coding for generic audiovisual services'. H.264. Version 1. Interna
`tional Telecommunication Union. Dated May 2003.
`(Continued)
`O1
`
`EP
`
`Primary Examiner — Randolph I Chu
`(74) Attorney, Agent, or Firm — Young Basile Hanlon &
`MacFarlane, P.C.
`ABSTRACT
`(57)
`Methods for decoding frames of compressed video informa
`tion are disclosed. Each frame includes a plurality of blocks
`having a prediction stage parameter and a residual error
`attribute. One method includes categorizing each of the
`OCKS 1ntO CategOrles based. On at least One Of the ored1ct1On
`blocks i
`gories based
`1
`f the predicti
`stage parameter or the residual error attribute, determining a
`loop filter strength value to each of the categories, and filter
`ing the boundary adjacent to at least one of the blocks using
`the loop filter strength assigned to the category in which that
`block is categorized.
`
`24 Claims, 6 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`BASELNELOOPFTERSTRENGTH
`(f) SPECIFIED FOR THE FRAME
`
`INTERREFERENCE
`FRAMESUSED
`
`GOLDEN FRAME
`
`ALTERNATEFRAME
`S5
`
`NONZEROMOTION
`WECTORORSFLIT
`
`NONEROMOTION
`WECTORORSPLT
`
`NONZEROMOTION
`WECTORORSPLT
`
`NONZERO
`+57
`
`NONZERO
`+7
`
`SPLT
`+8
`
`
`
`NONZERO
`57
`
`SPLT
`8
`
`IPR2021-00827
`Unified EX1006 Page 1
`
`

`

`US 8,326,075 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`Hingorani et al.
`1, 1994
`5,278,647
`5, 1994
`Kuban et al.
`5,313,306
`8, 1994
`Earl et al.
`5,341,440
`7, 1995
`Schwartz
`5.432,870
`10, 1995
`Shaw et al.
`5,457,780
`Agarwal
`1, 1996
`5.488,570
`Eyuboglu et al.
`T. 1996
`5,537.440
`10, 1996
`Polit
`5,561477
`11, 1996
`Lee et al.
`5,576,767
`11, 1996
`Walker et al. ................. 375/355
`5,579.348
`12, 1996
`Abecassis
`5,589,945
`4, 1997
`Civanlar et al.
`5,623.308
`5, 1997
`Haskell et al.
`5,629,736
`Fujinami
`6, 1997
`5,640,208
`8, 1997
`Porter et al.
`5,659,539
`12, 1997
`Abecassis
`5,696,869
`Agarwal
`2, 1998
`5,721,822
`3, 1998
`Wittenstein et al.
`5,734,744
`4, 1998
`Hall et al.
`5,737,020
`5, 1998
`5,748,247
`Hu
`6, 1998
`Zicket al.
`5,774,593
`Hageniers et al.
`8, 1998
`5,793,647
`10, 1998
`Astle
`5,818,969
`10, 1998
`Moeller et al.
`5,828,370
`5, 1999
`Moeller et al.
`5,903,264
`7, 1999
`Jeannin
`5,929,940
`7, 1999
`Ottesen et al.
`5,930,493
`Goldberg et al.
`10, 1999
`5,963,203
`12, 1999
`Miller et al.
`5.999,641
`1, 2000
`Cannon et al.
`6,014,706
`Hayashi et al.
`3, 2000
`6,041,145
`Ogura
`5, 2000
`6,061,397
`Chiang et al.
`T/2000
`6,084,908
`8, 2000
`Dieterich
`6,100,940
`8, 2000
`Miller et al.
`6,108,383
`Leiper
`8, 2000
`6,112,234
`9, 2000
`Chun et al.
`6,115,501
`9, 2000
`Weaver et al.
`6,119,154
`9, 2000
`Matsumura et al.
`6,125,144
`Sugiyama
`10, 2000
`6,141,381
`12, 2000
`6,167, 164
`Lee
`1, 2001
`Miller et al.
`6,181,822
`2, 2001
`Dimitrova et al.
`6,185,363
`2, 2001
`Tan et al.
`6,188,799
`5, 2001
`Kim
`6,240,135
`9, 2001
`Miller et al.
`6,292,837
`12, 2001
`Miller et al.
`6,327,304
`4, 2002
`Miller et al.
`6,370,267
`6, 2002
`6,400,763
`Wee
`T/2002
`Okumura et al.
`6,414.995
`T/2002
`Wu et al.
`6,418,166
`Wang et al.
`8, 2002
`6,434, 197
`2, 2003
`Zlotnick
`6,522,784
`3, 2003
`6,529,638
`Westerman
`5/2003
`Wilkins
`6,560,366
`2, 2004
`Ishihara
`6,687,303
`2, 2004
`Wee et al.
`6,697,061
`3, 2004
`Tan et al.
`6,707,952
`T/2004
`Conklin
`6,765,964
`Uenoyama et al.
`9, 2004
`6,798,837
`11, 2004
`Kawashima et al.
`6,826,229
`6, 2005
`Gomila et al.
`6,907,079
`8, 2005
`Zlotnick
`6,934.419
`1, 2006
`Bottreau et al.
`6,985,526
`1, 2006
`6,987,866
`Hu
`4, 2006
`Ameres et al.
`7,027,654
`Mukerjee et al.
`10, 2006
`7,116,831
`1/2007
`Zhou
`7,170,937
`3, 2007
`Melanson ..................... 375,247
`7,194,036
`6, 2007
`Yoshimura et al.
`7,226,150
`6, 2007
`Sun et al.
`7,236,524
`2, 2008
`Lu et al.
`7,330,509
`4, 2008
`Melanson ..................... 341,144
`7,358,881
`3, 2009
`Ameres et al.
`7,499.492
`T/2010
`Tsuie et al. ................... 375/350
`7,751,514
`5, 2002
`Sethuraman et al.
`2002fOO64228
`11, 2002
`Valente
`2002fO168114
`1, 2003
`Lee et al.
`2003/0023982
`
`B2
`B1
`B2
`B2
`B2
`B2
`B1
`B2
`A1
`A1
`A1
`
`2003. O189982 A1 10, 2003 MacInnis
`2004/O120400 A1
`6/2004 Linzer
`2004/017961.0 A1
`9, 2004 Lu et al.
`2004/O181564 A1* 9, 2004 MacInnis et al. ............. TO8,322
`2004/022841.0 A1 11/2004 Ameres et al.
`2004/0240556 Al 12/2004 Winger et al.
`2005, 0013494 A1
`1/2005 Srinivasan et al.
`2005.00532.94 A1
`3/2005 Mukerjee et al.
`2005/01 17653 A1
`6/2005 Sankaran
`2005, 0147165 A1
`7, 2005 Yoo et al.
`2005, 01693.74 A1
`8/2005 Marpe et al.
`2005/0196063 A1* 9/2005 Guangxi et al. .............. 382.261
`2005/0265447 A1 12/2005 Park
`2005/0276323 Al 12/2005 Martemyanov et al.
`2005/0276,327 A1 12/2005 Lee et al.
`2006.0062311 A1
`3/2006 Sun et al.
`2006/0098.737 A1
`5/2006 Sethuraman et al.
`2006/O126962 A1* 6/2006 Sun ............................... 382,268
`2006, O153301 A1
`7/2006 Guleryuz
`2006,0182181 A1
`8, 2006 Lee et al.
`2006/0215758 A1
`9/2006 Kawashima
`2006/0239345 A1 10, 2006 Taubman et al.
`2007,0009044 A1
`1/2007 Tourapis et al.
`2007/0025448 A1
`2/2007 Cha et al.
`2007/0047648 A1
`3/2007 Tourapis et al.
`2007, 0140342 A1
`6/2007 Karczewicz et al.
`2007/0177673 A1
`8/2007 Yang
`2007/O189735 A1
`8/2007 Kawashima et al.
`2007/02O1559 A1
`8, 2007 He
`2007/0237241 A1 10, 2007 Ha et al.
`2007,0253490 A1 11/2007 Makino
`2007,0253491 A1 11/2007 to et al.
`2007/0274385 A1 11/2007 He
`2008.0025398 A1
`1/2008 Molloy et al.
`2008.0025411 A1
`1/2008 Chen et al.
`2008. O170629 A1
`7/2008 Shim et al.
`20080212678 A1
`9, 2008 Booth et al.
`2009/0287493 A1* 11/2009 Janssen et al. ................ TO4,500
`
`FOREIGN PATENT DOCUMENTS
`1838.108 A1
`9, 2007
`10-2005-0018730
`2, 2005
`10-2008-0056083
`6, 2008
`2002089487 A2 11/2002
`2006062377 A1
`6, 2006
`2006083614 A2
`8, 2006
`20070523O3 A2
`5/2007
`2008.005124 A2
`1, 2008
`
`EP
`KR
`KR
`WO
`WO
`WO
`WO
`WO
`
`OTHER PUBLICATIONS
`
`“Series H. Audiovisual and Multimedia Systems; Infrastructure of
`audiovisual services Coding of moving video; Advanced video
`coding for generic audiovisual services'. H.264. Version 3. Interna
`tional Telecommunication Union. Dated Mar. 2005.
`“Overview; VP7 Data Format and Decoder'. Version 1.5. On2 Tech
`nologies, Inc. Dated Mar. 28, 2005.
`“Series H. Audiovisual and Multimedia Systems; Infrastructure of
`audiovisual services Coding of moving video; Advanced video
`coding for generic audiovisual services'. H.264. Amendment 1: Sup
`port of additional colour spaces and removal of the High 4:4:4 Profile.
`International Telecommunication Union. Dated Jun. 2006.
`“VP6 Bitstream & Decoder Specification'. Version 1.02. On2 Tech
`nologies, Inc. Dated Aug. 17, 2006.
`“Series H. Audiovisual and Multimedia Systems; Infrastructure of
`audiovisual services Coding of moving video'. H.264. Amend
`ment 2: New profiles for professional applications. International
`Telecommunication Union. Dated Apr. 2007.
`“VP6 Bitstream & Decoder Specification”. Version 1.03. On2 Tech
`nologies, Inc. Dated Oct. 29, 2007.
`“Series H. Audiovisual and Multimedia Systems; Infrastructure of
`audiovisual services Coding of moving video'. H.264. Advanced
`video coding for generic audiovisual services. Version 8. Interna
`tional Telecommunication Union. Dated Nov. 2007.
`Architectures for Efficient Partitioning of Video Coding Algo
`rithms—H.264 decoder, Nov. 2006.
`
`IPR2021-00827
`Unified EX1006 Page 2
`
`

`

`US 8,326,075 B2
`Page 3
`
`Wenger et al.; RTP Payload Format for H.264 Video: The Internet
`Society; 2005.
`A High Efficient Method for Parallelizing Reconstructor & Loop
`Deblocking Filter on Multi-core Processor Platform, Feb. 2008.
`Lihua Zhu, Guangfei Zhu, Charles Wang; Implementation of video
`deblocking filter on GPU, Apr. 2008.
`Method for unloading YUV-filtered pixels from a deblocking filter
`for a video decoder, Oct. 2006.
`An Optimized In-Loop H.264 De-Blocking Filter on Multi-Core
`Engines, Feb. 2007.
`U.S. Appl. No. 12/102,694, Video Compression and Encoding
`Method, filed Apr. 14, 2008.
`U.S. Appl. No. 11/932,870, Video Compression and Encoding
`Method, filed Oct. 31, 2007.
`
`ON2 Technologies, Inc., White Paper TrueMotionVP7Video Codec,
`Jan. 10, 2005, 13 pages, Document Version: 1.0, Clifton Park, New
`York.
`ON2 Technologies, Inc., White Paper On2's TrueMotion VP7 Video
`Codec, Jul. 11, 2008, 7 pages, DocumentVersion: 1.0, Clifton Park,
`New York.
`Sikora, T. et al. Shape-adaptive DCT for generic coding of video,
`Circuits and Systems for Video Technology, IEEE Transactions on
`vol. 5, Issue 1, p. 59-62, Feb. 1, 1995.
`Wiegand et al. “Overview of the H264/AVC Video Coding Stan
`dard.” IEEE Transactions on Circuits and Systems for Video Tech
`nology, vol. 13, No. 7, pp. 568, 569, Jul. 1, 2003.
`PCT International Search Report and Written Opinion (Date of Mail
`ing: Apr. 21, 2010); PCT/US2009/056462, filed Sep. 10, 2009.
`* cited by examiner
`
`IPR2021-00827
`Unified EX1006 Page 3
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 1 of 6
`
`9US 8
`
`326,075 B2
`
`dassdddNOo
`
`WVAUISIG
`
`AdOUWLNY
`
`ONIGOONA
`
`0¢~\-#
`WYOASNVAL
`HSUAANI
`
`CE“\—w|NOLONULSNOOTY
`
`8Z-\_»|NOILVZLINVNOAG
`
`NOILVZILNVNOWwOASNVLL
`eeONLI|dOO1
`
`veJ
`
`NOLLDIGHYd
`
`WVAULS
`
`IPR2021-00827
`Unified EX1006 Page 4
`
`WALNI/AVLINI
`
`OdCIALNdNI
`
`IPR2021-00827
`Unified EX1006 Page 4
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 2 of 6
`
`US 8,326,075 B2
`
`?NIXIOOT{[HCl
`
`YIHITIH
`
`NOILOIOIHYIAI
`
`/--
`
`
`
`WYIORISNWYIL
`
`HSYIHANI
`
`
`
`
`
`NOIIVZI INVITÒRGI
`
`
`
`KJO HLNH
`
`?NIGIOONH
`
`([HSSHYRIWOO
`
`
`
`WW.HYIJ SLI!!
`
`
`
`
`
`
`
`
`
`IPR2021-00827
`Unified EX1006 Page 5
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 3 of 6
`
`US 8,326,075 B2
`
`44
`
`
`
`46-?as
`
`PREDICTIONUSING
`A PREVIOUSLY
`--- CODED FRAME
`
`PREDICTION
`WITHIN CURRENT
`NN FRAME
`-N-
`-38"
`
`38
`
`--- PREDICTIONUSING
`A PREVIOUSLY
`CODED FRAME
`CURRENT FRAME
`
`61
`
`34
`
`60
`
`STRENGTH
`MODIFIER
`
`
`
`LOOP
`FILTER
`CONTROL
`
`FIG. 4
`
`PREVIOUSLY
`CODED FRAMES
`
`65
`
`62
`
`REFERENCE
`64 FRAMETYPE
`N PREDICTION
`66
`MODE |
`- - - - - -
`
`RESIDUAL
`ERROR
`ATTRIBUTE
`
`IPR2021-00827
`Unified EX1006 Page 6
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 4 of 6
`
`US 8,326,075 B2
`
`TWOld6d84Ld94Sdbdededld
`
`89+LQO+
`
`89+LQ+
`
`LT1dSOWdZ-NON
`
`
`LITdSOWdZ-NON
`
`OWAZ-NON
`
`LO+
`
`FAVALVNUELTV
`
`GO+3
`
`AWVUdNACIOO
`
`PO+}
`
`OLL
`
`
`
`HINVYLSV1
`
`EO+F
`
`
`
`“HOIDIANOLLOW
`
`
`
`‘IOLOAANOLLOW
`
`
`
`“HOLDIANOLLON
`
`NOILOWOWHZ-NON
`
`
`NOILOWOW4Z-NON
`
`NOLLOWOWXZ-NON
`
`L1dSYOYOLOAA
`
`LT1d$YOWOLOLA
`
`LTTd$WOWOLOAA
`
`HONAMATAWAIN
`
`
`
`dasnSIHWVad
`
`
`
`AAVFHLWOdAaLdIOgdS(3)
`
`
`
`d4d09VuLNIdN
`
`CP+IO+3
`
`LI1dS
`
`diSnYaO0IN
`
`
`
`
`
`HLONAULSWALTdOO'TANITASVA
`
`IPR2021-00827
`Unified EX1006 Page 7
`
`IPR2021-00827
`Unified EX1006 Page 7
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 5 of 6
`
`US 8,326,075 B2
`
`SETREFERENCE
`FRAME LOOPFILTER
`MODIFIERSTO
`DEFAULT
`
`SET PREDICTION
`MODE LOOPFILTER
`MODIFIERSTO
`DEFAULT
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`132
`
`?
`IS
`CURRENT FRAME
`AKEYFRAME
`
`
`
`LOOP
`FILTERMODIFIERS
`ENABLED FORCURRENT
`FRAME
`
`UPDATE
`LOOPFILTER
`MODIFIERS
`
`UPDATEREFERENCE
`FRAME LOOPFILTER 1\140
`MODIFIERS
`
`UPDATE PREDICTION
`MODELOOPFILTER 1\142
`MODIFIERS
`
`FIG. 6
`
`IPR2021-00827
`Unified EX1006 Page 8
`
`

`

`U.S. Patent
`
`Dec. 4, 2012
`
`Sheet 6 of 6
`
`US 8,326,075 B2
`
`
`
`
`
`NO
`
`
`
`
`
`LOOP
`FILTERMODIFIERS
`ENABLED FORCURRENT
`FRAME
`
`UPDATE
`LOOPFILTER
`MODIFIERS
`
`
`
`
`
`UPDATEREFERENCE
`FRAMELOOPFILTER 1\140
`MODIFIERS
`
`UPDATE PREDICTION
`MODELOOPFILTER 1\142
`MODIFIERS
`
`FIG.7
`
`IPR2021-00827
`Unified EX1006 Page 9
`
`

`

`1.
`SYSTEMAND METHOD FOR VIDEO
`ENCOOING USINGADAPTIVE LOOP FILTER
`
`US 8,326,075 B2
`
`2
`stage parameter with respect to at least one of the blocks. The
`method includes reconstructing the at least one block based
`on the prediction stage parameter, computing a residual error
`attribute from the reconstructed block, computing a filter
`strength value based on a baseline filter strength and at least
`one incremental value. The incremental value is selected from
`a plurality of preset values based at least on one of the pre
`diction stage parameter and residual error attribute associated
`with the at least one block. The boundary adjacent to the at
`least one block is filtered using the selected filter strength
`value.
`Other embodiments of the invention are described in addi
`tional detail hereinafter.
`
`15
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims priority to U.S. provisional patent
`application No. 61/096,147, filed Sep. 11, 2008, which is
`incorporated herein in its entirety by reference.
`
`10
`
`TECHNICAL FIELD
`
`The present invention relates in general to video encoding
`and more particularly, video encoding using a loop filter.
`
`BACKGROUND
`
`An increasing number of applications today make use of
`digital video for various purposes including, for example,
`remote business meetings via video conferencing, high defi
`nition video entertainment, video advertisements, and shar
`ing of user-generated videos. AS technology is evolving,
`people have higher expectations for video quality and expect
`high resolution video with Smooth playback at a high frame
`rate.
`There can be many factors to consider when selecting a
`Video coder for viewing digital video. Some applications may
`require excellent video quality where others may need to
`comply with various constraints including, for example,
`bandwidth or storage requirements. To permit higher quality
`transmission of video while limiting bandwidth consump
`tion, a number of video compression schemes are noted
`including proprietary formats such as VPX (promulgated by
`On2 Technologies, Inc. of Clifton Park, N.Y.), H.264 standard
`promulgated by ITU-TVideo Coding Experts Group (VCEG)
`and the ISO/IEC Moving Picture Experts Group (MPEG),
`including present and future versions thereof. H.264 is also
`known as MPEG-4 Part 10 or MPEG-4 AVC (formally, ISO/
`IEC 14496-10).
`Many video coding techniques use block based prediction
`and quantized block transforms. With block based prediction,
`a reconstructed frame buffer can be used to predict subse
`quent frames. The use of block based prediction and quan
`tized block transforms can give rise to discontinuities along
`block boundaries. These discontinuities (commonly referred
`to as blocking artifacts) can be visually disturbing and can
`reduce the effectiveness of the reference frame as a predictor
`for Subsequent frames. These discontinuities can be reduced
`by the application of a loop filter. The loop filter can be
`applied to the reconstructed frame buffers. Some conven
`tional loop filters apply different filtering strengths to differ
`ent block boundaries. For example, Some compression sys
`tems vary the strength of the loop filter based on, for example,
`whether the block has been inter-coded or intra-coded. Other
`compression systems apply a filter strength based on, for
`example, the difference between the extent of the discontinu
`ity and threshold level. Further, for example, some compres
`sion systems may vary the strength of the loop filter by com
`puting a difference value illumination change of a block
`compared to its neighboring block.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`SUMMARY
`
`One embodiment of the invention is disclosed as a method
`for reducing blocking artifacts at the boundary between adja
`cent blocks reconstructed from a frame of compressed video
`information. The video information includes a prediction
`
`65
`
`The description herein makes reference to the accompany
`ing drawings wherein like reference numerals refer to like
`parts throughout the several views.
`FIG. 1 is a block diagram of a video compression system in
`accordance with one embodiment of the present invention.
`FIG. 2 is a block diagram of a video decompression system
`in accordance with one embodiment of the present invention.
`FIG. 3 is a schematic diagram of intra-prediction and inter
`prediction modes used in the video compression and decom
`pression systems of FIGS. 1 and 2.
`FIG. 4 is a block diagram of a loop filter control used to
`compute a strength modifier used in the video compression
`system of FIG. 1.
`FIG. 5 is a flowchart diagram of a method of selecting the
`strength modifier of FIG. 4.
`FIG. 6 is a flowchart diagram of a method of updating loop
`filtering video data used in the video compression system of
`FIG 1.
`FIG. 7 is a flowchart diagram of another method of updat
`ing loop filtering video data used in the video compression
`system of FIG. 1.
`
`DETAILED DESCRIPTION
`
`Disclosed herein are embodiments of an adaptive loop
`filter that remove or reduce blocking artifacts. Further, dis
`closed herein are embodiments of an adaptive loop filter that
`either remove or reduce blocking artifacts usingless overhead
`data and/or reduce computational complexity.
`FIG. 1 is a block diagram of a video encoder 14 using an
`adaptive loop filter 34 according to one embodiment of the
`present invention.
`In the disclosed embodiments, block-based video com
`pression operates on fixed-shaped groups of neighboring pix
`els, called a macroblock. In general, each frame of video can
`be divided into macroblocks, where each macroblock con
`sists of a plurality of smaller-sized blocks. These pixel groups
`within the macroblocks and blocks can be compared with
`either data found in the current frame or in other frames in
`order to formulate motion data and error signals. In this
`embodiment, each macroblock can be a group of 16x16 pix
`els. In other embodiments, macroblocks can also be any other
`suitable size.
`Although the description of embodiments of the adaptive
`loop filter innovations are described in the context of the VP8
`Video coding format, alternative embodiments of the present
`invention can be implemented in the context of other video
`coding formats. Further, the embodiments are not limited to
`any specific video coding standard or format.
`To remove discontinuities at block boundaries, loop filter
`ing can be applied to reconstructed frames during a recon
`
`IPR2021-00827
`Unified EX1006 Page 10
`
`

`

`3
`struction path. As explained in more detail below, the choice
`of loop filter and the strength of the loop filter can have a
`significant effect on image quality. A filter that is too strong
`may cause blurring and loss of detail. A filter that it is too
`weak may not adequately suppress discontinuities between
`adjacent blocks.
`Referring to FIG. 1, to encode an input video stream 16,
`encoder 14 performs the following functions in a forward
`path (shown by the Solid connection lines) to produce an
`encoded bitstream 26: intra/interprediction 18, transform 19,
`quantization 22 and entropy encoding 24. Encoder 14 also
`includes a reconstruction path (shown by the dotted connec
`tion lines) to reconstruct a frame for encoding of further
`macroblocks. Encoder 14 performs the following functions in
`the reconstruction path: dequantization 28, inverse transfor
`mation 30, reconstruction 32 and loop filtering 34. Other
`structural variations of encoder 14 can be used to encode
`bitstream 26.
`Referring to FIG. 1, when input video stream 16 is pre
`sented for encoding, each frame within input video stream 16
`can be processed in units of macroblocks. At intra/interpre
`diction stage 18, each macroblock can be encoded using
`either intra prediction or interprediction mode. In either case,
`a prediction macroblock can be formed based on a recon
`structed frame. In the case of intra-prediction, for example, a
`prediction macroblock can be formed from samples in the
`current frame that have been previously encoded and recon
`structed. In the case of inter-prediction, for example, a pre
`diction macroblock can beformed from one or more previous
`or future frames (i.e. reference frames) that have already been
`encoded and reconstructed. Further, alternate embodiments
`can encode a macroblock by using some combination of both
`intra prediction and interprediction.
`Next, still referring to FIG. 1, the prediction macroblock
`can be subtracted from the current macroblock to produce a
`residual macroblock (residual). Transform stage 19 transform
`codes the residual and quantization stage 22 quantizes the
`residual to provide a set of quantized transformed coeffi
`cients. The quantized transformed coefficients can be then
`entropy coded by entropy encoding stage 24. The entropy
`coded coefficients, together with the information required to
`decode the macroblock, Such as the type of prediction mode
`used, motion vectors and quantizer value, can be outputted to
`compressed bitstream 26.
`The reconstruction path in FIG. 1 can be present to permit
`that both the encoder and the decoder use the same reference
`frames required to decode the macroblocks. The reconstruc
`tion path, similar to functions that take place during the
`decoding process, which are discussed in more detail below,
`includes dequantizing the transformed coefficients by
`dequantization stage 28 and inverse transforming the coeffi
`cients by inverse transform stage 30 to produce a derivative
`residual macroblock (derivative residual). At the reconstruc
`tion stage 32, the prediction macroblock can be added to the
`derivative residual to create a reconstructed macroblock. The
`adaptive loop filter 34 can be applied to the reconstructed
`macroblock to reduce blocking artifacts.
`Referring to FIG. 2, in accordance with one embodiment,
`to decode compressed bitstream 26, a decoder 21 having a
`structure similar to the reconstruction path of the encoder 14
`discussed previously performs the following functions to pro
`duce an output video stream 35: entropy decoding 25,
`dequantization 27, inverse transformation 29, intra/interpre
`diction 23, reconstruction 31, adaptive loop filter 34 and
`deblocking filtering 33. Other structural variations of decoder
`21 can be used to decode compressed bitstream 26.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,326,075 B2
`
`4
`When compressed bitstream 26 is presented for decoding,
`the data elements can be entropy decoded by entropy decod
`ing stage 25 to produce a set of quantized coefficients.
`Dequantization stage 27 dequantizes and inverse transform
`stage 29 inverse transforms the coefficients to produce a
`derivative residual that is identical to that created by the
`reconstruction stage in the encoder 14. Using header infor
`mation decoded from the compressed bitstream 26, at intra/
`interprediction stage 23, decoder 21 creates the same predic
`tion macroblock as was created in encoder 14. At the
`reconstruction stage 31, the prediction macroblock can be
`added to the derivative residual to create a reconstructed
`macroblock. The adaptive loop filter 34 can be applied to the
`reconstructed macroblock to reduce blocking artifacts. A
`deblocking filter 33 can be applied to the reconstructed mac
`roblock to further reduce blocking distortion and the result
`can be outputted to output video stream 35.
`Although the description of embodiments of the adaptive
`loop filter innovations are described with reference to adap
`tive loop filter 34 in the encoder, the described filtering tech
`niques are also implemented in adaptive loop filter 34 in the
`decoder. Reference to adaptive loop filter 34 in the decoder
`has been omitted throughout the disclosure only to aid in
`understanding of the invention. However, the filtering inno
`vations are not limited to adaptive loop filter 34 in the encoder
`and can be applied to adaptive loop filter 34 in the decoder or
`any other unit incorporating filtering techniques.
`FIG. 3 shows reference frames 44, 48 and a current frame
`36 that is currently being encoded or decoded. As discussed
`previously, each frame can be processed in units of macrob
`locks and at intra/inter prediction stage 18, each macroblock
`can be encoded using either intra prediction, interprediction
`Some combination of interprediction and intraprediction. For
`example, a current macroblock 38 is being encoded or
`decoded using inter prediction from a macroblock 46 from
`previously coded reference frame 44. Similarly, a current
`macroblock 38 is being encoded or decoded using interpre
`diction from a macroblock 50 from previously encoded ref
`erence frame 48. Also, for example, a current macroblock 38"
`is being encoded or decoded using intra prediction from a
`macroblock 52 within current frame 36.
`Blocking artifacts can be created during the encoding pro
`cess and can originate from, for example, intra/interpredic
`tion stage 18, transform stage 19 or quantization stage 22.
`Since some conventional filters make filter strength depen
`dent on block boundaries, computational processing can be
`complex and time-consuming.
`FIG. 4 is a block diagram illustrating a loop filter control 61
`of adaptive loop filter 34 in one embodiment of the present
`invention. According to one embodiment, loop filter control
`61 determines strength modifier 60 based on block attributes.
`Block attributes are based on existing encoded information
`about a block or information that is passed to the decoder to
`assist in properly decoding the bitstream.
`Block attributes can include a prediction stage parameter
`65 and a residual error attribute 66. Prediction stage param
`eter 65 can include a reference frame type 62 and a type of
`prediction mode 64. As discussed in more detail below,
`strength modifier 60 alters the levels of thresholds in adaptive
`loop filter 34.
`Reference frame type 62 can be determined by, similar to
`the illustration in FIG. 3, whether intra mode or inter frame
`mode coding is used when constructing prediction blocks. If
`intra mode predictive coding is used, reference frame type 62
`can be intra-frame (i.e. the current frame). When using an
`intra-frame, the prediction block can be formed, as discussed
`
`IPR2021-00827
`Unified EX1006 Page 11
`
`

`

`5
`previously, from samples in the current frame that have been
`previously encoded and reconstructed.
`If inter mode predictive coding is used, inter-frames can be
`used as a basis for formulating the prediction block. When
`using inter-frames, the prediction block can be formed, for
`example, from one or more previous frames, future frames or
`some combination thereof that have already been encoded
`and reconstructed. Accordingly, when using inter-frames, ref
`erence frame type 62 may include, for example, a last frame,
`a golden frame oran alternate reference frame. The last frame
`can be the previously encoded frame before the current frame.
`The golden frame can be a past frame chosen arbitrarily from
`the distant past to use as a predictor for Subsequent frames.
`The alternate reference frame may include any frame that is
`not the last frame or the golden frame. For example, the
`alternate reference can be a past frame, a future frame, or a
`constructed reference frame. Further, for example, the con
`structed reference may be the reference frame as disclosed in
`patent application titled “System and Method for Video
`Encoding. Using Constructed Reference Frame' that is
`assigned to the assignee of the present invention, is filed
`concurrently herewith and which is hereby incorporated by
`reference in its entirety.
`Type of prediction mode 64 can be determined, similar to
`reference frame type 62, by whether intra mode or interframe
`mode coding is used when constructing prediction blocks (as
`illustrated in FIG.3). If intra mode predictive coding is used,
`two types of intra-coding can be supported, which are
`denoted as non-split mode and split mode. If inter mode
`predictive coding is used, two types of inter-coding can be
`supported, which are denoted as non-split mode and split
`mode.
`If inter mode predictive coding is used with non-split
`mode, residual error attribute 66 can be determined by
`whether the resulting motion vector is null or is non-zero.
`As discussed previously, a macroblock can be an array of
`16x16 luminance pixels. In intra-coding, each macroblock
`can be further split into, for example, 4x4 luminance samples
`referred to as 4x4 Sub-blocks. Accordingly, a macroblock can
`be made of 16 4x4 sub-blocks. This means that a prediction
`block may be formed for either a macroblock (i.e. non-split
`mode) or each of the 16 4x4 sub-blocks (i.e. split mode).
`Other sub-block sizes are also available such as 16x8, 8x16,
`and 8x8. Although the description of embodiments for intra
`coding arc is described with reference to 4x4 sub-block split
`mode, any other Sub-block size can be used with split mode,
`and the description of the embodiments is not limited to a 4x4
`sub-block.
`In intra-coding, non-split mode results in prediction of the
`whole 16x16 macroblock whereas split mode leads to sepa
`rately predicting each 4x4 Sub-block.
`For intra-coding non-split mode, for example, one of four
`prediction modes can be utilized to reference neighboring
`pixel samples of previously-coded blocks which are to the left
`and/or above the 16x16 block to be predicted. The four select
`able prediction modes may be vertical prediction, horizontal
`prediction, DC prediction and plane prediction.
`For intra-coding split mode, for example, one of nine pre
`diction modes can be utilized to reference neighboring pixel
`samples of previously-coded blocks which are to the left
`and/or above the 4x4 sub-block to be predicted. The nine
`selectable prediction modes may be vertical prediction, hori
`Zontal prediction, DC prediction, diagonal down-left predic
`tion, diagonal down-right prediction, Vertical-right predic
`tion, horizontal-down prediction, Vertical-left prediction and
`horizontal-up prediction.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,326,075 B2
`
`10
`
`15
`
`6
`In inter-coding, non-split mode results in calculating one or
`motion vectors based on displacing an area of a correspond
`ing reference frame for prediction of the whole 16x16 mac
`roblock. Alternatively, split mode results in calculating a
`motion vector based on displacing an area of a corresponding
`reference frame for prediction of a partition of the 16x16
`macroblock. The 16x16 macroblock may be split into parti
`tions of 16x8, 8x16, 8x8 or 4x4 each with its own motion
`vector. Other partition sizes are also available.
`A motion vector can be calculated for each whole macrob
`lock or each separate partition. In particular, motion compen
`sation predicts pixel values of the macroblock (or the corre
`sponding partition within the macroblock) from a translation
`of the reference frame. The motion vector for each macrob
`lock or partition may either be null, which indicates there has
`been no change in motion, or non-zero, which indicates there
`has been a change in motion.
`Although the description of embodiments describes how
`adaptive loop filter 34 applies a different strength modifier 60
`based on the prediction stage parameter 65 and residual error
`attribute 64, any other loop filter attribute may be varied such
`as the filter type, filter coefficients, and filter taps, and the
`description of th

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