WO2015139173A1 - Improved method for block vector coding - Google Patents

Improved method for block vector coding Download PDF

Info

Publication number
WO2015139173A1
WO2015139173A1 PCT/CN2014/073522 CN2014073522W WO2015139173A1 WO 2015139173 A1 WO2015139173 A1 WO 2015139173A1 CN 2014073522 W CN2014073522 W CN 2014073522W WO 2015139173 A1 WO2015139173 A1 WO 2015139173A1
Authority
WO
WIPO (PCT)
Prior art keywords
coded
block
current block
bvd
lxibc
Prior art date
Application number
PCT/CN2014/073522
Other languages
French (fr)
Inventor
Kai Zhang
Jicheng An
Xianguo Zhang
Han HUANG
Original Assignee
Mediatek Singapore Pte. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mediatek Singapore Pte. Ltd. filed Critical Mediatek Singapore Pte. Ltd.
Priority to PCT/CN2014/073522 priority Critical patent/WO2015139173A1/en
Publication of WO2015139173A1 publication Critical patent/WO2015139173A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Efficient block-copying vector (BV) coding methods are proposed. BVs in a block applying 1xIBC mode are coded predictively. In addition, it should be informed whether some special cases happen and special BV coding methods are applied in those special cases.

Description

IMPROVED METHOD FOR BLOCK VECTOR CODING
FIELD OF INVENTION
The invention relates generally to video/image processing. In particular, the presented invention relates to intra block copying.
BACKGROUND OF THE INVENTION
In the current HEVC range extensions draft specification [1], Intra block copying (Intra BC) was adopted to take advantage of reduplicated content in a picture. As depicted in Fig. l, a reference block in the current picture is copied to the current block as the prediction if Intra BC is applied. The reference block is located by applying a block-copying vector (BV). The samples in the reference block must have been reconstructed already before the current block is coded or decoded.
As an amendment to IBC, line based IBC (also named as IxIBC) was proposed [2]. In IxIBC, intra block copying is applied column by column which is called horizontal IxIBC, or row by row, which is called vertical IxIBC. Fig. 2 and Fig. 3 demonstrate horizontal IxIBC and vertical IxIBC respectively. In IxIBC, a BV possesses only one component. In horizontal IxIBC, BV can be formed as (x, 0). In vertical IxIBC, BV can be formed as (0, y). It should be noted that the top left pixel of the current coding block is set as the origin (0, 0). As a simplification, the prediction column is only allowed to be to the left of the current block in horizontal IxIBC, while the prediction row is only allowed to be above of the current block in vertical IxIBC. For clarification, x > 0 if the column is to the left of the current block and ^ > 0 if the row is above the current block. Therefore BV can be formed as (x, 0) where x > 0 in horizontal IxIBC, and as (0, y) where y > 0 in vertical IxIBC. BV i's a notation to represent x in horizontal IxIBC or y in vertical IxIBC. Since horizontal IxIBC and vertical IxIBC are manipulated in the same manner with only different directions, the following discussion may focus on horizontal IxIBC only. All procedures on horizontal IxIBC can be applied on vertical IxIBC by an obvious transposition. This should not be considered as a limitation to the invention.
For a block with N columns or rows, N BVs are signaled. BV[0] to BV[N -1] are signaled one by one separately. Since BV i's always greater than 0, BV - 1 is coded as the absolute value of the motion vector difference (MVD). No sign bit is signaled.
Actually, BVs in a block usually possess high correlation. Thus it is inefficient to code them separately.
SUMMARY OF THE INVENTION
In light of the previously described problems, several BV coding methods are proposed to signal BVs more efficiently.
Other aspects and features of the invention will become apparent to those with ordinary skill in the art upon review of the following descriptions of specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Fig. 1 is a diagram illustrating Intra block copying;
Fig. 2 is a diagram illustrating horizontal lxIBC, where two exemplary BVs are shown; Fig. 3 is a diagram illustrating vertical lxIBC, where two exemplary BVs are shown;
Fig.4 is a diagram illustrating the proposed BV coding method;
Fig.5 is a diagram illustrating horizontal symmetric copying;
Fig.6 is a diagram illustrating vertical symmetric copying.
DETAILED DESCRIPTION
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.
Several BV coding methods are proposed to signal BVs more efficiently.
In one embodiment, a predictive coding way is applied to signal BVs efficiently as depicted in Fig. 4. For BV[i], a BVd[i] is calculated as BVd[i] = BV[i]-p[i] firstly, where p[i] equals to .S fi-l]. .S f-l] is supposed to be 1 when i equals to 0. BVd[i] cannot be lower than - .S fi-l] since BV[i] cannot be negative. Thus a non-negative codeword C[i] is mapped from BVd[i] according to a mapping table as depicted in Table 1. C[i] is coded in the same manner as the absolute value of MVD for i from 0 to 2N-1 sequentially. At decoder, BVd[i] can be recovered from the decoded C[i] according to the mapping table. And BV[i] can be reconstructed as 5F[i]= 5F<i[i]+ >[i], where p[i] is manipulated as that at encoder.
Figure imgf000005_0001
Figure imgf000005_0002
In another embodiment, the prediction value is calculated as a function of .SJT -l] as (BV[i-l]). For example, p[i] = BV[i-\] - 1, or p[[] = BV[i-\] + 1.
In still another embodiment, the prediction value is calculated as a function of .S f-l] ...
BV[i-\] as f(BV[-\] ... BV[i-\]). For example, p[i] = (BV[i-\] + BV[[-2V)/2.
In still another embodiment, 5P -1] is set to other values instead of 1. .S f-l] can be set to other fixed value such as 0 or 2, or it can be set according to the context of the current block. For example, .S f-l] is set to the BVof the nearby column in the left block of the current block, if the current block and its left block both apply horizontal IxIBC. In another example, .S f-l] is set to the BV of nearby row in the above block of the current block, if the current block and its above block both apply vertical IxIBC. In still another example, .S f-l] is set to -xl if the current block applies horizontal IxIBC and xl is the x component of the coded BV of the last block applying block-level IBC. In still another example, .S f-l] is set to -yl if the current block applies horizontal IxIBC and jJ is the y component of the coded BV of the last block applying block-level IBC.
In still another embodiment, C[i] is mapped from BVd[i] according to other mapping tables such as Table 2.
Table 2
Figure imgf000005_0003
In still another embodiment, C[i] is not coded in the same manner as the absolute value of MVD. C[i] can be coded in any manner as a non- negative integer. For example, C[i] can be binarized as Exponential Golomb code and then coded.
In still another embodiment, BVd [i] is not coded by mapping to a non-negative integer. BVd[i] can be coded in any manner as a signed integer.
In still another embodiment, BVd[i] can be coded in a run-length manner. A value and the number of consecutive BVds possessing this value are coded sequentially. For example, value=0 and run-length=4 are coded first to represent BVd[0], BVd[l], BVd[2], and BVd[3] are all 0. Then more values and run-lengths are coded to represent following BVds.
In still another embodiment, C[i] can be coded in a run-length manner. A value and the number of consecutive Cs possessing this value are coded sequentially. For example, value=0 and run-length=4 are coded first to represent C[0], C[l], C[2], and C[3] are all 0. Then more values and run-lengths are coded to represent following Cs.
In still another embodiment, some special cases for BVs or BVds are coded or signaled specially. One or more flags should be signaled to indict whether the special coding method is applied or not. For example, horizontal or vertical symmetric copying as depicted in Fig.5 and Fig.6 can reflect symmetric characteristics in images. In symmetric copying, BV[i] -BV [i-l]=l for all i > 0. A flag is signaled to indicate whether symmetric copying is applied. If symmetric copying is applied, only BV[0] or BVd[0] needs to be coded since all other BVs can be deduced.
In still another embodiment, all the above proposed methods can still work if lxIBC is extended to 2-D case, where neither x nor y component of the BV are equal to zero. All the methods above can be applied to both components. Or, they can be applied to one of the component.
The methods described above can be used in a video encoder as well as in a video decoder. Embodiments of disparity vector derivation methods according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platform. 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. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Claims

