CN117939147A - 视频编解码装置 - Google Patents

视频编解码装置 Download PDF

Info

Publication number
CN117939147A
CN117939147A CN202410339715.3A CN202410339715A CN117939147A CN 117939147 A CN117939147 A CN 117939147A CN 202410339715 A CN202410339715 A CN 202410339715A CN 117939147 A CN117939147 A CN 117939147A
Authority
CN
China
Prior art keywords
precision
mode
cross
compensation
motion
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.)
Granted
Application number
CN202410339715.3A
Other languages
English (en)
Other versions
CN117939147B (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.)
Zhongxing Micro Technology Co ltd
Beijing Vimicro Artificial Intelligence Chip Technology Co ltd
Vimicro Corp
Original Assignee
Zhongxing Micro Technology Co ltd
Beijing Vimicro Artificial Intelligence Chip Technology Co ltd
Vimicro Corp
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 Zhongxing Micro Technology Co ltd, Beijing Vimicro Artificial Intelligence Chip Technology Co ltd, Vimicro Corp filed Critical Zhongxing Micro Technology Co ltd
Priority to CN202410339715.3A priority Critical patent/CN117939147B/zh
Publication of CN117939147A publication Critical patent/CN117939147A/zh
Application granted granted Critical
Publication of CN117939147B publication Critical patent/CN117939147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了视频编解码装置。该装置的一具体实施方式包括:编码器被配置成:响应于跨精度运动补偿使能标志为1,且跨精度运动补偿模式包括升精度补偿模式,响应于确定跨精度支持模式包含第一模式,通过在特定运动矢量上叠加精度比特定运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;响应于确定跨精度支持模式包含第二模式,通过预测运动矢量上叠加精度比预测运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;根据精度提升等级,计算升精度运动矢量;根据升精度运动矢量,基于高精度插值滤波器系数表进行插值计算,得到升精度补偿数据。该实施方式可以在不同的精度下进行运动补偿。

Description

