一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编解码方法、装置、计算机可读介质及电子设备与流程

2022-08-30 23:55:14 来源:中国专利 TAG:


1.本技术涉及计算机及通信技术领域,具体而言,涉及一种视频编解码方法、装置、计算机可读介质及电子设备。


背景技术:

2.fimc(frequency-based intra mode coding,基于频数信息的帧内编码)技术需要建立长度为ipd_cnt(表示帧内预测模式的总数量)的buffer(缓存区),并且对已解码区域的编码块对应的帧内预测模式进行统计,以将频数最高的两个帧内预测模式指定为当前待解码的编码块所对应的最大可能帧内预测模式(most probable mode,mpm)。但是,片上存储极其昂贵,而fimc需要使用长度为ipd_cnt的缓存器来统计所有的帧内预测模式,硬件实现成本较高。


技术实现要素:

3.本技术的实施例提供了一种视频编解码方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以对部分帧内预测模式进行统计来更新mpm列表,进而可以降低硬件实现成本,同时在一定程度上也可以提升编解码性能。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种视频解码方法,包括:对视频图像帧的编码块进行解码处理,得到所述编码块对应的目标帧内预测模式;若所述目标帧内预测模式是指定帧内预测模式,则更新所述目标帧内预测模式的统计值,得到所述指定帧内预测模式更新后的统计值,其中,所述指定帧内预测模式的数量小于帧内预测模式的总数量;根据所述指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新;基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行解码处理。
6.根据本技术实施例的一个方面,提供了一种视频编码方法,包括:确定视频图像帧的编码块所对应的目标帧内预测模式;若所述目标帧内预测模式是指定帧内预测模式,则更新所述目标帧内预测模式的统计值,得到所述指定帧内预测模式更新后的统计值,其中,所述指定帧内预测模式的数量小于帧内预测模式的总数量;根据所述指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新;基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行编码处理。
7.根据本技术实施例的一个方面,提供了一种视频解码装置,包括:解码单元,配置为对视频图像帧的编码块进行解码处理,得到所述编码块对应的目标帧内预测模式;第一更新单元,配置为若所述目标帧内预测模式是指定帧内预测模式,则更新所述目标帧内预测模式的统计值,得到所述指定帧内预测模式更新后的统计值,其中,所述指定帧内预测模式的数量小于帧内预测模式的总数量;第二更新单元,配置为根据所述指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新;处理单元,配置为基于更新后的
最大可能帧内预测模式列表对视频图像帧的其它编码块进行解码处理。
8.在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括从水平预测模式、竖直预测模式、bilinear预测模式、dc预测模式、类水平预测模式和类竖直预测模式中选择出的多种帧内预测模式;其中,所述类水平预测模式包括帧内预测模式中的模式56至模式59、模式23和模式25;所述类竖直预测模式包括帧内预测模式中的模式42至模式45、模式11和模式13。
9.在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括:
10.水平预测模式和竖直预测模式;或者
11.水平预测模式、竖直预测模式和bilinear预测模式;或者
12.水平预测模式、竖直预测模式、bilinear预测模式和dc预测模式。
13.在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括:从帧内预测模式中的模式0至模式33中选择出的至少两种帧内预测模式。
14.在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式中的各个预测模式的统计值在初始化时设置为相同的值;或者
15.所述指定帧内预测模式中的各个预测模式的统计值在初始化时分别设置为与所述各个预测模式相对应的数值。
16.在本技术的一些实施例中,基于前述方案,所述最大可能帧内预测模式列表在初始化时包含有从所述指定帧内预测模式中选择出的帧内预测模式。
17.在本技术的一些实施例中,基于前述方案,若所述最大可能帧内预测模式列表在初始化时包含有2个帧内预测模式,则所述2个帧内预测模式包括:
18.水平预测模式和竖直预测模式;或者
19.水平预测模式和bilinear预测模式;或者
20.竖直预测模式和bilinear预测模式。
21.在本技术的一些实施例中,基于前述方案,所述第一更新单元配置为:对所述目标帧内预测模式的统计值增加设定步长,其中,所述指定帧内预测模式中的各个帧内预测模式的统计值在每次更新时增加的设定步长相同;或者
22.对所述目标帧内预测模式的统计值增加与所述目标预测模式相对应的设定步长,其中,所述指定帧内预测模式中的各个帧内预测模式对应的所述设定步长不相同。
23.在本技术的一些实施例中,基于前述方案,所述第二更新单元配置为:基于所述最大可能帧内预测模式列表中包含的帧内预测模式的数量,按照统计值从大到小的顺序,从所述指定帧内预测模式中选择与所述数量相匹配的帧内预测模式,以替换掉所述最大可能帧内预测模式列表中包含的帧内预测模式。
24.在本技术的一些实施例中,基于前述方案,所述视频解码装置还包括:处理单元,配置为根据以下方式中的至少一种确定对应的编码块是否需要采用简化型基于频数信息的帧内编码方式,并在确定需要采用所述简化型基于频数信息的帧内编码方式时,对所述目标帧内预测模式是否是所述指定帧内预测模式进行判断:
25.视频图像帧序列对应的编码块的序列头中包含的索引标识的取值;
26.视频图像帧对应的编码块的图像头中包含的索引标识的取值。
27.在本技术的一些实施例中,基于前述方案,所述处理单元还配置为:若视频图像帧
序列对应的编码块的序列头中包含的索引标识的取值指示所述视频图像帧序列对应的编码块需要采用简化型基于频数信息的帧内编码方式,则确定所述视频图像帧序列对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式;
28.若视频图像帧对应的编码块的图像头中包含的索引标识的取值指示所述视频图像帧对应的编码块需要采用简化型基于频数信息的帧内编码方式,则确定所述视频图像帧对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式。
29.根据本技术实施例的一个方面,提供了一种视频编码装置,包括:确定单元,配置为确定视频图像帧的编码块所对应的目标帧内预测模式;第三更新单元,配置为若所述目标帧内预测模式是指定帧内预测模式,则更新所述目标帧内预测模式的统计值,得到所述指定帧内预测模式更新后的统计值,其中,所述指定帧内预测模式的数量小于帧内预测模式的总数量;第四更新单元,配置为根据所述指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新;编码单元,配置为基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行编码处理。
30.根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的视频解码方法。
31.根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的视频解码方法。
32.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的视频解码方法。
33.在本技术的一些实施例所提供的技术方案中,通过在编码块对应的目标帧内预测模式是指定帧内预测模式时,更新目标帧内预测模式的统计值,得到指定帧内预测模式更新后的统计值,且指定帧内预测模式的数量小于帧内预测模式的总数量,然后根据指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新,使得能够仅对部分帧内预测模式进行统计来更新mpm列表,进而可以降低硬件实现成本,同时在一定程度上也可以提升编解码性能。
34.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
35.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
36.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图;
37.图2示出视频编码装置和视频解码装置在流式传输系统中的放置方式示意图;
38.图3示出了一个视频编码器的基本流程图;
39.图4示出了帧内预测模式中的预测方向示意图;
40.图5示出了根据本技术的一个实施例的视频解码方法的流程图;
41.图6示出了根据本技术的一个实施例的视频解码装置的框图;
42.图7示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
43.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
44.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
45.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
46.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
47.需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
48.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
49.如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
50.举例来说,第一终端装置110可对视频数据(例如由终端装置110采集的视频图片流)进行编码以通过网络150传输到第二终端装置120,已编码的视频数据以一个或多个已编码视频码流形式传输,第二终端装置120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。
51.在本技术的一个实施例中,系统架构100可以包括执行已编码视频数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对视频数据(例如由终端装置采集的视频图片流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,并可根据恢复的视频数据在可访问的显示装置上显示视频图片。
52.在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本技术公开的原理可不限于此。本技术公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本技术的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本技术公开的操作来说可能是无关紧要的。
53.在本技术的一个实施例中,图2示出视频编码装置和视频解码装置在流式传输环境中的放置方式。本技术所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv(television,电视机)、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等等。
54.流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等视频源201,视频源创建未压缩的视频图片流202。在实施例中,视频图片流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流204),视频图片流202被描绘为粗线以强调高数据量的视频图片流,视频图片流202可由电子装置220处理,电子装置220包括耦接到视频源201的视频编码装置203。视频编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流202,已编码的视频数据204(或已编码的视频码流204)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流204),其可存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码装置210。视频解码装置210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出视频图片流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。该些标准的实施例包括itu-t h.265。在实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(versatile video coding,vvc),本技术可用于vvc标准的上下文中。
55.应注意,电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括视频解码装置,且电子装置230还可包括视频编码装置。
56.在本技术的一个实施例中,以国际视频编码标准hevc(high efficiency video coding,高效率视频编码)、vvc(versatile video coding,多功能视频编码),以及中国国家视频编码标准avs为例,当输入一个视频帧图像之后,会根据一个块大小,将视频帧图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作ctu(coding tree unit,编码树单元),或者称之为lcu(largest coding unit,最大编码单元)。ctu再往下可以继续进行更加精细的划分,得到一个或多个基本的编码单元cu,cu是一个编码环节中最基本的元素。以下介绍对cu进行编码时的一些概念:
57.预测编码(predictive coding):预测编码包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前
cu决定选择哪一种预测编码模式,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域;帧间预测是指预测的信号来自已经编码过的、不同于当前图像的其它图像(称之为参考图像)。
58.变换及量化(transform&quantization):残差视频信号经过dft(discrete fourier transform,离散傅里叶变换)、dct(discrete cosine transform,离散余弦变换)等变换操作后,将信号转换到变换域中,称之为变换系数。变换系数进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此编码端也需要为当前cu选择其中的一种变换方式,并告知解码端。量化的精细程度通常由量化参数(quantization parameter,简称qp)来决定,qp取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
59.熵编码(entropy coding)或统计编码:量化后的变换域信号将根据各个值出现的频率进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的编码模式、运动矢量数据等,也需要进行熵编码以降低码率。统计编码是一种无损的编码方式,可以有效的降低表达同样信号所需要的码率,常见的统计编码方式有变长编码(variable length coding,简称vlc)或者基于上下文的二值化算术编码(content adaptive binary arithmetic coding,简称cabac)。
60.环路滤波(loop filtering):经过变化及量化的信号会通过反量化、反变换及预测补偿的操作获得重建图像。重建图像与原始图像相比由于存在量化的影响,部分信息与原始图像有所不同,即重建图像会产生失真(distortion)。因此,可以对重建图像进行滤波操作,例如去块效应滤波(deblocking filter,简称db)、sao(sample adaptive offset,自适应像素补偿)或者alf(adaptive loop filter,自适应环路滤波)等滤波器,可以有效降低量化所产生的失真程度。由于这些经过滤波后的重建图像将作为后续编码图像的参考来对将来的图像信号进行预测,因此上述的滤波操作也被称为环路滤波,即在编码环路内的滤波操作。
61.在本技术的一个实施例中,图3示出了一个视频编码器的基本流程图,在该流程中以帧内预测为例进行说明。其中,原始图像信号sk[x,y]与预测图像信号做差值运算,得到残差信号uk[x,y],残差信号uk[x,y]经过变换及量化处理之后得到量化系数,量化系数一方面通过熵编码得到编码后的比特流,另一方面通过反量化及反变换处理得到重构残差信号u'k[x,y],预测图像信号与重构残差信号u'k[x,y]叠加生成图像信号图像信号一方面输入至帧内模式决策模块和帧内预测模块进行帧内预测处理,另一方面通过环路滤波输出重建图像信号s'k[x,y],重建图像信号s'k[x,y]可以作为下一帧的参考图像进行运动估计及运动补偿预测。然后基于运动补偿预测的结果s'r[x m
x
,y my]和帧内预测结果f(sk*[x,y])得到下一帧的预测图像信号并继续重复上述过程,直至编码完成。
[0062]
基于上述的编码过程,在解码端针对每一个cu,在获取到压缩码流(即比特流)之后,进行熵解码获得各种模式信息及量化系数。然后量化系数经过反量化及反变换处理得
到残差信号。另一方面,根据已知的编码模式信息,可获得该cu对应的预测信号,然后将残差信号与预测信号相加之后即可得到重建信号,重建信号再经过环路滤波等操作,产生最终的输出信号。
[0063]
在对图像进行解码时,通常是将一帧图像划分为大小相等的图像块(lcu)进行重建,对lcu按照光栅扫描从左到右、从上到下的顺序依次解码(每行lcu,从左到右)。每个lcu又会被四叉树(quad-tree,简称qt)、二叉树(binary-tree,简称bt)、扩展四叉树(extended quad-tree,简称eqt)划分为多个子块,子块的处理顺序是从左到右、从上到下依次进行的。
[0064]
avs3的帧内编码模式有3种方式:普通帧内预测技术、帧内块复制技术(intra block copying,简称ibc)和帧内串复制技术(intra string copying,简称isc)。针对普通的帧内预测技术,如图4所示,共有66种帧内预测模式,其中模式3-模式32、模式34-模式65为角度预测模式,模式33为pcm(pulse code modulation,脉冲编码调制)模式,模式0为dc预测模式,模式1为plane预测模式,模式2为bilinear预测模式。
[0065]
图4中虚线箭头表示avs3第二阶段新引入的角度扩展模式(extended intra prediction mode,简称eipm),模式12和模式24分别表示竖直预测模式和水平预测模式。假设帧内预测模式的总数目为ipd_cnt,那么如果关闭eipm,则ipd_cnt为34;如果打开eipm,则ipd_cnt为66。
[0066]
在使用fimc技术时,需要建立长度为ipd_cnt的buffer,并且对已解码区域的编码块对应的帧内预测模式进行统计,以将频数最高的两个帧内预测模式指定为当前待解码的编码块所对应的mpm。如下表1所示,avs3目前的mpm列表中共有2个mpm,如果解析编码块中包含的前缀为1,则表明当前编码块的帧内预测模式在mpm列表中,然后再解析编码块中的1bit后缀具体区分mpm模式。如果解析编码块中的前缀为0,则表示当前编码块的帧内预测模式不在mpm列表中,则需要再解析5bit或6bit的定长码具体区分当前编码块的帧内预测模式。
[0067][0068]
表1
[0069]
但是,片上存储极其昂贵,而fimc需要使用长度为ipd_cnt的缓存器来对所有可能采用的帧内预测模式进行统计,硬件实现成本较高。基于此,本技术实施例的技术方案提出了取消对非必要帧内预测模式进行统计的过程,而仅对部分帧内预测模式进行统计来更新mpm列表,进而可以降低硬件实现成本,同时在一定程度上也可以提升编解码性能。
[0070]
以下对本技术实施例的技术方案的实现细节进行详细阐述:
[0071]
图5示出了根据本技术的一个实施例的视频解码方法的流程图,该视频解码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或服务器来执行。参照图5所示,该视频解码方法至少包括步骤s510至步骤s540,详细介绍如下:
[0072]
在步骤s510中,对视频图像帧的编码块进行解码处理,得到编码块对应的目标帧内预测模式。
[0073]
在本技术的一个实施例中,视频图像帧序列包括了一系列图像,每张图像可以被进一步划分为条带(slice),条带又可以划分为一系列的lcu(或ctu),lcu包含有若干cu。视频图像帧在编码时是以块为单位进行编码处理,在一些新的视频编码标准中,比如在h.264标准中有宏块(macroblock,mb),宏块可进一步划分成多个可用于预测编码的预测块(prediction)。在hevc标准中,采用编码单元cu、预测单元(prediction unit,pu)和变换单元(transform unit,tu)等基本概念,从功能上划分了多种块单元,并采用全新的基于树的结构进行描述。比如cu可以按照四叉树划分为更小的cu,而更小的cu还可以继续划分,从而形成一种四叉树结构。本技术实施例中的编码块可以是cu,或者是比cu更小的块,如对cu进行划分得到的更小的块。
[0074]
在本技术的一个实施例中,编码块对应的目标帧内预测模式是编码块所采用的帧内预测模式。可选地,可以通过解析编码块中包含的前缀和后缀来确定编码块对应的目标帧内预测模式。具体而言,如果mpm列表中包含有2个帧内预测模式,类似于前述表1所示,如果解析编码块中包含的前缀为1,则表明当前编码块的帧内预测模式在mpm列表中,然后再解析编码块中的1bit后缀具体区分mpm模式;如果解析编码块中的前缀为0,则表示当前编码块的帧内预测模式不在mpm列表中,则需要再解析5bit或6bit的定长码具体区分当前编码块的帧内预测模式。
[0075]
在步骤s520中,若目标帧内预测模式是指定帧内预测模式,则更新目标帧内预测模式的统计值,得到指定帧内预测模式更新后的统计值,其中,指定帧内预测模式的数量小于帧内预测模式的总数量。
[0076]
在本技术的一个实施例中,帧内预测模式的总数量表示的是标准中所规定的帧内预测模式的全部数量,比如在avs3标准中,帧内预测模式的总数量即为66种。
[0077]
在本技术的一个实施例中,指定帧内预测模式可以包括从水平预测模式、竖直预测模式、bilinear预测模式、dc预测模式、类水平预测模式和类竖直预测模式中选择出的多种帧内预测模式;
[0078]
其中,类水平预测模式包括帧内预测模式中的模式56至模式59、模式23和模式25;类竖直预测模式包括帧内预测模式中的模式42至模式45、模式11和模式13。
[0079]
在本技术的一个实施例中,指定帧内预测模式可以包括:从帧内预测模式中的模式0至模式33中选择出的至少两种帧内预测模式。可选地,比如指定帧内预测模式可以是模式0至模式33,即在统计时需要统计模式0至模式33的统计值。
[0080]
在本技术的一个实施例中,指定帧内预测模式可以包括:水平预测模式和竖直预测模式。即该实施例的技术方案可以只统计水平预测模式和竖直预测模式的统计值。
[0081]
在本技术的一个实施例中,指定帧内预测模式可以包括:水平预测模式、竖直预测模式和bilinear预测模式。即该实施例的技术方案可以只统计水平预测模式、竖直预测模式和bilinear预测模式的统计值。
[0082]
在本技术的一个实施例中,指定帧内预测模式可以包括:水平预测模式、竖直预测模式、bilinear预测模式和dc预测模式。即该实施例的技术方案可以只统计水平预测模式、竖直预测模式、bilinear预测模式和dc预测模式统计值。
[0083]
在本技术的一个实施例中,指定帧内预测模式中的各个预测模式的统计值在初始化时可以设置为相同的值,比如初始化时都设置为0。
[0084]
在本技术的一个实施例中,指定帧内预测模式中的各个预测模式的统计值在初始化时分别设置为与各个预测模式相对应的数值。需要说明的是,与各个预测模式相对应的数值可以是相同的,也可以是不相同的,还可以是部分相同部分不同的。比如指定帧内预测模式中包含三个帧内预测模式,这三个帧内预测模式的统计值在初始化时可以分别设置为0、1、2,或者这三个帧内预测模式的统计值在初始化时可以分别设置为0、0、1等。
[0085]
在本技术的一个实施例中,在更新目标帧内预测模式的统计值时可以是对目标帧内预测模式的统计值增加设定步长,其中,指定帧内预测模式中的各个帧内预测模式的统计值在每次更新时增加的设定步长相同,比如每次都增加1。
[0086]
在本技术的一个实施例中,在更新目标帧内预测模式的统计值时可以是对目标帧内预测模式的统计值增加与目标预测模式相对应的设定步长,其中,指定帧内预测模式中的各个帧内预测模式对应的设定步长不相同。比如指定帧内预测模式中包含两个帧内预测模式,这两个帧内预测模式对应的设定步长可以分别是1和2。
[0087]
在本技术的一个实施例中,可以根据以下方式中的至少一种确定对应的编码块是否需要采用简化型基于频数信息的帧内编码方式,并在确定需要采用简化型基于频数信息的帧内编码方式时,对目标帧内预测模式是否是指定帧内预测模式进行判断:
[0088]
视频图像帧序列对应的编码块的序列头中包含的索引标识的取值;
[0089]
视频图像帧对应的编码块的图像头中包含的索引标识的取值。
[0090]
需要说明的是,简化型基于频数信息的帧内编码方式可以称之为sfimc(simplified frequency-based intra mode coding),具体即为本技术前述实施例中所述的只统计指定帧内预测模式的统计值的方案。
[0091]
基于前述方案,具体而言,在确定是否需要采用简化型基于频数信息的帧内编码方式时,可以有如下方式:
[0092]
1、通过视频图像帧序列对应的编码块的序列头中的索引标识来指示。比如,若序列头中的索引标识为1(数值仅为示例),就说明视频图像帧序列对应的所有编码块需要采用简化型基于频数信息的帧内编码方式。
[0093]
2、通过视频图像帧对应的编码块的图像头中的索引标识来指示。比如,若图像头中的索引标识为1(数值仅为示例),就说明视频图像帧对应的所有编码块需要采用简化型基于频数信息的帧内编码方式。
[0094]
3、通过视频图像帧序列对应的编码块的序列头中的索引标识和视频图像帧对应的编码块的图像头中的索引标识来共同指示。比如,若序列头中的索引标识为1(数值仅为示例)、图像头中的索引标识为1(数值仅为示例),那么就说明该图像头对应的所有编码块需要采用简化型基于频数信息的帧内编码方式。
[0095]
在本技术的一个实施例中,如果视频图像帧序列对应的编码块的序列头中包含的索引标识的取值指示视频图像帧序列对应的编码块需要采用简化型基于频数信息的帧内编码方式,那么可以不采用帧内预测模式的模式34至模式65,即确定视频图像帧序列对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式。该实施例的技术方案使得在通过序列头指示对应的编码块需要采用sfimc时,也即指示了编码块不会采
用帧内预测模式的模式34至模式65,这样也可以避免统计全部的66种帧内预测模式而增加硬件成本。
[0096]
在本技术的一个实施例中,如果视频图像帧对应的编码块的图像头中包含的索引标识的取值指示视频图像帧对应的编码块需要采用简化型基于频数信息的帧内编码方式,那么可以不采用帧内预测模式的模式34至模式65,即确定视频图像帧对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式。该实施例的技术方案使得在通过图像头指示对应的编码块需要采用sfimc时,也即指示了编码块不会采用帧内预测模式的模式34至模式65,这样也可以避免统计全部的66种帧内预测模式而增加硬件成本。
[0097]
继续参照图5所示,在步骤s530中,根据指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新。
[0098]
在本技术的一个实施例中,最大可能帧内预测模式列表在初始化时包含有从指定帧内预测模式中选择出的帧内预测模式,比如可以是从指定帧内预测模式中选择出1个、2个、3个或者更多个帧内预测模式。即mpm列表中的帧内预测模式在初始化时是从前述指定的帧内预测模式中选择出来的。
[0099]
在本技术的一个实施例中,若最大可能帧内预测模式列表在初始化时包含有2个帧内预测模式,则这2个帧内预测模式可以是水平预测模式和竖直预测模式;或者可以是水平预测模式和bilinear预测模式;或者也可以是竖直预测模式和bilinear预测模式。
[0100]
在本技术的一个实施例中,根据指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新的过程具体是基于最大可能帧内预测模式列表中包含的帧内预测模式的数量,按照统计值从大到小的顺序,从指定帧内预测模式中选择与该数量相匹配的帧内预测模式,以替换掉最大可能帧内预测模式列表中包含的帧内预测模式。其中,从指定帧内预测模式中选择出的帧内预测模式的数量与mpm列表中包含的帧内预测模式的数量是相同的。
[0101]
比如,假设mpm列表中包含2个帧内预测模式,即modet[0]和modet[1],统计值第一大(cost0)和第二大(cost1)分别对应modet[0]和modet[1],当前帧内预测模式为currmode,对应统计值为currcost,则应该选取统计值由大到小的顺序排在前2名的帧内预测模式来更新mpm列表。
[0102]
继续参照图5所示,在步骤s540中,基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行解码处理。
[0103]
在本技术的一个实施例中,基于更新后的mpm列表对视频图像帧的其它编码块进行解码处理具体可以是基于更新后的mpm列表,通过解析编码块中包含的前缀和后缀来确定编码块对应的目标帧内预测模式。具体而言,如果mpm列表中包含有2个帧内预测模式,类似于前述表1所示,如果解析编码块中包含的前缀为1,则表明当前编码块的帧内预测模式在mpm列表中,然后再解析编码块中的1bit后缀具体区分mpm模式;如果解析编码块中的前缀为0,则表示当前编码块的帧内预测模式不在mpm列表中,则需要再解析5bit或6bit的定长码具体区分当前编码块的帧内预测模式。
[0104]
需要说明的是:编码端在确定出视频图像帧的编码块所对应的目标帧内预测模式之后,如果目标帧内预测模式是指定帧内预测模式,则更新目标帧内预测模式的统计值,得到指定帧内预测模式更新后的统计值,其中,该指定帧内预测模式的数量也小于帧内预测
模式的总数量,然后根据指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新,最后基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行编码处理。
[0105]
可选地,编码端可以基于rdo(rate distortion optimization,率失真优化)选择出视频图像帧的编码块所对应的最优帧内预测模式,然后将其作为编码块所对应的目标帧内预测模式。此外,编码端对指定帧内预测模式的统计值及mpm列表的更新过程与解码端类似,不再赘述。
[0106]
本技术前述实施例的技术方案使得能够仅对部分帧内预测模式进行统计来更新mpm列表,进而可以降低硬件实现成本,同时在一定程度上也可以提升编解码性能。
[0107]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的视频解码方法。对于本技术装置实施例中未披露的细节,请参照本技术上述的视频解码方法的实施例。
[0108]
图6示出了根据本技术的一个实施例的视频解码装置的框图,该视频解码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或服务器内。
[0109]
参照图6所示,根据本技术的一个实施例的视频解码装置600,包括:解码单元602、第一更新单元604、第二更新单元606和处理单元608。
[0110]
其中,解码单元602配置为对视频图像帧的编码块进行解码处理,得到所述编码块对应的目标帧内预测模式;第一更新单元604配置为若所述目标帧内预测模式是指定帧内预测模式,则更新所述目标帧内预测模式的统计值,得到所述指定帧内预测模式更新后的统计值,其中,所述指定帧内预测模式的数量小于帧内预测模式的总数量;第二更新单元606配置为根据所述指定帧内预测模式更新后的统计值,对最大可能帧内预测模式列表进行更新;处理单元608配置为基于更新后的最大可能帧内预测模式列表对视频图像帧的其它编码块进行解码处理。
[0111]
在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括从水平预测模式、竖直预测模式、bilinear预测模式、dc预测模式、类水平预测模式和类竖直预测模式中选择出的多种帧内预测模式;其中,所述类水平预测模式包括帧内预测模式中的模式56至模式59、模式23和模式25;所述类竖直预测模式包括帧内预测模式中的模式42至模式45、模式11和模式13。
[0112]
在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括:
[0113]
水平预测模式和竖直预测模式;或者
[0114]
水平预测模式、竖直预测模式和bilinear预测模式;或者
[0115]
水平预测模式、竖直预测模式、bilinear预测模式和dc预测模式。
[0116]
在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式包括:从帧内预测模式中的模式0至模式33中选择出的至少两种帧内预测模式。
[0117]
在本技术的一些实施例中,基于前述方案,所述指定帧内预测模式中的各个预测模式的统计值在初始化时设置为相同的值;或者
[0118]
所述指定帧内预测模式中的各个预测模式的统计值在初始化时分别设置为与所述各个预测模式相对应的数值。
[0119]
在本技术的一些实施例中,基于前述方案,所述最大可能帧内预测模式列表在初始化时包含有从所述指定帧内预测模式中选择出的帧内预测模式。
[0120]
在本技术的一些实施例中,基于前述方案,若所述最大可能帧内预测模式列表在初始化时包含有2个帧内预测模式,则所述2个帧内预测模式包括:
[0121]
水平预测模式和竖直预测模式;或者
[0122]
水平预测模式和bilinear预测模式;或者
[0123]
竖直预测模式和bilinear预测模式。
[0124]
在本技术的一些实施例中,基于前述方案,第一更新单元604配置为:对所述目标帧内预测模式的统计值增加设定步长,其中,所述指定帧内预测模式中的各个帧内预测模式的统计值在每次更新时增加的设定步长相同;或者
[0125]
对所述目标帧内预测模式的统计值增加与所述目标预测模式相对应的设定步长,其中,所述指定帧内预测模式中的各个帧内预测模式对应的所述设定步长不相同。
[0126]
在本技术的一些实施例中,基于前述方案,第二更新单元606配置为:基于所述最大可能帧内预测模式列表中包含的帧内预测模式的数量,按照统计值从大到小的顺序,从所述指定帧内预测模式中选择与所述数量相匹配的帧内预测模式,以替换掉所述最大可能帧内预测模式列表中包含的帧内预测模式。
[0127]
在本技术的一些实施例中,基于前述方案,所述视频解码装置600还包括:处理单元,配置为根据以下方式中的至少一种确定对应的编码块是否需要采用简化型基于频数信息的帧内编码方式,并在确定需要采用所述简化型基于频数信息的帧内编码方式时,对所述目标帧内预测模式是否是所述指定帧内预测模式进行判断:
[0128]
视频图像帧序列对应的编码块的序列头中包含的索引标识的取值;
[0129]
视频图像帧对应的编码块的图像头中包含的索引标识的取值。
[0130]
在本技术的一些实施例中,基于前述方案,所述处理单元还配置为:若视频图像帧序列对应的编码块的序列头中包含的索引标识的取值指示所述视频图像帧序列对应的编码块需要采用简化型基于频数信息的帧内编码方式,则确定所述视频图像帧序列对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式;
[0131]
若视频图像帧对应的编码块的图像头中包含的索引标识的取值指示所述视频图像帧对应的编码块需要采用简化型基于频数信息的帧内编码方式,则确定所述视频图像帧对应的编码块采用的是帧内预测模式的模式0至模式33中的一个帧内预测模式。
[0132]
图7示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0133]
需要说明的是,图7示出的电子设备的计算机系统700仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0134]
如图7所示,计算机系统700包括中央处理单元(central processing unit,cpu)701,其可以根据存储在只读存储器(read-only memory,rom)702中的程序或者从存储部分708加载到随机访问存储器(random access memory,ram)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 703中,还存储有系统操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(input/output,i/o)接口705也连接至总线704。
[0135]
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan(local area network,局
域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0136]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本技术的系统中限定的各种功能。
[0137]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0138]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0139]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0140]
作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是
上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
[0141]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0142]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0143]
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0144]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献