WO2020258024A1 - 视频处理方法和装置 - Google Patents

视频处理方法和装置 Download PDF

Info

Publication number
WO2020258024A1
WO2020258024A1 PCT/CN2019/092751 CN2019092751W WO2020258024A1 WO 2020258024 A1 WO2020258024 A1 WO 2020258024A1 CN 2019092751 W CN2019092751 W CN 2019092751W WO 2020258024 A1 WO2020258024 A1 WO 2020258024A1
Authority
WO
WIPO (PCT)
Prior art keywords
offset value
motion vector
block
target candidate
current block
Prior art date
Application number
PCT/CN2019/092751
Other languages
English (en)
French (fr)
Inventor
马思伟
王苏红
郑萧桢
王苫社
Original Assignee
北京大学
深圳市大疆创新科技有限公司
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 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to CN201980009149.7A priority Critical patent/CN111684799B/zh
Priority to PCT/CN2019/092751 priority patent/WO2020258024A1/zh
Publication of WO2020258024A1 publication Critical patent/WO2020258024A1/zh

Links

Images

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/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction

Definitions

  • This application relates to the field of video coding and decoding, and more specifically, to a video processing method and device.
  • the video encoding process includes an inter-frame prediction process.
  • Some inter-frame prediction modes construct a motion vector candidate list of the current block, and determine the motion vector of the current block based on the motion vector candidate list of the current block.
  • some inter prediction modes will offset the motion vector in the motion vector candidate list of the current block to a certain extent.
  • This application provides a video processing method and device to optimize the inter-frame prediction mode.
  • a video processing method including: selecting a motion vector of a target candidate block from a motion vector candidate list of a current block, the motion vector candidate list including motion vectors of a plurality of candidate blocks; determining the current block When the target candidate block and the current block are located in different frames, and the target candidate block has two motion vectors, determine the second offset value of the current block; according to the first The offset value offsets the first motion vector of the target candidate block; and offsets the second motion vector of the target candidate block according to the second offset value.
  • a video processing device including: a memory for storing code; a processor for reading the code in the memory to perform the following operations: selecting a target from a motion vector candidate list of the current block The motion vector of the candidate block, the motion vector candidate list includes the motion vectors of multiple candidate blocks; determine the first offset value of the current block; when the target candidate block and the current block are located in different frames, and the target When the candidate block has two motion vectors, the second offset value of the current block is determined; the first motion vector of the target candidate block is offset according to the first offset value; according to the second offset value The shift value shifts the second motion vector of the target candidate block.
  • a video processing device which includes modules for executing each step of the method in the first aspect.
  • a computer-readable storage medium is provided, and instructions are stored in the computer-readable storage medium, which when run on a computer, cause the computer to execute the method described in the first aspect.
  • This application identifies a specific candidate block and selects an adapted offset scheme for the specific candidate block, which can optimize the inter-frame prediction mode.
  • Fig. 1 is a schematic flowchart of the construction process of the merge candidate list.
  • Fig. 2 is a diagram showing an example of a scaling method of a time-domain motion vector.
  • Fig. 3 is an example diagram of a prediction method in lowdelay mode.
  • Figure 4 is an example diagram of a prediction method in random access mode.
  • FIG. 7 is an example diagram of a zoom solution provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
  • This application can be applied to a variety of video coding standards, such as H.264, high efficiency video coding (HEVC), versatile video coding (VVC), audio video coding standard (audio video coding standard, AVS), AVS+, AVS2 and AVS3, etc.
  • video coding standards such as H.264, high efficiency video coding (HEVC), versatile video coding (VVC), audio video coding standard (audio video coding standard, AVS), AVS+, AVS2 and AVS3, etc.
  • the distance between two frames mentioned in this application can refer to the difference in the playback order of the two frames.
  • the distance between two frames can be measured by the difference between the frame numbers of the two frames.
  • the video coding process mainly includes prediction, transformation, quantization, entropy coding, loop filtering and other parts.
  • Prediction is an important part of mainstream video coding technology. Prediction can be divided into intra prediction and inter prediction. Inter-frame prediction can be achieved through motion compensation. An example of the motion compensation process is described below.
  • the coding area may also be referred to as a coding tree unit (CTU).
  • the size of the CTU may be, for example, 64 ⁇ 64 or 128 ⁇ 128 (the unit is a pixel, and similar descriptions below will omit the unit).
  • Each CTU can be divided into square or rectangular image blocks.
  • the image block currently being processed by the encoder or the decoder is called the current block.
  • the current block mentioned in the embodiment of the present application may sometimes refer to the current coding unit (CU), and sometimes may also refer to the current prediction unit (PU), which is not limited in the embodiment of the present application.
  • a reference frame (which can be a reconstructed frame near the time domain) can be searched for similar blocks of the current block as the prediction block of the current block.
  • the relative displacement between the current block and similar blocks is called a motion vector.
  • the process of finding similar blocks in the reference frame as the prediction block of the current block is motion compensation.
  • inter prediction modes construct a motion vector candidate list of the current block and select the motion vector of the current block from the motion vector candidate list of the current block.
  • the spatial MVP is the motion vector of the spatial neighboring block in the same frame as the current block.
  • the maximum number of airspace MVPs can be set to 4.
  • step S104 it is determined whether the number of candidates in the merge candidate list reaches a preset maximum value (maxNumMergeCand).
  • step S106 TMVP, or TMVP candidate (temporal MVP candidate (s)) is added to the merge candidate list.
  • step S108 it is determined whether the number of candidates in the merge candidate list reaches a preset maximum value.
  • step S110 If the number of candidates in the merge candidate list reaches the preset maximum value, the process of FIG. 1 ends; if the number of candidates in the merge candidate list does not reach the preset maximum value, continue to perform step S110.
  • step S110 historical MVP (historical MVP), or HMVP candidate, is added to the merge candidate list.
  • HMVP may be the motion vector of other blocks in the frame where the current block is located (such as non-adjacent blocks of the current block).
  • step S112 it is determined whether the number of candidates in the merge candidate list reaches a preset maximum value.
  • step S114 If the number of candidates in the merge candidate list reaches the preset maximum value, the process of FIG. 1 ends; if the number of candidates in the merge candidate list does not reach the preset maximum value, continue to perform step S114.
  • step S114 a pairwise MVP (pairwise MVP) is added to the merge candidate list.
  • the pairwise MVP may be an MVP obtained after adding and averaging the MVPs that have been added to the merge candidate list.
  • step S118 If the number of candidates in the merge candidate list reaches the preset maximum value, the process of FIG. 1 ends; if the number of candidates in the merge candidate list does not reach the preset maximum value, continue to perform step S118.
  • step S118 a vector (0, 0) is added to the merge candidate list until the number of candidates in the merge candidate list reaches a preset maximum value.
  • steps S108 to S118 are optional steps. For example, after the airspace MVP and TMVP are added to the merge candidate list, the construction of the merge candidate list can be stopped. For another example, after the spatial MVP and TMVP are added to the merge candidate list, if the number of candidates in the merge candidate list has not reached the preset maximum value, the vector (0, 0) can be added.
  • step S110 to S112 can be executed instead of the steps S114 to S116;
  • step S114 to step S116 are executed instead of step S110 to step S112.
  • the TMVP obtained in step S106 may refer to the motion vector of the candidate block obtained based on the TMVP technology.
  • the co-bit frame (col_pic) of the current block is usually determined first.
  • the co-located frame is a frame different from the current frame in the time domain.
  • the co-located frame may be, for example, the first frame in the reference list of the current block.
  • the corresponding block of the current block can be determined from the co-located frame as the co-located block (col_PU) of the current block. For example, a block corresponding to the current block at C1 (the lower right corner point of the current block) or C0 (the center point of the current block) in the co-located frame can be determined as the co-located block of the current block.
  • the zoom operation shown in Figure 2 needs to be performed twice, and one zoom operation is used to move the co-located block The vector is mapped to the forward reference frame of the current block, and another scaling operation is used to map the motion vector of the co-located block to the backward reference frame of the current block.
  • the co-located block can be a bidirectional prediction mode. Therefore, the co-located block can include two motion vectors, one of which is the motion vector corresponding to the forward prediction mode of the co-located block (denoted by col_MV0 below), and the other motion vector The vector is the motion vector corresponding to the backward prediction mode of the co-located block (denoted by col_MV1 below).
  • one possible implementation is to map col_MV0 to the forward reference frame and the backward reference frame of the current block respectively; alternatively, col_MV0 can be mapped to the forward reference frame of the current block, and Map col_MV1 to the backward reference frame of the current block; alternatively, col_MV1 can be mapped to the forward reference frame and backward reference frame of the current block respectively; or, col_MV1 can also be mapped to the forward reference frame of the current block, and Map col_MV0 to the backward reference frame of the current block.
  • the current frame (cur_pic) is POC 5
  • the first frame of the forward reference list is POC 4
  • the first frame of the backward reference list is POC 4.
  • POC4 is the co-located frame (col_pic), forward reference frame (cur_ref0) and backward reference frame (cur_ref1) of the current frame at the same time.
  • the forward reference list of POC 4 is ⁇ POC 3, POC2, POC0 ⁇
  • the backward reference list is ⁇ POC 3, POC2, POC0 ⁇ .
  • the forward reference frame of POC 4 may be any of POC3, POC2, and POC0.
  • FIG. 3 illustrates an example in which the forward reference frame of POC 4 is POC3.
  • the backward reference frame of POC4 may be any of POC 3, POC2, and POC0.
  • FIG. 3 illustrates an example in which the backward reference frame of POC4 is POC2.
  • the frame number of the reference frame of the current frame can be larger or smaller than the frame number of the current frame, that is, the reference frame of the current frame can be played after the current frame or in the current frame Played before.
  • the current frame is POC 27.
  • the first frame of the forward reference list of the current frame is POC 26, and the first frame of the backward reference list is POC 28.
  • POC 26 is the co-located frame (col_pic) and forward reference frame (cur_ref0) of the current frame at the same time;
  • POC 28 is the backward reference frame (cur_ref1) of the current frame.
  • the forward reference list of POC 26 is ⁇ POC24, POC 16 ⁇ , and the backward reference list is ⁇ POC 28, POC 32 ⁇ .
  • the backward reference frame of POC 26 can be POC 28 or POC 32.
  • POC 32 is selected as the backward reference frame (col_ref1) of POC 32.
  • MMVD merge mode with motion vector difference
  • the MMVD technology may also be referred to as the ultimate motion vector expression (UMVE) technology.
  • UMVE ultimate motion vector expression
  • the realization process of MMVD mainly includes the following two steps.
  • Step 1 Select the base motion vector (base MV) from the merge candidate list that has been constructed.
  • base MV base motion vector
  • the first two motion vector predictions in the merge candidate list can be selected as the basic motion vector.
  • the second step offset the basic motion vector according to certain rules, generate new motion vector candidates, and use the new motion vector for prediction.
  • the basic motion vectors of the basic motion vector in the two reference directions need to be offset. If the forward reference frame and the backward reference frame of the basic motion vector are the same frame, the basic motion vector can be offset by the same offset value in the two reference directions; if the forward reference frame and the backward reference frame of the basic motion vector If the reference frame is different, it is necessary to scale the offset value of the basic motion vector in a certain reference direction, and use the scaled offset value to offset the basic motion vector.
  • FIG. 5 The embodiments of the present application will be described in detail below in conjunction with FIG. 5. It should be understood that the method in FIG. 5 may be applied to the encoding end or the decoding end, which is not limited in the embodiment of the present application.
  • Fig. 5 is a schematic flowchart of a video processing method provided by an embodiment of the present application. The method of FIG. 5 includes steps S510 to S550.
  • step S510 the motion vector of the target candidate block is selected from the motion vector candidate list of the current block.
  • the motion vector of the target candidate block may be referred to as the base motion vector (Base MV) of the current block.
  • step S520 the first offset value of the current block is determined.
  • step S530 when the target candidate block and the current block are located in different frames, and the target candidate block has two motion vectors, the second offset value of the current block is determined.
  • the two motion vectors of the target candidate block can be forward prediction and backward prediction, respectively. Or, both motion vectors of the target candidate block may be unidirectional prediction. Taking the random access mode as the encoding mode of the video as an example, the two motion vectors of the target candidate block may be forward prediction and backward prediction. Taking the low-latency mode as the video encoding mode as an example, the two motion vectors of the target candidate block may both be forward prediction.
  • step S540 the first motion vector of the target candidate block is offset according to the first offset value.
  • the first offset value may include one or more optional values.
  • the first offset value may include 8 optional values, for example.
  • the first offset value may be a preset offset value, or may be an offset value obtained after performing other operations on the preset offset value. Other operations here may be zoom operations, inversion operations, etc., which are not specifically limited in the embodiment of the present application.
  • step S540 may include: offsetting the first motion vector of the target candidate block according to the unscaled first offset value.
  • the unscaled first offset value may be a preset offset value, or may be an offset value obtained after processing the preset offset value through other operations except the scaling operation. Such as the offset value obtained after inverting the preset offset value.
  • the preset offset value can include multiple optional values. The inversion operation here can be to reverse all of the multiple optional values, or part of the multiple optional values. The selected value is reversed, which is not limited in the embodiment of the present application.
  • step S550 the second motion vector of the target candidate block is offset according to the second offset value.
  • the embodiment of the present application identifies a specific candidate block and selects an adapted offset scheme for the specific candidate block, which can optimize the inter-frame prediction mode.
  • the second offset value may include one or more optional values.
  • the second offset value may include 8 optional values, for example.
  • the second offset value may be a preset offset value, or may be an offset value obtained after performing other operations on the preset offset value. Other operations here may be zoom operations, inversion operations, etc., which are not specifically limited in the embodiment of the present application.
  • the first offset value and the second offset value may be mutually independent offset values.
  • the second offset value may be an offset value obtained from the unscaled first offset value.
  • the second offset value may be obtained by other methods than scaling the first offset value.
  • the first offset value may be a preset offset value
  • the second offset value may be an offset value obtained by partially or fully inverting the first offset value.
  • the first offset value and the second offset value may be the same or different.
  • both the first offset value and the second offset value may be preset offset values.
  • the first offset value may be a preset offset value
  • the second offset value may be an inverse number of the preset offset value.
  • the second offset value may be a preset offset value
  • the first offset value may be an inverse number of the preset offset value.
  • the first offset value and the second offset value have the same partial offset values, and the partial offset values are opposite to each other.
  • the first offset value and the second offset value may be the same.
  • the first offset value and the second offset value may be opposite to each other.
  • the frame number of the current frame is current POC
  • the frame number of the forward reference frame of the current frame is POC 1
  • the frame number of the backward reference frame of the current frame is POC 1.
  • (current POC-POC 0)*(current POC–POC 1)>0 it means that the playback sequence of the forward reference frame and the backward reference frame of the current frame are both before or after the current frame.
  • the first offset value and the second offset value of the current block may be set to the same offset value.
  • the first Both the first offset value and the second offset value can be set as unscaled offset values.
  • the scaling operation on the offset value can be discarded and directly
  • the unscaled offset value is used to offset the motion vector of the target candidate block, thereby simplifying the video processing process and reducing the complexity of video processing.
  • the method in FIG. 5 may further include: determining the motion vector of the current block according to the offset first motion vector and second motion vector.
  • the motion vector of the current block may sometimes be referred to as the optimal motion vector of the current block.
  • the motion vector of the current block may be calculated according to an algorithm such as rate-distortion cost, which is not limited in the embodiment of the present application.
  • the method in FIG. 5 may further include: The second offset value is used for scaling, and the second motion vector of the target candidate block is offset by using the scaled second offset value.
  • the offset value is 128, if the offset value of 128 is used for offset in both reference directions, the MV corresponding to the reference frame that is closer to the current frame will change too much, which is not consistent. The movement rules of objects in natural videos, therefore, the offset value of the MV needs to be scaled.
  • FIG. 8 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
  • the video processing device 800 in FIG. 8 may be an encoder or a decoder.
  • the video processing device 800 may include a memory 810 and a processor 820.
  • the memory 810 can be used to store codes.
  • the processor 820 may be used to read the code in the memory to perform the following operations: select the motion vector of the target candidate block from the motion vector candidate list of the current block, the motion vector candidate list including the motion vectors of multiple candidate blocks; determine The first offset value of the current block; when the target candidate block and the current block are located in different frames, and the target candidate block has two motion vectors, determine the second offset value of the current block; according to The first offset value offsets the first motion vector of the target candidate block; according to the second offset value, the second motion vector of the target candidate block is offset.
  • the second offset value is obtained according to the unscaled first offset value.
  • the first offset value and the second offset value are the same.
  • the processor 820 may be further configured to perform the following operation: when the target candidate block and the current block are located in the same frame, scale the second offset value, and use the scaled second offset value The shift value shifts the second motion vector of the target candidate block.
  • the target candidate block is determined according to TMVP technology.
  • the two motion vectors of the target candidate block are forward prediction and backward prediction, respectively.
  • the first offset value and the second offset value are opposite to each other.
  • the encoding mode of the video is a random access mode.
  • the two motion vectors of the target candidate block are forward prediction.
  • the first offset value and the second offset value are the same.
  • the encoding mode of the video is a low-delay mode.
  • the motion vector candidate list is a merge candidate list.
  • the motion vector of the target candidate block is the basic motion vector of the current block.
  • the first offset value and/or the second offset value include multiple optional values.
  • the processor 820 may also be configured to perform the following operations: determine the motion vector of the current block according to the offset first motion vector and second motion vector.
  • the second offset value is obtained by other methods than scaling the first offset value.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), etc.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