视频编解码装置
技术领域
本发明涉及视频编解码领域,具体涉及视频编解码装置。
背景技术
随着视频媒体的广泛应用,视频编解码技术也逐渐得到了广泛的关注和应用。视频编解码压缩技术已经广泛应用于互联网视频、移动视频、高清电视、视频监控等领域,为视频媒体的传输和存储提供了强有力的支持。目前,视频编解码技术向着更高效、更快速、更高质量的方向发展。
视频图像经过编码后传输,完整的视频编码通常包括预测、变换、量化、熵编码、滤波等过程。其中,预测过程可以包括帧内预测和帧间预测,帧间预测是指利用视频时间域的相关性,使用邻近已编码图像的像素预测当前像素,以达到有效去除视频时域冗余的目的。
由于在搜索算法中,运动补偿与运动矢量的精度一一对应,高精度运动补偿需要高精度的运动矢量。
存在两个问题,当运动矢量的精度提升时,描述运动矢量所需的码字也随之提升,减少了补偿精度提升带来的增益;为了获得更高精度的运动矢量,运动搜索的计算量也随之增加,硬件的实现代价上升。
考虑到以上两个问题,在当前的主流编码其中,如AVC,HEVC,VVC,AVS3,运动矢量的基本单位较多采用1/4样本单位,虽然在一些配置下,也可以实现1/16运动矢量精度,但常由于运算量庞大,使用难度较大。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本发明的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本发明提出了视频编解码装置,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本发明提供了一种视频编解码装置,该装置包括:编码器与宏块级编码单元,上述编码器中加入了跨精度运动补偿使能标志,其特征在于,上述编码器被配置成:响应于确定跨精度运动补偿使能标志为1,确定跨精度支持模式;响应于确定跨精度支持模式包含第一模式,支持采用与其他特定编码算法工具融合编码方式;响应于确定跨精度支持模式包含第二模式,支持采用独立跨精度编码方式;响应于确定跨精度运动补偿使能标志为1,确定精度索引值对应的跨精度运动补偿模式,其中,上述跨精度运动补偿模式包括:第一补偿模式、第二补偿模式、第三补偿模式、第四补偿模式;上述宏块级编码单元被配置成:响应于跨精度运动补偿使能标志为1,且上述跨精度运动补偿模式包括升精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过在特定运动矢量上叠加精度比特定运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;响应于确定跨精度支持模式包含第二模式,通过预测运动矢量上叠加精度比预测运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;获取高精度插值滤波器系数表;根据精度提升等级,计算升精度运动矢量;根据上述升精度运动矢量,基于上述高精度插值滤波器系数表进行插值计算,得到升精度补偿数据。
可选地,上述视频编解码装置还包括:解码器。
可选地,上述解码器被配置成:在解析图像序列集时,解析跨精度运动补偿使能标志;响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式包含第一模式,采用与其他特定编码算法工具融合模式解码;响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式包含第二模式,采用独立模式解码。
可选地,上述宏块级编码单元还被配置成:响应于跨精度运动补偿使能标志为1,且上述跨精度运动补偿模式包括降精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过对特定运动矢量上基于若干个降低的精度等级进行四舍五入计算,获得若干个新运动矢量;响应于确定跨精度支持模式包含第二模式,通过对预测运动矢量上基于若干个降低的精度等级进行四舍五入,获得若干个新运动矢量。根据上述新运动矢量,基于原有插值滤波器系数表进行插值计算,得到降精度补偿数据。。
可选地,上述宏块级编码单元还被配置成:响应上述其他特定编码算法工具为高级运动向量表达,特定运动矢量对应于高级运动向量表达中的基础运动矢量,在高级运动向量表达的步长索引中,增加预设数目个步长为0的索引,其它索引值往后推移预设数目;对于高级运动向量表达的步长为0的矢量,再通过角度索引,扩展出若干个跨精度矢量;将跨精度运动矢量与步长不为0时对应的矢量进行组合,进行率失真计算,其中,对于步长为0的矢量,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,并按照原高级运动向量表达的编码方式进行编码。
可选地,上述宏块级编码单元还被配置成:响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式为第二模式,获取运动矢量的预测值,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,如果对应的率失真值最小,则以独立的方式置位编码单元的跨精度预测模式,并以独立的方式编码当前的精度索引值。
本发明具有如下有益效果:通过本发明的视频编解码装置,在给定运动矢量的情形下,可以在不同的精度下进行运动补偿,特点是:运动补偿的精度与对应运动矢量的精度不同,包括精度的提升和下降两种情形,降低了运算量,提升了补偿精度。
附图说明
结合附图并参考以下具体实施方式,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本申请的视频编解码装置的一些实施例的装置架构图;
图2是根据本申请的视频编解码装置的一些实施例的关于1/4精度下的运动补偿算法的样本位置示意图;
图3是根据本申请的视频编解码装置的一些实施例的关于1/16精度预测亮度样本的位置示意图;
图4是根据本申请的视频编解码装置的一些实施例的关于1/16精度预测整像素样本和分像素样本的位置示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的视频编解码装置的一些实施例的系统架构图。示出了根据本发明的视频编解码装置包括:编码器101与宏块级编码单元102,上述编码器101中加入了跨精度运动补偿使能标志。视频编解码装置还包括:解码器103。
以下为本申请涉及的专业术语:
MV(Motion Vector),运动矢量。
MC(Motion Compensation),运动补偿,通常采用插值滤波算法实现。
MVP(Motion Vector Prediction),运动矢量的预测值。
MVD(Motion Vector Difference),运动矢量的差值。
运动矢量的精度(precision of Motion Vector),指运动矢量的基本单位是多少个整数样本。
运动补偿的精度(precision of Motion Compensation),插值滤波算法对应的最小精度。
跨精度运动补偿(Cross-Precision Motion Compensation,CPMC),一种在给定运动矢量的情形下,可以在不同的精度下进行运动补偿的方法。特点是:运动补偿的精度与对应运动矢量的精度不同,包括精度的提升和下降两种情形。例如,当运动矢量精度为1/4时,通过增加一些参数,对应的运动补偿精度可以是其它精度,例如,1/16,1/8,1/2,1,2。
微动矢量(micro-motion Vector,MMV)为在升精度运动补偿时增加的运动矢量。在编码时,将角度转换成索引参数。
跨精度运动矢量(cross-precision Motion Vector,CPMV),本发明提出的,与跨精度运动补偿对应的运动矢量,可以包括多个升精度运动矢量(up-precision MotionVector,UPMV)和降精度运动矢量(Down-precision Motion Vector,DPMV)。
其中,UPMV(i),其中i表示提升的精度等级,精度等级从低到高按照次序排列为…,8,4,2,1,1/2,1/4,1/8,1/16,1/32,…。
例如,当前的精度等级为1/4,UPMV(1)表示1/8精度等级。UPMV(2)表示1/16精度等级。
DPMV[i],表示有i个依次降低的精度等级,例如,当前的精度等级为1/4,DPMV[4]表示[1/2,1,2,4]四个精度等级。
在一些实施例中,上述编码器101被配置成:响应于确定跨精度运动补偿使能标志为1,确定跨精度支持模式;响应于确定跨精度支持模式包含第一模式,支持采用与其他特定编码算法工具融合编码方式;响应于确定跨精度支持模式包含第二模式,支持采用独立跨精度编码方式;响应于确定跨精度运动补偿使能标志为1,确定精度索引值对应的跨精度运动补偿模式。其中,上述跨精度运动补偿模式包括:第一补偿模式、第二补偿模式、第三补偿模式、第四补偿模式。其中,跨精度运动补偿使能标志可以用cpmc_en表示。cpmc也表示跨精度运动补偿。跨精度支持模式可以是指cpmc_type模式。第一模式表示其他特定编码算法工具融合编码方式(例如,UMVE融合编码方式)。第二模式表示采用独立跨精度编码方式。
需要说明的是,图像经过压缩处理后生成的码流,实质上是由一连串按照特定编码标准(例如AVC、HEVC或VVC)组织的语法元素的取值构成的。在已有的视频编码标准中引入新的语法元素,意味着对原有标准进行了修订和完善。这一过程在编码技术迭代更新时尤为常见,并且新添加的语法元素往往能够有效地提高编码压缩效率或增强其实用性,“cpmc_en”及后续拓展出的“cpmc_pmode”等语法元素,它们本质上都是新增编码语法结构的一部分。这些新增元素允许用户根据实际需求灵活配置编码器参数,以适应不同场景下的编码优化目标,进一步提升编码效果或满足特定应用场合的需求。
其中,cpmc_en是一个关键的全局配置参数,它用于指示编码器是否启用对CPMC的支持。当cpmc_en被设置为1时,表明随后的编码码流包含与CPMC相关的额外语法元素;而设为0时则表示不启用CPMC功能。
具体来说,cpmc_pmode 可用来设定CPMC跨精度运动补偿工具的具体工作模式,例如上文中提到的设置为0的含义,定义为仅启用UPMV(1)特性,这有助于在仅适用UPMV(1)的编码器环境中略微提高压缩效率。
作为示例,上述宏块级编码单元还被配置成:获取高精度插值滤波器系数表;根据精度提升等级,计算升精度运动矢量;根据上述升精度运动矢量,基于上述高精度插值滤波器系数表进行插值计算,得到升精度补偿数据。
第一步,获得更高精度的插值滤波器系数表。
其中,跨精度运动补偿计算的说明:以1/4精度下的运动补偿算法为例:
图2,给出了亮度样本矩阵中初始整数样本、1/2样本和1/4样本的位置,其中用大写字母标记的是整数样本位置,用小写字母标记的是1/2和1/4样本位置。这些样本位置与其在1/4精度的亮度样本矩阵中的坐标(fx,fy)的对应关系见表1,其中,xFracl等于fx&3,yFracl等于fy&3。表1,如下所示例:
样本位置a0,0,b0,0,及c0,0的预测值由水平方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
a0,0=Clip1((−A−3,0+4*A−2,0-10*A−1,0+58*A0,0+17*A1,0-5*A2,0+A3,0-A4,0+32)>>6);
b0,0=Clip1((-A−3,0+4*A−2,0-11*A−1,0+40*A0,0+40*A1,0-11*A2,0+4*A3,0-A4,0+32)>>6);
c0,0=Clip1((-A−3,0+A−2,0-5*A−1,0+17*A0,0+58*A1,0-10*A2,0+4*A3,0-A4,0+32)>>6)。
样本位置d0,0,h0,0,及n0,0的预测值由垂直方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
d0,0=Clip1((-A0,−3+4*A0,−2-10*A0,−1+58*A0,0+17*A0,1-5*A0,2+A0,3-A0,4+32)>>6);
h0,0=Clip1((-A0,-3+4*A0,-2-11*A0,-1+40*A0,0+40*A0,1-11*A0,2+4*A0,3-A0,4+32)>>6);
n0,0= Clip1((-A0,-3+A0,-2-5*A0,-1+17*A0,0+58*A0,1-10*A0,2+4*A0,3−A0,4+32)>>6)。
其中,Clip1(n)=(((n)>(2BitDepth-1))?(2BitDepth-1):(((n)<(0))?(0):(n)))。BitDepth是编码样本精度,取值为8或者10。
样本位置e0,0,i0,0,p0,0,f0,0,j0,0,q0,0,g0,0,k0,0及r0,0的预测值获取方式如下:
e0,0=Clip1((-a'0,-3+4*a'0,-2-10*a'0,-1+58*a'0,0+17*a'0,1-5*a'0,2+a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth));
i0,0=Clip1((-a'0,-3+4*a'0,-2-11*a'0,-1+40*a'0,0+40*a'0,1-11*a'0,2+4*a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth));
p0,0=Clip1((-a'0,-3+a'0,-2-5*a'0,-1+17*a'0,0+58*a'0,1-10*a'0,2+4*a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth));
f0,0=Clip1((-b'0,-3+4*b'0,-2-10*b'0,-1+58*b'0,0+17*b'0,1-5*b'0,2+b'0,3-b'0,4+(1<<19-BitDepth))>>(20-BitDepth));
j0,0=Clip1((-b'0,-3+4*b'0,-2-11*b'0,-1+40*b'0,0+40*b'0,1-11*b'0,2+4*b'0,3-b'0,4+(1<<19-BitDepth))>>(20-BitDepth));
q0,0=Clip1((-b'0,-3+b'0,-2-5*b'0,−1+17*b'0,0+58*b'0,1−10*b'0,2+4*b'0,3−b'0,4+(1<<19-BitDepth))>>(20-BitDepth));
g0,0=Clip1((-c'0,-3+4*c'0,-2-10*c'0,-1+58*c'0,0+17*c'0,1-5*c'0,2+c'0,3-c'0,4+(1<<19-BitDepth))>>(20-BitDepth));
k0,0=Clip1((-c'0,-3+4*c'0,-2-11*c'0,-1+40*c'0,0+40*c'0,1-11*c'0,2+4*c'0,3-c'0,4+ (1<<19-BitDepth))>>(20-BitDepth));
r0,0=Clip1((-c'0,-3+c'0,-2-5*c'0,-1+17*c'0,0+58*c'0,1-10*c'0,2+4*c'0,3-c'0,4+(1<<19-BitDepth))>>(20-BitDepth))。
其中:
a'0,i= (-A−3,i+4*A−2,i -10*A−1,i+58*A0,i+17*A1,i-5*A2,i+A3,i-A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8);
b'0,i=(-A−3,i+4*A−2,i-11*A−1,i+40*A0,i+40*A1,i−11*A2,i+4*A3,i−A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8);
c'0,i=(−A−3,i+A−2,i-5*A−1,i+17*A0,i+58*A1,i-10*A2,i+4*A3,i−A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8)。
那么滤波器系数只需要定义为下表2:
作为示例,以下为1/16精度的运动补偿的过程:
参考图像亮度样本矩阵中的样本位置见图3,A,B,C,D是相邻初始整像素样本,dx与dy是整像素样本A周边分像素样本a(dx,dy)与A的水平和垂直距离,dx等于fx&15,dy等于fy&15。其中,(fx,fy)是该分像素样本在1/16精度的亮度样本矩阵中的坐标。整像素Ax,y和周边的255个分像素样本ax,y(dx,dy)的具体位置见图4。
样本位置ax,0(x=1~15)由水平方向上距离插值点最近得8个整数值滤波得到,预测值的获取方式如下:
ax,0=Clip1((fL[x][0]*A−3,0+fL[x][1]*A−2,0+fL[x][2]*A−1,0+fL[x][3]*A0,0+fL[x][4]*A1,0+fL[x][5]*A2,0+fL[x][6]*A3,0+fL[x][7]*A4,0+32)>>6)。
样本位置a0,y(y=1~15)由垂直方向上距离插值点最近得8个整数值滤波得到,预测值的获取方式如下:
a0,y=Clip1((fL[y][0]*A0,−3+fL[y][1]*A0,−2+fL[y][2]*A0,−1+fL[y][3]*A0,0+fL[y][4]*A0,1+fL[y][5]*A0,2+fL[y][6]*A0,3+fL[y][7]*A0,4+32)>>6)。
样本位置ax,y(x=1~15,y=1~15)的预测值获取方式如下:
ax,y=Clip1((fL[y][0]*a'x,y-3+fL[y][1]*a'x,y-2+fL[y][2]*a'x,y-1+fL[y][3]*a'x,y+fL[y][4]*a'x,y+1+fL[y][5]*a'x,y+2+fL[y][6]*a'x,y+3+fL[y][7]*a'x,y+4+(1<<(19-BitDepth)))>>(20-BitDepth))。
其中:
a'x,y=(fL[x][0]*A−3,y+fL[x][1]*A−2,y+fL[x][2]*A−1,y+fL[x][3]*A0,y+fL[x][4]*A1,y+fL[x][5]*A2,y+fL[x][6]*A3,y+fL[x][7]*A4,y+((1<<(BitDepth-8))>>1))>>(BitDepth-8)。
插值滤波器系数见以下表3:
整像素点通过与不同的滤波器系数进行运算,可以插值得出不同矢量的预测像素值。
在1/16精度下,矢量的偏移精度为1/16,运动矢量对应了15组滤波器系数;在矢量的偏移精度为1/8时,运动矢量对应了7组滤波器系数;在矢量的偏移精度为1/4时,运动矢量对应了3组滤波器系数。
为了实现从低精度到高精度扩展,需要首先对插值滤波器进行扩展,对于一个编码器而言,例如:矢量的最高精度为1/4,那么滤波器系数只需要定义为表2。
为了实现高精度的插值滤波,那么需要对滤波器系数表进行扩展,如果用到了UPMC(1),那么精度提升1级至1/8,此时,也需要将插值滤波器系数扩展一级。例如下表4:
进一步,在CPMC中,如果用到了UPMC(2),那么精度提升2级至1/16,此时,需要将插值滤波器系数再扩展一级。例如表3。
为了实现更高精度的跨精度运动补偿,在编码算法的标准定义中,需要增加对应的高精度的滤波器系数的定义。
在融合模式或者独立实现的方式下,如果以升精度扩展的方式使用了高精度的运动补偿,则需要在编码规范中增加定义对应精度的插值滤波器系数表。
第二步、计算在高一级精度下的CPMV:
如果在融合模式中,运动矢量精度提升了1级,即UPMV(1)。那么新获得的高精度运动矢量表达为:CPMV=MVP*2+MMV。
如果在融合模式中,运动矢量精度提升了2级,即UPMV(2)。那么新获得的高精度运动矢量表达为:CPMV=MVP*4+MMV。
对于不同的索引值p,MMV分别为(1,0)、(0,-1)、(-1,0)、(0,1)、(1,-1)、(-1,1)、(-1,1)、(1,1)。
第三步、得到升精度补偿数据:具体为计算CPMC,即采用第二步获得的CPMV,使用第一步的插值滤波器系数表,进行插值计算。
在一些实施例中,上述宏块级编码单元还被配置成:响应于跨精度运动补偿使能标志为1,且上述跨精度运动补偿模式包括降精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过对特定运动矢量上基于若干个降低的精度等级进行四舍五入计算,获得若干个新运动矢量;响应于确定跨精度支持模式包含第二模式,通过对预测运动矢量上基于若干个降低的精度等级进行四舍五入,获得若干个新运动矢量。根据上述新运动矢量,基于原有插值滤波器系数表进行插值计算,得到降精度补偿数据。
需要说明的是:对于当前用户选定的不同的cpmc_pmode,可以对应不同的跨精度CPMC支持:
首先,对于选定的cpmc_pmode,遍历所有的索引p,可以得到跨精度补偿模式(UPMC或者DPMC)和索引i,然后计算得到CPMV。
具体的,当cpmc_pmode=0时,对应upmv(1),i=1;p为0~3,对应MMV角度取值为0~3。
cpmc_pmode=1时,p为0~3,对应upmv(2),i=2;对应MMV角度取值为0~3。p为4~7,对应upmv(1),i=1;对应MMV角度取值为0~3。
cpmc_pmode=2时,对应upmv(1),i=1;p为0~7,对应MMV角度取值为0~7。
cpmc_pmode=3时,对应upmv(1)和DPMV[4],p为0~3,对应UPMV的MMV角度取值0~3,p为4~7,对应DPMV[4]的四个精度。
其中,DPMV(i)=round(MVP,i)。
然后,获得UPMV升精度运动矢量的方法: MVP运动矢量的预测值加上微动矢量MMV;
其中,UPMV(i)=(MVP<<i)+MMV(angle)。
当angle 为0~3时,MMV分别为(1,0)、(0,-1)、(-1,0)、(0,1)。
当angle 为4~7时,MMV分别为(1,-1)、(-1,1)、(-1,1)、(1,1)。
在一些实施例中,上述宏块级编码单元被配置成:响应于跨精度运动补偿使能标志为1,且上述跨精度运动补偿模式包括升精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过在特定运动矢量上叠加精度比特定运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;响应于确定跨精度支持模式包含第二模式,通过预测运动矢量上叠加精度比预测运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;获取高精度插值滤波器系数表;根据精度提升等级,计算升精度运动矢量;根据上述升精度运动矢量,基于上述高精度插值滤波器系数表进行插值计算,得到升精度补偿数据。
在一些实施例中,上述宏块级编码单元还被配置成:响应上述其他特定编码算法工具为高级运动向量表达,特定运动矢量对应于高级运动向量表达中的基础运动矢量,在高级运动向量表达的步长索引中,增加预设数目个步长为0的索引,其它索引值往后推移预设数目;对于高级运动向量表达的步长为0的矢量,再通过角度索引,扩展出若干个跨精度矢量;将跨精度运动矢量与步长不为0时对应的矢量进行组合,进行率失真计算,其中,对于步长为0的矢量,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,并按照原高级运动向量表达的编码方式进行编码。
预设数目可以是1~2。
响应上述“其他特定编码算法工具”为其他算法工具时,例如affine等,则“特定运动矢量”对应该算法工具中某一个指定的运动矢量。
高级运动向量表达编码工具可以是指UMVE(Ultimate motion vectorexpression)编码工具。UMVE(高级运动向量表达)运动信息由三部分组成:BaseMV的Index、对BaseMV的偏移量(umve_step_idx)和对BaseMV运动矢量的偏移方向(umve_dir_idx)。
需要说明的是设定的方式可以是指升精度补偿数据与降精度补偿数据的计算方式。
增加预设数目个步长为0的索引,其它索引值往后推移预设数目,具体过程如下:
在UMVE(高级运动向量表达)的步长索引中,增加1~2个步长为0的索引,其它索引值往后推移1~2。即,如果原本的步长索引为下表:
当插入的候选索引数量是4,步长往右推移1,修改后的步长索引为下表:
当插入的候选索引数量是8,步长往右推移2,修改后的步长索引为下表:
对于高级运动向量表达的步长为0的矢量,再通过角度索引,扩展出若干个跨精度矢量,具体过程如下:
当步长为0时,再通过角度索引,扩展至四个或者八个更高精度矢量:
8个高精度矢量见下图示意,MVD用(x,y)表示,基本单位为运动矢量基本单位:
按照原高级运动向量表达的编码方式进行编码具体是指按照原UMVE(高级运动向量表达)的语法约定进行编码。
在一些实施例中,上述宏块级编码单元还被配置成:响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式为第二模式,获取运动矢量的预测值,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,如果对应的率失真值最小,则以独立的方式置位编码单元的跨精度预测模式,并以独立的方式编码当前的精度索引值。如果当前编码单元对应的率失真值最小,则置位编码单元的跨精度预测模式cpmc_mode=1;并编码当前精度索引值p。
在一些实施例中,上述解码器被配置成:在解析图像序列集时,解析跨精度运动补偿使能标志;响应于确定跨精度运动补偿使能标志为1,解析跨精度支持模式与跨精度运动补偿模式;响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式为第一模式,采用高级运动向量表达融合模式解码;响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式为第二模式,采用独立模式解码。
作为示例,如果cpmc_en=1,且cpmc_type=0,则解析UMVE语法时采用UMVE融合模式解码:在编码单元的解码过程中,依据cpmc_pmode,当步长0时,对于高精度样点的位置,分别计算在高一级精度下的CPMV,并进一步计算CPMC,将获得的高精度补偿数据作为预测像素。按照原UMVE的约定进行图像重建。
作为示例,如果cpmc_en=1,且cpmc_type=1,则采用独立模式解码:在编码单元的解码过程中,如果cpmc_mode为1,解析精度索引值p,依据cpmc_pmode,得到跨精度补偿模式(UPMC或者DPMC)和索引i。
如果p对应降精度运动补偿,则采用四舍五入,DPMV=round(MVP,p)。
如果p对应升精度运动补偿,依据p计算angle,确定MMV的角度,进一步得到UPMV(i)=(MVP<<i)+MMV(angle)。
依据CPMV计算CPMC,将获得的跨精度运动补偿数据作为预测像素,进行图像重建。
以上描述仅为本发明的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (5)

