CN117692651A - 用于译码块的几何划分块的帧间预测的装置及方法 - Google Patents
用于译码块的几何划分块的帧间预测的装置及方法 Download PDFInfo
- Publication number
- CN117692651A CN117692651A CN202311301968.3A CN202311301968A CN117692651A CN 117692651 A CN117692651 A CN 117692651A CN 202311301968 A CN202311301968 A CN 202311301968A CN 117692651 A CN117692651 A CN 117692651A
- Authority
- CN
- China
- Prior art keywords
- block
- fusion
- motion vector
- prediction
- video
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 239000013598 vector Substances 0.000 claims abstract description 242
- 230000004927 fusion Effects 0.000 claims abstract description 222
- 230000002123 temporal effect Effects 0.000 claims abstract description 137
- 238000009795 derivation Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 86
- 238000005192 partition Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013139 quantization Methods 0.000 description 87
- 230000000875 corresponding effect Effects 0.000 description 86
- 230000015654 memory Effects 0.000 description 53
- 239000000872 buffer Substances 0.000 description 38
- 230000006854 communication Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 32
- 238000000638 solvent extraction Methods 0.000 description 29
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000003491 array Methods 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 10
- 239000004814 polyurethane Substances 0.000 description 8
- 229920002635 polyurethane Polymers 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明针对视频编码和解码提出了一种装置和各种方法,用于为译码块(a coding block)推导运动矢量(motion vector,MV)。具体地,当所述译码块采用几何划分的融合模式时,为划分成两个几何划分块(partition)的所述译码块生成融合候选列表,其中,所述融合候选列表生成包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);根据所述融合候选列表,将单向预测MV推导为所述相应几何划分块的运动矢量,其中,所述融合候选列表包括一个或多个单向预测MV和/或一个或多个双向预测MV,单向MV的推导是基于所述融合候选列表或单向MV选择规则进行的;以及,至少根据所述单向预测MV对所述译码块的几何划分块进行预测,得到所述几何划分块的预测值。
Description
相关申请交叉引用
本专利申请要求于2018年10月8日提交的申请号为62/742,921的美国临时专利申请的优先权。上述专利申请的全部内容通过引用结合在本文中。
技术领域
本发明大体上涉及视频译码领域。更具体地,本发明涉及对视频信号的视频译码块的帧间预测使用三角划分/几何划分(例如三角预测单元、三角划分的融合模式、三角/几何预测单元的运动矢量预测和存储)来进行视频译码块(coding block)的编码和解码。
背景技术
在H.264/高级视频译码(Advanced Video Coding,AVC)或高效视频译码(HighEfficiency Video Coding,HEVC)等目前视频译码方案中,帧间预测图像(也称为帧)中的运动信息被划分成大小可配置的矩形视频译码块。虽然在H.264/AVC中,运动被划分成最大大小为16×16像素的对称视频译码块,即宏块,视频译码块可以进一步细分为最小的4×4像素,但HEVC使用最大64×64像素的译码树单元(coding tree unit,CTU)替换宏块。由于CTU可以通过四叉树(quadtree,QT)分解方案划分成更小的译码单元(coding unit,CU),CU又可以细分为最小8×8像素,所以CTU不仅仅是一个较大的宏块。而且,与H.264/AVC相比,HEVC还支持译码单元(coding unit,CU)到预测单元(prediction unit,PU)的非对称块划分(asymmetric block partitioning,AMP)。
确定每个CTU的分解和划分方式在编码过程中根据率失真优化规则执行。虽然AMP已经提高了译码效率,但译码效率问题可能会出现在视频序列中移动对象的边界上。
具体地,在对象边界不是严格垂直或水平的情况下,可能产生沿对象边界的精细四叉树分解和块划分方式。由于沿边界的块可能包括相似的运动信息,因此产生冗余,降低了译码效率。
需要视频译码设备和方法(即用于编码和/或解码),这些设备和方法以对视频译码块的帧间预测使用的三角划分或对角线划分为基础,提高了译码效率,同时降低了存储带宽要求。
发明内容
本发明的目的是提供各种视频译码设备及方法,这些设备和方法以对视频译码块的帧间预测使用的三角划分或对角线划分为基础,从而提高译码效率。本发明的保护范围由权利要求书限定。
上述和其它目的通过由独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
本发明实施例由独立权利要求的特征定义,而这些实施例的其它有利实现方式由从属权利要求的特征定义。
本文使用的视频信号或视频序列是一组呈现运动图像的后续帧。换句话说,视频信号或视频序列包括多个帧(也称为图像(picture/image))。
本文使用的分割(segmentation)是将图像或图像区域(具体是视频译码块)划分成两个以上分段或划分块的过程。这里引入了三角划分块,它在对角线或反对角线方向上将CU分割(split)成两个三角预测单元。CU可以在对角线或反对角线方向上分割成两个三角预测单元。
本文使用的译码树单元(coding tree unit,CTU)表示预定义大小的视频序列的译码结构的根,包括帧的一部分(例如64×64像素)。CTU可以划分成几个CU。
本文使用的译码单元(coding unit,CU)表示预定义大小的视频序列的基本译码结构,包括帧的属于CTU的一部分。CU可以进一步划分成更多CU。
本文使用的预测单元(prediction unit,PU)表示译码树结构,是划分CU得到的结果。
本文描述的各种设备和方法可以用于表示用于基于分割(segmentation)的块划分的运动信息,基于分割的块划分与矩形块划分结合使用,有助于视频译码应用中的帧间预测。
本文描述的格式设备和方法可以用于图像之间的帧间预测,以利用自然视频序列的时间冗余。
在上述场景中,CU可以在对角线或反对角线方向上分割成两个三角预测单元。CU中的每个三角预测单元具有自己的运动矢量和一个或多个参考帧索引(例如第一参考索引和/或第二参考索引),这些信息可以从运动候选列表中推导出。
本发明的总体思想可以概括为:允许三角/几何划分块的至少一个4×4子块存储双向预测运动矢量,但仅执行单向运动补偿。
上述和其它目的通过由独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
根据本发明的一方面,提供了一种为译码块(coding block)(或图像块)推导运动矢量(motion vector,MV)的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,所述生成融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);至少根据所述融合候选列表,将单向预测MV推导为所述相应三角划分块的运动矢量。
可以理解的是,表述“译码块”和“图像块”在整个申请中可以互换。
在一个示例中,所述一个或多个空间融合候选以与HEVC中类似的方式推导出,如图8所示。所述一个或多个空间融合候选称为A0、A1、B0、B1和B2。在图8所示位置处的候选之中,选择最多4个融合候选。推导顺序为A1、B1、B0、A0和B2。仅当位置A0、B0、B1、A1中的任一CU不可用时(由于该CU属于另一条带或分块等原因)或经过帧内译码时,才考虑位置B2。在位置A0处的候选加入融合候选列表(merge candidate list,MCL)之后,剩余候选要进行冗余检查才能添加,以确保MCL列表不包括具有相同运动信息的候选,这样提高了译码效率。
时间运动矢量预测值(motion vector prediction,MVP)根据属于并置参考图像的并置CU推导出,如图9所示,“6”或“7”为推导出的MVP。
如图6所示,沿对角线或反对角线划分视频译码块,得到两个三角划分块,例如PU0和PU1。块PU0和PU1此时可以指视频块的左下和右上三角部分或者视频块的左上和右下三角部分。术语“视频块”和“视频译码块”用作同义词。术语“三角划分块(triangle/triangularpartition)”和“三角块(triangle/triangular block)”用作同义词。
视频译码块可以分成包括4×4像素块的较小块单元。术语“像素”也可以指样本(sample)。因此,视频块的两个三角块PU0和PU1都可以包括多个4×4块单元,如图7所示。
视频块对角线或反对角线上的4×4块单元中的样本属于其中一个三角划分块。在对每个三角划分块进行预测之后,沿对角线或反对角线的样本值通过混合处理使用自适应权重进行调整。可选地,混合处理可以在(反)对角线周围的扩展范围内执行。
根据本发明的一方面,所述单向预测MV是根据用于所述三角划分的融合模式的单向预测MV选择规则和所述融合候选列表所推导出的。
根据本发明的一方面,所述融合候选列表包括一个或多个单向预测MV和/或一个或多个双向预测MV。
根据本发明的一方面,所述用于所述三角划分的融合模式的单向预测MV选择规则表示所述融合候选列表中的双向预测MV中的第一MV或第二MV被选择为单向预测MV。
根据本发明的一方面,所述第一MV对应于第一参考图像列表REF_PIC_LIST0,所述第二MV对应于第二参考图像列表REF_PIC_LIST1。
根据本发明的一方面,提供了一种为译码块(coding block)生成融合候选列表的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成所述融合候选列表,其中,所述生成所述融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);将所述一个或多个空间融合候选和所述推导出的一个或多个时间MVP加入所述融合候选列表,其中,所述一个或多个空间融合候选和/或所述一个或多个时间MVP包括单向预测MV或双向预测MV。
可选地,在推导出所述一个或多个空间融合候选之后,可以直接并立即推导出最多一个时间运动矢量预测值(motion vector prediction,MVP),并且可以将推导出的最多一个时间运动矢量预测MVP加入所述融合候选列表。图9通过候选6和7示出了这一点。
时间候选的位置从候选6和7之间选择,如图9所示。如果位置6处的CU不可用,或经过帧内译码,或者在CTU的当前行之外,则使用位置7。否则,在推导时间MVP(即时间融合候选)时使用位置6。
根据本发明的一方面,提供了一种对译码块(coding block)的当前三角划分块进行帧间预测的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为所述译码块生成融合候选列表,其中,所述生成融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporalmotion vector prediction,MVP);至少根据所述融合候选列表,将单向预测MV推导为所述当前三角划分块的运动矢量;至少根据所述单向预测MV对所述当前三角划分块执行预测,得到所述当前三角划分块的预测值。
根据本发明的一方面,所述生成融合候选列表不包括推导基于子块的时间融合候选。
根据本发明的一方面,所述单向预测MV选择规则为以下任一种:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量用作所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV用作所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV用作所述单向预测MV;或者,如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV用作所述单向预测MV。
根据本发明的一方面,提供了一种为译码块(coding block)推导运动矢量(motion vector,MV)的装置。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,在所述生成融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);帧间预测处理单元,用于至少根据所述融合候选列表,将单向预测MV推导为所述对应三角划分块的运动矢量。
根据本发明的一方面,提供了一种为译码块(coding)生成融合候选列表的装置。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成所述融合候选列表,其中,在所述生成所述融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);将所述一个或多个空间融合候选和所述推导出的一个或多个时间MVP加入所述融合候选列表,其中,所述一个或多个空间融合候选和/或所述一个或多个时间MVP包括单向预测MV或双向预测MV。
根据本发明的一方面,提供了一种对译码块(coding block)的当前三角划分块进行帧间预测的装置。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,在所述生成融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);帧间预测处理单元,用于:至少根据所述融合候选列表,将单向预测MV推导为所述当前三角划分块的运动矢量,并且至少根据所述单向预测MV对所述当前三角划分块执行预测,得到所述当前三角划分块的预测值。
根据本发明的一方面,所述单向预测MV选择规则为以下任一种:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量用作所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV用作所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV用作所述单向预测MV;或者,如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV用作所述单向预测MV。
根据本发明的一方面,提供了一种解码装置(200),用于对经编码视频信号的当前帧的视频解码(coding block)块进行解码。所述解码装置(200)包括:解码模块(205,207),用于对所述视频译码块进行解码,以提供残差视频译码块;帧间预测模块(215),用于:根据为采用三角划分的融合模式的所述视频译码块的三角划分块所推导的单向预测运动矢量(motion vector,MV)生成预测视频译码块,其中,在所述三角划分的融合模式下允许至少一个4×4子块存储双向预测运动矢量(motion vector,MV),并且执行单向运动补偿;重建模块(209),用于根据经过滤波的预测视频译码块和所述残差视频译码块,重建所述视频译码块。
所述至少一个4×4子块可以是沿划分成两个三角划分块的当前译码块的(反)对角线的其中一个4×4子块。
根据本发明的一方面,提供了一种装置,用于在视频信号的当前帧的译码块(coding block)的三角划分的融合模式下执行单向运动补偿,所述译码块划分成两个三角划分块。所述装置包括:处理电路,用于:根据用于所述三角划分的融合模式的单向预测运动矢量(motion vector,MV)选择规则和融合候选列表,分别为所述两个三角划分块推导单向预测MV;使用对应的单向预测MV分别对所述两个三角划分块执行运动补偿;根据所述两个运动补偿后的三角划分块获取预测译码块。
只使用三角块中每个三角块的单向MV进行运动补偿能够以低计算成本对三角划分的视频译码块高效执行运动补偿。换句话说,译码效率有所提高。同时,运动补偿的存储带宽仍然很低。这是因为在三角模式下,划分视频译码块得到的两个三角块分别通过单向MV进行运动补偿。换句话说,视频译码块进行了运动补偿,就像使用了视频译码块的双向预测MV一样。
根据本发明的一方面,所述融合候选列表包括单向预测运动矢量(motionvector,MV)候选和/或双向预测运动矢量(motion vector,MV)候选,其中,所述双向预测MV候选包括第一MV和第二MV。
根据本发明的一方面,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量推导为所述单向预测MV。
在双向预测MV的第一MV和第二MV参考同一参考图像的情况下对两个MV进行平均,从双向预测MV中推导出单向MV能够更准确地对三角块执行运动补偿。
根据本发明的一方面,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV推导为所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离TD1小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV推导为所述单向预测MV。
在一种示例性实现方式中,也可以存储融合候选列表中的双向预测MV,从中可以推导出单向预测MV。这样能够快速访问为特定三角块存储的双向预测MV,所述双向预测MV可能是进一步后处理所需的。因此,三角块的译码效率可以通过快速访问相应的双向预测MV进一步提高。
使用时间距离最小的一个MV从双向预测MV中推导出单向预测MV能够更准确地执行运动补偿。这是因为时间距离最小的双向预测MV的MV与参考图像的时间相关性更强。因此,运动补偿中的误差可以进一步最小化。
根据本发明的一方面,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV推导为所述单向预测MV。
在一个示例性实施例中,MV的幅值“mag”可以根据二分量运动矢量的平方分量mvx和mvy之和计算得到,其中,MV=(mvx,mvy):
mag(MV)=mvx 2+mvy 2。
可选地,幅值可以根据p范数(p>0)等度量确定。当p=2时,p范数变为常见的欧几里德范数。可以使用其它适合于确定一或多分量矢量(包括本发明的运动矢量)的幅值的范数。
使用幅值最小的MV从双向预测MV推导出单向预测MV能够在第一和第二MV的时间距离相同的情况下更准确地执行运动补偿。这是因为,除MV到参考图像的时间距离之外,MV的幅值也是推导当前视频块的运动信息的一种度量。这表示,幅值较小的MV的运动信息可能更适合于三角块的运动补偿,因为相比于幅值较大的MV,运动信息差异小。因此,运动补偿可以很准确。
在本发明的上述方面中,单向预测MV的推导可以是通过任一指定的规则进行的,取决于双向预测MV的第一和第二MV是否(i)参考同一参考图像,(ii)具有不同时间距离,(iii)具有不同幅值。
按照(i)检查第一和第二MV是否参考同一参考图像,(ii)检查时间距离是否最小和(iii)检查幅值是否最小的顺序从双向预测MV中推导出单向预测MV能够根据层次结构从双向预测MV中逐渐推导出单向预测MV。
这种层次结构可以根据测试任一规则(每个规则通过“if条件句等”表示)的顺序来确定。这里,所述层次结构可以基于(1)参考图像、(2)时间距离和(3)幅值。因此,(1)至(3)的特定顺序能够从双向预测MV中推导出高质量单向MV。这表示,三角块的运动补偿可以通过这种分层推导出的MV更准确地执行。
根据本发明的一方面,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量推导为所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV推导为所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV推导为所述单向预测MV;如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV推导为所述单向MV候选。
根据本发明的一方面,提供了一种编码装置(20),用于对视频信号的当前帧的译码块(coding block)进行编码。所述编码装置(20)包括:编码模块(204,270)用于对所述译码块进行编码,以提供残差译码块;帧间预测模块(244),用于根据任一上述方面生成预测译码块;重建模块(214),用于根据所述预测译码块和所述残差译码块,重建所述译码块。
根据本发明的一方面,提供了一种解码装置(30),用于对视频信号的当前帧的译码块(coding block)进行解码。所述解码装置(30)包括:解码模块(304),用于对所述译码块进行解码,以提供残差译码块;帧间预测模块(344),用于根据任一上述方面生成预测译码块;重建模块(314),用于根据所述预测译码块和所述残差译码块,重建所述译码块。
根据本发明的一方面,提供了一种编码器。所述编码器包括处理电路,所述处理电路用于执行根据本发明的任一上述方面所述的方法。
根据本发明的一方面,提供了一种解码器。所述解码器包括处理电路,所述处理电路用于执行根据本发明的任一上述方面所述的方法。
根据本发明的一方面,提供了一种计算机程序产品。所述计算机程序产品包括程序代码,所述程序代码用于执行根据本发明的任一上述方面所述的方法。
根据本发明的一个方面,提供了一种解码器。所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序。所述程序在由所述一个或多个处理器执行时,配置所述解码器执行根据本发明的任一上述方面所述的方法。
根据本发明一个方面,提供了一种编码器。所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序。所述程序在由所述一个或多个处理器执行时,配置所述编码器执行根据本发明的任一上述方面所述的方法。
根据本发明的任一上述方面所述的一个或多个解码器和编码器能够在不增加计算复杂度和存储需求的情况下更准确地进行视频编码和解码。这特别适用于根据本发明的任一上述方面推导单向预测MV来进行帧间预测。
使用根据与方法步骤相关的本发明任一上述方面从双向预测MV中推导出的单向MV来执行运动补偿的方法可以提供与其有关装置的对应方面相同的一个或多个优点。
根据一方面,本发明涉及一种对视频流进行解码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行根据任一上述方法方面所述的方法。
根据一方面,本发明涉及一种对视频流进行编码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行根据任一上述方法方面所述的方法。
根据一方面,提供了一种存储有指令的计算机可读存储介质。所述指令在执行时,使得一个或多个处理器用于对视频数据进行译码。所述指令使得所述一个或多个处理器执行根据任一上述方面或任一上述方面的任一可能实施例所述的方法。
根据一方面,本发明涉及一种包括程序代码的计算机程序。所述程序代码在计算机上执行时,用于执行根据任一上述方面或任一上述方面的任一可能实施例所述的方法。
以下附图和说明书详细阐述了一个或多个实施例。其它特征、目的和优点在说明书、附图和权利要求书中是显而易见的。
本发明可以在硬件和/或软件中实现。
为了清楚起见,任一上述实施例可以与上述其它任一或多个实施例组合以创建在本发明范围内的新实施例。
根据以下具体实施方式结合附图和权利要求书能更清楚地理解这些和其它特征。
附图说明
本发明的其它实施例将结合以下附图进行描述。
下面参照所附附图和示意图更加详细地描述本发明实施例。
图1A为用于实现本发明实施例的视频译码系统的一个示例的框图。
图1B为用于实现本发明实施例的视频译码系统的另一个示例的框图。
图2为用于实现本发明实施例的视频编码器的一个示例的框图。
图3为用于实现本发明实施例的视频解码器的一种示例性结构的框图。
图4为编码装置或解码装置的一个示例的框图。
图5为编码装置或解码装置的另一个示例的框图。
图6为用于帧间预测的三角块划分的示意图。
图7为用于三角划分块的运动矢量存储模糊性的示意图。
图8为为推导融合列表而检查的空间位置的示意图。
图9为JVET-L0124中为三角划分块规定的空间和时间MV位置的示意图。
图10为JVET-L0124中为三角划分块提出的运动矢量存储的示意图。
图11为运动矢量推导方法的流程图。
图12为融合候选列表生成方法的流程图。
图13为帧间预测方法的流程图。
图14为融合列表生成、融合候选选择和单向预测MV推导的组合步骤的流程图。
图15为根据固定规则(PU0)用于三角划分块的运动矢量存储的示意图。
图16为根据固定规则(PU1)用于三角划分块的运动矢量存储的示意图。
图17为用于实际预测(红色)和仅用于存储(黑色)的双向预测运动矢量之间的差异可视化的示意图。
图18为MV推导装置的示意图。
图19为MCL生成装置的示意图。
图20为帧间预测装置的示意图。
图21为解码装置的示意图。
图22为帧间预测装置的示意图。
图23为提供内容分发服务的内容供应系统的一种示例性结构的框图。
图24为终端设备的一个示例的结构的框图。
在以下附图中,使用相同的附图标记表示相同的或至少功能等同的特征。
具体实施方式
为了详细描述本发明,使用以下术语、缩略语和符号:
HEVC High-Efficiency Video Coding 高效视频译码
CU Coding Unit 译码单元
CTU Coding Tree Unit 译码树单元
PU Prediction Unit 预测单元
PB Prediction Block 预测块
MV Motion Vector 运动矢量
POC Picture Order Count 图像顺序译码
以下描述中,参考组成本发明一部分并以说明的方式示出可以实施本发明的具体方面的附图。应当理解,在不脱离本发明范围的情况下,可以利用其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。
例如,应当理解,与描述方法有关的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,则对应的设备可以包括一个单元来执行所述描述的方法步骤,即使附图中未明确描述或说明这样的单元。另外,应当理解,除非另外明确说明,本文中描述的各种示例性方面的特征可以相互组合。
例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元分别执行多个步骤中的一个或多个),即使附图中未明确描述或说明这样的一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如功能单元)来描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤分别执行多个单元中的一个或多个单元的功能),即使附图中未明确描述或说明这样的一个或多个步骤。此外,应当理解,除非另外明确说明,本文中描述的各种示例性实施例和/或方面的特征可以相互组合。
视频译码通常是指处理组成视频或视频序列的一系列图像。在视频译码领域中,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频译码(或总称为译码)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如通过压缩)原始视频图像,以减少表示视频图像所需的数据量(从而更高效存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或总称为图像)的“译码”应当理解为视频图像或相应视频序列的“编码”或“解码”。编码部分和解码部分也合称为编解码(CODEC)(编码和解码)。
在无损视频译码情况下,可以重建原始视频图像,即重建视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频译码情况下,通过量化等执行进一步压缩,以减少表示视频图像的数据量,而解码器侧无法完全重建视频图像,即重建视频图像的质量比原始视频图像的质量低或差。
几个视频译码标准属于“有损混合视频编解码器”组(即,将样本域中的空间预测和时间预测与变换域中进行量化的2D变换译码相结合)。视频序列中的每个图像通常划分成不重叠的块集合,通常在块级处执行译码。换句话说,在编码器侧,通常在块(视频块)级处对视频进行处理(即编码),例如,通过空间(帧内)预测和/或时间(帧间)预测来生成预测块;从当前块(当前处理的块/待处理块)中减去预测块,得到残差块;在变换域中变换残差块并量化残差块,以减少待传输(压缩)的数据量,而在解码器侧,对经编码或压缩块进行相对于编码器的逆处理,以重建当前块进行表示。此外,编码器和解码器具有相同的处理步骤,使得编码器和解码器生成相同的预测块(例如帧内和帧间预测块)和/或重建块,以对后续块进行处理(即译码)。
在以下视频译码系统10的实施例中,视频编码器20和视频解码器30根据图1至图3进行描述。
图1A为示例性译码系统10的示意性框图,例如可以利用本申请技术的视频译码系统10(或简称为译码系统10)。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)为两个示例,可以为使用本申请中描述的各种示例来执行技术的设备。
如图1A所示,译码系统10包括源设备12,源设备12用于将经编码图像数据21提供给目的地设备14等,以对经编码图像数据21进行解码。
源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理器(或预处理单元)18(例如图像预处理器18)和通信接口或通信单元22。
图像源16可以包括或可以是任何类型的用于捕获真实世界图像等的图像捕获设备;和/或任何类型的图像生成设备(例如用于生成计算机动画图像的计算机图形处理器);或者任何类型的用于获取和/或提供真实世界图像、计算机动画图像(例如屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如增强现实(augmented reality,AR)图像)的设备。图像源可以为任何类型的存储任一上述图像的存储器(memory/storage)。
为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17也可以称为原始图像或原始图像数据17。
预处理器18用于接收(原始)图像数据17,并对图像数据17执行预处理,得到预处理图像19或预处理图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如从RGB转换为YCbCr)、调色或去噪等。可以理解的是,预处理单元18可以为可选组件。
视频编码器20用于接收预处理图像数据19并提供经编码图像数据21(结合图2等描述更多细节)。
源设备12中的通信接口22可以用于接收经编码图像数据21,并通过通信信道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)发送给另一设备(例如目的地设备14)或任何其它设备,以便进行存储或直接重建。
目的地设备14包括解码器30(例如视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。
目的地设备14中的通信接口28用于(例如)直接从源设备12或从存储设备(例如经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。
通信接口22和通信接口28可以用于经由源设备12与目的地设备14之间的直接通信链路(例如直接有线或无线连接)或者经由任何类型的网络(例如有线网络、无线网络或其任何组合,或者任何类型的私网和公网或其任何类型的组合)发送或接收经编码图像数据21或经编码数据13。
例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。
例如,与通信接口22对应的通信接口28可以用于接收传输数据,并通过任何类型的对应传输解码或处理和/或解封装方式来处理传输数据,得到经编码图像数据21。
通信接口22和通信接口28都可以配置为图1A中从源设备12指向目的地设备14的通信信道13的箭头所指示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如经编码图像数据传输)相关的任何其它信息,等等。
解码器30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(下文结合图3或图5等描述更多细节)。
目的地设备14中的后处理器32用于对经解码图像数据31(也称为重建图像数据)(例如经解码图像31)进行后处理,得到后处理图像数据33(例如后处理图像33)。后处理单元32执行的后处理可以包括颜色格式转换(例如从YCbCr转换为RGB)、调色、修剪(trimming)或重采样,或者任何其它处理,以便提供经解码图像数据31由显示设备34等显示,等等。
目的地设备14中的显示设备34用于接收后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以为或可以包括任何类型的用于表示重建图像的显示器(例如集成或外部显示器或显示屏)。例如,显示器可以包括液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶(liquid crystal on silicon,LCoS)显示器、数字光处理器(digital light processor,DLP)或任何类型的其它显示器。
尽管图1A示出了源设备12和目的地设备14作为单独的设备,但是在实施例中,设备还可以同时包括源设备12和目的地设备14或同时包括源设备12和目的地设备14的功能,即源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,源设备12或对应功能以及目的地设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
根据描述,图1A所示的源设备12和/或目的地设备14中的不同单元或功能的存在和(精确)分割可以根据实际设备和应用而不同,这对技术人员来说是显而易见的。
编码器20(例如视频编码器20)和解码器30(例如视频解码器30)可以分别实现为图1B所示的各种合适电路中的任一种,例如一个或多个微处理器、一个或多个数字信号处理器(digital signal processor,DSP)、一个或多个专用集成电路(application-specific integrated circuit,ASIC)、一个或多个现场可编程门阵列(field-programmable gate array,FPGA)、一个或多个离散逻辑、一个或多个硬件或其任意组合。如果上述技术部分在软件中实现,则一种设备可以将该软件的指令存储在合适的非瞬时性计算机可读介质中,并且可以使用一个或多个处理器在硬件中执行这些指令,以执行本发明中的技术。上述任一种(包括硬件、软件、硬件和软件的组合等)可以被认为是一个或多个处理器。视频编码器20和视频解码器30都可以包括在一个或多个编码器或解码器中,编码器或解码器可以作为组合编解码器(CODEC)的一部分集成在相应的设备中。
源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持设备或固定设备,例如笔记本(notebook/laptop)电脑、手机、智能手机、平板或平板电脑、相机、台式电脑、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如内容业务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,源设备12和目的地设备14可以用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。
在一些情况下,图1A所示的视频译码系统10仅仅是示例性的,本申请技术可以适用于编码设备与解码设备之间不一定包括任何数据通信的视频译码(例如视频编码或视频解码)设置。在其它示例中,从本地存储器中检索数据,通过网络流式传输,等等。视频编码设备可以对数据进行编码并将数据存储到存储器中,和/或视频解码设备可以从存储器检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备来执行。
图1B为一个示例性实施例提供的示例性视频译码系统40的示意图。视频译码系统40包括图2中的编码器20和/或图3中的解码器30。系统40可以实现本申请中描述的各种示例提供的技术。在所说明的实现方式中,视频译码系统40可以包括一个或多个成像设备41、视频编码器100、视频解码器30(和/或通过一个或多个处理单元46中的逻辑电路47实现的视频译码器)、天线42、一个或多个处理器43、一个或多个存储器44和/或显示设备45。
如图所示,一个或多个成像设备41、天线42、一个或多个处理单元46、逻辑电路47、视频编码器20、视频解码器30、一个或多个处理器43、一个或多个存储器44和/或显示设备45能够相互通信。如上所述,虽然示出了视频译码系统40包括视频编码器20和视频解码器30,但是在各种示例中,视频译码系统40可以只包括视频编码器20或只包括视频解码器30。
如图所示,在一些示例中,视频译码系统40可以包括天线42。例如,天线42可以用于发送或接收视频数据的经编码码流。此外,在一些示例中,视频译码系统40可以包括显示设备45。显示设备45可以用于呈现视频数据。如图所示,在一些示例中,逻辑电路47可以通过一个或多个处理单元46实现。一个或多个处理单元46可以包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、一个或多个图形处理器,或者一个或多个通用处理器等。视频译码系统40还可以包括一个或多个可选的处理器43,这些处理器43可以类似地包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、一个或多个图形处理器、或者一个或多个通用处理器等。在一些示例中,逻辑电路47可以通过硬件或视频译码专用硬件等实现,一个或多个处理器43可以通过通用软件或操作系统等实现。另外,一个或多个存储器44可以是任何类型的存储器,例如易失性存储器(例如静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)等)或非易失性存储器(例如闪存等),等等。在非限制性示例中,一个或多个存储器44可以通过超速缓存内存实现。在一些示例中,逻辑电路47可以访问一个或多个存储器44(用于实现图像缓冲器等)。在其它示例中,逻辑电路47和/或一个或多个处理单元46可以包括存储器(例如高速缓存等),用于实现图像缓冲区等。
在一些示例中,通过逻辑电路实现的视频编码器20可以包括(例如通过一个或多个处理单元46或一个或多个存储器44实现的)图像缓冲区和(例如通过一个或多个处理单元46实现的)图形处理单元。该图形处理单元可以与图像缓冲区以通信方式耦合。该图形处理单元可以包括通过逻辑电路47实现的视频编码器20,以包含参照图2描述的各种模块和/或本文描述的任何其它编码器系统或子系统。逻辑电路可以用于执行本文论述的各种操作。
视频解码器30可以类似地通过逻辑电路47实现,以包含参照图3中的解码器30描述的各种模块和/或本文描述的任何其它解码器系统或子系统。在一些示例中,通过逻辑电路实现的视频解码器30可以包括(例如通过一个或多个处理单元46或一个或多个存储器44实现的)图像缓冲区和(例如通过一个或多个处理单元46实现的)图形处理单元。该图形处理单元可以与图像缓冲区以通信方式耦合。该图形处理单元可以包括通过逻辑电路47实现的视频解码器30,以包含参照图3描述的各种模块和/或本文描述的任何其它解码器系统或子系统。
在一些示例中,视频译码系统40中的天线42可以用于接收视频数据的经编码码流。如上所述,经编码码流可以包括与本文描述的与视频帧编码相关的数据、指示符、索引值、模式选择数据等,例如与译码划分块相关的数据(例如变换系数或量化变换系数、可选指示符(如上所述)和/或定义译码划分块的数据)。视频译码系统40还可以包括与天线42耦合并用于对经编码码流进行解码的视频解码器30。显示设备45用于呈现视频帧。
为便于描述,本文(例如)参考由ITU-T视频译码专家组(Video Coding ExpertsGroup,VCEG)和ISO/IEC运动图像专家组(Motion Picture Experts Group,MPEG)的视频译码联合协作团队(Joint Collaboration Team on Video Coding,JCT-VC)开发的高效视频译码(High-Efficiency Video Coding,HEVC)或下一代视频译码标准通用视频译码(Versatile Video Coding,VVC)参考软件来描述本发明实施例。本领域普通技术人员理解本发明实施例不限于HEVC或VVC。
编码器和编码方法
图2为用于实现本申请技术的示例性视频编码器20的示意性框图。在图2的示例中,视频编码器20包括输入端201(或输入接口201)、残差计算单元204、变换处理单元206、量化单元208、反量化单元210、逆变换处理单元212、重建模块214、环路滤波器单元220、解码图像缓冲区(decoded picture buffer,DPB)230、模式选择单元260、熵编码单元270和输出端272(或输出接口272)。模式选择单元260可以包括帧间预测模块244、帧内预测模块254和划分单元262。帧间预测模块244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合视频编码器或基于混合型视频编解码器的视频编码器。
残差计算单元204、变换处理单元206、量化单元208和模式选择单元260可以组成编码器20的前向信号路径,而反量化单元210、逆变换处理单元212、重建模块214、缓冲区216、环路滤波器220、解码图像缓冲区(decoded picture buffer,DPB)230、帧间预测模块244和帧内预测模块254可以组成视频编码器20的后向信号路径,其中,视频编码器20的后向信号路径对应于解码器(参见图3中的视频解码器30)的信号路径。反量化单元210、逆变换处理单元212、重建模块214、环路滤波器220、解码图像缓冲区(decoded picturebuffer,DPB)230、帧间预测模块244和帧内预测模块254还组成视频编码器20的“内置解码器”。
图像和图像划分(图像和块)
编码器20可以用于通过输入端201等接收图像17(或图像数据17)。图像17可以是组成视频或视频序列的一系列图像中的图像。接收到的图像或图像数据也可以是预处理图像19(或预处理图像数据19)。为简单起见,以下描述使用图像17。图像17也可以称为当前图像或待译码图像(尤其是在视频译码中将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如先前经编码和/或经解码图像)区分开)。
(数字)图像为或可以视为由具有强度值的样本(sample)组成的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像的水平方向和垂直方向(或轴线)上的样本数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用3个颜色分量,即图像可以表示为或可以包括3个样本阵列。在RGB格式或颜色空间中,图像包括对应的红色、绿色和蓝色样本阵列。但是,在视频译码中,每个像素通常以亮度和色度格式或颜色空间表示,例如YCbCr,包括Y表示的亮度分量(有时也用L表示)以及Cb和Cr表示的两个色度分量。亮度(luminance,简写为luma)分量Y表示亮度或灰度级强度(例如在灰度等级图像中两者相同),而两个色度(chrominance,简写为chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括由亮度样本值(Y)组成的亮度样本阵列和两个由色度值(Cb和Cr)组成的色度样本阵列。RGB格式的图像可以转换或变换为YCbCr格式,反之亦然。该过程也称为颜色变换或转换。如果图像是黑白的,则该图像可以只包括亮度样本阵列。相应地,图像可以为例如黑白格式的亮度样本阵列或4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和两个对应的色度样本阵列。
在实施例中,视频编码器20可以包括图像划分单元(图2中未示出),用于将图像17划分成多个(通常不重叠)图像块203。这些块也可以称为根块、宏块(H.264/AVC),或译码树块(coding tree block,CTB)或译码树单元(coding tree unit,CTU)(H.265/HEVC和VVC)。图像划分单元可以用于对视频序列的所有图像使用相同的块大小和使用限定块大小的对应网格,或者在图像或图像子集或图像组之间改变块大小,并将每个图像划分成对应块。
在其它实施例中,视频编码器可以用于直接接收图像17的块203,例如组成图像17的一个、几个或所有块。图像块203也可以称为当前图像块或待译码图像块。
与图像17一样,图像块203同样是或可以视为具有强度值(样本值)的样本组成的二维阵列或矩阵,但是图像块203的尺寸比图像17的尺寸小。换句话说,根据所应用的颜色格式,块203可以包括(例如)一个样本阵列(例如黑白图像17情况下的亮度阵列或彩色图像情况下的亮度阵列或色度阵列)或3个样本阵列(例如彩色图像17情况下的一个亮度阵列和两个色度阵列)或任何其它数量和/或类型的阵列。块203的水平方向和垂直方向(或轴线)上的样本数量限定了块203的大小。相应地,块可以为M×N(M列×N行)个样本阵列,或M×N个变换系数阵列等。
在实施例中,图2所示的视频编码器20可以用于逐块对图像17进行编码,例如对每个块203执行编码和预测。
残差计算
残差计算单元204可以用于通过以下方式根据图像块203和预测块265(后续详细介绍了预测块265)来计算残差块205(也称为残差205)以得到样本域中的残差块205:例如,逐个样本(逐个像素)从图像块203的样本值中减去预测块265的样本值。
变换
变换处理单元206可以用于对残差块205的样本值进行离散余弦变换(discretecosine transform,DCT)或离散正弦变换(discrete sine transform,DST)等变换,得到变换域中的变换系数207。变换系数207也可以称为变换残差系数,表示变换域中的残差块205。
变换处理单元206可以用于进行DCT/DST(例如为H.265/HEVC指定的变换)的整数化近似。与正交DCT变换相比,这种整数化近似通常通过某一因子进行缩放(scale)。为了维持经过正变换和逆变换处理的残差块的范数,使用其它缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件来选择的,例如缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实现成本之间的权衡等。例如,通过逆变换处理单元212等为逆变换(以及在视频解码器30侧,通过逆变换处理单元312等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器20侧,通过变换处理单元206等为正变换指定对应的缩放因子。
在实施例中,视频编码器20(对应地,变换处理单元206)可以用于输出一种或多种变换的类型等变换参数,例如直接输出或由熵编码单元270进行编码或压缩后输出,使得(例如)视频解码器30可以接收并使用变换参数进行解码。
量化
量化单元208可以用于通过进行标量量化或矢量量化等对变换系数207进行量化,得到量化系数209。量化系数209也可以称为量化变换系数209或量化残差系数209。
量化过程可以减小与部分或全部变换系数207相关的位深度。例如,可以在量化期间将n位变换系数向下舍入到m位变换系数,其中,n大于m。可以通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以进行不同程度的缩放来实现较细或较粗的量化。较小量化步长对应较细的量化,而较大量化步长对应较粗的量化。可以通过量化参数(quantization parameter,QP)表示合适的量化步长。例如,量化参数可以为一组预定义适用的量化步长的索引。例如,较小的量化参数可以对应于精细量化(较小量化步长),较大的量化参数可以对应于粗糙量化(较大量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元210等执行的对应反量化可以包括乘以量化步长。根据HEVC等一些标准的实施例可以使用量化参数来确定量化步长。一般而言,可以根据量化参数使用包括除法的等式的定点近似来计算量化步长。可以引入其它缩放因子来进行量化和解量化,以恢复可能由于在量化步长和量化参数的等式的定点近似中使用的缩放而修改的残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表,自定义量化表由编码器通过码流等方式向解码器指示(signal)。量化是有损操作,量化步长越大,损耗越大。
在实施例中,视频编码器20(对应地,量化单元208)可以用于输出量化参数(quantization parameter,QP),例如直接输出或由熵编码单元270进行编码后输出,使得(例如)视频解码器30可以接收并使用量化参数进行解码。
反量化
反量化单元210用于对量化系数进行量化单元208的反量化,得到解量化系数211,例如根据或使用与量化单元208相同的量化步长,执行与量化单元208所执行的量化方案的反量化方案。解量化系数211也可以称为解量化残差系数211,对应于变换系数207,但是由于量化造成损耗,解量化系数211通常与变换系数不相同。
逆变换
逆变换处理单元212用于进行变换处理单元206进行的变换的逆变换,例如逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sinetransform,DST),得到样本域中的重建残差块213(或对应的解量化系数213)。重建残差块213也可以称为变换块213。
重建
重建模块214(例如加法器或求和器214)用于通过以下方式将变换块213(即重建残差块213)添加到预测块265以得到样本域中的重建块215:例如,逐个样本将重建残差块213的样本值和预测块265的样本值相加。
滤波
环路滤波器单元220(或简称“环路滤波器”220)用于对重建块215进行滤波,得到经过滤波的块221,或一般用于对重建样本进行滤波,得到经过滤波的样本。例如,环路滤波器单元用于顺利进行像素转变或以其它方式提高视频质量。环路滤波器单元220可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptiveoffset,SAO)滤波器或一个或多个其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化或平滑滤波器、协同滤波器或其任意组合。虽然环路滤波器单元220在图2中示为环内滤波器,但是在其它配置中,环路滤波器单元220可以实现为环后滤波器。经过滤波的块221也可称为经过滤波的重建块221。在环路滤波器单元220对重建译码块进行滤波操作之后,解码图像缓冲区230可以存储重建译码块。
在实施例中,视频编码器20(对应地,环路滤波器单元220)可以用于输出环路滤波器参数(例如样本自适应偏移信息),例如直接输出或由熵编码单元270进行编码后输出,使得(例如)解码器30可以接收并使用相同的环路滤波器参数或相应的环路滤波器进行解码。
解码图像缓冲区
解码图像缓冲区(decoded picture buffer,DPB)230可以是存储参考图像或一般存储参考图像数据以供视频编码器20在对视频数据进行编码时使用的存储器。DPB 230可以由多种存储器设备中的任一种形成,例如动态随机存取存储器(dynamic random accessmemory,DRAM),包括同步DRAM(synchronous DRAM,SDRAM)、磁阻RAM(magnetoresistiveRAM,MRAM)、电阻RAM(resistive RAM,RRAM)或其它类型的存储器设备。解码图像缓冲区(decoded picture buffer,DPB)230可以用于存储一个或多个经过滤波的块221。解码图像缓冲区230还可以用于存储同一当前图像或不同图像(例如先前的重建图像)中的其它先前经过滤波的块(例如先前经过滤波的重建块221),并可以提供先前完整的重建(即经解码)图像(和对应的参考块和样本)和/或部分重建的当前图像(和对应的参考块和样本),以进行帧间预测等。如果重建块215未由环路滤波器单元220进行滤波,则解码图像缓冲区(decoded picture buffer,DPB)230还可以用于存储一个或多个未经滤波的重建块215,或一般存储未经滤波的重建样本,或未进行任何其它处理的重建块或重建样本。
模式选择(划分和预测)
模式选择单元260包括划分单元262、帧间预测模块244和帧内预测模块254,并且用于从解码图像缓冲区230或其它缓冲区(例如行缓冲区,图中未显示)接收或获取原始块203(当前图像17的当前块203)等原始图像数据以及重建图像数据(例如同一(当前)图像和/或一个或多个先前的经解码图像的经过滤波和/或未经滤波的重建样本或重建块)。重建图像数据用作帧间预测或帧内预测等预测所需的参考图像数据,得到预测块265或预测值265。
模式选择单元260可以用于为当前块预测模式(包括不划分)确定或选择一种划分方式以及确定或选择一种预测模式(例如帧内预测模式或帧间预测模式),生成对应的预测块265,以对残差块205进行计算和对重建块215进行重建。
在实施例中,模式选择单元260可以用于选择划分方式和预测模式(例如从模式选择单元260支持或可用的预测模式中),所述预测模式提供最佳匹配或者说最小残差(最小残差是指传输或存储中更好的压缩),或者提供最小指示开销(最小指示开销是指传输或存储中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元260可以用于根据率失真优化(rate distortion optimization,RDO)确定划分方式和预测模式,即选择提供最小率失真的预测模式。本文中的“最佳”、“最小”、“最优”等术语不一定指总体上“最佳”、“最小”、“最优”等,但也可以指满足终止或选择标准的情况,例如,超过或低于阈值的值或其它约束条件可能导致“次优选择”,但会降低复杂度且减少处理时间。
换句话说,划分单元262可以用于通过以下方式将块203划分成更小的划分块或子块(再次形成块):例如,通过迭代使用四叉树(quad-tree,QT)划分、二叉树(binary-tree,BT)划分或三叉树(triple-tree,TT)划分或其任意组合;并且用于对划分块或子块中的每一个执行预测等,其中,模式选择包括选择划分块203的树结构,并且对块划分块或子块中的每一个使用预测模式。
下文将详细地描述由示例性视频编码器20执行的划分(例如由划分单元260执行)和预测处理(由帧间预测模块244和帧内预测模块254执行)。
划分
划分单元262可以将当前块203划分(或分割)成更小的划分块,例如正方形或矩形大小的较小块。可以将这些较小块(也可以称为子块)进一步划分成甚至更小的划分块。这也称为树划分或分层树划分。在根树级别0(层次级别0、深度0)等的根块可以递归地划分成两个或更多下一个较低树级别的块,例如树级别1(层级级别1、深度1)的节点。这些块可以又划分成两个或更多下一个较低级别的块,例如树级别2(层级级别2、深度2)等,直到划分结束(因为满足结束标准,例如达到最大树深度或最小块大小)。未进一步划分的块也称为树的叶块或叶节点。划分成两个划分块的树称为二叉树(binary-tree,BT),划分成3个划分块的树称为三叉树(ternary-tree,TT),划分成4个划分块的树称为四叉树(quad-tree,QT)。
如上所述,本文使用的术语“块”可以是图像的一部分,特别是正方形或矩形部分。参考HEVC和VVC等,块可以为或可以对应于译码树单元(coding tree unit,CTU)、译码单元(coding unit,CU)、预测单元(prediction unit,PU)和变换单元(transform unit,TU),和/或对应于对应的块,例如译码树块(coding tree block,CTB)、译码块(coding block,CB)、变换块(transform block,TB)或预测块(prediction block,PB)。
例如,译码树单元(coding tree unit,CTU)可以为或可以包括具有3个样本阵列的图像中的亮度样本组成的一个CTB以及色度样本组成的两个对应CTB,或者可以为或可以包括黑白图像或使用3个单独颜色平面和语法结构进行译码的图像中的样本组成的一个CTB。这些语法结构用于对样本进行译码。相应地,译码树块(coding tree block,CTB)可以为N×N个样本块,其中,N可以设为某个值,使得一个分量划分成多个CTB,这就是一种划分方式。译码单元(coding unit,CU)可以为或可以包括具有3个样本阵列的图像中的亮度样本组成的一个译码块以及色度样本组成的两个对应译码块,或者黑白图像或使用3个单独颜色平面和语法结构进行译码的图像中的样本组成的一个译码块。这些语法结构用于对样本进行译码。相应地,译码块(coding block,CB)可以为M×N个样本块,其中,M和N可以设为某个值,使得一个CTB划分为译码块,这就是一种划分方式。
在实施例中,例如根据HEVC,可以使用表示为译码树的四叉树结构将译码树单元(coding tree unit,CTU)分割成多个CU。在CU级决定是否使用帧间(时间)预测或帧内(空间)预测对图像区域进行译码。每个CU可以根据PU分割类型进一步分割成1个、2个或4个PU。一个PU内进行相同的预测过程,并以PU为单位向解码器发送相关信息。在根据PU分割类型进行预测过程得到残差块之后,可以根据类似于用于CU的译码树的其它四叉树结构将CU划分成变换单元(transform unit,TU)。
在实施例中,例如根据当前开发的称为通用视频译码(Versatile Video Coding,VVC)的最新视频译码标准,使用四叉树结合二叉树(quad-tree and binary-tree,QTBT)划分来划分译码块。在QTBT块结构中,CU可以为正方形或矩形。例如,译码树单元(codingtree unit,CTU)首先通过四叉树结构进行划分。四叉树叶节点进一步通过二叉树或三叉(ternary/triple)树结构进行划分。划分树叶节点称为译码单元(coding unit,CU),这种分割(segmentation)用于预测和变换处理,无需任何进一步划分。这表示在QTBT译码块结构中,CU、PU和TU的块大小相同。与此同时,还提出将三叉树划分等多重划分与QTBT块结构结合一起使用。
在一个示例中,视频编码器20中的模式选择单元260可以用于执行本文描述的划分技术的任意组合。
如上所述,视频编码器20用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。
帧内预测
帧内预测模式集合可以包括35种不同的帧内预测模式,例如像DC(或均值)模式和平面模式的非方向性模式或如HEVC中定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如像DC(或均值)模式和平面模式的非方向性模式或如VVC中定义的方向性模式。
帧内预测模块254用于根据帧内预测模式集合中的帧内预测模式,使用同一当前图像的相邻块的重建样本来生成帧内预测块265。
帧内预测模块254(或总称为模式选择单元260)还用于将帧内预测参数(或总称为表示块的选定帧内预测模式的信息)以语法元素266的形式输出到熵编码单元270,以包含在经编码图像数据21中,使得(例如)视频解码器30可以接收并使用预测参数进行解码。
帧间预测
(可能的)帧间预测模式集合取决于可用参考图像(即(例如)上述存储在DPB 230中的至少部分经解码图像)和其它帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否进行像素插值(例如二分之一/半像素插值和/或四分之一像素插值)。
除上述预测模式之外,还可以使用跳过模式和/或直接模式。
帧间预测模块244可以包括运动估计(motion estimation,ME)单元和运动补偿(motion compensation,MC)单元(两者在图2中未示出)。运动估计单元可以用于接收或获取图像块203(当前图像17的当前图像块203)和经解码图像231,或者至少一个或多个先前的重建块(例如一个或多个其它/不同的先前经解码图像231的重建块),以进行运动估计。例如,视频序列可以包括当前图像和先前经解码图像231,或换句话说,当前图像和先前经解码图像231可以为一系列图像的一部分或组成一系列图像,这一系列图像组成视频序列。
例如,编码器20可以用于从多个其它图像中的同一或不同图像的多个参考块中选择一个参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元。这种偏移也称为运动矢量(motion vector,MV)。
运动补偿单元用于获取(例如接收)帧间预测参数,并根据或使用帧间预测参数进行帧间预测,得到帧间预测块265。由运动补偿单元执行的运动补偿可以包括根据通过运动估计确定的运动/块矢量来提取或生成预测块,还可以包括执行插值以获得子像素精度。插值滤波可以根据已知像素样本生成其它像素样本,从而可能增加可以用于对图像块进行译码的候选预测块的数量。一旦接收到当前图像块的PU对应的运动矢量,运动补偿单元可以在其中一个参考图像列表中定位运动矢量指向的预测块。
运动补偿单元还可以生成与块和视频条带(slice)相关的语法元素,以供视频解码器30在解码视频条带的图像块时使用。
熵编码
熵编码单元270用于将熵编码算法或方案(例如可变长度编码(variable lengthcoding,VLC)方案、上下文自适应VLC(context adaptive VLC scheme,CAVLC)方案、算术编码方案、二值化,上下文自适应二进制算术编码(context adaptive binary arithmeticcoding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间划分熵(probability intervalpartitioning entropy,PIPE)编码或其它熵编码方法或技术)等应用于或不应用于(无压缩)量化系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素,得到可以通过输出端272以经编码码流21等形式输出的经编码图像数据21,使得(例如)视频解码器30可以接收并使用这些参数进行解码。可以将经编码码流21发送给视频解码器30,或将其存储在存储器中稍后由视频解码器30发送或检索。
视频编码器20的其它结构变型可以用于对视频流进行编码。例如,基于非变换的编码器20可以在没有变换处理单元206的情况下为某些块或帧直接量化残差信号。在另一种实现方式中,编码器20可以包括组合成单个单元的量化单元208和反量化单元210。
解码器和解码方法
图3示出了用于实现本申请技术的视频解码器30的一个示例。视频解码器30用于接收(例如)由编码器20编码的经编码图像数据21(例如经编码码流21),得到经解码图像331。经编码图像数据或码流包括用于解码该经编码图像数据的信息,例如表示经编码视频条带中的图像块的数据和相关的语法元素。
在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建模块314(例如求和器314)、环路滤波器320、解码图像缓冲区(decoded picturebuffer,DPB)330、帧间预测模块344和帧内预测模块354。帧间预测模块344可以为或可以包括运动补偿单元。在一些示例中,视频解码器30可以执行大体上与参照图2中的视频编码器100描述的编码回合互逆的解码回合。
如参照编码器20所述,反量化单元210、逆变换处理单元212、重建模块214、环路滤波器220、解码图像缓冲区(decoded picture buffer,DPB)230、帧间预测模块344和帧内预测模块354还组成视频编码器20的“内置解码器”。相应地,反量化单元310在功能上可以与反量化单元110相同,逆变换处理单元312在功能上可以与逆变换处理单元212相同,重建模块314在功能上可以与重建模块214相同,环路滤波器320在功能上可以与环路滤波器220相同,解码图像缓冲区330在功能上可以与解码图像缓冲区230相同。因此,视频编码器20的相应单元和功能的解释相应地适用于视频解码器30的相应单元和功能。
熵解码
熵解码单元304用于解析码流21(或总称为经编码图像数据21)并对经编码图像数据21执行熵解码等,得到量化系数309和/或经解码编码参数(图3中未示出)等,例如帧间预测参数(例如参考图像索引和运动矢量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其它语法元素中的任一个或全部。熵解码单元304可以用于应用与参照编码器20中的熵编码单元270描述的编码方案对应的解码算法或方案。熵解码单元304还可以用于将帧间预测参数、帧内预测参数和/或其它语法元素提供给模式选择单元360,并将其它参数提供给解码器30中的其它单元。视频解码器30可以接收视频条带级和/或视频块级的语法元素。
反量化
反量化单元310可以用于从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收量化参数(quantization parameter,QP)(或总称为与反量化相关的信息)和量化系数,并根据这些量化参数对经解码量化系数309进行反量化,得到解量化系数311。解量化系数311也可以称为变换系数311。反量化过程可以包括使用视频编码器20为视频条带中的每个视频块确定的量化参数来确定量化程度,同样也确定需要进行的反量化的程度。
逆变换
逆变换处理单元312可以用于接收解量化系数311(也称为变换系数311),并对解量化系数311进行变换,得到样本域中的重建残差块213。重建残差块213也可以称为变换块313。变换可以为逆变换,例如逆DCT、逆DST、逆整数变换或概念上类似的逆变换过程。逆变换处理单元312还可以用于(例如通过熵解码单元304等解析和/或解码)从经编码图像数据21接收变换参数或对应的信息,以确定要对解量化系数311进行的变换。
重建
重建模块314(例如加法器或求和器314)可以用于通过以下方式将重建残差块313添加到预测块365以得到样本域中的重建块315:例如,将重建残差块313的样本值和预测块365的样本值相加。
滤波
环路滤波器单元320(在译码环路中或之后)用于对重建块315进行滤波,得到经过滤波的块321,从而顺利进行像素转变或以其它方式提高视频质量等。环路滤波器单元320可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器或一个或多个其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化或平滑滤波器、协同滤波器或其任意组合。虽然环路滤波器单元320在图3中示为环内滤波器,但在其它配置中,环路滤波器单元320可以实现为环后滤波器。
解码图像缓冲区
随后将一个图像的经解码视频块321存储在解码图像缓冲区330中,解码图像缓冲区330存储经解码图像331作为参考图像,以便后续对其它图像进行运动补偿和/或输出或显示。
解码器30用于通过输出端312等输出经解码图像311,向用户显示或供用户观看。
预测
帧间预测模块344在功能上可以与帧间预测模块244(特别是与运动补偿单元)相同,帧内预测模块354在功能上可以与帧内预测模块254相同,并根据从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收的划分和/或预测参数或相应的信息来执行分割或划分决策和执行预测。模式选择单元360可以用于根据重建图像、块或相应的样本(经过滤波或未经滤波)对每个块执行预测(帧内预测或帧间预测),得到预测块365。
当视频条带译码为经帧内译码(I)条带时,模式选择单元360中的帧内预测模块354用于根据指示(signal)的帧内预测模式和来自当前图像的先前经解码块的数据为当前视频条带的图像块生成预测块365。当视频图像译码为经帧间译码(即B或P)条带时,模式选择单元360中的帧间预测模块344(例如运动补偿单元)用于根据运动矢量和从熵解码单元304接收的其它语法元素为当前视频条带的视频块生成预测块365。对于帧间预测,可以根据其中一个参考图像列表内的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在DPB 330中的参考图像,使用默认构建技术来构建参考帧列表0和列表1。
模式选择单元360用于通过解析运动矢量或相关信息和其它语法元素,为当前视频条带的视频块确定预测信息,并使用预测信息为正在解码的当前视频块生成预测块。例如,模式选择单元360使用接收到的一些语法元素来确定用于对视频条带的视频块进行译码的预测模式(例如帧内预测或帧间预测)、帧间预测条带类型(例如B条带、P条带或GPB条带)、用于条带的一个或多个参考图像列表的构建信息、用于条带的每个经帧间编码视频块的运动矢量、用于条带的每个经译码编码视频块的帧间预测状态以及其它信息,以对当前视频条带中的视频块进行解码。
视频解码器30的其它变型可以用于对经编码图像数据21进行解码。例如,解码器30可以在没有环路滤波器单元320的情况下生成输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下为某些块或帧直接反量化残差信号。在另一种实现方式中,视频解码器30可以包括组合成单个单元的反量化单元310和逆变换处理单元312。
图4为本发明一个实施例提供的视频译码设备400的示意图。视频译码设备400适用于实现本文描述的公开实施例。在一个实施例中,视频译码设备400可以是解码器(例如图1A中的视频解码器30)或编码器(例如图1A中的视频编码器20)。
视频译码设备400包括:用于接收数据的入端口410(或输入端口410)和接收单元(Rx)420;用于处理所述数据的处理器、逻辑单元或中央处理器(central processingunit,CPU)430;用于发送所述数据的发送单元(Tx)440和出端口450(或输出端口450);用于存储所述数据的存储器460。视频编码设备400还可以包括包括与入端口410、接收单元420、发送单元440和出端口450耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器430通过硬件和软件来实现。处理器430可以实现为一个或多个CPU芯片、一个或多个核(例如多核处理器)、一个或多个FPGA、一个或多个ASIC和一个或多个DSP。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470。译码模块470实现上文描述的公开实施例。例如,译码模块470执行、处理、准备或提供各种译码操作。因此,将译码模块470包含在内为视频译码设备400的功能提供了实质性的改进,并且影响了视频译码设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
存储器460可以包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。例如,存储器460可以是易失性和/或非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图5为一个示例性实施例提供的装置500的简化框图。装置500可以用作图1A的源设备12和目的地设备14中的任一个或两个。装置500可以实现上文描述的本申请技术。装置500可以是包括多个计算设备的计算系统,也可以是单个计算设备,例如手机、平板电脑、膝上型电脑、笔记本电脑、台式电脑等。
装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后将开发出的能够操控或处理信息的任何其它类型的设备或多个设备。虽然可以使用如图所示的处理器502等单个处理器来实施所公开的实现方式,但使用多个处理器可以提高速度和效率。
在一种实现方式中,装置500中的存储器504可以是只读存储器(read onlymemory,ROM)设备或随机存取存储器(random access memory,RAM)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括至少一个程序,这个程序使得处理器502执行本文所述方法。例如,应用程序510可以包括应用1至应用N,还包括执行本文所述方法的视频译码应用。装置500还可以包括辅助存储器514形式的其它存储器,辅助存储器514可以是与移动计算设备一起使用的存储卡等。由于视频通信会话可能包括大量信息,因此可以全部或部分地存储在辅助存储器514中,并根据需要加载到存储器504中进行处理。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与触敏元件组合的触敏显示器,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512与处理器502耦合。除显示器518之外或作为显示器518的替代,还可以提供允许用户对装置500进行编程或以其它方式使用装置500的其它输出设备。当输出设备是显示器或包括显示器时,该显示器可以通过各种方式实现,包括通过液晶显示器(liquid crystal display,LCD)、阴极射线管(cathode-ray tube,CRT)显示器、等离子显示器或发光二极管(light emitting diode,LED)显示器(例如有机LED(organic LED,OLED)显示器)。
装置500还可以包括图像传感设备520或者与图像传感设备520通信。图像传感设备520可以是相机,或现有的或今后将研发出的能够感测图像(例如操作装置500的用户的图像)的任何其它图像传感设备520等。可以将图像传感设备520朝向操作装置500的用户放置。在一个示例中,可以设置图像传感设备520的位置和光轴,使得视角范围包括与显示器518紧邻的区域,从这个区域可以看到显示器518。
装置500还可以包括声音传感设备522或者与声音传感设备通信。声音传感设备522可以是麦克风,或现有的或今后将研发出的能够感测装置500附近声音的任何其它声音传感设备等。可以将声音传感设备522朝向操作装置500的用户放置。声音传感设备522可以用于接收用户在操作装置500时发出的语音或其它话语等声音。
虽然图5描述了装置500中的处理器502和存储器504集成在单个设备中,但是可以使用其它构造。处理器502的操作可以分布在多台机器(每台机器包括一个或多个处理器)上,这些机器可以直接耦合或者通过局域网或其它网络耦合。存储器504可以分布在多台机器中,例如基于网络的存储器或者执行装置500的操作的多台机器中的存储器。虽然装置500的总线512在这里示为单个总线,但是总线512可以有多个。此外,辅助存储器514可以直接与装置500中的其它组件耦合或可以通过网络被访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置500可以具有各种各样的构造。
在图2所示的实施例中,编码装置20(或编码器20)包括划分单元262,其用于将视频译码块划分成第一三角段和第二三角段等两个以上三角段。
此外,编码装置20包括帧间预测模块244,解码装置30包括帧间预测模块344。通常,帧间预测模块244可以用于执行运动估计、运动补偿,以选择选定参考图像、运动矢量、模式决策和其它信息等运动数据。通常,帧间预测模块344可以用于执行运动补偿。在一个示例中,CU中的每个三角预测单元具有自己的单向预测或双向预测运动矢量和一个或多个参考帧索引,这些信息从运动候选列表中推导出。在一个示例中,三角划分仅应用于运动补偿预测,这表示变换和量化过程应用于由两个三角形组合形成的整个CU。下面详细描述。
下面详细描述了三角划分以及从双向预测运动矢量中推导出单向预测运动矢量。目的是从图像块的两个三角块中获取预测译码块(包括运动补偿)。
众所周知,在执行运动补偿时,三角/几何块划分对存储带宽要求的影响会更大。通常使用与三角/几何划分块(称为PU0或PU1,见图6)相关的运动矢量从参考图像中获取矩形样本块,方式与对最新视频译码中常见的帧间预测块执行的方式一样。此时,通常借助于与矩形块相关的基于单个样本的掩码(mask),仅保留与当前三角/几何划分块相关的样本,而丢弃位于当前三角/几何划分块之外的样本。因此,如果两个三角/几何划分块都使用双向预测,则需要执行4个运动补偿步骤。
由此断言,三角/几何划分块应限制为仅执行单向预测。这表示视频译码块的处理就像以双向预测方式预测整个块一样。这种限制不仅降低了三角/几何帧间预测模式的译码效率,而且还会对使用三角划分块的运动信息进行预测的空间或时间相邻块产生不利影响。
以下实施例提供了为在三角划分的融合模式下采用单向预测运动矢量的三角块推导运动矢量和/或生成融合候选列表和/或执行帧间预测和/或运动补偿的一种或多种方法及装置。视频译码块(coding block)被划分成两个三角块/划分块。
图6示出了预期用于帧间预测的方形视频译码块(coding block)的一个示例。视频块还可以是矩形的。如图6所示,沿对角线或反对角线划分视频译码块,使得视频块分成两个三角块,例如PU0和PU1。块PU0和PU1此时可以指视频块的左下和右上三角部分或者视频块的左上和右下三角部分。术语“视频块”和“视频译码块”用作同义词。
生成候选列表可以根据现有技术中的已知技术或新方式执行,下面进一步论述。
与三角划分块相关的运动矢量可以存储在基于4×4亮度样本的网格上以供将来参考。此时,出现图7所示的模糊性问题,即通过对角线划分的4×4块(即4×4像素/样本块)可以与PU0相关,也可以与PU1相关。然而,为了存储运动矢量,解码器需要能够唯一地决定哪些运动矢量存储在4×4网格的哪些位置上。
在当前的VTM/BMS软件中,通过以下方式实现融合模式的单向预测限制(遵循JVET-K1001。在JVET-K1001中,首先,按照JVET-K1001中的第8.3.2.2节规定,调用候选列表生成过程):
1.推导空间MV候选,
2.推导基于子块的时间MV候选,
3.推导时间MV候选。
暂时得到的候选顺序为A1、B1、B0、A0、SbCol、B2、Col,如图8所示。
再执行两个步骤来完成融合候选列表生成:
4.推导组合的双向预测候选,
5.加入零运动矢量来填充列表。
在生成融合列表之后,检查单向预测限制是否应用于当前块。这对三角/几何帧间预测的情况始终是成立的。然后,扫描整个融合列表并通过以下方式使REF_PIC_LIST1运动矢量无效,应用单向预测限制:
注意,JVET-L0124使用不同的方式来生成融合列表候选。这里使用图9所示的候选来生成单向预测融合列表。
然后,对于运动矢量存储,根据当前块内的每个4×4块的位置,存储单向预测MV或双向预测MV,如图10所示。
虽然双向预测候选以这种方式存储在对角线上,但它们只对极少数相邻位置可用。还注意,表示为“bi”的运动矢量是Mv1和Mv2的某种组合。
通常,对小矩形块(≤8×8亮度样本)强加单向预测限制。然而,如果对较大的块(例如三角划分块)强加单向预测限制,则认为会降低参考单向预测运动矢量的相邻块的译码效率。如果这些相邻块还可以参考双向预测运动矢量,那将是有益的。
允许至少一个4×4子块(例如沿着三角划分块的方向(对角线或反对角线)的4×4子块,或所有4×4子块)存储双向预测运动矢量,但仅执行单向运动补偿。
建议不对三角划分块执行上述限制双向预测融合候选的过程。相反,建议按照JVET-K1001(现有技术,有可能在开发VVC中发生改变)中规定的相同方式执行融合候选列表(merge candidate list,MCL)生成,除了不生成基于子块的MV候选。
根据第一实施例,提供了一种为译码块(coding block)推导运动矢量(motionvector,MV)的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,所述生成融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);至少根据所述融合候选列表,将单向预测MV推导为所述相应三角划分块的运动矢量。
根据一个实施例,所述单向预测MV是根据用于所述三角划分的融合模式的单向预测MV选择规则和所述融合候选列表所推导出的。
根据一个实施例,所述融合候选列表包括一个或多个单向预测MV和/或一个或多个双向预测MV。
根据一个实施例,所述用于所述三角划分的融合模式的单向预测MV选择规则表示所述融合候选列表中的双向预测MV中的第一MV或第二MV被选择为单向预测MV。
根据一个实施例,所述第一MV对应于第一参考图像列表REF_PIC_LIST0,所述第二MV对应于第二参考图像列表REF_PIC_LIST1。
图11为MV推导的流程图。在步骤1101中,对于采用三角划分的融合模式的译码块(coding block),从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选。在步骤1102中,直接或立即推导出一个或多个时间运动矢量预测值。在步骤1103中,至少根据融合候选列表,将单向预测MV推导为相应三角划分块的运动矢量。
根据第二实施例,提供了一种为译码块(coding block)生成融合候选列表的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成所述融合候选列表;所述生成所述融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);将所述一个或多个空间融合候选和所述推导出的一个或多个时间MVP加入所述融合候选列表,其中,所述一个或多个空间融合候选和/或所述一个或多个时间MVP包括单向预测MV或双向预测MV。
图12为融合候选列表生成的流程图。在步骤1201中,对于采用三角划分的融合模式的译码块(coding block),从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选。在步骤1202中,直接或立即推导出一个或多个时间运动矢量预测值。在步骤1203中,将所述一个或多个空间融合候选和所述推导出的一个或多个时间MVP加入融合候选列表。
根据第三实施例,提供了一种对译码块(coding block)的当前三角划分块进行帧间预测的方法。所述方法包括以下步骤:当所述译码块采用三角划分的融合模式时,为所述译码块生成融合候选列表,其中,所述生成融合候选列表至少包括:从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporalmotion vector prediction,MVP);至少根据所述融合候选列表,将单向预测MV推导为所述当前三角划分块的运动矢量;至少根据所述单向预测MV对所述当前三角划分块执行预测,得到所述当前三角划分块的预测值。
图13为融合候选列表生成的流程图。在步骤1301中,对于划分成两个三角划分块并采用三角划分的融合模式的译码块(coding block),从相邻译码单元(neighboringcoding units)中推导出一个或多个空间融合候选。在步骤1302中,直接或立即推导出一个或多个时间运动矢量预测值。在步骤1303中,至少根据融合候选列表,将单向预测MV推导为当前三角划分块的运动矢量。在步骤1304中,至少根据所述单向预测MV对所述当前三角划分块执行预测,得到所述当前三角划分块的预测值。
根据一个实施例,所述生成所述融合候选列表不包括推导基于子块的时间融合候选。
根据一个实施例,所述单向预测MV选择规则为以下任一种:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量用作所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV用作所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV用作所述单向预测MV;或者,如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV用作所述单向预测MV。
为了完整性,推导顺序如下:
1.推导空间MV候选,
2.推导时间MV候选。
3.推导组合的双向预测候选,
4.加入零运动矢量来填充列表。
因此,生成的融合候选列表可以包括单向预测候选或双向预测候选。注意,融合列表生成过程也可以与上面详述的过程不同。
图14为包括上述实施例的方法的整体流程图。在步骤1401中,根据上述实施例生成融合候选列表。在步骤1402中,从所述融合候选列表中选择融合候选。所选候选可以为双向预测候选。在步骤1403中,从所述双向预测候选中推导出单向预测候选。
注意,这些步骤涉及视频编解码器中的编码器和解码器。
单向预测候选推导
如果利用融合索引并从先前生成的融合列表中为当前三角或几何划分块指示双向预测候选,则调用单向预测候选推导过程。
该过程的输入为双向预测运动矢量,实际上表示存在两个运动矢量,它们可以与两个不同的参考图像相关。下文使用HEVC/JEM/VVC中的术语。第一运动矢量可以与称为REF_PIC_LIST0的第一参考图像列表中的参考图像相关,第二运动矢量可以与称为REF_PIC_LIST1的第二参考图像列表中的第二参考图像相关。
由于两个参考图像列表可以包括多个参考图像,因此使用参考图像索引(refPicIdx0和refPicIdx1)来选择参考图像。该过程的输出为单个运动矢量和参考图像索引,从而可以对当前三角预测单元执行单向运动补偿。
下面概述了各种可以从选定的双向预测MV中推导出单向MV的方式:
1.根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出单向运动矢量:
a.如果所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量与同一参考图像相关,则计算平均运动矢量。
b.如果所述REF_PIC_LIST0运动矢量的参考图像索引相关的参考图像到当前图像的时间距离(HEVC中的POC距离)小于所述REF_PIC_LIST1运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST0运动矢量。
如果所述REF_PIC_LIST1运动矢量相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST0运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST1运动矢量。
c.如果对于所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量,两者相关的参考图像到当前图像的时间距离相等,则使用幅值较小的那个运动矢量。
根据等式(1),幅值可以从每个运动矢量的x和y分量推断出:
mag(MV)=mvx 2+mvy 2 (1)
2.使用双向预测候选的哪一个运动矢量(REF_PIC_LIST0或REF_PIC_LIST1)由称为refpiclist_indicator_flag的附加标志来指示。如果该标志为0,则使用REF_PIC_LIST0运动向量。否则,使用REF_PIC_LIST1运动向量。
在融合索引(merge_triangle_idx)译码之后,当且仅当融合候选为双向预测候选(由mergeCandidateIsBi确定)且块宽度加上块高度大于预定阈值cbBiSizeLimit时,对该附加标志译码。这种指示可以通过以下示例性方式(依据JVET-L0124的现有技术,
新增内容用黄色标记)执行。
在上述示例中,如等式(1)所示,MV的幅值“mag”根据二分量运动矢量的平方分量mvx和mvy之和计算得到,其中,MV=(mvx,mvy)。
可选地,幅值可以根据p范数(p>0)等度量确定。当p=2时,p范数变为常见的欧几里德范数。可以使用其它适合于确定一或多分量矢量(包括本发明的运动矢量)的幅值的范数。
下面的代码摘录提供了译码单元(coding unit)语法的一个示例。
使用方法1还是方法2可以通过以下方式确定:
-在序列参数集中配置所有三角预测模式块使用方法1或方法2,
-根据块大小确定使用方法1还是方法2。方法1可以用于小于或等于16×16亮度样本的块等。否则,可以使用方法2。
运动矢量存储
通过融合索引表示的原始未修改的双向预测候选用于运动矢量存储。
图15举例说明了这一点。推导出的单向预测运动矢量仅用于运动补偿。对于存储来说,未修改的双向预测MV候选(即从MCL中选择)保留并放入运动场中供将来参考。
对于实际存储来说,进一步建议不计算现有技术等中的跨对角线的4×4子块的平均值,而是将跨对角线的4×4块分配给第一或第二划分块(即两个三角块PU0和PU1)并按照这种明确分配存储运动信息。图16举例说明了这一点。
注意,MV0和MV1可以与单向或双向预测运动矢量相关。
图8所示的一种可能的固定规则为始终将通过对角线划分的4×4块分配给划分块PU0。
图16所示的另一种可能的固定规则为始终将通过对角线划分的4×4块分配给划分块PU1。
此外,在另一种可能的技术方案中,可以从附加条件中推断出是否将对角线4×4块分配给PU0或PU1。这个决定可以根据以下内容等做出:
-MV0和MV1的属性(幅值、参考图像索引),
-当前三角划分块的块大小
图17举例说明了单向预测候选推导和运动矢量存储的结果。运动矢量(虚线)用于实际的运动补偿,运动矢量(实线)仅用于存储。
注意,对于PU0(深灰色),选择参考图像到当前图像的时间距离小于第二参考图像到当前图像的时间距离的运动矢量。对于PU1,两个参考图像的绝对时间距离相等,即TD0=TD1。因此,根据上文论述的选项1.c,选择幅值较小的运动矢量进行运动补偿。当前图像与MV参考的参考图像之间的时间距离也称为POC距离。
根据第四实施例,提供了一种为译码块(coding block)推导运动矢量(motionvector,MV)的装置。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,在所述生成融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);帧间预测处理单元,用于至少根据所述融合候选列表,将单向预测MV推导为所述对应三角划分块的运动矢量。
图18示出了MV推导装置1800,包括候选列表生成单元1810和帧间预测处理单元1820。在一个示例中,装置1800可以对应于图2中的帧间预测模块244。在另一个示例中,装置1800可以对应于图3中的帧间预测模块344。
根据第五实施例,提供一种为译码块(coding block)生成融合候选列表的装置。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成所述融合候选列表,其中,在所述生成所述融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vector prediction,MVP);将所述一个或多个空间融合候选和所述推导出的一个或多个时间MVP加入所述融合候选列表,其中,所述一个或多个空间融合候选和/或所述一个或多个时间MVP包括单向预测MV或双向预测MV。
图19示出了融合候选列表(merge candidate list,MCL)生成装置1900,包括候选列表生成单元1910。MCL生成装置1900使用译码块(coding block)作为输入,并且提供所述译码块的一个和/或两个三角划分块的融合候选列表(merge candidate list,MCL)作为输出。在一个示例中,装置1900可以对应于图2中的帧间预测模块244。在另一个示例中,装置1900可以对应于图3中的帧间预测模块344。
根据第六实施例,提供了一种装置,用于对译码块(coding block)的当前三角划分块进行帧间预测。所述装置包括:候选列表生成单元,用于:当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块的所述译码块生成融合候选列表,其中,在所述生成融合候选列表的过程中,从相邻译码单元(neighboring coding units)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(motion vector prediction,MVP);帧间预测处理单元,用于:至少根据所述融合候选列表,将单向预测MV推导为所述当前三角划分块的运动矢量,并且至少根据所述单向预测MV对所述当前三角划分块执行预测,得到所述当前三角划分块的预测值。
图20示出了帧间预测装置2000,包括候选列表生成单元2010和帧间预测处理单元2020。在一个示例中,装置2000可以对应于图2中的帧间预测模块244。在另一个示例中,装置2000可以对应于图3中的帧间预测模块344。
根据一个实施例,所述单向预测MV选择规则为以下任一种:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量用作所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV用作所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV用作所述单向预测MV;或者,如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV用作所述单向预测MV。可以理解的是,所述单向预测MV选择规则并不限于上述可选设计,还可以考虑其它的实现设计。所述用于三角划分的融合模式的单向预测MV选择规则表示所述融合候选列表中的双向预测MV中的第一MV或第二MV如何被选择为单向预测MV。
根据一个实施例,提供一种解码装置(200),用于对经编码视频信号的当前帧的视频译码块(coding block)进行解码。所述解码装置(200)包括:解码模块(205,207),用于对所述视频译码块进行解码,以提供残差视频译码块;帧间预测模块(215),用于:根据为采用三角划分的融合模式的所述视频译码块的三角划分块所推导的单向预测运动矢量(motionvector,MV)生成预测视频译码块,其中,在所述三角划分的融合模式下允许至少一个4×4子块存储双向预测运动矢量(motion vector,MV),并且执行单向运动补偿;重建模块(209),用于根据经过滤波的预测视频译码块和所述残差视频译码块,重建所述视频译码块。
图21示出了解码装置200,包括解码模块205、帧间预测模块215和重建模块209。在一个示例中,解码装置200可以对应于图3中的解码器。
根据本发明一方面,提供了一种装置,用于在视频信号的当前帧的译码块(codingblock)的三角划分的融合模式下执行单向(或单向预测)运动补偿,所述译码块划分成两个三角划分块。所述装置包括:处理电路,用于:根据用于所述三角划分的融合模式的单向预测运动矢量(motion vector,MV)选择规则和融合候选列表,分别为所述两个三角划分块推导单向预测MV;使用对应的单向预测MV分别对所述两个三角划分块执行运动补偿;根据所述两个运动补偿后的三角划分块获取预测译码块。
图22示出了运动补偿装置2200。在一个示例中,装置2200可以对应于图2中的帧间预测模块244。在另一个示例中,装置2200可以对应于图3中的帧间预测模块344。
根据一个实施例,所述融合候选列表包括单向预测运动矢量(motion vector,MV)候选和/或双向预测运动矢量(motion vector,MV)候选,其中,双向预测MV候选包括第一MV和第二MV。
根据一个实施例,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量推导为所述单向预测MV。
根据一个实施例,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV推导为所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离TD1小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV推导为所述单向预测MV。
根据一个实施例,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV推导为所述单向预测MV。
根据一个实施例,所述根据用于所述三角划分的融合模式的单向预测MV选择规则和融合候选列表,推导单向预测MV包括:如果所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV与同一参考图像相关,则将基于所述第一MV和所述第二MV的平均运动矢量推导为所述单向预测MV;或者,如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV推导为所述单向预测MV;或者,如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV推导为所述单向预测MV;如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV或所述第二MV推导为所述单向MV候选。
根据一个实施例,提供了一种编码装置(20),用于对视频信号的当前帧的译码块(coding block)进行编码。所述编码装置(20)包括:编码模块(204,270),用于对所述译码块进行编码,以提供残差译码块;帧间预测模块(244),用于根据任一上述实施例生成预测译码块;重建模块(214),用于根据所述预测译码块和所述残差译码块,重建所述译码块。
相应的编码装置如图2所示。
根据一个实施例,提供一种解码装置(30),用于对视频信号的当前帧的译码块(coding block)进行解码。所述解码装置(30)包括:解码模块(304),用于对所述译码块进行解码,以提供残差译码块;帧间预测模块(344),用于根据任一上述实施例生成预测译码块;重建模块(314),用于根据所述预测译码块和所述残差译码块,重建所述译码块。
相应的解码装置如图3所示。
根据一个实施例,提供了一种编码器。所述编码器包括处理电路,所述处理电路用于执行根据任一上述实施例所述的方法。
根据一个实施例,提供了一种解码器。所述解码器包括处理电路,所述处理电路用于执行根据任一上述实施例所述的方法。
根据一个实施例,提供了一种计算机程序产品。所述计算机程序产品包括程序代码,所述程序代码用于执行根据上述任一实施例所述的方法。
根据一个实施例,提供了一种解码器。所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序。所述程序在由所述一个或多个处理器执行时,配置所述解码器执行根据任一上述实施例所述的方法。
根据一个实施例,提供了一种编码器。所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序。所述程序在由所述一个或多个处理器执行时,配置所述编码器执行根据任一上述实施例所述的方法。
下面对上述实施例中所示的编码方法和解码方法的应用以及使用这些应用的系统进行解释说明。
图23为用于实现内容分发服务的内容供应系统3100的框图。内容供应系统3100包括捕获设备3102、终端设备3106,并且可选地包括显示器3126。捕获设备3102通过通信链路3104与终端设备3106通信。通信链路可以包括上文描述的通信信道13。通信链路3104包括但不限于Wi-Fi、以太网、有线、无线(3G/4G/5G)、USB或其任何种类的组合等。
捕获设备3102生成数据,并可以通过上述实施例中所示的编码方法对数据进行编码。可选地,捕获设备3102可以将数据分发到流媒体服务器(图中未示出),该服务器对数据进行编码并将经编码数据发送到终端设备3106。捕获设备3102包括但不限于相机、智能手机或平板电脑、计算机或笔记本电脑、视频会议系统、PDA、车载设备,或其中任何一个的组合等。例如,捕获设备3102可以包括上文所述的源设备12。当数据包括视频时,包括在捕获设备3102中的视频编码器20可以实际执行视频编码处理。当数据包括音频(即声音)时,捕获设备3102中包括的音频编码器实际上可执行音频编码处理。对于一些实际场景,捕获设备3102通过将经编码视频数据和经编码音频数据一起复用来分发经编码视频数据和经编码音频数据。对于其它实际场景,例如在视频会议系统中,不复用经编码音频数据和经编码视频数据。捕获设备3102将经编码音频数据和经编码视频数据分别分发到终端设备3106。
在内容供应系统3100中,终端设备310接收并再生成经编码数据。终端设备3106可以为具有数据接收和恢复能力的设备,例如智能手机或平板电脑3108、计算机或笔记本电脑3110、网络视频录像机(network video recorder,NVR)/数字视频录像机(digitalvideo recorder,DVR)3112、电视3114、机顶盒(set top box,STB)3116、视频会议系统3118、视频监控系统3120、个人数字助理(personal digital assistant,PDA)3122、车载设备3124,或能够对上述经编码数据进行解码的以上设备中任何一个的组合等。例如,终端设备3106可以包括上文所述的目的地设备14。当经编码数据包括视频时,包括在终端设备中的视频解码器30优先进行视频解码。当经编码数据包括音频时,包括在终端设备中的音频解码器优先进行音频解码处理。
对于具有显示器的终端设备,例如智能手机或平板电脑3108、计算机或笔记本电脑3110、网络视频录像机(network video recorder,NVR)/数字视频录像机(digitalvideo recorder,DVR)3112、电视3114、个人数字助理(personal digital assistant,PDA)3122或车载设备3124,终端设备可以将经解码数据馈送到其显示器。对于不配备显示器的终端设备,例如STB 3116、视频会议系统3118或视频监控系统3120,在其中连接外部显示器3126以接收和显示解码数据。
当该系统中的每个设备执行编码或解码时,可以使用如上述实施例中所示的图像编码设备或图像解码设备。
图24为终端设备3106的一个示例的结构的示意图。在终端设备3106从捕获设备3102接收到流之后,协议处理单元3202分析该流的传输协议。所述协议包括但不限于实时流协议(Real Time Streaming Protocol,RTSP)、超文本传输协议(Hyper Text TransferProtocol,HTTP)、HTTP直播流媒体协议(HTTP Live streaming protocol,HLS)、MPEG-DASH、实时传输协议(Real-time Transport protocol,RTP)、实时消息传输协议(RealTime Messaging Protocol,RTMP),或其任何种类的组合等。
在协议处理单元3202对流进行处理之后,生成流文件。文件被输出到解复用单元3204。解复用单元3204可以将复用数据分离成经编码音频数据和经编码视频数据。如上文所述,对于一些实际场景,例如在视频会议系统中,不复用经编码音频数据和经编码视频数据。在这种情况下,不通过解复用单元3204,将经编码数据发送到视频解码器3206和音频解码器3208。
通过解复用处理,生成视频基本流(elementary stream,ES)、音频ES和可选的字幕。视频解码器3206,包括上述实施例中说明的视频解码器30,通过上述实施例中所示的解码方法对视频ES进行解码以生成视频帧,并将该数据馈送到同步单元3212。音频解码器3208对音频ES进行解码以生成音频帧,并将此数据馈送到同步单元3212。可选地,在将视频帧馈送到同步单元3212之前可以将视频帧存储在缓冲区(图Y中未示出)中。类似地,在将音频帧馈送到同步单元3212之前可以将音频帧存储在缓冲区(图Y中未示出)中。
同步单元3212同步视频帧和音频帧,并将视频/音频提供给视频/音频显示器3214。例如,同步单元3212同步视频信息和音频信息的呈现。信息可以使用经译码音频和可视数据的呈现有关的时间戳以及与数据流本身的传送有关的时间戳而以语法进行译码。
如果流中包括字幕,则字幕解码器3210对字幕进行解码,使字幕与视频帧和音频帧同步,并将视频/音频/字幕提供给视频/音频/字幕显示器3216。
本发明并不限于上述系统,上述实施例中的图像编码设备或图像解码设备都可以包括在汽车系统等其它系统中。
尽管本发明实施例主要根据视频译码进行了描述,但需要说明的是,译码系统10、编码器20和解码器30(相应地,系统10)的实施例以及本文描述的其它实施例也可以用于静止图像处理或译码,即,对视频译码中独立于任何先前或连续图像的单个图像进行处理或译码。一般而言,如果图像处理译码仅限于单个图像17,则只有帧间预测模块244(编码器)和344(解码器)不可用。视频编码器20和视频解码器30的所有其它功能(也称为工具或技术)同样可以用于静止图像处理,例如残差计算204/304、变换206、量化208、反量化210/310、(逆)变换212/312、划分262/362、帧内预测254/354和/或环路滤波220/320、熵编码270和熵解码304。
编码器20和解码器30等的实施例以及本文参照编码器20和解码器30等描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质中或通过通信介质发送,且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,对应于有形介质(例如数据存储介质),或者包括任何根据通信协议等促进将计算机程序从一个地方传递到另一个地方的通信介质。通过这种方式,计算机可读介质一般可以对应于(1)非瞬时性的有形计算机可读存储介质或(2)信号或载波等通信介质。数据存储介质可以是通过一个或多个计算机或一个或多个处理器访问的任何可用介质,以检索用于实施本发明所述技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、闪存或可以用于存储指令或数据结构形式的所需程序代码并且可以由计算机访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(digital subscriber line,DSL)或红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴缆线、光纤缆线、双绞线、DSL或红外线、无线电和微波等无线技术包含在介质的定义中。但是,应当理解,计算机可读存储介质和数据存储介质并不包括连接、载波、信号或其它瞬时性介质,而是涉及非瞬时性有形存储介质。本文所使用的磁盘和光盘包括压缩光盘(compact disc,CD)、激光光盘、光学光盘、数字多功能光盘(digitalversatiledisc,DVD)、软盘和蓝光光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读介质的范围内。
指令可以通过一个或多个数字信号处理器(digital signal processor,DSP)、一个或多个通用微处理器、一个或多个专用集成电路(application specific integratedcircuit,ASIC)、一个或多个现场可编程逻辑阵列(field programmable logic array,FPGA)或其它同等集成或离散逻辑电路等一或多个处理器来执行。因此,本文所使用的术语“处理器”可以指上述结构中的任一种或适于实施本文所述技术的任何其它结构。另外,在一些方面中,本文描述的各种功能可以提供在用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本发明中的技术可以在多种设备或装置中实现,这些设备或装置包括无线手机、集成电路(integrated circuit,IC)或一组IC(例如芯片组)。本发明描述了各种组件、模块或单元,以强调用于执行所公开技术的设备的功能方面,但未必需要由不同的硬件单元实现。相反,如上所述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过包括如上所述的一个或多个处理器的互操作硬件单元的集合来提供。
尽管本发明的特定特征或方面可能已经仅结合几种实现方式或实施例中的一种进行公开,但此类特征或方面可以和其他实现方式或实施例中的一个或多个其他特征或方面相结合,只要对于任何给定或特定应用是有需要或有利的。此外,在一定程度上,术语“包括”、“有”、“具有”或这些词的其它变型在详细说明或权利要求书中使用,这类术语类似于术语“包括”,都是表示包括的含义。此外,术语“示例性”、“例如”仅表示为示例,而不是最好或最佳的。可以使用术语“耦合”和“连接”及其派生词。应当理解,这些术语可以用于指示两个元件彼此协作或交互,而不管它们是直接物理接触还是电接触,或者它们彼此不直接接触。
尽管本文中已说明和描述特定方面,但本领域普通技术人员应了解,多种替代和/或等效实现方式可在不脱离本发明范围的情况下替代所示和描述的特定方面。该申请旨在覆盖本文描述的特定方面的任何修改或变更。
尽管以上权利要求书中的元件是利用对应的标签按照特定顺序列举的,除非对权利要求的阐述另外暗示用于实施部分或所有这些元件的特定顺序,否则这些元件不必限于以该特定顺序来实施。
通过以上启示,对于本领域的技术人员来说,许多替代、修改和变化是显而易见的。当然,本领域技术人员容易认识到,除本文所述的应用之外,还存在本发明的众多其它应用。虽然已结合一个或多个特定实施例描述了本发明,但本领域技术人员认识到,在不脱离本发明范围的情况下,仍可对本发明作出许多改变。因此,应当理解,只要是在所附权利要求书及其等效物的范围内,可以用不同于本文具体描述的方式来实践本发明。
总而言之,本发明涉及视频编码和解码。为此,本发明提供了一种装置和各种方法,用于为译码块(coding block)推导运动矢量(motion vector,MV)。具体地,当所述译码块采用三角划分的融合模式时,为划分成两个三角划分块(partition)的所述译码块生成融合候选列表,其中,所述融合候选列表生成包括:从相邻译码单元(neighboring codingunits)中推导出一个或多个空间融合候选;在推导出所述一个或多个空间融合候选之后,直接或立即推导出一个或多个时间运动矢量预测值(temporal motion vectorprediction,MVP);根据所述融合候选列表,将单向预测MV推导为所述相应三角划分块的运动矢量,其中,所述融合候选列表包括一个或多个单向预测MV和/或一个或多个双向预测MV,单向MV的推导是基于所述融合候选或单向MV选择规则进行的;以及,至少根据所述单向预测MV对所述译码块的三角划分块进行预测,得到所述三角划分块的预测值。
下面提供了本发明的其它实施例。需要说明的是,以下部分使用的编号不一定需要与上述部分使用的编号保持一致。
实施例1.一种解码装置(200),用于对经编码视频信号的当前帧的视频译码块(coding block)进行解码,其中,所述解码装置(200)包括:
解码模块(205),用于对所述视频译码块进行解码,以提供残差视频译码块;
帧间预测模块(215),用于:生成预测视频译码块,其中,允许三角划分块的所有4×4子块存储双向预测运动矢量,并且执行单向运动补偿;
重建模块(209),用于根据所述经过滤波的预测视频译码块和所述残差视频译码块,重建所述视频译码块。
实施例2.一种解码装置(200),用于对经编码视频信号的当前帧的视频译码块(coding block)进行解码,其中,所述解码装置(200)包括:
解码模块(205),用于对所述视频译码块进行解码,以提供残差视频译码块;
帧间预测模块(215),用于根据为三角块(例如三角预测单元)推导的单向运动矢量生成预测视频译码块,并且执行单向运动补偿;
重建模块(209),用于根据所述经过滤波的预测视频译码块和所述残差视频译码块,重建所述视频译码块。
实施例3.根据实施例2所述的解码装置(200),其中,对于三角块(例如三角预测单元),单向运动矢量是根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出的:
a.如果所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量与同一参考图像相关,则计算平均运动矢量。
实施例4.根据实施例2所述的解码装置(200),其中,对于三角块(例如三角预测单元),单向运动矢量是根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出的:
a.如果所述REF_PIC_LIST0运动矢量的参考图像索引相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST1运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST0运动矢量;或者如果所述REF_PIC_LIST1运动矢量相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST0运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST1运动矢量。
实施例5.根据实施例2所述的解码装置(200),其中,对于三角块(例如三角预测单元),单向运动矢量是根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出的:
a.如果对于所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量,两者相关的参考图像到当前图像的时间距离相等,则使用幅值较小的那个运动矢量。
实施例6.根据实施例2所述的解码装置(200),其中,对于三角块(例如三角预测单元),单向运动矢量是根据以下任一规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出的:
a.如果所述REF_PIC_LIST0运动矢量和REF_PIC_LIST1运动矢量与同一参考图像相关,则计算平均运动矢量;或者
b.如果所述REF_PIC_LIST0运动矢量的参考图像索引相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST1运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST0运动矢量;或者如果所述REF_PIC_LIST1运动矢量相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST0运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST1运动矢量;或者
c.如果对于所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量,两者相关的参考图像到当前图像的时间距离相等,则使用幅值较小的那个运动矢量。
实施例7.一种为三角块(例如三角预测单元)推导单向运动矢量的方法,其中,所述方法包括:
根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出单向运动矢量:
a.如果所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量与同一参考图像相关,则计算平均运动矢量。
实施例8.一种为三角块(例如三角预测单元)推导单向运动矢量的方法,其中,所述方法包括:
根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出单向运动矢量:
a.如果所述REF_PIC_LIST0运动矢量的参考图像索引相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST1运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST0运动矢量;或者如果所述REF_PIC_LIST1运动矢量相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST0运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST1运动矢量。
实施例9.一种为三角块(例如三角预测单元)推导单向运动矢量的方法,其中,所述方法包括:
根据以下规则从第一(REF_PIC_LIST0)运动矢量和第二(REF_PIC_LIST1)运动矢量中推导出单向运动矢量:
a.如果对于所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量,两者相关的参考图像到当前图像的时间距离相等,则使用幅值较小的那个运动矢量。
实施例10.一种为三角块(例如三角预测单元)推导单向运动矢量的方法,其中,所述方法包括:
根据以下任一规则从第一(REF_PIC_LIST0)运动和第二(REF_PIC_LIST1)运动矢量中推导出单向运动矢量:
a.如果所述REF_PIC_LIST0运动矢量和REF_PIC_LIST1运动矢量与同一参考图像相关,则计算平均运动矢量;或者
b.如果所述REF_PIC_LIST0运动矢量的参考图像索引相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST1运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST0运动矢量;或者如果所述REF_PIC_LIST1运动矢量相关的参考图像到当前图像的时间距离小于所述REF_PIC_LIST0运动矢量相关的参考图像到所述当前图像的时间距离,则使用所述REF_PIC_LIST1运动矢量;或者
c.如果对于所述REF_PIC_LIST0运动矢量和所述REF_PIC_LIST1运动矢量,两者相关的参考图像到当前图像的时间距离相等,则使用幅值较小的那个运动矢量。
实施例11.一种编码器,其中,所述编码器包括处理电路,所述处理电路用于执行根据实施例7至10中任一个所述的方法。
实施例12.一种解码器,其中,所述解码器包括处理电路,所述处理电路用于执行根据实施例7至10中任一个所述的方法。
实施例13.一种计算机程序产品,其中,所述计算机程序产品包括程序代码,所述程序代码用于执行根据实施例7至10中任一个所述的方法。
实施例14.一种解码器,其中,所述解码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述解码器执行根据实施例7至10中任一个所述的方法。
实施例15.一种编码器,其特征在于,所述编码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述编码器执行根据实施例7至10中任一个所述的方法。
附图标记列表
图1A
10 视频译码系统
12 源设备
13 通信信道
14 目的地设备
16 图像源
17 图像数据
18 预处理器
19 预处理图像数据
20 视频编码器
21 经编码图像数据
22 通信接口
28 通信接口
30 视频解码器
31 经解码图像数据
32 后处理器
33 后处理图像数据
34 显示设备
图1B
40 视频译码系统
41 一个或多个成像设备
42 天线
43 一个或多个处理器
44 一个或多个存储器
45 显示设备
46 处理电路
20 视频编码器
30 视频解码器
图2
17 图像(数据)
19 预处理图像(数据)
20 编码器
21 经编码图像数据
201 输入端(接口)
204 残差计算[单元或步骤]
206 变换处理单元
208 量化单元
210 反量化单元
212 逆变换处理单元
214 重建模块
220 环路滤波器单元
230 解码图像缓冲区(DPB)
260 模式选择单元
270 熵编码单元
272 输出端(接口)
244 帧间预测模块
254 帧内预测模块
262 划分单元
203 图像块
205 残差块
213 重建残差块
215 重建块
221 经过滤波的块
231 经解码图像
265 预测块
266 语法元素
207 变换系数
209 量化系数
211 解量化系数
图3
21 经编码图像数据
30 视频解码器
304 熵解码单元
309 量化系数
310 反量化单元
311 解量化系数
312 逆变换处理单元
313 重建残差块
314 重建模块
315 重建块
320 环路滤波器
321 经过滤波的块
330 解码图像缓冲区DPB
331 经解码图像
360 模式应用单元
365 预测块
366 语法元素
344 帧间预测模块
354 帧内预测模块
图4
400 视频译码设备
410 入端口/输入端口
420 接收单元Rx
430 处理器
440 发送单元Tx
450 出端口/输出端口
460 存储器
470 译码模块
图5
500 源设备或目的地设备
502 处理器
504 存储器
506 代码和数据
508 操作系统
510 应用程序
512 总线
518 显示器。
Claims (17)
1.一种编码方法,其特征在于,所述方法包括以下步骤:
生成码流,所述码流包括第一融合索引;
发送所述码流;
其中,当译码块(codingblock)采用几何划分的融合模式时,为划分成两个几何划分块的所述译码块生成融合候选列表,所述两个几何划分块包括第一几何块和第二几何块;
利用第一几何划分块的第一融合索引index,从所述生成的融合候选列表中选择第一融合候选(mergecandidate),所述第一融合索引用于指示所述第一融合候选;
如果所选第一融合候选为双向预测运动矢量MV,则调用单向预测候选推导过程,所述过程的输入为双向预测运动矢量,所述过程的输出包括单向预测运动矢量,所述单向预测MV为所述当前第一几何划分块的运动矢量。
2.一种解码方法,其特征在于,所述方法包括以下步骤:
接收码流;
从码流中解析第一融合索引;
其中,当译码块(codingblock)采用几何划分的融合模式时,为划分成两个几何划分块的所述译码块生成融合候选列表,所述两个几何划分块包括第一几何块和第二几何块;
利用第一几何划分块的第一融合索引index,从所述生成的融合候选列表中选择第一融合候选(mergecandidate),所述第一融合索引用于指示所述第一融合候选;
如果所选第一融合候选为双向预测运动矢量MV,则调用单向预测候选推导过程,所述过程的输入为双向预测运动矢量,所述过程的输出包括单向预测运动矢量,所述单向预测MV为所述当前第一几何划分块的运动矢量。
3.根据权利要求1或2所述的方法,其特征在于,所述单向预测候选推导过程包括:根据用于所述几何划分的融合模式的单向预测MV选择规则从所述双向预测运动矢量中,将单向预测MV推导为所述当前几何划分块的运动矢量,其中,所述用于所述几何划分的融合模式的单向预测MV选择规则表示所述生成的融合候选列表中的选定的双向预测MV中的第一MV或第二MV被选择为单向预测MV。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述融合候选列表包括一个或多个单向预测MV和一个或多个双向预测MV,所述一个或多个双向预测MV包括所述选定的双向预测MV。
5.根据权利要求3或4所述的方法,其特征在于,所述第一融合索引指示的融合候选是具有对应于第一参考图像列表(REF_PIC_LIST0)的第一MV和对应于第二参考图像列表(REF_PIC_LIST1)的第二MV的选定双向预测MV。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述码流中还包括第二融合索引index,
相应的,所述方法还包括:利用第二几何划分块的第二融合索引index,从所述生成的融合候选列表中选择第二融合候选(mergecandidate),所述第二融合索引用于指示所述第二融合候选;
如果所选第二融合候选为双向预测运动矢量MV,则调用单向预测候选推导过程,所述过程的输入为双向预测运动矢量,所述过程的输出包括单向预测运动矢量,所述单向预测MV为所述第二几何划分块的运动矢量。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述单向预测MV选择规则为以下任一种:
如果所述第一MV的参考图像索引相关的参考图像到当前图像的时间距离TD0小于所述第二MV相关的参考图像到所述当前图像的时间距离TD1,则将所述第一MV用作所述单向预测MV;或者
如果所述REF_PIC_LIST1对应的第二MV相关的参考图像到当前图像的时间距离小于所述第一MV相关的参考图像到所述当前图像的时间距离,则将所述第二MV用作所述单向预测MV;或者
如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,
两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第一MV用作所述单向预测MV;或者
如果对于所述REF_PIC_LIST0对应的第一MV和所述REF_PIC_LIST1对应的第二MV,两者相关的参考图像到当前图像的时间距离相等,则将幅值较小的所述第二MV用作所述单向预测MV。
8.一种编码器,其特征在于,所述编码器包括处理电路,所述处理电路用于执行根据权利要求1,3至7中任一项所述的方法。
9.一种解码器,其特征在于,所述解码器包括处理电路,所述处理电路用于执行根据权利要求2至7中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序代码,所述程序代码用于执行根据权利要求1至7中任一项所述的方法。
11.一种解码器,其特征在于,所述解码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述解码器执行根据权利要求2至7中任一项所述的方法。
12.一种编码器,其特征在于,所述编码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述编码器执行根据权利要求1,3至7中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有程序指令和/或数据流(视频码流),当其在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品上存储有程序指令和/或数据流(视频码流),当其在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频码流,所述视频码流包括第一融合索引;
其中,当译码块(codingblock)采用几何划分的融合模式时,为划分成两个几何划分块的所述译码块生成融合候选列表,所述两个几何划分块包括第一几何块和第二几何块;
利用第一几何划分块的第一融合索引index,从所述生成的融合候选列表中选择第一融合候选(mergecandidate),所述第一融合索引用于指示所述第一融合候选;
如果所选第一融合候选为双向预测运动矢量MV,则调用单向预测候选推导过程,所述过程的输入为双向预测运动矢量,所述过程的输出包括单向预测运动矢量,所述单向预测MV为所述当前第一几何划分块的运动矢量。
16.一种包含由权利要求1,3至7任一项的方法编码的视频码流的存储介质,或者,包含由权利要求2至7中任一项所述的方法解码的视频码流的存储介质。
17.一种码流,其特征在于,所述码流包括第一融合索引;
其中,当译码块(codingblock)采用几何划分的融合模式时,为划分成两个几何划分块的所述译码块生成融合候选列表,所述两个几何划分块包括第一几何块和第二几何块;
利用第一几何划分块的第一融合索引index,从所述生成的融合候选列表中选择第一融合候选(mergecandidate),所述第一融合索引用于指示所述第一融合候选;
如果所选第一融合候选为双向预测运动矢量MV,则调用单向预测候选推导过程,所述过程的输入为双向预测运动矢量,所述过程的输出包括单向预测运动矢量,所述单向预测MV为所述当前第一几何划分块的运动矢量。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862742921P | 2018-10-08 | 2018-10-08 | |
US62/742,921 | 2018-10-08 | ||
PCT/CN2019/109991 WO2020073896A1 (en) | 2018-10-08 | 2019-10-08 | Apparatuses and methods for inter prediction of a triangle partition of a coding block |
CN201980065919.XA CN112823518B (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980065919.XA Division CN112823518B (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692651A true CN117692651A (zh) | 2024-03-12 |
Family
ID=70164775
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311289700.2A Pending CN117615125A (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
CN202311301968.3A Pending CN117692651A (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
CN202311298064.XA Pending CN117596398A (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
CN201980065919.XA Active CN112823518B (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311289700.2A Pending CN117615125A (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311298064.XA Pending CN117596398A (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
CN201980065919.XA Active CN112823518B (zh) | 2018-10-08 | 2019-10-08 | 用于译码块的几何划分块的帧间预测的装置及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210227247A1 (zh) |
EP (1) | EP3850846A4 (zh) |
JP (2) | JP7328328B2 (zh) |
KR (1) | KR20210068537A (zh) |
CN (4) | CN117615125A (zh) |
MX (1) | MX2021004020A (zh) |
WO (1) | WO2020073896A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111418207B (zh) | 2018-11-06 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 依赖块尺寸的对运动信息的存储 |
CN113852815B (zh) * | 2018-12-25 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 利用三角形形状预测单元的视频编码方法、设备及介质 |
WO2020184459A1 (ja) * | 2019-03-08 | 2020-09-17 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
RU2767973C1 (ru) * | 2019-03-08 | 2022-03-22 | ДжейВиСиКЕНВУД Корпорейшн | Устройство для кодирования видео, способ кодирования видео, устройство для декодирования видео и способ декодирования видео |
AR118250A1 (es) | 2019-03-08 | 2021-09-22 | Jvckenwood Corp | Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento |
WO2020231953A1 (en) * | 2019-05-10 | 2020-11-19 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for video coding with triangle prediction |
CN113055689B (zh) | 2019-06-24 | 2022-11-01 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
KR20220024773A (ko) | 2019-06-24 | 2022-03-03 | 알리바바 그룹 홀딩 리미티드 | 동영상 코딩시 모션 필드 저장 방법 및 장치 |
CN114303382A (zh) | 2019-09-01 | 2022-04-08 | 北京字节跳动网络技术有限公司 | 视频编解码中预测权重的对准 |
WO2021068923A1 (en) * | 2019-10-10 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Deblocking filtering improvements |
KR20220070530A (ko) * | 2019-10-10 | 2022-05-31 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 삼각형 분할을 이용한 비디오 코딩을 위한 방법 및 장치 |
US11496755B2 (en) * | 2019-12-28 | 2022-11-08 | Tencent America LLC | Method and apparatus for video coding |
US11375221B2 (en) * | 2020-02-12 | 2022-06-28 | Tencent America LLC | Method and apparatus for cross-component filtering |
US12058315B2 (en) * | 2020-03-04 | 2024-08-06 | Intellectual Discovery Co., Ltd. | Video coding method and device, and recording medium storing bitstream |
CN111741297B (zh) * | 2020-06-12 | 2024-02-20 | 浙江大华技术股份有限公司 | 帧间预测方法、视频编码方法及其相关装置 |
WO2022177380A1 (ko) * | 2021-02-18 | 2022-08-25 | 현대자동차주식회사 | 인터 예측 기반의 비디오 부호화 및 복호화 |
CN113422966B (zh) * | 2021-05-27 | 2024-05-24 | 绍兴市北大信息技术科创中心 | 一种多模型cnn环路滤波方法 |
WO2023224279A1 (ko) * | 2022-05-16 | 2023-11-23 | 현대자동차주식회사 | 기하학적 움직임 예측을 사용하는 비디오 코딩을 위한 방법 및 장치 |
WO2024133579A1 (en) * | 2022-12-23 | 2024-06-27 | Interdigital Ce Patent Holdings, Sas | Gpm combination with inter tools |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1122421C (zh) * | 1995-08-04 | 2003-09-24 | 株式会社大宇电子 | 用于图象信号编码系统的运动矢量估算方法和设备 |
US20030099294A1 (en) * | 2001-11-27 | 2003-05-29 | Limin Wang | Picture level adaptive frame/field coding for digital video content |
KR100491530B1 (ko) * | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
EP2266318B1 (en) * | 2008-03-19 | 2020-04-22 | Nokia Technologies Oy | Combined motion vector and reference index prediction for video coding |
JP2012109720A (ja) * | 2010-11-16 | 2012-06-07 | Panasonic Corp | 画像変換装置、画像再生装置及び画像変換方法 |
US9066102B2 (en) * | 2010-11-17 | 2015-06-23 | Qualcomm Incorporated | Reference picture list construction for generalized P/B frames in video coding |
US8711940B2 (en) * | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
WO2012097377A1 (en) * | 2011-01-14 | 2012-07-19 | General Instrument Corporation | Joint spatial and temporal block merge mode for hevc |
US10841573B2 (en) * | 2011-02-08 | 2020-11-17 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using multiple reference pictures |
US9066110B2 (en) * | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
US8934552B2 (en) * | 2011-03-31 | 2015-01-13 | Qualcomm Incorporated | Combined reference picture list construction and mapping |
US9866859B2 (en) * | 2011-06-14 | 2018-01-09 | Texas Instruments Incorporated | Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding |
JP5937594B2 (ja) * | 2011-06-30 | 2016-06-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 画像復号方法及び画像復号装置 |
MX337446B (es) | 2011-09-29 | 2016-03-07 | Sharp Kk | Dispositivo de decodificacion de imagenes, metodo de decodificacion de imagenes y dispositivo de codificacion de imagenes. |
WO2013051209A1 (ja) * | 2011-10-05 | 2013-04-11 | パナソニック株式会社 | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
US9467694B2 (en) * | 2011-11-21 | 2016-10-11 | Google Technology Holdings LLC | Implicit determination and combined implicit and explicit determination of collocated picture for temporal prediction |
US9451277B2 (en) * | 2012-02-08 | 2016-09-20 | Qualcomm Incorporated | Restriction of prediction units in B slices to uni-directional inter prediction |
US9426463B2 (en) * | 2012-02-08 | 2016-08-23 | Qualcomm Incorporated | Restriction of prediction units in B slices to uni-directional inter prediction |
JP2013251752A (ja) * | 2012-05-31 | 2013-12-12 | Toshiba Corp | 電子機器及び復号方法 |
US9807407B2 (en) * | 2013-12-02 | 2017-10-31 | Qualcomm Incorporated | Reference picture selection |
US9838710B2 (en) * | 2014-12-23 | 2017-12-05 | Intel Corporation | Motion estimation for arbitrary shapes |
US10516882B2 (en) * | 2015-01-29 | 2019-12-24 | Vid Scale, Inc. | Intra-block copy searching |
CN115002455A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
EP3357245A4 (en) * | 2015-11-05 | 2019-03-13 | MediaTek Inc. | METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING |
US11412209B2 (en) * | 2015-11-20 | 2022-08-09 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image using geometrically modified picture |
US10721489B2 (en) * | 2016-09-06 | 2020-07-21 | Qualcomm Incorporated | Geometry-based priority for the construction of candidate lists |
EP3301914A1 (en) * | 2016-09-30 | 2018-04-04 | Thomson Licensing | Method and apparatus for encoding and decoding a large field of view video |
WO2018071666A1 (en) * | 2016-10-12 | 2018-04-19 | Arris Enterprises Llc | Coding schemes for virtual reality (vr) sequences |
WO2018141416A1 (en) * | 2017-02-06 | 2018-08-09 | Huawei Technologies Co., Ltd. | Video encoder and decoder for predictive partitioning |
US20180376148A1 (en) * | 2017-06-23 | 2018-12-27 | Qualcomm Incorporated | Combination of inter-prediction and intra-prediction in video coding |
US10687077B2 (en) * | 2017-06-26 | 2020-06-16 | Qualcomm Incorporated | Motion information propagation in video coding |
US10785494B2 (en) * | 2017-10-11 | 2020-09-22 | Qualcomm Incorporated | Low-complexity design for FRUC |
US10652571B2 (en) * | 2018-01-25 | 2020-05-12 | Qualcomm Incorporated | Advanced motion vector prediction speedups for video coding |
US10863175B2 (en) * | 2018-03-01 | 2020-12-08 | Panasonic Intellectual Property Corporation Of America | Encoder, and decoder, encoding method, decoding method |
US11128871B2 (en) * | 2018-04-25 | 2021-09-21 | Panasonic Intellectual Property Corporation Of America | Encoder for adaptively determining information related to splitting based on characteristics of neighboring samples |
US11477474B2 (en) * | 2018-06-08 | 2022-10-18 | Mediatek Inc. | Methods and apparatus for multi-hypothesis mode reference and constraints |
CN112369030B (zh) * | 2018-07-06 | 2023-11-10 | 寰发股份有限公司 | 解码器的视频解码方法及装置 |
US11051036B2 (en) * | 2018-07-14 | 2021-06-29 | Mediatek Inc. | Method and apparatus of constrained overlapped block motion compensation in video coding |
JP2022503464A (ja) * | 2018-07-17 | 2022-01-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | ビデオコーディング用動きベクトル予測 |
US11057617B2 (en) * | 2018-08-03 | 2021-07-06 | Tencent America LLC | Method and apparatus for video coding |
KR20210049822A (ko) * | 2018-09-07 | 2021-05-06 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 비디오 코딩 시스템 및 방법 |
US11012687B2 (en) * | 2018-10-01 | 2021-05-18 | Tencent America LLC | Method and apparatus for video coding |
CN115514958A (zh) * | 2018-11-02 | 2022-12-23 | 抖音视界有限公司 | 用于基于历史的运动矢量预测的表维护 |
US10893298B2 (en) * | 2018-12-12 | 2021-01-12 | Tencent America LLC | Method and apparatus for video coding |
US11122272B2 (en) * | 2018-12-26 | 2021-09-14 | Mediatek Inc. | Triangle prediction with applied-block settings and motion storage settings |
-
2019
- 2019-10-08 CN CN202311289700.2A patent/CN117615125A/zh active Pending
- 2019-10-08 JP JP2021518928A patent/JP7328328B2/ja active Active
- 2019-10-08 WO PCT/CN2019/109991 patent/WO2020073896A1/en active Application Filing
- 2019-10-08 EP EP19870685.5A patent/EP3850846A4/en active Pending
- 2019-10-08 MX MX2021004020A patent/MX2021004020A/es unknown
- 2019-10-08 CN CN202311301968.3A patent/CN117692651A/zh active Pending
- 2019-10-08 CN CN202311298064.XA patent/CN117596398A/zh active Pending
- 2019-10-08 KR KR1020217013194A patent/KR20210068537A/ko not_active Application Discontinuation
- 2019-10-08 CN CN201980065919.XA patent/CN112823518B/zh active Active
-
2021
- 2021-04-08 US US17/225,939 patent/US20210227247A1/en active Pending
-
2023
- 2023-08-03 JP JP2023127359A patent/JP7548679B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20210227247A1 (en) | 2021-07-22 |
KR20210068537A (ko) | 2021-06-09 |
CN117596398A (zh) | 2024-02-23 |
MX2021004020A (es) | 2021-06-30 |
EP3850846A1 (en) | 2021-07-21 |
JP2022514161A (ja) | 2022-02-10 |
WO2020073896A1 (en) | 2020-04-16 |
CN117615125A (zh) | 2024-02-27 |
JP7548679B2 (ja) | 2024-09-10 |
JP2023162214A (ja) | 2023-11-08 |
CN112823518A (zh) | 2021-05-18 |
CN112823518B (zh) | 2023-10-20 |
EP3850846A4 (en) | 2021-12-15 |
JP7328328B2 (ja) | 2023-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112823518B (zh) | 用于译码块的几何划分块的帧间预测的装置及方法 | |
CN113039798B (zh) | 解码设备实现的译码方法及解码器 | |
CN114009040B (zh) | 编码器、解码器及对应方法 | |
CN111107356B (zh) | 图像预测方法及装置 | |
CN113545040B (zh) | 用于多假设编码的加权预测方法及装置 | |
US11438578B2 (en) | Video picture prediction method and apparatus | |
CN113170143B (zh) | 一种编码器、解码器及去块滤波器的边界强度的对应推导方法 | |
CN117082259A (zh) | 帧间预测方法及装置 | |
CN112673633B (zh) | 合并模式的编码器、解码器及对应方法 | |
CN112534808A (zh) | 视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序 | |
CN110855998B (zh) | 融合候选者列表构建方法、装置及的编/解方法及装置 | |
CN114026864A (zh) | 用于几何分割模式的色度样本权重推导 | |
CN111432219B (zh) | 一种帧间预测方法及装置 | |
CN115278227A (zh) | 一种由解码设备或编码设备实现的译码方法,编码器和解码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |