CN111246216B - 一种基于三角预测的视频编解码方法及设备 - Google Patents

一种基于三角预测的视频编解码方法及设备 Download PDF

Info

Publication number
CN111246216B
CN111246216B CN202010055585.2A CN202010055585A CN111246216B CN 111246216 B CN111246216 B CN 111246216B CN 202010055585 A CN202010055585 A CN 202010055585A CN 111246216 B CN111246216 B CN 111246216B
Authority
CN
China
Prior art keywords
motion vector
prediction
list
merging
motion vectors
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.)
Active
Application number
CN202010055585.2A
Other languages
English (en)
Other versions
CN111246216A (zh
Inventor
王祥林
陈漪纹
修晓宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN111246216A publication Critical patent/CN111246216A/zh
Application granted granted Critical
Publication of CN111246216B publication Critical patent/CN111246216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

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

Abstract

本发明提供一种基于三角预测的视频编解码方法及设备,该设备包括:在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;将CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;获取用于常规合并预测模式的常规合并列表,从常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;利用各三角形预测分区自身的单向预测运动矢量及参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;对所述已编码视频流进行解码。本发明提供的基于三角预测的视频编解码方法及设备,解决了目前利用三角预测进行运动补偿时运算复杂、实施成本高的问题。

Description

一种基于三角预测的视频编解码方法及设备
本申请要求在2019年01月17日提交美国专利局、申请号为62/793,832、申请名称为“Video Coding with Triangle Prediction”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及视频编码技术领域,特别涉及一种基于三角预测的视频编解码方法及设备。
背景技术
在对视频数据进行处理时可以使用各种视频编码技术来压缩视频数据。视频编码是根据一个或多个视频编码标准来执行的。例如,视频编码标准包括多功能视频编码(VVC)、联合勘探测试模型(JEM)、高效率视频编码(HEVC)、高级视频编码(AVC)、运动图像专家组(MPEG)编码等。视频编码通常利用视频图像或视频序列中存在冗余的预测方法(例如,帧间预测、帧内预测等)。视频编码技术的一个重要目标是将视频数据压缩为使用较低比特率的形式,同时避免或最小化对视频质量的下降。
JVET会议定义的VVC编码方法中,图像划分结构将输入视频分为称为编码树单元(CTU)的块,具有嵌套多类型树的四叉树将一个CTU划分为编码单元CU,该编码单元具有定义共享相同预测模式的区域的叶子编码单元。
在VVC中,可以在整个CU块上进行CU的运动补偿预测,或者通过将大CU划分成子块并且推导针对大CU的所有子块的运动信息,得到CU的运动补偿预测,划分成的子块作为预测的操作单元,称为预测单元(PU)。在帧内预测模式或帧间预测模式下,通常PU的尺寸等于CU的尺寸,即在整个CU块上执行运动补偿预测;在仿射预测模式、可选时域运动矢量预测模式和三角预测模式等预测模式下,通常PU的尺寸小于CU的尺寸,即将CU划分成多个PU进行运动补偿预测。
目前在VVC中引入的三角预测模式下进行运动补偿预测时,将CU分割成两个三角形状的预测单元,为每个预测单元推导出运动矢量,并相应地执行运动补偿。CU中的每个三角预测单元是使用其自身的单向预测运动矢量(Uni-prediction Motion Vector)和参考的单向预测运动矢量来进行帧间预测得到PU的运动矢量。
对于每个CU,编码器端和解码器端基于相同的方式推导出单向预测候选列表,单向预测运动矢量候选列表由五个单向预测运动矢量候选组成。该单向预测运动矢量候选列表是从七个邻近块推导出的,该七个邻近块包括五个空域邻近块和两个时域同位块。编码器端和解码器端推导出相同的单向预测候选列表,编码器端确定三角预测分区的方向,即是从左上角到右下角分区,还是从右上角到左下角分区,并从列表中选择一个单向预测运动矢量作为参考的单向预测运动矢量,利用分区自身的单向预测运动矢量及参考的单向预测运动矢量进行运动补偿得到PU的运动补偿预估值。编码器端需要将上述确定的三角预测分区的方向及选择的参考帧的单向预测运动矢量的索引值指示给解码器端,使解码器端确定分区方向及解码时参考的单向预测运动矢量,从而利用分区自身的单向预测运动矢量及参考的单向预测运动矢量进行运动补偿得到PU的运动补偿预估值。
但是,目前在利用三角预测模式进行运动补偿时,在生成单向预测候选列表的过程中,需要增加额外的确定合并列表的逻辑规则和过程,这样就导致编码器和解码器的计算复杂度增大,造成了编码器和解码器实施的额外成本。
综上,目前基于三角预测的视频编解码方法存在运算复杂、实施成本高的问题。
发明内容
本发明提供了一种基于三角预测的视频编解码方法及设备,用以解决现有基于三角预测的视频编解码方法存在的运算复杂、实施成本高的问题。
根据本发明实施例的第一方面,提供一种基于三角预测的视频解码方法,该方法包括:
在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述已编码视频流进行解码。
根据本发明实施例的第二方面,提供一种基于三角预测的视频编码方法,该方法包括:
在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
根据本发明实施例的第三方面,提供一种基于三角预测的视频解码设备,包括:
编码单元确定模块,用于在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角分区模块,确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
运动补偿模块,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
解码模块,用于通过所述运动补偿预估值,对所述已编码视频流进行解码。可选地,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述合并列表构建模块构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
根据本发明实施例的第四方面,提供一种基于三角预测的视频编码设备,包括:
编码单元确定模块,用于在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角预测分区模块,用于确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
指示模块,用于从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
运动补偿模块,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
编码模块,用于通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
可选地,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述合并列表构建模块构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
根据本发明实施例的第五方面,提供一种基于三角预测的视频解码设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如上述第一方面任一所述的基于三角预测的视频解码方法的步骤。
根据本发明实施例的第六方面,提供一种基于三角预测的视频编码设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如上述第二方面任一所述的基于三角预测的视频编码方法的步骤。
根据本发明实施例的第七方面,提供一种芯片,所述芯片与设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现本申请实施例上述各个方面以及各个方面涉及的任一可能涉及的方法。
根据本发明实施例的第八方面,提供一种计算机可读存储介质,该计算机存储介质存储有程序指令,当其在计算机上运行时,使得计算机执行本发明实施例上述各个方面以及各个方面涉及的任一可能涉及的方法。
根据本发明实施例的第九方面,提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本申请实施例上述各个方面以及各个方面涉及的任一可能涉及的方法。
利用本发明提供的基于三角预测的视频编解码方法及设备,具有以下有益效果:
本发明提供的基于三角预测的视频编解码方法及设备,利用常规预测模式下的常规合并列表中的运动矢量,构建第一合并列表,利用第一合并列表中的运动矢量构建用于三角预测模式的单向预测合并列表,无需增加三角预测中额外的逻辑规则,简化了三角预测模式下进行运动补偿的过程,解决了目前基于三角预测的视频编解码方法存在的运算复杂、实施成本高的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的一种基于三角预测的视频编码方法示意图;
图2a为本发明实施例中提供的一种将CU划分为左上-右下两个三角形预测分区的示意图;
图2b为本发明实施例中提供的一种将CU划分为右上-左下两个三角形预测分区的示意图;
图3为本发明实施例中提供的一种基于三角预测的视频解码方法示意图;
图4为本发明实施例中提供的一种基于三角预测的视频解码设备示意图;
图5为本发明实施例中提供的一种基于三角预测的视频编码设备示意图;
图6为本发明实施例中提供的一种基于三角预测的视频解码设备结构示意图;
图7为本发明实施例中提供的一种基于三角预测的视频编码设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
1)运动补偿预测(Motion Compensation Prediction,MCP):是对视频图像进行压缩时所使用的一种帧间编码技术;一个视频序列包含一定数量的图片,通常称为帧(Frame),运动补偿是一种描述在编码关系上的相邻帧的差别的方法,具体来说是描述前面一帧的每个子块怎样移动到当前帧中的某个位置去;相邻的帧通常很相似,也就是说,包含了很多冗余,因此运动补偿方法被视频压缩或视频编解码器用来减少视频序列中的空域冗余,也可以用来进行去交织以及运动插值的操作;
2)运动矢量(MotionVector,MV):在帧间编码中,运动矢量表示当前编码块与其参考图像中的最佳匹配块之间的相对位移;每个划分的编码块都有相应的运动信息需要传送到解码端,如果对每个编码块的运动矢量进行独立编码和传输,需要消耗相当多的比特;因此在编码时利用相邻宏块之间的空间相关性,根据相邻已编码块的运动信息对当前待编码块的运动信息进行预测,然后对预测差进行编码,这样可以有效地降低表示运动信息的比特数。
实施例1
本发明实施例提供一种基于三角预测的视频编码方法,应用于编码端,如图1所示,包括:
步骤S101,在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
获取待编码视频流,在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU。图像划分结构将输入的当前视频图像帧分为称为编码树单元CTU的块,使用具有嵌套多类型树结构的四叉树将一个编码树单元CTU划分成编码单元CU,该编码单元CU具有定义共享相同预测模式的区域的叶子编码单元,所述相同预测模式的区域可以是帧内或帧间等。每个CU包含一个或多个预测单元PU和变换单元树。
在本申请实施例中,术语“单元(unit)”定义了覆盖所有分量的图像的区域,具体例如亮度分量或色度分量等。
步骤S102,确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
VVC中在三角预测模式下,CU可以被划分成两个三角形状预测单元。通过为每个预测单元PU推导出运动向量,并相应地执行运动补偿。
作为一种可选的实施方式,在对角线方向或者逆对角线方向上将CU划分成两个三角形预测单元。如图2a所示,为本发明实施例提供的将CU划分为左上-右下两个三角形预测分区的示意图;如图2b所示,为本发明实施例提供的将CU划分为右上-左下两个三角形预测分区的示意图。CU中的每个三角形预测单元是使用其自身的单向预测运动矢量(Uni-prediction Motion Vector)和参考帧索引来进行帧间预测的,该单向预测运动矢量和参考帧索引是从单向预测候选列表中推导出的。图2a和图2b中所示的CU形状为正方形,具体实施时,三角预测模式也可以应用于非正方形(即矩形)形状的CU。
步骤S103,获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
本实施例中采用现有方式在常规合并预测模式下构建运动矢量候选列表。首先,基于来自邻近块的运动矢量,选择空域运动矢量候选。在CU的空域位置的候选中选择四个合并候选的最大值。然后基于同位PU推导出按比例的运动矢量,该同位PU属于具有与给定参考图像列表内的当前图像的图像序列号(Picture Order Count,POC)差值最小的图像。获取用于时域合并候选的按比例的运动矢量,该按比例的运动矢量是使用POC距离(tb和td)从同位PU的运动矢量按比例缩放的,其中tb为当前图像的参考图像和当前图像之间的POC差,td为位于同位图像的参考图像和同位图像之间的POC差。将时域合并候选的参考图像索引设置为等于零。
确定空域运动矢量候选和时域运动矢量候选并将其添加到常规合并列表后,将基于历史的合并候选添加到常规合并列表中。基于历史的合并候选包括来自先前编码的CU的运动矢量,这些运动矢量被保存在单独的运动矢量列表中,并且基于特定规则进行管理。
在加入基于历史的合并候选后,若常规合并列表未满,将成对的平均运动矢量候选添加到列表中。具体的,基于特定预设规则,每次从常规合并列表中选择两个候选,将选择的两个候选的平均运动矢量添加到常规合并列表中。在加入成对的平均运动矢量后,若常规合并列表仍未满,则添加零运动矢量到常规合并列表,使常规合并列表完整。
上述在常规合并预测模式下推导常规合并列表的方法为现有技术,这里不再详述。
获取上述用于常规预测模式的常规合并列表,根据该常规合并列表中的运动矢量构建第一合并列表,具体的,从该常规合并列表中选择全部运动矢量构建第一合并列表,即,将常规合并列表中所有的运动矢量添加到第一合并列表中;或者从该常规合并列表中选择部分运动矢量构建第一合并列表,即将常规合并列表中的部分运动矢量添加到第一合并列表中,该部分运动矢量可以是预设位置处的运动矢量,或者根据预设的规则选取的运动矢量。
上述方法保证了在根据常规合并列表构建第一合并列表时能够选择合适数量的或者需要的运动矢量进行添加,降低选择添加的运动矢量过多或者过少造成的复杂度。
上述得到的第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
目前在三角预测模式下进行运动补偿时,构建合并列表需要增加额外的逻辑规则,因此会导致编码器和解码器实施的额外成本。本实施例中利用常规合并预测模式生成常规合并列表,利用常规合并列表中的运动矢量构建第一合并列表,进而构建用于三角预测模式的单向预测合并列表。因此,在引入三角预测时,无需增加额外的逻辑规则,利用已有的逻辑规则即可得到单向预测合并列表,避免了编码器和解码器实施的额外成本。
上述根据常规合并列表中的运动矢量构建第一合并列表后,根据第一合并列表中的运动矢量,构建用于三角预测模式的单向预测合并列表,具体的,从第一合并列表中选择运动矢量添加到单向预测合并列表中,得到用于三角预测模式的单向预测合并列表。
在将选择的运动矢量添加到单向预测合并列表中时,可以执行运动矢量比较过程,将选择的运动矢量与单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到单向预测合并列表。具体的,可以将选择的运动矢量与单向预测合并列表中的所有运动矢量进行对比,确定均不同时,将选择的运动矢量添加到单向预测合并列表,或者将选择的运动矢量与单向预测合并列表中的部分运动矢量进行对比,确定均不同时,将选择的运动矢量添加到单向预测合并列表。
上述将选择的运动矢量添加到单向预测合并列表中时,可以不执行运动矢量比较过程,从而降低运算复杂度。上述将选择的运动矢量与单向预测合并列表中的所有运动矢量进行对比,确保了添加到单向预测合并列表中的运动矢量与在单向预测合并列表中已有的运动矢量不同,避免了冗余的运动矢量。上述将选择的运动矢量与单向预测合并列表中的部分运动矢量进行对比,能够降低运算复杂度的同时一定程度上降低了冗余度。
进一步的,还可以根据当前视频图像帧是否使用后向预测确定是否执行运动矢量比较过程。在确定当前视频图像帧不使用后向预测时,采用上述比较方法将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。在确定当前视频图像帧使用后向预测时,不执行运动矢量比较过程。
上述根据当前视频图像帧是否使用后向预测确定是否执行运动矢量比较过程的方法,能够根据不同的预测情况采用不同的运动矢量比较方法,从而灵活的选择执行方法,以便得到不同预测情况下最合适的单向预测合并列表,在进行运动补偿时得到更好的补偿效果。
步骤S104,从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
上述根据常规预测合并列表构建第一合并列表,根据第一合并列表确定单向预测运动矢量候选列表后,根据各三角形分区自身的单向预测运动矢量,在单向预测运动矢量候选列表中选择各三角形分区参考的单向预测运动矢量,并需要将选择的各三角形分区参考的单向预测运动矢量通过信令指示给解码端。
作为一种可选的实施方式,本实施例将指示各三角形分区参考的单向预测运动矢量的合并索引值,携带在信令中指示给解码端,以使解码端根据三角形分区参考的单向预测运动矢量对应的索引值,确定各三角形分区参考的单向预测运动矢量的合并索引值。
本实施例中不同的三角预测分区从单向预测运动矢量候选列表中选择的参考的单向预测运动矢量是不同的。本实施例中的合并索引值用于指示不同的单向预测运动矢量的组合,合并索引值的取值范围由单向预测运动矢量中单向预测运动矢量的个数决定。
步骤S105,利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
对于每个三角形预测分区即三角PU,利用自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量推导出预测变量,根据推导出的预测变量进行运动补偿,其中每个三角PU推导出的预测变量的覆盖区域比实际的三角PU区域更大,因此,沿这两个PU的共享对角线边缘存在这两个预测变量的重叠区域。对两个三角PU的重叠区域的预测变量执行自适应加权处理,目前使用预设的两组加权因子,加权因子组的选择基于两个三角预测单元的预测变量的比较。具体地,当两个三角预测单元的参考图像彼此不同或者其预测变量差大于16个像素时,使用第二加权因子组。否则,将使用第一加权因子组。根据得到的预测变量,然后将变换和量化过程应用于整个CU,最终得到CU的运动补偿预估值,上述确定运动补偿预估值可采用现有的技术手段,这里不再赘述。
步骤S106,通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
利用上述步骤确定的运动补偿预估值,对获取的待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。具体实施时可采用现有技术,本实施例不再详述。
本发明实施例提供的基于三角预测的视频编解码方法,利用常规预测模式下的常规合并列表中的运动矢量,构建第一合并列表,利用第一合并列表中的运动矢量构建用于三角预测模式的单向预测合并列表,无需增加三角预测中额外的逻辑规则,简化了三角预测模式下进行运动补偿的过程,解决了目前基于三角预测的视频编解码方法存在的运算复杂、实施成本高的问题。
实施例2
本发明实施例提供一种基于三角预测的视频解码方法,应用于解码端,如图3所示,包括:
步骤S301,在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
接收解码端发送的已编码视频流,在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU。图像划分结构将输入的当前视频图像帧分为称为编码树单元CTU的块,使用具有嵌套多类型树结构的四叉树将一个编码树单元CTU划分成编码单元CU,该编码单元CU具有定义共享相同预测模式的区域的叶子编码单元,所述相同预测模式的区域可以是帧内或帧间等。每个CU包含一个或多个预测单元PU和变换单元树。
在本申请实施例中,术语“单元(unit)”定义了覆盖所有分量的图像的区域,具体例如亮度分量或色度分量等。
步骤S302,确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
VVC中在三角预测模式下,CU可以被划分成两个三角形状预测单元。通过为每个预测单元PU推导出运动向量,并相应地执行运动补偿。
作为一种可选的实施方式,在对角线方向或者逆对角线方向上将CU划分成两个三角形预测单元。具体实施时可采用与上述编码端相同的方法,这里不在重述。CU中的每个三角形预测单元是使用其自身的单向预测运动矢量(Uni-prediction Motion Vector)和参考帧索引来进行帧间预测的,该单向预测运动矢量和参考帧索引是从单向预测候选列表中推导出的。图2a和图2b中所示的CU形状为正方形,具体实施时,三角预测模式也可以应用于非正方形(即矩形)形状的CU。
步骤S303,获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
在常规合并预测模式下构建运动矢量候选列表,得到常规合并列表,具体实施时采用与上述解码端相同的方法,这里不再重述。
获取上述用于常规预测模式的常规合并列表,根据该常规合并列表中的运动矢量构建第一合并列表,即,从该常规合并列表中选择运动矢量构建第一合并列表,根据第一合并列表构建用于三角预测模式的单向预测合并列表,即,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。具体实施时采用与上述解码端相同的方法,这里不再重述。
在本申请实施例中,实施方法被描述为从第一合并列表中选择运动矢量到单向预测合并列表中。然而,在实践中,可以以不同的方式实现该方法,无论是否物理形成单向预测合并列表。例如,可以直接使用第一合并列表,而无需物理上创建单向预测合并列表。或者,可以基于特定顺序简单地索引第一合并列表中每个运动矢量的前向预测或后向预测的运动矢量,并直接从第一合并列表中访问运动矢量。这种情况下,索引顺序遵循以上实施方式中描述的相同选择顺序。
步骤S304,利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
根据编码端的指示,从所述单向预测合并列表中选择各三角形预测分区参考的单向预测运动矢量,利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值。
上述根据常规预测合并列表构建第一合并列表,根据第一合并列表构建单向预测合并列表后,在三角预测模式下利用该单向预测合并列表进行运动补偿。
在接收到编码端发送的指示时,根据编码端指示的各三角形分区参考的单向预测运动矢量的合并索引值,从上述得到的单向预测合并列表中选择各三角形分区对应的参考的单向预测运动矢量,利用各三角形预测分区自身的单向预测运动矢量及参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值。
具体的,基于各三角形预测分区自身的单向预测运动矢量及参考的单向预测运动矢量推导出预测变量,根据推导出的预测变量进行运动补偿,其中每个三角PU推导出的预测变量的覆盖区域比实际的三角PU区域更大,因此,沿这两个PU的共享对角线边缘存在这两个预测变量的重叠区域。对两个三角PU的重叠区域的预测变量执行自适应加权处理,目前使用预设的两组加权因子,加权因子组的选择基于两个三角预测单元的预测变量的比较。具体地,当两个三角预测单元的参考图像彼此不同或者其预测变量差大于16个像素时,使用第二加权因子组。否则,将使用第一加权因子组。根据得到的预测变量,然后将变换和量化过程应用于整个CU,最终得到CU的运动补偿预估值,上述确定运动补偿预估值可采用现有的技术手段,这里不再赘述。
本发明实施例提供的基于三角预测的视频编解码方法,利用常规预测模式下的常规合并列表中的运动矢量,构建第一合并列表,利用第一合并列表中的运动矢量构建用于三角预测模式的单向预测合并列表,无需增加三角预测中额外的逻辑规则,简化了三角预测模式下进行运动补偿的过程,解决了目前基于三角预测的视频编解码方法存在运算复杂、实施成本高的问题。
步骤S305,通过所述运动补偿预估值,对所述已编码视频流进行解码。
利用上述步骤确定的运动补偿预估值,对所述已编码视频流进行解码,具体实施时可采用现有技术,本实施例不再详述。
实施例3
上述实施例1和实施例2提供的方法中,从第一合并列表中选择运动矢量构建单向预测合并列表时,编码端和解码端采用相同的方法。具体的,可采用如下任一种方式从第一合并列表中选择运动矢量添加到单向预测合并列表:
方式一,先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
具体的,先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,确定所述第一合并列表中后向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。保证了前向预测的运动矢量和后向预测的运动矢量在单向预测合并列表中分别集中分布,且前向预测的运动矢量的位置比后向预测的运动矢量的位置靠前,索引值较小。
方式二,先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
具体的,根据第一合并列表中运动矢量的索引顺序,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表。
在将第一合并列表中运动矢量全部加入单向预测合并列表,且单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量添加到单向预测合并列表至运动矢量个数达到预设值。
上述方法保证了第一合并列表中前向预测的运动矢量和后向预测的运动矢量以交叉的方式添加到单向预测合并列表中,从而得到前向预测的运动矢量和后向预测的运动矢量均匀分布的单向预测合并列表。
方式三,先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
其中,在选择双向预测运动矢量时,先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表。保证了第一合并列表中单向预测运动矢量与双向预测运动矢量在单向预测合并列表中分别集中分布,而双向预测运动矢量中的前向预测的运动矢量和后向预测的运动矢量以交叉的方式添加到单向预测合并列表中,实现双向预测运动矢量中的前向预测的运动矢量和后向预测的运动矢量的均匀分布。
具体的,先从第一合并列表中选择单向预测运动矢量,添加到单向预测合并列表至运动矢量个数达到预设值;在第一合并列表中的单向预测运动矢量全部被选择,且单向预测合并列表中运动矢量个数未达到预设值时,对于第一合并列表中的每个双向预测运动矢量,首先将其前向预测的运动矢量,添加到单向预测合并列表,再将其后向预测的运动矢量,添加到单向预测合并列表,至运动矢量个数达到预设值;在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表至运动矢量个数达到预设值。
上述在根据第一合并列表构建用于三角预测的单向预测合并列表时,由于第一合并列表中的运动矢量可能全部为单向预测运动矢量,或者可能全部为双向预测运动矢量,或者既有单向预测运动矢量又有双向预测运动矢量。而用于三角预测模式的单向预测的合并列表中的运动矢量为单向预测运动矢量,因此,本实施例在从第一合并列表中选择运动矢量添加到单向预测合并列表中时,对第一合并列表中的单向预测运动矢量和双向预测运动矢量进行区分,并将双向预测运动矢量根据矢量方向分为前向预测的运动矢量和后向预测的运动矢量,在添加时选择其中的全部或部分运动矢量,从而可以从第一合并列表中灵活选择运动矢量构建单向预测合并列表,使常规预测模式下得到的常规合并列表在三角预测模式下得到良好应用,避免了增加额外的确定第一合并列表的逻辑,减少了编码器进而解码器的运算量。
以下给出从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表的几种可选的实施方式:
1)首先对第一合并列表中所有的前向预测的运动矢量进行运动矢量比较过程后添加到单向预测合并列表中,当在该过程之后单向预测合并列表中运动矢量个数未达到预设值(当前VVC中为5)时,对第一合并列表中所有的后向预测的运动矢量进行运动矢量比较过程后添加到单向预测合并列表中,并且当在该过程之后单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
2)根据第一合并列表中运动矢量的索引顺序,确定选择的运动矢量为单向预测运动矢量时,对该单向预测运动矢量进行运动矢量比较过程后添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则继续添加;确定选择的运动矢量为双向预测运动矢量时,先对该双向预测运动矢量中的前向预测的运动矢量,进行运动矢量比较过程后,添加到单向预测合并列表,再对该双向预测运动矢量中的后向预测的运动矢量,进行运动矢量比较过程后添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则继续添加;当第一合并列表中选择的运动矢量全部被添加到单向预测合并列表,且单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
3)首先将第一合并列表中所有的单向预测运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则根据第一合并列表中运动矢量的索引顺序,先对第一合并列表中双向预测运动矢量中的前向预测的运动矢量,进行运动矢量比较过程后,添加到单向预测合并列表,再对该双向预测运动矢量中的后向预测的运动矢量,进行运动矢量比较过程后添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
除上述提供实施方式外,在从第一合并列表中选择运动矢量添加到单向预测合并列表还可以采用其他可选的组合方式,本实施例不再详述。
实施例4
上述实施例1和实施例2提供的方法中,从第一合并列表中选择运动矢量构建单向预测合并列表时,编码端和解码端采用相同的方法。具体的,根据当前图像帧是否使用后向预测,以自适应的方式构建用于三角预测模式的单向预测合并列表。
当所有参考图像帧的POC不大于当前图像帧的POC值时,表示当前图像帧不使用后向预测。
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
本实施例中根据当前视频图像帧是否使用后向预测选择不同的运动矢量选择方式从第一合并列表中选择运动矢量,添加到单向预测合并列表,能够根据不同预测情况选择更准确的、更具代表性的运动矢量,从而在进行运动补偿时得到更好的补偿效果。
确定当前视频图像帧不使用后向预测时,可采用如下任一种方式从第一合并列表中选择运动矢量添加到单向预测合并列表:
方式一,先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到单向预测合并列表至运动矢量个数达到预设值。
其中,从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量时,可以先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到单向预测合并列表,或者先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表。保证了第一合并列表中前向预测的运动矢量与后向预测的运动矢量在单向预测合并列表中分别集中分布。
方式二,先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
具体的,先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,再将零运动矢量添加到所述单向预测合并列表至运动矢量个数达到预设值;或者,先从第一合并列表中选择后向预测的运动矢量,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,再将零运动矢量添加到所述单向预测合并列表至运动矢量个数达到预设值。能够得到仅包括前向预测的运动矢量或仅包括后向预测的运动矢量的单向预测合并列表。
方式三,根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
确定当前视频图像帧使用后向预测时,先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。能够得到仅包括前向预测的运动矢量的单向预测合并列表。
确定当前视频图像帧使用后向预测时,先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
具体的,根据第一合并列表中运动矢量的索引顺序,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表。在将第一合并列表中运动矢量全部加入单向预测合并列表,且单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量添加到单向预测合并列表至运动矢量个数达到预设值。保证了第一合并列表中前向预测的运动矢量与后向预测的运动矢量在单向预测合并列表中分别集中分布。
进一步的,在根据第一合并列表中运动矢量的索引顺序,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表后,将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表。在将第一合并列表中运动矢量全部加入单向预测合并列表,且单向预测合并列表中运动矢量个数未达到预设值时,将零运动矢量添加到单向预测合并列表至运动矢量个数达到预设值。
上述实施例中的预设值在当前VVC中可设置为5。
上述方法保证了在第一合并列表中的运动矢量为单向预测运动矢量时,第一合并列表中的每个运动矢量(无论是单向预测运动矢量还是双向预测运动矢量)都可以提供两个单向预测运动矢量添加到单向预测合并列表中作为单向预测合并候选。
以下给出根据当前图像帧是否使用后向预测,从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表的几种可选的实施方式:
1)在当前图像帧不使用后向预测时,首先对第一合并列表中前向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,然后对第一合并列表中后向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表中至运动矢量个数达到预设值,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。在当前图像帧使用后向预测时,根据第一合并列表中运动矢量的索引顺序,对第一合并列表中的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,其中,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表,即,依次为:第一合并列表中第一运动矢量的前向预测的运动矢量,第一运动矢量的后向预测的运动矢量,第二运动矢量的前向预测的运动矢量,第二运动矢量的后向预测的运动矢量,以此类推。在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
2)在当前图像帧不使用后向预测时,首先对第一合并列表中后向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,然后对第一合并列表中前向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表中至运动矢量个数达到预设值,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。在当前图像帧使用后向预测时,采用与上述实施方式1)相同的方法从第一合并列表中选择运动矢量添加到单向预测合并列表。
3)在当前图像帧不使用后向预测时,对第一合并列表中前向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。在当前图像帧使用后向预测时,采用与上述实施方式1)相同的方法从第一合并列表中选择运动矢量添加到单向预测合并列表。
4)在当前图像帧不使用后向预测时,对第一合并列表中后向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。在当前图像帧使用后向预测时,采用与上述实施方式1)相同的方法从第一合并列表中选择运动矢量添加到单向预测合并列表。
5)在当前图像帧不使用后向预测时,根据第一合并列表中运动矢量的索引顺序,对第一合并列表中前向预测的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,即,将第一合并列表中前向预测的运动矢量添加到单向预测合并列表,并根据其在第一合并列表中的相同索引顺序进行索引。在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。在当前图像帧使用后向预测时,根据第一合并列表中运动矢量的索引顺序,对第一合并列表中的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,其中,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表,并在之后添加一个方向与之相反零运动矢量到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
6)在当前图像帧不使用后向预测时,采用与上述实施方式5)相同的方法从第一合并列表中选择运动矢量添加到单向预测合并列表。在当前图像帧使用后向预测时,根据第一合并列表中运动矢量的索引顺序,对第一合并列表中的运动矢量进行运动矢量比较过程后,添加到单向预测合并列表,其中,确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到单向预测合并列表,并将该运动矢量进行特定偏移后再添加到单向预测合并列表;确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到单向预测合并列表,在该过程之后若单向预测合并列表中运动矢量个数未达到预设值,则将零运动矢量添加到单向预测合并列表中至运动矢量个数未达到预设值。
除上述提供实施方式外,在从第一合并列表中选择运动矢量添加到单向预测合并列表还可以采用其他可选的组合方式,本实施例不再详述。
实施例5
以上对本发明中一种基于三角预测的视频编解码方法进行说明,以下对执行上述基于三角预测的视频编解码设备进行说明。
请参阅图4,本发明实施例提供一种基于三角预测的视频解码设备,应用于解码端,包括:
编码单元确定模块401,用于在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角分区模块402,确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块403,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
运动补偿模块404,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
解码模块405,用于通过所述运动补偿预估值,对所述已编码视频流进行解码。
可选地,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述合并列表构建模块构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
请参阅图5,本发明实施例提供一种基于三角预测的视频编码设备,应用于编码端,包括:
编码单元确定模块501,用于在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角预测分区模块502,用于确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块503,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
指示模块504,用于从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
运动补偿模块505,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
编码模块506,用于通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
可选地,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述合并列表构建模块构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
上面从模块化功能实体的角度对本申请实施例中的基于三角预测的视频编解码设备进行了描述,下面从硬件处理的角度对本申请实施例中的基于三角预测的视频编解码设备进行描述。
请参阅图6,本申请实施例中基于三角预测的视频解码设备的另一个实施例包括:
处理器601、存储器602、收发器609以及总线系统611;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述已编码视频流进行解码。
图6是本发明实施例提供的一种基于三角预测的视频解码设备的结构示意图,应用于解码端,该设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(英文全称:central processing units,英文简称:CPU)601(例如,一个或一个以上处理器)和存储器602,一个或一个以上存储应用程序604或数据606的存储介质603(例如一个或一个以上海量存储设备)。其中,存储器602和存储介质603可以是短暂存储或持久存储。存储在存储介质603的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理器601可以设置为与存储介质603通信,在设备600上执行存储介质603中的一系列指令操作。
设备600还可以包括一个或一个以上电源610,一个或一个以上有线或无线网络接口607,一个或一个以上输入输出接口608,和/或,一个或一个以上操作系统605,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
可选地,所述处理器从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述处理器构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述处理器从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述处理器采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述处理器将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
请参阅图7,本申请实施例中基于三角预测的视频编码设备的另一个实施例包括:
处理器701、存储器702、收发器709以及总线系统711;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
图7是本发明实施例提供的一种基于三角预测的视频编码设备的结构示意图,应用于编码端,该设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(英文全称:central processing units,英文简称:CPU)701(例如,一个或一个以上处理器)和存储器702,一个或一个以上存储应用程序704或数据706的存储介质703(例如一个或一个以上海量存储设备)。其中,存储器702和存储介质703可以是短暂存储或持久存储。存储在存储介质703的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理器701可以设置为与存储介质703通信,在设备700上执行存储介质703中的一系列指令操作。
设备700还可以包括一个或一个以上电源710,一个或一个以上有线或无线网络接口707,一个或一个以上输入输出接口708,和/或,一个或一个以上操作系统705,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
可选地,所述处理器从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。可选地,所述处理器构建的所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
可选地,所述处理器从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
可选地,所述处理器采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
可选地,所述处理器先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
可选地,所述处理器将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
可选地,所述处理器将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述实施例提供的应用于解码端的基于三角预测的视频编解码方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (59)