Landscapes

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

Abstract

提供一种视频处理方法和装置。该方法包括从当前块的运动矢量候选列表中选取目标候选块的运动矢量,运动矢量候选列表包括多个候选块的运动矢量;确定当前块的第一偏移值;当目标候选块和当前块位于不同帧,且目标候选块具有两个运动矢量时,确定当前块的第二偏移值;根据第一偏移值对目标候选块的第一运动矢量进行偏移;根据第二偏移值对目标候选块的第二运动矢量进行偏移。通过识别特定候选块,并为特定候选块选取适配的偏移方案,可以优化帧间预测方式。

Description

视频处理方法和装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及视频编解码领域,并且更为具体地,涉及一种视频处理方法和装置。
背景技术
视频编码过程包括帧间预测过程。帧间预测模式可以有多种,有些帧间预测模式会构建当前块的运动矢量候选列表,并基于当前块的运动矢量候选列表确定当前块的运动矢量。
为了改善帧间预测效果,在确定当前块的运动矢量的过程中,有些帧间预测模式会对当前块的运动矢量候选列表中的运动矢量进行一定程度的偏移。
发明内容
本申请提供一种视频处理方法和装置,以优化帧间预测方式。
第一方面,提供一种视频处理方法,包括:从当前块的运动矢量候选列表中选取目标候选块的运动矢量,所述运动矢量候选列表包括多个候选块的运动矢量;确定所述当前块的第一偏移值;当所述目标候选块和当前块位于不同帧,且所述目标候选块具有两个运动矢量时,确定所述当前块的第二偏移值;根据所述第一偏移值对所述目标候选块的第一运动矢量进行偏移;根据所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
第二方面,提供一种视频处理装置,包括:存储器,用于存储代码;处理器,用于读取所述存储器中的代码,以执行如下操作:从当前块的运动矢量候选列表中选取目标候选块的运动矢量,所述运动矢量候选列表包括多个候选块的运动矢量;确定所述当前块的第一偏移值;当所述目标候选块和当 前块位于不同帧,且所述目标候选块具有两个运动矢量时,确定所述当前块的第二偏移值;根据所述第一偏移值对所述目标候选块的第一运动矢量进行偏移;根据所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
第三方面,提供一种视频处理装置,包括用于执行第一方面中的方法的各个步骤的模块。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。
第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面所述的方法。
本申请识别特定候选块,并为特定候选块选取适配的偏移方案,可以优化帧间预测方式。
附图说明
图1是merge候选列表的构建过程的示意性流程图。
图2是时域运动矢量的缩放方式的示例图。
图3是lowdelay模式下的预测方式示例图。
图4是random access模式下的预测方式示例图。
图5是本申请实施例提供的视频处理方法的示意性流程图。
图6是当前帧的两个参考帧均位于当前帧的同一侧的示例图。
图7是本申请实施例提供的缩放方案的示例图。
图8是本申请实施例提供的视频处理装置的示意性结构图。
具体实施方式
本申请可应用于多种视频编码标准,如H.264,高效率视频编码(high efficiency video coding,HEVC),通用视频编码(versatile video coding,VVC),音视频编码标准(audio video coding standard,AVS),AVS+,AVS2以及AVS3等。
本申请中提及的两帧之间的距离可以指两帧在播放顺序上的差异,距离越大,播放顺序差异越大;由于播放顺序可以利用帧号(picture of order,POC)表示,因此,在某些实施例中,两帧之间的距离可以采用两帧帧号之间的差值进行度量。
视频编码过程主要包括预测、变换、量化、熵编码、环路滤波等部分。预测是主流视频编码技术的重要组成部分。预测可以分为帧内预测和帧间预测。帧间预测可以通过运动补偿的方式来实现。下面对运动补偿过程进行举例说明。
例如,对于一帧图像,可以先将其划分成一个或多个编码区域。该编码区域也可称为编码树单元(coding tree unit,CTU)。CTU的尺寸例如可以是64×64,也可以是128×128(单位为像素,后文的类似描述均省略单位)。每个CTU可以划分成方形或矩形的图像块,后文将编码端或解码端当前正在处理的图像块称为当前块。本申请实施例提及的当前块有时可以指当前编码单元(coding unit,CU),有时也可指当前预测单元(prediction unit,PU),本申请实施例对此并不限定。
在对当前块进行帧间预测时,可以从参考帧(可以是时域附近的已重构帧)中寻找当前块的相似块,作为当前块的预测块。当前块与相似块之间的相对位移称为运动矢量。在参考帧中寻找相似块作为当前块的预测块的过程即为运动补偿。
帧间预测模式可以有多种,有些帧间预测模式会构建当前块的运动矢量候选列表,并从当前块的运动矢量候选列表中选取当前块的运动矢量。下面以merge模式为例,对运动矢量候选列表(在merge模式中,运动矢量候选列表也可称为merge候选列表)的构建过程进行举例说明。
如图1所示,merge候选列表的构建过程包括步骤S102至步骤S118。
在步骤S102,向merge候选列表中添加空域MVP(Motion Vector Prediction,运动矢量预测值),或称空域MVP候选(spatial MVP candidate(s))。
空域MVP是与当前块处于同一帧的空间相邻块的运动矢量。空域MVP的最大数量可以设置为4。
在步骤S104,判断merge候选列表中的候选数量是否达到预设最大值(maxNumMergeCand)。
如果merge候选列表中的候选数量达到预设最大值,结束图1的流程;如果merge候选列表中的候选数量未达到预设最大值,可以继续执行步骤S106。
在步骤S106,向merge候选列表中添加TMVP,或称TMVP候选(temporal MVP candidate(s))。
步骤S106中添加的TMVP可以基于当前帧的同位帧中的同位块(col-located block)的运动矢量确定。由于同位帧与同位帧的参考帧之间的距离与当前帧与当前帧的参考帧之间的距离通常不同,所以同位块的运动矢量一般需要经过缩放之后才能作为TMVP被添加至merge候选列表中。后文会结合图2,对TMVP的获取过程进行更为详细的描述。
在步骤S108,判断merge候选列表中的候选数量是否达到预设最大值。
如果merge候选列表中的候选数量达到预设最大值,结束图1的流程;如果merge候选列表中的候选数量未达到预设最大值,继续执行步骤S110。
在步骤S110,向merge候选列表中添加历史MVP(historical MVP),或称HMVP候选。
HMVP可以是当前块所在帧中的其他块(如当前块的非相邻块)的运动矢量。
在步骤S112,判断merge候选列表中的候选数量是否达到预设最大值。
如果merge候选列表中的候选数量达到预设最大值,结束图1的流程;如果merge候选列表中的候选数量未达到预设最大值,继续执行步骤S114。
在步骤S114,向merge候选列表中添加成对MVP(pairwise MVP)。
pairwise MVP可以是将已添加至merge候选列表中的MVP进行加和平均等处理之后得到的MVP。
在步骤S116,判断merge候选列表中的候选数量是否达到预设最大值。
如果merge候选列表中的候选数量达到预设最大值,结束图1的流程;如果merge候选列表中的候选数量未达到预设最大值,继续执行步骤S118。
在步骤S118,向merge候选列表中添加向量(0,0),直到merge候选列表中的候选数量达到预设最大值。
应理解,步骤S108至步骤S118均为可选步骤。例如,在向merge候选列表添加了空域MVP和TMVP之后,即可停止merge候选列表的构建。又如,在向merge候选列表添加了空域MVP和TMVP之后,如果merge候选列表中的候选数量仍未达到预设最大值,则可以添加向量(0,0)。又如,在向merge候选列表添加了空域MVP和TMVP之后,如果merge候选列表中的候选数量仍未达到预设最大值,可以执行上述步骤S110至步骤S112,而不执行步骤S114至步骤S116;或者,如果merge候选列表中的候选数量仍未达到预设最大值,执行步骤S114至步骤S116,而不执行步骤S110至步骤 S112。
步骤S106获取的TMVP可以指的是基于TMVP技术得到的候选块的运动矢量。下面结合图2,对TMVP的获取过程进行介绍。
在构建当前块(cur_PU)的merge候选列表的过程中,如果需要向merge候选列表添加TMVP,则通常会先确定当前块的同位帧(col_pic)。该同位帧是与当前帧在时域上不同的一帧。该同位帧例如可以是当前块的参考列表中的第一帧。在确定同位帧之后,可以从同位帧中确定当前块的对应块,作为当前块的同位块(col_PU)。例如,可以将同位帧中的与当前块在C1(当前块的右下角点)或C0(当前块的中心点)位置的对应块确定为当前块的同位块。
接着,可以基于同位块的运动矢量确定TMVP。如图2所示,同位帧(col_pic)与同位帧的参考帧(col_ref)之间的距离用tb表示,当前帧(cur_pic)与当前帧的参考帧(cur_ref)之间的距离用td表示。由于tb和td通常不同,因此,通常先对同位块的运动矢量colMV进行缩放,得到curMV,再将curMV作为TMVP,添加至merge候选列表中。curMV可以通过以下公式计算得到:curMV=td*colMV/tb。为了便于描述,后文会将同位块的运动矢量的缩放操作称为:将同位块的运动矢量映射至当前帧的参考帧。
在运用时域运动矢量预测技术时,如果当前帧为B帧(即当前帧采用双向预测模式),则需要执行2次如图2所示的缩放操作,一次缩放操作用于将同位块的运动矢量映射至当前块的前向参考帧,另一次缩放操作用于将同位块的运动矢量映射至当前块的后向参考帧。
需要说明的是,同位块可以为双向预测模式,因此,同位块可以包括两个运动矢量,其中一个运动矢量为同位块的前向预测模式对应的运动矢量(下文用col_MV0表示),另一个运动矢量为同位块的后向预测模式对应的运动矢量(下文用col_MV1表示)。在执行上述两次缩放操作时,一种可能的实现方式是将col_MV0分别映射至当前块的前向参考帧和后向参考帧;或者,可以将col_MV0映射至当前块的前向参考帧,并将col_MV1映射至当前块的后向参考帧;或者,可以将col_MV1分别映射至当前块的前向参考帧和后向参考帧;或者,也可以将col_MV1映射指当前块的前向参考帧,并将col_MV0映射至当前块的后向参考帧。
下面结合图3和图4,分别以低延时(lowdelay)模式和随机访问(random  access)模式为例,对同位块的运动矢量映射至当前帧的前向参考帧和后向参考帧的过程进行说明。
lowdelay模式下,当前帧的参考帧的帧号均比当前帧的帧号小,即当前帧的参考帧的播放顺序均在当前帧的播放顺序之前。
以图3为例,在lowdelay模式下,当前帧(cur_pic)为POC 5,其前向参考列表的第一帧为POC 4,后向参考列表的第一帧为POC 4。在图3的示例中,POC4同时为当前帧的同位帧(col_pic)、前向参考帧(cur_ref0)和后向参考帧(cur_ref1)。POC 4的前向参考列表为{POC 3,POC2,POC0},后向参考列表为{POC 3,POC2,POC0}。POC 4的前向参考帧可能为POC3,POC2以及POC0中的任一帧,图3是以POC4的前向参考帧为POC3为例进行说明的。同理,POC4的后向参考帧可能为POC 3,POC2以及POC0中的任一帧,图3是以POC4的后向参考帧为POC2为例进行说明的。
图3中的(a)描述的是lowdelay模式下的针对前向预测模式的缩放操作,其结果是将当前块(cur_PU)的同位块(col_PU)的运动矢量(col_MV0)映射至当前块的前向参考帧(POC4),从而得到时域运动矢量预测cur_MV0。图3中的(b)描述的是lowdelay模式下的针对后向预测模式的缩放操作,其结果是将当前块(cur_PU)的同位块(col_PU)的运动矢量(col_MV1)映射至当前块的后向参考帧(POC4),从而得到时域运动矢量预测cur_MV1。
random access模式下,当前帧的参考帧的帧号可以比当前帧的帧号大,也可以比当前帧的帧号小,即当前帧的参考帧可以在当前帧之后播放,也可以在当前帧之前播放。
以图4为例,在random access模式下,当前帧为POC 27。当前帧的前向参考列表的第一帧为POC 26,后向参考列表的第一帧为POC 28。在图4的示例中,POC 26同时为当前帧的同位帧(col_pic)和前向参考帧(cur_ref0);POC 28为当前帧的后向参考帧(cur_ref1)。POC 26的前向参考列表为{POC24,POC 16},后向参考列表为{POC 28,POC 32}。POC 26的后向参考帧可以为POC 28,也可以为POC 32。在图4示例中,POC 32被选为POC 32的后向参考帧(col_ref1)。
图4中的(a)描述的是random access模式下的针对前向预测模式的缩放操作,其结果是将当前块(cur_PU)的同位块(col_PU)的运动矢量(col_MV1)映射至当前块的前向参考帧(cur_ref0),从而得到时域运动矢量预测 cur_MV0。图4中的(b)描述的是random access模式下的针对后向预测模式的缩放操作,其结果是将当前块(cur_PU)的同位块(col_PU)的运动矢量(col_MV1)映射至当前块的后向参考帧(cur_ref1),从而得到时域运动矢量预测cur_MV1。
为了改善帧间预测效果,在确定当前块的运动矢量的过程中,有些帧间预测模式会对当前块的运动矢量候选列表中的运动矢量进行一定程度的偏移。具有运动矢量差值的merge模式(merge mode with motion vector difference,MMVD)就是一种在传统merge模式基础上引入偏移方案的帧间预测技术,
下面以MMVD为例,对运动矢量的偏移方案进行举例说明。
MMVD技术也可称为终极运动矢量表达(ultimate motion vector expression,UMVE)技术。MMVD的实现过程主要包括如下两个步骤。
第一步:从已经构建完成的merge候选列表中选取基础运动矢量(base MV)。通常来讲,会可以将merge候选列表中的前两个运动矢量预测选择为基础运动矢量。
第二步:根据一定规则对基础运动矢量进行偏移,产生新的运动矢量候选,并利用新的运动矢量进行预测。
举例说明,假设基础运动矢量为(x,y),偏移后得到的新的运动矢量为(x’,y’),偏移操作使用的偏移值可以是预先配置的一组偏移值。例如,可以预先配置8个可选的偏移值(offset),每个偏移值的实现方式分为如下4种:
-x’=x+offset,y’=y;
-x’=x–offset,y’=y;
-x’=x,y’=y+offset;
-x’=x,y’=y–offset。
因此,两个基础运动矢量经偏移之后会得到2*4*8=64种可能的组合方式。当基础运动矢量采用双向预测模式时,则基础运动矢量在两个参考方向上的运动矢量均需要进行偏移。如果基础运动矢量的前向参考帧和后向参考帧为同一帧,则基础运动矢量在两个参考方向上可采用相同的偏移值进行偏移;如果基础运动矢量的前向参考帧和后向参考帧不同,则需要对基础运动矢量在某个参考方向上的运动矢量的偏移值进行缩放,并使用缩放后的偏移值对该基础运动矢量进行偏移。
下面结合图5,对本申请实施例进行详细描述。应理解的是,图5的方法可以应用于编码端,也可以应用于解码端,本申请实施例对此并不限定。
图5是本申请实施例提供的视频处理方法的示意性流程图。图5的方法包括步骤S510至步骤S550。
在步骤S510,从当前块的运动矢量候选列表中选取目标候选块的运动矢量。
运动矢量候选列表可以包括多个候选块的运动矢量。以merge模式为例,步骤S510中提及的运动矢量候选列表可以为merge候选列表。merge候选列表的构建过程可以参见图1。
在某些实施例中,可以将目标候选块的运动矢量称为当前块的基础运动矢量(Base MV)。
本申请实施例中,当前块所在的当前帧可以为B帧。当前块的预测模式可以为双向预测模式。
在步骤S520,确定当前块的第一偏移值。
在步骤S530,当目标候选块和当前块位于不同帧,且目标候选块具有两个运动矢量时,确定当前块的第二偏移值。
目标候选块可以是根据TMVP技术确定的候选块。换句话说,基于TMVP技术确定的候选块与当前块会位于不同帧中。
目标候选块的两个运动矢量可以分别为前向预测和后向预测。或者,目标候选块的两个运动矢量均可以为单向预测。以视频的编码模式为随机访问模式为例,目标候选块的两个运动矢量可以为前向预测和后向预测。以视频的编码模式为低延时模式为例,目标候选块的两个运动矢量可以均是前向预测。
目标候选块的两个运动矢量的参考帧可以相同,也可以不同。
在步骤S540,根据第一偏移值对目标候选块的第一运动矢量进行偏移。
第一偏移值可以包括一个或多个可选值。第一偏移值例如可以包括8个可选值。第一偏移值可以是预设的偏移值,也可以是对预设的偏移值经过其他操作之后得到的偏移值。这里的其他操作可以是缩放操作、取反操作等,本申请实施例对此不做具体限定。
作为一个示例,步骤S540可以包括:根据未经缩放的第一偏移值对目标候选块的第一运动矢量进行偏移。
需要说明的是,未经缩放的第一偏移值可以是预设的偏移值,也可以是对预设的偏移值经过除缩放操作之外的其他操作处理之后得到的偏移值,如对预设偏移值经过取反操作后得到的偏移值。需要说明的是,预设的偏移值可以包括多个可选值,这里的取反操作可以是对该多个可选值全部取反,也可以对该多个可选值中的部分可选值取反,本申请实施例对此并不限定。
在步骤S550,根据第二偏移值对目标候选块的第二运动矢量进行偏移。
本申请实施例识别特定候选块,并为特定候选块选取适配的偏移方案,可以优化帧间预测方式。
第二偏移值可以包括一个或多个可选值。第二偏移值例如可以包括8个可选值。第二偏移值可以是预设的偏移值,也可以是对预设的偏移值经过其他操作之后得到的偏移值。这里的其他操作可以是缩放操作、取反操作等,本申请实施例对此不做具体限定。
需要说明的是,未经缩放的第二偏移值可以是预设的偏移值,也可以是对预设的偏移值经过除缩放操作之外的其他操作处理之后得到的偏移值,如对预设偏移值经过取反操作后得到的偏移值。需要说明的是,预设的偏移值可以包括多个可选值,这里的取反操作可以是对该多个可选值全部取反,也可以对该多个可选值中的部分可选值取反,本申请实施例对此并不限定。
第一偏移值与第二偏移值可以是相互独立的偏移值。或者,第二偏移值可以是根据未经缩放的第一偏移值得到的偏移值。或者,第二偏移值可以是通过除对第一偏移值进行缩放的其他方式得到的。例如,第一偏移值可以是预设的偏移值,第二偏移值可以是在第一偏移值基础上部分或全部取反后得到的偏移值。
第一偏移值和第二偏移值可以相同,也可以不同。例如,第一偏移值和第二偏移值均可以为预设的偏移值。又如,第一偏移值可以为预设的偏移值,第二偏移值可以为预设的偏移值的相反数。又如,第二偏移值可以为预设的偏移值,第一偏移值可以为预设的偏移值的相反数。又如,第一偏移值和第二偏移值中的部分偏移值相同,部分偏移值互为相反数。
例如,目标候选块的两个运动矢量分别是前向预测和后向预测,则第一偏移值和第二偏移值可以相同。
又如,目标候选块的两个运动矢量是前向预测,则第一偏移值和第二偏移值可以互为相反数。
以图6为例,假设当前帧的帧号为current POC,当前帧的前向参考帧的帧号为POC 0,当前帧的后向参考帧的帧号为POC 1,如果(current POC–POC 0)*(current POC–POC 1)>0,则说明当前帧的前向参考帧和后向参考帧的播放顺序均位于当前帧之前或之后。在这种情况下,在某些实施例中,可以将当前块的第一偏移值与第二偏移值设置为相同的偏移值。
从图2的描述可以看出,如果目标候选块与当前块位于不同帧,且目标候选块具有两个运动矢量,则将目标候选块的两个运动矢量添加至当前块的运动矢量候选列表时可能需要两次缩放操作。此外,如果目标候选块的运动矢量对应的两个参考帧不同,则在对目标候选块的运动矢量进行偏移时,可能还需要对偏移值进行一次缩放操作。由此可见,当目标候选块和当前块位于不同帧,目标候选块具有两个运动矢量,且目标候选块的两个运动矢量的参考帧不同时,可能会出现3次缩放操作。3次缩放操作会增加视频处理的复杂度,增大编解码系统的负担。
为了避免3次缩放操作带来的上述问题,当目标候选块和当前块位于不同帧,目标候选块具有两个运动矢量,且目标候选块的两个运动矢量的参考帧不同时,可以将第一偏移值和第二偏移值均可设置为未经缩放的偏移值。换句话说,当目标候选块和当前块位于不同帧,目标候选块具有两个运动矢量,且目标候选块的两个运动矢量的参考帧不同时,可以舍弃对偏移值的缩放操作,直接利用未经缩放的偏移值对目标候选块的运动矢量进行偏移,从而简化了视频处理过程,降低了视频处理的复杂度。
可选地,在一些实施例中,图5的方法还可以包括:根据偏移后的第一运动矢量和第二运动矢量,确定当前块的运动矢量。当前块的运动矢量有时也可以称为当前块的最优运动矢量。当前块的运动矢量可以根据率失真代价等算法计算,本申请实施例对此并不限定。
上文是以目标候选块和当前块位于不同帧为例进行举例说明的,当目标候选块和当前块位于相同帧时,图5的方法还可包括:根据所述第一偏移值对第二偏移值进行缩放,并利用缩放后的第二偏移值对目标候选块的第二运动矢量进行偏移。
下面以目标运动矢量为空域MVP为例进行说明。如图7所示,当前块(cur_PU)的基础运动矢量的前向参考帧为cur ref pic 0,后向参考帧为cur ref pic 1,基础运动矢量相对前向参考帧的运动矢量为MV0,相对后向参考帧 的运动矢量为MV1。当cur ref pic 0与cur ref pic 1不为同一帧时,则两个参考帧相对当前帧的距离就可能存在差异,此时,如果使用相同的偏移值对MV0和MV1进行偏移(偏移值在图7中用offset 0和offset 1表示),是不合理的。例如,假设偏移值为128,如果在两个参考方向上均使用128的偏移值进行偏移,将会使与当前帧距离较近的参考帧所对应的MV的变动过大,不符合自然视频中的物体的运动规律,因此,需要对该MV的偏移值进行缩放。
上文结合图1至图7,详细描述了本申请实施例的视频处理方法,下文结合图8,详细描述本申请实施例的视频处理装置。应理解,方法实施例与装置实施例之间的描述相互对应,因此,装置实施例部分未详细描述的内容可以参见前文中的方法实施例部分的对应内容。
图8是本申请实施例提供的视频处理装置的示意性结构图。图8的视频处理装置800可以是编码器也可以是解码器。该视频处理装置800可以包括存储器810和处理器820。
存储器810可用于存储代码。
处理器820可用于读取存储器中的代码,以执行如下操作:从当前块的运动矢量候选列表中选取目标候选块的运动矢量,所述运动矢量候选列表包括多个候选块的运动矢量;确定所述当前块的第一偏移值;当所述目标候选块和当前块位于不同帧,且所述目标候选块具有两个运动矢量时,确定所述当前块的第二偏移值;根据所述第一偏移值对所述目标候选块的第一运动矢量进行偏移;根据所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
可选地,所述第二偏移值是根据未经缩放的所述第一偏移值得到的。
可选地,所述第一偏移值和所述第二偏移值相同。
可选地,所述处理器820还可用于执行以下操作:当所述目标候选块和当前块位于相同帧时,对所述第二偏移值进行缩放,利用缩放后的所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
可选地,所述目标候选块是根据TMVP技术确定的。
可选地,所述目标候选块的两个运动矢量分别是前向预测和后向预测。
可选地,所述第一偏移值和所述第二偏移值互为相反数。
可选地,所述视频的编码模式为随机访问模式。
可选地,所述目标候选块的两个运动矢量是前向预测。
可选地,所述第一偏移值和所述第二偏移值相同。
可选地,所述视频的编码模式为低延时模式。
可选地,所述运动矢量候选列表为merge候选列表。
可选地,所述目标候选块的运动矢量为所述当前块的基础运动矢量。
可选地,所述第一偏移值和/或所述第二偏移值包括多个可选值。
可选地,所述处理器820还可用于执行以下操作:根据偏移后的第一运动矢量和第二运动矢量,确定当前块的运动矢量。
可选地,所述第二偏移值是通过除对所述第一偏移值进行缩放的其他方式得到的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (32)

  1. 一种视频处理方法,其特征在于,包括:
    从当前块的运动矢量候选列表中选取目标候选块的运动矢量,所述运动矢量候选列表包括多个候选块的运动矢量;
    确定所述当前块的第一偏移值;
    当所述目标候选块和当前块位于不同帧,且所述目标候选块具有两个运动矢量时,确定所述当前块的第二偏移值;
    根据所述第一偏移值对所述目标候选块的第一运动矢量进行偏移;
    根据所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
  2. 根据权利要求1所述的方法,其特征在于,所述第二偏移值是根据未经缩放的所述第一偏移值得到的。
  3. 根据权利要求1所述的方法,其特征在于,所述第一偏移值和所述第二偏移值相同。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述目标候选块和当前块位于相同帧时,对所述第二偏移值进行缩放,利用缩放后的所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
  5. 根据权利要求1所述的方法,其特征在于,所述目标候选块是根据时域运动矢量预测TMVP技术确定的。
  6. 根据权利要求1所述的方法,其特征在于,所述目标候选块的两个运动矢量分别是前向预测和后向预测。
  7. 根据权利要求6所述的方法,其特征在于,所述第一偏移值和所述第二偏移值互为相反数。
  8. 根据权利要求6所述的方法,其特征在于,所述视频的编码模式为随机访问模式。
  9. 根据权利要求1所述的方法,其特征在于,所述目标候选块的两个运动矢量是前向预测。
  10. 根据权利要求9所述的方法,其特征在于,所述第一偏移值和所述第二偏移值相同。
  11. 根据权利要求9所述的方法,其特征在于,所述视频的编码模式为低延时模式。
  12. 根据权利要求1所述的方法,其特征在于,所述运动矢量候选列表 为merge候选列表。
  13. 根据权利要求1所述的方法,其特征在于,所述目标候选块的运动矢量为所述当前块的基础运动矢量。
  14. 根据权利要求1所述的方法,其特征在于,所述第一偏移值和/或所述第二偏移值包括多个可选值。
  15. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    根据偏移后的第一运动矢量和第二运动矢量,确定当前块的运动矢量。
  16. 根据权利要求1所述的方法,其特征在于,所述第二偏移值是通过除对所述第一偏移值进行缩放的其他方式得到的。
  17. 一种视频处理装置,其特征在于,包括:
    存储器,用于存储代码;
    处理器,用于读取所述存储器中的代码,以执行如下操作:
    从当前块的运动矢量候选列表中选取目标候选块的运动矢量,所述运动矢量候选列表包括多个候选块的运动矢量;
    确定所述当前块的第一偏移值;
    当所述目标候选块和当前块位于不同帧,且所述目标候选块具有两个运动矢量时,确定所述当前块的第二偏移值;
    根据所述第一偏移值对所述目标候选块的第一运动矢量进行偏移;
    根据所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
  18. 根据权利要求17所述的装置,其特征在于,所述第二偏移值是根据未经缩放的所述第一偏移值得到的。
  19. 根据权利要求17所述的装置,其特征在于,所述第一偏移值和所述第二偏移值相同。
  20. 根据权利要求17所述的装置,其特征在于,所述处理器还用于执行以下操作:
    当所述目标候选块和当前块位于相同帧时,对所述第二偏移值进行缩放,利用缩放后的所述第二偏移值对所述目标候选块的第二运动矢量进行偏移。
  21. 根据权利要求17所述的装置,其特征在于,所述目标候选块是根据时域运动矢量预测TMVP技术确定的。
  22. 根据权利要求17所述的装置,其特征在于,所述目标候选块的两个运动矢量分别是前向预测和后向预测。
  23. 根据权利要求22所述的装置,其特征在于,所述第一偏移值和所述第二偏移值互为相反数。
  24. 根据权利要求22所述的装置,其特征在于,所述视频的编码模式为随机访问模式。
  25. 根据权利要求17所述的装置,其特征在于,所述目标候选块的两个运动矢量是前向预测。
  26. 根据权利要求25所述的装置,其特征在于,所述第一偏移值和所述第二偏移值相同。
  27. 根据权利要求25所述的装置,其特征在于,所述视频的编码模式为低延时模式。
  28. 根据权利要求17所述的装置,其特征在于,所述运动矢量候选列表为merge候选列表。
  29. 根据权利要求17所述的装置,其特征在于,所述目标候选块的运动矢量为所述当前块的基础运动矢量。
  30. 根据权利要求17所述的装置,其特征在于,所述第一偏移值和/或所述第二偏移值包括多个可选值。
  31. 根据权利要求17所述的装置,其特征在于,所述处理器还用于执行以下操作:
    根据偏移后的第一运动矢量和第二运动矢量,确定当前块的运动矢量。
  32. 根据权利要求17所述的装置,其特征在于,所述第二偏移值是通过除对所述第一偏移值进行缩放的其他方式得到的。
