IP Library › Granted Patent US 12,244,816
Granted Patent B2
US 12,244,816 · App. 17/465,007 · Granted Mar 4, 2025

Encoder and decoder, encoding method and decoding method with profile and level dependent coding options

Inventors: Adam Wieckowski (Berlin, DE); Robert Skupin (Berlin, DE); Yago Sánchez De La Fuente (Berlin, DE); Cornelius Hellge (Berlin, DE); Thomas Schierl (Berlin, DE); Detlev Marpe (Berlin, DE); Karsten Sühring (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: FRAUNHOFER-GESELLSCHAFT ZUR FÖRDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
H04N19/137H04N19/176H04N19/186H04N19/189
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,244,816
App. No.
17/465,007
Filed
Sep 2, 2021
Granted
Mar 4, 2025
Kind
B2
Art Unit
2426
USPC
375/240.02
Abstract

A video encoder according to embodiments is provided. The video encoder is configured for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures includes original picture data. The video encoder includes a data encoder configured for generating the encoded video signal including encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data. Moreover, the video encoder includes an output interface configured for outputting the encoded picture data of each of the plurality of pictures. Furthermore, a video decoders, systems, methods for encoding and decoding, computer programs and encoded video signals according to embodiments are provided.

Claims (126)

1. A video decoder for decoding a picture of a video, wherein the video decoder comprises:

an input interface configured to receive the encoded video signal; and

a data decoder configured to:

decode chroma format information, the chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determine, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determine a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks at a first position and the second luma motion vector corresponding to a second luma subblock of the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

reconstruct a portion of the picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

2. The video decoder of claim 1 , wherein:

when the chroma subblocks are sampled in a 4:2:0 format, the sub-width param and the sub-Height parameter are the same.

3. The video decoder of claim 2 , wherein:

when the chroma subblocks are sampled in a 4:2:2 format, the sub-width param and the sub-Height parameter are different.

4. The video decoder of claim 1 , wherein when the luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format the data decoder is configured to determine the motion vector for said chroma subblock depending on each motion vector of exactly two of the luma subblocks.

5. The video decoder of claim 4 ,

wherein the data decoder is configured to determine the motion vector for said chroma subblock based on:

mvAvgLX = ( mvLX[ ( xSbIdx >> SubWidthC << SubWidthC) ]

  [ (ySbIdx>> SubHeightC << SubHeightC) ] +

  mvLX[ ( xSbIdx >> SubWidthC << SubWidthC ) + Sub

 WidthC ]

  [ (ySbIdx>> SubHeightC <<

SubHeightC) + SubHeightC ] )

wherein mvAvgLX is the motion vector for said chroma subblock,

wherein mvLX [ ] [ ] is the motion vector of one of the luma subblocks,

wherein mvAvgLX [0] is defined according to

mvAvgLX[ 0 ] = ( mvAvgLX[ 0 ] >= 0 ?

   ( mvAvgLX[ 0 ] + 1) >> 1 :

   - ( (- mvAvgLX[ 0 ] + 1 ) >>1 ) )

wherein mvAvgLX [1] is defined according to

mvAvgLX[ 1 ] = ( mvAvgLX[ 1 ] >= 0 ?

   ( mvAvgLX[ 1 ] + 1) >> 1 :

   - ( (- mvAvgLX[ 1 ] + 1 ) >> 1 ) ).

wherein SubWidthC and SubHeightC are defined according to:

Chroma Format

SubWidthC

SubHeightC

4:2:0

1

1

4:2:2

1

0.

6. A method for decoding a picture of a video, wherein the method comprises:

receiving the encoded video signal, and

decoding chroma format information the chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determining, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determining a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

reconstructing a portion of the picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

7. A non-transitory digital storage medium containing instructions, that when executed by a processor of an electronic device, cause the electronic device to:

receive the encoded video signal, and

decode chroma format information, the chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determine, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determine a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks at a first position and the second luma motion vector corresponding to a second luma subblock of the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

reconstruct a portion of a picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

8. A video decoder for decoding a picture of a video, wherein

the video decoder is configured to:

receive the encoded video signal;

decode chroma format information encoded, the chroma format information indicating how luma subblocks and chroma subblocks are sampled;

determine, based on the chroma format information, a sub-height parameter and a subwidth parameter;

determine a motion vector for the chroma subblock based in part on the sub-height parameter, the sub-width parameter, and motion vector information of at least one luma subblock depending on the chroma format information, wherein when the chroma format information indicates a first format, the motion vector for the chroma subblock is determined based on a motion vector of exactly one luma subblock, of the at least one luma subblock, and when the chroma format information indicates a second format, different from the first format, the motion vector for the chroma subblock is determined based on a motion vector of two luma subblocks of the at least one luma subblock, a position of the two luma subblocks is based in part on the sub-height parameter and the sub-width parameter, such that:

a first position of a first of the two luma subblocks is represented by [(xSbldx>>SubWidthC<<SubWidthC)] [(ySbldx>>SubHeightC<<SubHeightC)] and a second position of a second of the two luma subblocks is represented by the second position is represented by (xSbldx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbldx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbldx is an x-index of one of the plurality of luma subblocks,

ySbldx is an y-index of one of the plurality of luma subblocks

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

reconstruct a picture of the plurality of pictures of the video based on the motion vector information of the at least one luma subblock and the motion vector for the chroma subblock.

9. A method for decoding a picture of a video, the method comprising:

receiving the encoded video signal;

decoding chroma format information encoded, the chroma format information indicating how luma subblocks and chroma subblocks are sampled;

determining, based on the chroma format information, a sub-height parameter and a subwidth parameter;

determining a motion vector for the chroma subblock based in part on the sub-height parameter, the sub-width parameter, and motion vector information of at least one luma subblock depending on the chroma format information, wherein when the chroma format information indicates a first format, the motion vector for the chroma subblock is determined based on a motion vector of exactly one luma subblock of the at least one luma subblock, and when the chroma format information indicates a second format, different from the first format, the motion vector for the chroma subblock is determined based on a motion vector of two luma subblocks of the at least one luma subblock, a position of the two luma subblocks is based in part on the sub-height parameter and the sub-width parameter, such that:

a first position of a first of the two luma subblocks is represented by [(xSbldx>>SubWidthC<<SubWidthC)] [(ySbldx>>SubHeightC<<SubHeightC)] and a second position of a second of the two luma subblocks is represented by the second position is represented by (xSbldx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbldx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbldx is an x-index of one of the plurality of luma subblocks,

ySbldx is an y-index of one of the plurality of luma subblocks

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

reconstructing a picture of the plurality of pictures of the video based on the motion vector information of the at least one luma subblock and the motion vector for the chroma subblock.

10. A video encoder for encoding a picture of a video, wherein the video encoder is configured to:

encode chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determine, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determine a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks at a first position and the second luma motion vector corresponding to a second luma subblock of the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks,

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

encode a portion of the picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

11. A method of encoding a plurality of pictures of a video, wherein the method comprises:

encoding chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determining, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determining a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks at a first position and the second luma motion vector corresponding to a second luma subblock of the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks,

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

encoding a portion of the picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

12. A non-transitory digital storage medium containing instructions, that when executed by a processor of an electronic device, cause the electronic device to:

encode chroma format information indicating that luma subblocks and chroma subblocks are sampled in a 4:2:0 format or a 4:2:2 format;

determine, based on the chroma format information, a sub-height parameter and a sub-width parameter;

determine a motion vector for the chroma subblock based on a first luma motion vector and a second luma motion vector, the first luma motion vector corresponding to a first luma subblock of a plurality of luma subblocks at a first position and the second luma motion vector corresponding to a second luma subblock of the plurality of luma subblocks at a second position, wherein:

the first position is represented by [(xSbIdx>>SubWidthC<<SubWidthC)] [(ySbIdx>>SubHeightC<<SubHeightC)] and

the second position is represented by (xSbIdx>>SubWidthC<<SubWidthC)+SubWidthC] [(ySbIdx>>SubHeightC<<SubHeightC)+SubHeightC], where

xSbIdx is an x-index of one of the plurality of luma subblocks,

ySbIdx is an y-index of one of the plurality of luma subblocks,

SubWidthC is the sub-width parameter, and

SubHeightC is the sub-height parameter; and

encode a portion of the picture based on the first luma motion vector, the second luma motion vector, and the motion vector for the chroma subblock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2021
From: WIECKOWSKI, ADAM; SKUPIN, ROBERT; SÁNCHEZ DE LA FUENTE, YAGO; HELLGE, CORNELIUS; SCHIERL, THOMAS; MARPE, DETLEV; SÜHRING, KARSTEN; WIEGAND, THOMAS
To: FRAUNHOFER-GESELLSCHAFT ZUR FÖRDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 058111/0548 →
Priority Claims (1)
EP 19162052 · Mar 11, 2019 · regional
Continuity (2)
Continuation PCTEP2020056355 · Mar 10, 2020
Related Publication 20210409718A1 · Dec 30, 2021
References Cited (33)
US 9191682B2 · Margerm · 2015 [cited by examiner]
US 9467713B2 · Oh · 2016 [cited by examiner]
US 9602827B2 · Chen et al. · 2017 [cited by applicant]
US 11470351B2 · Yu · 2022 [cited by examiner]
US 20150156499A1 · Nakamura · 2015 [cited by examiner]
US 20160057420A1 · Pang · 2016 [cited by examiner]
US 20160100189A1 · Pang · 2016 [cited by examiner]
US 20160105670A1 · Pang · 2016 [cited by examiner]
US 20160165254A1 · Lee · 2016 [cited by examiner]
US 20170085897A1 · Narasimhan et al. · 2017 [cited by applicant]
US 20170085917A1 · Hannuksela · 2017 [cited by examiner]
US 20170195680A1 · Yamamoto · 2017 [cited by examiner]
US 20200275118A1 · Wang · 2020 [cited by examiner]
US 20200296382A1 · Zhao · 2020 [cited by examiner]
US 20200366933A1 · Zhang · 2020 [cited by examiner]
US 20210211710A1 · Zhang · 2021 [cited by examiner]
US 20210321111A1 · Tamse · 2021 [cited by examiner]
US 20210409718A1 · Wieckowski · 2021 [cited by examiner]
JP 2011077761 · 2011 [cited by applicant]
JP 2018530237 · 2018 [cited by applicant]
KR 1020150024934 · 2015 [cited by applicant]
WO 2011040302 · 2011 [cited by applicant]
WO 2018170279A1 · 2018 [cited by applicant]
WO 2020142360 · 2020 [cited by applicant]
WO 2020169114 · 2020 [cited by applicant]
International Search Report and Written Opinion dated Jul. 15, 2020, issued in application No. PCT/EP2020/056355. [cited by applicant]
ISO/IEC, Itu-T. “High efficiency video coding. ITU-T Recommendation H.265 | ISO/IEC 23008 10 (HEVC);” edition 1; Apr. 2013; pp. 1-317. [cited by applicant]
ISO/IEC, Itu-T. “High efficiency video coding. ITU-T Recommendation H.265 | ISO/IEC 23008 10 (HEVC);” edition 2; Oct. 2014; pp. 1-540. [cited by applicant]
Bross, B. et al,; “Versatile Video Coding (Draft 4);” Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11; Jan. 2019; pp. 1-299. [cited by applicant]
Bross, B. et al,; “Versatile Video Coding (Draft 4);” Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11; Jan. 2019; pp. 1-294. [cited by applicant]
Hanhart, P., et al.; “CE13: PERP with horizontal geometry padding of reference pictures (Test 3.3);” Oct. 2018; URL:http://pheni x.i nt-evry.fr/jvet/doc_end; pp. 1-8. [cited by applicant]
Lin, J.L., et al.; “Efficient Projection and Coding Tools for 360° Video;” IEEE Journal On Emerging and Selected Topics in Circuits and Systems; vol. 9; No. 1; Mar. 2019; pp. 84-97. [cited by applicant]
He, Y., et al.; “Motion compensated prediction with geometry padding for 360 video coding;” 2017 IEEE Visual Communications and Image Processing (VCIP), IEEE; Dec. 2017; pp. 1-4. [cited by applicant]