1.一种基于三角预测的视频解码方法,其特征在于,包括:
在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述已编码视频流进行解码。
2.根据权利要求1所述的方法,其特征在于,所述从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
3.根据权利要求2所述的方法,其特征在于,所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
4.根据权利要求3所述的方法,其特征在于,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
5.根据权利要求4所述的方法,其特征在于,所述先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
6.根据权利要求4所述的方法,其特征在于,所述从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
7.根据权利要求3所述的方法,其特征在于,所述从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
8.根据权利要求7所述的方法,其特征在于,所述采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
9.根据权利要求7所述的方法,其特征在于,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
10.根据权利要求8所述的方法,其特征在于,所述先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
11.根据权利要求4或9所述的方法,其特征在于,所述根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
12.根据权利要求9所述的方法,其特征在于,所述根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
13.根据权利要求4-12任一所述的方法,其特征在于,将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
14.根据权利要求13所述的方法,其特征在于,所述将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
15.一种基于三角预测的视频编码方法,其特征在于,包括:
在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
16.根据权利要求15所述的方法,其特征在于,所述从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
17.根据权利要求16所述的方法,其特征在于,所述第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
18.根据权利要求17所述的方法,其特征在于,所述从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
19.根据权利要求18所述的方法,其特征在于,所述先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
20.根据权利要求18所述的方法,其特征在于,所述从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
21.根据权利要求18所述的方法,其特征在于,所述从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
22.根据权利要求21所述的方法,其特征在于,所述采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
23.根据权利要求21所述的方法,其特征在于,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
24.根据权利要求22所述的方法,其特征在于,所述先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
25.根据权利要求18或23所述的方法,其特征在于,所述根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
26.根据权利要求23所述的方法,其特征在于,所述根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
27.根据权利要求18-26任一所述的方法,其特征在于,将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
28.根据权利要求27所述的方法,其特征在于,将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
29.一种基于三角预测的视频解码设备,其特征在于,包括:
编码单元确定模块,用于在接收到的已编码视频流中提取待解码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角分区模块,确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
运动补偿模块,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
解码模块,用于通过所述运动补偿预估值,对所述已编码视频流进行解码。
30.根据权利要求29所述的设备,其特征在于,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
31.根据权利要求30所述的设备,其特征在于,所述合并列表构建模块构建的第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
32.根据权利要求31所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
33.根据权利要求32所述的设备,其特征在于,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
34.根据权利要求32所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
35.根据权利要求31所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
36.根据权利要求35所述的设备,其特征在于,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
37.根据权利要求35所述的设备,其特征在于,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
38.根据权利要求36所述的设备,其特征在于,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
39.根据权利要求32或37所述的设备,其特征在于,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
40.根据权利要求37所述的设备,其特征在于,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
41.根据权利要求32-40任一所述的设备,其特征在于,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
42.根据权利要求41所述的设备,其特征在于,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
43.一种基于三角预测的视频编码设备,其特征在于,包括:
编码单元确定模块,用于在获取到的待编码视频流中提取待编码视频图像帧,所述视频图像帧中包含至少一个编码单元CU;
三角预测分区模块,用于确定对所述CU采用三角预测模式预测运动矢量时,将所述CU划分为至少一个三角形预测分区,并确定每个三角形预测分区自身的单向预测运动矢量;
合并列表构建模块,用于获取用于常规合并预测模式的常规合并列表,从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
指示模块,用于从所述单向预测合并列表中选择各三角形分区参考的单向预测运动矢量,并将各三角形分区参考的单向预测运动矢量的合并索引值指示给解码端;
运动补偿模块,用于利用各三角形预测分区自身的单向预测运动矢量及从所述单向预测合并列表中选择的各三角形预测分区参考的单向预测运动矢量进行运动补偿,得到运动补偿预估值;
编码模块,用于通过所述运动补偿预估值,对所述待编码视频流进行编码,得到已编码视频流,并将所述已编码视频流发送到解码端。
44.根据权利要求43所述的设备,其特征在于,所述合并列表构建模块从所述常规合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
从所述常规合并列表中选择全部或部分运动矢量构建第一合并列表,从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
45.根据权利要求44所述的设备,其特征在于,所述合并列表构建模块构建的第一合并列表中的运动矢量包括单向预测运动矢量或双向预测运动矢量,所述单向预测运动矢量为前向预测的运动矢量或后向预测的运动矢量,所述双向预测运动矢量包括前向预测的运动矢量和后向预测的运动矢量。
46.根据权利要求45所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择单向预测运动矢量,再从第一合并列表中选择双向预测运动矢量,最后将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
47.根据权利要求46所述的设备,其特征在于,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,添加到单向预测合并列表,确定所述第一合并列表中前向预测的运动矢量全部被选择,且所述单向预测合并列表中运动矢量个数未达到预设值时,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表。
48.根据权利要求46所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择双向预测运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择双向预测运动矢量中的前向预测的运动矢量,再从第一合并列表中选择双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
49.根据权利要求45所述的设备,其特征在于,所述合并列表构建模块从第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
确定当前视频图像帧不使用后向预测时,采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表;
确定当前视频图像帧使用后向预测时,采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表。
50.根据权利要求49所述的设备,其特征在于,所述合并列表构建模块采用第一运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
先从第一合并列表中选择前向预测的运动矢量或后向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值;或者
根据第一合并列表中运动矢量的索引顺序,先将第一合并列表中前向预测的运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
51.根据权利要求49所述的设备,其特征在于,所述合并列表构建模块采用第二运动矢量选择方式从所述第一合并列表中选择运动矢量,构建用于三角预测模式的单向预测合并列表,包括:
先从第一合并列表中,根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,再将零运动矢量,添加到所述单向预测合并列表至运动矢量个数达到预设值。
52.根据权利要求50所述的设备,其特征在于,所述合并列表构建模块先从第一合并列表中选择前向预测的运动矢量和后向预测的运动矢量,添加到所述单向预测合并列表,包括:
先从第一合并列表中选择前向预测的运动矢量,再从第一合并列表中选择后向预测的运动矢量,添加到所述单向预测合并列表;或者
先从第一合并列表中选择后向预测的运动矢量,再从第一合并列表中选择前向预测的运动矢量,添加到所述单向预测合并列表。
53.根据权利要求46或51所述的设备,其特征在于,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
54.根据权利要求51所述的设备,其特征在于,所述合并列表构建模块根据第一合并列表中运动矢量的索引顺序依次选择运动矢量,添加到所述单向预测合并列表,包括:
确定选择的运动矢量为单向预测运动矢量时,将该单向预测运动矢量添加到所述单向预测合并列表,并将一个方向相反的零运动矢量,或者将该单向预测运动矢量进行指定运动偏移后,添加到所述单向预测合并列表;
确定选择的运动矢量为双向预测运动矢量时,先将该双向预测运动矢量中的前向预测的运动矢量,添加到所述单向预测合并列表,再将该双向预测运动矢量中的后向预测的运动矢量,添加到所述单向预测合并列表。
55.根据权利要求46-54任一所述的设备,其特征在于,所述合并列表构建模块将选择的运动矢量添加到所述单向预测合并列表中时,还包括:
将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比,确定均不同时,将选择的运动矢量添加到所述单向预测合并列表。
56.根据权利要求55所述的设备,其特征在于,所述合并列表构建模块将选择的运动矢量与所述单向预测合并列表中的运动向量进行对比,包括:
确定当前视频图像帧不使用后向预测时,将选择的运动矢量与所述单向预测合并列表中的运动矢量进行对比。
57.一种基于三角预测的视频解码设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如权利要求1~14任一所述方法的步骤。
58.一种基于三角预测的视频编码设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,实现如权利要求15~28任一所述方法的步骤。
59.一种计算机程序介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~14任一所述方法的步骤,或者实现如权利要求15~28任一所述方法的步骤。
CN202010055585.2A 2019-01-17 2020-01-17 一种基于三角预测的视频编解码方法及设备 Active CN111246216B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962793832P 2019-01-17 2019-01-17
US62/793,832 2019-01-17