1.一种视频编解码装置,所述视频编解码装置包括:编码器与宏块级编码单元,所述编码器中加入了跨精度运动补偿使能标志,其特征在于,
所述编码器被配置成:
响应于确定跨精度运动补偿使能标志为1,确定跨精度支持模式;
响应于确定跨精度支持模式包含第一模式,支持采用与其他特定编码算法工具融合编码方式;
响应于确定跨精度支持模式包含第二模式,支持采用独立跨精度编码方式;
响应于确定跨精度运动补偿使能标志为1,确定精度索引值对应的跨精度运动补偿模式,其中,所述跨精度运动补偿模式包括:第一补偿模式、第二补偿模式、第三补偿模式、第四补偿模式;
所述宏块级编码单元被配置成:
响应于跨精度运动补偿使能标志为1,且所述跨精度运动补偿模式包括升精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过在特定运动矢量上叠加精度比特定运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;
响应于确定跨精度支持模式包含第二模式,通过预测运动矢量上叠加精度比预测运动矢量更高的若干个步长为1且方向不同的微动矢量,获得若干个高精度运动矢量;
获取高精度插值滤波器系数表;
根据精度提升等级,计算升精度运动矢量;
根据所述升精度运动矢量,基于所述高精度插值滤波器系数表进行插值计算,得到升精度补偿数据。
2.根据权利要求1所述的视频编解码装置,其特征在于,所述视频编解码装置还包括解码器;所述解码器被配置成:
在解析图像序列集时,解析跨精度运动补偿使能标志;
响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式包含第一模式,采用与其他特定编码算法工具融合模式解码;
响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式包含第二模式,采用独立模式解码。
3.根据权利要求1所述的视频编解码装置,其特征在于,所述宏块级编码单元还被配置成:
响应于跨精度运动补偿使能标志为1,且所述跨精度运动补偿模式包括降精度补偿模式,以及响应于确定跨精度支持模式包含第一模式,通过对特定运动矢量上基于若干个降低的精度等级进行四舍五入计算,获得若干个新运动矢量;
响应于确定跨精度支持模式包含第二模式,通过对预测运动矢量上基于若干个降低的精度等级进行四舍五入,获得若干个新运动矢量;
根据所述新运动矢量,基于原有插值滤波器系数表进行插值计算,得到降精度补偿数据。
4.根据权利要求1所述的视频编解码装置,其特征在于,所述宏块级编码单元还被配置成:
响应所述其他特定编码算法工具为高级运动向量表达,特定运动矢量对应于高级运动向量表达中的基础运动矢量,在高级运动向量表达的步长索引中,增加预设数目个步长为0的索引,其它索引值往后推移预设数目;
对于高级运动向量表达的步长为0的矢量,再通过角度索引,扩展出若干个跨精度矢量;
将跨精度运动矢量与步长不为0时对应的矢量进行组合,进行率失真计算,其中,对于步长为0的矢量,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,并按照原高级运动向量表达的编码方式进行编码。
5.根据权利要求3所述的视频编解码装置,其特征在于,所述宏块级编码单元还被配置成:
响应于确定跨精度运动补偿使能标志为1,且跨精度支持模式为第二模式,获取运动矢量的预测值,根据精度等级,按照设定的方式进行跨精度运动补偿,将获得的跨精度运动补偿作为预测像素,计算率失真,如果对应的率失真值最小,则以独立的方式置位编码单元的跨精度预测模式,并以独立的方式编码当前的精度索引值。
CN202410339715.3A 2024-03-25 2024-03-25 视频编解码装置 Active CN117939147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410339715.3A CN117939147B (zh) 2024-03-25 2024-03-25 视频编解码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410339715.3A CN117939147B (zh) 2024-03-25 2024-03-25 视频编解码装置

