视频编码方法、装置、电子设备及可读存储介质与流程

文档序号:23892838发布日期:2021-02-09 10:46阅读:51来源:国知局
视频编码方法、装置、电子设备及可读存储介质与流程

[0001]
本申请实施例涉及计算机技术,尤其涉及一种视频编码方法、装置、电子设备及可读存储介质。


背景技术:

[0002]
视频是连续的图像序列,由连续的帧构成,一帧为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,人眼即可以看到动作连续的视频。为便于储存传输,可以对原始的视频进行编码压缩后储存或传输,在需要播放时,再对视频进行解码后播放。视频的处理过程包括图像信号处理(image signal processing,简称isp)和视频编解码等。其中,isp是对前端图像传感器输出的信号做处理。处理包括黑电平校正、gamma校正、色彩校正、去马赛克、降噪、锐化、白平衡、自动曝光控制等,处理之后将图像输出,供后续编码或传输显示使用。视频编解码具体指在储存或传输前对视频数据进行编码,在需要播放视频时再进行解码。以编码为例,视频编解码基于特定的视频编解码标准,通过去除空间、时间、统计冗余来压缩视频数据,大大降低对传输带宽和存储容量的需求。
[0003]
现有技术中,图像传感器获得图像信号后,经过isp处理,得到处理后的视频数据。该处理后的视频数据被输入到编码器中进行编码压缩,并输出压缩后的码流。
[0004]
但是,现有技术的方法可能导致视频编码压缩率不高,进而导致视频图像质量降低。


技术实现要素:

