WO2019217189A1 - Method and apparatus for video coding - Google Patents

Method and apparatus for video coding Download PDF

Info

Publication number
WO2019217189A1
WO2019217189A1 PCT/US2019/030356 US2019030356W WO2019217189A1 WO 2019217189 A1 WO2019217189 A1 WO 2019217189A1 US 2019030356 W US2019030356 W US 2019030356W WO 2019217189 A1 WO2019217189 A1 WO 2019217189A1
Authority
WO
WIPO (PCT)
Prior art keywords
chroma
coding unit
block
intra
prediction mode
Prior art date
Application number
PCT/US2019/030356
Other languages
English (en)
French (fr)
Inventor
Xiaozhong Xu
Xiang Li
Shan Liu
Original Assignee
Tencent America Llc.
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 Tencent America Llc. filed Critical Tencent America Llc.
Priority to EP19800717.1A priority Critical patent/EP3791494B1/en
Priority to CN201980019382.3A priority patent/CN111937326B/zh
Priority to KR1020207029136A priority patent/KR102454760B1/ko
Priority to JP2020556805A priority patent/JP2021518091A/ja
Publication of WO2019217189A1 publication Critical patent/WO2019217189A1/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/186Methods 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
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/70Methods 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
    • 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

Definitions

  • Uncompressed digital video can include a series of pictures, each picture having a spatial dimension of, for example, 1920 x 1080 luminance samples and associated chrominance samples.
  • the series of pictures can have a fixed or variable picture rate (informally also known as frame rate), of, for example 60 pictures per second or 60 Hz.
  • picture rate informally also known as frame rate
  • Uncompressed video has significant bitrate requirements. For example, 1080r60 4:2:0 video at 8 bit per sample (1920x1080 luminance sample resolution at 60 Hz frame rate) requires close to 1.5 Gbit/s bandwidth. An hour of such video requires more than 600 GBytes of storage space.
  • a video encoder and decoder can utilize techniques from several broad categories, including, for example, motion compensation, transform, quantization, and entropy coding.
  • Video codec technologies can include techniques known as intra coding.
  • intra coding sample values are represented without reference to samples or other data from previously reconstructed reference pictures.
  • the picture is spatially subdivided into blocks of samples.
  • Intra pictures and their derivations such as independent decoder refresh pictures, can be used to reset the decoder state and can, therefore, be used as the first picture in a coded video bitstream and a video session, or as a still image.
  • the samples of an intra block can be exposed to a transform, and the transform coefficients can be quantized before entropy coding.
  • Intra prediction can be a technique that minimizes sample values in the pre-transform domain.
  • intra prediction is only using reference data from the current picture under reconstruction and not from reference pictures.
  • intra prediction There can be many different forms of intra prediction.
  • the technique in use can be coded in an intra prediction mode.
  • modes can have submodes and/or parameters, and those can be coded individually or included in the mode codeword.
  • Which codeword to use for a given mode/submode/parameter combination can have an impact in the coding efficiency gain through intra prediction, and so can the entropy coding technology used to translate the codewords into a bitstream.
  • a certain mode of intra prediction was introduced with H.264, refined in H.265, and further refined in newer coding technologies such as joint exploration model (JEM), versatile video coding (VVC), and benchmark set (BMS).
  • JEM joint exploration model
  • VVC versatile video coding
  • BMS benchmark set
  • a predictor block can be formed using neighboring sample values belonging to already available samples. Sample values of neighboring samples are copied into the predictor block according to a direction.
  • a reference to the direction in use can be coded in the bitstream or may itself be predicted.
  • FIG. 2 shows a schematic (201) that depicts 65 intra prediction directions according to JEM to illustrate the increasing number of prediction directions over time.
  • the mapping of intra prediction directions bits in the coded video bitstream that represent the direction can be different from video coding technology to video coding technology; and can range, for example, from simple direct mappings of prediction direction to intra prediction mode, to codewords, to complex adaptive schemes involving most probable modes, and similar techniques. In all cases, however, there can be certain directions that are statistically less likely to occur in video content than certain other directions. As the goal of video compression is the reduction of redundancy, those less likely directions will, in a well working video coding technology, be represented by a larger number of bits than more likely directions.
  • the processing circuitry determines the prediction mode to be the intra block copy mode based on the prediction mode flag, and detects an omission of a specific block vector for the chroma coding unit by the coded video bitstream.
  • a combination of the intra block copy mode and the omission of the specific block vector for the chroma coding unit by the coded video bitstream indicates that all co-located smallest luma units have the intra block copy mode.
  • the combination of the intra block copy mode and the omission of the specific block vector for the chroma coding unit by the coded video bitstream indicates a validity of first block vectors for chroma sub-blocks in the chroma coding unit that are derived from the co-located smallest luma units.
  • the processing circuitry derives the first block vectors for the chroma sub-blocks based on second block vectors of the co-located smallest luma units, and reconstructs the chroma sub-blocks based on the first block vectors.
  • the processing circuitry selects the intra block copy mode for the chroma coding unit based on the prediction mode flag, and detect a specific block vector for the chroma coding unit from the coded video bitstream. Then, the processing circuitry reconstructs the at least one sample of the chroma coding unit according to the block vector.
  • FIG. 1 is a schematic illustration of a subset of intra prediction modes in accordance with some examples.
  • FIG. 4 is a schematic illustration of a simplified block diagram of a
  • FIG. 5 is a schematic illustration of a simplified block diagram of a decoder in accordance with an embodiment.
  • FIG. 6 is a schematic illustration of a simplified block diagram of an encoder in accordance with an embodiment.
  • FIG. 7 shows a block diagram of an encoder in accordance with another embodiment.
  • FIG. 12 is a schematic illustration of a computer system in accordance with an embodiment.
  • FIG. 4 illustrates, as an example for an application for the disclosed subject matter, the placement of a video encoder and a video decoder in a streaming environment.
  • the disclosed subject matter can be equally applicable to other video enabled applications, including, for example, video conferencing, digital TV, storing of compressed video on digital media including CD, DVD, memory stick and the like, and so on.
  • FIG. 5 shows a block diagram of a video decoder (510) according to an embodiment of the present disclosure.
  • the video decoder (510) can be included in an electronic device (530).
  • the electronic device (530) can include a receiver (531) (e.g., receiving circuitry).
  • the video decoder (510) can be used in the place of the video decoder (410) in the FIG. 4 example.
  • the receiver (531) may separate the coded video sequence from the other data.
  • a buffer memory (515) may be coupled in between the receiver (531) and an entropy decoder / parser (520) ("parser (520)" henceforth).
  • the buffer memory (515) is part of the video decoder (510). In others, it can be outside of the video decoder (510) (not depicted). In still others, there can be a buffer memory (not depicted) outside of the video decoder (510), for example to combat network jitter, and in addition another buffer memory (515) inside the video decoder (510), for example to handle play out timing.
  • the buffer memory (515) may not be needed, or can be small.
  • the buffer memory (515) may be required, can be comparatively large and can be advantageously of adaptive size, and may at least partially be implemented in an operating system or similar elements (not depicted) outside of the video decoder (510).
  • the control information for the rendering device(s) may be in the form of Supplemental Enhancement Information (SEI messages) or Video Usability Information (VUI) parameter set fragments (not depicted).
  • SEI Supplemental Enhancement Information
  • VUI Video Usability Information
  • the parser (520) may parse / entropy-decode the coded video sequence that is received.
  • the coding of the coded video sequence can be in accordance with a video coding technology or standard, and can follow various principles, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, and so forth.
  • the parser (520) may extract from the coded video sequence, a set of subgroup parameters for at least one of the subgroups of pixels in the video decoder, based upon at least one parameter corresponding to the group.
  • Subgroups can include Groups of Pictures (GOPs), pictures, tiles, slices, macroblocks, Coding Units (CUs), blocks, Transform Units (TUs), Prediction Units (PUs) and so forth.
  • the parser (520) may also extract from the coded video sequence information such as transform coefficients, quantizer parameter values, motion vectors, and so forth.
  • the parser (520) may perform an entropy decoding / parsing operation on the video sequence received from the buffer memory (515), so as to create symbols (521).
  • the current picture buffer (558) buffers, for example, partly reconstructed current picture and/or fully reconstructed current picture.
  • the output of the loop filter unit (556) can be a sample stream that can be output to the render device (512) as well as stored in the reference picture memory (557) for use in future inter-picture prediction.
  • the receiver (531) may receive additional (redundant) data with the encoded video.
  • the additional data may be included as part of the coded video sequence(s).
  • the additional data may be used by the video decoder (510) to properly decode the data and/or to more accurately reconstruct the original video data.
  • Additional data can be in the form of, for example, temporal, spatial, or signal noise ratio (SNR) enhancement layers, redundant slices, redundant pictures, forward error correction codes, and so on.
  • FIG. 6 shows a block diagram of a video encoder (603) according to an embodiment of the present disclosure.
  • the video encoder (603) is included in an electronic device (620).
  • the electronic device (620) includes a transmitter (640) (e.g., transmitting circuitry).
  • the video encoder (603) can be used in the place of the video encoder (403) in the FIG. 4 example.
  • the video source (601) may be a storage device storing previously prepared video.
  • the video source (601) may be a camera that captures local image information as a video sequence.
  • Video data may be provided as a plurality of individual pictures that impart motion when viewed in sequence. The pictures themselves may be organized as a spatial array of pixels, wherein each pixel can comprise one or more samples depending on the sampling structure, color space, etc. in use. A person skilled in the art can readily understand the relationship between pixels and samples. The description below focuses on samples.
  • the video encoder (603) may code and compress the pictures of the source video sequence into a coded video sequence (643) in real time or under any other time constraints as required by the application. Enforcing appropriate coding speed is one function of a controller (650).
  • the controller (650) controls other functional units as described below and is functionally coupled to the other functional units. The coupling is not depicted for clarity.
  • Parameters set by the controller (650) can include rate control related parameters (picture skip, quantizer, lambda value of rate-distortion optimization techniques, ...), picture size, group of pictures (GOP) layout, maximum motion vector search range, and so forth.
  • the local video decoder (633) may decode coded video data of pictures that may be designated as reference pictures, based on symbols created by the source coder (630).
  • the predictor (635) may perform prediction searches for the coding engine (632). That is, for a new picture to be coded, the predictor (635) may search the reference picture memory (634) for sample data (as candidate reference pixel blocks) or certain metadata such as reference picture motion vectors, block shapes, and so on, that may serve as an appropriate prediction reference for the new pictures.
  • the predictor (635) may operate on a sample block- by-pixel block basis to find appropriate prediction references. In some cases, as determined by search results obtained by the predictor (635), an input picture may have prediction references drawn from multiple reference pictures stored in the reference picture memory (634).
  • the controller (650) may manage coding operations of the source coder (630), including, for example, setting of parameters and subgroup parameters used for encoding the video data.
  • Output of all aforementioned functional units may be subjected to entropy coding in the entropy coder (645).
  • the entropy coder (645) translates the symbols as generated by the various functional units into a coded video sequence, by lossless compressing the symbols according to technologies such as Huffman coding, variable length coding, arithmetic coding, and so forth.
  • the transmitter (640) may buffer the coded video sequence(s) as created by the entropy coder (645) to prepare for transmission via a communication channel (660), which may be a hardware/software link to a storage device which would store the encoded video data.
  • the transmitter (640) may merge coded video data from the video coder (603) with other data to be transmitted, for example, coded audio data and/or ancillary data streams (sources not shown).
  • a predictive picture may be one that may be coded and decoded using intra prediction or inter prediction using at most one motion vector and reference index to predict the sample values of each block.
  • Source pictures commonly may be subdivided spatially into a plurality of sample blocks (for example, blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and coded on a block-by- block basis.
  • Blocks may be coded predictively with reference to other (already coded) blocks as determined by the coding assignment applied to the blocks' respective pictures.
  • blocks of I pictures may be coded non-predictively or they may be coded predictively with reference to already coded blocks of the same picture (spatial prediction or intra prediction).
  • the transmitter (640) may transmit additional data with the encoded video.
  • the source coder (630) may include such data as part of the coded video sequence. Additional data may comprise temporal/spatial/SNR enhancement layers, other forms of redundant data such as redundant pictures and slices, SEI messages, VUI parameter set fragments, and so on.
  • encoding/decoding which is referred to as a current picture, is partitioned into blocks.
  • a block in the current picture is similar to a reference block in a previously coded and still buffered reference picture in the video
  • the block in the current picture can be coded by a vector that is referred to as a motion vector.
  • the motion vector points to the reference block in the reference picture, and can have a third dimension identifying the reference picture, in case multiple reference pictures are in use.
  • a bi-prediction technique can be used in the inter-picture prediction.
  • two reference pictures such as a first reference picture and a second reference picture that are both prior in decoding order to the current picture in the video (but may be in the past and future, respectively, in display order) are used.
  • a block in the current picture can be coded by a first motion vector that points to a first reference block in the first reference picture, and a second motion vector that points to a second reference block in the second reference picture.
  • the block can be predicted by a combination of the first reference block and the second reference block.
  • a merge mode technique can be used in the inter-picture prediction to improve coding efficiency.
  • predictions are performed in the unit of blocks.
  • a picture in a sequence of video pictures is partitioned into coding tree units (CTU) for compression, the CTUs in a picture have the same size, such as 64x64 pixels, 32x32 pixels, or 16x16 pixels.
  • a CTU includes three coding tree blocks (CTBs), which are one luma CTB and two chroma CTBs.
  • CTBs coding tree blocks
  • Each CTU can be recursively quadtree split into one or multiple coding units (CUs).
  • the prediction block includes a matrix of values (e.g., luma values) for pixels, such as 8x8 pixels, 16x16 pixels, 8x16 pixels, 16x8 pixels, and the like.
  • the video encoder (703) is configured to receive a processing block (e.g., a prediction block) of sample values within a current video picture in a sequence of video pictures, and encode the processing block into a coded picture that is part of a coded video sequence.
  • a processing block e.g., a prediction block
  • the video encoder (703) is used in the place of the video encoder (403) in the FIG. 4 example.
  • the inter encoder (730) is configured to receive the samples of the current block (e.g., a processing block), compare the block to one or more reference blocks in reference pictures (e.g., blocks in previous pictures and later pictures), generate inter prediction
  • the reference pictures are decoded reference pictures that are decoded based on the encoded video information.
  • the general controller (721) is configured to determine general control data and control other components of the video encoder (703) based on the general control data. In an example, the general controller (721) determines the mode of the block, and provides a control signal to the switch (726) based on the mode.
  • the general controller (721) controls the switch (726) to select the intra mode result for use by the residue calculator (723), and controls the entropy encoder (725) to select the intra prediction information and include the intra prediction information in the bitstream; and when the mode is the inter mode, the general controller (721) controls the switch (726) to select the inter prediction result for use by the residue calculator (723), and controls the entropy encoder (725) to select the inter prediction information and include the inter prediction information in the bitstream.
  • the residue calculator (723) is configured to calculate a difference (residue data) between the received block and prediction results selected from the intra encoder (722) or the inter encoder (730).
  • the residue encoder (724) is configured to operate based on the residue data to encode the residue data to generate the transform coefficients.
  • the residue encoder (724) is configured to convert the residue data in the frequency domain, and generate the transform coefficients.
  • the transform coefficients are then subject to quantization processing to obtain quantized transform coefficients.
  • the video encoder (703) also includes a residue decoder (728).
  • the residue decoder (728) is configured to perform inverse- transform, and generate the decoded residue data.
  • the decoded residue data can be suitably used by the intra encoder (722) and the inter encoder (730).
  • the inter encoder (730) can generate decoded blocks based on the decoded residue data and inter prediction information
  • the intra encoder (722) can generate decoded blocks based on the decoded residue data and the intra prediction information.
  • the decoded blocks are suitably processed to generate decoded pictures and the decoded pictures can be buffered in a memory circuit (not shown) and used as reference pictures in some examples.
  • the video decoder (810) is configured to receive coded pictures that are part of a coded video sequence, and decode the coded pictures to generate reconstructed pictures.
  • the video decoder (810) is used in the place of the video decoder (410) in the FIG. 4 example.
  • the video decoder (810) includes an entropy decoder (871), an inter decoder (880), a residue decoder (873), a reconstruction module (874), and an intra decoder (872) coupled together as shown in FIG. 8.
  • the entropy decoder (871) can be configured to reconstruct, from the coded picture, certain symbols that represent the syntax elements of which the coded picture is made up.
  • symbols can include, for example, the mode in which a block is coded (such as, for example, intra mode, inter mode, bi-predicted mode, the latter two in merge submode or another submode), prediction information (such as, for example, intra prediction information or inter prediction information) that can identify certain sample or metadata that is used for prediction by the intra decoder (872) or the inter decoder (880), respectively, residual information in the form of, for example, quantized transform coefficients, and the like.
  • the mode in which a block is coded such as, for example, intra mode, inter mode, bi-predicted mode, the latter two in merge submode or another submode
  • prediction information such as, for example, intra prediction information or inter prediction information
  • residual information in the form of, for example, quantized transform coefficients, and the like.
  • the inter prediction information is provided to the inter decoder (880); and when the prediction type is the intra prediction type, the intra prediction information is provided to the intra decoder (872).
  • the residual information can be subject to inverse quantization and is provided to the residue decoder (873).
  • the intra decoder (872) is configured to receive the intra prediction information, and generate prediction results based on the intra prediction information.
  • the reconstruction module (874) is configured to combine, in the spatial domain, the residual as output by the residue decoder (873) and the prediction results (as output by the inter or intra prediction modules as the case may be) to form a reconstructed block, that may be part of the reconstructed picture, which in turn may be part of the reconstructed video. It is noted that other suitable operations, such as a deblocking operation and the like, can be performed to improve the visual quality.
  • Block based compensation can be used for inter prediction and intra prediction.
  • block based compensation from a different picture is known as motion compensation.
  • block based compensation can also be done from a previously reconstructed area within the same picture.
  • the block based compensation from reconstructed area within the same picture is referred to as intra picture block compensation, or intra block copy.
  • a displacement vector that indicates the offset between the current block and the reference block in the same picture is referred to as a block vector (or BV for short).
  • implementations is restricted to integer positions; in other systems, the block vector is allowed to point to fractional positions.
  • FIG. 9 shows an example of intra block copy according to an embodiment of the disclosure.
  • Current picture (900) is under decoding.
  • the current picture (900) includes a reconstructed area (910) (grey area) and to-be-decoded area (920) (white area).
  • a current block (930) is under reconstruction a decoder.
  • the current block (930) can be reconstructed from a reference block (940) that is in the reconstructed area (910).
  • the position offset between the reference block (940) and the current block (930) is referred to as a block vector (950) (or BV (950)).
  • a coding unit includes samples of both luma and chroma components.
  • the samples of chroma component can have an independent or separate split tree structure as compared to the ones of luma component.
  • a separate coding tree structure starts from CTU level. Therefore, it is possible that a chroma CU (a CU that contains only two chroma components) can be larger than its luma counterpart at the corresponding sample location.
  • luma-chroma sample correspondence at the same location may not be always associated.
  • a luma CU area may cover more than one chroma CU.
  • a chroma CU area may cover more than one luma CU.
  • Some aspects of the present disclosure provide methods to properly apply the intra block copy techniques when luma-chroma separate coding trees are used. Specifically, the methods can perform B V derivation of chroma blocks in chroma coding tree, when the luma coding tree is separately coded ahead of coding of chroma coding tree.
  • the property of a chroma CU is derived based on corresponding luma CU’s intra block copy information.
  • the co- located luma area can be used to determine whether the current chroma CU should be coded in intra block copy mode.
  • aspects of the disclosure provide methods for signaling of intra block copy mode in a chroma CU, when the coding of luma coding tree is separate from chroma coding tree and the coding of the luma coding tree is before the coding of chroma coding tree.
  • the decoder determines that the block is coded in the intra block copy mode (which is treated as inter mode).
  • the decoder may uses the current decoded picture as the reference picture and then can use reconstruction techniques for the intra block copy mode (similar to the inter mode) to reconstruct the block.
  • each smallest chroma unit's BV is derived from its co-located luma block's BV, and if the
  • pred mode flag is signaled regardless whether a chroma CU has full coverage or not, then one of the following bitstream conformance conditions (a) and (b) should be satisfied:
  • the prediction mode for a chroma coding block shall be intra mode, when at least one chroma sub-block’s corresponding luma sub-block is not coded in intra block copy mode, or at least a corresponding luma sub-block is coded in intra block copy mode but the derived chroma block vector for this chroma sub-block is not a valid one (pointing to an area that cannot be used as a reference for current block. For example, an area that has not yet been reconstructed or not allowed to be used as reference).
  • the encoder encodes the chroma coding unit in the intra mode and signals the pre mode flag to indicate intra mode for the chroma coding unit.
  • the encoder when a derived chroma block vector (according to the corresponding luma sub-block based on the intra block copy mode) for a chroma sub-block is not a valid one, e.g., pointing to an area of later decoding than the current block), the encoder encodes the chroma coding unit in the intra mode and signals the pre mode flag to indicate intra mode for the chroma coding unit.
  • the bitstream conformance requires that the prediction mode for a chroma coding block can be inter mode (or intra block copy mode) only when all its sub-blocks’ corresponding luma sub-blocks are coded in intra block copy mode, and all the derived chroma block vector(s) for the chroma sub-block(s) are valid (pointing to valid reference area).
  • each smallest chroma unit's BV is derived from its co-located luma block's BV, and if the
  • the pred mode flag needs to be signaled only when all the chroma CU's sub-blocks have their corresponding luma smallest units coded in intra block copy mode and have valid BVs;
  • pred mode flag will be inferred to 0 (intra mode) if at least one chroma sub-block's corresponding luma sub-block is not coded in intra block copy mode or does not have valid BV.
  • the pred mode flag can be inferred, and does not need to be signaled.
  • the decoder detects that the pred mode flag for a chroma CU equals 1, the decoder can reconstruct the chroma CU using techniques for intra block copy mode.
  • the decoder If no pred mode flag is signaled, the decoder detects that the chroma CU does not have full coverage, and infers that the pre mode flag equals one. Then the decoder can reconstruct the chroma CU using techniques for intra mode.
  • pred mode flag is not signaled for the chroma CU. It is inferred to intra block copy mode.
  • the decoder can determine that the condition (e) is satisfied, the prediction mode is intra block copy mode, and then can reconstruct the chroma CU using techniques for intra block copy mode.
  • the syntax pred mode flag is not signaled for the chroma CU. It is inferred to intra mode.
  • the decoder can determine that condition (f) is satisfied, the prediction mode is intra mode, and then can reconstruct the chroma CU using techniques for intra mode.
  • additional syntax flag can be used to signal the intra block copy mode.
  • the intra block copy mode is considered as an intra mode, then after parsing the pred mode flag as intra mode, another syntax flag (e.g., ibc flag) is needed to tell whether current block is coded regular intra mode or intra block copy mode.
  • ibc flag e.g., chroma CU with luma-chroma components having separate splitting tree structures, the above discussed conditions also apply to it.
  • the ibc flag is signaled regardless the chroma CU coverage, but the value of ibc flag can be true (use intra block copy mode) only when chroma CU has full coverage and all its derived chroma BVs are valid.
  • ibc flag is signaled only when the chroma CU has full coverage, but its value can be true only when all its derived chroma BVs are valid.
  • ibc flag is not signaled. It is inferred to be true when chroma CU has full coverage and all its derived chroma BVs are valid; otherwise it is inferred to be false.
  • the prediction mode for intra block copy can also be intra mode. If a chroma CU and a luma CU have separate coding structures, the indication of use of intra block copy mode can be signaled using one of the intra prediction mode indices, instead of using prediction mode as above. In this case, the prediction mode in such a slice (without using temporal reference pictures) is intra mode.
  • the last index of the intra prediction mode list is modified to indicate the intra block copy mode.
  • a chroma CU if coded in the intra block copy mode, is indicated by using the last index of intra prediction mode list. In this case, the number of intra prediction modes for a chroma CU remains unchanged.
  • an additional index is added into the intra prediction mode list behind the last index of the intra prediction mode list to generate a modified intra prediction mode list. Then, a chroma CU, if coded in intra block copy mode, is indicated by using the additional index which is the last index of modified intra prediction mode list. In this case, the number of intra prediction modes for a chroma CU is added by one.
  • FIG. 11 shows a flow chart outlining a process (1100) according to an
  • the process (1100) can be used in the reconstruction of a block coded in intra mode, so to generate a prediction block for the block under reconstruction.
  • the process (1100) are executed by processing circuitry, such as the processing circuitry in the terminal devices (310), (320), (330) and (340), the processing circuitry that performs functions of the video encoder (403), the processing circuitry that performs functions of the video decoder (410), the processing circuitry that performs functions of the video decoder (510), the processing circuitry that performs functions of the intra prediction module (552), the processing circuitry that performs functions of the video encoder (603), the processing circuitry that performs functions of the predictor (635), the processing circuitry that performs functions of the intra encoder (722), the processing circuitry that performs functions of the intra decoder (872), and the like.
  • the process (1100) is implemented in software instructions, thus when the processing circuitry executes the software instructions, the processing circuitry performs the process (1100). The process starts
  • prediction information of a chroma coding unit is decoded from a coded video bitstream.
  • the chroma unit is in a segment (such as a slice, a tile, a group of tiles, and the like) of a current picture, and the segment lacks a temporal reference picture.
  • the prediction information also indicates that separate coding tree structures for luma and chroma components are used in the coded video bitstream.
  • the prediction mode can be an intra prediction mode or an intra block copy mode. Then, based on the prediction mode flag, the prediction mode for the chroma coding unit can be selected from the intra prediction mode (intra mode) and the intra block copy mode.
  • the computer software can be coded using any suitable machine code or computer language, that may be subject to assembly, compilation, linking, or like mechanisms to create code comprising instructions that can be executed directly, or through interpretation, micro-code execution, and the like, by one or more computer central processing units (CPUs), Graphics Processing Units (GPUs), and the like.
  • CPUs computer central processing units
  • GPUs Graphics Processing Units
  • Computer system (1200) may include certain human interface input devices.
  • Input human interface devices may include one or more of (only one of each depicted): keyboard (1201), mouse (1202), trackpad (1203), touch screen (1210), data-glove (not shown), joystick (1205), microphone (1206), scanner (1207), camera (1208).
  • Computer system (1200) can also include human accessible storage devices and their associated media such as optical media including CD/DVD ROM/RW (1220) with
  • ROM/ASIC/PLD based devices such as security dongles (not depicted), and the like.
  • Computer system (1200) can also include an interface to one or more
  • Certain networks commonly require external network interface adapters that attached to certain general purpose data ports or peripheral buses (1249) (such as, for example USB ports of the computer system (1200)); others are commonly integrated into the core of the computer system (1200) by attachment to a system bus as described below (for example Ethernet interface into a PC computer system or cellular network interface into a smartphone computer system).
  • computer system (1200) can communicate with other entities.
  • Such communication can be uni-directional, receive only (for example, broadcast TV), uni-directional send-only (for example CANbus to certain CANbus devices), or bi-directional, for example to other computer systems using local or wide area digital networks.
  • Certain protocols and protocol stacks can be used on each of those networks and network interfaces as described above.
  • Aforementioned human interface devices, human-accessible storage devices, and network interfaces can be attached to a core (1240) of the computer system (1200).
  • CPUs (1241), GPUs (1242), FPGAs (1243), and accelerators (1244) can execute certain instructions that, in combination, can make up the aforementioned computer code. That computer code can be stored in ROM (1245) or RAM (1246). Transitional data can be also be stored in RAM (1246), whereas permanent data can be stored for example, in the internal mass storage (1247). Fast storage and retrieve to any of the memory devices can be enabled through the use of cache memory, that can be closely associated with one or more CPU (1241), GPU (1242), mass storage (1247), ROM (1245), RAM (1246), and the like.
  • the computer readable media can have computer code thereon for performing various computer-implemented operations.
  • the media and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those having skill in the computer software arts.
  • the computer system having architecture (1200), and specifically the core (1240) can provide functionality as a result of processor(s) (including CPUs, GPUs, FPGA, accelerators, and the like) executing software embodied in one or more tangible, computer-readable media.
  • processor(s) including CPUs, GPUs, FPGA, accelerators, and the like
  • Such computer-readable media can be media associated with user-accessible mass storage as introduced above, as well as certain storage of the core (1240) that are of non-transitory nature, such as core-internal mass storage (1247) or ROM (1245).
  • the software implementing various embodiments of the present disclosure can be stored in such devices and executed by core (1240).
  • a computer-readable medium can include one or more memory devices or chips, according to particular needs.
  • VVC versatile video coding
  • HEVC High Efficiency Video Coding
  • GPUs Graphics Processing Units
  • CD Compact Disc
  • RAM Random Access Memory
  • ASIC Application-Specific Integrated Circuit
  • PLD Programmable Logic Device
  • GSM Global System for Mobile communications
  • CANBus Controller Area Network Bus
  • USB Universal Serial Bus
  • PCI Peripheral Component Interconnect

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
PCT/US2019/030356 2018-05-11 2019-05-02 Method and apparatus for video coding WO2019217189A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19800717.1A EP3791494B1 (en) 2018-05-11 2019-05-02 Method and apparatus for video coding
CN201980019382.3A CN111937326B (zh) 2018-05-11 2019-05-02 视频解码方法、装置和可读存储介质
KR1020207029136A KR102454760B1 (ko) 2018-05-11 2019-05-02 비디오 코딩을 위한 방법 및 장치
JP2020556805A JP2021518091A (ja) 2018-05-11 2019-05-02 ビデオ符号化のための方法並びにその装置及びコンピュータプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862670695P 2018-05-11 2018-05-11
US62/670,695 2018-05-11
US16/198,637 US10448025B1 (en) 2018-05-11 2018-11-21 Method and apparatus for video coding
US16/198,637 2018-11-21

