视频编解码方法、装置及计算设备与流程

文档序号:31844413发布日期:2022-10-18 23:25阅读:88来源:国知局
视频编解码方法、装置及计算设备与流程

1.本技术实施例涉及图像处理技术领域,尤其涉及一种视频编解码方法、装置及计算设备。


背景技术:

2.数字视频技术可以并入多种视频装置中,例如数字电视、智能手机、计算机、电子阅读器或视频播放器等。随着视频技术的发展,视频数据所包括的数据量较大,为了便于视频数据的传输,视频装置执行视频压缩技术,以使视频数据更加有效的传输或存储。
3.目前通过空间预测或时间预测来减少或消除视频数据中的冗余信息,以实现视频数据的压缩。运动补偿是视频编码常用的一类预测方法,基于视频内容在时域或空域的冗余特性,从已编码的区域导出当前编码块的预测值。基于运动补偿的预测方法包括:帧间预测、帧内块复制、帧内串复制等。帧内串复制预测方法是按照某种扫描顺序将一个编码块分成一系列像素串。编码端在码流中对当前编码块各个串的类型、长度和预测值信息进行编码。相应的,解码端根据码流中携带的各个串的类型、长度和预测值信息,导出当前图像块的预测样本,根据当前图像块的预测样本确定当前图像块的重建值。
4.但是,目前解码端在导出预测样本时占用内存较大。


技术实现要素:

