WO2017206804A1 - Method and apparatus of current picture referencing for video coding using affine motion compensation - Google Patents
Method and apparatus of current picture referencing for video coding using affine motion compensation Download PDFInfo
- Publication number
- WO2017206804A1 WO2017206804A1 PCT/CN2017/086065 CN2017086065W WO2017206804A1 WO 2017206804 A1 WO2017206804 A1 WO 2017206804A1 CN 2017086065 W CN2017086065 W CN 2017086065W WO 2017206804 A1 WO2017206804 A1 WO 2017206804A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current block
- reference picture
- current
- resolution
- adaptive
- Prior art date
Links
Images
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Definitions
- the present invention relates to block partition for coding and/or prediction process in video coding.
- the present invention discloses various coding arrangements for a coding system using current picture referencing (CPR) .
- CPR current picture referencing
- the High Efficiency Video Coding (HEVC) standard is developed under the joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, and is especially with partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) .
- HEVC High Efficiency Video Coding
- one slice is partitioned into multiple coding tree units (CTU) .
- CTU coding tree units
- SPS sequence parameter set
- the allowed CTU size can be 8x8, 16x16, 32x32, or 64x64.
- the CTUs within the slice are processed according to a raster scan order.
- the CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics.
- a quadtree denoted as the coding tree, is used to partition the CTU into multiple CUs.
- CTU size be MxM, where M is one of the values of 64, 32, or 16.
- the CTU can be a single CU (i.e., no splitting) or can be split into four smaller units of equal sizes (i.e., M/2xM/2 each) , which correspond to the nodes of the coding tree. If units are leaf nodes of the coding tree, the units become CUs.
- the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size as specified in the SPS (Sequence Parameter Set) .
- This representation results in a recursive structure as specified by a coding tree (also referred to as a partition tree structure) 120 in Fig. 1.
- the CTU partition 110 is shown in Fig. 1, where the solid lines indicate CU boundaries.
- the decision whether to code a picture area using Inter-picture (temporal) or Intra-picture (spatial) prediction is made at the CU level. Since the minimum CU size can be 8x8, the minimum granularity for switching between different basic prediction types is 8x8.
- each CU can be partitioned into one or more prediction units (PU) .
- the PU works as a basic representative block for sharing the prediction information. Inside each PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis.
- a CU can be split into one, two or four PUs according to the PU splitting type.
- HEVC defines eight shapes for splitting a CU into PU as shown in Fig. 2, including 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N and nRx2N partition types. Unlike the CU, the PU may only be split once according to HEVC.
- the partitions shown in the second row correspond to asymmetric partitions, where the two partitioned parts have different sizes.
- the prediction residues of a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU as shown in Fig. 1.
- the solid lines indicate CU boundaries and dotted lines indicate TU boundaries.
- the TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer transform having the same size to the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
- coding tree block CB
- CB coding block
- PB prediction block
- TB transform block
- JCTVC-P1005 a binary tree block partitioning structure is proposed in JCTVC-P1005 (D. Flynn, et al, “HEVC Range Extensions Draft 6” , Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: San Jose, US, 9 –17 January 2014, Document: JCTVC-P1005) .
- a block can be recursively split into two smaller blocks using various binary splitting types as shown in Fig. 3. The most efficient and simplest ones are the symmetric horizontal and vertical split as shown in the top two splitting types in Fig. 3.
- a flag is signalled to indicate whether the given block is split into two smaller blocks. If yes, another syntax element is signalled to indicate which splitting type is used. If the horizontal splitting is used, the given block is split into two blocks of size MxN/2. If the vertical splitting is used, the given block is split into two blocks of size M/2xN.
- the binary tree splitting process can be iterated until the size (width or height) for a splitting block reaches a minimum allowed block size (width or height) .
- the minimum allowed block size can be defined in high level syntax such as SPS. Since the binary tree has two splitting types (i.e., horizontal and vertical) , the minimum allowed block width and height should be both indicated.
- Non-horizontal splitting is implicitly implied when splitting would result in a block height smaller than the indicated minimum.
- Non-vertical splitting is implicitly implied when splitting would result in a block width smaller than the indicated minimum.
- Fig. 4 illustrates an example of block partitioning 410 and its corresponding binary tree 420.
- each splitting node i.e., non-leaf node
- one flag is used to indicate which splitting type (horizontal or vertical) is used, where 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
- the binary tree structure can be used for partitioning an image area into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
- the binary tree can be used for partitioning a CTU into CUs, where the root node of the binary tree is a CTU and the leaf node of the binary tree is CU.
- the leaf nodes can be further processed by prediction and transform coding. For simplification, there is no further partitioning from CU to PU or from CU to TU, which means CU equal to PU and PU equal to TU. Therefore, in other words, the leaf node of the binary tree is the basic unit for prediction and transforms coding.
- Quadtree plus binary tree (QTBT) structure a method to combine the quadtree and binary tree structure, which is also called as quadtree plus binary tree (QTBT) structure.
- QTBT quadtree plus binary tree
- the leaf quadtree block is not larger than the maximum allowed binary tree root node size, it can be further partitioned by a binary tree structure and the binary tree splitting can be iterated until the size (width or height) for a splitting block reaches the minimum allowed binary tree leaf node size (width or height) or the binary tree depth reaches the maximum allowed binary tree depth.
- the minimum allowed quadtree leaf node size, the maximum allowed binary tree root node size, the minimum allowed binary tree leaf node width and height, and the maximum allowed binary tree depth can be indicated in the high level syntax such as in SPS.
- Fig. 5 illustrates an example of block partitioning 510 and its corresponding QTBT 520.
- the solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting.
- each splitting node (i.e., non-leaf node) of the binary tree one flag indicates which splitting type (horizontal or vertical) is used, 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
- the above QTBT structure can be used for partitioning an image area (e.g. a slice, CTU or CU) into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
- the QTBT can be used for partitioning a CTU into CUs, where the root node of the QTBT is a CTU which is partitioned into multiple CUs by a QTBT structure and the CUs are further processed by prediction and transform coding.
- QTBT structure An example of QTBT structure is shown as follows. For a CTU with size 128x128, the minimum allowed quadtree leaf node size is set to 16x16, the maximum allowed binary tree root node size is set to 64x64, the minimum allowed binary tree leaf node width and height both is set to 4, and the maximum allowed binary tree depth is set to 4. Firstly, the CTU is partitioned by a quadtree structure and the leaf quadtree unit may have size from 16x16 (i.e., minimum allowed quadtree leaf node size) to 128x128 (equal to CTU size, i.e., no split) .
- 16x16 i.e., minimum allowed quadtree leaf node size
- 128x128 equal to CTU size, i.e., no split
- leaf quadtree unit If the leaf quadtree unit is 128x128, it cannot be further split by binary tree since the size exceeds the maximum allowed binary tree root node size 64x64. Otherwise, the leaf quadtree unit can be further split by binary tree.
- the leaf quadtree unit which is also the root binary tree unit, has binary tree depth as 0. When the binary tree depth reaches 4 (i.e., the maximum allowed binary tree as indicated) , no splitting is implicitly implied. When the block of a corresponding binary tree node has width equal to 4, non-horizontal splitting is implicitly implied. When the block of a corresponding binary tree node has height equal to 4, non-vertical splitting is implicitly implied.
- the leaf nodes of the QTBT are further processed by prediction (Intra picture or Inter picture) and transform coding.
- the QTBT tree structure usually applied with the luma/chroma separate coding.
- the QTBT tree structure is applied separately to luma and chroma components for I-slice, and applied simultaneously to both luma and chroma (except when certain minimum sizes being reached for chroma) for P-and B-slices.
- the luma CTB has its QTBT-structured block partitioning and the two chroma CTBs have another QTBT-structured block partitioning.
- the two chroma CTBs can also have their own QTBT-structured block partitions.
- coding unit For block-based coding, there is always a need to partition an image into blocks (e.g. CUs, PUs and TUs) for the coding purpose.
- the image may be divided into smaller images areas, such as slices, tiles, CTU rows or CTUs before applying the block partition.
- the process to partition an image into blocks for the coding purpose is referred as partitioning the image using a coding unit (CU) structure.
- the particular partition method to generate CUs, PUs and TUs as adopted by HEVC is an example of the coding unit (CU) structure.
- the QTBT tree structure is another example of the coding unit (CU) structure.
- Motion estimation/compensation is a well-known key technology in hybrid video coding, which explores the pixel correlation between adjacent pictures.
- the object movement between neighbouring frames is small and the object movement can be modelled by two-dimensional translational motion.
- the patterns corresponding to objects or background in a frame are displaced to form corresponding objects in the subsequent frame or correlated with other patterns within the current frame.
- block matching and copy has also been tried to allow selecting the reference block from within the same picture. It was observed to be not efficient when applying this concept to videos captured by a camera.
- the textual pattern in a spatial neighbouring area may be similar to the current coding block, but usually with some gradual changes over space. It is thus difficult for a block to find an exact match within the same picture of video captured by a camera. Therefore, the improvement in coding performance is limited.
- Intra (picture) block compensation has been observed to be very effective.
- a new prediction mode i.e., the Intra block copy (IBC) mode or called current picture referencing (CPR)
- IBC Intra block copy
- CPR current picture referencing
- a prediction unit PU
- a displacement vector called block vector or BV
- the prediction errors are then coded using transformation, quantization and entropy coding.
- FIG. 6 An example of CPR compensation is illustrated in Fig. 6, where area 610 corresponds to a picture, a slice or a picture area to be coded.
- Blocks 620 and 630 correspond to two blocks to be coded. In this example, each block can find a corresponding block in the previous coded area in the current picture (i.e., 622 and 632 respectively) .
- the reference samples correspond to the reconstructed samples of the current decoded picture prior to in-loop filter operations including both deblocking and sample adaptive offset (SAO) filters in HEVC.
- SAO sample adaptive offset
- JCTVC-M0350 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Incheon, KR, 18–26 Apr. 2013, Document: JCTVC-M0350) , which is submitted as a candidate technology for HEVC Range Extensions (RExt) development.
- JCTVC-M0350 the CPR compensation was limited to be within a small local area and the search is limited to 1-D block vector for the block size of 2Nx2N only. Later, a more advanced CPR method was developed during the standardization of HEVC SCC (screen content coding) .
- reference block 720 is selected as IntraBC prediction for the current block 710 (i.e., a CU) .
- a BVP is determined for the current CU.
- Methods to derive the motion vector predictor (MVP) is known in the field. Similar derivation can be applied to BVP derivation.
- bitstream conformance constraints are imposed to regulate the valid MV value referring to the current picture.
- (BV_x, BV_y) is the luma block vector (i.e., the motion vector for CPR) for the current PU; nPbSw and nPbSh are the width and height of the current PU; (xPbS, yPbs) is the location of the top-left pixel of the current PU relative to the current picture; (xCbs, yCbs) is the location of the top-left pixel of the current CU relative to the current picture; and CtbSizeY is the size of the CTU.
- OffsetX and offsetY are two adjusted offsets in two dimensions in consideration of chroma sample interpolation for the CPR mode:
- BVC_x, BVC_y is the chroma block vector, in 1/8-pel resolution in HEVC.
- the reference block for CPR must be within the same tile/slice boundary.
- the affine model can be used to describe 2D block rotations, as well as 2D deformations of squares (rectangles) into parallelogram. This model can be described as follows:
- the above parameters can be solved. It is equivalent to the condition that the 6 parameters are known.
- Each location with a known motion vector is referred as a control point.
- the 6-parameter affine model corresponds to a 3-control-point model.
- a syntax table for an affine motion compensation implementation is shown in Table 1.
- use_affine_flag indicates the affine model being used (i.e., use_affine_flag having a value of 1)
- information of other two control points is signalled for reference list L0 as indicated by Notes (1-7) to (1-9) and information of other two control points is signalled for reference list L1 as indicated by Notes (1-10) to (1-12) .
- a method and apparatus for video encoding and decoding used by a video encoding system and video decoding system respectively are disclosed.
- input data associated with a current block in a current image are received, where affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image.
- One or more reference picture indexes for a current block are signalled or parsed. If one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
- the affine mode syntax is signalled or parsed to determine whether the affine motion compensation is applied to the current block according to one embodiment.
- the adaptive MV resolution is enabled for coding the current image and if the reference picture index for the current block points to one reference picture other than the current image, the adaptive MV resolution syntax is signalled or parsed to determine whether the adaptive MV resolution is applied to the current block.
- the adaptive MV resolution syntax is signalled or parsed, where the target reference picture list corresponds to List 0 or List 1. If a reference picture index points to the current image or a MVD (motion vector difference) value associated with one reference picture list is equal to zero for one or both reference picture lists, the adaptive MV resolution syntax is inferred as false.
- the reference picture index for the current block is signalled or parsed before an affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed.
- affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image.
- CPR current picture referencing
- MV adaptive motion vector
- a codeword for the reference picture index corresponding to the current image may be removed from a codeword table if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block.
- a conforming video bitstream may be used to cause the reference picture index to point to one reference picture other than the current image if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block.
- Said determining whether affine mode is used for the current block may comprise signalling or parsing an affine mode syntax before signalling or parsing the reference picture index for the current block.
- the reference picture index for the current block can be signalled or parsed after an affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed. If the affine mode is not used for the current block, a reference picture index for the current block can be signalled or parsed, and where a codeword of the reference picture index corresponding to the current image may be included in a codeword table. Furthermore, if the adaptive MV resolution is used for the current block, a reference picture index for the current block is signalled or parsed, and wherein a codeword of the reference picture index corresponding to the current image is included in a codeword table.
- input data associated with associated with a current block in a current image are received, where current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image.
- An affine mode and a reference picture index for the current block are determined. If the affine mode is used for the current block, a number of motion vectors (MVs) for the current block are signalled or parsed for a reference picture list depending on whether the reference picture index for the current block points to the current image.
- CPR current picture referencing
- MVs motion vectors
- the affine mode is used for the current block and the reference picture index for the current block points to the current image, only one MV can be signalled or parsed for the current block for the reference picture list.
- Each MV can be represented by one MV predictor and one MV difference, or one MV predictor index and one MV difference. If the affine mode is used for the current block and the reference picture index for the current block points to one reference image other than the current image, more than one MV can be signalled or parsed for the current block for the reference picture list.
- Fig. 1 illustrates an example of block partition using quadtree structure to partition a coding tree unit (CTU) into coding units (CUs) .
- CTU coding tree unit
- CUs coding units
- Fig. 2 illustrates asymmetric motion partition (AMP) according to High Efficiency Video Coding (HEVC) , where the AMP defines eight shapes for splitting a CU into PU.
- AMP asymmetric motion partition
- HEVC High Efficiency Video Coding
- Fig. 3 illustrates an example of various binary splitting types used by a binary tree partitioning structure, where a block can be recursively split into two smaller blocks using the splitting types.
- Fig. 4 illustrates an example of block partitioning and its corresponding binary tree, where in each splitting node (i.e., non-leaf node) of the binary tree, one syntax is used to indicate which splitting type (horizontal or vertical) is used, where 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
- each splitting node i.e., non-leaf node
- one syntax is used to indicate which splitting type (horizontal or vertical) is used, where 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
- Fig. 5 illustrates an example of block partitioning and its corresponding quad-tree plus binary tree structure (QTBT) , where the solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting.
- QTBT binary tree structure
- Fig. 6 illustrates an example of CPR compensation, where area 610 corresponds to a picture, a slice or a picture area to be coded. Blocks 620 and 630 correspond to two blocks to be coded.
- Fig. 7 illustrates an example of predictive block vector (BV) coding, where the BV difference (BVD) corresponding to the difference between a current BV and a BV predictor is signalled.
- BVD BV difference
- Fig. 8 illustrates examples of constrained reference pixel region for IntraBC mode (i.e., the current picture referencing, CPD mode) .
- Fig. 9 illustrates an example of ladder-shaped reference data area for WPP (wavefront parallel processing) associated with the CPR mode.
- Fig. 10 illustrates an example of collocated colour plane candidate derivation from other colour planes in the same frame, where (Y1, U1, V1) and (Y2, U2, V2) are colour planes of two successive frames.
- Fig. 11 illustrates a flowchart of an exemplary coding system with the affine motion compensation or adaptive motion vector (MV) resolution mode enabled according to an embodiment of the present invention, where if one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
- MV adaptive motion vector
- Fig. 12 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention, where if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, a reference picture index for the current block is signalled or parsed and the reference picture index always points to one reference picture other than the current image.
- CPR current picture referencing
- Fig. 13 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention, where if the affine mode is used for the current block, a number of motion vectors (MVs) for the current block for a reference picture list is signalled or parsed depending on whether the reference picture index for the current block points to the current image.
- CPR current picture referencing
- the luma and chroma are coded separately for all Intra frames (for example, I-slice) .
- the CPR is designed for three colour components joint.
- the MV of CPR is used for all three components.
- the CPR design is modified when the luma and chroma are coded separately.
- various methods of CPR coding with the luma/chroma separate CU structure are proposed as follows. In the following, various aspects of using the CPR mode for luma/chroma separate coding are disclosed.
- the affine motion compensation mode is disabled when the CPR mode is used.
- the block is coded using a coding mode selected from a coding group excluding the affine motion compensation mode.
- the reference picture index for encoding/decoding current prediction unit (PU) is signalled/parsed first in the decoding order for either List 0 or List 1 before the affine mode syntax.
- the affine mode syntax is encoded or decoded before the reference picture index is encoded or decoded.
- the encoded or decoded reference picture index cannot point to the current image itself.
- the reference picture index codeword corresponding to the current picture is removed from the codeword table. If the affine mode is not used for the current block, a reference picture index for the current block is signalled or parsed, wherein if the reference picture list includes the current picture, a codeword of the reference picture index corresponding to the current image is included in a codeword table.
- bitstream conformance requires that the encoded or parsed reference picture index shall not be equal to the reference picture index pointing to the current image self if the affine mode is applied for the current block.
- information associated with a number of encoded or decoded MVs depends on the conditions of the affine mode and the CPR mode. If the affine mode is applied and the CPR mode is not applied for the block (e.g. the reference picture index pointing to a reference picture other than the current image) , information associated with more than one MV is encoded or decoded in the current reference picture list. If the affine mode is applied and the CPR mode is applied (e.g. the reference picture index pointing to the current picture) , information associated with only one MV is encoded or decoded in the current reference picture list. If the affine mode is not applied, information associated with only one MV is encoded or decoded in the current reference picture list.
- the CPR mode is used for coding a current PU and the assumption of adaptive MV resolution (integer MV resolution) in the CPR mode is true, there is no need for signalling the integer MV syntax for a CPR coded PU.
- the reference picture index in List 0 (or List 1) is decoded in the decoding order. If the reference picture is the current picture itself, it is allowed that the decoded MVD has a non-zero value. In this case, there is no need to signal the integer MV syntax (e.g. iMV_flag) . Only when there is a non-zero MVD value for a reference picture other than the current picture itself, the integer MV syntax needs to be signalled.
- Some of the examples for whether to signal the iMV_flag are showed in Table 2, where exemplary combinations of reference picture selection and MVD value for iMV_flag signalling decision are shown. List 0 and List 1 in Table 2 can be swapped.
- the MV is coded in integer MV resolution where the adaptive motion vector resolution is inferred as enabled.
- the reference picture index for encoding/decoding current prediction unit PU is signalled or parsed first in the decoding order for either List 0 or List 1 before the adaptive motion vector resolution syntax.
- the adaptive motion vector resolution syntax e.g. adaptive motion vector flag
- the adaptive motion vector resolution flag is inferred as true (i.e., adaptive motion vector resolution enabled) .
- the reference picture index points a reference picture other than the current picture itself, the adaptive motion vector resolution needs to be encoded or decoded. Similar methods apply to List 1 reference pictures as well.
- the adaptive motion vector resolution syntax is encoded or decoded before the reference picture index is encoded or decoded.
- the encoded or decoded reference picture index cannot point to the current image itself.
- the reference picture index codeword that corresponding to the current picture is removed from the codeword table.
- a reference picture index for the current block is signalled or parsed, wherein if the reference picture list includes the current picture, a codeword of the reference picture index corresponding to the current image is included in a codeword table.
- the bitstream conformance requires that the signalled or parsed reference picture index shall not be equal to the reference picture index pointing to the current image if the adaptive MV resolution is not applied for the current block.
- the inventions disclosed above can be incorporated into various video encoding or decoding systems in various forms.
- the inventions can be implemented using hardware-based approaches, such as dedicated integrated circuits (IC) , field programmable logic array (FPGA) , digital signal processor (DSP) , central processing unit (CPU) , etc.
- the inventions can also be implemented using software codes or firmware codes executable on a computer, laptop or mobile device such as smart phones.
- the software codes or firmware codes can be executable on a mixed-type platform such as a CPU with dedicated processors (e.g. video coding engine or co-processor) .
- Fig. 11 illustrates a flowchart of an exemplary coding system with the affine motion compensation or adaptive motion vector (MV) resolution mode enabled according to an embodiment of the present invention.
- the steps shown in the flowchart, as well as other following flowcharts in this disclosure, may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side and/or the decoder side.
- the steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart.
- input data associated with a current image are received in step 1110, where the affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image.
- the input data may correspond to video data to be encoded.
- the input data may correspond to compressed video data to be decoded.
- one or more reference picture indexes for a current block is signalled or parsed. As is understood, one or more reference picture indexes for a current block is signalled at the encoder side or parsed at the decoder side.
- the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
- Fig. 12 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention.
- input data associated with a current image is received in step 1210, wherein current picture referencing (CPR) mode is enabled, and wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image.
- step 1220 whether affine mode is used for the current block when the affine motion compensation is enabled for the current image is determined, or whether the adaptive MV resolution is used for the current block when the adaptive MV resolution is enabled for the current image is determined.
- a reference picture index for the current block is signalled or parsed, wherein the reference picture index always points to one reference picture other than the current image.
- the reference picture index for the current block is signalled at the encoder side or parsed at the decoder side.
- Fig. 13 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention.
- input data associated with a current image is received in step 1310, wherein current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image.
- Affine mode and reference picture index is determined for the current block in step 1320.
- the encoder may determine whether to use the affine mode for the current block based on a certain performance criterion such as rate-distortion optimization (RDO) .
- RDO rate-distortion optimization
- whether the affine mode is used for the block can be determined from coded information, such as a syntax element in the video bitstream.
- MVs motion vectors
- Embodiment of 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 one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
- An embodiment of the present invention may also be program code 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 code may be developed in different programming languages and different formats or styles.
- 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)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A method and apparatus for a video coding system with the current picture referencing (CPR) mode enabled are disclosed. According to one method, if one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax. In another method, if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, a reference picture index for the current block is signalled or parsed and the reference picture index always points to one reference picture other than the current image.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to U.S. Provisional Patent Application, Serial No. 62/342,883 filed on May 28, 2016. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
The present invention relates to block partition for coding and/or prediction process in video coding. In particular, the present invention discloses various coding arrangements for a coding system using current picture referencing (CPR) .
The High Efficiency Video Coding (HEVC) standard is developed under the joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, and is especially with partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) . In HEVC, one slice is partitioned into multiple coding tree units (CTU) . In main profile, the minimum and the maximum sizes of CTU are specified by the syntax elements in the sequence parameter set (SPS) . The allowed CTU size can be 8x8, 16x16, 32x32, or 64x64. For each slice, the CTUs within the slice are processed according to a raster scan order.
The CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics. A quadtree, denoted as the coding tree, is used to partition the CTU into multiple CUs. Let CTU size be MxM, where M is one of the values of 64, 32, or 16. The CTU can be a single CU (i.e., no splitting) or can be split into four smaller units of equal sizes (i.e., M/2xM/2 each) , which correspond to the nodes of the coding tree. If units are leaf nodes of the coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size as specified in the SPS (Sequence Parameter Set) . This representation results in a recursive structure as specified by a coding tree (also referred to as a partition tree structure) 120 in Fig. 1. The CTU partition 110 is shown in Fig. 1, where the solid lines indicate CU boundaries. The decision whether to code a picture area using Inter-picture (temporal) or Intra-picture (spatial) prediction is made at the CU level.
Since the minimum CU size can be 8x8, the minimum granularity for switching between different basic prediction types is 8x8.
Furthermore, according to HEVC, each CU can be partitioned into one or more prediction units (PU) . Coupled with the CU, the PU works as a basic representative block for sharing the prediction information. Inside each PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis. A CU can be split into one, two or four PUs according to the PU splitting type. HEVC defines eight shapes for splitting a CU into PU as shown in Fig. 2, including 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N and nRx2N partition types. Unlike the CU, the PU may only be split once according to HEVC. The partitions shown in the second row correspond to asymmetric partitions, where the two partitioned parts have different sizes.
After obtaining the residual block by the prediction process based on PU splitting type, the prediction residues of a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU as shown in Fig. 1. The solid lines indicate CU boundaries and dotted lines indicate TU boundaries. The TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer transform having the same size to the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
The terms coding tree block (CTB) , coding block (CB) , prediction block (PB) , and transform block (TB) are defined to specify the 2-D sample array of one colour component associated with CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. A similar relationship is valid for CU, PU, and TU. The tree partitioning is generally applied simultaneously to both luma and chroma, although exceptions apply when certain minimum sizes are reached for chroma.
Alternatively, a binary tree block partitioning structure is proposed in JCTVC-P1005 (D. Flynn, et al, “HEVC Range Extensions Draft 6” , Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: San Jose, US, 9 –17 January 2014, Document: JCTVC-P1005) . In the proposed binary tree partitioning structure, a block can be recursively split into two smaller blocks using various binary splitting types as shown in Fig. 3. The most efficient and simplest ones are the symmetric horizontal and vertical split as shown in the top two splitting types in Fig. 3. For a given block of size MxN, a flag is signalled to indicate whether the given block is split into two smaller blocks. If yes, another syntax element is signalled to indicate which splitting type is used. If the horizontal
splitting is used, the given block is split into two blocks of size MxN/2. If the vertical splitting is used, the given block is split into two blocks of size M/2xN. The binary tree splitting process can be iterated until the size (width or height) for a splitting block reaches a minimum allowed block size (width or height) . The minimum allowed block size can be defined in high level syntax such as SPS. Since the binary tree has two splitting types (i.e., horizontal and vertical) , the minimum allowed block width and height should be both indicated. Non-horizontal splitting is implicitly implied when splitting would result in a block height smaller than the indicated minimum. Non-vertical splitting is implicitly implied when splitting would result in a block width smaller than the indicated minimum. Fig. 4 illustrates an example of block partitioning 410 and its corresponding binary tree 420. In each splitting node (i.e., non-leaf node) of the binary tree, one flag is used to indicate which splitting type (horizontal or vertical) is used, where 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
The binary tree structure can be used for partitioning an image area into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on. The binary tree can be used for partitioning a CTU into CUs, where the root node of the binary tree is a CTU and the leaf node of the binary tree is CU. The leaf nodes can be further processed by prediction and transform coding. For simplification, there is no further partitioning from CU to PU or from CU to TU, which means CU equal to PU and PU equal to TU. Therefore, in other words, the leaf node of the binary tree is the basic unit for prediction and transforms coding.
Binary tree structure is more flexible than quadtree structure since more partition shapes can be supported, which is also the source of coding efficiency improvement. However, the encoding complexity will also increase in order to select the best partition shape. In order to balance the complexity and coding efficiency, a method to combine the quadtree and binary tree structure, which is also called as quadtree plus binary tree (QTBT) structure, has been disclosed. According to the QTBT structure, a block is firstly partitioned by a quadtree structure and the quadtree splitting can be iterated until the size for a splitting block reaches the minimum allowed quadtree leaf node size. If the leaf quadtree block is not larger than the maximum allowed binary tree root node size, it can be further partitioned by a binary tree structure and the binary tree splitting can be iterated until the size (width or height) for a splitting block reaches the minimum allowed binary tree leaf node size (width or height) or the binary tree depth reaches the maximum allowed binary tree depth. In the QTBT structure, the minimum allowed quadtree leaf node size, the maximum allowed binary tree root node size, the minimum allowed binary tree leaf node width and height, and the maximum allowed binary tree
depth can be indicated in the high level syntax such as in SPS. Fig. 5 illustrates an example of block partitioning 510 and its corresponding QTBT 520. The solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting. In each splitting node (i.e., non-leaf node) of the binary tree, one flag indicates which splitting type (horizontal or vertical) is used, 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
The above QTBT structure can be used for partitioning an image area (e.g. a slice, CTU or CU) into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on. For example, the QTBT can be used for partitioning a CTU into CUs, where the root node of the QTBT is a CTU which is partitioned into multiple CUs by a QTBT structure and the CUs are further processed by prediction and transform coding. For simplification, there is no further partitioning from CU to PU or from CU to TU. That means CU equal to PU and PU equal to TU. Therefore, in other words, the leaf node of the QTBT structure is the basic unit for prediction and transform.
An example of QTBT structure is shown as follows. For a CTU with size 128x128, the minimum allowed quadtree leaf node size is set to 16x16, the maximum allowed binary tree root node size is set to 64x64, the minimum allowed binary tree leaf node width and height both is set to 4, and the maximum allowed binary tree depth is set to 4. Firstly, the CTU is partitioned by a quadtree structure and the leaf quadtree unit may have size from 16x16 (i.e., minimum allowed quadtree leaf node size) to 128x128 (equal to CTU size, i.e., no split) . If the leaf quadtree unit is 128x128, it cannot be further split by binary tree since the size exceeds the maximum allowed binary tree root node size 64x64. Otherwise, the leaf quadtree unit can be further split by binary tree. The leaf quadtree unit, which is also the root binary tree unit, has binary tree depth as 0. When the binary tree depth reaches 4 (i.e., the maximum allowed binary tree as indicated) , no splitting is implicitly implied. When the block of a corresponding binary tree node has width equal to 4, non-horizontal splitting is implicitly implied. When the block of a corresponding binary tree node has height equal to 4, non-vertical splitting is implicitly implied. The leaf nodes of the QTBT are further processed by prediction (Intra picture or Inter picture) and transform coding.
For I-slice, the QTBT tree structure usually applied with the luma/chroma separate coding. For example, the QTBT tree structure is applied separately to luma and chroma components for I-slice, and applied simultaneously to both luma and chroma (except when certain minimum sizes being reached for chroma) for P-and B-slices. In other words, in an I-slice, the luma CTB has its QTBT-structured block partitioning and the two chroma CTBs have another QTBT-structured block partitioning. In another example, the two chroma CTBs can also have their
own QTBT-structured block partitions.
For block-based coding, there is always a need to partition an image into blocks (e.g. CUs, PUs and TUs) for the coding purpose. As known in the field, the image may be divided into smaller images areas, such as slices, tiles, CTU rows or CTUs before applying the block partition. The process to partition an image into blocks for the coding purpose is referred as partitioning the image using a coding unit (CU) structure. The particular partition method to generate CUs, PUs and TUs as adopted by HEVC is an example of the coding unit (CU) structure. The QTBT tree structure is another example of the coding unit (CU) structure.
Current Picture Referencing
Motion estimation/compensation is a well-known key technology in hybrid video coding, which explores the pixel correlation between adjacent pictures. In a video sequence, the object movement between neighbouring frames is small and the object movement can be modelled by two-dimensional translational motion. Accordingly, the patterns corresponding to objects or background in a frame are displaced to form corresponding objects in the subsequent frame or correlated with other patterns within the current frame. With the estimation of a displacement (e.g. using block matching techniques) , the pattern can be mostly reproduced without the need to re-code the pattern. Similarly, block matching and copy has also been tried to allow selecting the reference block from within the same picture. It was observed to be not efficient when applying this concept to videos captured by a camera. Part of the reasons is that the textual pattern in a spatial neighbouring area may be similar to the current coding block, but usually with some gradual changes over space. It is thus difficult for a block to find an exact match within the same picture of video captured by a camera. Therefore, the improvement in coding performance is limited.
However, the spatial correlation among pixels within the same picture is different for screen content. For typical video with text and graphics, there are usually repetitive patterns within the same picture. Hence, Intra (picture) block compensation has been observed to be very effective. A new prediction mode, i.e., the Intra block copy (IBC) mode or called current picture referencing (CPR) , has been introduced for screen content coding to utilize this characteristic. In the CPR mode, a prediction unit (PU) is predicted from a previously reconstructed block within the same picture. Further, a displacement vector (called block vector or BV) is used to signal the relative displacement from the position of the current block to the position of the reference block. The prediction errors are then coded using transformation, quantization and entropy coding. An example of CPR compensation is illustrated in Fig. 6, where area 610 corresponds to a picture, a slice or a picture area to be coded. Blocks 620 and
630 correspond to two blocks to be coded. In this example, each block can find a corresponding block in the previous coded area in the current picture (i.e., 622 and 632 respectively) . According to this technique, the reference samples correspond to the reconstructed samples of the current decoded picture prior to in-loop filter operations including both deblocking and sample adaptive offset (SAO) filters in HEVC.
An early version of CPR was disclosed in JCTVC-M0350 (Madhukar Budagavi, et al, “AHG8: Video coding using Intra motion compensation” , Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Incheon, KR, 18–26 Apr. 2013, Document: JCTVC-M0350) , which is submitted as a candidate technology for HEVC Range Extensions (RExt) development. In t JCTVC-M0350, the CPR compensation was limited to be within a small local area and the search is limited to 1-D block vector for the block size of 2Nx2N only. Later, a more advanced CPR method was developed during the standardization of HEVC SCC (screen content coding) .
In order to signal the block vector (BV) efficiently, the BV is signalled predictively using a BV predictor (BVP) in a similar fashion as the MV coding. Accordingly, the BV difference (BVD) is signalled and the BV can be reconstructed according to BV = BVP + BVD as shown in Fig. 7, where reference block 720 is selected as IntraBC prediction for the current block 710 (i.e., a CU) . A BVP is determined for the current CU. Methods to derive the motion vector predictor (MVP) is known in the field. Similar derivation can be applied to BVP derivation.
When CPR is used, only part of the current picture can be used as the reference picture. Some bitstream conformance constraints are imposed to regulate the valid MV value referring to the current picture.
First, one of the following two equations must be true:
BV_x + offsetX + nPbSw + xPbs –xCbs <= 0, and (1)
BV_y + offsetY + nPbSh + yPbs –yCbs <= 0. (2)
Second, the following WPP (Wavefront Parallel Processing) condition must be true:
(xPbs + BV_x + offsetX + nPbSw -1 ) /CtbSizeY –xCbs /CtbSizeY <=
yCbs /CtbSizeY - (yPbs + BV_y + offsetY + nPbSh -1 ) /CtbSizeY (3)
In equations (1) through (3) , (BV_x, BV_y) is the luma block vector (i.e., the motion vector for CPR) for the current PU; nPbSw and nPbSh are the width and height of the current PU; (xPbS, yPbs) is the location of the top-left pixel of the current PU relative to the current picture; (xCbs, yCbs) is the location of the top-left pixel of the current CU relative to the current picture; and CtbSizeY is the size of the CTU. OffsetX and offsetY are two adjusted offsets in two dimensions in consideration of chroma sample interpolation for the CPR mode:
offsetX = BVC_x &0x7 ? 2 : 0, (4)
offsetY = BVC_y &0x7 ? 2 : 0. (5)
(BVC_x, BVC_y) is the chroma block vector, in 1/8-pel resolution in HEVC.
Third, the reference block for CPR must be within the same tile/slice boundary.
Affine Motion Compensation
The affine model can be used to describe 2D block rotations, as well as 2D deformations of squares (rectangles) into parallelogram. This model can be described as follows:
x’= a0 + a1*x + a2*y,
y’= b0 + b1*x + b2*y. (6)
In this model, 6 parameters need to be determined. For each pixels (x, y) in the area of interest, the motion vector is determined as the difference between location of the given pixel (A) and he location of its corresponding pixel in the reference block (A’) , i.e., MV = A’–A = (a0+ (a1-1) *x+a2*y, b0+b1*x+ (b2-1) *y) . Therefore, the motion vector for each pixel is location dependent.
According to this model, if the motion vectors of three different locations are known, then the above parameters can be solved. It is equivalent to the condition that the 6 parameters are known. Each location with a known motion vector is referred as a control point. The 6-parameter affine model corresponds to a 3-control-point model.
In the technical literature by Li, et al. ( “An affine motion compensation framework for high efficiency video coding” , in 2015 IEEE International Symposium on Circuits and Systems (ISCAS) , 24-27 May 2015, Pages: 525 –528) and by Huang et al. ( “Control-Point Representation and Differential Coding Affine-Motion Compensation” , IEEE Transactions on Circuits, System and Video Technology (CSVT) , Vol. 23, No. 10, pages 1651-1660, Oct. 2013) , some exemplary implementations of affine motion compensation are presented. In the technical literature by Li, et al., an affine flag is signalled for the 2Nx2N block partition, when current block is coded in either Merge mode or AMVP mode. If this flag is true, the derivation of motion vectors for the current block follows the affine model. If this flag is false, the derivation of motion vectors for the current block follows the traditional translational model. Three control points (3 MVs) are signalled when affine AMVP mode is used. At each control point location, the MV is predictively coded. Later, the MVDs of these control points are coded and transmitted. In the technical literature by Huang et al., different control point locations and predictive coding of MVs in control points are studied.
A syntax table for an affine motion compensation implementation is shown in Table 1. As shown in Table 1, syntax element use_affine_flag is signalled if at least one Merge candidate is
affine coded and the partition mode is 2Nx2N (i.e., PartMode = = PART_2Nx2N) as indicated by Notes (1-1) to (1-3) for the Merge mode. Syntax element use_affine_flag is signalled if the current block size is larger than 8x8 (i.e., (log2CbSize > 3) and the partition mode is 2Nx2N (i.e., PartMode = = PART_2Nx2N) as indicated by Notes (1-4) to (1-6) for the B slice. If use_affine_flag indicates the affine model being used (i.e., use_affine_flag having a value of 1) , information of other two control points is signalled for reference list L0 as indicated by Notes (1-7) to (1-9) and information of other two control points is signalled for reference list L1 as indicated by Notes (1-10) to (1-12) .
Table 1
In the present invention, various aspects of CPR coding with the QTBT structure or luma/chroma separate coding are addressed.
BRIEF SUMMARY OF THE INVENTION
A method and apparatus for video encoding and decoding used by a video encoding system and video decoding system respectively are disclosed. According to one method of the present invention, input data associated with a current block in a current image are received, where affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image. One or more reference picture indexes for a current block are signalled or parsed. If one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
For the above method, when the affine motion compensation is enabled for coding the current image and if the reference picture index for the current block points to one reference picture other than the current image, the affine mode syntax is signalled or parsed to determine whether the affine motion compensation is applied to the current block according to one embodiment. In another embodiment, when the adaptive MV resolution is enabled for coding the current image and if the reference picture index for the current block points to one reference picture other than the current image, the adaptive MV resolution syntax is signalled or parsed to determine whether the adaptive MV resolution is applied to the current block. If a target reference picture index for a target reference picture list points to one reference picture other than the current image and an MVD (motion vector difference) value associated with of the target reference picture list is not equal to zero, the adaptive MV resolution syntax is signalled or parsed, where the target reference picture list corresponds to List 0 or List 1. If a reference picture index points to the current image or a MVD (motion vector difference) value associated
with one reference picture list is equal to zero for one or both reference picture lists, the adaptive MV resolution syntax is inferred as false. The reference picture index for the current block is signalled or parsed before an affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed.
According to another method, input data associated with a current block in a current image are received, where current picture referencing (CPR) mode is enabled, and wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image. Whether affine mode is used for the current block when the affine motion compensation is enabled for the current image is determined, or whether the adaptive MV resolution is used for the current block when the adaptive MV resolution is enabled for the current image is determined. If the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, a reference picture index for the current block is signalled or parsed, where the reference picture index always points to one reference picture other than the current image.
According to the above method, a codeword for the reference picture index corresponding to the current image may be removed from a codeword table if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block. Alternatively, a conforming video bitstream may be used to cause the reference picture index to point to one reference picture other than the current image if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block. Said determining whether affine mode is used for the current block may comprise signalling or parsing an affine mode syntax before signalling or parsing the reference picture index for the current block. The reference picture index for the current block can be signalled or parsed after an affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed. If the affine mode is not used for the current block, a reference picture index for the current block can be signalled or parsed, and where a codeword of the reference picture index corresponding to the current image may be included in a codeword table. Furthermore, if the adaptive MV resolution is used for the current block, a reference picture index for the current block is signalled or parsed, and wherein a codeword of the reference picture index corresponding to the current image is included in a codeword table.
According to yet another method, input data associated with associated with a current block in a current image are received, where current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image. An affine mode and a reference picture index for the current block are determined. If the affine mode is used for the current
block, a number of motion vectors (MVs) for the current block are signalled or parsed for a reference picture list depending on whether the reference picture index for the current block points to the current image.
According to the above method, if the affine mode is used for the current block and the reference picture index for the current block points to the current image, only one MV can be signalled or parsed for the current block for the reference picture list. Each MV can be represented by one MV predictor and one MV difference, or one MV predictor index and one MV difference. If the affine mode is used for the current block and the reference picture index for the current block points to one reference image other than the current image, more than one MV can be signalled or parsed for the current block for the reference picture list.
Fig. 1 illustrates an example of block partition using quadtree structure to partition a coding tree unit (CTU) into coding units (CUs) .
Fig. 2 illustrates asymmetric motion partition (AMP) according to High Efficiency Video Coding (HEVC) , where the AMP defines eight shapes for splitting a CU into PU.
Fig. 3 illustrates an example of various binary splitting types used by a binary tree partitioning structure, where a block can be recursively split into two smaller blocks using the splitting types.
Fig. 4 illustrates an example of block partitioning and its corresponding binary tree, where in each splitting node (i.e., non-leaf node) of the binary tree, one syntax is used to indicate which splitting type (horizontal or vertical) is used, where 0 may indicate horizontal splitting and 1 may indicate vertical splitting.
Fig. 5 illustrates an example of block partitioning and its corresponding quad-tree plus binary tree structure (QTBT) , where the solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting.
Fig. 6 illustrates an example of CPR compensation, where area 610 corresponds to a picture, a slice or a picture area to be coded. Blocks 620 and 630 correspond to two blocks to be coded.
Fig. 7 illustrates an example of predictive block vector (BV) coding, where the BV difference (BVD) corresponding to the difference between a current BV and a BV predictor is signalled.
Fig. 8 illustrates examples of constrained reference pixel region for IntraBC mode (i.e., the current picture referencing, CPD mode) .
Fig. 9 illustrates an example of ladder-shaped reference data area for WPP (wavefront parallel processing) associated with the CPR mode.
Fig. 10 illustrates an example of collocated colour plane candidate derivation from other colour planes in the same frame, where (Y1, U1, V1) and (Y2, U2, V2) are colour planes of two successive frames.
Fig. 11 illustrates a flowchart of an exemplary coding system with the affine motion compensation or adaptive motion vector (MV) resolution mode enabled according to an embodiment of the present invention, where if one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
Fig. 12 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention, where if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, a reference picture index for the current block is signalled or parsed and the reference picture index always points to one reference picture other than the current image.
Fig. 13 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention, where if the affine mode is used for the current block, a number of motion vectors (MVs) for the current block for a reference picture list is signalled or parsed depending on whether the reference picture index for the current block points to the current image.
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.
In the video coding based on original quad-tree plus binary tree (QTBT) structure and the luma/chroma separate coding, the luma and chroma are coded separately for all Intra frames (for example, I-slice) . However, in HEVC-SCC, the CPR is designed for three colour components joint. The MV of CPR is used for all three components. According to one aspect of the present invention, the CPR design is modified when the luma and chroma are coded separately. In this disclosure, various methods of CPR coding with the luma/chroma separate
CU structure are proposed as follows. In the following, various aspects of using the CPR mode for luma/chroma separate coding are disclosed.
CPR with Affine Motion Compensation
When affine motion compensation is used for a block, more than one MV is used for the current PU. Therefore, more than one MVD needs to be signalled in affine AMVP mode. According to one embodiment of the present invention, the affine motion compensation mode is disabled when the CPR mode is used. In other words, when the CPR mode is used for the block, the block is coded using a coding mode selected from a coding group excluding the affine motion compensation mode. To achieve this, the reference picture index for encoding/decoding current prediction unit (PU) is signalled/parsed first in the decoding order for either List 0 or List 1 before the affine mode syntax. Using List 0 as an example, if the reference picture index in List 0 for the current PU is pointing to the current image itself, there will be only one MV information (e.g. MVP/MVP index and MVD) to be encoded/decoded in List 0. At the same time, there is no need to signal/parse the affine mode syntax (e.g. the affine mode flag) in the encode/decoder side and the affine mode flag is inferred as false (affine mode is disabled) , where affine mode syntax indicates whether affine AMVP mode is used for current PU. If the reference picture index points to a reference picture other than the current image itself, the affine mode syntax needs to be encoded or decoded. If the affine mode is used, information for more than one MV may need to be encoded or decoded. Similar methods may apply to List 1 reference pictures as well.
It is possible that in one reference picture list, CPR is used, while in another reference picture list, affine mode is used.
In another embodiment, the affine mode syntax is encoded or decoded before the reference picture index is encoded or decoded. For a current block, if the affine mode is applied (i.e., affine mode flag equal to true) , the encoded or decoded reference picture index cannot point to the current image itself. In one example, the reference picture index codeword corresponding to the current picture is removed from the codeword table. If the affine mode is not used for the current block, a reference picture index for the current block is signalled or parsed, wherein if the reference picture list includes the current picture, a codeword of the reference picture index corresponding to the current image is included in a codeword table. In another example, bitstream conformance requires that the encoded or parsed reference picture index shall not be equal to the reference picture index pointing to the current image self if the affine mode is applied for the current block.
In another embodiment, information associated with a number of encoded or decoded
MVs (e.g. MVP/MVP index and MVD) depends on the conditions of the affine mode and the CPR mode. If the affine mode is applied and the CPR mode is not applied for the block (e.g. the reference picture index pointing to a reference picture other than the current image) , information associated with more than one MV is encoded or decoded in the current reference picture list. If the affine mode is applied and the CPR mode is applied (e.g. the reference picture index pointing to the current picture) , information associated with only one MV is encoded or decoded in the current reference picture list. If the affine mode is not applied, information associated with only one MV is encoded or decoded in the current reference picture list.
CPR with Adaptive Motion Vector Resolution
If the CPR mode is used for coding a current PU and the assumption of adaptive MV resolution (integer MV resolution) in the CPR mode is true, there is no need for signalling the integer MV syntax for a CPR coded PU. The reference picture index in List 0 (or List 1) is decoded in the decoding order. If the reference picture is the current picture itself, it is allowed that the decoded MVD has a non-zero value. In this case, there is no need to signal the integer MV syntax (e.g. iMV_flag) . Only when there is a non-zero MVD value for a reference picture other than the current picture itself, the integer MV syntax needs to be signalled. Some of the examples for whether to signal the iMV_flag are showed in Table 2, where exemplary combinations of reference picture selection and MVD value for iMV_flag signalling decision are shown. List 0 and List 1 in Table 2 can be swapped.
Table 2
When CPR is applied, the MV is coded in integer MV resolution where the adaptive motion vector resolution is inferred as enabled. To achieve this, the reference picture index for encoding/decoding current prediction unit (PU) is signalled or parsed first in the decoding order for either List 0 or List 1 before the adaptive motion vector resolution syntax. Using List 0 as an example, if the reference picture index in List 0 for the current PU points to the current image itself, there is no need to signal or parse the adaptive motion vector resolution syntax (e.g. adaptive motion vector flag) in the encode or decoder side respectively and the adaptive motion vector resolution flag is inferred as true (i.e., adaptive motion vector resolution enabled) . If the
reference picture index points a reference picture other than the current picture itself, the adaptive motion vector resolution needs to be encoded or decoded. Similar methods apply to List 1 reference pictures as well.
In another embodiment, the adaptive motion vector resolution syntax is encoded or decoded before the reference picture index is encoded or decoded. For a current block, if the adaptive motion vector resolution is not applied (i.e., adaptive motion vector resolution flag equal to false) , the encoded or decoded reference picture index cannot point to the current image itself. In one example, the reference picture index codeword that corresponding to the current picture is removed from the codeword table. If the adaptive MV resolution is used for the current block, a reference picture index for the current block is signalled or parsed, wherein if the reference picture list includes the current picture, a codeword of the reference picture index corresponding to the current image is included in a codeword table. In another example, the bitstream conformance requires that the signalled or parsed reference picture index shall not be equal to the reference picture index pointing to the current image if the adaptive MV resolution is not applied for the current block.
The inventions disclosed above can be incorporated into various video encoding or decoding systems in various forms. For example, the inventions can be implemented using hardware-based approaches, such as dedicated integrated circuits (IC) , field programmable logic array (FPGA) , digital signal processor (DSP) , central processing unit (CPU) , etc. The inventions can also be implemented using software codes or firmware codes executable on a computer, laptop or mobile device such as smart phones. Furthermore, the software codes or firmware codes can be executable on a mixed-type platform such as a CPU with dedicated processors (e.g. video coding engine or co-processor) .
Fig. 11 illustrates a flowchart of an exemplary coding system with the affine motion compensation or adaptive motion vector (MV) resolution mode enabled according to an embodiment of the present invention. The steps shown in the flowchart, as well as other following flowcharts in this disclosure, may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side and/or the decoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a current image are received in step 1110, where the affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image. At the encoder side, the input data may correspond to video data to be encoded. At the decoder side, the input data may correspond to compressed video data to be
decoded. In step 1120, one or more reference picture indexes for a current block is signalled or parsed. As is understood, one or more reference picture indexes for a current block is signalled at the encoder side or parsed at the decoder side. In step 1130, if one reference picture index for the current block points to the current image, the affine motion compensation is inferred as Off for the current block without a need for signalling or parsing an affine mode syntax or the adaptive MV resolution is inferred as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
Fig. 12 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention. According to this method, input data associated with a current image is received in step 1210, wherein current picture referencing (CPR) mode is enabled, and wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image. In step 1220, whether affine mode is used for the current block when the affine motion compensation is enabled for the current image is determined, or whether the adaptive MV resolution is used for the current block when the adaptive MV resolution is enabled for the current image is determined. In step 1230, if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, a reference picture index for the current block is signalled or parsed, wherein the reference picture index always points to one reference picture other than the current image. As is understood that the reference picture index for the current block is signalled at the encoder side or parsed at the decoder side.
Fig. 13 illustrates a flowchart of an exemplary coding system with the current picture referencing (CPR) mode enabled according to an embodiment of the present invention. According to this embodiment, input data associated with a current image is received in step 1310, wherein current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image. Affine mode and reference picture index is determined for the current block in step 1320. As is known in the field, the encoder may determine whether to use the affine mode for the current block based on a certain performance criterion such as rate-distortion optimization (RDO) . At the decoder side, whether the affine mode is used for the block can be determined from coded information, such as a syntax element in the video bitstream. In step 1330, if the affine mode is used for the current block, a number of motion vectors (MVs) for the current block for a reference picture list is signalled or parsed depending on whether the reference picture index for the current block points to the current image.
The flowcharts shown are intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps,
split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of 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 one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code 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 code may be developed in different programming languages and different formats or styles. 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.
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 (20)
- A method of video encoding and decoding used by a video encoding system and video decoding system respectively, the method comprising:receiving input data associated with a current block in a current image, wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image;signalling or parsing one or more reference picture indexes for a current block; andif one reference picture index for the current block points to the current image, inferring the affine motion compensation as Off for the current block without a need for signalling or parsing an affine mode syntax or inferring the adaptive MV resolution as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
- The method of Claim 1, wherein when the affine motion compensation is enabled for coding the current image and if the reference picture index for the current block points to one reference picture other than the current image, the affine mode syntax is signalled or parsed to determine whether the affine motion compensation is applied to the current block.
- The method of Claim 1, wherein when the adaptive MV resolution is enabled for coding the current image and if the reference picture index for the current block points to one reference picture other than the current image, the adaptive MV resolution syntax is signalled or parsed to determine whether the adaptive MV resolution is applied to the current block.
- The method of Claim 1, wherein if a target reference picture index for a target reference picture list points to one reference picture other than the current image and an MVD (motion vector difference) value associated with the target reference picture list is not equal to zero, the adaptive MV resolution syntax is signalled or parsed, and wherein the target reference picture list corresponds to List 0 or List 1.
- The method of Claim 1, wherein if a reference picture index points to the current image or a MVD (motion vector difference) value associated with one reference picture list is equal to zero for one or both reference picture lists, the adaptive MV resolution syntax is inferred as false.
- The method of Claim 1, wherein the reference picture index for the current block is signalled or parsed before the affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed.
- An apparatus of video encoding and decoding used by a video encoding system and video decoding system respectively, the apparatus comprising one or more electronic circuits or processors arrange to:receive input data associated with a current block in a current image, wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image;signal or parse one or more reference picture indexes for a current block; andif one reference picture index for the current block points to the current image, infer the affine motion compensation as Off for the current block without a need for signalling or parsing an affine mode syntax or infer the adaptive MV resolution as On for the current block without a need for signalling or parsing an adaptive motion vector resolution syntax.
- A method of video encoding and decoding used by a video encoding system and video decoding system respectively, the method comprising:receiving input data associated with a current block in a current image, wherein current picture referencing (CPR) mode is enabled, and wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image;determining whether affine mode is used for the current block when the affine motion compensation is enabled for the current image, or determining whether the adaptive MV resolution is used for the current block when the adaptive MV resolution is enabled for the current image; andif the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, signalling or parsing a reference picture index for the current block, wherein the reference picture index always points to one reference picture other than the current image.
- The method of Claim 8, wherein a codeword for the reference picture index corresponding to the current image is removed from a codeword table if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block.
- The method of Claim 8, wherein a conforming video bitstream is used to cause the reference picture index to point to one reference picture other than the current image if the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block.
- The method of Claim 8, wherein said determining whether affine mode or adaptive MV resolution is used for the current block comprises signalling or parsing an affine mode syntax or an adaptive MV resolution mode syntax before signalling or parsing the reference picture index for the current block.
- The method of Claim 8, wherein the reference picture index for the current block is signalled or parsed after an affine mode syntax or an adaptive MV resolution mode syntax is signalled or parsed.
- The method of Claim 8, wherein if the affine mode is not used for the current block, a reference picture index for the current block is signalled or parsed, and wherein a codeword of the reference picture index corresponding to the current image is included in a codeword table.
- The method of Claim 8, wherein if the adaptive MV resolution is used for the current block, a reference picture index for the current block is signalled or parsed, and wherein a codeword of the reference picture index corresponding to the current image is included in a codeword table.
- An apparatus of video encoding and decoding used by a video encoding system and video decoding system respectively, the apparatus comprising one or more electronic circuits or processors arrange to:receive input data associated with associated with a current block in a current image, wherein current picture referencing (CPR) mode is enabled, and wherein affine motion compensation or adaptive motion vector (MV) resolution is enabled for coding the current image;determine whether affine mode is used for the current block when the affine motion compensation is enabled for the current image, or determine whether the adaptive MV resolution is used for the current block when the adaptive MV resolution is enabled for the current image; andif the affine mode is used for the current block or if the adaptive MV resolution is not used for the current block, signal or parse a reference picture index for the current block, wherein the reference picture index always points to one reference picture not equal to the current image.
- A method of video encoding and decoding used by a video encoding system and video decoding system respectively, the method comprising:receiving input data associated with associated with a current block in a current image, wherein current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image;determining an affine mode and a reference picture index for the current block; andif the affine mode is used for the current block, signalling or parsing a number of motion vectors (MVs) for the current block for a reference picture list depending on whether the reference picture index for the current block points to the current image.
- The method of Claim 16, wherein if the affine mode is used for the current block and the reference picture index for the current block points to the current image, only one MV is signalled or parsed for the current block for the reference picture list.
- The method of Claim 16, wherein each MV is represented by one MV predictor and one MV difference, or one MV predictor index and one MV difference.
- The method of Claim 16, wherein if the affine mode is used for the current block and the reference picture index for the current block points to one reference image other than the current image, more than one MV is signalled or parsed for the current block for the reference picture list.
- An apparatus of video encoding and decoding used by a video encoding system and video decoding system respectively, the apparatus comprising one or more electronic circuits or processors arrange to:receive input data associated with associated with a current block in a current image, wherein current picture referencing (CPR) mode and affine motion compensation are enabled for coding the current image;determine affine mode and reference picture index for the current block; andif the affine mode is used for the current block, signal or parse a number of motion vectors (MVs) for the current block for a reference picture list depending on whether the reference picture index for the current block points to the current image.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780026110.7A CN109076214A (en) | 2016-05-28 | 2017-05-26 | The method and apparatus that the present image of the Video coding compensated using affine motion is referred to |
US16/304,209 US20200322599A1 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding using affine motion compensation |
CA3025490A CA3025490A1 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding using affine motion compensation |
EP17805749.3A EP3456043A4 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding using affine motion compensation |
TW106117846A TWI652939B (en) | 2016-05-28 | 2017-05-31 | Video coding method and device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662342883P | 2016-05-28 | 2016-05-28 | |
US62/342,883 | 2016-05-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017206804A1 true WO2017206804A1 (en) | 2017-12-07 |
Family
ID=60478454
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/086049 WO2017206803A1 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding |
PCT/CN2017/086065 WO2017206804A1 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding using affine motion compensation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/086049 WO2017206803A1 (en) | 2016-05-28 | 2017-05-26 | Method and apparatus of current picture referencing for video coding |
Country Status (7)
Country | Link |
---|---|
US (2) | US20200322599A1 (en) |
EP (2) | EP3449630B1 (en) |
CN (2) | CN109076214A (en) |
CA (1) | CA3025490A1 (en) |
RU (1) | RU2710667C1 (en) |
TW (2) | TWI702830B (en) |
WO (2) | WO2017206803A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020141885A1 (en) * | 2019-01-02 | 2020-07-09 | 엘지전자 주식회사 | Image coding method and device using deblocking filtering |
CN111869216A (en) * | 2018-02-12 | 2020-10-30 | 联发科技股份有限公司 | Method and apparatus for current picture reference for video coding and decoding using adaptive motion vector resolution and subblock prediction mode |
EP3750314A4 (en) * | 2018-02-05 | 2020-12-16 | Tencent America LLC | Method and apparatus for video coding |
CN113170153A (en) * | 2018-11-20 | 2021-07-23 | 交互数字Vc控股公司 | Initializing current picture reference block vectors based on binary trees |
CN113170167A (en) * | 2018-11-29 | 2021-07-23 | 北京字节跳动网络技术有限公司 | Flag indication method in intra-block copy mode |
CN114503558A (en) * | 2019-09-30 | 2022-05-13 | 华为技术有限公司 | Adaptive use of interpolation filters in affine motion compensation |
US12047599B2 (en) | 2020-01-07 | 2024-07-23 | Huawei Technologies Co., Ltd. | Motion vector range derivation for enhanced interpolation filter |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116647677A (en) * | 2016-10-28 | 2023-08-25 | 韩国电子通信研究院 | Video encoding/decoding method and apparatus, and recording medium storing bit stream |
WO2019135629A1 (en) * | 2018-01-05 | 2019-07-11 | 에스케이텔레콤 주식회사 | Method for reconstructing chroma block, and image decoding apparatus using same |
US10687071B2 (en) * | 2018-02-05 | 2020-06-16 | Tencent America LLC | Method and apparatus for video coding |
CN110324627B (en) * | 2018-03-30 | 2022-04-05 | 杭州海康威视数字技术股份有限公司 | Chroma intra-frame prediction method and device |
WO2019234609A1 (en) * | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between ibc and bio |
WO2019234605A1 (en) * | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Extended quad-tree with asymmetric sub-blocks and different tree for chroma |
CN118250474A (en) * | 2018-06-07 | 2024-06-25 | 韦勒斯标准与技术协会公司 | Video signal processing method and apparatus using adaptive motion vector resolution |
CN110636300B (en) | 2018-06-21 | 2022-07-29 | 北京字节跳动网络技术有限公司 | Sub-block motion vector inheritance between color components |
TWI739120B (en) | 2018-06-21 | 2021-09-11 | 大陸商北京字節跳動網絡技術有限公司 | Unified constrains for the merge affine mode and the non-merge affine mode |
WO2020006969A1 (en) * | 2018-07-02 | 2020-01-09 | 华为技术有限公司 | Motion vector prediction method and related device |
WO2020017513A1 (en) * | 2018-07-16 | 2020-01-23 | Sharp Kabushiki Kaisha | Systems and methods for generating prediction blocks for coding of video data |
HUE064218T2 (en) * | 2018-08-28 | 2024-02-28 | Huawei Tech Co Ltd | Picture partition method and device |
EP3850849A1 (en) * | 2018-09-13 | 2021-07-21 | InterDigital VC Holdings, Inc. | Improved virtual temporal affine candidates |
EP3837835A4 (en) | 2018-09-18 | 2021-06-23 | Huawei Technologies Co., Ltd. | Coding method, device, system |
CN112740689B (en) * | 2018-09-18 | 2024-04-12 | 华为技术有限公司 | Video encoder, video decoder and corresponding methods |
US10848782B2 (en) | 2018-09-21 | 2020-11-24 | Tencent America LLC | Method and apparatus for video coding |
CN110944193B (en) | 2018-09-24 | 2023-08-11 | 北京字节跳动网络技术有限公司 | Weighted bi-prediction in video encoding and decoding |
US11317099B2 (en) * | 2018-10-05 | 2022-04-26 | Tencent America LLC | Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction |
WO2020084510A1 (en) * | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Adaptive control point selection for affine coding |
CN111107373B (en) * | 2018-10-29 | 2023-11-03 | 华为技术有限公司 | Inter-frame prediction method based on affine prediction mode and related device |
US11689724B2 (en) * | 2018-11-02 | 2023-06-27 | Sharp Kabushiki Kaisha | Systems and methods for reference offset signaling in video coding |
CN113273198A (en) * | 2018-11-06 | 2021-08-17 | 交互数字Vc控股公司 | Parameter grouping between multiple coding units for video encoding and decoding |
JP7324841B2 (en) | 2018-11-10 | 2023-08-10 | 北京字節跳動網絡技術有限公司 | Video data processing method, apparatus, storage medium and storage method |
WO2020098786A1 (en) * | 2018-11-16 | 2020-05-22 | Mediatek Inc. | Method and apparatus of luma-chroma separated coding tree coding with constraints |
WO2020108571A1 (en) * | 2018-11-28 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Extension method for motion reference in intra block copy mode |
WO2020125798A1 (en) | 2018-12-22 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Intra block copy mode with dual tree partition |
WO2020114517A1 (en) * | 2018-12-08 | 2020-06-11 | Beijing Bytedance Network Technology Co., Ltd. | Shifting on affine parameters |
WO2020125751A1 (en) * | 2018-12-21 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Information signaling in current picture referencing mode |
CN113228644B (en) * | 2018-12-30 | 2023-11-17 | 寰发股份有限公司 | Method and apparatus for encoding a luma-chroma independent coding tree with constraints |
US11949851B2 (en) | 2019-01-04 | 2024-04-02 | Lg Electronics Inc. | Inter prediction method and apparatus using CPR-based MMVD |
US10771799B2 (en) * | 2019-01-15 | 2020-09-08 | Tencent America LLC | Method and apparatus for video coding |
WO2020156545A1 (en) | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Prediction using intra-buffer samples for intra block copy in video coding |
KR102662448B1 (en) | 2019-02-02 | 2024-05-02 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | In-buffer data storage for intra-block copy in video coding |
US11632563B2 (en) * | 2019-02-22 | 2023-04-18 | Qualcomm Incorporated | Motion vector derivation in video coding |
AU2020226574A1 (en) * | 2019-02-22 | 2021-09-30 | Huawei Technologies Co., Ltd. | Method and apparatus for affine based inter prediction of chroma subblocks |
US11991373B2 (en) * | 2019-02-28 | 2024-05-21 | Interdigital Vc Holdings, Inc. | Method and device for picture encoding and decoding |
JP7405861B2 (en) | 2019-03-01 | 2023-12-26 | 北京字節跳動網絡技術有限公司 | Direction-based prediction for intra block copy in video coding |
EP3915252A4 (en) | 2019-03-04 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | Implementation aspects in intra block copy in video coding |
CN113545049B (en) | 2019-03-08 | 2024-04-19 | 北京字节跳动网络技术有限公司 | Constraints on model-based shaping in video processing |
AU2019201649A1 (en) * | 2019-03-11 | 2020-10-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN113812147B (en) * | 2019-03-14 | 2024-04-09 | Sk电信有限公司 | Image encoding and decoding using intra-block copy |
US11343525B2 (en) * | 2019-03-19 | 2022-05-24 | Tencent America LLC | Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors |
US11677969B2 (en) * | 2019-03-22 | 2023-06-13 | Tencent America LLC | Method and apparatus for video coding |
WO2020191575A1 (en) * | 2019-03-25 | 2020-10-01 | 富士通株式会社 | Image coding and decoding method, image coding and decoding apparatus, and electronic device |
CN113647110B (en) * | 2019-04-01 | 2022-11-08 | 北京字节跳动网络技术有限公司 | Indication of a one-half pixel interpolation filter in an inter-coding mode |
WO2020211869A1 (en) * | 2019-04-18 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation in cross component mode |
CN117579841A (en) | 2019-04-23 | 2024-02-20 | 北京字节跳动网络技术有限公司 | Method for reducing cross-component dependency |
CN113728642B (en) | 2019-04-24 | 2024-04-02 | 字节跳动有限公司 | Quantized residual differential pulse codec modulation representation of a codec video |
WO2020223496A1 (en) * | 2019-04-30 | 2020-11-05 | Beijing Dajia Internet Informationtechnology Co., Ltd. | Methods and apparatus of joint coding of chroma residuals |
CN113796069B (en) | 2019-05-01 | 2024-03-08 | 字节跳动有限公司 | Intra-frame codec video using quantized residual differential pulse codec modulation codec |
CN117615130A (en) * | 2019-05-02 | 2024-02-27 | 字节跳动有限公司 | Coding and decoding mode based on coding and decoding tree structure type |
WO2020224629A1 (en) | 2019-05-08 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for applicability of cross-component coding |
MX2021013978A (en) | 2019-05-15 | 2022-04-01 | Huawei Tech Co Ltd | Handling of decoder-side motion vector refinement (dmvr) coding tool for reference picture resampling in video coding. |
EP3912348A4 (en) * | 2019-05-16 | 2022-06-22 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods using ibc dedicated buffer and default value refreshing for luma and chroma component |
EP3954119A4 (en) * | 2019-05-21 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | Syntax signaling in sub-block merge mode |
CN113796070A (en) * | 2019-06-10 | 2021-12-14 | Oppo广东移动通信有限公司 | Method for determining predicted value, encoder, and computer storage medium |
CN114208175B (en) * | 2019-06-11 | 2023-06-13 | Lg电子株式会社 | Image decoding method and device based on chroma quantization parameter data |
WO2020256488A1 (en) | 2019-06-19 | 2020-12-24 | 엘지전자 주식회사 | Image encoding/decoding method and apparatus for limiting size of chroma block, and method for transmitting bitstream |
CN112118451B (en) * | 2019-06-20 | 2022-09-27 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment |
CN113994697A (en) | 2019-06-22 | 2022-01-28 | 北京字节跳动网络技术有限公司 | Syntax element for chroma residual scaling |
CN112135128B (en) * | 2019-06-24 | 2024-07-05 | 华为技术有限公司 | Image prediction method, coding tree node division method and device thereof |
FR3098073B1 (en) * | 2019-06-25 | 2021-09-24 | Fond B Com | Method for encoding and decoding an image of a video sequence and associated device |
MX2022000102A (en) | 2019-07-06 | 2022-02-03 | Beijing Bytedance Network Tech Co Ltd | Virtual prediction buffer for intra block copy in video coding. |
KR102660738B1 (en) | 2019-07-07 | 2024-04-26 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Signaling of chroma residual scaling |
JP7359934B2 (en) | 2019-07-10 | 2023-10-11 | 北京字節跳動網絡技術有限公司 | Sample identification for intra block copying in video coding |
CN117579816A (en) * | 2019-07-11 | 2024-02-20 | 北京字节跳动网络技术有限公司 | Bit stream consistency constraints for intra block copying in video codec |
CN114175662B (en) | 2019-07-20 | 2023-11-24 | 北京字节跳动网络技术有限公司 | Condition dependent codec with palette mode usage indication |
CN117221536A (en) * | 2019-07-23 | 2023-12-12 | 北京字节跳动网络技术有限公司 | Mode determination for palette mode coding and decoding |
US11277611B2 (en) * | 2019-07-24 | 2022-03-15 | Qualcomm Incorporated | Delta quantization parameter (QP) signaling in palette mode |
WO2021023258A1 (en) * | 2019-08-06 | 2021-02-11 | Beijing Bytedance Network Technology Co., Ltd. | Video region partition based on color format |
CN114175654A (en) | 2019-08-08 | 2022-03-11 | 鸿颖创新有限公司 | Apparatus and method for encoding video data |
WO2021027774A1 (en) | 2019-08-10 | 2021-02-18 | Beijing Bytedance Network Technology Co., Ltd. | Subpicture dependent signaling in video bitstreams |
CN110446044B (en) * | 2019-08-21 | 2022-08-09 | 浙江大华技术股份有限公司 | Linear model prediction method, device, encoder and storage device |
EP4044592A3 (en) * | 2019-08-23 | 2022-12-21 | HFI Innovation Inc. | Method and apparatus of partitioning small size coding units with partition constraints |
US11218718B2 (en) * | 2019-08-26 | 2022-01-04 | Tencent America LLC | Adaptive motion vector resolution signaling |
EP4008106A4 (en) | 2019-09-02 | 2022-11-09 | Beijing Bytedance Network Technology Co., Ltd. | Video region partition based on color format |
WO2021051044A1 (en) | 2019-09-14 | 2021-03-18 | Bytedance Inc. | Quantization parameter offset for chroma deblocking filtering |
CN110719467B (en) * | 2019-09-18 | 2022-04-19 | 浙江大华技术股份有限公司 | Prediction method of chrominance block, encoder and storage medium |
KR20220066041A (en) * | 2019-09-20 | 2022-05-23 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Luma Mapping in Chroma Scaling |
MX2022003122A (en) | 2019-09-21 | 2022-04-06 | Beijing Bytedance Network Tech Co Ltd | Size restriction based for chroma intra mode. |
JP2022552338A (en) * | 2019-10-14 | 2022-12-15 | バイトダンス インコーポレイテッド | Joint coding of chroma residuals and filtering in video processing |
CN114631317B (en) | 2019-10-18 | 2024-03-15 | 北京字节跳动网络技术有限公司 | Syntax constraints in parameter set signaling of sub-pictures |
MX2022005622A (en) * | 2019-11-11 | 2022-06-14 | Hfi Innovation Inc | Method and apparatus of signaling adaptive motion vector difference resolution in video coding. |
WO2021134666A1 (en) * | 2019-12-31 | 2021-07-08 | 北京大学 | Video processing method and apparatus |
US11445176B2 (en) * | 2020-01-14 | 2022-09-13 | Hfi Innovation Inc. | Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding |
CN112203085B (en) * | 2020-09-30 | 2023-10-17 | 字节跳动(香港)有限公司 | Image processing method, device, terminal and storage medium |
CN112203086B (en) * | 2020-09-30 | 2023-10-17 | 字节跳动(香港)有限公司 | Image processing method, device, terminal and storage medium |
US20220286666A1 (en) * | 2021-02-26 | 2022-09-08 | Lemon Inc. | Methods of coding images/videos with alpha channels |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130272403A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Reference picture set prediction for video coding |
CN105163116A (en) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | Method and device for image prediction |
US20160100189A1 (en) * | 2014-10-07 | 2016-04-07 | Qualcomm Incorporated | Intra bc and inter unification |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8411746B2 (en) * | 2009-06-12 | 2013-04-02 | Qualcomm Incorporated | Multiview video coding over MPEG-2 systems |
EP2514209A4 (en) * | 2009-12-17 | 2014-03-26 | Ericsson Telefon Ab L M | Method and arrangement for video coding |
CN106060546A (en) * | 2010-06-17 | 2016-10-26 | 夏普株式会社 | Decoding apparatus and encoding apparatus |
KR20130049526A (en) | 2011-11-04 | 2013-05-14 | 오수미 | Method for generating reconstructed block |
KR101749297B1 (en) * | 2012-04-12 | 2017-06-21 | 미디어텍 싱가폴 피티이. 엘티디. | Method and apparatus for block partition of chroma subsampling formats |
CN103634603B (en) * | 2012-08-29 | 2017-07-07 | 中兴通讯股份有限公司 | Video coding-decoding method, apparatus and system |
US9743091B2 (en) | 2012-12-17 | 2017-08-22 | Lg Electronics Inc. | Method for encoding/decoding image, and device using same |
GB2512826B (en) * | 2013-04-05 | 2017-05-10 | Canon Kk | Method and device for determining the value of a quantization parameter |
US10015515B2 (en) | 2013-06-21 | 2018-07-03 | Qualcomm Incorporated | Intra prediction from a predictive block |
US9774879B2 (en) * | 2013-08-16 | 2017-09-26 | Sony Corporation | Intra-block copying enhancements for HEVC in-range-extension (RExt) |
US11470339B2 (en) * | 2013-08-27 | 2022-10-11 | Qualcomm Incorporated | Residual prediction for intra block copying |
AU2013228045A1 (en) * | 2013-09-13 | 2015-04-02 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
RU2654129C2 (en) * | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Features of intra block copy prediction mode for video and image coding and decoding |
CA2924501C (en) * | 2013-11-27 | 2021-06-22 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
US9883197B2 (en) * | 2014-01-09 | 2018-01-30 | Qualcomm Incorporated | Intra prediction of chroma blocks using the same vector |
US10368092B2 (en) * | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US10432928B2 (en) * | 2014-03-21 | 2019-10-01 | Qualcomm Incorporated | Using a current picture as a reference for video coding |
US10091532B2 (en) * | 2014-06-26 | 2018-10-02 | Qualcomm Incorporated | Bitstream conformance constraints in scalable video coding |
CN106797475B (en) * | 2014-10-08 | 2019-12-10 | 联发科技股份有限公司 | video coding method |
US10212444B2 (en) * | 2016-01-15 | 2019-02-19 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
-
2017
- 2017-05-26 EP EP17805748.5A patent/EP3449630B1/en active Active
- 2017-05-26 US US16/304,209 patent/US20200322599A1/en not_active Abandoned
- 2017-05-26 WO PCT/CN2017/086049 patent/WO2017206803A1/en unknown
- 2017-05-26 CN CN201780026110.7A patent/CN109076214A/en active Pending
- 2017-05-26 WO PCT/CN2017/086065 patent/WO2017206804A1/en unknown
- 2017-05-26 RU RU2018145683A patent/RU2710667C1/en active
- 2017-05-26 EP EP17805749.3A patent/EP3456043A4/en not_active Withdrawn
- 2017-05-26 CN CN201780026466.0A patent/CN109076210B/en active Active
- 2017-05-26 US US16/301,772 patent/US11089323B2/en active Active
- 2017-05-26 CA CA3025490A patent/CA3025490A1/en not_active Abandoned
- 2017-05-31 TW TW106117843A patent/TWI702830B/en active
- 2017-05-31 TW TW106117846A patent/TWI652939B/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130272403A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Reference picture set prediction for video coding |
US20160100189A1 (en) * | 2014-10-07 | 2016-04-07 | Qualcomm Incorporated | Intra bc and inter unification |
CN105163116A (en) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | Method and device for image prediction |
Non-Patent Citations (1)
Title |
---|
See also references of EP3456043A4 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11516479B2 (en) | 2018-02-05 | 2022-11-29 | Tencent America LLC | Method and apparatus for video decoding of an affine model in an intra block copy mode |
EP3750314A4 (en) * | 2018-02-05 | 2020-12-16 | Tencent America LLC | Method and apparatus for video coding |
US11202079B2 (en) | 2018-02-05 | 2021-12-14 | Tencent America LLC | Method and apparatus for video decoding of an affine model in an intra block copy mode |
CN111869216A (en) * | 2018-02-12 | 2020-10-30 | 联发科技股份有限公司 | Method and apparatus for current picture reference for video coding and decoding using adaptive motion vector resolution and subblock prediction mode |
CN111869216B (en) * | 2018-02-12 | 2024-05-28 | 联发科技股份有限公司 | Method and apparatus for syntax processing for video codec system |
GB2585304B (en) * | 2018-02-12 | 2023-03-08 | Mediatek Inc | Method and apparatus of current picture referencing for video coding using adaptive motion vector resolution and sub-block prediction mode |
CN113170153A (en) * | 2018-11-20 | 2021-07-23 | 交互数字Vc控股公司 | Initializing current picture reference block vectors based on binary trees |
US11979585B2 (en) | 2018-11-20 | 2024-05-07 | Interdigital Madison Patent Holdings, Sas | Current picture referencing block vector initialization with dual tree |
CN113170167A (en) * | 2018-11-29 | 2021-07-23 | 北京字节跳动网络技术有限公司 | Flag indication method in intra-block copy mode |
US11310534B2 (en) | 2019-01-02 | 2022-04-19 | Lg Electronics Inc. | Image coding method and device using deblocking filtering |
US11736736B2 (en) | 2019-01-02 | 2023-08-22 | Lg Electronics Inc. | Image coding method and device using deblocking filtering |
WO2020141885A1 (en) * | 2019-01-02 | 2020-07-09 | 엘지전자 주식회사 | Image coding method and device using deblocking filtering |
CN114503558A (en) * | 2019-09-30 | 2022-05-13 | 华为技术有限公司 | Adaptive use of interpolation filters in affine motion compensation |
CN114503558B (en) * | 2019-09-30 | 2023-10-20 | 华为技术有限公司 | Adaptive use of interpolation filters in affine motion compensation |
US12047599B2 (en) | 2020-01-07 | 2024-07-23 | Huawei Technologies Co., Ltd. | Motion vector range derivation for enhanced interpolation filter |
Also Published As
Publication number | Publication date |
---|---|
TW201804804A (en) | 2018-02-01 |
TWI702830B (en) | 2020-08-21 |
US20190222859A1 (en) | 2019-07-18 |
TWI652939B (en) | 2019-03-01 |
CN109076210A (en) | 2018-12-21 |
EP3456043A1 (en) | 2019-03-20 |
CN109076210B (en) | 2021-04-09 |
EP3456043A4 (en) | 2019-11-27 |
EP3449630A4 (en) | 2019-11-27 |
EP3449630B1 (en) | 2024-07-10 |
US20200322599A1 (en) | 2020-10-08 |
US11089323B2 (en) | 2021-08-10 |
WO2017206803A1 (en) | 2017-12-07 |
RU2710667C1 (en) | 2019-12-30 |
CA3025490A1 (en) | 2017-12-07 |
EP3449630A1 (en) | 2019-03-06 |
TW201804796A (en) | 2018-02-01 |
CN109076214A (en) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017206804A1 (en) | Method and apparatus of current picture referencing for video coding using affine motion compensation | |
EP3731527B1 (en) | Method and apparatus of palette mode coding for colour video data | |
US11785207B2 (en) | Apparatus of encoding or decoding video blocks by current picture referencing coding | |
AU2019217409B2 (en) | Method and apparatus of current picture referencing for video coding using adaptive motion vector resolution and sub-block prediction mode | |
TWI646829B (en) | Method and apparatus of video encoding used by a video encoding system | |
US20200288145A1 (en) | Method and apparatus of palette mode coding for colour video data | |
WO2020035022A1 (en) | Method and apparatus of simplified merge candidate list for video coding | |
WO2021093730A1 (en) | Method and apparatus of signaling adaptive motion vector difference resolution in video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 3025490 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17805749 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017805749 Country of ref document: EP Effective date: 20181210 |