一种混合分辨率编解码方法和装置转让专利

申请号 : CN201210450379.7

文献号 : CN103813174B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王荣刚谷沉沉毛煦楠陈敬昌吕静辛柏成高文

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了本发明实施例提供了一种混合分辨率编码和解码方法,所述方法包括:对视频帧序列中只采用帧内编码的I帧进行全分辨率的标准编码并进行帧重建得到所述I帧的重建帧;对所述I帧的重建帧进行下采样,得到所述I帧的重建帧的采样图像;对视频帧序列中的非I帧进行下采样,得到所述非I帧的采样图像;以所述非I帧对应的I帧的重建帧的采样图像作为参考帧对所述非I帧的采样图像进行标准编码;发送视频码流,所述视频码流包括经过编码得到的I帧和非I帧。本发明实施例还公开了一种混合分辨率编码方法以及相应的编解码装置。采用本发明,能够降低了编解码计算复杂度,极大的提升了编解码两端的速度和效率。

权利要求 :

1.一种混合分辨率解码方法,其特征在于,所述方法包括:接收视频码流;

对所述视频码流中只采用帧内编码的I帧进行全分辨率的标准解码;

对经过所述全分辨率的标准解码得到的I帧进行下采样,得所述I帧的采样图像;

对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行标准解码;

对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像;所述对经过解码得到的非I帧进行超分辨率图像复原包括:获取所述经过编码得到的非I帧中采用帧间编码的宏块的运动矢量和残差数据;

根据所述宏块的运动矢量和残差数据判断宏块的运动估计是否准确以及图像运动是否剧烈,根据判断结果选择采用空域插值滤波、时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原。

2.如权利要求1所述的方法,其特征在于,所述采用时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原包括:根据所述非I帧对应的I帧经过所述全分辨率的标准解码得到的图像对所述采用帧间编码的宏块进行超分辨率图像复原。

3.如权利要求1所述的方法,其特征在于,所述对经过解码得到的非I帧进行超分辨率图像复原还包括:对所述经过解码得到的非I帧中采用帧内编码的宏块进行空域插值滤波。

4.如权利要求1所述的方法,其特征在于,所述下采样包括:对经过所述全分辨率的标准解码得到的I帧进行下采样得到采样图像,所述采样图像的宽度为所述帧图像宽度的1/a、高度为所述帧图像的1/b,其中a和b均大于1;

若所述采样图像的宽度和高度不是所述视频码流的编码宏块的宽度和高度的整数倍,则将所述采样图像进行扩边,得到宽度和高度分别为所述编码宏块的宽度和高度的整数倍的采样图像。

5.如权利要求1~4中任一项所述的方法,其特征在于,若所述非I帧为P帧,则对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;

若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧。

6.一种混合分辨率解码装置,其特征在于,所述混合分辨率解码装置包括:码流接收模块,用于接收视频码流;

I帧解码模块,用于对所述视频码流中只采用帧内编码的I帧进行全分辨率的标准解码;

下采样模块,用于对经过所述全分辨率的标准解码得到的I帧进行下采样,得所述I帧的采样图像;

非I帧解码模块,用于对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行标准解码;

超分辨率复原模块,用于对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像;所述超分辨率复原模块包括:数据获取单元,用于获取所述经过编码得到的非I帧中采用帧间编码的宏块的运动矢量和残差数据;

帧间编码复原单元,用于根据所述数据获取单元获取到的所述宏块的运动矢量和残差数据判断宏块的运动估计是否准确以及图像运动是否剧烈,根据判断结果选择采用空域插值滤波、时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原。

7.如权利要求6所述的混合分辨率解码装置,其特征在于,所述复原单元采用时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原包括:根据所述非I帧对应的I帧经过所述全分辨率的标准解码得到的图像对所述采用帧间编码的宏块进行超分辨率图像复原。

8.如权利要求6所述的混合分辨率解码装置,其特征在于,超分辨率复原模块还包括:帧内编码复原单元,用于对所述经过解码得到的非I帧中采用帧内编码的宏块进行空域插值滤波。