1. A method of coding block-copying vectors (BVs) of a current block, wherein coding one BV depends on other BVs in the current block.
2. The method as claimed in claim 1, wherein a BVd[i] is calculated as BVd[i] = BV[i]-p[i] at an encoder while BV[i] is recovered as BV [i] = 5Κ<ί[ι]+/?[ι], where p[i] is prediction for BV[i].
3. The method as claimed in claim 2, wherein p[i] is calculated as a function of .S f-l] ... .S fi-l] as f(BV[-l] ... BV[i-l]), and in a special case, p[i] is calculated as a function of.S fi-l] as (BV[i-l]).
4. The method as claimed in claim 3, wherein p[i] is calculated as
i]= 5 [i-l];
p[i = BV[i-l] - l;
i] = 5F[i-l] + l;
i] = (BV[i-l + 5 [i-2])/2 or (5F[i-l] + 5 [i-2]+l)/2;
p[[] = (BV[i- \ ] + ^[ί-1])/2 or = (BV[i- \ ] + p[[-\]+\)/2; or
p[i] = a0* BV[0]+ ai* BV[\]+... ai.i*BV[i-l].
5. The method as claimed in claim 2, wherein BVd[i] is coded in any manner as a signed integer.
6. The method as claimed in claim 2, wherein a non-negative codeword C[i] is converted from BVd[i]. For example, C[i] is mapped from BVd[i] according to a mapping table such as
Table 1 or Table 2.
7. The method as claimed in claim 6, wherein C[i] is coded in any manner as a non- negative integer, wherein C[i] is coded in same manner as an absolute value of MVD.
8. The method as claimed in claim 3, wherein B V[-l] is set to a fixed value.
9. The method as claimed in claim 3, wherein .S f-l] is set according to context of the current block, comprising: setting .S f-l] to the BV of a nearby column in a left block of the current block, if the current block and the left block both apply horizontal lXibc;
setting .S f-l] to the BV of a nearby row in an above block of the current block, if the current block and the above block both apply vertical lXibc;
setting .S f-l] to -xl if the current block applies horizontal lXibc and xl is the x component of the coded BV of a last block applying block-level IBC; or
setting .S f-l] to -yl if the current block applies horizontal lXibc and yl is the y component of the coded BV of a last block applying block-level IBC.
10. The method as claimed in claim 2, wherein BVd[i] is coded in a run-length manner, and a value and a number of consecutive BVds possessing the value are coded sequentially.
11. The method as claimed in claim 6, wherein C[i] is coded in a run-length manner, and a value and the number of consecutive Cs possessing the value are coded sequentially.
12. The method as claimed in claim 1, wherein some special cases for BVs or BVds are coded or signaled specially; and one or more flags are signaled to indict whether one or more special coding methods are applied or not.
13. The method as claimed in claim 12, wherein a flag is signaled to indicate whether symmetric copying is applied; if symmetric copying is applied, only .S fO] or BVd[0] are coded since all other B Vs are deduced.
14. The method as claimed in claim 1, wherein the method works if lXibc is extended to 2-D case, where neither x nor y component of the BV are equal to zero.
15. The method as claimed in claim 14, wherein the method is applied to one component or both components.
16. The method as claimed in claim 15, wherein the method is only applied to the x component if the current block applies horizontal lxIBC.
17. The method as claimed in claim 15, wherein the method is only applied to the y component if the current block applies vertical lxIBC.
PCT/CN2014/073522 2014-03-17 2014-03-17 Improved method for block vector coding WO2015139173A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/073522 WO2015139173A1 (en) 2014-03-17 2014-03-17 Improved method for block vector coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/073522 WO2015139173A1 (en) 2014-03-17 2014-03-17 Improved method for block vector coding