Publications (2)

Publication Number Publication Date
CN111246216A CN111246216A (zh) 2020-06-05
CN111246216B true CN111246216B (zh) 2022-05-06

Family

ID=70871254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010055585.2A Active CN111246216B (zh) 2019-01-17 2020-01-17 一种基于三角预测的视频编解码方法及设备

Country Status (1)

Country Link
CN (1) CN111246216B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223528A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 一种参考运动矢量获得方法
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
CN109076236A (zh) * 2016-05-13 2018-12-21 高通股份有限公司 用于视频译码的运动矢量预测的合并候选项
CN109155847A (zh) * 2016-03-24 2019-01-04 英迪股份有限公司 用于编码/解码视频信号的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150215631A1 (en) * 2014-01-23 2015-07-30 Broadcom Corporation Parallel Coding with Overlapped Tiles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223528A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 一种参考运动矢量获得方法
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
CN109155847A (zh) * 2016-03-24 2019-01-04 英迪股份有限公司 用于编码/解码视频信号的方法和装置
CN109076236A (zh) * 2016-05-13 2018-12-21 高通股份有限公司 用于视频译码的运动矢量预测的合并候选项

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3);J. Chen;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3–12 Oct. 2018》;20181224;第1-56页 *
Non-CE10: Triangle prediction merge list construction;Xianglin Wang;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9–18 Jan. 2019》;20190111;第1-4页 *