9.如权利要求6所述的混合分辨率解码装置,其特征在于,所述下采样模块包括:下采样单元,用于对经过所述全分辨率的标准解码得到的I帧进行下采样得到采样图像,所述采样图像的宽度为所述帧图像宽度的1/a、高度为所述帧图像的1/b,其中a和b均大于1;

扩边单元,用于当所述采样图像的宽度和高度不是所述视频码流的编码宏块的宽度和高度的整数倍时,将所述采样图像进行扩边,得到宽度和高度分别为所述编码宏块的宽度和高度的整数倍的采样图像。

10.如权利要求6~9中任一项所述的混合分辨率解码装置,其特征在于,若所述非I帧为P帧,则对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;

若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧。

说明书 :

一种混合分辨率编解码方法和装置

技术领域

[0001] 本发明涉及一种视频编解码领域,尤其涉及一种混合分辨率编解码方法和装置。

背景技术

[0002] 随着处理器的能力提升和存储器成本降低,编码视频的网络支持变化多端以及压缩编码技术的快速发展,旨在充分提高编码效率和增强网络环境稳定性的新一代视频编码标准H.264/AVC(Advanced Video Coding,高级视频编码)由国际电信联盟标准 化 组织 ITU-T(International Telecommunications Union-Telecommunication Standardization Sector,国际电信联盟管理下的远程通信标准化组织)的视频编码专家组和ISO(International Standard Organized,国际标准化组织)/IEC(International Electrotechnical Commission,国际电工委员会)的运动图像专家组联合成立的联合视频编码小组提出。H.264/AVC的计算复杂度相较于以往的编码标准更大,增大了实时视频通信的难度。而移动平台的计算能力相对于个人电脑来说要低,可用的存储资源更少,而且移动网络带宽较小且不稳定,因此提升视频编码速度与视频压缩率是推进移动平台的实时视频通信的关键所在。
[0003] 由于视频编码的高复杂度,因此通常将原始视频下采样,对低分辨率视频进行编码,这样也使得编码后需要传输的视频码流数据量也大大降低,在接收端对低分辨率的视频码流解码后,通过超分辨率图像复原技术恢复至较高分辨率。而现有技术中采用H.264/AVC标准编码低分辨率视频时,由于所有帧都是按低分辨率编码,在解码后做超分辨率恢复时可以利用的已有信息量有限,因此图像质量也较差。而且所有P帧以前向帧为参考帧,B帧以前向/后向的帧作为参考帧,这样,作为参考帧的P帧都需要编码器对其做子像素插值,在编码后也要进行去块效应滤波以减少编码的误差传播,此部分也具有较高的复杂度。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种混合分辨率编解码方法和装置,可提升了视频编解码的效率。
[0005] 为了解决上述技术问题,本发明实施例提供了一种混合分辨率编码方法,所述方法包括:
[0006] 对视频帧序列中只采用帧内编码的I帧进行全分辨率的标准编码并进行帧重建得到所述I帧的重建帧;
[0007] 对所述I帧的重建帧进行下采样,得到所述I帧的重建帧的采样图像;
[0008] 对视频帧序列中的非I帧进行下采样,得到所述非I帧的采样图像;
[0009] 以所述非I帧对应的I帧的重建帧的采样图像作为参考帧对所述非I帧的采样图像进行标准编码;
[0010] 发送视频码流,所述视频码流包括经过编码得到的I帧和非I帧。
[0011] 相应的,本发明实施例提供了一种混合分辨率解码方法,所述方法包括:
[0012] 接收视频码流;
[0013] 对所述视频码流中只采用帧内编码的I帧进行全分辨率的标准解码;
[0014] 对经过所述全分辨率的标准解码得到的I帧进行下采样,得所述I帧的采样图像;
[0015] 对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行标准解码;
[0016] 对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像。
[0017] 相应地,本发明实施例还提供了一种混合分辨率编码装置,所述混合分辨率编码装置包括:
[0018] I帧编码模块,用于对视频帧序列中只采用帧内编码的I帧进行全分辨率的标准编码并进行帧重建得到所述I帧的重建帧;
[0019] 下采样模块,用于所述I帧的重建帧进行下采样,得到所述I帧的重建帧的采样图像,以及用于视频帧序列中的非I帧进行下采样,得到所述非I帧的采样图像;
[0020] 非I帧编码模块,用于以所述非I帧对应的I帧的重建帧的采样图像作为参考帧对所述非I帧的采样图像进行标准编码;
[0021] 传输模块,用于发送视频码流,所述视频码流包括经过编码得到的的I帧和非I帧。
[0022] 相应的,本发明实施例还提供了一种混合分辨率解码装置,所述混合分辨率解码装置包括:
[0023] 码流接收模块,用于接收视频码流;
[0024] I帧解码模块,用于对所述视频码流中只采用帧内编码的I帧进行全分辨率的标准解码;
[0025] 下采样模块,用于对经过所述全分辨率的标准解码得到的I帧进行下采样,得所述I帧的采样图像;
[0026] 非I帧解码模块,用于对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行标准解码;
[0027] 超分辨率复原模块,用于对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像。
[0028] 实施本发明实施例,具有如下有益效果:通过对视频帧序列中的I帧和非I帧采用混合分辨率的编码方式进行编码使得视频帧序列中的非I帧的编码数据量减少了一半,且非I帧都采用已下采样之后的I帧为参考帧,使非I帧在编码端不必再做子像素插值和去块效应滤波,降低了计算复杂度,极大的提升了编解码两端的速度,同时又保证主观质量无明显影响。