Publications (2)

Publication Number Publication Date
CN117939147A true CN117939147A (zh) 2024-04-26
CN117939147B CN117939147B (zh) 2024-05-28

Family

ID=90761290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410339715.3A Active CN117939147B (zh) 2024-03-25 2024-03-25 视频编解码装置

Country Status (1)

Country Link
CN (1) CN117939147B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206993A (zh) * 1997-07-28 1999-02-03 日本胜利株式会社 运动补偿编码器、解码器以及运动补偿编码和解码方法
CN101658044A (zh) * 2007-04-09 2010-02-24 诺基亚公司 以低编码器和解码器复杂度进行视频编码的高精度运动矢量
US20130136187A1 (en) * 2010-08-12 2013-05-30 Nippon Telegraph And Telephone Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and program thereof
CN112204973A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码的方法与装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206993A (zh) * 1997-07-28 1999-02-03 日本胜利株式会社 运动补偿编码器、解码器以及运动补偿编码和解码方法
CN101658044A (zh) * 2007-04-09 2010-02-24 诺基亚公司 以低编码器和解码器复杂度进行视频编码的高精度运动矢量
US20130136187A1 (en) * 2010-08-12 2013-05-30 Nippon Telegraph And Telephone Corporation Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and program thereof
CN112204973A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码的方法与装置