Also Published As

Publication number Publication date
CN111246216A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
US11831902B2 (en) Picture prediction method and picture prediction apparatus
CN114286101B (zh) 一种视频编解码方法及设备
US10812821B2 (en) Video encoding and decoding
EP3566447B1 (en) Method and apparatus for encoding and decoding motion information
CN111010578B (zh) 一种帧内帧间联合预测的方法、装置以及存储介质
CN117499639A (zh) 图像编码/解码方法和用于发送图像信息的数据的方法
CN111527750A (zh) 用于视频编码和解码中的自适应照明补偿的方法和装置
CN110753222B (zh) 视频编码方法和确定采用帧间编码方式的方法及设备
CN111246216B (zh) 一种基于三角预测的视频编解码方法及设备
CN110602493B (zh) 一种仿射运动补偿的交织预测的方法及设备
CN117813816A (zh) 用于解码器侧帧内模式推导的方法和设备
CN110740330B (zh) 一种子块运动候选的冗余校验的方法及设备
CN113498609B (zh) 用于视频编解码的依赖图片分辨率的配置
CN111010572A (zh) 一种视频编码方法和装置及设备
WO2023034629A1 (en) Intra prediction modes signaling
CN117730531A (zh) 用于解码器侧帧内模式推导的方法和设备
CN111988627A (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
GR01 Patent grant
GR01 Patent grant