Chroma quantization in video coding.
Abstract
A method of signaling additional chroma QP offset values that are specific to quantization groups is provided, in which each quantization group explicitly specifies its own set of chroma QP offset values. Alternatively, a table of possible sets of chroma QP offset values is specified in the header area of the picture, and each quantization group uses an index to select an entry from the table for determining its own set of chroma QP offset values. The quantization group specific chroma QP offset values are then used to determine the chroma QP values for blocks within the quantization group in addition to chroma QP offset values already specified for higher levels of the video coding hierarchy.

Term
7.9 yearsleft in the term
Expires 4 September 2034.
- Priority
- Filed
- Granted
- Today
- Expires
20 claims: 2 independent, 18 dependent
- 1REIVINDICACIONES 1. Un método que comprende:identificar dos valores de desplazamientos de parámetros de 5 cuantificación (QP) de crominancia inicial en dos niveles de una jerarquía de codificación de video, cada valor de desplazamiento de QP de crominancia en un nivel de la jerarquía de codificación de video para especificar las unidades de datos de video QP de crominancia abarcadas por el nivel;para cada uno de una pluralidad de grupos de cuantificación, io identificar un valor de desplazamiento de QP de crominancia adicional, cada grupo de cuantificación abarca una unidad de datos de video particular, en donde los valores de desplazamiento de QP de crominancia adicional diferentes son identificados por al menos dos grupos de cuantificación;y calcular un conjunto de valores de QP de crominancia para 15 cada unidad de datos de video particular al agregar los valores de desplazamiento de QP de crominancia inicial que se identificaron para los niveles de la jerarquía de video que abarca la unidad de datos de video particular y los valores de desplazamientos de QP de crominancia adicional que se identificó para el grupo de cuantificación. 20
- 2El método de conformidad con la reivindicación 1, en donde la primera unidad de datos de video es un gráfico. IMPI INSTITUTO MEXICANO DE LA «ΟΡΙΕβΛΓ INDUSTRIAL
- 3El método de conformidad con la reivindicación 1, en donde calcular los valores de QP de crominancia para una unidad de datos de video particular comprende agregar el primero, segundo y tercer conjuntos de valores de desplazamientos de QP de crominancia a un valor de QP de luminancia para la unidad de datos de video particular.
- 4El método de conformidad con la reivindicación 3, en donde el grupo de cuantificación es un grupo de cuantificación de crominancia, en donde el valor de QP de luminancia se especifica para un grupo de cuantificación de luminancia que abarca la unidad de datos de video particular.
- 5El método de conformidad con la reivindicación 1, en donde la segunda unidad de datos de video es una partición.
- 6El método de conformidad con la reivindicación 1, en donde cada valor de desplazamiento de QP de crominancia adicional comprende un valor de desplazamiento para un primer componente de crominancia, el método además comprende utilizar el valor de desplazamiento para el primer componente de crominancia para predecir un valor de desplazamiento para un segundo componente de crominancia.
- 7El método de conformidad con la reivindicación 1, en donde cada valor de desplazamiento de QP de crominancia adicional comprende un valor de desplazamiento para un primer componente de crominancia, el IMPI INSTITUTO MEXICANO DE LA PROPIEDAD INDUSTRIAL método además comprende utilizar el valor de desplazamiento para el primer componente de crominancia como un valor de desplazamiento para un segundo componente de crominancia.
- 8El método de conformidad con la reivindicación 1, en donde una unidad de datos de video en el tercer conjunto de unidades de datos de video es uno de una unidad de codificación en árbol y una unidad de codificación.
- 9El método de conformidad con la reivindicación 1, en donde la jerarquía de codificación de video es almacenada en una secuencia de bits, un primer valor de desplazamiento de QP de crominancia inicial siendo almacenado la secuencia de bits en una estructura de encabezamiento asociada con el gráfico.
- 10El método de conformidad con la reivindicación 9, en donde el segundo valor de desplazamiento de QP de crominancia inicial siendo almacenada en la secuencia de bits en una estructura de encabezamiento asociada con la partición.
- 11Un aparato para calcular parámetros de cuantificación, el aparato comprende:medios para identificar dos valores de desplazamientos de parámetros de cuantificación (QP) de crominancia iniciales en dos niveles de una jerarquía de codificación de video, cada valor de desplazamiento de QP IMPI stituto mexicano DE LA PROPIEDAD V* industrial ‘ de crominancia en un nivel de la jerarquía de codificación de video para especificar las unidades de datos de video QP de crominancia abarcadas por el nivel;medios para cada uno de una pluralidad de grupos de 5 cuantificación, identificar un valor de desplazamiento de QP de crominancia adicional, cada grupo de cuantificación abarca una unidad de datos de video particular, en donde los valores de desplazamiento de QP de crominancia adicional diferentes son identificados por al menos dos grupos de cuantificación;y 10 medios para calcular un conjunto de valores de QP de crominancia para cada unidad de datos de video particular al agregar los valores de desplazamiento de QP de crominancia iniciales que se identificaron para los niveles de la jerarquía de video que abarca la unidad de datos de video particular y los valores de desplazamientos de QP de 15 crominancia adicionáis que se identificó para el grupo de cuantificación.
- 12El aparato de conformidad con la reivindicación 11, en donde la primera unidad de datos de video es un gráfico.
- 13El aparato de conformidad con la reivindicación 11, en donde calcular los valores de QP de crominancia para una unidad de datos de video 20 particular comprende agregar el primero, segundo y tercer conjuntos de valores de desplazamientos de QP de crominancia a un valor de QP de IMPI INSTITUTO MEXICANO DE 1A PROPIEDAD INDUSTRIAL luminancia para la unidad de datos de video particular.
- 14El aparato de conformidad con la reivindicación 13, en donde el grupo de cuantificación es un grupo de cuantificación de crominancia, en donde el valor de QP de luminancia se especifica para un grupo de 5 cuantificación de luminancia que abarca la unidad de datos de video particular.
- 15El aparato de conformidad con la reivindicación 11, en donde la segunda unidad de datos de video es una partición.
- 16El aparato de conformidad con la reivindicación 11, en donde 10 cada valor de desplazamiento de QP de crominancia adicional comprende un valor de desplazamiento para un primer componente de crominancia, el aparato además comprende medios para utilizar el valor de desplazamiento para el primer componente de crominancia para predecir un valor de desplazamiento para un segundo componente de crominancia. 15
- 17El aparato de conformidad con la reivindicación 11, en donde cada valor de desplazamiento de QP de crominancia adicional comprende un valor de desplazamiento para un primer componente de crominancia, el aparato además comprende medios para utilizar el valor de desplazamiento para el primer componente de crominancia como un valor de desplazamiento 20 para un segundo componente de crominancia.
- 18El aparato de conformidad con la reivindicación 11, en donde INSTITUTO MEXICANO DE LA PROPIEDAD INDUSTRIAL 80 __ una unidad de datos de video en el tercer conjunto de unidades de datos de video es uno de una unidad de codificación en árbol y una unidad de codificación.
- 19El aparato de conformidad con la reivindicación 11, en donde la 5 jerarquía de codificación de video es almacenada en una secuencia de bits, un primer valor de desplazamiento de QP de crominancia inicial siendo almacenado en la secuencia de bits en una estructura de encabezamiento asociada con el gráfico.
- 20El aparato de conformidad con la reivindicación 19, en donde el 10 segundo valor de desplazamiento de QP de crominancia inicial es almacenada en la secuencia de bits en una estructura de encabezamiento asociada con la partición. IMPI INSTITUTO MEXICANO DE LA MOHEDA? INDUSTRIAL 81 _
Independent claims20
379 paragraphs in 134 sections, as filed
(54) Title: QUANTIFICATION OF CHROMINANCE IN VIDEO CODING. (54) Title: CHROMA QUANTIZATION IN VIDEO CODING.
(57) Summary
A method is provided for signaling additional chrominance QP shift values that are specific to quantization groups, where each quantization group explicitly specifies its own set of chrominance QP shift values. Alternatively, a table of possible sets of chrominance QP shift values is specified in the heading area of the graph, and each quantization group uses an index to select an entry in the table to determine its own set of values for chrominance QP shifts. Subsequently, the quantization group specific chrominance QP shift values are used to determine the chrominance QP values for blocks in the quantization group in addition to the already specified chrominance QP shift values for higher levels of the hierarchy. video encoding.
(57) Abstract
A method of signaling additional chroma QP offset values that are specific to quantization groups is provided, in which each quantization group explicitly specifies its own set of chroma QP offset values. Alternatively, a table of possible sets of chroma QP offset valúes is specified in the header area of the picture, and each quantization group uses an index to select an entry from the table for determining ¡ts own set of chroma QP offset valúes. The quantization group specific chroma QP offset values are then used to determine the chroma QP values for blocks within the quantization group in addition to chroma QP offset values already specified for higher levels of the video coding hierarchy.
Μ Ρ i rawe a *
PATENT TITLE No. 358124
Owner (s): APPLE INC.
Address: 1 Infinite Loop, Cupertino, California, 95014, USA
Name: QUANTIFICATION OF CHROME IN VIDEO CODING.
Classification: CIP: H04N19 / 117; H04N19 / 30; H04N19 / 70; H04N19 / 124; H04N19 / 126;
H04N19 / 136: H04N19 / 157: H04N19 / 186; H04N19 / 86; H04N19 / 96 CPC: H04N19 / 124; H04N19 / 13, H04N19 / 15; H04N19 / 30; H04N19 / 51; H04N19 / 61;
H04N19 / 70; H04N19 / 126; H04N19 / 136; H04N19 / 157; H04N19 / 159;
H04N19 / 186; H04N19 / 86; H04N19 / 96; H04N19 / 172; H04N19 / 176
Inventor (s): ALEXANDROS TOURAPIS; GUY COTE
REQUEST
Number:
MX / a / 2016/001780
International Presentation Date:
September 2014
<td colspan="3">PRIORITY</td>
<td>Country:</td><td>Date:</td><td>Number:</td>
<td>US</td><td>September 9, 2013</td><td> 61/875,664</td>
<td>US</td><td>August 5, 2014</td><td> 14/452,485</td>
<td>US</td><td>August 5, 2014</td><td> 14/452,494</td>
Validity: Twenty years
Expiration Date: September 4, 2034 Issue Date: August 5, 2018
The patent for the ruling is based on articles 1, 2, section V, 6, section III, and 59 of the Industrial Property Law.
In accordance with article 23 of the Industrial Property Law, this patent has a non-renewable term of twenty years, counted from the date of filing of the international application and will be subject to the payment of the fee to maintain the rights in force.
Whoever subscribes to this title does so based on the provisions of toe articles 6 sections III and 7 bis 2 of the Industrial Property Law! (Official Gazette of the Federation (O.OF.) 08/27/1991. amended on 08/02/1994, 10/25/1996, 12/26/1997, 05/17/1999, 01/26/2004, 06/16/2005, 01/25/2006, 05/06/2009, 01/06/2010, 06/16/2010, 06/28/2010, 01/27/2012 and 04/09/2012), articles 1 ”, 3rd section V, subsection a), 4th and 12th sections I and II! of the Regulations of the Mexican Institute of Industrial Property (D, 0 F 12/14/1999, amended on 07/01/2002, 07/15/2004, 07/28/2004 and 09/07/2007); Articles 1, 3, 4, 5, section V, subsection a), 1 sections and 111 and 30 of the Organic Statute of the Mexican Institute of Industrial Property (DOF 12/27/1999, amended on 10/10 / 2002, 07/29/2004, 08/04/2004 and 09/13/2007), 1st, 3 "and 5" subsection a) of the Agreement that delegates powers to the Deputy Directors General, Coordinator, Divisional Directors, Holders of the. Regional Ofelias, Divisional Deputy Directors, Departmental Coordinators and other subordinates of the Mexican Institute of Industrial Property. (DOF, 12/15/1999, amended on 02/04/2000, 07/29/2004, 08/04/2004 and 09/13/2007).
This letter is signed with advanced electronic signature (FIEL), based on articles 7 BIS 2 of the Industrial Property Law, 3rd of its Regulations, and 1 section III, 2 section V, 26 BIS and 26 TER of the Agreement establishing the guidelines for the use of the Electronic Payment and Services Portal (PASE) of the Mexican Institute of Industrial Property, in the procedures indicated.
DIVISIONAL DIRECTOR OF PATENTS NAHANNY CANAL REYES
<img file="MX358124B_D0001.tif" />
Original string:
NAHANNY MARISOL CANAL REYES [00001000000403252793 | SefV¡cto de Administración Tributaria | 1695¡ | MX / 2018/65697 | MXfa / 2016/001780 (Patent title PCT¡1220 | RRGO | Pág (s) ¡fsmy2rNGaYNtVzNCZ5t + F02xic0 =
Digital stamp:
VeynxfnQRdPJYz4YfGqiDWYmjDxTdnb9w1BFf9CfvMQ / E83Opa6EJLD9ORCGoCCidmNMDZHSY49vaNIXfC9vC2Ylb9 iUySWcTEz4r7MbRyafdnF / oaCIP3WF9gXSXrchjd + l29cip7Mmg26b3dA1PIDs / O80 + lhEYJQeSd1a8qq2 + bh5j1IN
M0QFVmv9eM / + 3WO5Gypb0MpPylOzpbkcyJ9SUe4 / rRMCMEqW7u4JTothvueEulhWVaSV9g7lc3JC579UcSOFxjPMo8
3dn6ybiS3q5aenJ72g + mlQGPOdU0slF / nm4PZW4pV4YLH0llx2aR8a / oplsVaEzxhoJrTvN4Q “
<img file="MX358124B_D0002.tif" />
MX / 2018/65697
IMPI ^
MEXICAN INSTITUTE
OF PROPERTY V \ «ee3L
- | INDUSTRIAL
QUANTIFICATION OF CHROMINANCE IN ÚÉ VIÚÉO CODING
BACKGROUND OF THE INVENTION
The next-generation High Efficiency Video Coding (HEVC / H.265) standard, which was jointly developed by ITU e
ISO MPEG has introduced several new video encoding tools in an effort to improve the effectiveness of video encoding against previous video encoding standards and technologies such as MPEG-2, MPEG-4 part2, MPEG-4. AVC / H.264, VC1 and VP8, among others. In its first version, this new standard can support material coding
YUV 4: 2: 0 of 8 or 10 bits that uses three well defined profiles, that is, the Main, Main 10 and Main Still Picture profiles. However, there is still work in progress to support a sample precision greater than 10 bits (pixel depth), as well as different color sampling formats and color spaces, including YUV 4: 2: 2, YUV 4: 4: 4 and RGB 4: 4: 4, among others. Coding of such materials is of great interest, mainly for use in various professional applications such as film applications, capture, video editing, archiving, medical image processing, etc., but also in various consumer applications such such as compression and sharing of content on the screen, remote computing and games, among others.
Until recently, much higher priority has almost always been given to
<img file="MX358124B_D0003.tif" />
IMPI
INSTITUTO MEXICANO DE LA MONEDAD INDUSTRIAL the existing video codes when encoding the luminance component of an image. The encoding parameters that control the encoding characteristics and the quality of the Luminance Information are mainly provided at the lower levels of the video encoding hierarchy, such as partition, tree encoding block, encoding unit, or even the level of HEVC transform block. Control and tuning parameters for all other components are primarily possible at a higher level, such as the Sequence, Graphics Parameter Sets, or partition level along with modifications to the luminance control parameters. For example, in MPEG-4 AVC, the luminance quantification and the corresponding Quantization Parameter (QP) were controlled with a parameter signaled at the macroblock level. A single offset for each chromaticity component was provided in the Graph Parameter Sets. Each chrominance QP offset controls the value of
QP of the corresponding chrominance component relative to the luminance QP in each macroblock. However, this relationship is fixed for the entire graph. If you wanted to change the quality of a luminance or chrominance area, then the other components were also affected in view of this very close relationship. In HEVC, some additional control was also provided since HEVC allows separate signaling of the chrominink quantification shift for each partition. Without
MEXICAN INSTITUTE
CE LA MONEDAD industrial However, the use of multiple partitions may not be convenient or functional for some applications as long as the control provided remains somewhat crude.
For some applications or content, being able to independently control the quality of some color components can be very important in an attempt to improve the overall quality, compression ratio, and overall user experience. Some areas, for example, can be characterized by different texture or noise characteristics Even in color components, although it may be important to improve the color edges, more or less, than to improve the same lighting information. In addition, for 4: 4: 4 applications, such as video presentation sharing and remote computing, it may be desirable to encode RGB content when the importance, and therefore desired control, of the red components and blue tends to be greater than the chrominance components in the YUV domain. It may also be desirable to encode mixed video content, that is, a combination of synthetic content, such as graphics or computer applications, with natural images or videos. In this case, due to the different characteristics of natural content versus synthetic content, as well as the possibility that natural content was 4: 2: 0 images originally converted up-display for 4: 4: 4 display, have the ability to control
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0004.tif" />
Chroma quantization parameters could potentially affect coding performance and subjective quality considerably.
What is needed is a method that allows you to further control the chrominance quantization parameters compared to existing codees, as well as extend this support to all common color formats (such as YUV, RGV, YCoCg or YCoCg-R) , all common color sampling schemes (such as 4: 2: 0, 4: 2: 2. 4: 4: 4 or 4: 4: 4: 4), as well as a diversity of pixel depths for each component . Such a method should allow signaling and changing the chrominance QP shift information in an encoding block in a much more flexible way without limiting the color or sampling formats.
SUMMARY OF THE INVENTION
To provide a video encoding system in which the chrominance quantization (QP) parameters can be specified more flexibly, some embodiments of the invention provide a method for signaling additional chrominance QP shift values that are group specific of quantification. In some embodiments, each quantization group explicitly specifies its own set of chrominance QP shift values. In
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0005.tif" />
For some modalities, a table of possible sets of chrominance QP offset values is specified in the heading area of the graph or partition, and each quantization group uses an index to select an entry in the table to determine its own set of chrominance QP shift values. Therefore, the chrominance QP shift values at the quantization group level are used to determine the chrominance QP values for the blocks or sets of pixels in the quantization group. In some embodiments, the quantization group chrominance QP values are used in conjunction with the block luminance QP and the chrominance QP offset values already specified at higher levels of the video encoding hierarchy.
Some modalities associate chrominance QP shift specifications with quantization groups (QG) that include one or more units of video data. In some modes, each QG is associated with its own set of chrominance QP shift specifications, and in some of these modes, the set of chrominance QP shift specifications associated with a QG is encoded or integrated into the structure of encoding of a video data unit in the QG.
To further reduce overprocessing or bit usage,
IMPI
MEXICAN INSTITUTE DB INDUSTRIAL PROPERTY
<img file="MX358124B_D0006.tif" />
some modes specify all available offset values of each component, or combination values of both components, at a higher level, for example, in a sequence parameter set (SPS), a graphics parameter set (PPS), or in the current partition heading. In some of these modes, the top-level syntax heading (SPS / PPS / partition heading) lists the different possible offset values in tabular form, each entry in the table is assigned an index. Subsequently, at the encoding unit level / quantization group level, some modalities specify only the index or indices of the desired quantization shift values. Such offsets may be independent of the offset values specified in the PPS or partition header or, conversely, may be added to the offset values specified in the PPS or partition header. To reduce the size of the bit stream, some modes limit the number of entries in the table to a maximum value.
Encoders in different modalities use different methods to select and assign additional chrominance QP shift values that are specific to a quantization group. Some modalities perform a preliminary analysis stage, in which the encoder performs an analysis at the region level. Some
IMPI Mexican institute OF THE «ΡλΡ industrial
<img file="MX358124B_D0007.tif" />
Modalities identify different regions in an image that are of different types of video content. In some of these modalities, different regions with different types of video content are assigned different chrominance QP shift values or different quantization groups. Some modes distinguish graphics content from actual video content. Some modalities distinguish 4: 4: 4 video content that is originally encoded in 4: 4: 4 format from 4: 4: 4 video content taken by sampling from the 4: 2: 0 format. Some modalities distinguish video content it originally could have been of different pixel depths. These video content features, in addition to their relationships across all color components, as well as speed control information, are used in some ways to determine quantization levels or quantization relationships between all color components.
The preceding Summary is intended to serve as a brief introduction to some embodiments of the invention. It is not intended to be an introduction or generalities of all the inventive subject matter disclosed in this document. The following Detailed Description and the Drawings referenced in the Detailed Description will further describe the modalities described in the Summary, as well as other modalities. Therefore, to understand all the modalities described in this document, a complete revision of the Summary of the Description is needed.
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL
Detailed and Drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features of the invention are set out in the appended claims. However, for explanatory purposes, various modalities of the Invention are set forth in the following figures.
Figure 1 illustrates a hierarchical structure of video encoding 100 that includes chrominink quantization groups each having its own set of chrominink QP shift specifications.
Figures 2a-2c illustrate various methods for encoding a set of chrominink QP shift values for a chrominink quantization group.
Figure 3 illustrates an exemplary graph heading or set of 15 graph parameters (PSS) specifying a definition of a chrominance quantization group.
Figure 4 illustrates an exemplary tree coding unit that may be in a chrominance quantization group.
Figure 5 illustrates the specification of additional chrominlan QP shifts in a quantification group.
Figure 6 illustrates the specification of additional chrominance QP shifts in a quantification group using a method.
IMPI
MEXICAN INSTITUTE OF LA FROPIEDA »INDUSTRIAL
<img file="MX358124B_D0008.tif" />
Different to specify the chrominance QP offset values for the two chrominance components.
Figure 7 conceptually illustrates a process for determining chrominance QP values of a video bit stream that allows for additional chrominance QP offset specifications.
Figure 8 illustrates a hierarchical structure of video encoding that includes a table of possible chrominance QP shift values in a top-level heading.
Figure 9 illustrates an exemplary graph header or graph parameter set (PSS) encoding a chrominance QP shift table.
Figure 10 illustrates a graph heading that predictively encodes each entry in a chrominance QP shift table.
Figure 11 illustrates an exemplary tree coding unit that can be in a quantization group that uses an index to retrieve values of chrominance QP offsets from a table in a chart heading.
Figure 12 illustrates a quantization group that uses an index to select an entry in a table of displacement values of
Chrominance QP.
Figure 13 conceptually illustrates a process for determining
IMPI
Mexican Institute of Industrial Property
<img file="MX358124B_D0009.tif" />
Chroma QP values of a video bit stream that uses a table of possible Chroma QP offset values to implement additional Chroma QP offset specifications.
Figure 14 illustrates the pseudocode for a graph heading that includes a selection for a method of specifying additional chrominance QP shift values.
Figure 15 illustrates the implementation of the pseudocode for a transform unit that is capable of specifying chrominance QP shift values for a quantization group using any of the three different methods.
Figure 16 illustrates an exemplary segmentation and categorization of an image.
Figure 17 conceptually illustrates a process 1700 for analyzing different regions of an image and, therefore, assigning chrominance QP shifts.
Figure 18 illustrates a generic video encoder.
Figure 19 illustrates a generic video decoder.
Figure 20 conceptually illustrates an electronic system with which some embodiments of the invention are implemented.
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0010.tif" />
DETAILED DESCRIPTION OF THE INVENTION
In the following description, numerous details are set forth for explanatory purposes. However, one skilled in the art will realize that the invention can be practiced without the use of these specific details. In other cases, recognized structures and devices are shown in block diagram form so as not to obscure the description of the invention in Unnecessary detail.
To provide a video encoding system in which the chrominance quantization (QP) parameters can be specified more flexibly, some embodiments of the invention provide a method for signaling additional chrominance QP shift values that are group specific of quantification. In some embodiments, each quantization group explicitly specifies its own set of chrominance QP shift values. In some embodiments, a table of possible sets of chrominance QP offset values is specified in the graph or partition heading area, and each quantization group uses an index to select an entry in the table to determine its own set of chrominance QP shift values. Therefore, the chrominance QP shift values of the quantization group level are used to determine the chrominance QP values for the blocks in the quantization group. In some
<img file="MX358124B_D0011.tif" />
For modalities, the quantization group chrominance QP values are used in conjunction with the block luminance QP and the chrominance QP offset values already specified at higher levels of the video encoding hierarchy.
The following Section I describes methods for specifying additional chrominance QP offset values. Specifically, Section describes methods for explicitly specifying additional chrominance QP offset values in quantization groups, while Section lb describes methods for specifying a table of possible chrominance QP offset values. Subsequently, Section II describes different systems and methods to identify and assign the values of additional chrominance QP shifts to different regions of an image. Section III describes video encoder and decoder systems that implement some embodiments of the Invention, while Section IV describes a computer system with which some embodiments of the invention are implemented.
I. SPECIFICATION OF ADDITIONAL DISPLACEMENTS
OF CHROMINANCE
to. Specification of additional chrominance QP shifts in quantization groups
Some embodiments of the Invention provide a method for
INSTITUÍ or MEXICAN OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0012.tif" />
Specify Chroma Quantization Parameter Offsets values (Chroma QP Offsets) to encode a video stream. The method associates chroma QP offset specifications with chroma quantization groups, each chroma QG encompasses one or more video data units (such as encoding units in HEVC). In some embodiments, a set of chrominance QP shift specifications associated with a chrominance quantization group is encoded or integrated into the encoding structure of a video data unit in the chrominance quantization group. In some embodiments, the chrominance QP offset specification for a chrominance quantization group is applied in addition to other chrominance QP offset specifications that are specified for a video encoding structure at a higher level of the encoding hierarchy. video (such as a partition or graph) spanning the chrominance quantization group. In some embodiments, the chrominance QP shifts of the different levels are applied together (when added, for example, to the lime QP value) to determine the chrominance quantification parameters (chrominance QP).
In some embodiments, the chrominance quantification groups (chrominance QG) are defined in addition to the quantization groups of
<img file="MX358124B_D0013.tif" />
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY luminance (QG of luminance). A luminance QG also encompasses one or more units of video data, but is for specifying luminance quantization parameters (luminance QP). In some embodiments, the chrominance QGs may overlap or span one or more luminaire QGs. In other words, different regions in a chrominance QG can belong to different luminance QGs and therefore have different luminance QPs.
For some embodiments of the invention, Figure 1 illustrates a hierarchical structure of video coding 100 that includes chroma quantization (chroma QG) groups each having their own set of chroma QP shift specifications. . The hierarchical structure of video encoding 100 includes various graphics 101-103. Among these, chart 102 Includes 1 lili 3 partitions. Partition 112 includes various chrominance QG 121-123. The graphic
102 it has a graph parameter set (PPS) 132 that includes a set of chrominance QP shift specifications. Chrominance QG 121-123 are associated with sets of chrominance QP shifts 141,143, respectively.
The hierarchical structure of video encoding 100 corresponds to a sequence of video images. A sequence of video images is organized into layers of video data units at various levels of the hierarchy, where a video data unit at a higher level
MEXICAN INSTITUTE
OF THE PROPERTY
INDUSTRIAL encompasses one or more video data units on indoor levels. For example, a photographic group (GOP) is a unit of video data at a higher level in the hierarchy than a chart, a chart is a unit of video data at a higher level of the hierarchy than a partition in the Graphically, a partition is a unit of video data at a higher level in the hierarchy than a tree encoding unit, and so on. In some embodiments, at least certain parameters specified for a higher level video data unit are applicable to lower level video data units than the higher level video data unit encompasses. For example, in some embodiments, the graph-level chrominance QP shift specification for graph 102 (from PPS 132) is applicable to all chrominance QGs that graph 102 encompasses (for example, chrominance QG 121-213 ).
The video encoding structure 100 is encoded as a bit stream in some embodiments. Such a bit stream is based on an established video encoding format, such as the HEVC / H.265 standard or the MPEG-4 AVC / H.264 standard. A H.265 compliant graphic can include one or more partitions, and each partition can have one or more tree-encoded units (CTUs). In addition, each CTU can be subdivided into blocks, H.265 also allows the definition of luminance quantization groups to quantize / dequantize luminance components. Each quantification group allows the derivation of a
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0014.tif" />
luminance quantization parameter that is specific to the video data units in the quantization group. Once derived, the luminance quantization parameter is subsequently used to perform the luminance DCT coefficient quantization. In accordance with the H.265 standard, the chrominance quantization parameters are derived from the luminance quantization parameters based on offset values provided in the graph or partition stratum of a bit stream that complies with the H.265 standard. . The video coding structure 100 allows signaling or specification of chrominance QP offsets to be found in addition to the chromaticity QP offsets in the graph / partition layer allowed by the H.265 standard.
Chroma QG 141-143 are Intervals defined in video encoding structure 100. Each of the QG 141-143 is associated with its own set of chroma QP offset values 141-143. In some embodiments, a quantization group can be a group of video data units that share the same set of QP values. In some embodiments, signaling for chrominance QP offsets in a QG is applied to all video data units in the QG. In some embodiments, QP offsets are applied from the first signaling chrominance residual information onward. Any area prior to signage
IMPI
WSTITUTO MEXICANO DE LA ΜΙΟΡΙΕΡΛΓ INDUSTRIAL
<img file="MX358124B_D0015.tif" />
not associated with the indicated chrominance QP shift. In other words, the QG can "fragment."
In some embodiments, a QG (chrominance or luminance) can be defined at different levels or depths of the video encoding hierarchy, such as tree encoding unit, encoding unit, or transform unit, since these are supported in HEVC. In some embodiments, the definition of a QG for the chrominance QP offset inherits the definition of a QG for luminance components, when available.
In some modes, the depth, level, and size of a QG (chrominance or luminance) can be specified flexibly in the bit stream and can vary from graph to graph. For example, one graph (for example, 101) can specify that their chrominance QGs be at the top level of a quaternary coding tree (i.e., a QG is a CTU), while another graph (for example, 103 ) you can specify that your chrominance QGs are at a lower level of a quaternary coding tree (for example, a QG is a coding block of a quaternary tree). In some embodiments, top-level parameters (such as a PPS or partition header) specify at which level of the video encoding hierarchy the QGs of a chart are to be defined.
Figure 1 also illustrates how offsets are used.
IMPI
MÍXICAN INSTITUTE I heard LA ÍRONLOaD INDUSTRIA ·.
<img file="MX358124B_D0016.tif" />
specified by the chrominance QGs to calculate chrominance QP values. In some embodiments, such as those illustrated in Figure 1, a first set of chrominance QP shift parameters was already signaled in PPS 132 (and / or header for partition 112). In some embodiments, chrominance QP offset values that are specified at levels greater than chrominance QGs (for example, PPS and / or partition header) are ignored when QGs specify their own chrominance QP offset values . In some embodiments, syntactic elements of chrominance QP shifts at higher levels and chrominance QP deviations at QG levels are considered together to reduce overprocessing. That is, the adaptation of the chrominance QP values is carried out jointly in relation to both sets of parameters, and the signalized information can be seen as a "second order" shift. In some of these modes, the Chroma QP values for the current Chroma QG are calculated as:
QPchroma [¡] - QPIuma + QPoffset_pps [¡] + QPoffseLquant_group [¡] (1) (i = 0 for the first chrominance component; i = 1 for the second chrominance component)
Where QPIuma is the QP of the luminance component corresponding to the current chrominance quantization group,
IMPI
WSTnyro MEXICANO OS LA raONSVAD 'NOVSTWAl
<img file="MX358124B_D0017.tif" />
QPoffset_pps [¡] is the QP offset of the i-th chromnance component of the current PPS (or partition header), and
QPoffset_quant_group [¡] is the additional offset signaled at the QG level for that component. Thus, QPoffset_pps [¡] +
QPoffset_quant_group [¡] constitutes the general chrominance QP shift of the I-th chrominance component.
In some embodiments, the adaptation of the Chroma QP values is based on the Chroma QP shift parameters from multiple levels of the video encoding hierarchy. For example, in some embodiments, the computation of chrominance QP values considers the chrominance QP offset values from the PPS as well as from the partition header. In some of these modalities, the chrominance QP value for the chrominance component ¡of the current QG is calculated as: QPchroma [¡] = QPIuma + QPoffset_pps [i] + QPoffset_sl¡ce [¡] + QPoffset_quant_group [¡] (2 )
Where QPoffset_sl¡ce [¡] is the QP offset of the i-th chrominance component of the current partition header, QPoffset_pps [i] is the QP offset of the i-th chrominance component of the current PPS, and the sum of QPoffset_pps [i] + QPoffset_slice [¡] + QPoffset_quant_group [¡] is the general chrominance QP offset of the i-th chrominance component. Optionally, some
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0018.tif" />
Modes allow one or more additional chrominance QP offset values to be specified in other layers of the video encoding hierarchy. To encode or decode a specific encoding block, some of these modes use some or all of the specified chroma QP offset values along the levels of the video encoding hierarchy that encompasses (or is applicable to) the block specific encoding.
As mentioned, the chrominance QP values of a chrominance QG are calculated by adding the chrominance QP offsets to the luminance QP value applicable to the chrominance QG. In some embodiments, the luminance QP value that corresponds to a chrominance QG can change into a chrominance QG. This is because the luminance QGs and the chrominance QGs can overlap, such that a chrominance QG can span encoding units that are included in different luminance QGs, and thus have different QP values. luminance. Consequently, different encoding units in a chrominance QG may end up having different chrominance QP values (since the chrominance QP shifts applicable to the chrominance QG apply to different luminance QP values in the chrominance QG) .
In the example in Figure 1, the chrominance QG 121 has four
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0019.tif" />
corresponding luminance QP values (QPLuma), since the chrominance QG 212 overlaps with four different luminance QG 171 174. These four luminance QP values of the chrominance QG 121 result in four possible QP values of chrominance after applying the chrominance QP offsets (QPoffset_pps, QPoffset_slice, QPoffset_quant_group) from the PPS 132 offset and the QG1 141 offset. Therefore, a coding unit in chrominance QG 121 can have one of these four possible chrominance QP values, depending on the underlying luminance QG that the coding unit includes. Also, the chrominink QG 123 overlaps with two different luminance QG 181-182, and a coding unit in the chrominink QG 123 may have one of two possible chrominink QP values, depending on the underlying luminance QG that Include the encoding unit.
On the other hand, the chrominance QG 122 has only a corresponding luminance QP value, since the chrominance QG 122 falls entirely within a luminance QG 175 (or spans the exact same set of encoding units as the QG of luminance 175). Accordingly, all of the encoding units in Chrominance QG 122 have the same Chroma QP value after applying Chrominink QP shifts.
Since there are two chrominance components for each
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0020.tif" />
luminance component for most video encoding formats (for example, YCbCr), in some modes, each chrominance QP shift for a quantization group is a set of values that includes specifications for calculating two offset values for the two chrominance components. For some modalities, Figures 2a-2c illustrate various methods for encoding a set of offset values for QG 141 in Figure 1. Some modalities use only one of these methods to encode a set of chrominance QP shift values. Some modalities select different methods for different QG based on the specific QG characteristics.
Figure 2 illustrates the set of chrominance QP offset values as two independent offset values 241 and 242. These two values are used directly as the chrominance QP offset for component [0] (251) and for component [ 1] (252). Some modalities select this chrominance QP shift encoding method when the two chrominance components have very little correlation to each other. A further example of this method of encoding chrominance QP shift values is described in greater detail below with reference to Figure 5.
Figure 2 illustrates the set of displacement values
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0021.tif" />
coded as a single value 243 that is used simultaneously as the chrominance QP offset by both chrominance components (253 and 254). Some modalities select this method when the two chrominance components are very similar in their relationships to the luminance component. A further example of this method of encoding chrominance QP shift values is described in greater detail below with reference to Figure 6.
Figure 2c illustrates the set of encoded offset values as an Immediate offset value 244 and a delta value 245 based on the immediate offset. In this example, the Immediate offset value 244 is applied directly as the chrominance QP offset of the first chrominance component (255), while the sum of the delta value 245 and the immediate value 244 is used as the offset value of Chrominance QP of the second chrominance component (256). Some modes select this method when the two chrominance components differ in their relationships to the luminance component by a small offset that can be easily encoded in the bit stream with very few bits.
This method encodes the second chrominance QP shift (for component [1]) relative to the first
IMPI
MEXICAN INSTITUTE OE INDUSTRIAL PROPERTY
<img file="MX358124B_D0022.tif" />
chrominance QP shift. --That is, the second chrominance QP shift is now predicted from the first chrominance QP shift (for component [0]). In some modes, the Chroma QP value for the first Chroma component is calculated as:
QPchroma [0] = QPIuma + QPoffset_pps [0] +
QPoffset_quant_group [0]. (3)
The chrominance QP value for the second chrominance component is calculated as:
QPchroma [1] = QPIuma + QPoffset_pps [1] +
QPoffset_quant_group [0] + QPoffset_quant_group [1j. (4) (i = 0 for the first chrominance component; i = 1 for the second chrominance component)
As mentioned, some modalities use chrominance QP shift values from multiple different strata of the video coding hierarchy to derive the final chrominance QP value. For some modalities that use chrominance QP offset values from both the PPS and the partition header, the chrominance QP value for the first chrominance component is calculated as:
QPchroma [0] = QPIuma + QPoffset_pps [0] + QPoffset_slice [0]
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0023.tif" />
+ QPoffset_quant_group [Oj. (5)
The chrominance QP value for the second chrominance component is calculated as:
QPchroma [1] = QPIuma + QPoffset_pps [1] + QPoffset_slice [1] + QPoffset_quant_group [0] + QPoffset_quant_group [1], (6)
As mentioned, in some modalities, the definition of a luminance and / or chrominance quantification group is specified by means of parameters found at the graph level. Figure 3 illustrates an exemplary graph heading or PPS 300 that specifies a definition of a chrominance quantization group. Exemplary chart header 300 is associated with chart 102 of video encoding structure 100. Chart heading 300 is described by a pseudocode that is modified from H.265 to incorporate additional chrominance QP shifts (i.e. adaptation of chrominance QP values). In some embodiments, a pseudocode for a video standard (such as the H.265 standard or a modified standard) describes the operations that a video decoder requires when processing a bit stream that complies with the video standard. A pseudocode also describes the operations that a video encoder requires when generating a bit stream that complies with the video standard.
For illustrative purposes, the pseudo code in the heading of
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL graph 300 is shown in Figure 3 with darkened lines 311-313. Lines 311-313 allow for additional chrominance QP offset values and define chrominance quantization groups for chrominance QP offsets in chart 102. Specifically, the "additional_chroma_qp_offset" parameter on line 311 informs the decoder that there will be a specification additional scroll
Chroma QP in the bit stream. When this variable is not set for a specific graph, the bit stream will not include bits to specify the additional chroma QP offset for the io graph to avoid consuming bits.
The “chroma_qp_offset_max_depth” parameter on line 313 defines the level (and therefore the size or hierarchical depth) of the chrominance QG. This parameter can be set to be equal to the size of the entire tree encoding unit (CTU) or less than the size of the smallest possible encoding unit in the bit stream. Some modalities allow the specification and signaling of additional chrominance QP shifts to occur at any desirable level (eg, at the CTU level, at the defined chrominance quantization group level, at the encoding unit level, at the level of transform, etc.).
In some modalities, instead of defining quantification groups specifically for chrominance QP shifts, the sequence
IMPI
MEXICAN PROPERTY USTITUTü
INDUSTRIAL
<img file="MX358124B_D0024.tif" />
Bitwise uses the “d¡ff_cu_qp_delta_depth” parameter, which also defines the quantization groups for the luminance QPs. In some modes, if the parameter to define a quantization group is not available, then the entire graph is assigned the same QP for luminance and adaptations of QP for luminance are not allowed.
Figure 4 illustrates an exemplary tree coding unit 400 that may be in a quantization group. Tree coding unit 400 is described using a pseudocode modified from H.265 to incorporate additional chrominance QP shifts. Tree coding unit 400 is in quantization group 122, which is in partition 112 of graph 102.
The pseudocode for tree coding unit 400 is illustrated with darkened lines 411-413, which are added in order to determine if the tree coding unit is part of a QG. Specifically, on line 411, the parameter “additional_chroma_qp_offset” (for example, from chart header 300) is used to Indicate whether Additional Chroma Information is allowed. The parameter "chroma_qp_offset_max_depth" is compared to a variable "log2CbSize" to determine if tree encoding unit 400 is in a quantization group (such as quantization group 122). If so, the pseudocode sets the variable "IsCrCuQpOffsetCoded" to 0 on line 412. For some modalities,
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0025.tif" />
this also sets the starting point of the chrominance quantization group.
Figure 5 illustrates the specification of additional chrominance QP shifts in QG 122. As discussed above with reference to Figures 3 and 4, QG 122 has been defined by chart heading 300 to Include the Coding Unit Tree 400. The additional chrominance QP offsets are specified in a transform unit 500 of the tree coding unit.
400. Transform unit 500 is described by a modified pseudocode from the H.265 pseudocode, to incorporate additional chrominance QP shifts.
The pseudocode for transform unit 500 is illustrated with darkened lines 511-519, which are added in order to specify additional chrominance QP shifts. Specifically, on line 511, the parameter “addltlonal_chroma_qp_offset” is used to Indicate whether Additional Chroma Information is allowed. The variable “IsCrCuQpOffsetCoded” is used to Indicate whether it is necessary to specify (or receive) Chroma QP shift information in transform unit 500. If the Chroma QP shift values for QG 122 have already been coded, no Chroma QP offset values must be specified again.
IMPI
MEXICAN INSTITUTE BE LA PROí'IEBAO INDUSTRIAL
<img file="MX358124B_D0026.tif" />
If the QG 122 has not yet been encoded, a set of chrominance QP shift values (that is, if the variable "IsCrCuQpOffsetOoded" is 0), the transform unit 500 on lines 512-517 specifies shift values of Chroma QP for the two chroma components. In this case, the transform unit specifies the set of chrominance QP offsets as two independent signed values, and each signed value is signaled by using a quantity ("cu chroma cmpO qp offset abs" or "cu_chroma_cmp1_qp_offset_abs") and a sign marker (“cu_chroma_cmpO_qp_delta_sign_flag” and “cu_chroma_cmpO_qp_delta_sign_flag”) Subsequently, the pseudocode sets the variable “IsCrCuQpOffsetCoded” to 1, indicating that the chrominance QP shift values of this quantization group have already been specified.
As mentioned above by reference to the
Figures 2a-2b, quantification groups in different modalities specify differently the chrominance QP shift values for the two chrominance components Figure 6 illustrates the specification of additional chrominance QP shifts in QG 122 when using a different method of specifying the chrominance QP offset values for the two chrominance components. Figure 6 illustrates a transform unit 600 that is
IMPI
INSTITUTO ISUXICAMO DE LA HONEBAD industiia:
<img file="MX358124B_D0027.tif" />
Describes by using a pseudocode similar to those for transform unit 500, the only difference is that lines 611-616 specify only one chrominance QP offset value (magnitude + sign) for both chrominance components. In some modes, specifying a chrominance QP offset value for both chrominance components is sufficient since, in most cases, the importance of the two color components may not change. The signaling of one or two parameters can be pre-set or could be indicated at different higher syntax level locations, such as the SPS, PPS or partition header.
For some embodiments, Figure 7 conceptually illustrates a process 700 for determining chrominance QP values of a video bit stream that allows for additional chrominance QP offset specifications. In some embodiments, process 700 is performed by a video decoder, which uses this process to dequantify chrominance components by decoding the video bitstreams for display. In some embodiments, the process begins when the decoder receives a video bit stream and begins decoding a particular video graphic for display or other purposes.
At 705, process 700 processes parameters in the chart header or PPS of the particular video chart. As commented
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL MONEDAD
<img file="MX358124B_D0028.tif" />
previously by referring to Figure 3, in some embodiments, the graph heading or PPS of a video graph includes markers (for example, "additional_chroma_qp_offset") to determine whether additional chrominance QP offsets are allowed for the video graph. The graph heading or PPS also identifies the layer of the video hierarchy in which the chrominance quantization groups will be defined for the additional chrominance QP offsets (for example, by setting the variable “chromaqpoffsetmaxdepth”).
The process then identifies (at 710) the chrominance QP shift values at higher levels. In some embodiments, these higher chrominance QP offset values are chart level offsets, encoded in the chart heading (or as part of the PPS). In some embodiments, these chrominance QP offset values at higher levels are partition level offset, encoded in the partition header. Some modalities identify multiple chrominance QP shift values at higher levels, including at the graph level and at the partition level.
Subsequently, the process determines (at 720) whether additional chrominance QP offsets are allowed or available for this particular video graph and / or partition. If additional chrominance QP offsets are not available, the
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0029.tif" />
process proceeds to step 750. If additional chrominance QP shifts are not available, the process proceeds to step 730.
At 730, the process determines whether you have reached the start of a chrominance quantization group. In some embodiments, the process examines whether it is at the video hierarchy level that has been identified as a chrominance quantization group. If the process is not at the start of a chrominance quantization group (for example, it is already in a chrominance quantization group), the process proceeds to 750. If the process is at the bottom of a chrominance quantization group, the process proceeds to 740. Examples of runs 720 and 730 are discussed by reference to Figure 4 above.
At 740, the process identifies the chrominance QP shift values for the chrominance quantization group. In some embodiments, the chrominance QP shifts are explicitly encoded in the chrominance quantification groups, as discussed above with reference to Figures 5 and 6.
Subsequently, the process identifies (at 750) the luminance QP value (s) for the chrominance quantization group. As mentioned, in some embodiments, the luminance QP values are set according to the luminance quantization groups, which may or may not be the same as the chrominance quantization groups. Depending on the signage, there may be more or less
IMPI
MEXICAN INSTITUTE »C THE INDUSTRIAL PROPERTY
<img file="MX358124B_D0030.tif" />
__ luminance quantization groups than chrominance quantization groups. In some embodiments, a luminance quantization group can contain multiple chrominance quantization groups or vice versa. In some embodiments, the chrominance quantization groups and the luminance quantization groups may overlap each other. Accordingly, different encoding units in the same chrominance quantization group may have different luminance QP values based on the luminance quantization groups.
The process then calculates (at 760) the chrominance QP values. For a decoder, some modes calculate the chrominance QP value from the identified luminance QP values and from each identified chrominance QP offset. In some modalities, this is accomplished by adding the luminance QP value with all identified chrominance QP shifts (at the partition / graph level and at the QG level), as illustrated earlier in Equations (1) - (6).
Subsequently, the process determines (at 770) whether it has reached the end of the graph (if the chrominance QP offset at the top level is for the entire graph) or whether it has reached the end of the partition (if the QP offset from Chroma at the top level is for the partition.) If so, process 700 ends. If not, process 700 returns to 730 to process the next quantization group.
IMPI
MEXICAN INSTITUTE OF LA MONEDAD industrial
<img file="MX358124B_D0031.tif" />
As shown above by referring to Figures 1-6, the chrominance QP values are predictively coded using shift luminance QP values. In addition, in some embodiments, the offset values are predictively encoded by themselves as they are offset from each other, such that the offsets at the QG level are offsets at offsets at the partition and / or graph level, and / or the Offset values of one chrominance component are coded as offsets of another chrominance component. In some embodiments, chrominance QP shifts are also predicted from chrominance values or shifts of contiguous units or code blocks, or from chrominance values or shifts of a unit or coding block arranged on a contiguous video graph. , since they are more probable and sufficiently similar to the units or coding blocks of the current chrominhalam quantification group. Some modalities do not make predictions for at least some of the quantification groups. In these cases, the chrominance QP values are explicitly encoded (not as offsets), so the luminance component's QP parameters are ignored (because there is no need to offset from the luminance).
Some modes use a marker to indicate that a set of chrominance QP offset values for a group
<img file="MX358124B_D0032.tif" />
IMPI
MEXICAN INSTITUTE
DE The Xh.ONf Onn | «ϋυ? Τ ·> '* ι contiguous quantization will be used for the current quantization group.' In some embodiments, this contiguous quantization group is spatially left or at the top of the current quantization group. For example, some modalities use a “cu_qp_update_signal” marker to indicate whether to use the chrominance QP shift values of a contiguous quantization group. In some embodiments, the “cu_qp_update_signal” marker is flagged before the “cu_chroma_qp_offset_abs” parameter, on line 612 of Figure 6.
io If the marker is Ί ', the current quantization group will provide an update to specify its own chrominance QP shift values. If the marker is Ό ', the current quantization group will not update its set of chrominance QP offset values, but will instead inherit its chrominance QP offset values from the last specified set of QP offset values Chroma (for example, from the neighboring quantization group, Left) or other specified Chroma QP shift values (for example, from the contiguous quantification group at the top, or another contiguous quantification group). If contiguous chrominance QP shift values are not available, then some modalities use the default QP shift values of the PPS and / or the heading of
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0033.tif" />
partition. '"-
In some modalities, the “cu_qp_update_signal” marker can accept possible additional values to handle different options to specify chrominance QP offset values. For example, in some embodiments, if the marker is Ό ', the chrominance QP shift values from the adjacent quantization group, on the left, are used; if the marker is Ί ', the chrominance QP shift values from the adjacent quantization group, at the top, are used; and if the marker is '2', the current quantization group will explicitly specify a new set of chrominance QP shift values. Otherwise, the current quantization group will use default QP offset values for the PPS and / or partition header. In some embodiments, the chrominance QP shift values inherited by the current quantization group are based on the average of the chrominance QP shift values of at least two of the contiguous quantization groups (for example, the the left and the one at the top).
To further reduce overprocessing, some modalities specify that these additional chrominance QP shifts can only be within a small range of values, that is, a value of -x to x. Doing this changes the entropy coding process, since
<img file="MX358124B_D0034.tif" />
that alters the expected statistics of the information to be signaled (ie for Context Adaptive Binary Arithmetic Coding (CABAC) or if a "maximum-limited" universal variable length coding scheme is used). In some embodiments, the value of x (ie, the interval) is pre-set for the entire sequence or signaled at a higher syntax level, such as the PPS, SPS, or partition header. Some of these modes accomplish this by specifying x directly or, if x corresponds to a power of 2, the value Iog2 (x). Some modalities specify x by separating the magnitude, that is, abs (x), and the sign of x. In
CABAC, the value of abs (x) corresponds to the cMax parameter required in the binarization process.
b. Specifying additional chrominance QP offsets in a table
To further reduce overprocessing or bit usage, some modes specify all possible offset values for each component, or combination values for both components, at a higher syntax level, for example, in a set of sequence parameters ( SPS), a set of graphics parameters (PPS) or in the current partition header. In some of these modes, the top level heading (SPS / PPS / partition heading) lists the different possible offset values in tabular form, each entry in the table is
<img file="MX358124B_D0035.tif" />
assigns it an index. Subsequently, in the encoding unit / quantization group level, some modes specify only the index or indices of the desired quantization shift values. Such offsets may be independent of the offset values specified in the PPS or partition header or, conversely, may be added to the offset values specified in the PPS or partition header. To reduce the size of the bit stream, some modes limit the number of entries in the table to a maximum value.
Figure 8 illustrates a hierarchical structure of video encoding 800 including a table 890 of possible chrominance QP shift values in a top level heading. A chrominance QG at a lower level of the lower video encoding structure then uses an index to select one of the possible chrominance QP shift values from Table 890 to calculate the chrominance QP values. The 800 video encoding structure is similar to the 100 video encoding structure. The hierarchical 800 video encoding structure includes various graphics 801-803. Among these, the 802 chart includes multiple 811-812 partitions. Partition 811 includes multiple 821 -823 chrominance QGs. Chart 802 has a chart parameter set (PPS) that includes a set of chrominance QP shift specifications that is applicable to all QGs of
IMPI
MEXICAN INSTITUTE ΓΙΕ INDUSTRIAL PROPERTY
<img file="MX358124B_D0036.tif" />
Chrominance that the 802 graph encompasses. As mentioned above by referring to Figure 1 and equations (1) and (2), some modalities also specify chrominance QP shifts at the partition level (not illustrated), and that the adaptation of QP values of Chroma is based on multi-level chrominance QP shift parameters of the video encoding hierarchy. Unlike the chrominance QG 121-123 in Figure 1 that specify its own set of chrominance QP shift values, each of the chrominance QG 821-823 selects a set of chrominance QP shift values of Table 890.
Table 890 is a layout that includes multiple entries. Each entry contains a set of chrominclaw QP offsets that can be selected by any of the quantization groups on the graph. In this example, table 890 includes entries 891 -895, which correspond to the chrominance QP offset sets A, B, C, D, and E, respectively. In some modes, each of the inputs can be selected by any number of quantification groups or by none at all. In the example in Figure 8, both QG 822 and 823 select set A of chrominance QP offsets (891), while QG 821 selects set C of chrominance QP offsets (893). In some embodiments, the encoder decides which sets of QP offsets from
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0037.tif" />
Chroma will be included and how many sets of Chroma QP offsets will be included in the table to minimize the bit rate.
Once the set of chrominance QP shift values has been identified from Table 890, the calculation of chrominance quantization parameters is similar to that in Figure 1. In the example in Figure 8, the luminance QP values 851 (of four luminance QGs that overlap with the chrominance QG 821) are applicable to the chrominance QG 821, the luminance QP value 852 (of the same Luminance QG) is applicable to Chroma QG 822, and Luminance QP values 853 (of two luminance QGs that overlap with Chroma Q23 823) are applicable to QG 823. The addition of luminance QP values 851, the chrominance QP offset 831 (for graph 802 and / or partition 811) and the chrominance QP offset C (retrieved from input table 893 for QG 821 ) produces QP values of chrominance 861 for the QG 821. Adding the luminance QP values 852, the chrominance QP offset 831, and the chrominance QP offset A (retrieved from input table 891) produces chrominance QP values 862 for the QG 822. of luminance 853, chroma QP shift 831 and chroma QP shift A (retrieved from input table 891) yields chroma QP values 863 for
IMPI
MEXICAN INSTITUTE OF LA MONEDA »INDUSTRIAL
<img file="MX358124B_D0038.tif" />
the QG 823. '--—
In some embodiments, the Chromnance QP shift table is encoded in the header area of an encoded video graph. Figure 9 illustrates an exemplary graph header or PPS 900 encoding Table 890. Graph header 900 is described by a pseudocode that is modified from the H.265 standard to incorporate additional chrominance QP shifts.
The pseudocode for the chart heading 900 is illustrated with darkened lines 911-917, which are added in order to define quantization groups for chrominclap QP offsets, as well as encode table 890. Specifically, the "add¡tional_chroma_qp_offset" parameter, on line 911, informs the decoder that there will be additional chromaticity QP offset specifications for chart 802, and the "chroma_qp_offset_max_depth" parameter, defines the level (and , hence the size of the hierarchical depth) for the QGs in graph 802. Therefore, lines 914-916 of the pseudocode define a set of chrominance QP shift values for each entry (891895) in Table 890. As illustrated, each entry in the table is assigned a value Chroma QP offset for a first component (“chroma_cmp0_qp_offset [k]”) and a Chroma QP offset value for a second component
IMPI
MEXICAN INSTITUTE
OF THE INOUSTRJAL MONEDAD
<img file="MX358124B_D0039.tif" />
("Chroma_cmp1_qp_offset [k]").
Since two chrominance components for each entry in the chrominance QP shift table are similarly correlated, some modes use the chrominance QP shift value of a chrominance component to predict the chrominance QP shift value of the other chrominance component. In other words, for the k-th entry in the table, if chroma_cmpO_qp_offset [k] represents the offset value of the first chrominance component and chroma_cmp1_qp_offset [k] represents the offset value of the second chrominance component, then the QP offset Chroma for the second chrominance component of the k-th input is calculated as:
chroma_cmp1_qp_offset [k] = chroma_cmpO_qp_offset [k] + delta_chroma_cmp1_qp_offset [k] (7)
That is, instead of sending the entire offset parameter, that is, chroma_cmp1_qp_offset [k], some modalities send a delta parameter, that is, delta_chroma_cmpl_qp_offset [k], to calculate the offset for the second chrominance QP offset chroma_cmp1_qp_offset [ k]. Figure 10 illustrates a graph 1000 heading that encodes each entry (891-895) of the chrominance QP shift table 890 (at lines 1015 and 1016) as chroma_cmpO_qp_offset [k] and delta_chroma_cmp1_qp_offset [k] of
IMPI
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL
<img file="MX358124B_D0040.tif" />
according to equation (7).
There are other possible methods of predictively encoding the chrominance QP shift table to reduce bit usage. For example, in some modes, the chrominance QP shift table entries are predictively coded relative to each other, such that all but one entry are predicted from other entries. An example is encoding each successive entry in the table after the first entry as a predicted delta value from a previous entry in the table. In some modalities, the first entry is an explicit QP. In some embodiments, the first entry is itself an offset, and is therefore itself also a delta. FIG. 11 illustrates an exemplary tree coding unit 1100 that may be in a quantization group that uses chrominance QP shift values from a table in the chart heading. The tree 1100 encoding unit is described by a pseudocode modified from the H.265 pseudocode to incorporate additional chrominance QP shifts. Tree encoding unit 1100 is in quantization group 821 of partition 811. Partition 811 is in chart 802, the header or PPS of which includes table 890. The pseudocode for tree encoding unit 1100 is identical to pseudocode for the tree coding unit 400 of Figure 4, since in some modes there is no
IMPI Mexican institute Say THE PROPERTY, M »u $ T« ia<sub>L</sub>
<img file="MX358124B_D0041.tif" />
There is a difference between a tree encoding unit in a quantization group that explicitly integrates chrominance QP shift values and a tree encoding unit in a quantization group that uses a set of chrominance QP shift values. of a table.
The pseudocode for the tree coding unit 1100 is illustrated with darkened lines 1111-1113, which are added in order to determine if the tree coding unit is part of a QG. Specifically, at line 1111, the parameter “additional_chroma_qp_offset” is used to indicate whether additional chrominance information is allowed. The parameter "chroma_qp_offset_max_depth" is compared against a variable "log2CbSize" to determine if the tree encoding unit 1100 is a chrominance quantization group. For some modalities, this also sets the starting point for the chrominance quantization group.
Figure 12 illustrates a quantization group that uses an index to select an entry in a table of chrominance QP shift values. As discussed above, the quantization group 821 includes the tree encoding unit 1100, which, in turn, includes a transform unit 1200. The transform unit 1200 is described in Figure 12 by a pseudo code modified to
IMPI
MEXICANG INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0042.tif" />
Starting with the H.265 pseudocode to incorporate additional chrominance QP shifts.
The pseudocode for transform unit 1200 is illustrated with darkened lines 1211-1214, which are added in order to specify additional chrominance QP shifts. Specifically, at line 1211, the parameter “additionalchromaqpoffset” is used to indicate whether additional chrominance information is allowed. The variable "IsCrCuQpOffsetCoded" is used to indicate whether to specify (or receive) chrominance QP shift information in transform unit 1200. IF the chrominance QP shift values for the QG 821 have already been coded, no Chroma QP offset values must be specified again. IF the QG 821 has not yet been encoded, a set of chrominance QP shift values (that is, if the variable "IsCrCuQpOffsetCoded" is 0), the transform unit 1200 on lines 1212 specifies an index "cu_chroma_qp_offset_tablejndex" to select an entry from table 890. For this example, the index value is set to select the chrominance QP shift values contained in entry C (893) of table 890.
For some modalities, Figure 13 conceptually illustrates a process 1300 for determining chrominance QP values of a
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL MONEDAD
<img file="MX358124B_D0043.tif" />
video bitstream that uses a table of possible chrominance QP offset values to implement additional chrominance QP offset specifications. In some embodiments, process 1300 is performed by a video decoder, which uses this process to de-quantize chrominance components by decoding the video bit stream for display or other purposes. In some modes, process 1300 prints out when the decoder receives a sequence of video bits and begins decoding a particular video graphic in some modes.
At 1305, process 1300 processes parameters in the graph header or PPS of the particular video graph. In some modes, the chart header includes markers to determine if additional chrominance QP offsets are allowed for the video chart. The graph heading also includes parameters to Identify the stratum of the video hierarchy in which the quantization groups will be defined for the additional chrominance QP offsets.
The process then identifies (at 1310) the chrominance QP shift values at higher levels. In some embodiments, these chrominance QP offset values at higher levels are graph level offsets, encoded in the
MEXICAN INSTITUTE
OF THE PROPERTY
INDUSTRIAL
Μ chart heading (or as part of PPS). In some embodiments, these chrominance QP offset values at higher levels are partition level offsets, encoded in the partition header. Some Modalities Identify Multiple Chroma Link QP Offset Values,
Including at graph level and at partition level.
Subsequently, the process determines (at 1320) whether additional chrominance QP offsets are allowed or available for this particular video graph or partition. If additional chrominance QP offsets are not available, the process proceeds to step 1350. If additional chrominance QP offsets are available, the process proceeds to 1325 to receive entries for the sequence chrominance QP offset table. bit.
The process then determines (at 1300) whether it has reached the Start of a quantization group. In some modalities, the process examines whether it is at the video hierarchy level that has been identified as a quantization group. IF the process is not at the Start of a quantization group (for example, it is already in a QG), the process proceeds to
1350. If the process is at the start of a quantization group, the process proceeds to 1335.
In 1335, the process determines if there are chrominance coefficients
IMPI
MEXICAN INSTITUTE OE INDUSTRIAL PROPERTY
<img file="MX358124B_D0044.tif" />
residuals to encode. In some embodiments, if there are no residual chrominance coefficients, then the offsets (or their associated indices) are never flagged. Signaling starts when the first non-zero transform coefficient is found for a chrominance block and the chrominance QP shifts are activated from that point onward and until the end of the chrominance quantization group. The chrominance QP offsets are 0 until the first nonzero transform coefficient of the chrominance block is found (therefore, a region without chrominance coefficients would have no signaling of chrominance QP offsets). If there is any residual chrominance coefficient to encode, the process proceeds to 1340. Otherwise, the process proceeds to 1350.
In 1340, the process selects one of the entries in the chrominance QP shift table that contains the set of chrominance QP shift values for the quantization group. In some embodiments, this operation involves receiving an index from the bit stream and using the received index to select an entry from the chrominance QP shift table. In some modalities that predictively encode the chrominance QP shift values in the table, this process includes restoring the chrominance QP shift values (of both chrominance components) from the prediction of delta values.
IMPI
MEXICAMC INSTITUTE
OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0045.tif" />
Subsequently, the process identifies (at 1350) the luminance QP values for the quantization group. As mentioned, in some embodiments, the luminance QP values are defined for a quantization group that is the same for the chrominance CP values. In some embodiments, the quantification groups for luminance QP and chrominance QP are defined independently.
The process then computes (at 1360) the chrominance QP values. Some modalities calculate the chrominance QP value from the identified luminance QP values and from each identified chrominance QP shift. In some modalities, this is accomplished by adding the luminance QP value with all identified chrominance QP shifts (at the partition / graph level and at the QG level), as illustrated earlier in Equations (1) - (6).
Subsequently, the process determines (at 1370) whether it has reached the end of the graph (if the chrominance QP offset at the top level is for the entire graph) or whether it has reached the end of the partition (if the QP offset from Chroma at the top level is for the partition.) If so, process 1300 ends. If not, process 1300 returns to 1330 to process the next quantization group.
Figures 5, 6, and 12 have introduced several different methods that a quantization group can use to specify a set of
IMPI
INSTITUTO MSXICAN · DE LA nOME »A · ΐΝ · υΓπυ» ι
<img file="MX358124B_D0046.tif" />
Chrominance QP shift values. In some embodiments, quantization groups on different graphs or partitions can use different methods to specify chrominance QP shift values. An encoder in some of these modes selects the best method it deems necessary for the current graph or partition to gain greater flexibility or reduce encoding overprocessing.
For some embodiments, Figure 14 illustrates the pseudocode for a 1400 chart header that includes a selection for a method of specifying additional chrominance QP offset values. Chart heading 1400 is similar to chart heading 900 in that it includes the markers "add¡t¡onal_chroma_qp_offset" (at line 1411) and "chroma_qp_offset_max_depth" (at line 1413). Graph heading 1400 also includes entries for the Chroma QP Offset Table 890 (at lines 1415-1417). However, unlike chart header 900, chart header 1400 also specifies a method by setting "chroma_qp_offset_method" (at line 1414).
Figure 15 illustrates the pseudocode implementation for a transform unit 1500 that is capable of specifying chrominance QP shift values for a quantization group that
IMPI
MEXICAN INSTITUTE
SAY INDUSTRIAL PROPERTY
<img file="MX358124B_D0047.tif" />
use any of the three different methods. When the method marker “chroma_qp_offset_method” is set to 0 (at line 1512), transform unit 1500 uses the index “cu_chroma_qp_offset_table_¡ndex” to select an entry from table 890 to calculate the chrominance QP offset values of the QG 821 as in Figure 12. When the method marker is set to 1 (at line 1514), transform unit 1500 encodes two independent chrominance QP shift values for two chrominance components (using both magnitude and sign markers), as well as in Figure 5. When the method marker is set to 2 (at line 1522), transform unit 1500 encodes only one chrominance QP offset value for both chrominance components, as in Figure 6.
II. ALLOCATION OF ADDITIONAL DISPLACEMENTS OF
CHROMINANCE
In different modalities, the encoders use different methods to identify and assign the values of additional chrominance QP shifts. In some embodiments, the encoder analyzes images in a video stream to identify the most suitable QP values for quantization (for example, to optimally balance quality and bit rate). Some modalities analyze various regions of the image to identify quantification groups that
IMPI
MEXICAN INSTITUTE OF LA MOHEDA »INDUSTUIAI.
<img file="MX358124B_D0048.tif" />
can be optimally coded using a common set of chrominance QP values.
Some modalities perform a pre-analysis stage in which the encoder performs a region-level analysis (for example, for each NxM block with, for example, N = M = 4, or an analysis based on object segmentation) to extract, for each color component in that region, the characteristics of intensity (for example, average value, or clarity for luminance and saturation for color), hue, variation / activity / texture, noise characteristics and motion characteristics (eg motion vector and / or prediction distortion value).
Since video content of different types can be combined into the same video stream or even into the same video image, some modes identify different regions in an image that are of different types of video content. In some of these modalities, different regions with different types of video content are assigned different chrominance QP shift values or different quantization groups. Some modes distinguish graphics content from actual video content. Some modalities distinguish 4: 4: 4 video content that is originally encoded in 4: 4: 4 format from 4: 4: 4 video content taken by ascending display of 4: 2: 0 format. Some modalities distinguish content
IMPI
MEXICAN INSTITUTE D £ LA FROHEÜAm INDUSTRIAL
<img file="MX358124B_D0049.tif" />
video that originally could have been of different pixel depths. These video content features, in addition to their relationships across all color components, as well as speed control information, are used in some modes to determine quantization levels or quantization relationships between all color components.
Figure 16 illustrates an exemplary segmentation and categorization of an image 1600. The image is divided into tree encoding units and each tree encoding unit is subdivided into encoding units. The various encoding units of image 1600 are divided into four different groups of chrominance QP shifts. In some embodiments, the four groups of chrominance QP shifts are signaled in the PPS and the encoder can select the appropriate group to be signaled at the quantization group level. In some embodiments, the chrominance QP shifts are explicitly flagged in each quantization group at the time of encoding.
The choice of a chrominance QP offset value is determined by the relative visual complexities or textures between the luminance and chrominance components. The image quantification groups 1600 are assigned different categories 1611-1614 according to their texture levels. For example, areas that appear as
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0050.tif" />
uniform across all color components belong to a first category 1611, uniform luminance areas with high-texture color components belong to a second category 1612, high-luminance areas with uniform color information belong to a third category 1613, while the high-textured areas throughout all three components belong to a fourth category 1614. In some modes, the encoder can create additional subcategories for each category based on motion and intensity. In some modalities, additional categorizations are made by taking into account the differences between the two chrominance components themselves.
Therefore, these categorizations could be used to specify different sets of chrominance QP shifts for the different categories. For example, in some modalities, the first category 1611 (all uniform) is assigned zero or negative QP offsets. In this case, a negative chrominance QP shift enables improved chrominance quality assignment in those regions, since the improved chrominance quality may be more apparent due to the characteristics of all color components. For the second category 1612 (uniform luminance, highly textured color information), a larger, positive QP offset can be used. In this case, the larger chrominance QP allows for better component control so you don't
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0051.tif" />
overload the luminance components, while some texture masking of the chrominance information could still be exploited to ensure good subjective quality. For the third category 1613 (highly textured luminance vs. uniform chrominance), some modes use a larger negative chrominance QP offset to help ensure slightly better color quality. Some other modes use a larger positive chrominance QP offset to better exploit the luminance texture masking. For the fourth category 1614 (high texture across all three components), some modes use a zero or positive chrominance QP offset to better exploit luminance texture masking and to avoid consuming bits for a negligible improvement in subjective chrominance quality. It is worth noting that the exact chrominance QP shift values assigned to a quantization group depend on the corresponding luminance QP values for that quantization group. Different decisions could be made based on objective or subjective decision mechanisms about quality and bit rate in other encoders.
In some embodiments, if a limited number of chrominance QP offsets is allowed or desired (in view of the likely increase in bit overprocessing that your specification would require,
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL MONEDAD
<img file="MX358124B_D0052.tif" />
in addition to determining the regions and their desired QP shift sets), an additional decision is made based on the occurrence of each shift set, as well as its perceived impact, objective or subjective, on quality.
These criteria are then used by some of these modalities to "cut off" the possible number of sets of chrominance QP offsets signaled in the bit stream, since only the most critical sets of offsets are now signaled. Regions classified into categories that are "clipped" can still be assigned a set of offsets that are close enough to the desired values. This is an agreement that can be made in view of some objective or subjective weighting processes, according to which the specified chrominance QP shifts are “below optimal” for all types of regions grouped into individually; however, in view of the bit rate limitations, they possibly provide the best overall / ensemble performance.
For real-time applications where pre-analysis is not possible, some modalities use a “pre-set decision” of QP offsets. In some modalities, the decision is based on analysis of the data from the previous charts that have already been coded. In some modalities in which the
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0053.tif" />
Chrominance QP shifts are signaled explicitly for each quantization group, the decision is made on the fly or dynamically for each actively coded block, based on its selected luminance quantization parameter, its various spatio-temporal characteristics and color, as well as in past block encoding information (i.e. what was the bit rate, the binary ratios between luminance and chrominance, as well as the distortion Introduced from other similar or contiguous blocks previously encoded. In some embodiments, the luminance quantization parameters are derived in conjunction with the chrominance QP shifts in view of the same type of bit rate and relationships and conditions of content characteristics.
Some modes also improve the selection of the chrominance QP offsets of a current graph by examining its contiguous graphs. Specifically, some modalities examine how these contiguous graphs have been or will be encoded, and how these contiguous graphs are temporarily related to the current graph and its rulers. For example, if the current chart is to be encoded as a “key” chart (for example, as an intra-update chart or a “periodic update” chart), some modalities would code additional chrominance QP shifts to improve quality of chrominance of the current graph. Instead, if the current graph is a disposable graph or a
IMPI
INSTITUTO MEXICANí)
DELA INDUSTRIAL PROPERTY
<img file="MX358124B_D0054.tif" />
Less importantly in the coding hierarchy, some modalities would avoid assigning additional chrominance QP offsets in a way that results in higher bit rate (or not using additional chrominance QP offsets at all). For other chart types, some modalities use a more moderate chrominance QP shift shift to get a better deal between bit rate and quality.
In some embodiments, different chrominance QP shift parameters are specified for different scalability layers, such as for resolution, quality, pixel depth, etc. Some modalities apply additional chrominance QP offsets to 3D / multi-view applications where different chrominance QP offsets are assigned to different views. For example, stereophonic masking could be considered to assign and predict chrominance QP shifts to reduce overprocessing and maximize the subjective quality of such a system.
For some modalities, Figure 17 conceptually illustrates a process 1700 for analyzing different regions of an image and, therefore, assigning chrominance QP shifts. The process is carried out using a video encoder in some modalities.
The process starts when you receive (in 1710) a video graphic. This video graphic can be an image without modifications in a
IMPI
MEXICAN INSTITUTE OF THE «INDUSTRIAL UMEDAD
<img file="MX358124B_D0055.tif" />
streaming of uncompressed video or decoded graphics from a compressed video bit stream. Subsequently, the process Identifies (in 1720) a region on the graph that shares common characteristics that make it suitable for the coding units in the ruler to share a common set of chrominance QP shift values. For example, some modalities Identify a ruler that is originally encoded in 4: 2: 0 format as a ruler in which higher QP values (and therefore a positive chrominance QP shift) can be used to reduce the bit rate. Instead, some modalities identify a region that is natively encoded in a 4: 4: 4 format as a strand in which lower QP values (and therefore negative QP shift values) are needed to preserve quality.
Subsequently, the process analyzes (in 1730) the spatio-temporal characteristics of each screed. In some modalities, this analysis includes an analysis of the texture / texture / activity, format (4: 4: 4 or 4: 2: 0, etc.), noise, movement, pixel depth of the region or other characteristics that may affect the relationship between light and chrominance, as well as between the two chrominance components.
The process then assigns (at 1740) chrominance QP shift values based on the analysis of the ruler. In some modalities, the process first identifies the appropriate QP value of
IMPI
MLXICAN INSTITUTE.) OF INDUSTRIAL PROPERTY :.
<img file="MX358124B_D0056.tif" />
chrominance for the region based on the analysis made in 1730; then subtract the chosen luminance QP value from the identified chrominance QP value to obtain the desired overall chrominance QP shift value. In some embodiments, process 1740 also integrates the overall chrominance QP offset value into the chrominance QP offset values at various levels of the video encoding hierarchy (eg graph, partition, and quantization group). Some modalities identify chrominance QP shift values for quantization groups by subtracting chrominance QP shift values for syntax elements higher than the overall chrominance QP shift value. In some embodiments, this operation is performed using a speed controller, as described by referring to Figure 18.
Subsequently, the process fills (in 1750) the chrominance QP shift table with the identified chrominance QP shift values for the quantization groups in the region. Process 1700 also encodes its corresponding index values in the quantization groups, as discussed in Section lb above. For some modalities that specify chrominance QP shift values explicitly, process 1700 encodes the chrominance QP shift values themselves
IMPI
MEXICAN INSTITUTE n * la rfinriBOAO
<img file="MX358124B_D0057.tif" />
quantification groups, as discussed in the previous section.
Subsequently, the process determines (in 1760) whether there are more regions on the graph that are pending analysis. If so, the process returns to 1720. Otherwise, process 1700 ends.
III. VIDEO SYSTEMS
Figure 18 illustrates a generic 1800 video encoder (eg, HEVC encoder) for some embodiments of the invention. Encoder 1800 receives a video stream from a video source
1805 and produces a compressed and encoded 1895 bit stream to be stored and / or transmitted.
The video encoder includes an 1810 transform module, an 1815 quantization module, an 1820 entropy encoder, an 1825 inverse quantization module, an 1830 reverse transform module, an 1840 unlock filter, a sample adaptive shift filter (SAO) 1845, a frame buffer 1850, a speed control module 1835, and a prediction module 1890. The prediction module 1890 includes a motion estimation module 1860, a motion compensation module 1865, an intra-prediction module 4870 and a mode decision module 1880. The video encoder 1800 also includes a video display 1855 in some modalities.
The 1815 quantization module is a module that uses quantization parameters to perform quantization on coefficients of
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0058.tif" />
transform (for example, DCT) of the 1810 transform module. In some embodiments, the 1810 transform module can be fully derived (such as in the HEVC supported transform derivation mode) so that the quantization module 1815 receives values of images or image prediction error values without transform. The 1815 quantization module applies different QP values for different regions / blocks for each color component. QP values used by the 1815 quantization module are also encoded as luminance QP values and chrominance QP offsets in the 1895 bit sequence. In some embodiments, the QP values used by the 1845 quantization module are determined and supplied by the 1835 speed control module.
The speed control module 1835 controls the bit rate of the encoded video bit stream by controlling the QP values used by the quantization module 1815 (and the reverse quantization module 1825). In some embodiments, the speed control module 1835 supplies different QP values to the quantization module 1815 for different quantization groups. To identify the QP values (for luminance and chrominance) that are most suitable for quantification (for example, an optimal balance between quality and bit rate for a given video stream), the 1835 speed control module performs, in some modalities, at least part of the
IMPI
MEXICAN INSTITUTE OF THE INDUJTEIAL MOFIEDAI
<img file="MX358124B_D0059.tif" />
analysis described in Section II above to arrive at a luminance QP value for each luminance quantization group and a set of chrominance QP shift values for each chrominance quantization group. In some modes, the 1835 speed controller also uses analysis to identify regions and assign quantization groups (luminance and chrominance).
In some embodiments, the speed controller 1835 integrates the set of chrominance QP offset values into sets of chrominance QP offset values at various levels of the video encoding hierarchy. In some of these modalities, at least some sets of chrominance QP shift values are also integrated into predicted values between the two chrominance components, as shown in Equations (1) - (7) above. In some embodiments, lower-level QP shift values are identified by subtracting higher-level QP shift values from the overall chrominance QP shift values. For example, some modalities calculate chrominance QP shifts at the quantization group level such as:
QPoffset_quant_group [¡] = QPchromap] - QPIuma
- QPoffset_pps [i] - QPoffset_sIice [i] (8)
Subsequently, these sets of displacement values of • Mexican NSTrryio
W LA PROHEOAO NÍMJSTfllAL
<img file="MX358124B_D0060.tif" />
Chroma QPs are provided to the Entropy Encoder 1820 to be encoded in the 1895 bit sequence. In some embodiments, the Speed Controller 1835 compiles a table of possible offsets at the quantization group level and supplies the compiled table to the Encoder. entropy 1820.
The Entropy Encoder Module 1820 is a module that performs entropy encoding (eg, CABAC) on quantized transform coefficients, parameters, and other information and packages them into the 1895 bit sequence. In some embodiments, the The Entropy Encoder 1820 receives the Chroma QP offset values from the Speed Controller Module 1835 and encodes them for entropy in the bit stream. In some embodiments, the 1820 Entropy Encoder encodes the chrominance QP shift values in the PPS area of a graph as a table, as described in Section lb above. In some embodiments, the entropy encoder encodes the chrominance QP shift values into individual quantization groups, as described in Section
the previous one.
The 1840 Unlock Module is a loop filtering module that improves the visual quality and prediction performance of a video codec system by attenuating any sharp edges that may form between the encoding blocks. In some modes, the unlock module
IMPI
MEXICAN INSTITUTE OF THE INDUSTRIAL ERRIEDap
<img file="MX358124B_D0061.tif" />
1840 uses the overall Chroma QP value calculated from all applicable Chroma QP offsets to perform its unlocking operations (i.e. by including the Chroma QP offsets of the quantization group and graph / partition). In some other embodiments, the unlock module 1840 considers only some specified chrominance QP offsets or considers only the chrominance QP offsets of PPS or partition headers. Some of these modes control the unlocking process based on chrominance QP shift values that are signals. For example, some modes adjust unlock parameters to compensate for chrominance QP offset values. Unlocking can also be done off-loop and as a post process. In some embodiments, the calculated overall Chroma QP value or some of the Chroma QP offsets are used by other types of looped or out-of-loop postprocessing, such as ODS (for example, SAO 1845 filter), filter Adaptive Loop (ALF) or noise addition.
Figure 19 illustrates a generic 1900 video encoder (eg, HEVC decoder) for some embodiments of the invention. The 1900 decoder receives a 1905 bit stream and decodes it for display by the 1965 display module. The 1900 decoder includes a 1910 entropy decoder, a quantization module
IMPI
MEXICAN INSTITUTE
OF THE PROPERTY
INDUSTRIAL
<img file="MX358124B_D0062.tif" />
1920 reverse, a 1930 reverse transform module, a 1950 inward prediction module, a 1980 inter-prediction module, a 1960 unlock module, a 1970 SAO module, and a frame buffer
1975.
The 1910 Entropy Decoder Module is a module that performs entropy decoding on the input bitstream and extracts transform coefficients, as well as parameters, for other modules on the 1900 decoder. Specifically, the contained chrominance quantization information in the input bit stream
1905 it is extracted by the entropy decoder 1910 and passed to the inverse quantization module 1920. In some embodiments, the chrominance quantization information includes the additional chrominance QP offset values that are extracted from a table in a PPS, heading partition or quantification groups themselves.
The unlock module 1960 of the decoder 1900 performs a similar function to the unlock module 1840 of the decoder 1800. In particular, the unlock module 1960 also uses the final Chroma QP value calculated from all applicable chroma QP offsets for perform your unlock operations (that is, by including the quantization group and graph / partition chrominance QP offsets). In some other modalities, the
IMPI
MEXICAN INSTITUTE OE LA MONEDAD INDUSTRIAL
<img file="MX358124B_D0063.tif" />
Unlock Module 1960 considers only some specified chrominance QP offsets or considers only the chrominance QP offsets of PPS or partition headings. In some embodiments, the calculated overall Chroma QP value or some of the Chroma QP offsets are used by other types of looped or out-of-loop postprocessing, such as SAO (i.e. the SAO 1970 filter), ALF or adding noise.
IV. ELECTRONIC SYSTEM
Many of the attributes and applications described above are implemented as software processes that are specified as a set of Instructions recorded on a computer-readable storage medium (also referred to as a computer-readable medium). When these instructions are executed by one or more computational or processing units (for example, one or more processors, processor cores, or other processing units), they cause the processing unit (s) to perform the actions indicated in the instructions. Examples of computer-readable media include, but are not limited to, CD-ROMs, flash memory, random access memory (RAM), chips, hard drives, programmable rewritable read-only memory (EPROM), electrically rewritable programmable read-only memory (EEPROM) ), etc. Computer readable media does not include carrier waves and electronic signals are
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0064.tif" />
They pass wirelessly or through wired connections.
In this specification, the term "software" means that it includes firmware that resides in read-only memory or applications stored in magnetic storage that can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions may be implemented as subparts of a larger program, although they remain distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described in this document is within the scope of the invention. In some embodiments, software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.
Figure 20 conceptually illustrates an electronic system 2000 with which some embodiments of the invention are implemented. The electronic system 2000 may be a computer (eg, a desktop computer, a personal computer, a tablet computer, etc.), a telephone, a PDA, or any other kind of electronic device. Such an electronic system includes various types of computer-readable media and
IMPI
MEXICAN INSTITUTE; OF THE PROPERTY> INDUSTRIAL
<img file="MX358124B_D0065.tif" />
interfaces for some other types of computer readable media. The 2000 electronic system includes a 2005 bus, 2010 processing unit or units, a 2015 graphics processing unit (GPU), a 2020 system memory, a network 2025, a read-only memory 2030, a permanent storage device 2035 , 2040 data input devices, and 2045 data output devices.
Bus 2005 collectively represents all the system buses, peripherals, and integrated auxiliary circuit that communicatively connect the numerous internal devices of the 2000 electronic system. For example, bus 2005 communicatively connects the 2010 processing unit or units to the 2030 read-only memory, 2015 GPU, 2020 system memory, and permanent storage device
2035.
From these various memory units, the processing unit (s) 2010 retrieves instructions to be executed and data to be processed in order to execute the processes of the Invention. The processing unit (s) may be a single processor or a multi-core processor in different modes. Some instructions are passed to the 2015 GPU and executed by the 2015 GPU. The 2015 GPU can redirect various calculations or supplement the image processing provided by the 2010 processing unit (s).
2030 Read Only Memory (ROM) stores static data and
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL PROPERTY
<img file="MX358124B_D0066.tif" />
instructions that are necessary for the 2010 processing unit (s) and other electronic system modules. Permanent storage device 2035, on the other hand, is a read and write memory device. This device is a nonvolatile memory unit that stores instructions and data even when the 2000 electronic system is turned off. Some embodiments of the invention utilize a mass storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 2035.
Other modes use a removable storage device (such as a floppy disk, flash memory device, etc., as well as its corresponding disk drive) as the permanent storage device. Like permanent storage device 2035, system memory 2020 is a read and write memory device. However, unlike storage device 2035, system memory 2020 is volatile read and write memory, such as random access memory. System 2020 memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the processes of the invention are stored in system memory 2020, permanent storage device 2035, and / or read-only memory 2030. For example, the various memory units include
IMPI
MEXICAN INSTITUTE
OE LA RROFIEOAD INDUSTRIAL
<img file="MX358124B_D0067.tif" />
instructions for processing multimedia clips, according to some modalities. From these various memory units, the 2010 processing unit (s) retrieve instructions to be executed and data to be processed in order to execute the processes of some modalities.
Bus 2005 also connects to data input and data output devices 2040 and 2045. Data input devices 2040 allow the user to communicate Information and select commands to the electronics. The 2040 data input devices include alphanumeric keyboards and pointing devices (also called "cursor control devices"), cameras (eg network cameras), microphones or similar devices for receiving voice commands, etc. The 2045 data output devices display either Electronic generated images or output data. 2045 data output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCDs), as well as speakers or similar audio output devices. Some modes include devices, such as a touch screen, that function as data input and data output devices.
Finally, as shown in Figure 20, bus 2005 also couples electronic system 2000 to a network 2025 through a network adapter (not shown). In this way, the computer can
IMPI
INSTITUTO MEXICAN · I DE EA INDUSTRIAL PROPERTY
<img file="MX358124B_D0068.tif" />
be part of a computer network (such as a local area network (“LAN”), a wide area network (“WAN”), an intranet, or a network of networks, such as the Internet). Any or all of the components of the electronic system 2000 can be used in conjunction with the invention.
Some embodiments include electronic components, such as microprocessors, storage, and memory, which store computer program instructions on a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or storage media. machine readable). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROMs), recordable compact discs (CD-Rs), rewritable compact discs (CD-RWs), versatile digital read-only discs (for example, DVD-ROM, dual-layer DVD-ROM), a variety of recordable / rewritable DVDs (eg, DVD-RAM, DVD-RW, DVD + RW, etc.), flash memory (eg, SD cards , mini SD cards, micro SD cards, etc.), magnetic and / or solid state hard drives, writable read-only and Blu-Ray® discs, ultra-density optical discs, any other optical or magnetic media, and floppy discs. Computer readable media can store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of programs
IMPI
MEXICAN INSTITUTE OF INDUSTRIAL MONEDAD
<img file="MX358124B_D0069.tif" />
Computing or computational code include machine code, such as that produced by a compiler, and files that include higher-level code that are executed by a computer, electronic component, or microprocessor when using an interpreter.
Although the above analysis is primarily concerned with a microprocessor or multi-core processors running software, some modes are performed using one or more ICs, such as Application Specific Integrated Circuits (ASICs) or Field Programmable Gate Arrays (FPGAs). . In some modalities, such Integrated circuits execute Instructions that are stored in the circuit itself. In addition, some modes run software stored on programmable logical devices (PLDs), ROMs, or RAM devices.
As used in this specification and in any claim of this application, the terms "computer", "server", "processor" and "memory" refer to electronic devices or other technological devices. These terms do not include individuals or groups of individuals. For the purposes of the specification, the terms "display" or "displaying" mean display on an electronic device. As used in this specification and in any claim to this application, the terms "computer readable medium", "computer readable media" and "machine readable medium" are completely restricted to tangible physical objects that store information in a form What is it
IMPI
<img file="MX358124B_D0070.tif" />
readable by a computer. These terms do not include wireless signals, downloaded cable signals, or other ephemeral signals.
Although the invention has been described with reference to numerous specific details, one skilled in the art will recognize that the invention may be represented in other specific forms without departing from the spirit of the invention. Furthermore, a series of figures (including Figures 7,13 and 17) conceptually illustrate the processes. The specific operations of these processes may not be performed in the exact order shown and described. Specific operations may not be performed in a continuous series of operations, and different specific operations may be performed in different modalities. Also, the process can be implemented by using multiple threads or as part of a larger macro process. Thus, one skilled in the art will understand that the invention should not be limited to the illustrative details above, but should be defined by the appended claims.
IMPI
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL
Contents134
90 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62 Sheet 63 Sheet 64 Sheet 65 Sheet 66 Sheet 67 Sheet 68 Sheet 69 Sheet 70 Sheet 71 Sheet 72 Sheet 73 Sheet 74 Sheet 75 Sheet 76 Sheet 77 Sheet 78 Sheet 79 Sheet 80 Sheet 81 Sheet 82 Sheet 83 Sheet 84 Sheet 85 Sheet 86 Sheet 87 Sheet 88 Sheet 89 Sheet 90
197 members in 13 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 61875664 | United States of America | – | |
| 201361875664 | United States of America | P | |
| 14452485 | United States of America | – | |
| 14452494 | United States of America | – | |
| 201414452485 | United States of America | A | |
| 201414452494 | United States of America | A | |
| 2014054152 | United States of America | W |
Members197
| Document | Office | Kind | |
|---|---|---|---|
| US2015071344A1 | United States of America | A1 | |
| US2015071345A1 | United States of America | A1 | |
| WO2015035092A2 | World Intellectual Property Organization (WIPO) | A2 | |
| CN104427339A | China | A | |
| JP2015053680A | Japan | A | |
| AU2014216004A1 | Australia | A1 | |
| EP2854404A2 | European Patent Office (EPO) | A2 | |
| TW201524193A | Taiwan Province of China | A | |
| EP2854404A3 | European Patent Office (EPO) | A3 | |
| WO2015035092A3 | World Intellectual Property Organization (WIPO) | A3 | |
| AU2014216004B2 | Australia | B2 | |
| AU2016200770A1 | Australia | A1 | |
| US9294766B2 | United States of America | B2 | |
| US2016100170A1 | United States of America | A1 | |
| KR20160040709A | Republic of Korea | A | |
| IL244101A0 | Israel | A0 | |
| IL244101D0 | Israel | D0 | |
| MX2016001780A | Mexico | A | |
| TWI535270B | Taiwan Province of China | B | |
| TW201628407A | Taiwan Province of China | A | |
| JP5965442B2 | Japan | B2 | |
| US9510002B2 | United States of America | B2 | |
| JP2017017712A | Japan | A | |
| US2017078667A1 | United States of America | A1 | |
| TWI580253B | Taiwan Province of China | B | |
| TW201720154A | Taiwan Province of China | A | |
| RU2016113364A | Russian Federation | A | |
| CN104427339B | China | B | |
| KR101810205B1 | Republic of Korea | B1 | |
| KR20170140445A | Republic of Korea | A | |
| AU2016200770B2 | Australia | B2 | |
| CN107846591A | China | A | |
| CN107846600A | China | A | |
| CN107846601A | China | A | |
| CN107846602A | China | A | |
| CN107846603A | China | A | |
| CN107888930A | China | A | |
| CN107911703A | China | A | |
| CN107911704A | China | A | |
| CN107948651A | China | A | |
| RU2653475C2 | Russian Federation | C2 | |
| JP6322670B2 | Japan | B2 | |
| AU2018203223A1 | Australia | A1 | |
| CN108093265A | China | A | |
| MX358124BThis record | Mexico | B | |
| JP2018142968A | Japan | A | |
| KR101918255B1 | Republic of Korea | B1 | |
| KR20180123193A | Republic of Korea | A | |
| TWI643492B | Taiwan Province of China | B | |
| TW201844000A | Taiwan Province of China | A | |
| RU2018115728A | Russian Federation | A | |
| RU2018115728A3 | Russian Federation | A3 | |
| US10250883B2 | United States of America | B2 | |
| US10298929B2 | United States of America | B2 | |
| RU2693310C2 | Russian Federation | C2 | |
| US2019208204A1 | United States of America | A1 | |
| US2019208205A1 | United States of America | A1 | |
| HK1253938A | Hong Kong, China | A | |
| HK1253938A1 | Hong Kong, China | A1 | |
| KR102006885B1 | Republic of Korea | B1 | |
| KR20190092609A | Republic of Korea | A | |
| KR20190092610A | Republic of Korea | A | |
| KR20190093681A | Republic of Korea | A | |
| JP6559829B2 | Japan | B2 | |
| JP2019208247A | Japan | A | |
| RU2709797C1 | Russian Federation | C1 | |
| AU2018203223B2 | Australia | B2 | |
| AU2020202363A1 | Australia | A1 | |
| IL273712D0 | Israel | D0 | |
| TWI695618B | Taiwan Province of China | B | |
| KR102123094B1 | Republic of Korea | B1 | |
| KR102123197B1 | Republic of Korea | B1 | |
| KR102123198B1 | Republic of Korea | B1 | |
| KR20200070439A | Republic of Korea | A | |
| IL244101A | Israel | A | |
| IL244101B | Israel | B | |
| IL273712A | Israel | A | |
| IL273712B | Israel | B | |
| RU2728760C1 | Russian Federation | C1 | |
| IL275656D0 | Israel | D0 | |
| TW202037164A | Taiwan Province of China | A | |
| CN107846600B | China | B | |
| CN107846602B | China | B | |
| CN107846603B | China | B | |
| CN108093265B | China | B | |
| CN107888930B | China | B | |
| CN107911703B | China | B | |
| US10904530B2 | United States of America | B2 | |
| CN107846591B | China | B | |
| IL275656A | Israel | A | |
| IL275656B | Israel | B | |
| KR102214473B1 | Republic of Korea | B1 | |
| TWI718949B | Taiwan Province of China | B | |
| KR20210029230A | Republic of Korea | A | |
| JP6852947B2 | Japan | B2 | |
| AU2020202363B2 | Australia | B2 | |
| US10986341B2 | United States of America | B2 | |
| CN107911704B | China | B | |
| CN107948651B | China | B | |
| CN107846601B | China | B |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication
- 358124
- Application
- 1780
Titles2
- Spanish
- CUANTIFICACION DE CROMINANCIA EN CODIFICACION DE VIDEO.
- English
- CHROMA QUANTIZATION IN VIDEO CODING.
Classification
- CPC, 21
- H04N19/124
- H04N19/70
- H04N19/126
- H04N19/157
- H04N19/186
- H04N19/30
- H04N19/86
- H04N19/146
- H04N19/96
- H04N19/174
- H04N19/176
- H04N19/463
- H04N19/61
- H04N19/13
- H04N19/136
- H04N19/15
- H04N19/159
- H04N19/172
- H04N19/51
- H04N19/134
- H04N19/865
- IPC, 10
- H04N19 117
- H04N19 30
- H04N19 124
- H04N19 126
- H04N19 136
- H04N19 157
- H04N19 186
- H04N19 70
- H04N19 86
- H04N19 96