附图说明

[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1是本发明实施例中的一种混合分辨率编码方法的流程示意图;
[0031] 图2是本发明实施例中的一种混合分辨率解码方法的流程示意图;
[0032] 图3是本发明实施例中在对经过解码得到的非I帧进行超分辨率图像复原的流程示意图;
[0033] 图4是本发明实施例中进行空域插值滤波的宏块的示意图;
[0034] 图5是本发明实施例中对帧间编码的宏块选择插值滤波方式的流程示意图;
[0035] 图6是本发明实施例中采用时域与空域相结合的插值滤波方式的宏块的示意图;
[0036] 图7是本发明实施例中的一种混合分辨率编码装置的结构示意图;
[0037] 图8是本发明实施例中的一种混合分辨率解码装置的结构示意图;
[0038] 图9是本发明实施例的混合分辨率解码装置中超分辨率复原模块605的结构示意图。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 图1是本发明实施例中的一种混合分辨率编码方法的流程示意图。如图所示本发明实施例中的视频编码流程包括:
[0041] S101,对视频帧序列中只采用帧内编码的I帧进行全分辨率的标准编码并进行帧重建得到所述I帧的重建帧。本发明实施例中的视频帧序列分成多个连续的图像组(Group of Pictures,GOP)进行编码,每个图像组中包含至少一个只采用帧内编码的I帧以及至少一个非I帧,I帧(I frame)被称为内部画面(intra picture)或关键帧,I帧通常是每个GOP的第一个帧,非I帧可以包括P帧和B帧,P帧和B帧可采用帧内编码和帧间编码两种方式,P帧只有前向预测模式,即只能以视频序列中按播放顺序排在当前帧之前的I帧作为参考帧进行预测编码,而B帧有前向、后向和双向预测模式。例如若一个视频中不包含B帧时,一个图像组中可以包含1个I帧以及3个P帧。本发明实施例中所提及的对视频的标准编码或标准解码,可以为采用H.264/AVC标准进行的视频编码和解码过程,在可选实施例中,也可以采用ITU-T或ISO/IEC所提出的其他视频编解码标准,由于H.264/AVC是如今采用较为广泛的视频编解码标准,本发明实施例均以采用H.264/AVC标准为例进行说明,本领域技术人员可以毫无疑义的推出采用其他编解码标准均可以实现本发明所希望解决的技术问题。因此,本实施例中对视频进行编码首先是对视频的各图像中采用帧内编码的I帧进行全分辨率的H.264标准编码,以16x16(像素x像素)大小的宏块作为编码的基本单位,使用已编码的宏块的像素对待编码的宏块做帧内预测,再将待编码的宏块的实际像素值减去得到的预测值,获得宏块的残差数据,对I帧的编码过程就是将变换、量化之后的残差数据经过重排序和熵编码处理得到适合网络传输的数据包,即I帧的编码结果。而对I帧的帧重建过程就是将量化之后的残差数据经过反量化、反变换,与预测值相加,再经过去块效应滤波器即可获得I帧的重建帧。
[0042] S102,对所述I帧的重建帧进行下采样,得到所述I帧的重建帧的采样图像。假设视频帧图像的原始宽、高分别是w、h(单位是像素),I帧的重建帧经过下采样之后的得到的采样图像的宽、高为w/a,h/b(a>1,b>1),由于H.264标准编码采用的是16x16大小的宏块作为编码的基本单位,因此若下采样得到的I帧重建帧的采样图像的宽度、高度不是16像素的整倍数,则需要扩边使其变为16像素的整倍数,这样得到的采样图像作为非I帧编码的参考帧。
[0043] S103,对视频帧序列中的非I帧进行下采样,得到所述非I帧的采样图像。对非I帧的下采样与对I帧的重建帧进行的下采样相类似,得到采样图像的宽度为原帧图像宽度的1/a、高度为原帧图像的1/b,其中a和b均大于1,若得到的采样图像的宽度和高度不是宏块宽度和高度(例如对H.264标准,宏块宽度和高度都是16个像素)的整数倍,则将所述采样图像进行扩边,得到图像宽度和高度均为宏块宽度和高度的整数倍的采样图像。
[0044] S104,以所述非I帧对应的I帧的重建帧的采样图像作为参考帧对所述非I帧的采样图像进行H.264标准编码。具体的,若所述非I帧为P帧,则其对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧,即若采用前向预测模式,则B帧对应的I帧与P帧相同为视频帧序列中按播放顺序的前一个I帧,若采用后向预测模式则其对应的I帧为视频帧序列中按播放顺序的后一个I帧,若采用双向预测模式则其对应的I帧为视频帧序列中按播放顺序的前一个I帧和后一个I帧。对某一非I帧进行编码,首先要找到该非I帧对应的I帧,进而获取该I帧的重建帧的采样图像作为参考帧,然后可以根据该参考帧对下采样得到的非I帧的采样图像进行H.264标准编码,具体可以包括:对下采样得到非I帧的采样图像以宏块为单位在参考帧中做运动估计,寻找参考帧中最为匹配的宏块,即可获取该宏块的运动矢量;将实际宏块与参考帧中的匹配宏块进行比较获取残差数据;进而将获取到的残差数据经过整数变换、量化、重排序和熵编码后与运动矢量一同打包,从而得到适合网络传输的数据包,即非I帧的编码结果。
[0045] S105,发送视频码流,所述视频码流包括经过编码得到的的I帧和非I帧。
[0046] 图2是本发明实施例中的一种混合分辨率解码方法的流程示意图。如图所示本发明实施例中的混合分辨率解码方法流程可以包括:
[0047] S201,接收视频码流。具体的,本发明实施例中解码的视频码流可以为前文实施例中的经过混合分辨率编码的视频码流,包括经过编码的I帧和非I帧。
[0048] S202,对所述视频码流中只采用帧内编码的I帧进行全分辨率的H.264标准解码。由于获取到的视频码流中的I帧在编码时采用全分辨率的H.264标准编码,因此在解码装置可以采用全分辨率的H.264标准解码,即可得到全分辨率的I帧图像。
[0049] S203,对经过所述全分辨率的H.264标准解码得到的I帧进行下采样,得到所述I帧的采样图像。具体的,与编码时相同,对经过解码得到的I帧图像进行下采样,得到采样图像的宽度为原帧图像宽度的1/a、高度为原帧图像的1/b,其中a和b均大于1,若得到的采样图像的宽度和高度不是宏块宽度和高度(例如对H.264标准,宏块宽度和高度都是16个像素)的整数倍,则将所述采样图像进行扩边,得到图像宽度和高度均为宏块宽度和高度的整数倍的采样图像。
[0050] S204,对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行H.264标准解码。具体的,若所述非I帧为P帧,则其对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧,即若采用前向预测模式,则B帧对应的I帧与P帧相同为视频帧序列中按播放顺序的前一个I帧,若采用后向预测模式则其对应的I帧为视频帧序列中按播放顺序的后一个I帧,若采用双向预测模式则其对应的I帧为视频帧序列中按播放顺序的前一个I帧和后一个I帧。获取到所述非I帧对应的I帧后,将该对应的I帧经过下采样得到的采样图像作为这个非I帧的参考帧,具体到非I帧中的每一个宏块,则根据该宏块的运动矢量在参考帧中找到对应的宏块获取该宏块的预测值,然后将该宏块经过反量化反变换后的残差数据与预测值相加,再经过去块效应滤波器处理即可得到重建的宏块。
[0051] S205,对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像。具体的,由于视频码流中非I帧是下采样后进行编码的,解码得到的图像也是下采样后的低分辨率图像,因此在解码后需要对解码得到的非I帧进行超分辨率图像复原,以得到原始分辨率的非I帧图像。
[0052] 具体实现中对解码得到的非I帧进行超分辨率图像复原的方法可以如图3所示包括:
[0053] S301,判断当前宏块为采用帧间编码或采用帧内编码。若是采用帧内编码的宏块,则执行步骤S302,若是采用帧间编码的宏块,则执行步骤S303。
[0054] S302,对所述经过解码得到的非I帧中采用帧内编码的宏块进行空域插值滤波。例如,可采用H.264/AVC的6tap插值系数(1,-5,20,20,-5,1)/32做帧内插值,完成宏块的超分辨率恢复。例如图4中所示,像素p为待插值的像素,像素a,b,c,d,e,f是已有的像素,则像素p的像素值为p=(20*(c+d)-5*(b+e)+a+f+16)/32。
[0055] S303,获取所述经过编码得到的非I帧中采用帧间编码的宏块的运动矢量和残差数据。
[0056] S304,根据S303获取到的所述宏块的运动矢量和残差数据选择采用空域插值滤波、时域插值滤波或时域与空域相结合的插值滤波方式对所述采用帧间编码的宏块进行超分辨率图像复原。其中采用时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原时,可以根据所述非I帧对应的I帧经过所述全分辨率的H.264标准解码得到的图像对所述采用帧间编码的宏块进行超分辨率图像复原。
[0057] 具体实现中,可以采用如图5所示的方法流程来选择上述三种插值滤波方式中的一种:
[0058] S501,根据所述宏块的运动矢量和残差数据判断是否满足式1。式1为判断判断宏块的运动估计是否准确的条件,若不满足式1表示当前宏块的运动估计不够准确,则执行步骤S502,若满足式1则执行步骤S503。
[0059] S502,采用空域插值滤波对所述采用帧间编码的宏块进行超分辨率图像复原。
[0060] S503,根据所述宏块的运动矢量和残差数据判断是否满足式2。式2满足时表示当前宏块可能为以下3种情况中的一种:
[0061] 1)宏块的图像内容几乎是静止且运动估计较为准确;
[0062] 2)宏块的图像内容运动轻微且运动估计准确;
[0063] 3)宏块的图像内容运动较为剧烈但运动估计非常准确。
[0064] 因此当根据宏块的运动矢量和残差数据判断可以满足式2时,执行步骤S504,否则执行S505。
[0065] S504,选择时域插值滤波对宏块进行超分辨率图像复原。例如可以完全采用对应I帧经过所述全分辨率的H.264标准解码得到的图像对宏块A进行超分辨率图像复原,即直接复制对应I帧经过所述全分辨率的H.264标准解码得到的图像中的对应宏块。
[0066] S505,根据所述宏块的运动矢量和残差数据判断是否满足式3。式3满足时表示当前宏块可能为以下3种情况中的一种:
[0067] 1)宏块的图像内容几乎静止且运动估计相对准确;
[0068] 2)宏块的图像内容运动轻微且运动估计较为准确;
[0069] 3)宏块的图像内容运动估计准确。
[0070] 当根据宏块的运动矢量和残差数据判断可以满足式3时,执行步骤S506,否则执行S502。
[0071] S506,选择采用时域与空域相结合的插值滤波方式对所述采用帧间编码的宏块进行超分辨率图像复原。例如采用一种可选的时域和空域相结合的插值滤波算法如下:在如图6所示的宏块中,像素p为待插值像素,像素a,b,c,d为已有的像素,像素i为对应I帧经过所述全分辨率的H.264标准解码得到的图像中对应宏块的像素,则有p=(2*i+4*(b+c)-a-d+4)/8。实际应用中也可以采用其他形式的插值滤波计算方式。
[0072] 具体实现中,本发明实施例根据宏块的运动矢量和残差数据计算得到如下3个参数:
[0073] a)宏块的残差绝对值之和:sum;
[0074] b)宏块的水平与垂直方向的整像素运动矢量之和:sum_mv;
[0075] c)宏块的残差中绝对值最大的值:max_res。
[0076] 以上3个参数中块宏块的残差绝对值之和sum与宏块的残差中绝对值最大的值max_res表示运动估计是否准确,宏块的水平和垂直方向的整像素运动矢量之和sum_mv表示图像运动是否剧烈。在选择插值滤波方式时针对每个参数可以分别设置一定的阈值,用于对不同尺寸的块,可依据这3个参数与阈值的比较结果来判断是否可以采用时域插值。
[0077] 下面将列出宏块在不同分块尺寸的条件下每种参数的阈值设置以及选择插值滤波方式的表达式定义,实际也可根据应用需求采用其他形式的表达式和阈值。
[0078] 子块残差绝对值之和sum的阈值:
[0079]
[0080] 子块的水平与垂直方向整像素绝对值之和sum_mv的阈值:
[0081]
[0082] 子块的8x8块的残差中绝对值最大的值max_res的阈值:
[0083]
[0084] 1)宏块分块尺寸为16x16的条件下三个表达式分别为:
[0085] 表达式1:
[0086] ((sum
[0087] 表达式2:
[0088] ((sum_mv>1))&&(max_res>1))&&(max_res>1))&&(max_res
[0092] ((sum_mv
[0093] ||((sum_mv
[0094] 2)宏块分块尺寸为16x8的条件下三个表达式分别为:
[0095] 表达式1:
[0096] (sum<(TH_RES_0>>1))&&(sum_mv
[0098] ((sum_mv>2))&&(max_res>2))&&(max_res>2))&&(max_res
[0102] ((sum_mv>1)))
[0103] ||((sum_mv>1)))
[0104] ||(sum<(TH_RES_2>>1))
[0105] 3)宏块分块尺寸为8x16的条件下三个表达式分别为:
[0106] 表达式1:
[0107] (sum<(TH_RES_0>>1))&&(sum_mv
[0109] ((sum_mv>2))&&(max_res>2))&&(max_res>2))&&(max_res
[0113] ((sum_mv>1)))
[0114] ||((sum_mv>1)))
[0115] ||(sum<(TH_RES_2>>1))
[0116] 4)宏块分块尺寸为8x8的条件下三个表达式分别为:
[0117] 表达式1:
[0118] (sum<(TH_RES_0>>2))&&(sum_mv
[0120] ((sum_mv>3))&&(max_res>3))&&(max_res>3))&&(max_res
[0124] ((sum_mv>2)))
[0125] ||((sum_mv>2)))
[0126] ||(sum<(TH_RES_2>>2))
[0127] 图7是本发明实施例中的一种混合分辨率编码装置的结构示意图。如图所示本发明实施例中的混合分辨率编码装置包括:
[0128] I帧编码模块701,用于对视频帧序列中只采用帧内编码的I帧进行全分辨率的标准编码并进行帧重建得到所述I帧的重建帧。本发明实施例中的视频帧序列分成多个连续的图像组(Group of Pictures,GOP)进行编码,每个图像组中包含一个只采用帧内编码的I帧以及至少一个非I帧,I帧(I frame)被称为帧内编码帧(intra picture)或关键帧,I帧通常是每个GOP的第一个帧,非I帧可以包括P帧和B帧,P帧和B帧可采用帧内编码和帧间编码两种方式,P帧只有前向预测模式,即只能以视频序列中按播放顺序排在当前帧之前的I帧作为参考帧进行预测编码,而B帧有前向、后向和双向预测模式。例如若一个视频中不包含B帧时,一个图像组中可以包含1个I帧以及3个P帧。本发明实施例中所提及的对视频的标准编码或标准解码,可以为采用H.264标准进行的视频编码和解码过程,在可选实施例中,也可以采用ITU-T或ISO/IEC所提出的其他视频编解码标准,由于H.264/AVC是如今采用较为广泛的视频编解码标准,本发明实施例均以采用H.264标准为例进行说明,本领域技术人员可以毫无疑义的推出采用其他编解码标准均可以实现本发明所希望解决的技术问题。因此,本实施例中对视频进行编码首先是对视频的各图像中采用帧内编码的I帧进行全分辨率的H.264标准编码,以16x16(像素x像素)大小的宏块作为编码的基本单位,使用已编码的宏块的像素对待编码的宏块做帧内预测,再将待编码的宏块的实际像素值减去得到的预测值,获得宏块的残差数据,对I帧的编码过程就是将变换、量化之后的残差数据经过重排序和熵编码处理得到适合网络传输的数据包,即I帧的编码结果。而对I帧的帧重建过程就是将量化之后的残差数据经过反量化、反变换,与预测值相加,再经过去块效应滤波器即可获得I帧的重建帧。
[0129] 下采样模块702,用于所述I帧的重建帧进行下采样,得到所述I帧的重建帧的采样图像,以及用于视频帧序列中的非I帧进行下采样,得到所述非I帧的采样图像。可选的,下采样模块702可以进一步包括:
[0130] 下采样单元,用于对所述I帧的重建帧的帧图像或非I帧的帧图像进行下采样得到采样图像,所述采样图像的宽度为所述帧图像宽度的1/a、高度为所述帧图像的1/b,其中a和b均大于1;
[0131] 扩边单元,用于当所述采样图像的宽度和高度不是宏块宽度和高度(例如对H.264标准,宏块宽度和高度都是16个像素)的整数倍时,将所述下采样单元得到的采样图像进行扩边,得到图像宽度和高度均为宏块宽度和高度的整数倍的采样图像。
[0132] 非I帧编码模块703,用于以所述非I帧对应的I帧的重建帧的采样图像作为参考帧对所述非I帧的采样图像进行H.264标准编码。具体的,若所述非I帧为P帧,则其对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧,即若采用前向预测模式,则B帧对应的I帧与P帧相同为视频帧序列中按播放顺序的前一个I帧,若采用后向预测模式则其对应的I帧为视频帧序列中按播放顺序的后一个I帧,若采用双向预测模式则其对应的I帧为视频帧序列中按播放顺序的前一个I帧和后一个I帧。非I帧编码模块703对某一非I帧进行编码,首先要找到该非I帧对应的I帧,进而获取该I帧的重建帧的采样图像作为参考帧,然后可以根据该参考帧对下采样得到的非I帧的采样图像进行H.264标准编码,具体可以包括:对下采样得到非I帧的采样图像以宏块为单位在参考帧中做运动估计,寻找参考帧中最为匹配的宏块,即可获取该宏块的运动矢量;将实际宏块与参考帧中的匹配宏块进行比较获取残差数据;进而将获取到的残差数据经过整数变换、量化、重排序和熵编码后与运动矢量一同打包,从而得到适合网络传输的数据包,即非I帧的编码结果。
[0133] 传输模块704,用于发送视频码流,所述视频码流包括经过编码得到的的I帧和非I帧。
[0134] 图8是本发明实施例中的一种混合分辨率解码装置的结构示意图。如图8所示本发明实施例中的混合分辨率解码装置可以包括:
[0135] 码流接收模块801,用于接收视频码流。本发明实施例中码流接收模块801获取到的需要解码的视频码流可以为前文图7所介绍的混合分辨率编码装置编码得到的视频码流,包括经过编码的I帧和非I帧。
[0136] I帧解码模块802,用于对所述视频码流中只采用帧内编码的I帧进行全分辨率的H.264标准解码。
[0137] 下采样模块803,用于对经过所述全分辨率的H.264标准解码得到的I帧进行下采样,得所述I帧的采样图像。具体的,与编码时类似,下采样模块804可以进一步包括:
[0138] 下采样单元,用于对经过所述全分辨率的H.264标准解码得到的I帧进行下采样得到采样图像,所述采样图像的宽度为所述帧图像宽度的1/a、高度为所述帧图像的1/b,其中a和b均大于1;
[0139] 扩边单元,用于当所述采样图像的宽度和高度不是宏块宽度和高度(例如对H.264/AVC标准,宏块宽度和高度都是16个像素)的整数倍时,将所述下采样单元得到的采样图像进行扩边,得到图像宽度和高度均为宏块宽度和高度的整数倍的采样图像。
[0140] 非I帧解码模块804,用于对所述视频码流中的非I帧以所述非I帧对应的I帧的采样图像作为参考帧进行H.264标准解码。具体的,若所述非I帧为P帧,则其对应的I帧为所述P帧在所述视频帧序列中按播放顺序的前一个I帧;若所述非I帧为B帧,则对应的I帧为所述B帧在所述视频帧序列中按播放顺序的前一个I帧和/或后一个I帧,即若采用前向预测模式,则B帧对应的I帧与P帧相同为视频帧序列中按播放顺序的前一个I帧,若采用后向预测模式则其对应的I帧为视频帧序列中按播放顺序的后一个I帧,若采用双向预测模式则其对应的I帧为视频帧序列中按播放顺序的前一个I帧和后一个I帧。非I帧解码模块804获取到所述非I帧对应的I帧后,将该对应的I帧经过下采样得到的采样图像作为这个非I帧的参考帧,具体到非I帧中的每一个宏块,则根据该宏块的运动矢量在参考帧中找到对应的宏块获取该宏块的预测值,然后将该宏块经过反量化、反变换后的残差数据与预测值相加,再经过去块效应滤波器处理即可得到重建的宏块。
[0141] 超分辨率复原模块805,用于对经过解码得到的非I帧进行超分辨率图像复原,得到原始分辨率的非I帧图像。具体可以如附图9所示,本发明实施例中的超分辨率复原模块805可以进一步包括:
[0142] 数据获取单元8051,用于获取所述经过编码得到的非I帧中采用帧间编码的宏块的运动矢量和残差数据。
[0143] 帧间编码复原单元8052,用于根据所述数据获取单元获取到的所述宏块的运动矢量和残差数据选择采用空域插值滤波、时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原。其中采用时域插值滤波或时域与空域相结合的插值滤波的方式对所述采用帧间编码的宏块进行超分辨率图像复原时,可以根据所述非I帧对应的I帧经过所述全分辨率的H.264标准解码得到的图像对所述采用帧间编码的宏块进行超分辨率图像复原。具体选择方法可以参考前文方法实施例中结合图5的说明,本实施例中不再赘述。
[0144] 帧内编码复原单元8053,用于对所述经过解码得到的非I帧中采用帧内编码的宏块进行空域插值滤波。
[0145] 具体的空域插值滤波、时域插值滤波以及时域与空域相结合的插值滤波方法可以参考前文方法实施例中的详细介绍,本实施例中不再赘述。
[0146] 本发明实施例通过对视频帧序列中的I帧和非I帧采用混合分辨率的编码方式进行编码使得视频帧序列中的非I帧的编码数据量减少了一半,且非I帧都采用已下采样之后的I帧为参考帧,使非I帧在编码端不必再做子像素插值和去块效应滤波,降低了计算复杂度,经大量实验证明这可以使得编码器的速度平均可以提升67.40%,解码速度平均提升15.49%。而在解码器对非I帧通过根据每个宏块的残差数据和运动矢量自适应的选择超分辨率图像复原的方式,使得经过超分辨率图像复原后的非I帧图像与采用更高分辨率编码、解码的P帧相比,画面质量无明显下降,因此在同等解码视频质量下,极大的节约了视频编解码的资源消耗,提升了编解码的效率。
[0147] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0148] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。