PCT/CN2019/092751 2019-06-25 2019-06-25 视频处理方法和装置 WO2020258024A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980009149.7A CN111684799B (zh) 2019-06-25 2019-06-25 视频处理方法和装置
PCT/CN2019/092751 WO2020258024A1 (zh) 2019-06-25 2019-06-25 视频处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/092751 WO2020258024A1 (zh) 2019-06-25 2019-06-25 视频处理方法和装置

Publications (1)

Publication Number Publication Date
WO2020258024A1 true WO2020258024A1 (zh) 2020-12-30

Family

ID=72451465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092751 WO2020258024A1 (zh) 2019-06-25 2019-06-25 视频处理方法和装置

Country Status (2)

Country Link
CN (1) CN111684799B (zh)
WO (1) WO2020258024A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565753B (zh) * 2020-12-06 2022-08-16 浙江大华技术股份有限公司 运动矢量差的确定方法和装置、存储介质及电子装置
CN115086678B (zh) * 2022-08-22 2022-12-27 北京达佳互联信息技术有限公司 视频编码方法和装置、视频解码方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920249A (zh) * 2011-11-08 2018-04-17 株式会社Kt 对视频信号进行解码的方法
WO2019009618A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104488272B (zh) * 2012-07-02 2018-03-16 三星电子株式会社 用于预测用于对视频进行编码或用于对视频进行解码的运动矢量的方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920249A (zh) * 2011-11-08 2018-04-17 株式会社Kt 对视频信号进行解码的方法
WO2019009618A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JEONG, S. ET AL.: "CE4 Ultimate Motion Vector Expression in J0024", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 11TH MEETING: LJUBLJANA, 12 July 2018 (2018-07-12), DOI: 20200324141742X *

