WO2013155665A1 - Improvement of implicit tu split mode in hevc - Google Patents
Improvement of implicit tu split mode in hevc Download PDFInfo
- Publication number
- WO2013155665A1 WO2013155665A1 PCT/CN2012/074126 CN2012074126W WO2013155665A1 WO 2013155665 A1 WO2013155665 A1 WO 2013155665A1 CN 2012074126 W CN2012074126 W CN 2012074126W WO 2013155665 A1 WO2013155665 A1 WO 2013155665A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- trafodepth
- implicit
- cbf
- hevc
- log2trafo
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the invention relates generally to video coding.
- the present invention relates to methods and apparatuses for transform unit (TU) split method in high efficiency video coding (HEVC).
- TU transform unit
- HEVC high efficiency video coding
- HEVC is an emerging video coding standard being developed by ITU-T and MPEG.
- current HEVC text specification draft 6
- the syntax element max transform hierarchy depth inter is equal to 0
- the implicit TU split mode is used.
- the Coding Unit (CU) with non-square inter prediction unit (PU) partition is forced to split once without the signaling of TU split flag.
- the principle of this implicit TU split mode is to force TU not to cross PU's boundary.
- asymmetric PU partition (AMP) may be used and the largest TU size may be not equal to CU size, so there are still cases that violate the principle, i.e., TU crosses PU's boundary.
- Fig. 1 shows an example, the CU size is 64x64, largest one-dimension TU size is 32, and 2NxnU AMP is used. It can be seen from the right figure that the above two TUs (TUo and TUi) still cross PU's boundary.
- the implicit TU split mode is improved to address the issue mentioned above.
- Two methods are proposed. The first method proposes to further split TU in the problem cases to ensure TU not to cross PU's boundary. The second one proposes to directly remove the problem cases.
- Fig. 1 shows the implicit TU split mode in current HEVC.
- Fig. 2 shows an embodiment of the proposed implicit TU split mode.
- the first method proposes to further split TU in the problem cases to ensure TU not to cross PU's boundary.
- Fig. 2 shows the solution for the case shown in Fig. 1.
- related part of transform tree syntax in the HEVC text specification has been modified as shown in Table 1. The modified parts are highlighted.
- log2TrafoSize ( log2Trafo Width + log2TrafoHeight ) » 1
- xBase xO - ( xO & ( 1 « log2Trafo Width ) )
- yBase yO - ( yO & ( 1 « log2TrafoHeight ) )
- split_transform_flag[ xO ][ yO ][ trafoDepth ] ae(v) if( log2TrafoSize ⁇ Log2MaxTrafoSize ) ⁇
- y2 yO + ( ( 1 « log2TrafoHeight ) » 1 )
- log2CbSize log2Trafo Width - 1, log2TrafoHeight - 1,
- log2CbSize log2Trafo Width - 1, log2TrafoHeight - 1,
- log2CbSize log2Trafo Width - 1, log2TrafoHeight - 1,
- log2CbSize log2Trafo Width - 1, log2TrafoHeight - 1,
- the second method proposes to directly remove the problem cases, i.e., disable the AMP for CU sizes larger than the largest TU size.
- the related modification of coding unit semantics in HEVC text specification are shown below (the modified parts are highlighted): [0014] The value of part mode is restricted as follows.
- PredMode is equal to MODE INTRA, part mode shall be equal to 0 or 1.
- part mode shall be in the range of 0 to 2, inclusive and in the range of 4 to 7, inclusive.
- log2CbSize is greater than Log2MinCbSize, part mode shall be in the range of 0 to 2, inclusive.
- Embodiments of the TU split method, according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
- an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein.
- An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
- DSP Digital Signal Processor
- the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
- the software code or firmware codes may be developed in different programming languages and different format or style.
- the software code may also be compiled for different target platforms.
- different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
To improve the implicit TU split mode in high efficiency video coding (HEVC) so that the intended principle that TU cannot cross PU's boundary can be fulfilled all the time, the related syntax and semantics is revised. This improvement can be seen as a bug fix which makes the implicit TU split mode more reasonable.
Description
IMPROVEMENT OF IMPLICIT TU SPLIT MODE IN HEVC
TECHNICAL FIELD [0001] The invention relates generally to video coding. In particular, the present invention relates to methods and apparatuses for transform unit (TU) split method in high efficiency video coding (HEVC).
BACKGROUND [0002] HEVC is an emerging video coding standard being developed by ITU-T and MPEG. In current HEVC (text specification draft 6), when the syntax element max transform hierarchy depth inter is equal to 0, the implicit TU split mode is used.
[0003] When the implicit TU split mode is used, the Coding Unit (CU) with non-square inter prediction unit (PU) partition is forced to split once without the signaling of TU split flag. The principle of this implicit TU split mode is to force TU not to cross PU's boundary.
[0004] However, since the asymmetric PU partition (AMP) may be used and the largest TU size may be not equal to CU size, so there are still cases that violate the principle, i.e., TU crosses PU's boundary. Fig. 1 shows an example, the CU size is 64x64, largest one-dimension TU size is 32, and 2NxnU AMP is used. It can be seen from the right figure that the above two TUs (TUo and TUi) still cross PU's boundary.
SUMMARY
[0005] In this invention, the implicit TU split mode is improved to address the issue mentioned above. Two methods are proposed. The first method proposes to further split TU in the problem cases to ensure TU not to cross PU's boundary. The second one proposes to directly remove the problem cases.
BRIEF DESCRIPTION OF DRAWINGS
[0006] The invention relates generally to video coding. In particular, the presented invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
[0007] Fig. 1 shows the implicit TU split mode in current HEVC.
[0008] Fig. 2 shows an embodiment of the proposed implicit TU split mode.
DETAILED DESCRIPTION [0009] The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
[0010] As previously mentioned, in current HEVC, there are some cases in implicit TU split mode that TU crosses PU's boundary. To address this issue, two methods are proposed as follows:
[0011] The first method proposes to further split TU in the problem cases to ensure TU not to cross PU's boundary. For example, Fig. 2 shows the solution for the case shown in Fig. 1. Generally, related part of transform tree syntax in the HEVC text specification has been modified as shown in Table 1. The modified parts are highlighted.
[0012] Table 1. Transform tree syntax modification
transform_tree( xO, yO, xC, yC, log2CbSize, log2Trafo Width, log2TrafoHeight, Descrip trafoDepth, blkldx ) { tor if( trafoDepth = = 0 && IntraSplitFlag = = 0 && PredMode != MODE INTPvA &&
!(PartMode = = PART 2Nx2N && merge flag|x0"||y01) )
no_residual_data_flag ae(v) if( !no residual data flag ) {
log2TrafoSize = ( log2Trafo Width + log2TrafoHeight ) » 1
intraSplitFlag = ( IntraSplitFlag && trafoDepth = = 0 ? 1 : 0 )
interSplitFlag = ( max transform hierarchy depth inter = =0 &&
PredMode = = MODE INTER && PartMode != PART_2Nx2N &&
(trafoDepth = = 0 || (trafoDepth= =1 && log2CbSize == log2MaxTrafoSize+l && (blkldx<=l && PartMode= =PART 2NxnU || blkldx>=2 &&
PartMode= =PART 2NxnD || blkldx%2==0 && PartMode==PART nLx2N || blkldx%2==l
&& PartMode==PART_nRx2N)))
maxDepth = ( PredMode = = MODE INTRA ?
max transform hierarchy depth intra + IntraSplitFlag :
max transform hierarchy depth inter + InterSplitFlag +
(InterSplitFlag && trafoDepth==l))
xBase = xO - ( xO & ( 1 « log2Trafo Width ) )
yBase = yO - ( yO & ( 1 « log2TrafoHeight ) )
if( log2TrafoSize <= Log2MaxTrafoSize &&
log2TrafoSize > Log2MinTrafoSize &&
trafoDepth < maxDepth && !intraSplitFlag && !interSplitFlag )
split_transform_flag[ xO ][ yO ][ trafoDepth ] ae(v) if( log2TrafoSize <= Log2MaxTrafoSize ) {
firstChromaCbf = ( log2TrafoSize = = Log2MaxTrafoSize
trafoDepth = = 0 ) ? 1 : 0
if( firstChromaCbf | | log2TrafoSize > Log2MinTrafoSize ) {
if( firstChromaCbf cbf_cb[ xBase ][ yBase ][ trafoDepth - 1 ] ) {
readCbf = TRUE
if( blkldx = = 3 && log2TrafoSize < Log2MaxTrafoSize )
readCbf = cbf_cb[ xBase ][ yBase ][ trafoDepth ]
cbf_cb[ xBase + ( 1 « log2Trafo Width ) ][ yBase ][ trafoDepth ]
I I
1 1
cbf cb[ xBase 1[ yBase + ( 1 « log2TrafoHeight ) "|[ trafoDepth 1 if( !readCbf )
cbf_cb[ xO ][ yO ][ trafoDepth ] = 1
else
cbf_cb[ xO ][ yO ][ trafoDepth ] ae(v)
}
if( firstChromaCbf cbf_cr[ xBase ] [ yBase ] [ trafoDepth - 1 ] ) {
readCbf = TRUE
if( blkldx = = 3 && log2TrafoSize < Log2MaxTrafoSize )
readCbf = cbf_cr[ xBase ] [ yBase ] [ trafoDepth ]
cbf_cr[ xBase + ( 1 « log2Trafo Width ) ][ yBase ][ trafoDepth ]
I I
1 1
cbf cr[ xBase ] [ yBase + ( 1 « log2TrafoHeight ) ] [ trafoDepth ] if( !readCbf )
cbf_cr[ xO ][ yO ][ trafoDepth ] = 1
else
cbf_cr[ xO ][ yO ][ trafoDepth ] ae(v)
}
}
}
if( split transform flagf xO ][ yO ][ trafoDepth ] ) {
if( InterTUSplitDirection = = 2 ) {
xl = xO + ( ( 1 « log2Trafo Width ) » 1 )
yl = yO
x2 = x0
y2 = yO + ( ( 1 « log2TrafoHeight ) » 1 )
x3 = xl
y3 = y2
} else {
xl = xO + ( ( 1 « log2Trafo Width ) » 2 ) * InterTUSplitDirection
yl = yO + ( ( 1 « log2TrafoHeight) » 2 ) * ( 1 - InterTUSplitDirection ) x2 = xl + ( ( 1 « log2Trafo Width ) » 2 ) * InterTUSplitDirection
y2 = yl + ( ( 1 « log2TrafoHeight) » 2 ) * ( 1 - InterTUSplitDirection ) x3 = x2 + ( ( 1 « log2Trafo Width ) » 2 ) * InterTUSplitDirection
y3 = y2 + ( ( 1 « log2TrafoHeight) » 2 ) * ( 1 - InterTUSplitDirection ) log2TrafoHeight = log2TrafoHeight + 2 * InterTUSplitDirection - 1 log2Trafo Width = log2Trafo Width - 2 * InterTUSplitDirection + 1
}
transform tree( xO, yO, xO, yO,
log2CbSize, log2Trafo Width - 1, log2TrafoHeight - 1,
trafoDepth + 1, 0 )
transform tree( xl, yl, xO, yO,
log2CbSize, log2Trafo Width - 1, log2TrafoHeight - 1,
trafoDepth + 1, 1 )
transform tree( x2, y2, xO, yO,
log2CbSize, log2Trafo Width - 1, log2TrafoHeight - 1,
trafoDepth + 1, 2 )
transform tree( x3, y3, xO, yO,
log2CbSize, log2Trafo Width - 1, log2TrafoHeight - 1,
trafoDepth + 1, 3 )
} else {
if( PredMode = = MODE INTRA | | trafoDepth I = 0 | |
cbf cb[ xO ][ yO ][ trafoDepth ] | |
cbf_cr[ xO ] [ yO ] [ trafoDepth ] ) {
readCbf = TRUE
if( blkldx = = 3 && PredMode != MODE INTRA &&
( ( log2CbSize <= Log2MaxTrafoSize+l ) | | ( log2TrafoSize <
Log2MaxTrafoSize ) )
readCbf = cbf_luma[ xBase ][ yBase ][ trafoDepth ]
cbf_luma[ xBase + ( 1 « log2Trafo Width ) ][ yBase ] [ trafoDepth ]
I I
1 1
cbf_luma[ xBase ] [ yBase + ( 1 « log2TrafoHeight ) ][ trafoDepth ]
I I
1 1
cbf_cb[ xBase ] [ yBase ] [ trafoDepth - 1]
cbf_cr[ xBase ][ yBase ][ trafoDepth - 1]
max transform hierarchy depth inter = =0 && trafoDepth==2 if( !readCbf )
cbf_luma[ xO ] [ yO ] [ trafoDepth ] = 1
Else
cbf_luma[ xO ][ yO ][ trafoDepth ] ae(v)
}
transform unit (xO, yO, xC,
yC, log2Trafo Width, log2TrafoHeight, trafoDepth, blkldx)
}
}
}
[0013] The second method proposes to directly remove the problem cases, i.e., disable the AMP for CU sizes larger than the largest TU size. The related modification of coding unit semantics in HEVC text specification are shown below (the modified parts are highlighted): [0014] The value of part mode is restricted as follows.
[0015] If PredMode is equal to MODE INTRA, part mode shall be equal to 0 or 1.
[0016] Otherwise (PredMode is equal to MODE INTER), the following applies
[0017] If log2CbSize is greater than Log2MinCbSize and smaller than Log2MaxTrafoSize+l, part mode shall be in the range of 0 to 2, inclusive and in the range of 4 to 7, inclusive.
[0018] Otherwise if log2CbSize is greater than Log2MinCbSize, part mode shall be in the range of 0 to 2, inclusive.
[0019] Embodiments of the TU split method, according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in
accordance with the invention will not depart from the spirit and scope of the invention.
[0020] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method of splitting Transform Unit (TU) implicitly, comprising:
determining if a TU crosses a boundary of a Prediction Unit (PU); and
further splitting the TU if the TU crosses the boundary of the PU to ensure the TU not crossing the boundary of the PU.
2. A method of limit the asymmetric PU partition (AMP), comprising:
determining a Coding Unit (CU) size; and
disabling the AMP for the CU size if the CU size is larger than a largest Transform Unit (TU) size.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/074126 WO2013155665A1 (en) | 2012-04-16 | 2012-04-16 | Improvement of implicit tu split mode in hevc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/074126 WO2013155665A1 (en) | 2012-04-16 | 2012-04-16 | Improvement of implicit tu split mode in hevc |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013155665A1 true WO2013155665A1 (en) | 2013-10-24 |
Family
ID=49382788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2012/074126 WO2013155665A1 (en) | 2012-04-16 | 2012-04-16 | Improvement of implicit tu split mode in hevc |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013155665A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011049397A2 (en) * | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level |
WO2011071308A2 (en) * | 2009-12-08 | 2011-06-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition |
WO2011087297A2 (en) * | 2010-01-14 | 2011-07-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering |
-
2012
- 2012-04-16 WO PCT/CN2012/074126 patent/WO2013155665A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011049397A2 (en) * | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level |
WO2011071308A2 (en) * | 2009-12-08 | 2011-06-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition |
WO2011087297A2 (en) * | 2010-01-14 | 2011-07-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017173593A1 (en) | Separate coding secondary transform syntax elements for different color components | |
EP2735161B1 (en) | Method and apparatus for compressing a coding unit in high efficiency video coding | |
CN107079160B (en) | Video coding method using separate coding trees for luminance and chrominance | |
CA2946779C (en) | Method and apparatus for determining residue transform tree representation | |
WO2017088093A1 (en) | On the smallest allowed block size in video coding | |
US10178412B2 (en) | Methods of palette mode coding in video coding | |
EP3024243A1 (en) | Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video | |
MY172354A (en) | Buffering period and recovery point supplemental enhancement information messages | |
WO2015139203A1 (en) | Dlt signaling in 3d video coding | |
JP2013544061A (en) | Apparatus and method for constrained partition size for high efficiency video coding | |
RU2013158875A (en) | METHOD AND DEVICE FOR CODING OR DECODING | |
WO2015100731A1 (en) | Methods for determining the prediction partitions | |
WO2016115708A1 (en) | Methods for chroma component coding with separate intra prediction mode | |
WO2015062002A1 (en) | Methods for sub-pu level prediction | |
WO2013102299A1 (en) | Residue quad tree depth for chroma components | |
WO2015135175A1 (en) | Simplified depth based block partitioning method | |
WO2013155665A1 (en) | Improvement of implicit tu split mode in hevc | |
WO2015180166A1 (en) | Improved intra prediction mode coding | |
WO2013106988A1 (en) | Methods and apparatuses of residue transform depth representation | |
WO2016123801A1 (en) | Methods for partition mode coding | |
WO2016044974A1 (en) | Palette table signalling | |
AU2015255238B2 (en) | Method and apparatus for compressing coding unit in high efficiency video coding | |
WO2016049891A1 (en) | Methods on segmentation coding in intra prediction | |
WO2015003294A1 (en) | A simplified method on segmentation coding in intra prediction | |
WO2016037363A1 (en) | Methods of residue transform tree representation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12874694 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12874694 Country of ref document: EP Kind code of ref document: A1 |