串复制帧内预测的编解码方法、装置及设备与流程

文档序号:31844455发布日期:2022-10-18 23:26阅读:85来源:国知局
串复制帧内预测的编解码方法、装置及设备与流程

1.本技术实施例涉及图像处理技术领域,尤其涉及一种串复制帧内预测的编解码方法、装置及设备。


背景技术:

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


技术实现要素:

5.本技术提供一种串复制帧内预测的编解码方法、装置及设备,以提高编解码器的吞吐率,进而提升编码效率。
6.第一方面,提供一种串复制帧内预测的解码方法,包括:
7.解码码流,得到待解码的当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同解码方式;
8.对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
9.对所述m组语法元素中每一组语法元素进行解码,得到所述当前块中至少一个像素串的语法元素;
10.根据所述当前块中至少一个像素串的语法元素,确定所述当前块的预测值。
11.第二方面,提供一种串复制帧内预测的编码方法,包括:
12.获取当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同编码方式;
13.对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
14.对所述m组语法元素中每一组语法元素进行编码,得到码流。
15.第三方面,提供一种串复制帧内预测的解码装置,包括:
16.第一解码单元,用于解码码流,得到待解码的当前块中至少一个像素串的语法元
素,所述语法元素包括至少两种不同解码方式;
17.分组单元,用于对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
18.第二解码单元,用于对所述m组语法元素中每一组语法元素进行解码,得到所述当前块中至少一个像素串的语法元素;
19.确定单元,用于根据所述当前块中至少一个像素串的语法元素,确定所述当前块的预测值。
20.第四方面,提供一种串复制帧内预测的编码装置,包括:
21.获取单元,用于获取当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同编码方式;
22.分组单元,用于对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
23.编码单元,用于对所述m组语法元素中每一组语法元素进行编码,得到码流。
24.第五方面,提供了一种解码设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
25.第六方面,提供了一种编码设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
26.第七方面,提供了一种计算设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或第二方面中的方法。
27.第八方面,提供了一种芯片,用于实现上述第一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面或第二方面中的方法。
28.第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面或第二方面中的方法。
29.第十方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面或第二方面中的方法。
30.第十一方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中的方法。
31.通过本技术提供的技术方案,对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;对所述m组语法元素中每一组语法元素进行编码或解码,在具体的硬件实现里面,将不同编码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提高编解码器的吞吐率,进而提升编码效率。
附图说明
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.图14是本技术实施例提供的计算设备的示意性框图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
49.本技术可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域等。例如,本技术的方案可结合至音视频编码标准(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)扩展。应理解,本技术的技术不限于任何特定编解码标准或技术。
50.为了便于理解,首先结合图1对本技术实施例涉及的视频编解码系统进行介绍。
51.图1为本技术实施例涉及的一种视频编解码系统100的示意性框图。需要说明的是,图1只是一种示例,本技术实施例的视频编解码系统包括但不限于图1所示。如图1所示,该视频编解码系统100包含编码设备110和解码设备120。其中编码设备用于对视频数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的视频数据。
52.本技术实施例的编码设备110可以理解为具有视频编码功能的设备,解码设备120可以理解为具有视频解码功能的设备,即本技术实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。
53.在一些实施例中,编码设备110可以经由信道130将编码后的视频数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的视频数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
54.在一个实例中,信道130包括使编码设备110能够实时地将编码后的视频数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的视频数据,且将调制后的视频数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
55.在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的视频数据。存储介质包含多种本地存取式数据存储介质,例如光盘、dvd、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的视频数据。
56.在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的视频数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的视频数据。可选的,该存储服务器可以存储编码后的视频数据且可以将该编码后的视频数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(ftp)服务器等。
57.一些实施例中,编码设备110包含视频编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
58.在一些实施例中,编码设备110除了包括视频编码器112和输入接口113外,还可以包括视频源111。
59.视频源111可包含视频采集装置(例如,视频相机)、视频存档、视频输入接口、计算机图形系统中的至少一个,其中,视频输入接口用于从视频内容提供者处接收视频数据,计算机图形系统用于产生视频数据。
60.视频编码器112对来自视频源111的视频数据进行编码,产生码流。视频数据可包括一个或多个图像(picture)或图像序列(sequence of pictures)。码流以比特流的形式包含了图像或图像序列的编码信息。编码信息可以包含编码图像数据及相关联数据。相关联数据可包含序列参数集(sequence parameter set,简称sps)、图像参数集(picture parameter set,简称pps)及其它语法结构。sps可含有应用于一个或多个序列的参数。pps可含有应用于一个或多个图像的参数。语法结构是指码流中以指定次序排列的零个或多个语法元素的集合。
61.视频编码器112经由输出接口113将编码后的视频数据直接传输到解码设备120。编码后的视频数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
62.在一些实施例中,解码设备120包含输入接口121和视频解码器122。
63.在一些实施例中,解码设备120除包括输入接口121和视频解码器122外,还可以包括显示装置123。
64.其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的视频数据。
65.视频解码器122用于对编码后的视频数据进行解码,得到解码后的视频数据,并将解码后的视频数据传输至显示装置123。
66.显示装置123显示解码后的视频数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(lcd)、等离子体显示器、有机发光二极管(oled)显示器或其它类型的显示装置。
67.此外,图1仅为实例,本技术实施例的技术方案不限于图1,例如本技术的技术还可以应用于单侧的视频编码或单侧的视频解码。
68.下面对本技术实施例涉及的视频编码框架进行介绍。
69.图2为本技术实施例提供的编码框架的示意图。
70.如图2所示,该编码框架包括:预测单元11、残差产生单元12、变换单元13、量化单元14、逆量化单元15、逆变换单元16、重建单元17、滤波单元18及熵编码单元19。预测单元11包含帧间预测单元11a及帧内预测单元112。帧间预测单元11a包含运动估计单元11a1及运动补偿单元11a2。
71.其中,编码端接收到视频之后,对于构成视频的每帧图像,将该图像划分成多个待编码图像块。对于当前待编码图像块,预测单元11首先通过参考重建图像块对当前待编码图像块进行预测,得到当前待编码图像块的预测信息。其中,编码端可以采用帧间预测或者帧内预测技术得到预测信息。
72.具体地,帧间预测单元11a中的运动估计单元11a1可搜索参考图片的列表中的参考图片以查找待编码图像块的参考块。运动估计单元11a1可产生指示该参考块的索引,及指示待编码图像块与该参考块之间的空间位移的运动向量。运动估计单元11a1可将参考块的索引及该运动向量作为该待编码图像块的运动信息而输出。运动补偿单元11a2可基于该待编码图像块的运动信息得到该待编码图像块的预测信息。
73.帧内预测单元112可以采用帧内预测模式对当前待编码图像块产生预测信息。目前存在15种帧内预测模式,包括planar模式、dc模式以及13种角度预测模式。帧内预测单元112也可以采用帧内块复制(intra block copy,ibc)、帧内串复制(intra string copy,isc)技术等。
74.残差产生单元12用于对当前待编码图像块的原始信号减去预测信息,得到残差信号。经过预测后,残差信号的幅值远小于原始信号。变换单元13和量化单元14用于对残差信号进行变换和量化操作。经过变换量化后,得到变换量化系数。熵编码单元19用于通过熵编码技术编码量化系数以及编码中的其他指示信息,得到码流。
75.进一步地,编码端还需要重建当前待编码图像块,以实现对后续待编码图像块的编码提供参考像素。具体地,在得到当前待编码图像块的变换量化系数之后,逆量化单元15
和逆变换单元16对当前待编码图像块的变换量化系数进行反量化和反变换,得到重建的残差信号,重建单元17将重建的残差信号与当前待编码图像块对应的预测信息相加,得到当前待编码图像块的重建信号,根据该重建信号得到重建图像块。更进一步地,滤波单元18可以对重建图像块可以进行滤波,其中可以采用去块效应滤波、自适应样点补偿(sample adaptive offset,sao)或者自适应环路滤波(adaptive loop filter,alf)等。其中,该重建图像块可以对后续待编码图像块进行预测。
76.图3是本技术实施例提供的解码框架的示意性框图。
77.如图3所示,该解码框架包括:熵解码单元21、预测单元22、逆量化单元23、逆变换单元24、重建单元25、滤波单元26。预测单元22包括:运动补偿单元221及帧内预测单元222。
78.具体地,解码端获取到码流之后,首先熵解码单元21对码流进行熵解码,得到当前待重建图像块的变换量化系数,然后逆量化单元23和逆变换单元24对变换量化系数进行反量化和反变换,得到当前待重建图像块的重建的残差信号。预测单元22对当前待重建图像块进行预测,得到当前待重建图像块的预测信息。如果预测单元22采用帧间预测,则运动补偿单元221可根据从码流解析的语法元素来构造第一参考图片列表(列表0)及第二参考图片列表(列表1)。此外,则熵解码单元21可解析待重建图像块的运动信息。运动补偿单元221可根据该运动信息来确定待重建图像块的一个或多个参考块。运动补偿单元221可根据一个或多个参考块来产生待重建图像块的预测信息。如果预测单元22采用帧内预测,则熵解码单元21可解析使用的帧内预测模式的索引,帧内预测单元222可以根据该索引,采用该帧内预测模式进行帧内预测,得到待重建图像块的预测信息。帧内预测单元222也可以采用ibc或者isc技术等。
79.进一步地,重建单元25用于将预测信息和上述重建的残差信号相加,得到当前待重建图像块的重建信号,然后根据该重建信号得到当前待重建图像块对应的当前重建图像块,其中,该当前重建图像块可以对后续其他待重建图像块进行预测。类似于上述编码端的情况,可选地,在解码端滤波单元26可以对当前重建图像块进行滤波。
80.需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
81.上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本技术适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
82.需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
83.上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本技术适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
84.下面对串复制帧内预测技术进行介绍。
85.由上述可知,帧间预测包括运动补偿,运动补偿是基于视频内容在时域或空域的冗余特性,从已编码的区域导出当前编码块的预测值。运动补偿包括帧间预测、块复制帧内预测、串复制帧内预测等,在具体的编码实现中,可能单独或组合使用这些预测方法。
86.串复制帧内预测技术(intra string copy,简称isc)也称为帧内串复制技术,串复制帧内预测技术按照某种扫描顺序(光栅扫描、往返扫描和zig-zag扫描等)将一个编码块分成一系列像素串或未匹配像素。类似于帧内块复制(intra block copy,简称ibc),每个串在当前图像已编码区域中寻找相同形状的参考串,基于此,导出当前串的预测信息,通过编码当前串的原始信号与预测信息,得到当前串的残差信号,并对该残差信号进行编码。
87.图4是本技术实施例涉及的一种串复制帧内预测技术的示意图,如图4所示,深灰色的区域为已编码区域,当前编码块被分成了3个串,其中串1和串3是匹配串,串2是不完全匹配串。串2中为黑色的1个像素表示未匹配像素,其余三个白色像素均为匹配像素。未匹配像素也称为孤立点,未匹配像素的预测值被直接编码,而不是通过预测值导出。匹配串的预测值根据串矢量得到,不完全匹配串根据串矢量得到初始预测值,然后使用未匹配像素值替换对应位置的预测值,导出最终的预测值。
88.串复制帧内预测模式包括第一子模式和第二子模式。
89.在一些实施例中,第一子模式也称为普通串子模式,第二子模式也称为非普通串子模式,可选的,非普通串子模式又可以称为等值串与单位基矢量串子模式。
90.以下为普通串子模式相关语法元素的语义描述:
91.串复制帧内预测的匹配类型isc_match_type[i]
[0092]
值为
‘1’
表示当前编码单元的第i部分是一个匹配串;值为
‘0’
表示第i部分是一个不完全匹配串。iscmatchtype[i]等于isc_match_type[i]的值。如果位流中不存在isc_match_type[i],iscmatchtype[i]的值为0。
[0093]
剩余样本数量isc_next_remaining_pixel_in_cu[i]
[0094]
完成当前编码单元第i部分的解码之后,当前编码单元中剩余的尚未解码的样本的数目。iscnextremainingpixelincu[i]的值等于isc_next_remaining_pixel_in_cu[i]的值。
[0095]
样本匹配类型标志isc_pixel_match_type[i][j]
[0096]
值为
‘1’
表示当前编码单元的第i部分的第j个像素是一个匹配样本;值为
‘0’
表示是一个未匹配样本。iscpixelmatchtype[i][j]等于isc_pixel_match_type[i][j]的值。如果位流中不存在isc_pixel_match_type[i][j],iscpixelmatchtype[i][j]的值为1。
[0097]
串复制帧内预测未匹配样本亮度分量值isc_unmatched_pixel_y[i][j]
[0098]
串复制帧内预测未匹配样本色度cb分量值isc_unmatched_pixel_cb[i][j]
[0099]
串复制帧内预测未匹配样本色度cr分量值isc_unmatched_pixel_cr[i][j]
[0100]
普通串子模式中的当前编码单元第i部分的第j个未匹配像素的亮度分量、色度cb分量和色度cr分量的值。iscunmatchedpixely[i][j]、iscunmatchedpixelcb[i][j]和iscunmatchedpixelcr[i][j]分别等于isc_unmatched_pixel_y[i][j]、isc_unmatched_pixel_cb[i][j]和isc_unmatched_pixel_cr[i][j]的值。
[0101]
串矢量上方标志isc_sv_above_flag[i]
[0102]
值为
‘1’
表示当前编码单元第i部分的串矢量是(0,-1);值为
‘0’
表示串矢量不是
(0,-1)。iscsvaboveflag[i]等于isc_sv_above_flag[i]的值。
[0103]
串矢量历史标志isc_sv_recent_flag[i]
[0104]
值为
‘1’
表示应从帧内复制历史信息表中导出当前编码单元第i部分的串矢量;值为
‘0’
表示不应从帧内复制历史信息表中导出串矢量。iscsvrecentflag[i]等于isc_sv_recent_flag[i]的值。如果位流中不存在isc_sv_recent_flag[i],iscsvrecentflag[i]的值为0。
[0105]
如果iscsvaboveflag[i]和iscsvrecentflag[i]的值均为0,当前编码单元第i部分的串矢量的x分量的值由iscsvxnonzeroflag[i]、iscsvxsign[i]和iscsvxabs[i]确定,y分量的值由iscsvysign[i]和iscsvyabs[i]确定。
[0106]
串矢量历史索引isc_sv_recent_index[i]
[0107]
当前编码单元第i部分的串矢量在帧内复制历史信息表中的索引值。iscsvrecentindex[i]的值等于isc_sv_recent_index[i]的值。
[0108]
串矢量y分量绝对值isc_sv_y_abs[i]
[0109]
当前编码单元第i部分的串矢量的y分量的绝对值。iscsvyabs[i]等于isc_sv_y_abs[i]的值。
[0110]
串矢量y分量符号位isc_sv_y_sign[i]
[0111]
当前编码单元第i部分的串矢量的y分量的符号位。值为
‘1’
表示y分量的值为负数;值为
‘0’
表示y分量的值为正数。iscsvysign[i]等于isc_sv_y_sign[i]的值。如果位流中不存在isc_sv_y_sign[i],则iscsvysign[i]的值为1。
[0112]
串矢量x分量符号位isc_sv_x_sign[i]
[0113]
当前编码单元第i部分的串矢量的x分量的符号位。值为
‘1’
表示x分量的值为负数;值为
‘0’
表示x分量的值为正数。iscsvxsign[i]等于isc_sv_x_sign[i]的值。如果位流中不存在isc_sv_x_sign[i],iscsvxsign[i]的值为1。
[0114]
串矢量x分量绝对值isc_sv_x_abs_minus1[i]
[0115]
当前编码单元第i部分的串矢量的x分量的绝对值减1。iscsvxabs[i]等于isc_sv_x_abs_minus1[i]的值加1。如果位流中不存在isc_sv_x_abs_minus1[i],iscsvxabs[i]等于0。
[0116]
串矢量x分量标志isc_sv_x_non_zero_flag[i]
[0117]
值为
‘1’
表示当前编码单元第i部分的串矢量的x分量的值不等于0;值为
‘0’
表示x分量的值等于0。iscsvxnonzeroflag[i]等于isc_sv_x_non_zero_flag[i]的值。如果位流中不存在isc_sv_x_non_zero_flag[i],iscsvxnonzeroflag[i]的值为1。需要说明的是,上述各语法元素只是一种示例,其中文名称和英文名称可能会发生变化,本实施例对此不做限制。
[0118]
等值串与单位矢量串模式是串复制帧内预测的一种子模式,在2020年10月被采纳至avs3标准中。类似于串复制帧内预测,该模式将一个编码/解码块按照某种扫描顺序将划分为一系列的像素串或未匹配像素,像素串的类型可以为等值串或单位基矢量串。等值串的特点在于像素串中所有像素具有相同的预测值。单位矢量串(也称为单位基矢量串,单位偏移串,复制上方串等)的特点在于其位移矢量为(0,-1),该串的每个像素使用上方的像素作为当前像素的预测值。等值串模式需要在码流中对当前编码块各个串的类型,长度和预
测值信息进行编码。与第一子模式(普通串子模式)一样,未匹配像素的预测值被直接编码,而不是通过预测值导出。图5为本技术实施例涉及的等值串与单位基矢量串子模式的示意图,其中深灰色的串均为等值串,浅灰色的串为单位基矢量串,黑色串为未匹配像素。
[0119]
以下为等值串与单位基矢量串子模式相关语法元素的语义描述:
[0120]
串复制帧内预测未匹配样本串存在标志isc_ups_present_flag
[0121]
二值变量。值为
‘1’
表示当前编码单元中存在未匹配样本串;值为
‘0’
表示当前编码单元中不存在未匹配样本串。iscupspresentflag的值等于isc_ups_present_flag的值。如果位流中不存在isc_ups_present_flag,iscupspresentflag的值为0。
[0122]
新增点矢量数isc_num_of_new_pv
[0123]
当前编码单元中新增点矢量的个数。iscnumofnewpv的值等于isc_num_of_new_pv的值。如果位流中不存在isc_num_of_new_pv,则iscnumofnewpv的值为0。
[0124]
复用点矢量数isc_num_of_reused_pv
[0125]
表示当前编码单元中复用历史点预测信息表prevppinfolist中的点矢量数。iscnumofreusedpv的值等于isc_num_of_reused_pv的值。如果位流中不存在isc_num_of_reused_pv,iscnumofreusedpv的值为0。
[0126]
历史点预测信息表中连续排列的不复用点矢量数isc_prev_pv_not_reused_run
[0127]
表示在从历史点预测信息表prevppinfolist中选择复用的点矢量时,连续排列的不复用的点矢量数。iscprevpvnotreusedrun的值等于isc_prev_pv_not_reused_run的值。如果位流中不存在isc_prev_pv_not_reused_run,iscprevpvnotreusedrun的值为0。
[0128]
未匹配样本串长度最大值isc_ups_max_length_minus1
[0129]
isc_ups_max_length_minus1的值加1表示当前编码单元中所有未匹配样本串长度的最大值。iscupsmaxlengthminus1的值等于isc_ups_max_length_minus1的值。如果位流中不存在isc_ups_max_length_minus1,iscupsmaxlengthminus1的值为0。
[0130]
等值串或未匹配样本串数isc_evs_ups_num_minus1
[0131]
用于确定连续的等值串或未匹配样本串的个数。iscevsupsnumminus1的值等于isc_evs_ups_num_minus1的值。如果位流中不存在isc_evs_ups_num_minus1,iscevsupsnumminus1的值为0。
[0132]
串长度第一部分str_length_minus1_prefix
[0133]
串长度的第一部分。strlengthminus1prefix等于str_length_minus1_prefix的值。如果位流中不存在str_length_minus1_prefix,strlengthminus1prefix的值为0。
[0134]
串长度第二部分str_length_minus1_infix
[0135]
串长度的第二部分。strlengthminus1infix等于str_length_minus1_infix的值。如果位流中不存在str_length_minus1_infix,strlengthminus1infix的值为0。
[0136]
串长度第三部分str_length_minus1_suffix
[0137]
串长度的第三部分。strlengthminus1suffix等于str_length_minus1_suffix的值。如果位流中不存在str_length_minus1_suffix,strlengthminus1suffix的值为0。
[0138]
点矢量在点预测信息表中索引值的第一部分pv_address_prefix
[0139]
点矢量索引值的第一部分。pvadressprefix等于pv_address_prefix的值。如果位流中不存在pv_address_prefix,pvadressprefix的值为0。
[0140]
点矢量在点预测信息表中索引值的第二部分pv_address_infix
[0141]
点矢量索引值的第二部分。pvadressinfix等于pv_address_infix的值。如果位流中不存在pv_address_infix,pvadressinfix的值为0。
[0142]
点矢量在点预测信息表中索引值的第三部分pv_address_suffix
[0143]
点矢量索引值的第三部分。pvadresssuffix等于pv_address_suffix的值。如果位流中不存在pv_address_suffix,pvadresssuffix的值为0。
[0144]
新增点矢量对应常现位置像素亮度分量值isc_fopixel_y
[0145]
新增点矢量对应常现位置像素cb分量值isc_fopixel_cb
[0146]
新增点矢量对应常现位置像素cr分量值isc_fopixel_cr
[0147]
新增点矢量对应的常现位置上像素的亮度分量、色度cb分量和色度cr分量的值。
[0148]
串复制帧内预测未匹配样本亮度分量值isc_nos_up_y[i]
[0149]
串复制帧内预测未匹配样本色度cb分量值isc_nos_up_cb[i]
[0150]
串复制帧内预测未匹配样本色度cr分量值isc_nos_up_cr[i]
[0151]
非普通串子模式中的当前编码单元第i部分的未匹配像素的亮度分量、色度cb分量和色度cr分量的值。iscnosupy[i]、iscnosupcb[i]和iscnosupcr[i]分别等于isc_nos_up_y[i]、isc_nos_up_cb[i]和isc_nos_up_cr[i]的值。
[0152]
需要说明的是,上述各语法元素只是一种示例,其中文名称和英文名称可能会发生变化,本实施例对此不做限制。
[0153]
目前视频编码的过程是,编码端对当前块中各串的语法元素进行分别编码,形成码流。解码端从码流中分别对当前块中各串的语法元素进行解码,得到各串的语法元素,基于各串的语法元素,得到当前块的预测值,再基于当前块的预测值得到当前块的重建值。
[0154]
但是,目前编解码方式,将各串的语法元素单独进行编码,而没有考虑到不同类型的语法元素交织在一起进行编码对编解码器吞吐率的影响,进而造成编码效率低。
[0155]
为了解决上述技术问题,本技术对当前块中至少一个像素串的语法元素进行分组,对每一组语法元素进行编码或解码,提高了一次编解时的处理的数据量,提高编解码器的吞吐率,降低编解码次数,进而提升编码效率。
[0156]
下面结合具体的实施例对本技术实施例提供的技术方案进行详细描述。
[0157]
图6为本技术一实施例提供的串复制帧内预测的解码方法的流程图,本技术实施例的方法应用于图1或图3所示的解码端,如图6所示,包括:
[0158]
s610、解码码流,得到待解码的当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同解码方式;
[0159]
本技术实施例的执行主体包括但不限于如下设备:解码器、或者用于进行串复制帧内预测的编码的设备,如台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者等。
[0160]
在一些实施例中,当前块也称为当前图像块、当前处理块或当前解码块等。
[0161]
在编码端将当前块按照某种扫描顺序划分成一系列像素串,每个像素串包括至少一个像素点。
[0162]
可选的,像素串的类型可以为普通串、等值串、单位矢量串或未匹配像素等。
[0163]
需要说明的是,若当前块的串复制帧内预测模式不同时,当前块对应的语法元素不完全相同。
[0164]
示例一,若当前块的串复制帧内预测模式为第一子模式(普通串子模式)时,当前块中至少一个像素串的语法元素包括上述第一子模式对应的至少一种语法元素。
[0165]
示例二,若当前块的串复制帧内预测模式为第二子模式(例如等值串与单位矢量串子模式)时,当前块中至少一个像素串的语法元素包括上述等值串与单位矢量串子模式对应的至少一种语法元素。
[0166]
需要说明的是,上述各语法元素只是一种示例,本技术实施例包括但不限于上述语法元素。随着视频编解码技术的发展,语法元素可能会发生变化,本技术实施例涉及的语法元素包括当前技术所产生的语法元素,也包括未来技术所产生的语法元素。
[0167]
s620、对当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,m为正整数。
[0168]
在一些实施例中,对当前块中至少一个像素串的所有语法元素进行分组,例如对上述示例一或示例二所述的语法元素进行分组。
[0169]
在一些实施例中,对当前块中至少一个像素串的部分语法元素进行分组,例如,对上述示例一或示例二所述的部分语法元素进行分组;或者,对上述示例一所述的全部语法元素进行分组,对上述示例二所述的部分语法元素进行分组;或者,对上述示例一所述的部分语法元素进行分组,对上述示例二所述的全部语法元素进行分组。
[0170]
在一些实施例中,将当前块所包括的像素串称为当前块所包括的串。
[0171]
由上述可知当前块包括多个像素串,在对当前块对应的语法元素进行分组时,可以对当前块中部分像素串的语法元素进行分组,也可以对当前块中所有串的语法元素进行分组,本技术对此不作限制。
[0172]
编码端对当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,对每一组语法元素进行编码。对应的,解码端在获得码流后,解析码流,对码流中携带的待解码的当前块的语法元素进行分组,得到m组语法元素,其中m为正整数,对m组语法元素中的每一组语法元素进行解码,得到当前块中至少一个像素串的语法元素,再根据当前块中至少一个像素串的语法元素,确定当前块的预测值。
[0173]
需要说明的是,本技术中解码端与编码端对当前块中至少一个像素串的语法元素进行组划分的方式保持一致。
[0174]
在一些实施例中,编码端将语法元素的组划分的方式发送给解码端,例如编码端将语法元素的组划分的方式携带在码流中,这样解码端可以从码流中解析出编码端所采用的语法元素的组划分的方式,并根据该语法元素的组划分的方式对接收到的码流中待解码的语法元素进行分组,保证语法元素分组的正确性。
[0175]
在一些实施例中,解码端默认采用与编码端相同的语法元素的分组方式,也就是说,编码端和解码端均采用默认的语法元素的分组方式,这样编码端无需在码流中指示语法元素的分组方式,进而减少码子。
[0176]
需要说明的是,本技术实施例对上述s620中对当前块中至少一个像素串的语法元素进行分组的方式不做限制。
[0177]
s630、对m组语法元素中每一组语法元素进行解码,得到当前块中至少一个像素串
的语法元素。
[0178]
解码端将一组语法元素作为一个解码单元进行解码,可以提高解码的效率。
[0179]
在一些实施例中,在对每一组语法元素进行解码时,还可以根据该组语法元素中各语法元素的解码方式不同,再次进行分组解码,即上述s630包括s630-a1和s630-a2:
[0180]
s630-a1、针对m组语法元素中每一组语法元素,若该组语法元素的解码方式包括n种不同解码方式,则根据解码方式,将该组语法元素中基于同一种解码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;
[0181]
s630-a2、对n组子语法元素中的每一组子语法元素进行解码。
[0182]
在一些实施例中,上述语法元素都是采用cabac的方式进行解码,例如可以分为基于上下文的解码方式和基于bypass的解码方式。在具体的硬件实现里面,不同解码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提升解码器的吞吐率。
[0183]
例如,n种不同解码方式包括基于上下文解码方式和基于绕过bypass解码方式。
[0184]
在一些实施例中,在解码的过程中,可以先对基于上下文解码方式的组子语法元素进行解码,再对基于绕过bypass解码方式的组子语法元素进行解码。
[0185]
s640、根据当前块中至少一个像素串的语法元素,确定当前块的预测值。
[0186]
本技术的解码端在对当前块对应的语法元素进行解码时,将待解码的当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行解码,进而得到当前块中至少一个像素串的语法元素,该分组解码的方式,可以提高一次解码时的数据量,进而降低解码次数,提高解码效率。接着,根据解码得到的当前块中至少一个像素串的语法元素,确定当前块的预测值,并根据当前块的预测值和残差值,得到当前块的重建值。在具体的硬件实现里面,将不同解码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提高解码器的吞吐率,进而提升解码效率。
[0187]
下面针对串复制帧内预测模式的不同,分别对第一子模式和第二子模式下,解码过程进行详细介绍。
[0188]
首先对第一子模式(例如普通串子模式)的解码过程进行介绍。
[0189]
图7为本技术一实施例提供的串复制帧内预测的解码方法的流程图,如图7所示,包括:
[0190]
s710、解码码流,得到当前块的串数量以及待解码的当前块中至少一个像素串的语法元素。
[0191]
其中,语法元素包括至少两种不同解码方式。
[0192]
码流中包括一个指示当前块所包括的像素串数量的语法元素,解析该语法元素,得到当前块所包括的串数量。
[0193]
同时,解码码流,可以得到码流中携带的待解码的当前块中至少一个像素串的语法元素。
[0194]
在一些实施例中,若当前块的串复制帧内预测模式为第一子模式(例如普通串子模式),则当前块中至少一个像素串的语法元素除了包括指示未匹配像素值的语法元素外,还包括:指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素、指示串矢量的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0195]
示例性的,指示串类型的语法元素包括:isc_match_type;
[0196]
指示串长度的语法元素包括:isc_next_remaining_pixel_in_cu;
[0197]
指示像素类型的语法元素包括:isc_pixel_match_type;
[0198]
指示未匹配像素值的语法元素包括:isc_unmatched_pixel_y、isc_unmatched_pixel_u、isc_unmatched_pixel_v;
[0199]
指示串矢量的语法元素包括:isc_sv_above_flag、isc_sv_recent_flag,isc_sv_recent_index、isc_sv_y_abs、isc_sv_y_sign、isc_sv_x_sign,isc_sv_x_abs_minus1、isc_sv_x_non_zero_flag。
[0200]
需要说明的是,上述各语法元素只是一种示例,若当前块的串复制帧内预测模式为第一子模式(例如普通串子模式)时,则当前块中至少一个像素串的语法元素包括但不限于上述示例。
[0201]
s720、对当前块的语法元素进行分组。
[0202]
对当前块的语法元素进行分组的方式包括如下几种情况:
[0203]
情况1,根据扫描顺序,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素。
[0204]
也就是说,当前块中每个像素串均包括指示未匹配像素值的语法元素,为了便于解码,将该当前块中至少一个像素串(例如n个像素串,n为正整数)的指示未匹配像素值的语法元素划分为一组语法元素进行解码,由于各像素串的指示未匹配像素值的语法元素的编码模式基本相同,这样对各像素串的指示未匹配像素值的语法元素作为一个整体进行解码,提升了解码器的吞吐率,且解码过程简单,进而提高了解码效率。
[0205]
在情况1下,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素的方式包括但不限于如下几种:
[0206]
方式一,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素划分为第一组语法元素。
[0207]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第二组语法元素。
[0208]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第三组语法元素。
[0209]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串长度的语法元素划分为第二组
语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第四组语法元素。
[0210]
情况2,将当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素、指示未匹配像素值的语法元素中的至少一个划分为一组语法元素。
[0211]
在情况2下,将当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素、指示未匹配像素值的语法元素中的至少一个划分为一组语法元素的方式包括但不限于如下几种:
[0212]
方式一,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素;将当前块中至少一个像素串的指示串矢量的语法元素划分为第二组语法元素;将当前块中至少一个像素串的指示未匹配像素值的语法元素和指示像素类型的语法元素划分为第三组语法元素。
[0213]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串长度的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素和指示未匹配像素值的语法元素划分为第四组语法元素。
[0214]
s730、对m组语法元素中每一组语法元素进行解码,得到当前块中至少一个像素串的语法元素。
[0215]
本步骤在对m组语法元素进行解码时,对上述各组进行解码的顺序不做限制。
[0216]
在一些实施例中,对m组语法元素中每一组语法元素进行解码时,先对第一组语法元素进行解码。
[0217]
例如上述方式一,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素进行解码,再对当前块中至少一个像素串的指示未匹配像素值的语法元素进行解码。
[0218]
例如上述方式二,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素进行解码,再对当前块中至少一个像素串的指示串矢量的语法元素或指示未匹配像素值的语法元素进行解码。其中,对指示串矢量的语法元素或指示未匹配像素值的语法元素进行解码的顺序可以任意调整。
[0219]
例如上述方式三,先对当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素,再对当前块中至少一个像素串的指示像素类型的语法元素、或指示串矢量的语法元素、或指示未匹配像素值的语法元素进行解码,其中对指示像素类型的语法元素、或指示串矢量的语法元素、或指示未匹配像素值的语法元素进行解码的顺序可以任意调整。
[0220]
在一些实施例中,在对上述m组语法元素中每一组语法元素进行解码时,若该组语法元素的解码方式包括n种不同解码方式,则根据解码方式,将该组语法元素中基于同一种解码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对n组子语法元素中的每一组子语法元素进行解码。
[0221]
在一些实施例中,上述语法元素都是采用cabac的方式进行解码,例如可以分为基于上下文的解码方式和基于bypass的解码方式。在具体的硬件实现里面,不同解码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提升解码器的吞吐率。
[0222]
例如,n种不同解码方式包括基于上下文解码方式和基于绕过bypass解码方式,将该组语法元素分为基于上下文解码方式的子语法元素组和基于绕过bypass解码方式的子语法元素组。在解码的过程中,可以先对基于上下文解码方式的组子语法元素进行解码,再对基于绕过bypass解码方式的组子语法元素进行解码。
[0223]
需要说明的是,在解码的过程中,若该语法元素组为空时,跳过对该语法元素组的解码。
[0224]
s740、根据当前块中至少一个像素串的语法元素,确定当前块的预测值。
[0225]
本技术的解码端在对当前块对应的语法元素进行解码时,将待解码的当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行解码,进而得到当前块中至少一个像素串的语法元素,该分组解码的方式,可以提高一次解码时的数据量,进而降低解码次数,提高解码效率。接着,根据解码得到的当前块中至少一个像素串的语法元素,确定当前块的预测值,并根据当前块的预测值和残差值,得到当前块的重建值。在具体的硬件实现里面,将不同解码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提高解码器的吞吐率,进而提升解码效率。
[0226]
首先对第二子模式(例如非普通串子模式)的解码过程进行介绍。
[0227]
在一些实施例中,非普通串子模式也称为等值串与单位基矢量串子模式。
[0228]
图8为本技术一实施例提供的串复制帧内预测的解码方法的流程图,如图8所示,包括:
[0229]
s810、解码码流,得到当前块的串数量以及待解码的当前块中至少一个像素串的语法元素。
[0230]
其中,语法元素包括至少两种不同解码方式。
[0231]
若当前块的串复制帧内预测模式为等值串与单位基矢量串子模式,则当前块中至少一个像素串的语法元素除了包括指示未匹配像素值的语法元素外,还包括:指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个。
[0232]
示例性的,指示串类型的语法元素包括:isc_evs_ups_num_minus1;
[0233]
指示串长度的语法元素包括:str_length_minus1_prefix、str_length_minus1_infix、str_length_minus1_subfix;
[0234]
指示常现位置的点矢量位置的语法元素包括:pv_address_prefix、pv_address_infix、pv_address_suffix;
[0235]
指示新增点矢量对应的常现位置上像素值的语法元素包括:isc_fopixel_y、isc_fopixel_cb,isc_fopixel_cr;
[0236]
指示未匹配像素值的语法元素包括:isc_nos_up_y、isc_nos_up_cb、isc_nos_up_cr。
[0237]
需要说明的是,上述各语法元素只是一种示例,若当前块的串复制帧内预测模式
为等值串与单位基矢量串子模式时,则当前块中至少一个像素串的语法元素包括但不限于上述示例。
[0238]
s820、对当前块的语法元素进行分组。
[0239]
对当前块的语法元素进行分组的方式包括如下几种情况:
[0240]
情况1,根据扫描顺序,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素。
[0241]
在情况1下,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素的方式包括但不限于如下几种:
[0242]
方式一,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素划分为第一组语法元素。
[0243]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第二组语法元素。
[0244]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第三组语法元素。
[0245]
方式四,根据扫描顺序,将当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串类型的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第三组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第四组语法元素。
[0246]
情况2,将当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的至少一个划分为一组语法元素。
[0247]
在情况2下,对当前块的语法元素进行分组的方式包括但不限于如下几种:
[0248]
根据扫描顺序,将当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为至少一组;或者,
[0249]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配
像素值的语法元素划分为第二组语法元素;或者,
[0250]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第三组语法元素;或者,
[0251]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素。
[0252]
s830、对m组语法元素中每一组语法元素进行解码,得到当前块中至少一个像素串的语法元素。
[0253]
本步骤在对m组语法元素进行解码时,对上述各组进行解码的顺序不做限制。
[0254]
在一些实施例中,对m组语法元素中每一组语法元素进行解码时,先对第一组语法元素进行解码。
[0255]
例如上述方式一,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素进行解码,再对当前块中至少一个像素串的指示未匹配像素值的语法元素进行解码。
[0256]
例如上述方式二,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素进行解码,再对当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素或指示未匹配像素值的语法元素进行解码。其中,对指示新增点矢量对应的常现位置上像素值的语法元素或指示未匹配像素值的语法元素进行解码的顺序可以任意调整。
[0257]
例如上述方式三,先对当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素,再对当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、或指示新增点矢量对应的常现位置上像素值的语法元素、或指示未匹配像素值的语法元素进行解码,其中对指示常现位置的点矢量位置的语法元素、或指示新增点矢量对应的常现位置上像素值的语法元素、或指示未匹配像素值的语法元素进行解码的顺序可以任意调整。
[0258]
在一些实施例中,在对上述m组语法元素中每一组语法元素进行解码时,若该组语法元素的解码方式包括n种不同解码方式,则根据解码方式,将该组语法元素中基于同一种解码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对n组子语法元素中的每一组子语法元素进行解码。
[0259]
例如,n种不同解码方式包括基于上下文解码方式和基于绕过bypass解码方式,将该组语法元素分为基于上下文解码方式的子语法元素组和基于绕过bypass解码方式的子语法元素组。在解码的过程中,可以先对基于上下文解码方式的组子语法元素进行解码,再对基于绕过bypass解码方式的组子语法元素进行解码。
[0260]
需要说明的是,在解码的过程中,若该语法元素组为空时,跳过对该语法元素组的
解码。
[0261]
s840、根据当前块中至少一个像素串的语法元素,确定当前块的预测值。
[0262]
本技术的解码端在对当前块对应的语法元素进行解码时,将待解码的当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行解码,进而得到当前块中至少一个像素串的语法元素,该分组解码的方式,可以提高一次解码时的数据量,进而降低解码次数,提高解码效率。接着,根据解码得到的当前块中至少一个像素串的语法元素,确定当前块的预测值,并根据当前块的预测值和残差值,得到当前块的重建值。在具体的硬件实现里面,将不同解码方式的语法元素分开,可以避免解码器频繁地在两种解码方式中切换,有利于提高解码器的吞吐率,进而提升解码效率。
[0263]
上文结合图6至图8对解码端进行介绍,下面对编码端的技术方案进行介绍。
[0264]
图9为本技术一实施例提供的串复制帧内预测的编码方法的流程图,本技术实施例的方法应用于图1或图3所示的编码端,如图9所示,编码方法包括:
[0265]
s910、获取当前块中至少一个像素串的语法元素,当前块中包括多个像素串。
[0266]
其中,语法元素包括至少两种不同解码方式。
[0267]
本技术实施例的执行主体包括但不限于如下设备:编码器、或者用于进行串复制帧内预测的编码的设备,如台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者等。
[0268]
编码端将当前块按照某种扫描顺序划分成一系列像素串,每个像素串包括至少一个像素点。
[0269]
可选的,像素串的类型可以为普通串、等值串、单位矢量串或未匹配像素等。
[0270]
需要说明的是,若当前块的串复制帧内预测模式不同时,当前块对应的语法元素不完全相同。
[0271]
示例一,若当前块的串复制帧内预测模式为第一子模式(普通串子模式)时,当前块中至少一个像素串的语法元素包括上述等值串与单位矢量串子模式对应的至少一种语法元素。
[0272]
示例二,若当前块的串复制帧内预测模式为第二子模式(例如等值串与单位矢量串子模式)时,当前块中至少一个像素串的语法元素包括上述等值串与单位矢量串子模式对应的至少一种语法元素。
[0273]
需要说明的是,上述各语法元素只是一种示例,本技术实施例包括但不限于上述语法元素。随着视频编码技术的发展,语法元素可能会发生变化,本技术实施例涉及的语法元素包括当前技术所产生的语法元素,也包括未来技术所产生的语法元素。
[0274]
s920、对当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,m为正整数。
[0275]
在一些实施例中,对当前块中至少一个像素串的所有语法元素进行分组,例如对上述示例一或示例二所述的语法元素进行分组。
[0276]
在一些实施例中,对当前块中至少一个像素串的部分语法元素进行分组,例如,对上述示例一或示例二所述的部分语法元素进行分组;或者,对上述示例一所述的全部语法元素进行分组,对上述示例二所述的部分语法元素进行分组;或者,对上述示例一所述的部
分语法元素进行分组,对上述示例二所述的全部语法元素进行分组。
[0277]
由上述可知当前块包括多个像素串,在对当前块对应的语法元素进行分组时,可以对当前块中部分像素串的语法元素进行分组,也可以对当前块中所有串的语法元素进行分组,本技术对此不作限制。
[0278]
编码端对当前块中至少一个像素串的语法元素进行分组,得到m组语法元素。
[0279]
需要说明的是,本技术中编码端与解码端对当前块中至少一个像素串的语法元素进行组划分的方式保持一致。
[0280]
在一些实施例中,编码端将语法元素的组划分的方式发送给解码端,例如编码端将语法元素的组划分的方式携带在码流中,这样解码端可以从码流中解析出编码端所采用的语法元素的组划分的方式,并根据该语法元素的组划分的方式对接收到的码流中待解码的语法元素进行分组,保证语法元素分组的正确性。
[0281]
在一些实施例中,编码端和解码端均采用默认的语法元素的分组方式,这样编码端无需在码流中指示语法元素的分组方式,进而减少码子。
[0282]
需要说明的是,本技术实施例对上述s920中对当前块中至少一个像素串的语法元素进行分组的方式不做限制。
[0283]
s930、对所述m组语法元素中每一组语法元素进行编码,得到码流。
[0284]
编码端将一组语法元素作为一个编码单元进行编码,可以提高编码的效率。
[0285]
在一些实施例中,在对每一组语法元素进行编码时,还可以根据该组语法元素中各语法元素的解码方式不同,再次进行分组编码,即上述s930包括s930-a1和s930-a2:
[0286]
s930-a1、针对m组语法元素中每一组语法元素,若该组语法元素的解码方式包括n种不同解码方式,则根据解码方式,将该组语法元素中基于同一种解码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;
[0287]
s930-a2、对n组子语法元素中的每一组子语法元素进行编码。
[0288]
在一些实施例中,上述语法元素都是采用cabac的方式进行编码,例如可以分为基于上下文的解码方式和基于bypass的解码方式。在具体的硬件实现里面,不同解码方式的语法元素分开,可以避免编码器频繁地在两种解码方式中切换,有利于提升编码器的吞吐率。
[0289]
例如,n种不同解码方式包括基于上下文解码方式和基于绕过bypass解码方式。
[0290]
在一些实施例中,在编码的过程中,可以先对基于上下文解码方式的组子语法元素进行编码,再对基于绕过bypass解码方式的组子语法元素进行编码。
[0291]
本技术的编码端在对当前块对应的语法元素进行编码时,将当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行编码,形成码流。即本技术对语法元素采用分组编码的方式,可以提高一次编码时的数据量,进而降低编码次数,提高编码效率。
[0292]
下面针对串复制帧内预测模式的不同,分别对第一子模式和第二子模式下,编码过程进行详细介绍。
[0293]
首先对第一子模式(例如普通串子模式)的编码过程进行介绍。
[0294]
图10为本技术一实施例提供的串复制帧内预测的编码方法的流程图,如图10所示,包括:
[0295]
s110、获取当前块中至少一个像素串的语法元素,当前块包括多个像素串。
[0296]
其中,语法元素包括至少两种不同编码方式。
[0297]
在一些实施例中,若当前块的串复制帧内预测模式为第一子模式(例如普通串子模式),则当前块中至少一个像素串的语法元素除了包括指示未匹配像素值的语法元素外,还包括:指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素、指示串矢量的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0298]
示例性的,指示串类型的语法元素包括:isc_match_type;
[0299]
指示串长度的语法元素包括isc_next_remaining_pixel_in_cu;
[0300]
指示像素类型的语法元素包括:isc_pixel_match_type;
[0301]
指示未匹配像素值的语法元素包括:isc_unmatched_pixel_y、isc_unmatched_pixel_u、isc_unmatched_pixel_v;
[0302]
指示串矢量的语法元素包括:isc_sv_above_flag、isc_sv_recent_flag,isc_sv_recent_index、isc_sv_y_abs、isc_sv_y_sign、isc_sv_x_sign,isc_sv_x_abs_minus1、isc_sv_x_non_zero_flag。
[0303]
需要说明的是,上述各语法元素只是一种示例,若当前块的串复制帧内预测模式为第一子模式(例如普通串子模式)时,则当前块中至少一个像素串的语法元素包括但不限于上述示例。
[0304]
s120、对当前块的语法元素进行分组。
[0305]
对当前块的语法元素进行分组的方式包括如下几种情况:
[0306]
情况1,根据扫描顺序,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素。
[0307]
在情况1下,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素的分组方式包括但不限于如下几种:
[0308]
方式一,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素划分为第一组语法元素。
[0309]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第二组语法元素。
[0310]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第三组语法元素。
[0311]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串长度的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元
素,将当前块中至少一个像素串的指示串矢量的语法元素的划分为第四组语法元素。
[0312]
情况2,将当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的至少一个划分为一组语法元素。
[0313]
在情况2下,分组方式包括但不限于如下几种:
[0314]
方式一,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素;将当前块中至少一个像素串的指示串矢量的语法元素划分为第二组语法元素;将当前块中至少一个像素串的指示未匹配像素值的语法元素和指示像素类型的语法元素划分为第三组语法元素。
[0315]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串长度的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元素,将当前块中至少一个像素串的指示串矢量的语法元素和指示未匹配像素值的语法元素划分为第四组语法元素。
[0316]
s130、对m组语法元素中每一组语法元素进行编码,得到码流。
[0317]
在一些实施例中,在码流中编码一个语法元素用于指示当前块的串数量。
[0318]
本步骤在对m组语法元素进行编码时,对上述各组进行编码的顺序不做限制。
[0319]
在一些实施例中,对m组语法元素中每一组语法元素进行编码时,先对第一组语法元素进行编码。
[0320]
例如上述方式一,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素进行编码,再对当前块中至少一个像素串的指示未匹配像素值的语法元素进行编码。
[0321]
例如上述方式二,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素进行编码,再对当前块中至少一个像素串的指示串矢量的语法元素或指示未匹配像素值的语法元素进行编码。其中,对指示串矢量的语法元素或指示未匹配像素值的语法元素进行编码的顺序可以任意调整。
[0322]
例如上述方式三,先对当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素,再对当前块中至少一个像素串的指示像素类型的语法元素、或指示串矢量的语法元素、或指示未匹配像素值的语法元素进行编码,其中对指示像素类型的语法元素、或指示串矢量的语法元素、或指示未匹配像素值的语法元素进行编码的顺序可以任意调整。
[0323]
在一些实施例中,在对上述m组语法元素中每一组语法元素进行编码时,若该组语法元素的编码方式包括n种不同编码方式,则根据编码方式,将该组语法元素中基于同一种编码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对n组子语法元素中的每一组子语法元素进行编码。
[0324]
例如,n种不同编码方式包括基于上下文编码方式和基于绕过bypass编码方式,将该组语法元素分为基于上下文编码方式的子语法元素组和基于绕过bypass编码方式的子语法元素组。在编码的过程中,可以先对基于上下文编码方式的组子语法元素进行编码,再对基于绕过bypass编码方式的组子语法元素进行编码。
[0325]
需要说明的是,在编码的过程中,若该语法元素组为空时,跳过对该语法元素组的编码。
[0326]
本技术的编码端在对当前块对应的语法元素进行编码时,将当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行编码,形成码流。即本技术对语法元素采用分组编码的方式,可以提高一次编码时的数据量,进而降低编码次数,提高编码效率。在具体的硬件实现里面,不同编码方式的语法元素分开,可以避免编码器频繁地在两种编码方式中切换,有利于提升编码器的吞吐率。
[0327]
首先对第二子模式(例如非普通串子模式)的编码过程进行介绍。
[0328]
在一些实施例中,非普通串子模式也称为等值串与单位基矢量串子模式。
[0329]
图11为本技术一实施例提供的串复制帧内预测的编码方法的流程图,如图11所示,包括:
[0330]
s210、获取当前块中至少一个像素串的语法元素,当前块包括多个像素串。
[0331]
其中,语法元素包括至少两种不同编码方式。
[0332]
若当前块的串复制帧内预测模式为等值串与单位基矢量串子模式,则当前块中至少一个像素串的语法元素除了包括指示未匹配像素值的语法元素外,还包括:指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个。
[0333]
示例性的,指示串类型的语法元素包括:isc_evs_ups_num_minus1;
[0334]
指示串长度的语法元素包括:str_length_minus1_prefix、str_length_minus1_infix、str_length_minus1_subfix;
[0335]
指示常现位置的点矢量位置的语法元素包括:pv_address_prefix、pv_address_infix、pv_address_suffix;
[0336]
指示新增点矢量对应的常现位置上像素值的语法元素包括:isc_fopixel_y、isc_fopixel_cb,isc_fopixel_cr;
[0337]
指示未匹配像素值的语法元素包括:isc_nos_up_y、isc_nos_up_cb、isc_nos_up_cr。
[0338]
需要说明的是,上述各语法元素只是一种示例,若当前块的串复制帧内预测模式为等值串与单位基矢量串子模式时,则当前块中至少一个像素串的语法元素包括但不限于上述示例。
[0339]
s220、对当前块的语法元素进行分组。
[0340]
对当前块的语法元素进行分组的方式包括如下几种情况:
[0341]
情况1,根据扫描顺序,将当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素。根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素。
[0342]
在情况1下,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素的方式包括但不限于如下几种:
[0343]
方式一,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指
示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素划分为第一组语法元素。
[0344]
方式二,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第二组语法元素。
[0345]
方式三,根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第三组语法元素。
[0346]
方式四,根据扫描顺序,将当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串类型的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第三组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第四组语法元素。
[0347]
情况2,将当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的至少一个划分为一组语法元素。
[0348]
在情况2下,对当前块的语法元素进行分组的方式包括但不限于如下几种:
[0349]
根据扫描顺序,将当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为至少一组;或者,
[0350]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素;或者,
[0351]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第三组语法元素;或者,
[0352]
根据扫描顺序,将当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素。
[0353]
s230、对m组语法元素中每一组语法元素进行编码,得到当前块中至少一个像素串的语法元素。
[0354]
本步骤在对m组语法元素进行编码时,对上述各组进行编码的顺序不做限制。
[0355]
在一些实施例中,对m组语法元素中每一组语法元素进行编码时,先对第一组语法元素进行编码。
[0356]
例如上述方式一,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素进行编码,再对当前块中至少一个像素串的指示未匹配像素值的语法元素进行编码。
[0357]
例如上述方式二,先对当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素进行编码,再对当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素或指示未匹配像素值的语法元素进行编码。其中,对指示新增点矢量对应的常现位置上像素值的语法元素或指示未匹配像素值的语法元素进行编码的顺序可以任意调整。
[0358]
例如上述方式三,先对当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素,再对当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、或指示新增点矢量对应的常现位置上像素值的语法元素、或指示未匹配像素值的语法元素进行编码,其中对指示常现位置的点矢量位置的语法元素、或指示新增点矢量对应的常现位置上像素值的语法元素、或指示未匹配像素值的语法元素进行编码的顺序可以任意调整。
[0359]
在一些实施例中,在对上述m组语法元素中每一组语法元素进行编码时,若该组语法元素的编码方式包括n种不同编码方式,则根据编码方式,将该组语法元素中基于同一种编码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对n组子语法元素中的每一组子语法元素进行编码。
[0360]
例如,n种不同编码方式包括基于上下文编码方式和基于绕过bypass编码方式,将该组语法元素分为基于上下文编码方式的子语法元素组和基于绕过bypass编码方式的子语法元素组。在编码的过程中,可以先对基于上下文编码方式的组子语法元素进行编码,再对基于绕过bypass编码方式的组子语法元素进行编码。
[0361]
需要说明的是,在编码的过程中,若该语法元素组为空时,跳过对该语法元素组的编码。
[0362]
本技术的编码端在对当前块对应的语法元素进行编码时,将当前块的至少一个像素串的语法元素进行分组,得到m组语法元素,对m组语法元素中每一组语法元素进行编码,形成码流。即本技术对语法元素采用分组编码的方式,可以提高一次编码时的数据量,进而降低编码次数,提高编码效率。在具体的硬件实现里面,不同编码方式的语法元素分开,可以避免编码器频繁地在两种编码方式中切换,有利于提升编码器的吞吐率。
[0363]
应理解,图6至图11仅为本技术的示例,不应理解为对本技术的限制。
[0364]
以上结合附图详细描述了本技术的优选实施方式,但是,本技术并不限于上述实施方式中的具体细节,在本技术的技术构思范围内,可以对本技术的技术方案进行多种简单变型,这些简单变型均属于本技术的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本技术对各种可能的组合方式不再另行说明。又例如,本技术的各种不同的实施方
式之间也可以进行任意组合,只要其不违背本技术的思想,其同样应当视为本技术所公开的内容。
[0365]
还应理解,在本技术的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。另外,本技术实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0366]
上文结合图6至图11,详细描述了本技术的方法实施例,下文结合图12至图14,详细描述本技术的装置实施例。
[0367]
图12是本技术实施例提供的串复制帧内预测的解码装置的示意性框图,该解码装置可以为上述所述的解码设备或者为解码设备的部件,例如为解码设备中的处理器。
[0368]
如图12所示,该串复制帧内预测的解码装置10可包括:
[0369]
第一解码单元11,用于解码码流,得到待解码的当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同解码方式;
[0370]
分组单元12,用于对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
[0371]
第二解码单元13,用于对所述m组语法元素中每一组语法元素进行解码,得到所述当前块中至少一个像素串的语法元素;
[0372]
确定单元14,用于根据所述当前块中至少一个像素串的语法元素,确定所述当前块的预测值。
[0373]
在一些实施例中,若所述当前块的串复制帧内预测模式为第一子模式(例如普通串子模式),则所述当前块中至少一个像素串的语法元素还包括:指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素、指示串矢量的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0374]
在一些实施例中,分组单元12,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素。
[0375]
在一些实施例中,分组单元12,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素划分为第一组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第二组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示像素类型的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第三组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将所述当前块中至少一个
像素串的指示串长度的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第四组语法元素。
[0376]
在一些实施例中,分组单元12,还具体用于将所述当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的至少一个划分为一组语法元素。
[0377]
在一些实施例中,分组单元12,具体用于将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素;将所述当前块中至少一个像素串的指示串矢量的语法元素划分为第二组语法元素;将所述当前块中至少一个像素串的指示未匹配像素值的语法元素和指示像素类型的语法元素划分为第三组语法元素。
[0378]
在一些实施例中,若所述当前块的串复制帧内预测模式为第二子模块(非普通串子模式),则所述当前块中至少一个像素串的语法元素包括:指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0379]
在一些实施例中,分组单元12,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素。
[0380]
在一些实施例中,分组单元12,具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素划分为第一组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第二组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第三组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第三组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第四组语法元素。
[0381]
在一些实施例中,分组单元12,还用于将所述当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的至少一个划分为一组语法元素。
[0382]
在一些实施例中,分组单元12,具体用于根据扫描顺序,将所述当前块中至少一个
像素串的指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为至少一组;或者,
[0383]
根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素;或者,
[0384]
根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第三组语法元素;或者,
[0385]
根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素。
[0386]
在一些实施例中,第二解码单元13,具体用于对所述m组语法元素中每一组语法元素进行解码时,先对所述第一组语法元素进行解码。
[0387]
在一些实施例中,第二解码单元13,还具体用于针对所述m组语法元素中每一组语法元素,若该组语法元素的解码方式包括n种不同解码方式,则根据所述解码方式,将该组语法元素中基于同一种解码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对所述n组子语法元素中的每一组子语法元素进行解码。
[0388]
在一些实施例中,所述n种不同解码方式包括基于上下文解码方式和基于绕过bypass解码方式。
[0389]
在一些实施例中,第二解码单元13,具体用于先对所述基于上下文解码方式的组子语法元素进行解码,再对所述基于绕过bypass解码方式的组子语法元素进行解码。
[0390]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图12所示的装置可以执行上述解码端对应的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述解码端对应的方法实施例的相应流程,为了简洁,在此不再赘述。
[0391]
图13是本技术实施例提供的串复制帧内预测的编码装置的示意性框图,该编码装置可以为上述所述的编码设备或者为编码设备的部件,例如为编码设备中的处理器。
[0392]
如图13所示,该串复制帧内预测的编码装置20可包括:
[0393]
获取单元21,用于获取当前块中至少一个像素串的语法元素,所述语法元素包括至少两种不同编码方式;
[0394]
分组单元22,用于对所述当前块中至少一个像素串的语法元素进行分组,得到m组语法元素,所述m为正整数;
[0395]
编码单元13,用于对所述m组语法元素中每一组语法元素进行编码,得到码流。
[0396]
在一些实施例中,若所述当前块的串复制帧内预测模式为第一子模式(例如普通串子模式),则所述当前块中至少一个像素串的语法元素还包括:指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素、指示串矢量的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0397]
在一些实施例中,分组单元22,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的一个或多个划分为至少一组语法元素。
[0398]
在一些实施例中,分组单元22,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素划分为第一组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示像素类型的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第二组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示像素类型的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第三组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串长度的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示像素类型的语法元素划分为第三组语法元素,将所述当前块中至少一个像素串的指示串矢量的语法元素的划分为第四组语法元素。
[0399]
在一些实施例中,分组单元22,还具体用于将所述当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示像素类型的语法元素和指示串矢量的语法元素中的至少一个划分为一组语法元素。
[0400]
在一些实施例中,分组单元22,具体用于将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素;将所述当前块中至少一个像素串的指示串矢量的语法元素划分为第二组语法元素;将所述当前块中至少一个像素串的指示未匹配像素值的语法元素和指示像素类型的语法元素划分为第三组语法元素。
[0401]
在一些实施例中,若所述当前块的串复制帧内预测模式为第二子模块式(例如非普通串子模式),则所述当前块中至少一个像素串的语法元素还包括:指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素、指示未匹配像素值的语法元素中的一个或多个。
[0402]
在一些实施例中,分组单元22,还具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示未匹配像素值的语法元素划分为一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素和指示新增点矢量对应的常现位置上像素值的语法元素中的一个或多个划分为至少一组语法元素。
[0403]
在一些实施例中,分组单元22,具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的
语法元素和指示新增点矢量对应的常现位置上像素值的语法元素划分为第一组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第二组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第三组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第三组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素划分为第四组语法元素。
[0404]
在一些实施例中,分组单元22,还用于将所述当前块中至少一个像素串的指示未匹配像素值的语法元素,以及指示串类型的语法元素、指示串长度的语法元素、指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素中的至少一个划分为一组语法元素。
[0405]
在一些实施例中,分组单元22,具体用于根据扫描顺序,将所述当前块中至少一个像素串的指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示串类型的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为至少一组;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素、指示串长度的语法元素和指示常现位置的点矢量位置的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素划分为第二组语法元素,将所述当前块中至少一个像素串的指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第三组语法元素;或者,根据扫描顺序,将所述当前块中至少一个像素串的指示串类型的语法元素和指示串长度的语法元素划分为第一组语法元素,将所述当前块中至少一个像素串的指示常现位置的点矢量位置的语法元素、指示新增点矢量对应的常现位置上像素值的语法元素和指示未匹配像素值的语法元素划分为第二组语法元素。
[0406]
在一些实施例中,编码单元23,具体用于对所述m组语法元素中每一组语法元素进行编码时,先对所述第一组语法元素进行编码。
[0407]
在一些实施例中,编码单元23,还具体用于针对所述m组语法元素中每一组语法元素,若该组语法元素的编码方式包括n种不同编码方式,则根据所述编码方式,将该组语法元素中基于同一种编码方式的语法元素划分为一个子语法元素组,得到n组子语法元素;对所述n组子语法元素中的每一组子语法元素进行编码。
[0408]
在一些实施例中,所述n种不同编码方式包括基于上下文编码方式和基于绕过bypass编码方式。
[0409]
在一些实施例中,编码单元23,具体用于先对所述基于上下文编码方式的组子语法元素进行编码,再对所述基于绕过bypass编码方式的组子语法元素进行编码。
[0410]
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图13所示的装置可以执行上述编码端对应的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述编码端对应的方法实施例的相应流程,为了简洁,在此不再赘述。
[0411]
上文中结合附图从功能模块的角度描述了本技术实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本技术实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本技术实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0412]
图14是本技术实施例提供的计算设备30的示意性框图。
[0413]
如图14所示,该计算设备30可以为本技术实施例所述的视频编码设备或视频解码设备,该计算设备30可包括:
[0414]
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本技术实施例中的方法。
[0415]
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法中的步骤。
[0416]
在本技术的一些实施例中,该处理器32可以包括但不限于:
[0417]
通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
[0418]
在本技术的一些实施例中,该存储器33包括但不限于:
[0419]
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
[0420]
在本技术的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本技术提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该计算设备30中的执行过程。
[0421]
如图14所示,该计算设备30还可包括:
[0422]
收发器33,该收发器33可连接至该处理器32或存储器33。
[0423]
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
[0424]
应当理解,该计算设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
[0425]
本技术还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
[0426]
本技术实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
[0427]
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0428]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0429]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0430]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的
部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0431]
以上该,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以该权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1