5.本技术提供一种视频编解码方法、装置及计算设备,以提高编解码效率。
6.第一方面,提供一种视频解码方法,包括:
7.解码待解码块的码流,确定所述待解码块的初始参考块;
8.确定对所述初始参考块进行调整的目标调整方式,所述目标调整方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
9.根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
10.根据所述调整后的参考块,确定所述待解码块的预测块。
11.第二方面,提供一种视频编码方法,包括:
12.获取待编码块,并对所述待编码块进行处理,得到所述待编码块的初始参考块;
13.确定对所述初始参考块进行调整的目标调整方式,所述目标调整方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
14.根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
15.根据所述调整后的参考块,确定所述待编码块的预测块。
16.第三方面,提供一种视频解码装置,包括:
17.解码单元,用于解码待解码块的码流,确定所述待解码块的初始参考块;
18.确定单元,用于确定对所述初始参考块进行调整的目标调整方式,所述目标调整
方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
19.调整单元,用于根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
20.预测单元,用于根据所述调整后的参考块,确定所述待解码块的预测块。
21.第四方面,提供了一种视频编码装置,包括:
22.处理单元,用于获取待编码块,并对所述待编码块进行处理,得到所述待编码块的初始参考块;
23.确定单元,用于确定对所述初始参考块进行调整的目标调整方式,所述目标调整方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
24.调整单元,用于根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
25.编码单元,用于根据所述调整后的参考块,确定所述待编码块的预测块。
26.第五方面,提供了一种计算设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或第二方面中的方法。
27.第六方面,提供了一种芯片,用于实现上述第一方面或第二方面中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面或第二方面的方法。
28.第七方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面或第二方面中的方法。
29.第八方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面或第二方面中的方法。
30.第九方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中的方法。
31.通过本技术提供的技术方案,通过确定对初始参考块进行调整的目标调整方式,其中目标调整方式用于对初始参考块中的像素点进行滤波和/或重排操作;根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块;根据调整后的参考块,确预测块,进而有效消除了图像中存在的冗余,提高解码效率。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术实施例涉及的一种视频编解码系统的示意性框图;
34.图2是本技术实施例提供的视频编码器的示意性框图;
35.图3是本技术实施例提供的解码框架的示意性框图;
36.图4为本技术实施例涉及的帧间复制的示意图;
37.图5为本技术实施例涉及的一种帧内块复制的示意图;
38.图6是本技术实施例涉及的一种帧内串复制的示意图;
39.图7为本技术一实施例提供的一种视频解码方法的流程图;
40.图8为本技术一实施例提供的视频解码方法的流程示意图;
41.图9为本技术一实施例提供的视频编码方法的流程示意图;
42.图10为本技术一实施例提供的视频编码方法的流程示意图;
43.图11是本技术实施例提供的视频解码装置的示意性框图;
44.图12是本技术实施例提供的视频编码装置的示意性框图;
45.图13是本技术实施例提供的计算设备的示意性框图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
48.本技术可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域等。例如,本技术的方案可结合至音视频编码标准(audio video coding standard,简称avs),例如,h.264/音视频编码(audio video coding,简称avc)标准,h.265/高效视频编码(high efficiency video coding,简称hevc)标准以及h.266/多功能视频编码(versatile video coding,简称vvc)标准。或者,本技术的方案可结合至其它专属或行业标准而操作,所述标准包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual,itu-th.264(还称为iso/iecmpeg-4avc),包含可分级视频编解码(svc)及多视图视频编解码(mvc)扩展。应理解,本技术的技术不限于任何特定编解码标准或技术。
49.为了便于理解,首先结合图1对本技术实施例涉及的视频编解码系统进行介绍。
50.图1为本技术实施例涉及的一种视频编解码系统100的示意性框图。需要说明的是,图1只是一种示例,本技术实施例的视频编解码系统包括但不限于图1所示。如图1所示,该视频编解码系统100包含编码设备110和解码设备120。其中编码设备用于对视频数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的视频数据。
51.本技术实施例的编码设备110可以理解为具有视频编码功能的设备,解码设备120可以理解为具有视频解码功能的设备,即本技术实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算
机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。
52.在一些实施例中,编码设备110可以经由信道130将编码后的视频数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的视频数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
53.在一个实例中,信道130包括使编码设备110能够实时地将编码后的视频数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的视频数据,且将调制后的视频数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
54.在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的视频数据。存储介质包含多种本地存取式数据存储介质,例如光盘、dvd、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的视频数据。
55.在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的视频数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的视频数据。可选的,该存储服务器可以存储编码后的视频数据且可以将该编码后的视频数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(ftp)服务器等。
56.一些实施例中,编码设备110包含视频编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
57.在一些实施例中,编码设备110除了包括视频编码器112和输入接口113外,还可以包括视频源111。
58.视频源111可包含视频采集装置(例如,视频相机)、视频存档、视频输入接口、计算机图形系统中的至少一个,其中,视频输入接口用于从视频内容提供者处接收视频数据,计算机图形系统用于产生视频数据。
59.视频编码器112对来自视频源111的视频数据进行编码,产生码流。视频数据可包括一个或多个图像(picture)或图像序列(sequence of pictures)。码流以比特流的形式包含了图像或图像序列的编码信息。编码信息可以包含编码图像数据及相关联数据。相关联数据可包含序列参数集(sequence parameter set,简称sps)、图像参数集(picture parameter set,简称pps)及其它语法结构。sps可含有应用于一个或多个序列的参数。pps可含有应用于一个或多个图像的参数。语法结构是指码流中以指定次序排列的零个或多个语法元素的集合。
60.视频编码器112经由输出接口113将编码后的视频数据直接传输到解码设备120。编码后的视频数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
61.在一些实施例中,解码设备120包含输入接口121和视频解码器122。
62.在一些实施例中,解码设备120除包括输入接口121和视频解码器122外,还可以包括显示装置123。
63.其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的视频数据。
64.视频解码器122用于对编码后的视频数据进行解码,得到解码后的视频数据,并将
解码后的视频数据传输至显示装置123。
65.显示装置123显示解码后的视频数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(lcd)、等离子体显示器、有机发光二极管(oled)显示器或其它类型的显示装置。
66.此外,图1仅为实例,本技术实施例的技术方案不限于图1,例如本技术的技术还可以应用于单侧的视频编码或单侧的视频解码。
67.下面对本技术实施例涉及的视频编解码框架进行介绍。
68.图2为本技术实施例提供的编码框架的示意图。
69.如图2所示,该编码框架包括:预测单元11、残差产生单元12、变换单元13、量化单元14、逆量化单元15、逆变换单元16、重建单元17、滤波单元18及熵编码单元19。预测单元11包含帧间预测单元11a及帧内预测单元112。帧间预测单元11a包含运动估计单元11a1及运动补偿单元11a2。
70.其中,编码端接收到视频之后,对于构成视频的每帧图像,将该图像划分成多个待编码图像块。对于当前待编码图像块,预测单元11首先通过参考重建图像块对当前待编码图像块进行预测,得到当前待编码图像块的预测信息。其中,编码端可以采用帧间预测或者帧内预测技术得到预测信息。
71.具体地,帧间预测单元11a中的运动估计单元11a1可搜索参考图片的列表中的参考图片以查找待编码图像块的参考块。运动估计单元11a1可产生指示该参考块的索引,及指示待编码图像块与该参考块之间的空间位移的运动向量。运动估计单元11a1可将参考块的索引及该运动向量作为该待编码图像块的运动信息而输出。运动补偿单元11a2可基于该待编码图像块的运动信息得到该待编码图像块的预测信息。
72.帧内预测单元112可以采用帧内预测模式对当前待编码图像块产生预测信息。目前存在15种帧内预测模式,包括planar模式、dc模式以及13种角度预测模式。帧内预测单元112也可以采用帧内块复制(intra block copy,ibc)、帧内串复制(intra string copy,isc)技术等。
73.残差产生单元12用于对当前待编码图像块的原始信号减去预测信息,得到残差信号。经过预测后,残差信号的幅值远小于原始信号。变换单元13和量化单元14用于对残差信号进行变换和量化操作。经过变换量化后,得到变换量化系数。熵编码单元19用于通过熵编码技术编码量化系数以及编码中的其他指示信息,得到码流。
74.进一步地,编码端还需要重建当前待编码图像块,以实现对后续待编码图像块的编码提供参考像素。具体地,在得到当前待编码图像块的变换量化系数之后,逆量化单元15和逆变换单元16对当前待编码图像块的变换量化系数进行反量化和反变换,得到重建的残差信号,重建单元17将重建的残差信号与当前待编码图像块对应的预测信息相加,得到当前待编码图像块的重建信号,根据该重建信号得到重建图像块。更进一步地,滤波单元18可以对重建图像块可以进行滤波,其中可以采用去块效应滤波、自适应样点补偿(sample adaptive offset,sao)或者自适应环路滤波(adaptive loop filter,alf)等。其中,该重建图像块可以对后续待编码图像块进行预测。
75.图3为本技术实施例提供的解码框架的示意图。
76.如图3所示,该解码框架包括:熵解码单元21、预测单元22、逆量化单元23、逆变换
单元24、重建单元25、滤波单元26。预测单元22包括:运动补偿单元221及帧内预测单元222。
77.具体地,解码端获取到码流之后,首先熵解码单元21对码流进行熵解码,得到当前待重建图像块的变换量化系数,然后逆量化单元23和逆变换单元24对变换量化系数进行反量化和反变换,得到当前待重建图像块的重建的残差信号。预测单元22对当前待重建图像块进行预测,得到当前待重建图像块的预测信息。如果预测单元22采用帧间预测,则运动补偿单元221可根据从码流解析的语法元素来构造第一参考图片列表(列表0)及第二参考图片列表(列表1)。此外,则熵解码单元21可解析待重建图像块的运动信息。运动补偿单元221可根据该运动信息来确定待重建图像块的一个或多个参考块。运动补偿单元221可根据一个或多个参考块来产生待重建图像块的预测信息。如果预测单元22采用帧内预测,则熵解码单元21可解析使用的帧内预测模式的索引,帧内预测单元222可以根据该索引,采用该帧内预测模式进行帧内预测,得到待重建图像块的预测信息。帧内预测单元222也可以采用ibc或者isc技术等。
78.进一步地,重建单元25用于将预测信息和上述重建的残差信号相加,得到当前待重建图像块的重建信号,然后根据该重建信号得到当前待重建图像块对应的当前重建图像块,其中,该当前重建图像块可以对后续其他待重建图像块进行预测。类似于上述编码端的情况,可选地,在解码端滤波单元26可以对当前重建图像块进行滤波。
79.需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
80.上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本技术适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
81.目前主流的视频编码标准,如hevc、vvc、avs3,均采用基于块的混合编码框架。它们将原始的视频数据分成一系列的编码块,结合预测,变换和熵编码等视频编码方法,实现视频数据的压缩。其中,运动补偿是视频编码常用的一类预测方法,运动补偿基于视频内容在时域或空域的冗余特性,从已编码的区域导出当前编码块的预测值。这类预测方法包括:帧间预测、帧内块复制预测、帧内串复制预测等,在具体的编码实现中,可能单独或组合使用这些预测方法。对于使用了这些预测方法的编码块,通常需要在码流显式或隐式的编码一个或多个二维的位移矢量,指示当前块(或当前块的同位块)相对它的一个或多个参考块的位移。
82.需要注意的是,在不同的预测模式下及不同的实现,位移矢量可能有不同的名称,本技术统一按照以下方式进行描述:
83.1)帧间预测中的位移矢量称为运动矢量(motion vector,简称mv);
84.2)帧内块复制中的位移矢量称为块矢量(block vector,简称bv);
85.3)帧内串复制中的位移矢量称为串矢量(string vector,简称sv)。
86.以下对本技术涉及的相关技术进行介绍:
87.帧间复制
88.图4为本技术实施例涉及的帧间复制的示意图。如图4所示,帧间预测利用视频时
间域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的,能够有效节省编码残差数据的比特。其中,p为当前帧,pr为参考帧,b为当前待编码块,br是b的参考块。b’与b在图像中的坐标位置相同,br坐标为(xr,yr),b’坐标为(x,y)。当前编码块与其参考块之间的位移,称为运动向量,根据如下公式(1)确定:
89.mv=(xr-x,yr-y)
ꢀꢀꢀ
(1)
90.其中,mv为运动向量。
91.帧内块复制(intra block copy,简称ibc)是hevc屏幕内容编码(screen cotent coding,简称scc)扩展中采纳的一种帧内编码工具,它显著的提升了屏幕内容的编码效率。在avs3,vvc中,也采纳了ibc技术以提升屏幕内容编码的性能。ibc利用屏幕内容视频在空间的相关性,使用当前图像上已编码图像像素预测当前待编码块的像素,能够有效节省编码像素所需的比特。如图5所示,在ibc中当前编码块与其参考块之间的位移,称为块矢量(block vector,简称bv)。h.266/vvc采用了类似于帧间预测bv预测技术进一步节省编码bv所需的比特。
92.帧内串复制技术(intra string copy,简称isc)也称为串复制帧内预测,按照某种扫描顺序(光栅扫描、往返扫描和zig-zag扫描等)将一个编码块分成一系列像素串或未匹配像素。类似于ibc,每个串在当前图像已编码区域中寻找相同形状的参考串,导出当前串的预测值,通过编码当前串像素值与预测值之间残差,代替直接编码像素值,能够有效节省比特。采用帧内串复制技术。图6是本技术实施例涉及的一种帧内串复制的示意图,深灰色的区域为已编码区域,白色的28个像素为串1,浅灰色的35个像素为串2,黑色的1个像素表示未匹配像素(未匹配像素也称为孤立点,未匹配像素的像素值被直接编码,而不是通过参考串的预测值导出)。其中,串1的参考串在其左侧,串1到其对应的参考串的位移通过串矢量1表示。串2的参考串在其上方,串2到其对应的参考串的位移通过串矢量2表示。
93.帧内串复制技术需要编码当前编码块中各个串对应的串矢量(string vector,简称sv)、串长度以及是否有匹配串的标志等。其中,串矢量(sv)表示待编码串到其参考串的位移。串长度表示该串所包含的像素数量。
94.目前的预测方法,利用屏幕内容视频在空间的相关性,使用当前图像中已编码图像像素预测当前待编码块的像素,能够有效节省编码像素所需的比特。对于一个图像块,目前预测技术直接将参考块用作当前块的参考。然而,屏幕内容视频往往存在大量对称相似的图像内容,这些对称图像内容经过调整后也可以为当前块提供准确的预测。目前的预测技术(例如ibc技术)未能利用这种特性消除图像中存在的冗余,造成编解码效率低。
95.为了解决上述技术问题,本技术提供的视频编解码方法,对于当前块,对当前块的参考块进行滤波和/或像素重排等调整,导出当前块的预测值,提高了视频编解码效率。
96.下面结合具体的实施例对本技术实施例提供的技术方案进行详细描述。
97.图7为本技术一实施例提供的一种视频解码方法的流程图,本技术实施例的方法应用于图1或图3所示的解码端,如图7所示,包括:
98.s710、解码待解码块的码流,确定待解码块的初始参考块。
99.本技术实施例的执行主体包括但不限于如下设备:解码器、或者用于进行图像解码的设备,如台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算
机,或其类似者等。
100.在一些实施例中,上述待解码块也可以称为当前块,或图像块,或当前解码块,或待解码的图像块,或待处理的图像块等。
101.解码端获取待解码块的码流后,对该码流进行解析,得到待解码块的预测信息,其中预测信息例如包括预测方式、块矢量信息等。
102.解码端根据码流中携带的待解码块的块矢量信息,确定出待解码块的参考块,为了便于描述,将该参考块记为待解码块的初始参考块。
103.可选的,上述待解码块的块矢量信息包括块矢量值,这样解码端可以根据块矢量值,确定出待解码块的块矢量bv,其中块矢量bv,用于指示参考块的位置。例如图5所示,块矢量为当前块与参考块之间的位移,这样可以根据当前块的位置信息和块矢量,确定出参考块在图像中的位置信息。
104.在一些实施例中,编码端为了降低编码码率,可以对块矢量进行处理,例如根据块矢量分辨率对块矢量进行处理,对处理后的块矢量进行编码。这样,解码端从码流中解析出块矢量信息后,使用块矢量分辨率bvr对解析出块矢量信息进行处理,得到恢复后的块矢量。其中,块矢量分辨率bvr用于指示块矢量的精度。接着,使用恢复后的块矢量和待解码块的位置信息,确定出待解码块的初始参考块的位置信息。
105.可选的,解码端从码流中解析出待解码块的块矢量分辨率bvr。
106.可选的,解码端将默认的块矢量分辨率bvr确定为待解码块的块矢量分辨率bvr。
107.s720、确定对初始参考块进行调整的目标调整方式,其中,目标调整方式用于对初始参考块中的像素点进行滤波和/或重排操作。
108.在一些实施例中,本技术所述的对参考块进行滤波和/或重排操作也可以理解为对待解码块的初始预测值进行滤波和/或重排操作。
109.在一些实施例中,上述目标调整方式为默认的调整方式。
110.在一些实施例中,上述s720包括如下s720-a1和s720-a2:
111.s720-a1、确定参考块调整索引pred_adjust_index的值,所述参考块调整索引pred_adjust_index用于指示所述目标调整方式;
112.s720-a2、根据参考块调整索引的值,确定为所述目标调整方式。
113.本技术实施例涉及的参考块调整索引的值与调整方式的对应关系包括但不限于如下几种示例:
114.示例1,参考块调整索引的值包括n个值,每一个参考块调整索引的值对应一种目标调整方式,其中n为大于或等于3的正整数。在该示例中,参考块调整索引的值与调整方式的对应关系如表1所示:
115.表1
116.参考块调整索引调整方式1调整方式12调整方式23调整方式3
…………
117.其中,上述各调整方式均不相同。
118.示例的,上述调整方式包括:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式中的任意一个。例如,调整方式1为滤波方式,调整方式2为重排方式,调整方式3为滤波后重排方式,调整方式4为重排后滤波方式,调整方式5为部分滤波后重排方式。
119.其中,滤波方式是指对初始参考块中的像素点进行滤波,例如滤波初始参考块的块效应。滤波方式中根据使用的滤波函数的不同,又可以分为多种不同的滤波操作,本技术对此不作限制。
120.在一些实施例中,本技术的滤波操作可以包括如下步骤:
121.步骤1)确定pixelup和pixelleft;
122.步骤2)根据如下公式(2),对原始参考块中的像素点i进行滤波:
123.pred_block1(x,y)=w0*pred_block0(x,y)+w1*pixelup(x)+w2*pixelleft(y)+b
ꢀꢀ
(2)
[0124][0125]
其中,(x,y)为参考块中像素点的位置坐标,pred_block0(x,y)为像素点i在原始参考块中的像素值,所述pred_block1(x,y)为像素点i滤波后的像素值。
[0126]
其中,参考块和当前块的宽和高分别为w,h。
[0127]
在一些实施例中,可以根据如下方式一和方式二导出上式(2)中的pixelup和pixelleft:
[0128]
方式一,pixelup为当前块上方一行相邻像素,其长度为w;pixelleft为当前块左方一列相邻像素,长度为h;
[0129]
方式二,pixelup为参考块中最上方一行相邻像素,长度为w;pixelleft为参考块中最左方一列相邻像素,长度为h。
[0130]
在一些实施例中,可以使用上述公式(2)对参考块的部分行或部分列进行滤波操作。
[0131]
在一种示例中,上述w0、w1、w2和b可以是固定值。
[0132]
在另一种示例中,上述w0、w1、w2和b可以根据其他条件推导的值。
[0133]
可选的,w0、w1、w2、b可以根据参考块大小的不同,有不同的取值,或者可以根据x或y的值进行变化,或根据pred_adjust_index的值变化。
[0134]
可选的,b可以设置为当前块相邻像素(例如当前块左上角左方的像素,或上方的像素)与参考块左上角像素的差值。
[0135]
可选的,w1和w2的值可以为0。
[0136]
可选的,对所有pred_adjust_index,w0=1,w1=0,w2=0,b=1。
[0137]
可选的,对所有pred_adjust_index,w0=1,w1=0,w2=0,b=-1。
[0138]
可选的,pred_adjust_index为0时,w0=0.875,w1=0,w2=0.125,b=0。
[0139]
可选的,pred_adjust_index为1时,w0=0.875,w1=0.125,w2=0,b=0。
[0140]
其中,重排方式中的重排指对初始参考块中像素的位置进行排列组合,改变初始参考块中像素的空间分布关系。本技术中“重排”可以理解“重新排列”的简称。重排方式中根据使用的重排函数的不同,又可以分为多种不同的重排操作,例如重排操作包括对初始参考块进行水平翻转,竖直翻转,水平或竖直同时翻转,旋转,平移等操作,或者使用任意调整初始参考块中像素位置的重排操作。
[0141]
其中,滤波后重排方式是指对初始参考块中的像素点先进行滤波操作,例如可以使用上述滤波方式对初始参考块中的像素点进行滤波。对滤波后的初始参考块中的像素点进行重排操作,例如可以使用上述重排方式对滤波后的初始参考块中的像素点进行重排。
[0142]
其中,重排后滤波方式是指对初始参考块中的像素点先进行重排操作,例如可以使用上述重排方式对初始参考块中的像素点进行重排。对重排后的初始参考块中的像素点进行滤波操作,例如可以使用上述滤波方式对重排后的初始参考块中的像素点进行滤波。
[0143]
其中,部分滤波后重排方式是指对初始参考块中的部分像素点(例如顶部或底部或靠近待解码块的部分)先进行滤波操作,例如可以使用上述滤波方式对初始参考块中的部分像素点进行滤波。对滤波后的初始参考块中的部分像素点或全部像素点进行重排操作,例如可以使用上述重排方式对滤波后的初始参考块中的像素点进行重排。
[0144]
需要说明的是,本技术实施例涉及的调整方式包括但不限于上述几种调整方式。
[0145]
在该示例中,上述s720-a1中确定参考块调整索引的值的方式包括从码流中解析出参考块调整索引的值。例如,编码端计算上述每一种调整方式对应的编码代价,将编码代价最小的调整方式确定为目标调整方式,并将目标调整方式对应的参考块调整索引的值编入码流,这样,解码端直接从码流中解析出参考块调整索引的值,并根据表1,将参考块调整索引的值对应的调整方式确定为目标调整方式。
[0146]
示例2,参考块调整索引的值包括2个值,每一个参考块调整索引的值对应一种目标调整方式。在该示例中,参考块调整索引的值与调整方式的对应关系如表2所示:
[0147]
表2
[0148]
参考块调整索引调整方式第一数值第一种调整方式第二数值第二种调整方式
[0149]
其中,第一调整方式包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式。
[0150]
其中,第二调整方式也包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式。但是,第一调整方式与所述第二调整方式不同。
[0151]
在示例中,上述s720-a1中确定参考块调整索引的值的方式包括但不限于如下几种:
[0152]
方式一,从码流中解析出参考块调整索引的值。该方式中编码端确定待解码块的初始参考块的目标调整方式,将该目标调整方式对应的参考块调整索引的值直接编入码流。这样,解码端可以直接从码流中解析出参考块调整索引的值,降低了解码端的工作量,提高了解码效率。
[0153]
方式二,根据初始参考块与待解码块的位置关系,确定参考块调整索引的值。
[0154]
方式三,根据初始参考块的大小,确定参考块调整索引的值。
[0155]
在一些实施例中,上述方式二中根据初始参考块与待解码块的位置关系,确定参考块调整索引的值,包括:若初始参考块位于待解码块的上方,则确定参考块调整索引的值为第一数值;若初始参考块位于待解码块的左方,则确定参考块调整索引的值为第二数值。
[0156]
需要说明的是,上述若初始参考块位于待解码块的上方,则确定参考块调整索引
的值为第一数值;若初始参考块位于待解码块的左方,则确定参考块调整索引的值为第二数值只是一种示例。本实施例还可以根据初始参考块与待解码块之间的其他位置关系,来确定参考块调整索引的值,例如若初始参考块位于待解码块的左上方,则确定参考块调整索引的值为第一数值或第二数值;若初始参考块位于待解码块的右上方,则确定参考块调整索引的值为第一数值或第二数值。
[0157]
在一些实施例中,上述方式二中的根据初始参考块的大小,确定参考块调整索引的值,包括:若初始参考块的宽度大于高度,则确定参考块调整索引的值为第一数值;若初始参考块的宽度小于或等于高度,则确定参考块调整索引的值为第二数值。
[0158]
需要说明的是,上述若初始参考块的宽度大于高度,则确定参考块调整索引的值为第一数值;若初始参考块的宽度小于或等于高度,则确定参考块调整索引的值为第二数值只是一种示例。例如还可以是若初始参考块的宽度大于高度预设值,则确定参考块调整索引的值为第一数值;若初始参考块的宽度小于高度预设值,则确定参考块调整索引的值为第二数值。
[0159]
本实施例对上述第一数值和第二数值的具体取值不做限制。
[0160]
示例的,第一数值为0。
[0161]
示例的,第二数值为1。
[0162]
在一些实施例中,上述s720-a2中根据参考块调整索引的值,确定为目标调整方式包括:
[0163]
若参考块调整索引的值为第一数值,则确定目标调整方式为第一调整方式;
[0164]
若参考块调整索引的值为第二数值,则确定目标调整方式为第二调整方式。
[0165]
其中,第一调整方式和第二调整方式包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式,且第一调整方式与第二调整方式不同。
[0166]
s730、根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块。
[0167]
根据上述s720的方法,确定出待解码块的目标调整方式,使用该目标调整方式对初始参考块中的像素点进行调整,得到调整后的参考块。
[0168]
例如,目标调整方式为滤波后重排方式,则先对初始参考块中的像素点进行滤波。对滤波后的初始参考块中的像素点进行重排,以消除图像中存在的冗余,提高解码效率。
[0169]
s740、根据调整后的参考块,确定待解码块的预测块。
[0170]
在一些实施例中,对调整后的参考块进行处理,得到待解码块的预测块。
[0171]
在一些实施例中,将调整后的参考块作为待解码块的预测块。
[0172]
本实施例还包括解码待解码块的码流,确定待解码块的残差块,根据待解码块的残差块和预测块,得到待解码块的重建块。
[0173]
其中,确定待解码块的残差块以及根据待解码块的残差块和预测块,确定待解码块大的重建块的方式参照已有技术,本实施例对此不再赘述。
[0174]
本技术实施例的解码方法,解码端通过解码待解码块的码流,确定待解码块的初始参考块;确定对初始参考块进行调整的目标调整方式,其中目标调整方式用于对初始参考块中的像素点进行滤波和/或重排操作;根据目标调整方式,对初始参考块中的像素点进
行调整,得到调整后的参考块;根据调整后的参考块,确定待解码块的预测块,进而有效消除了图像中存在的冗余,提高解码效率。
[0175]
在上述实施例的基础上,进一步的,本技术实施例还包括参考块调整标志pred_adjust_flag,参考块调整标志pred_adjust_flag用于指示是否对待解码块的初始参考块进行调整。
[0176]
图8为本技术一实施例提供的视频解码方法的流程示意图,如图8所示,本技术实施例的方法,包括:
[0177]
s801、确定参考块调整标志的值,参考块调整标志用于指示是否对待解码块的初始参考块进行调整。
[0178]
s802、根据参考块调整标志的值,判断是否确定参考块调整索引的值。
[0179]
例如,若确定参考块调整标志的值为第三数值,则确定参考块调整索引的值,参考块调整标志的值为第三数值时指示对待解码块的初始参考块进行调整。
[0180]
例如,若确定参考块调整标志的值为第四数值,则跳过确定参考块调整索引的值的步骤,参考块调整标志的值为第四数值时指示对待解码块的初始参考块不进行调整。
[0181]
本实施例对第三数值和第四数值的具体取值不做限制。
[0182]
示例性的,第三数值为1。
[0183]
示例性的,第四数值为0。
[0184]
在一些实施例中,上述s801中确定参考块调整标志的值包括但不限于如下几种方式:
[0185]
方式一,从码流中解析出参考块调整标志的值。
[0186]
在该方式的一种可能的实现方式中,编码端在确定对待解码块的初始参考块进行调整时,在码流中编入参考块调整标志的值为第三数值,若编码端在确定不对待解码块的初始参考块进行调整时,则在码流中不编入参考块调整标志。这样,解码端若从码流中解析出参考块调整标志的值为第三数值,则确定对待解码块的初始参考块进行调整,若解码端从码流中未解析出参考块调整标志,则确定不对待解码块的初始参考块进行调整。
[0187]
在该方式的另一种可能的实现方式中,编码端在确定对待解码块的初始参考块进行调整时,确定参考块调整标志的值为第三数值,并将第三数值编入码流。若编码端在确定不对待解码块的初始参考块进行调整时,确定参考块调整标志的值为第四数值,并将第四数值编入码流。这样,解码端若从码流中解析出参考块调整标志的值为第三数值时,则确定对待解码块的初始参考块进行调整,若解码端从码流中解析出参考块调整标志的值为第四数值时,则确定不对待解码块的初始参考块进行调整。
[0188]
方式二,根据待解码块的特征信息,确定参考块调整标志的值。
[0189]
本实施例对上述待解码块的特征信息不做限制,可以是待解码块的任意特征信息,例如待解码块的大小、块矢量信息等。
[0190]
在一些实施例中,所述待解码块的特征信息包括如下一个或多个:所述待编解码块的大小、所述待解码块的块矢量分辨率的大小、所述待解码块的块矢量值。
[0191]
本实施例中,根据待解码块的特征信息的不同,确定参考块调整标志的值的方式也不相同。
[0192]
在一种可能的实现方式中,若待解码块的特征信息包括待编码块的大小,则上述
根据待解码块的特征信息,确定参考块调整标志的值,包括:
[0193]
若确定待解码块的宽度和高度均等于不第一预设值,确定参考块调整标志的值为第三数值;
[0194]
若确定待解码块的宽度和高度均等于第一预设值,确定参考块调整标志的值为第四数值。
[0195]
本实施例对上述第一预设值的具体取值不做限制。
[0196]
示例性的,上述第一预设值为16。
[0197]
在一种可能的实现方式中,若待解码块的特征信息包括待解码块的块矢量分辨率,则根据待解码块的特征信息,确定参考块调整标志的值,包括:
[0198]
若确定待解码块的块矢量分辨率等于第二预设值,确定参考块调整标志的值为第三数值;
[0199]
若确定待解码块的块矢量分辨率大于第二预设值,确定参考块调整标志的值为第四数值。
[0200]
本实施例对上述第二预设值的具体取值不做限制。
[0201]
示例性的,上述第二预设值为1。
[0202]
在一种可能的实现方式中,若待解码块的特征信息包括待解码块的块矢量值,则根据待解码块的特征信息,确定参考块调整标志的值,包括:
[0203]
若确定待解码块的块矢量值小于或等于第三预设值,确定参考块调整标志的值为第三数值;
[0204]
若确定待解码块的块矢量值大于第三预设值,确定参考块调整标志的值为第四数值。
[0205]
本实施例对上述第三预设值的具体取值不做限制。
[0206]
s803、若参考块调整标志的值为第三数值时,确定参考块调整索引的值。
[0207]
根据上述步骤,若确定参考块调整标志的值为第三数值时,则确定对待解码块的初始参考块进行调整,接着,确定参考块调整索引的值,以确定目标调整方式。
[0208]
其中,上述确定参考块调整索引的值的过程具体参照上述s720-a1的描述,在此不再赘述。
[0209]
s804、根据参考块调整索引的值,确定为目标调整方式。
[0210]
s805、根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块。
[0211]
s806、根据调整后的参考块,确定待解码块的预测块。
[0212]
上述s804至s806的执行过程参照上述s720-a2、s730和s740的描述,在此不再赘述。
[0213]
本技术实施例通过设置参考块调整标志,以指示是否对待解码块的初始参考块进行调整,这样解码端首先根据参考块调整标志的值,确定否对待解码块的初始参考块进行调整,在确定对待解码块的初始参考块进行调整时,执行后续的调整操作,进而提高了调整的准确性,避免解码端做无用功,进一步提高了解码效率。
[0214]
上文结合图7和图8,对解码端提供的视频解码方法进行介绍,在此基础上,下面以编码端为例,对编码端的视频解码方法进行介绍。
[0215]
图9为本技术一实施例提供的视频编码方法的流程示意图。如图9所示,本实施例的编码方法,包括:
[0216]
s901、获取待编码块,并对待编码块进行处理,得到待编码块的初始参考块。
[0217]
在一些实施例中,上述待编码块也可以称为当前块、待编码的图像块,待处理的图像块,当前待编的图像块等。
[0218]
本步骤中确定待编码块的初始参考块的方式可以参照已有技术,例如,从当前图像已编码区域中查找待编码块的参考块,将该参考块作为待编码块的初始参考块。
[0219]
s902、确定对初始参考块进行调整的目标调整方式,其中目标调整方式用于对初始参考块中的像素点进行滤波和/或重排操作。
[0220]
在一些实施例中,本技术所述的对参考块进行滤波和/或重排操作也可以理解为对待编码块的初始预测值进行滤波和/或重排操作。
[0221]
在一些实施例中,编码端计算上述表1所示的各调整方式对应的编码代价,将编码代价最小的调整方式作为目标调整方式。
[0222]
在一些实施例中,上述s902中确定对初始参考块进行调整的目标调整方式的方式包括但不限于如下几种:
[0223]
方式一,根据初始参考块与所述待编码块的位置关系,确定所述目标调整方式。
[0224]
在一些实施例中,上述方式一包括:若所述初始参考块位于所述待编码块的上方,则确定所述目标调整方式为第一调整方式;若所述初始参考块位于所述待编码块的左方,则确定所述目标调整方式为第二调整方式。
[0225]
可选的,目标调整方式包括第一调整方式或第二调整方式,其中,所述第一调整方式和所述第二调整方式包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式,且所述第一调整方式与所述第二调整方式不同。
[0226]
需要说明的是,上述若初始参考块位于待编码块的上方,则确定所述目标调整方式为第一调整方式;若初始参考块位于待编码块的左方,则确定所述目标调整方式为第二调整方式只是一种示例。本实施例还可以根据初始参考块与待编码块之间的其他位置关系,来确定所述目标调整方式,例如若初始参考块位于待编码块的左上方,则确定所述目标调整方式为第一调整方式或第二调整方式;若初始参考块位于待编码块的右上方,则确定所述目标调整方式为第一调整方式或第二调整方式。
[0227]
方式二,根据所述初始参考块的大小,确定所述目标调整方式。
[0228]
在一些实施例中,上述方式二包括:若所述初始参考块的宽度大于高度,则确定所述目标调整方式为第一调整方式;若所述初始参考块的宽度小于或等于高度,则确定所述目标调整方式为第二调整方式。
[0229]
需要说明的是,上述若初始参考块的宽度大于高度,则确定所述目标调整方式为第一调整方式;若初始参考块的宽度小于或等于高度,则确定所述目标调整方式为第二调整方式只是一种示例。例如还可以是若初始参考块的宽度大于高度预设值,则确定所述目标调整方式为第一调整方式;若初始参考块的宽度小于高度预设值,则确定所述目标调整方式为第二调整方式。
[0230]
在一些实施例中,本技术实施例还包括:根据所述目标调整方式,确定参考块调整
索引的值,所述参考块调整索引用于指示所述目标调整方式;将所述参考块调整索引的值编入码流。
[0231]
例如,若所述目标调整方式为所述第一调整方式,则确定所述参考块调整索引的值为第一数值。
[0232]
例如,若所述目标调整方式为所述第二调整方式,则确定所述参考块调整索引的值为第二数值。
[0233]
本实施例对第一数值和第二数值的具体取值不做限制。
[0234]
示例性的,第一数值为1。
[0235]
示例性的,第二数值为0。
[0236]
该实施例中编码端确定待解码块的初始参考块的目标调整方式,将该目标调整方式对应的参考块调整索引的值直接编入码流。这样,解码端可以直接从码流中解析出参考块调整索引的值,降低了解码端的工作量,提高了解码效率
[0237]
s903、根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块。
[0238]
s904、根据调整后的参考块,确定待编码块的预测块。
[0239]
上述s903与s904的实现过程可以参照上述s730和s740的描述,在此不再赘述。
[0240]
本实施例还包括编码待编码块的码流,确定待编码块的残差块,根据待编码块的残差块和预测块,得到待编码块的重建块。
[0241]
其中,确定待编码块的残差块以及根据待编码块的残差块和预测块,确定待编码块大的重建块的方式参照已有技术,本实施例对此不再赘述。
[0242]
本技术实施例的编码方法,编码端通过获取待编码块,并确定待编码块的初始参考块;确定对初始参考块进行调整的目标调整方式,其中目标调整方式用于对初始参考块中的像素点进行滤波和/或重排操作;根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块;根据调整后的参考块,确定待编码块的预测块,进而有效消除了图像中存在的冗余,提高编码效率。
[0243]
图10为本技术一实施例提供的视频编码方法的流程示意图。如图10所示,本实施例的编码方法包括:
[0244]
s101、根据待编码块的特征信息,确定是否对待编码块的初始参考块进行调整。
[0245]
本实施例对上述待编码块的特征信息不做限制,可以是待编码块的任意特征信息,例如待编码块的大小、块矢量信息等。
[0246]
在一些实施例中,待编码块的特征信息包括如下一个或多个:待编码块的大小、待编码块的块矢量分辨率的大小、待编码块的块矢量值。
[0247]
在一些实施例中,若待编码块的特征信息包括待编码块的大小,则上述s101包括:若确定待编码块的宽度和高度均等于不第一预设值,确定对待编码块的初始参考块进行调整;若确定待编码块的宽度和高度均等于第一预设值,确定不对待编码块的初始参考块进行调整。
[0248]
在一些实施例中,若待编码块的特征信息包括待编码块的块矢量分辨率,则s101包括:若确定待编码块的块矢量分辨率等于第二预设值,确定对待编码块的初始参考块进行调整;若确定待编码块的块矢量分辨率大于第二预设值,确定不对待编码块的初始参考
块进行调整。
[0249]
在一些实施例中,若待编码块的特征信息包括待编码块的块矢量值,则s101包括:若确定待编码块的块矢量值小于或等于第三预设值,确定对待编码块的初始参考块进行调整;若确定待编码块的块矢量值大于第三预设值,确定不对待编码块的初始参考块进行调整。
[0250]
在一些实施例中,本实施例还包括:确定参考块调整标志的值,参考块调整标志用于指示是否对待编码块的初始参考块进行调整;将参考块调整标志的值编入码流。
[0251]
例如,若确定对待编码块的初始参考块进行调整时,则确定参考块调整标志的值为第三数值,并将第三数值编入码流。
[0252]
例如,若确定不对待编码块的初始参考块进行调整时,则确定参考块调整标志的值为第四数值,并将第四数值编入码流。
[0253]
s102、在确定对待编码块的初始参考块进行调整时,确定对初始参考块进行调整的目标调整方式。
[0254]
上述s102的实现过程可以参照上述s902的描述,在此不再赘述。
[0255]
s103、根据目标调整方式,对初始参考块中的像素点进行调整,得到调整后的参考块。
[0256]
s104、根据调整后的参考块,确定待编码块的预测块。
[0257]
上述s103与s104的实现过程可以参照上述s730和s740的描述,在此不再赘述。
[0258]
在一些实施例中,本技术实施例还包括:
[0259]
s105、根据目标调整方式,确定参考块调整索引的值,参考块调整索引用于指示目标调整方式。例如,若所述目标调整方式为所述第一调整方式,则确定所述参考块调整索引的值为第一数值;若所述目标调整方式为所述第二调整方式,则确定所述参考块调整索引的值为第二数值。
[0260]
s106、将参考块调整索引的值编入码流。
[0261]
本技术实施例首先根据待编码块的特征信息,确定是否对待编码块的初始参考块进行调整,在确定对待解码块的初始参考块进行调整时,执行后续的调整操作,进而提高了调整的准确性,避免编码端做无用功,进一步提高了编码效率。
[0262]
应理解,图7至图10仅为本技术的示例,不应理解为对本技术的限制。
[0263]
以上结合附图详细描述了本技术的优选实施方式,但是,本技术并不限于上述实施方式中的具体细节,在本技术的技术构思范围内,可以对本技术的技术方案进行多种简单变型,这些简单变型均属于本技术的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本技术对各种可能的组合方式不再另行说明。又例如,本技术的各种不同的实施方式之间也可以进行任意组合,只要其不违背本技术的思想,其同样应当视为本技术所公开的内容。
[0264]
还应理解,在本技术的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。另外,本技术实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,a和/或b可以表示:单独存在a,同时存在a和
b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0265]
上文结合图7至图10,详细描述了本技术的方法实施例,下文结合图11至图13,详细描述本技术的装置实施例。
[0266]
图11是本技术实施例提供的视频解码装置的示意性框图。
[0267]
如图11所示,该视频解码装置100可包括:
[0268]
解码单元101,用于解码待解码块的码流,确定所述待解码块的初始参考块;
[0269]
确定单元102,用于确定对所述初始参考块进行调整的目标调整方式,所述目标调整方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
[0270]
调整单元103,用于根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
[0271]
预测单元104,用于根据所述调整后的参考块,确定所述待解码块的预测块。
[0272]
在一些实施例中,确定单元102,具体用于确定参考块调整索引的值,所述参考块调整索引用于指示所述目标调整方式;根据所述参考块调整索引的值,确定为所述目标调整方式。
[0273]
在一些实施例中,确定单元102,具体用于从所述码流中解析出所述参考块调整索引的值;或者,
[0274]
根据所述初始参考块与所述待解码块的位置关系,确定所述参考块调整索引的值;或者,
[0275]
根据所述初始参考块的大小,确定所述参考块调整索引的值。
[0276]
在一些实施例中,确定单元102,具体用于若所述初始参考块位于所述待解码块的上方,则确定所述参考块调整索引的值为第一数值;
[0277]
若所述初始参考块位于所述待解码块的左方,则确定所述参考块调整索引的值为第二数值。
[0278]
在一些实施例中,确定单元102,具体用于若所述初始参考块的宽度大于高度,则确定所述参考块调整索引的值为第一数值;
[0279]
若所述初始参考块的宽度小于或等于高度,则确定所述参考块调整索引的值为第二数值。
[0280]
在一些实施例中,确定单元102,具体用于若所述参考块调整索引的值为第一数值,则确定所述目标调整方式为第一调整方式;
[0281]
若所述参考块调整索引的值为第二数值,则确定所述目标调整方式为第二调整方式;
[0282]
其中,所述第一调整方式和所述第二调整方式包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式,且所述第一调整方式与所述第二调整方式不同。
[0283]
在一些实施例中,确定单元102,还用于所述确定参考块调整索引的值之前,确定参考块调整标志的值,所述参考块调整标志用于指示是否对所述待解码块的初始参考块进行调整;根据所述参考块调整标志的值,判断是否确定所述参考块调整索引的值。
[0284]
在一些实施例中,确定单元102,具体用于若确定所述参考块调整标志的值为第三
数值,则确定参考块调整索引的值,所述参考块调整标志的值为第三数值时指示对所述待解码块的初始参考块进行调整;
[0285]
若确定所述参考块调整标志的值为第四数值,则跳过确定参考块调整索引的值的步骤,所述参考块调整标志的值为第四数值时指示对所述待解码块的初始参考块不进行调整。
[0286]
在一些实施例中,确定单元102,具体用于从所述码流中解析出所述参考块调整标志的值;或者,
[0287]
根据所述待解码块的特征信息,确定所述参考块调整标志的值。
[0288]
在一些实施例中,所述待解码块的特征信息包括如下一个或多个:所述待解码块的大小、所述待解码块的块矢量分辨率的大小、所述待解码块的块矢量值。
[0289]
在一些实施例中,若所述待解码块的特征信息包括所述待编码块的大小,确定单元102,具体用于若确定所述待解码块的宽度和高度均等于不第一预设值,确定所述参考块调整标志的值为第三数值;
[0290]
若确定所述待解码块的宽度和高度均等于第一预设值,确定所述参考块调整标志的值为第四数值。
[0291]
在一些实施例中,若所述待解码块的特征信息包括所述待解码块的块矢量分辨率,则确定单元102,具体用于若确定所述待解码块的块矢量分辨率等于第二预设值,确定所述参考块调整标志的值为第三数值;
[0292]
若确定所述待解码块的块矢量分辨率大于第二预设值,确定所述参考块调整标志的值为第四数值。
[0293]
在一些试试开中,若所述待解码块的特征信息包括所述待解码块的块矢量值,则确定单元102,具体用于若确定所述待解码块的块矢量值小于或等于第三预设值,确定所述参考块调整标志的值为第三数值;
[0294]
若确定所述待解码块的块矢量值大于第三预设值,确定所述参考块调整标志的值为第四数值。
[0295]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图11所示的装置可以执行上述解码端对应的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述解码端对应的方法实施例的相应流程,为了简洁,在此不再赘述。
[0296]
图12是本技术实施例提供的视频编码装置的示意性框图。
[0297]
如图12所示,该视频编码装置200可包括:
[0298]
处理单元201,用于获取待编码块,并对所述待编码块进行处理,得到所述待编码块的初始参考块;
[0299]
确定单元202,用于确定对所述初始参考块进行调整的目标调整方式,所述目标调整方式用于对所述初始参考块中的像素点进行滤波和/或重排操作;
[0300]
调整单元203,用于根据所述目标调整方式,对所述初始参考块中的像素点进行调整,得到调整后的参考块;
[0301]
编码单元204,用于根据所述调整后的参考块,确定所述待编码块的预测块。
[0302]
在一些实施例中,确定单元202,具体用于根据所述初始参考块与所述待编码块的
位置关系,确定所述目标调整方式;或者,根据所述初始参考块的大小,确定所述目标调整方式。
[0303]
在一些实施例中,所述目标调整方式包括第一调整方式或第二调整方式,其中,所述第一调整方式和所述第二调整方式包括如下任意一种调整方式:滤波方式、重排方式、滤波后重排方式、重排后滤波方式、部分滤波后重排方式,且所述第一调整方式与所述第二调整方式不同。
[0304]
在一些实施例中,确定单元202,具体用于若所述初始参考块位于所述待编码块的上方,则确定所述目标调整方式为第一调整方式;若所述初始参考块位于所述待编码块的左方,则确定所述目标调整方式为第二调整方式。
[0305]
在一些实施例中,确定单元202,具体用于若所述初始参考块的宽度大于高度,则确定所述目标调整方式为第一调整方式;若所述初始参考块的宽度小于或等于高度,则确定所述目标调整方式为第二调整方式。
[0306]
在一些实施例中,确定单元202,还用于根据所述目标调整方式,确定参考块调整索引的值,所述参考块调整索引用于指示所述目标调整方式;
[0307]
编码单元204,用于将所述参考块调整索引的值编入码流。
[0308]
在一些实施例中,确定单元202,具体用于若所述目标调整方式为所述第一调整方式,则确定所述参考块调整索引的值为第一数值;若所述目标调整方式为所述第二调整方式,则确定所述参考块调整索引的值为第二数值。
[0309]
在一些实施例中,确定单元202,具体用于所述确定对所述初始参考块进行调整的目标调整方式之前,根据所述待编码块的特征信息,确定是否对所述待编码块的初始参考块进行调整;在确定对所述待编码块的初始参考块进行调整时,确定对所述初始参考块进行调整的目标调整方式。
[0310]
在一些实施例中,所述待编码块的特征信息包括如下一个或多个:所述待编码块的大小、所述待编码块的块矢量分辨率的大小、所述待编码块的块矢量值。
[0311]
在一些实施例中,若所述待编码块的特征信息包括所述待编码块的大小,则确定单元202,具体用于若确定所述待编码块的宽度和高度均等于不第一预设值,确定对所述待编码块的初始参考块进行调整;若确定所述待编码块的宽度和高度均等于第一预设值,确定不对所述待编码块的初始参考块进行调整。
[0312]
在一些实施例中,若所述待编码块的特征信息包括所述待编码块的块矢量分辨率,则确定单元202,具体用于若确定所述待编码块的块矢量分辨率等于第二预设值,确定对所述待编码块的初始参考块进行调整;若确定所述待编码块的块矢量分辨率大于第二预设值,确定不对所述待编码块的初始参考块进行调整。
[0313]
在一些实施例中,若所述待编码块的特征信息包括所述待编码块的块矢量值,则确定单元202,具体用于若确定所述待编码块的块矢量值小于或等于第三预设值,确定对所述待编码块的初始参考块进行调整;若确定所述待编码块的块矢量值大于第三预设值,确定不对所述待编码块的初始参考块进行调整。
[0314]
在一些实施例中,确定单元202,还用于确定参考块调整标志的值,所述参考块调整标志用于指示是否对所述待编码块的初始参考块进行调整;
[0315]
编码单元204,还用于将所述参考块调整标志的值编入所述码流。
[0316]
在一些实施例中,确定单元202,具体用于若确定对所述待编码块的初始参考块进行调整时,则确定所述参考块调整标志的值为第三数值;若确定不对所述待编码块的初始参考块进行调整时,则确定所述参考块调整标志的值为第四数值。
[0317]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图12所示的装置可以执行上述编码端对应的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述编码端对应的方法实施例的相应流程,为了简洁,在此不再赘述。
[0318]
上文中结合附图从功能模块的角度描述了本技术实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本技术实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本技术实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0319]
图13是本技术实施例提供的计算设备的示意性框图。
[0320]
如图13所示,该计算设备30可以为本技术实施例所述的视频解码器或视频编码器,该计算设备30可包括:
[0321]
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本技术实施例中的方法。
[0322]
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法200中的步骤。
[0323]
在本技术的一些实施例中,该处理器32可以包括但不限于:
[0324]
通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
[0325]
在本技术的一些实施例中,该存储器33包括但不限于:
[0326]
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0327]
在本技术的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本技术提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该解码设备30中的执行过程。
[0328]
如图13所示,该解码设备30还可包括:
[0329]
收发器33,该收发器33可连接至该处理器32或存储器33。
[0330]
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
[0331]
应当理解,该解码设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
[0332]
本技术还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
[0333]
本技术实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
[0334]
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0335]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0336]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0337]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的
部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0338]
以上该,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以该权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1