Publications (1)

Publication Number Publication Date
WO2019217189A1 true WO2019217189A1 (en) 2019-11-14

Family

ID=68165115

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/030356 WO2019217189A1 (en) 2018-05-11 2019-05-02 Method and apparatus for video coding

Country Status (6)

Country Link
US (2) US10448025B1 (ko)
EP (1) EP3791494B1 (ko)
JP (1) JP2021518091A (ko)
KR (1) KR102454760B1 (ko)
CN (1) CN111937326B (ko)
WO (1) WO2019217189A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020016740A3 (en) * 2018-07-15 2020-04-16 Beijing Bytedance Network Technology Co., Ltd. Cross-component coding information derivation
CN115244927A (zh) * 2020-01-13 2022-10-25 Lg电子株式会社 图像/视频编码系统中的帧间预测方法和设备
US11876970B2 (en) 2021-07-22 2024-01-16 Tencent America LLC Non-interleaved separate tree

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021005911A (es) * 2018-11-20 2021-06-30 Interdigital Vc Holdings Inc Inicializacion de vector de bloque que hace referencia a imagen actual con arbol dual.
WO2020171681A1 (ko) 2019-02-19 2020-08-27 주식회사 윌러스표준기술연구소 인트라 예측 기반 비디오 신호 처리 방법 및 장치
CN116489374A (zh) * 2020-03-16 2023-07-25 北京达佳互联信息技术有限公司 对视频数据进行编码的方法、装置和介质
CN113452998B (zh) * 2020-03-25 2022-05-31 杭州海康威视数字技术股份有限公司 一种解码、编码、编解码方法、装置及其设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150195559A1 (en) 2014-01-09 2015-07-09 Qualcomm Incorporated Intra prediction from a predictive block

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032568B2 (en) * 2013-11-27 2021-06-08 Hfi Innovation Inc. Method of video coding using prediction based on intra picture block copy
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
EP3078192B1 (en) 2014-02-21 2019-12-04 MediaTek Singapore Pte Ltd. Method of video coding using prediction based on intra picture block copy
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. Method of block vector prediction for intra block copy mode coding
EP3140989A4 (en) 2014-05-22 2017-07-05 MediaTek Inc. Method of intra block copy with flipping for image and video coding
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20150373362A1 (en) * 2014-06-19 2015-12-24 Qualcomm Incorporated Deblocking filter design for intra block copy
US20150373327A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Block adaptive color-space conversion coding
US10869031B2 (en) 2014-07-07 2020-12-15 Hfi Innovation Inc. Method of intra block copy search and compensation range
US10412387B2 (en) * 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
CN107079161B (zh) 2014-09-01 2020-11-20 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
EP3198872A1 (en) * 2014-09-26 2017-08-02 VID SCALE, Inc. Intra block copy coding with temporal block vector prediction
EP3189660B1 (en) * 2014-09-30 2023-07-12 HFI Innovation Inc. Method of adaptive motion vector resolution for video coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016054765A1 (en) * 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
CN107079166A (zh) * 2014-10-28 2017-08-18 联发科技(新加坡)私人有限公司 用于视频编码的引导交叉分量预测的方法
CN106797229B (zh) 2014-11-20 2019-06-21 寰发股份有限公司 视频编码方法
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US20170244966A1 (en) * 2016-02-20 2017-08-24 Qualcomm Incorporated Weighted prediction for screen content coding and multi-layer coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150195559A1 (en) 2014-01-09 2015-07-09 Qualcomm Incorporated Intra prediction from a predictive block

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PANG (QUALCOMM) C ET AL.: "Intra block copy with encoder search using chroma component", JCT-VC MEETING; 20140327 - 20140404; VALENCIA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG, 27 March 2014 (2014-03-27)
See also references of EP3791494A4
XU (MEDIATEK) X ET AL.: "On chroma motion vector derivation for intra block copy", JCT-VC MEETING; 20150619 - 20150626; WARSAW; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG, 26 June 2015 (2015-06-26)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020016740A3 (en) * 2018-07-15 2020-04-16 Beijing Bytedance Network Technology Co., Ltd. Cross-component coding information derivation
US11070805B2 (en) 2018-07-15 2021-07-20 Beijing Bytedance Network Technology Co., Ltd. Cross-component coding order derivation
US11228762B2 (en) 2018-07-15 2022-01-18 Beijing Bytedance Network Technology Co., Ltd. Cross-component IPM derivation
US11647189B2 (en) 2018-07-15 2023-05-09 Beijing Bytedance Network Technology Co., Ltd Cross-component coding order derivation
CN115244927A (zh) * 2020-01-13 2022-10-25 Lg电子株式会社 图像/视频编码系统中的帧间预测方法和设备
US11876970B2 (en) 2021-07-22 2024-01-16 Tencent America LLC Non-interleaved separate tree
WO2023004330A3 (en) * 2021-07-22 2024-04-04 Tencent America LLC Non-interleaved separate tree