Also Published As

Publication number Publication date
CN117939147B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN110809887B (zh) 用于多参考预测的运动矢量修正的方法和装置
US11706440B2 (en) Video signal processing method and apparatus using adaptive motion vector resolution
KR102430225B1 (ko) 모션 벡터 정제를 위한 검색 영역
KR102642784B1 (ko) 모션 벡터 리파인먼트를 위한 제한된 메모리 액세스 윈도우
CN114845102B (zh) 光流修正的提前终止
KR20090094595A (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치
US11622126B2 (en) Image decoding method and apparatus based on affine motion prediction in image coding system
US20220053206A1 (en) Video signal processing method and apparatus using adaptive motion vector resolution
US20200077111A1 (en) Method and Apparatus of Motion-Vector Rounding Unification for Video Coding System
JP2018529270A (ja) 動きベクトル場の符号化方法、復号方法、符号化装置、および復号装置
JP2024038060A (ja) デコーダ側動きベクトル洗練のための誤差面ベースのサブピクセル精度の洗練方法
CN114009033A (zh) 用于用信号通知对称运动矢量差模式的方法和装置
CN115136597A (zh) 空域-时域运动矢量预测
US8073266B2 (en) Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, dynamic image decoding method, dynamic image encoding program, and dynamic image decoding program
JP4284265B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
KR20210094664A (ko) 비디오 인코딩/디코딩 시스템의 사이드 모션 정교화
CN117939147B (zh) 视频编解码装置
CN116980621A (zh) 编码器、解码器及相应的帧间预测方法
US20220312010A1 (en) Geometric Partitioning Refinement
US20190037223A1 (en) Method and Apparatus of Multiple Pass Video Processing Systems
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
CN116195253A (zh) 帧内块复制编解码中的块矢量处理
WO2023131047A1 (en) Method, apparatus, and medium for video processing
WO2024074149A1 (en) Method, apparatus, and medium for video processing
US20230388484A1 (en) Method and apparatus for asymmetric blending of predictions of partitioned pictures

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