[0005]
本申请实施例提供一种视频编码方法、装置、电子设备及可读存储介质,用于解决现有技术中的视频编码压缩率不高所导致的视频图像质量降低的问题。
[0006]
第一方面,本申请实施例提供一种视频编码方法,包括:
[0007]
获取待编码的视频数据以及所述视频数据的特征信息,所述视频数据包括n帧图像,n为大于等于2的整数,所述视频数据的特征信息基于图像信号提取得到;
[0008]
根据所述视频数据中各帧图像的特征信息,分别对各帧所述图像进行编码,得到编码后的压缩数据。
[0009]
第二方面,本申请实施例提供一种视频编码装置,包括:
[0010]
获取模块,用于获取待编码的视频数据以及所述视频数据的特征信息,所述视频数据包括n帧图像,n为大于等于2的整数,所述视频数据的特征信息基于图像信号提取得到;
[0011]
处理模块,用于根据所述视频数据中各帧图像的特征信息,分别对各帧所述图像进行编码,得到编码后的压缩数据。
[0012]
第三方面,本申请实施例提供一种电子设备,包括:
[0013]
存储器,用于存储程序指令;
[0014]
处理器,用于调用并执行所述存储器中的程序指令,执行上述第一方面所述的方
法步骤。
[0015]
第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行上述第一方面所述的方法。
[0016]
本申请实施例所提供的视频编码方法、装置、电子设备及可读存储介质,在编码之前获取视频数据的特征信息,并根据视频数据中各帧图像的特征信息,分别对视频数据中各帧图像进行编码,可以使得编码基于每帧图像的实际特征来进行,从而使得视频编码压缩率得到极大提升,进而保证视频图像的高质量。
附图说明
[0017]
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]
图1为本申请实施例的一种示例性的应用场景图;
[0019]
图2为现有技术中视频编码处理的示意图;
[0020]
图3为本申请实施例的视频编码处理的系统示例图;
[0021]
图4为本申请实施例提供的视频编码方法的流程示意图;
[0022]
图5为本申请实施例提供的运动信息图;
[0023]
图6为基于hevc协议的编解码器的编解码框架;
[0024]
图7为本申请实施例提供的视频编码方法的流程示意图;
[0025]
图8为从参考帧列表中选择参考帧的示例图;
[0026]
图9为本申请实施例提供的视频编码方法的流程示意图;
[0027]
图10为本申请实施例提供的一种视频编码装置的模块结构图;
[0028]
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0029]
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]
本申请实施例可以应用于任何需要进行视频压缩以存储或传输视频的场景中。图1为本申请实施例的一种示例性的应用场景图,如图1所示,在视频监控场景中,由设置在各场所中的图像采集设备采集场所中的视频,并分别由各场所中的图像采集设备进行isp处理以及编码,得到编码后的压缩数据。再经由网络传输到控制中心,由控制中心的视频处理设备进行解码,进一步还可以对解码后的数据进行存储和/或显示,例如可以在监控大屏进行显示。
[0031]
其中,图像采集设备可以为摄像机。
[0032]
本申请实施例涉及视频存储或传输前的编码端的处理过程,与之对应的解码端的处理过程采用与编码端相应的处理方式,不再赘述。
[0033]
图2为现有技术中视频编码处理的示意图,如图2所示,在现有技术中,图像传感器(例如图1所示的摄像机)在采集到视频信号后,进行isp处理,isp处理后的视频数据再进入到编解码器中进行编码,编码完成后,可以得到压缩的码流。由图2可以看出,现有技术中,编解码器直接基于isp所输出的处理后的数据,按照特定的视频编解码协议进行编码。发明人发现在一些应用中,这种处理方式可能导致视频编码压缩率低。以下以两个示例进行说明。
[0034]
一种示例中,当视频数据的相邻帧的一致性较差时,使用这种方式会导致视频编码压缩率低,进而,只能牺牲编码质量来换取码率平稳,从而导致视频图像的质量降低。其中,前后帧的一致性也可以称为前后帧的相似度。以下通过一个具体实例来说明该示例的问题。摄像机拍摄的场景中存在亮、暗区域,采集的图像会出现亮区域过曝而暗区域曝光不够的现象。摄像机为了提高智能分析的准确度,会在一个帧周期内输出曝光时间不同的图像信号,选取最佳帧进行智能分析等处理。比如在夜晚智能相机会对司机是否安全驾驶进行分析,由于车内较暗,会利用曝光时间较长的视频图像帧进行行为分析;当检测到司机存在违规行为时,需要车牌信息进行追查,此时会利用同一段视频中曝光时间较短的帧进行分析。在编码这一段视频时,由于存在不同的isp处理,所以即使同一个帧周期内场景几乎一样,相邻帧的相似度也不高,在相似度不高时,编解码器对从isp输出的视频数据直接进行编码处理时,会出现编码压缩率不高的问题。
[0035]
另一种示例中,编解码器在进行码率控制时,对于各种场景下采集的视频数据均使用一致的码率,可能导致视频编码压缩率低。以下通过一个具体实例来说明该示例的问题。在安防应用中,需要将所有时间的视频编码记录,而白天和夜晚的视频会有较大差异,夜晚的视频中内容清晰度差、噪点多。而编解码器在对业务的视频进行码率控制时,仍然使用与白天的视频相同的码率,造成将较大的码率用于无效的信息,导致视频编码压缩率低。
[0036]
考虑到编解码器直接基于isp处理后的视频数据进行编码可能会导致视频编码压缩率低的问题,本申请实施例在编码时基于视频数据中每帧图像的特征信息进行编码,以使得在相邻帧相似度低时和/或夜晚场景下的视频编码压缩率得到极大提升,进而保证视频图像的高质量。
[0037]
图3为本申请实施例的视频编码处理的系统示例图,如图3所示,本申请实施例可以涉及isp和编解码器。示例性的,isp和编解码器可以均位于前述图1所示的视频处理设备中。isp从摄像机等视频传感器接收到视频信号后,对视频数据进行黑电平校正、gamma校正、色彩校正、去马赛克、降噪、锐化、白平衡、自动曝光控制等处理,并将处理后的视频数据发送给编解码器。同时,isp还向编解码器发送一个isp控制信号(isp-related ctrl_info),该控制信号中包括本申请实施例中涉及的视频数据的特征信息。编解码器接收到视频数据以及isp控制信号后,根据控制信号所携带的特征信息对视频数据的每一帧进行编码,得到压缩后的码流并输出。
[0038]
图4为本申请实施例提供的视频编码方法的流程示意图,该方法的执行主体可以为前述的视频处理设备,如图4所示,该方法包括:
[0039]
s401、获取待编码的视频数据以及该视频数据的特征信息,该视频数据包括n帧图像,该视频数据的特征信息基于图像信号提取得到。
[0040]
其中,n为大于等于2的整数。
[0041]
上述视频数据的特征信息是基于图像信号提取得到的。特征信息可以直接从图像信号中提取得到,或基于对图像信号处理之后的信息进行提取,本申请实施例对此并不限定。
[0042]
可选的,上述视频数据的特征信息可以由isp处理模块对视频数据处理得到,因此,该视频数据的特征信息能够表征视频数据中图像帧的真实特征。
[0043]
s402、根据上述视频数据中各帧图像的特征信息,分别对上述各帧图像进行编码,得到编码后的压缩数据。
[0044]
可选的,上述特征信息可以包括:图像的运动信息、曝光参数和感光灵敏度中的至少一种。当上述特征信息包括图像的运动信息时,该运动信息可以区分图像帧中的不同区域,当上述特征信息包括曝光参数时,该曝光参数能够表征相邻帧之间的相似度。当上述特征信息包括感光灵敏度时,该感光灵敏度能够表征每帧图像对应的场景,如不同环境光亮度的场景。根据图像的运动信息、曝光参数和感光灵敏度中的至少一种进行编码,可以使得编码基于每帧图像的实际特征来进行,因此能够使得视频编码压缩率得到提升。
[0045]
本实施例中,在编码之前获取视频数据的特征信息,并根据视频数据中各帧图像的特征信息,分别对视频数据的各帧图像进行编码,可以使得编码基于各帧图像的实际特征来进行,从而使得视频编码压缩率得到极大提升,进而保证视频图像的高质量。
[0046]
如前文所述,上述视频数据的特征信息可以包括图像的运动信息、曝光参数和感光灵敏度中的至少一种。
[0047]
可选的,上述曝光参数可以指曝光时间。
[0048]
上述曝光参数和/或感光灵敏度可以从isp处理模块获取,例如isp处理模块直接从图像信号中提取曝光参数和感光灵敏度中的至少一种。以上述图3所示的系统架构为例,isp处理模块处理完视频传感器发送的视频信号后,除了向编解码器发送处理后的视频数据,还向编解码器发送isp控制信号,isp处理模块在该isp控制信号中可以携带视频数据中每帧图像的曝光参数和感光灵敏度中的至少一种。
[0049]
其中,处理后的视频数据中可以包括:图像的运动信息。
[0050]
基于视频数据的特征信息中包括图像的运动信息、曝光参数和感光灵敏度中的至少一种,相应的,编解码器在进行编码时,可以存在如下几种可能的实现方式:
[0051]
方式(1):仅基于曝光参数进行编码
[0052]
应理解,编解码器仅基于曝光参数编码,可以指isp控制信号中仅携带曝光参数,编解码器基于该携带的曝光参数编码,或者,也可以指isp控制信号中同时携带曝光参数和感光灵敏度,编解码器仅使用其中所携带的曝光参数编码。
[0053]
在仅基于曝光参数进行编码时,编解码器可以使用以下两种可选方式中的任意一种。
[0054]
第一种可选方式中,编解码器可以基于该曝光参数对参考帧进行管理,以使得参考帧之间的相似度得到极大提升,进而,基于相似度高的相邻帧进行编码时可以极大提升编码压缩率。
[0055]
第二种可选方式中,编解码器可以在接收到视频数据并且未启动编码之前,按照曝光参数将视频数据中的n帧图像分为至少两组,位于同一组的图像的相似度高,进而,分别对每组图像进行编码,以使得编码压缩率得到极大提升。
[0056]
上述两种可选方式的具体执行过程将在下述实施例中详细说明。
[0057]
方式(2):仅基于感光灵敏度进行编码
[0058]
应理解,编解码器仅基于感光灵敏度编码,可以指isp控制信号中仅携带感光灵敏度,编解码器基于该携带的感光灵敏度编码,或者,也可以指isp控制信号中同时携带曝光参数和感光灵敏度,编解码器仅使用其中所携带的感光灵敏度编码。
[0059]
在仅基于感光灵敏度进行编码时,编解码器可以根据感光灵敏度识别出每帧图像所在的场景,并根据场景对每帧图像进行码率控制。具体过程将在下述实施例中详细说明。
[0060]
方式(3):同时基于曝光参数和感光灵敏度进行编码
[0061]
根据第i帧图像的曝光参数以及第i帧图像的感光灵敏度,对第i帧图像进行编码,得到第i帧图像对应的编码后的压缩数据。
[0062]
由上述仅基于曝光参数进行编码和上述仅基于感光灵敏度进行编码的描述可知,编解码器利用曝光参数进行编码与利用感光灵敏度进行编码分别处于编码过程中的不同阶段,具体的,利用曝光参数进行编码在参考帧管理阶段或者编码启动前,利用感光灵敏度进行编码位于码率控制阶段。因此,在同时基于曝光参数和感光灵敏度进行编码时,可以直接将前述的利用曝光参数进行编码与利用感光灵敏度进行编码的方法相结合即可。具体的,可能包括如下两种结合方式:
[0063]
第一种结合方式,根据参考帧以及感光灵敏度进行编码。具体的,使用上述方式(1)中的第一种可选方式进行参考帧管理,即确定每帧图像的参考帧,进而,利用感光灵敏度对每帧图像进行码率控制,即根据感光灵敏度,确定每帧图像的码率,然后根据每帧图像的参考帧,利用每帧图像的码率分别对每帧图像进行编码,得到编码后的压缩数据。
[0064]
第二种结合方式,使用上述方式(1)中的第二种可选方式将n帧图像分为至少两组,对每组图像分别进行编码,在对每组图像编码时,针对每组图像中的每帧图像,确定每帧图像的参考帧,进而根据感光灵敏度对其进行码率控制,即根据感光灵敏度,确定每帧图像的码率,然后根据每帧图像的参考帧,利用每帧图像的码率分别对每帧图像进行编码,得到编码后的压缩数据。
[0065]
方式(4):基于图像的运动信息进行编码
[0066]
图像的运动信息可以通过图5所示的运动信息图表示,运动信息可以区分图像帧中不同类型的区域,例如静止区域和运动区域,静止区域可以是图像的背景区域,运动区域为图像的前景区域,如图5所示,为对图像信号处理之后得到的运动信息图,一般运动区域为用户感兴趣的区域,比如监控场景下对前景的运动信息关注较多,对于背景区域关注较少,因此对于图像中的静止区域可以分配较少的码率,对于运动区域可以分配较多的码率,即根据图像的运动信息可以对每帧图像编码时的码率进行控制。
[0067]
方式(5):基于曝光参数和图像的运动信息进行编码
[0068]
根据第i帧图像的曝光参数以及第i帧图像的运动信息,对第i帧图像进行编码,得到第i帧图像对应的编码后的压缩数据。
[0069]
如,根据第i帧图像的曝光参数,确定所述第i帧图像的参考帧;
[0070]
根据第i帧图像的运动信息,确定所述第i帧图像的码率;
[0071]
根据所述第i帧图像的参考帧,使用所述第i帧图像的码率,对第i帧图像进行编码,得到第i帧图像对应的编码后的压缩数据。
[0072]
在一实施例中,根据所述第i帧图像的运动信息,确定所述第i帧图像中至少两种类型的图像区域对应的码率;
[0073]
根据所述参考帧,使用所述至少两种类型的图像区域对应的码率,对所述第i帧图像进行编码,得到所述第i帧图像编码后的压缩数据。
[0074]
该方式(5)中与方式(3)中同时基于曝光参数和感光灵敏度进行编码类似。
[0075]
如前文所述,编解码器基于特定的编解码标准进行编码,该特定的编解码标准例如可以是h.264或h.265或vvc。其中,h.264为高级视频编码(advanced video coding,简称avc),h.265为高效视频编码(high efficiency video coding,简称hevc),也可以是下一代(versatile video coding,vvc)编解码标准。图6为基于hevc协议的编解码器的编解码框架,其中包括帧内/帧间预测、变换、量化、熵编码等。其中,环路滤波用于改善视频的质量,减少块效应等,环路滤波包括去块滤波和样例自适应补偿(sample adaptive offset,sao)。
[0076]
在本申请实施例中,如果使用前述的方式(1)中的第一种可选方式,即进行参考帧管理,则可以在图6所示的帧间预测阶段进行参考帧管理。如果使用前述方式(1)中的第二种可选方式,则可以在接收到视频数据之后,未进行帧间预测之前将n帧图像分为至少两组。另外,基于感光灵敏度或运动信息进行编码可以在图6所示的量化阶段进行。
[0077]
以下分别说明基于曝光参数进行编码和基于感光灵敏度进行编码的过程。同时基于曝光参数和感光灵敏度进行编码的过程为这两种过程的结合(或叠加),不再另行赘述。
[0078]
值得说明的是,本申请实施例以下所提到的帧,可以指一帧图像。
[0079]
图7为本申请实施例提供的视频编码方法的流程示意图,如图7所示,上述方式(1)中的第一种可选方式的处理过程包括:
[0080]
s601、根据第i帧图像的曝光参数,确定第i帧图像的参考帧。
[0081]
其中,上述第i帧可以指当前被处理到的需要编码的帧。i的取值可以为大于1小于等于n的任意整数。
[0082]
在根据第i帧的曝光参数确定第i帧图像的参考帧时,可以使用如下两种方式中的任意一种。
[0083]
第一种方式中,当i大于等于3时,根据第i帧图像的曝光参数,从参考帧列表中确定出第i帧图像的参考帧。
[0084]
在这种方式中,当i等于1时,即对于视频数据中的第一帧,直接采用i帧编码。当i等于2时,即对于视频数据中的第二帧,由于没有其他可参考的帧,选择已编码的第1帧作为参考帧。当i对于等于3时,可以根据第i帧图像的曝光参数,从参考帧列表中选择出最合适的帧作为第i帧的参考帧。
[0085]
在一种可选的实施方式中,根据第i帧图像的曝光参数,确定第i帧图像的参考帧,可以通过如下方式实现:
[0086]
将所述视频数据按照曝光参数分为至少两组图像;其中,同一组所述图像具有相同的曝光参数;
[0087]
针对任一组所述图像,根据第i帧图像的曝光参数,确定第i帧图像的参考帧。
[0088]
针对任一组图像,根据第i帧图像的曝光参数,确定第i帧图像的参考帧,可以参照下述实施例中描述的方案。
[0089]
作为一种可选的实施方式,从参考帧列表中选择的参考帧可以满足如下条件的参考帧:
[0090]
位于上述第i帧图像之前、帧序号与第i帧图像的帧序号的差值最小且与上述第i帧图像的曝光参数的差异最小的参考帧。
[0091]
其中位于第i帧图像之前指的是在第i帧图像之前进行编码。
[0092]
图8为从参考帧列表中选择参考帧的示例图,如图8所示,第一帧为f0,第二帧为f1,第三帧为f2,依次类推。同时,f0的曝光时间为t1,f1的曝光时间为t2,f2的曝光时间为t1,依次类推,即从f2开始,每帧图像的曝光时间均与位于其之前并且与其间隔一个帧的一帧图像的曝光时间相同,而相邻帧的曝光时间均不相同,如果使用现有技术的方式,由于相邻帧的曝光时间不同,即相似度低,因此,会导致视频编码压缩率低。而如图8所示的实施例中,箭头源头指代的是该帧所参考的参考帧,编码时f0为第一帧,采用i帧编码,f1由于没有其他可参考帧,选择已编码的f0作为参考帧,后续编码p帧时参考了参考帧缓存中前向、最邻近、曝光参数最相近的帧进行p帧编码。按照上述的条件为第i帧图像选择参考帧时,会选择第i帧图像之前距离第i帧图像最近的并且曝光时间最相近的图像作为参考帧,基于该条件,第三帧f2的参考帧为第一帧f0,第四帧f3的参考帧为f1,依次类推。
[0093]
通过这种方式,可以找出距离第i帧最近的并且曝光参数差异最小的帧作为第i帧图像的参考帧,从而使得第i帧与其参考帧的相似度高,进而极大提升视频编码压缩率。同时,该方式选择的是距离第i帧最近的帧,因此,在选择参考帧时的选择速度快,效率高。另外,该方式仅在选择参考帧时进行了改进,对编解码器的后续处理没有任何影响,因此兼容性高。
[0094]
第二种方式中,在i大于等于2时,根据第i帧图像的曝光参数与第i-1帧图像的曝光参数的差异,对第i-1帧图像进行调整亮度的处理,得到处理后的第i-1帧图像,并将处理后的第i-1帧图像作为第i帧图像的参考帧。
[0095]
在这种方式中,当i等于1时,即对于视频数据中的第一帧,直接采用i帧编码。当i大于等于2时,即从第二帧开始,对第i帧图像之前的第i-1帧图像进行调整亮度的处理,使得处理后的第i-1帧图像的亮度与第i帧图像的亮度差异小于一个阈值,即亮度基本接近,进而,将该处理后的第i-1帧图像作为第i帧图像的参考帧。经过这种处理之后,使得第i帧与其参考帧的相似度高,因此,可以极大提升视频编码压缩率。
[0096]
s602、根据上述参考帧,对上述第i帧图像进行编码,得到上述第i帧图像对应的编码后的压缩数据。
[0097]
以上述图6所示的编解码框架为例,上述步骤s601可以在帧间预测阶段执行,在该阶段利用上述步骤s601中的任意一种方式得到第i帧的参考帧之后,可以继续执行变换、量化等过程并完成编码压缩。应理解,在量化阶段可以利用本申请实施例的方式进行码率控制,也可以使用现有技术中的方式进行码率控制。
[0098]
本实施例中,利用曝光参数确定出第i帧的参考帧,可以使得第i帧与其参考帧的相似度得到极大提升,进而实现高的视频编码压缩率。
[0099]
以下说明上述方式(1)中的第二种可选方式的处理过程。
[0100]
在该处理过程中,编解码器在接收到视频数据并且未启动编码之前,将视频数据的n帧图像按照曝光参数划分为至少两组。示例性的,视频数据中有t1和t2两个曝光时间,
则编解码器可以将曝光时间为t1的图像划分为一组,形成一个帧集合,将曝光时间为t2的图像划分为一组,形成另一个帧集合。进而,先对t1对应的帧集合进行编码,再对t2对应的帧集合进行编码。由于每个集合中的图像的曝光时间相同,因此,图像的相似度高,因此在随后的编码中能够获得高的编码压缩率。
[0101]
以下说明上述方式(2)中基于感光灵敏度进行编码的过程。
[0102]
图9为本申请实施例提供的视频编码方法的流程示意图,如图9所示,根据感光灵敏度进行编码的过程可以包括:
[0103]
s801、根据第i帧图像的感光灵敏度,确定第i帧图像所处的场景。
[0104]
其中,第i帧可以指n帧中的任意一帧。
[0105]
例如,图像传感器在采集图像时,在不同的环境光亮度的场景下的感光灵敏度并不相同,因此,编解码器可以从isp控制信号中读取第i帧图像的感光灵敏度,进而可以判断出第i帧图像的拍摄场景是哪种场景。
[0106]
例如,在白天和夜晚的室外场景中,环境光亮度差别较大,感光灵敏度也不同。
[0107]
s802、根据上述第i帧图像所处的场景,确定上述第i帧图像的码率。
[0108]
如前文所述,夜晚拍摄的视频中内容清晰度差、噪点多,因此,对于拍摄场景为夜晚的图像,无需使用较大的码率,因此,当编解码器判断出第i帧图像为夜晚的图像时,可以为其选择较小的码率。而当编解码器判断出第i帧图像为白天的图像时,可以为其选择较大的码率。
[0109]
s803、使用上述第i帧图像的码率进行编码,得到上述第i帧图像编码后的压缩数据。
[0110]
可选的,使用第i帧图像的码率进行编码,可以指按照该码率进行码率控制。其中,码率控制可以通过量化来实现。以前述图6所示的编解码框架为例,本实施例的处理过程可以在图6的量化阶段进行。一种方式中,码率控制可以通过调整宏块编码中的量化参数(quatization parameter,简称qp),以使得各个宏块的码率接近或者达到目标码率。本实施例中,该目标码率可以指由上述步骤s802所得到的第i帧图像的码率。一个qp可以对应一个量化步长,通过qp可以确定出一个量化步长。另一种方式中,码率控制还可以通过缩放矩阵(scaling matrix)来调整变换后各分量的量化步长。本实施例中,对于属于夜晚场景的图像,可以放大对高频分量的量化,以提高压缩率。
[0111]
本实施例中,根据感光灵敏度可以获知第i帧的场景,进而,可以选择与场景匹配的码率作为第i帧的码率并进行码率控制,例如对于夜晚拍摄的图像,可以选择较小的码率,从而可以避免将较大的码率用于无效的信息,进而提升视频编码压缩率。
[0112]
在一实施例中,根据图像的运动信息进行编码的过程可以包括:
[0113]
根据第i帧图像的运动信息,对所述第i帧图像进行区域划分,得到至少两种类型的图像区域,i为大于1,且小于或等于n的整数;
[0114]
根据所述至少两种类型的图像区域,确定所述至少两种类型的图像区域对应的码率;
[0115]
根据所述至少两种类型的图像区域对应的码率,对所述第i帧图像进行编码,得到所述第i帧图像编码后的压缩数据。
[0116]
具体的,图像的运动信息可以区分图像帧中不同类型的图像区域,例如静止区域
和运动区域,静止区域可以是图像的背景区域,运动区域为图像的前景区域,如图5所示,为对图像信号处理之后得到的运动信息图,一般运动区域为用户感兴趣的区域,比如监控场景下对前景的运动信息关注较多,对于背景区域关注较少,因此在编码时对于图像进行区域划分,不同类型的区域对应不同的码率。
[0117]
本实施例中,首先根据第i帧图像的运动信息,对所述第i帧图像进行区域划分,得到至少两种类型的图像区域,例如运动区域和静止区域;
[0118]
根据所述至少两种类型的区域,确定所述至少两种类型的区域对应的码率,例如,图像中的静止区域可以分配较少的码率,对于运动区域可以分配较多的码率,即根据图像的运动信息可以对每帧图像编码时的码率进行控制。
[0119]
比如监控场景下对前景的运动信息关注较多,对于背景区域关注较少,图5中浅色区域对应背景区域,编码中可使用较大码率,可用较大步长量化编码;而深色区域对应运动区域,编码中可使用较小码率,可利用小步长量化编码,保证较好的质量。
[0120]
其中,当i等于1时,即对于视频数据中的第一帧,可以直接采用i帧编码。
[0121]
本实施例中,根据第i帧图像的码率进行编码,可以指按照该码率进行码率控制,与图9实施例中类似此处不再赘述。
[0122]
本实施例中,根据运动信息可以区分图像中的不同区域,进而,可以针对不同类型的区域,选择不同的码率,例如对于图像中运动区域,可以选择较大的码率,对于图像中静止区域,可以选择较小的码率,从而可以避免将较大的码率用于无效的信息,进而提升视频编码压缩率。
[0123]
图10为本申请实施例提供的一种视频编码装置的模块结构图,如图10所示,该装置包括:
[0124]
获取模块901,用于获取待编码的视频数据以及所述视频数据的特征信息,所述视频数据包括n帧图像,n为大于等于2的整数,所述视频数据的特征信息基于图像信息提取得到。
[0125]
处理模块902,用于根据所述视频数据中各帧图像的特征信息,分别对各帧所述图像进行编码,得到编码后的压缩数据。
[0126]
作为一种可选的实施方式,处理模块902具体用于:
[0127]
根据第i帧图像的运动信息,对所述第i帧图像进行区域划分,得到至少两种类型的图像区域,i为大于或等于1,且小于或等于n的整数;
[0128]
根据所述至少两种类型的区域,确定所述至少两种类型的区域对应的码率;
[0129]
根据所述至少两种类型的区域对应的码率,对所述第i帧图像进行编码,得到所述第i帧图像编码后的压缩数据。
[0130]
作为一种可选的实施方式,处理模块902具体用于:
[0131]
根据第i帧图像的曝光参数,确定第i帧图像的参考帧;以及,根据所述参考帧,对所述第i帧图像进行编码,得到所述第i帧图像对应的编码后的压缩数据。
[0132]
作为一种可选的实施方式,处理模块902具体用于:
[0133]
将所述视频数据按照曝光参数分为至少两组图像;其中,同一组所述图像具有相同的曝光参数;
[0134]
针对任一组所述图像,根据第i帧图像的曝光参数,确定第i帧图像的参考帧。
[0135]
作为一种可选的实施方式,处理模块902具体用于:
[0136]
在i大于等于3时,根据所述第i帧图像的曝光参数,从参考帧列表中确定出所述第i帧图像的参考帧。
[0137]
作为一种可选的实施方式,所述第i帧图像的参考帧为满足如下条件的参考帧:
[0138]
位于所述第i帧图像之前、帧序号与所述第i帧图像的帧序号的差值最小且与所述第i帧图像的曝光参数的差异最小的参考帧。
[0139]
作为一种可选的实施方式,处理模块902具体用于:
[0140]
根据第i帧图像的感光灵敏度,确定所述第i帧图像的码率;
[0141]
根据所述参考帧,使用所述第i帧图像的码率对所述第i帧图像进行编码,得到所述第i帧图像编码后的压缩数据。
[0142]
作为另一种可选的实施方式,处理模块902具体用于:
[0143]
在i大于等于2时,根据第i帧图像的曝光参数与第i-1帧图像的曝光参数的差异,对所述第i-1帧图像进行调整亮度的处理,得到处理后的第i-1帧图像;
[0144]
将所述处理后的第i-1帧图像作为所述第i帧图像的参考帧。
[0145]
作为一种可选的实施方式,处理模块902具体用于:
[0146]
根据所述每帧图像的感光灵敏度,对所述每帧图像进行编码,得到编码后的压缩数据。
[0147]
作为一种可选的实施方式,处理模块902具体用于:
[0148]
根据第i帧图像的感光灵敏度,确定所述第i帧图像所处的场景,所述场景包括白天和夜晚;以及,根据所述第i帧图像所处的场景,确定所述第i帧图像的码率;以及,使用所述第i帧图像的码率进行编码,得到所述第i帧图像编码后的压缩数据。
[0149]
作为一种可选的实施方式,处理模块902具体用于:
[0150]
根据所述第i帧图像的运动信息,确定所述第i帧图像中至少两种类型的图像区域对应的码率;
[0151]
根据所述参考帧,使用所述至少两种类型的区域对应的码率,对所述第i帧图像进行编码,得到所述第i帧图像编码后的压缩数据。
[0152]
本申请实施例提供的视频编码装置,可以执行上述方法实施例中的方法步骤,其实现原理和技术效果类似,在此不再赘述。
[0153]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0154]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:
一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
[0155]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0156]
图11为本申请实施例提供的一种电子设备的结构示意图。该电子设备可以为上述的编解码器,或者为包含编解码器的设备,本申请实施对此不做具体限定。如图11所示,该电子设备可以包括:处理器101、存储器102、通信接口103和系统总线104,所述存储器102和所述通信接口103通过所述系统总线104与所述处理器101连接并完成相互间的通信,所述存储器102用于存储计算机执行指令,所述通信接口103用于和其他设备进行通信,所述处理器101执行所述计算机程序时实现如上述图3至图8所示实施例的方案。
[0157]
该图11中提到的系统总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0158]
上述的处理器可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0159]
可选的,本申请实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述图3至图9所示实施例的方法。
[0160]
可选的,本申请实施例还提供一种运行指令的芯片,所述芯片用于执行上述图3至图9所示实施例的方法。
[0161]
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机
程序存储在存储介质中,至少一个处理器可以从所述存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述图1,图3至图9所示实施例的方法。
[0162]
本申请实施例还提供一种编解码系统,包括编码器和解码器,所述编码器用于实现本申请中图1,图3至图9所示实施例的方法。
[0163]
在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述相似度对象的相似度关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后相似度对象是一种“或”的关系;在公式中,字符“/”,表示前后相似度对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
[0164]
可以理解的是,在本申请实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。
[0165]
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0166]
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1