Also Published As

Publication number Publication date
CN111684799B (zh) 2023-07-25
CN111684799A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
TWI736872B (zh) 基於解碼器側運動向量推導之運動向量預測推導之限制
US20220286689A1 (en) Video encoding/decoding method and apparatus using motion information candidate, and method for transmitting bitstream
WO2019191890A1 (zh) 用于图像处理的方法和图像处理装置
CN111630859B (zh) 根据图像编码系统中的帧间预测进行图像解码的方法和装置
TW202013979A (zh) 整數運動補償
TW201931854A (zh) 統一合併候選列表運用
JP7328337B2 (ja) ビデオ処理方法および装置
US20190342571A1 (en) Image predictive encoding and decoding system
TW202041002A (zh) 解碼器側運動向量精緻化之限制
US9473787B2 (en) Video coding apparatus and video coding method
CN109922336B (zh) 视频数据的帧间预测方法和装置
CN112866720B (zh) 一种运动矢量预测方法、装置与编解码器
US20220182606A1 (en) Video encoding/decoding method and device for deriving weight index for bidirectional prediction of merge candidate, and method for transmitting bitstream
US20220368891A1 (en) Image encoding/decoding method and apparatus, and method of transmitting bitstream using sequence parameter set including information on maximum number of merge candidates
WO2020258024A1 (zh) 视频处理方法和装置
US11949874B2 (en) Image encoding/decoding method and device for performing prof, and method for transmitting bitstream
US20220191535A1 (en) Image encoding/decoding method and apparatus for performing bi-directional prediction, and method for transmitting bitstream
JP6493592B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP6311816B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
WO2020140329A1 (zh) 视频处理方法和装置

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

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

Country of ref document: EP

Kind code of ref document: A1