Also Published As

Publication number Publication date
JP2021518091A (ja) 2021-07-29
US10986347B2 (en) 2021-04-20
US20190349592A1 (en) 2019-11-14
EP3791494A4 (en) 2021-03-17
KR102454760B1 (ko) 2022-10-17
CN111937326A (zh) 2020-11-13
CN111937326B (zh) 2022-03-25
KR20200128571A (ko) 2020-11-13
US10448025B1 (en) 2019-10-15
EP3791494B1 (en) 2024-02-07
EP3791494A1 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
US11503320B2 (en) Method and apparatus for video coding
US11627324B2 (en) Adaptive block vector resolution in video coding
US11418777B2 (en) Method and apparatus for video coding
EP3788786A1 (en) Method and apparatus for prediction and transform for small blocks
EP3818698A1 (en) Method and apparatus for video coding
EP3791494B1 (en) Method and apparatus for video coding
US11991377B2 (en) Method and apparatus for video coding
WO2019209444A2 (en) Method and apparatus for video coding
US20210314575A1 (en) Method and apparatus for video coding
US10764601B2 (en) Method and apparatus for video coding
US11178415B2 (en) Signaling of CU based interpolation filter selection
CA3131692A1 (en) Determination of block vector for a block in a region of a coding tree block
WO2023059984A1 (en) Subblock cross component linear model prediction
EP4189957A1 (en) Geometric partition based intra prediction

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: 19800717

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20207029136

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020556805

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019800717

Country of ref document: EP