Publications (1)

Publication Number Publication Date
WO2015139173A1 true WO2015139173A1 (en) 2015-09-24

Family

ID=54143609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/073522 WO2015139173A1 (en) 2014-03-17 2014-03-17 Improved method for block vector coding

Country Status (1)

Country Link
WO (1) WO2015139173A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130136175A1 (en) * 2011-09-12 2013-05-30 Qualcomm Incorporated Non-square transform units and prediction units in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130136175A1 (en) * 2011-09-12 2013-05-30 Qualcomm Incorporated Non-square transform units and prediction units in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LAROCHE, GUILLAUME ET AL.: "Non-RCE3: On initialization of the block vector predictor for Intra Block Copy", 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 JOSÉ, US , 9- 17 JAN. 2014, 17 January 2014 (2014-01-17) *
LAROCHE, GUILLAUME ET AL.: "Text and results for block vector predictor for intra block copy", 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 JOSÉ, US , 9- 17 JAN. 2014, 17 January 2014 (2014-01-17) *

Similar Documents

Publication Publication Date Title
US11109052B2 (en) Method of motion vector derivation for video coding
US10368092B2 (en) Encoder-side decisions for block flipping and skip mode in intra block copy prediction
US10555001B2 (en) Method of video coding using prediction based on intra picture block copy
EP3130147B1 (en) Methods of block vector prediction and decoding for intra block copy mode coding
WO2017190710A1 (en) Method and apparatus for mapping omnidirectional image to a layout output format
WO2015109598A1 (en) Methods for motion parameter hole filling
WO2016165069A1 (en) Advanced temporal motion vector prediction in video coding
WO2015176685A1 (en) Methods for palette size signaling and conditional palette escape flag signaling
US20180249146A1 (en) Methods of Depth Based Block Partitioning
WO2015180014A1 (en) An improved merge candidate list construction method for intra block copy
RU2016135632A (en) MIRROR DISPLAY OF BLOCKS AND SKIP MODE IN THE INTRA-BASED ON THE COPY OF THE BLOCK
CA2908115A1 (en) Method of simplified cabac coding in 3d video coding
WO2016115708A1 (en) Methods for chroma component coding with separate intra prediction mode
AU2021243002B2 (en) Encoding and decoding method and apparatus, and device therefor
US20180295380A1 (en) Method and Apparatus of Motion Vector Prediction
WO2016119104A1 (en) Motion vector regularization
WO2015135473A1 (en) Method and apparatus of single sample mode for video coding
US10075692B2 (en) Method of simple intra mode for video coding
WO2015192372A1 (en) A simplified method for illumination compensation in multi-view and 3d video coding
US20160360203A1 (en) Image quantization parameter encoding method and image quantization parameter decoding method
JP2022546898A (en) Video image processing method, apparatus and storage medium
WO2015139173A1 (en) Improved method for block vector coding
WO2015131404A1 (en) Methods for depth map coding
WO2016044974A1 (en) Palette table signalling
WO2015188332A1 (en) A default vector selection method for block copy vector prediction in video compression

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14886099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14886099

Country of ref document: EP

Kind code of ref document: A1