一种目标码率控制的方法以及电子设备与流程

文档序号:15171134发布日期:2018-08-14 17:57阅读:196来源:国知局

本发明涉及通信技术领域,尤其涉及一种目标码率控制的方法以及电子设备。



背景技术:

目标码率控制是视频编码的重要技术之一,在视频存储和传输等应用中起着重要的作用。目标码率控制的方式将直接决定视频编码的优劣。

现有技术采用的编码方式为层次编码法hierarchicalencodingmethod,层次编码结构是一种分层次的视频编码模型,图1所示以i帧和p的三层编码结构为例,所述i帧为帧内预测帧,只采用帧内预测。所述p帧为帧间预测帧,可采用帧内预测和帧间预测,帧p1的帧层次为layer0,帧p2的帧层次为layer1,帧p3的帧层次为layer2,如图1所示每个p帧只有一个参考帧,具体的参考关系请详见图1所示,即p0为p1、p2的被参考帧,p1可被p2参考,p2不可被参考。

在具体目标码率控制的过程中,现有技术只对p0进行目标码率控制,其他layer帧不进行目标码率控制,而是采用最近的p0帧的基于layer的固定值作为量化参数进行编码,可见,采用现有技术所示的目标码率控制方式因为只对p0帧进行目标码率控制,并且,当编码方式大于或等于三层时,非p0帧个数大于p0帧个数,则使得目标码率控制不准确,特别是目标码率平稳性较差。



技术实现要素:

本发明实施例提供了一种能够提升目标码率控制准确性以及目标码率平稳性的目标码率控制的方法以及电子设备。

本发明实施例第一方面提供了一种目标码率控制的方法,包括:

计算视频流中当前帧的目标码率ri`,所述当前帧为所述视频流中的帧间预测帧;

为目标层编码结构分配目标码率比例tlayer—n,所述目标层编码结构为n层编码结构中的任一层编码结构,所述n为大于或等于0的正整数;

通过所述目标码率比例tlayer—n对所述当前帧的目标码率ri`进行控制以获取控制后的当前帧的目标码率ri。

本发明实施例第二方面提供了一种电子设备,包括:

第一计算单元,用于计算视频流中当前帧的目标码率ri`,所述当前帧为所述视频流中的帧间预测帧;

第一分配单元,用于为目标层编码结构分配目标码率比例tlayer—n,所述目标层编码结构为n层编码结构中的任一层编码结构,所述n为大于或等于0的正整数;

控制单元,用于通过所述目标码率比例tlayer—n对所述当前帧的目标码率ri`进行控制以获取控制后的当前帧的目标码率ri。

本发明实施例提供了一种目标码率控制的方法以及电子设备,本实施例所示的方法首先计算出视频流中当前帧的目标码率ri`,并为目标层编码结构分配目标码率比例tlayer—n,根据所述目标码率比例tlayer—n对所述当前帧的目标码率ri`进行控制以获取控制后的当前帧的目标码率ri。可见,采用本实施例所示能够根据视频的特性对不同的所述目标层编码结构分配不同的所述目标码率比例tlayer—n,从而实现根据视频的特性灵活的对不同的所述目标层编码结构分配不同的当前帧的目标码率ri,在保障了目标码率控制的准确性以及平稳性的前提下,能够根据视频流的特性对所述当前帧的目标码率ri进行修正,通过本实施例所示的方法能够根据视频流的视频特点分配不同层次帧的目标码率,可以提高视频压缩效率。

附图说明

图1为现有技术所提供的三层编码结构的结构示例图;

图2为本发明所提供的电子设备的一种实施例结构示意图;

图3为本发明所提供的目标码率控制的方法的一种实施例步骤流程图;

图4为本发明所提供的目标对应关系列表的一种实施例示意图;

图5为本发明所提供的目标对应关系列表的另一种实施例示意图;

图6为本发明所提供的目标对应关系列表的另一种实施例示意图;

图7为本发明所提供的电子设备的另一种实施例结构示意图。

具体实施方式

本发明实施例提供了一种目标码率控制的方法,以下首先结合图2所示对能够实现本发明实施例所示的目标码率控制的方法的电子设备的具体结构进行详细说明:

如图2所示,所述电子设备包括输入单元205、处理器单元203、输出单元201、通信单元207、存储单元204、射频电路208等组件。

这些组件通过一条或多条总线进行通信。本领域技术人员可以理解,图2中示出的电子设备的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在本发明实施方式中,所述电子设备可以是任何移动或便携式电子设备,包括但不限于智能手机、移动电脑、平板电脑、个人数字助理(personaldigitalassistant,pda)、媒体播放器、智能电视等。

所述电子设备包括:

输出单元201,用于输出待显示的图像。

具体的,所述输出单元201包括但不限于影像输出单元2011和声音输出单元2012。

所述影像输出单元2011用于输出文字、图片和/或视频。所述影像输出单元2011可包括显示面板,例如采用液晶显示器(英文全称:liquidcrystaldisplay,英文简称:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文简称:oled)、场发射显示器(英文全称:fieldemissiondisplay,英文简称fed)等形式来配置的显示面板。或者所述影像输出单元2011可以包括反射式显示器,例如电泳式(electrophoretic)显示器,或利用光干涉调变技术(英文全称:interferometricmodulationoflight)的显示器。

所述影像输出单元2011可以包括单个显示器或不同尺寸的多个显示器。在本发明的具体实施方式中,触摸屏亦可同时作为输出单元201的显示面板。

例如,当触摸屏检测到在其上的触摸或接近的手势操作后,传送给处理器单元203以确定触摸事件的类型,随后处理器单元203根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图2中,输入单元205与输出单元201是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触摸屏与显示面板集成一体而实现电子设备的输入和输出功能。例如,所述影像输出单元2011可以显示各种图形化用户接口(英文全称:graphicaluserinterface,英文简称gui)以作为虚拟控制组件,包括但不限于窗口、卷动轴、图标及剪贴簿,以供用户通过触控方式进行操作。

在本发明具体实施方式中,所述影像输出单元2011包括滤波器及放大器,用来将处理器单元203所输出的视频滤波及放大。声音输出单元2012包括数字模拟转换器,用来将处理器单元203所输出的音频信号从数字格式转换为模拟格式。

处理器单元203,用于运行相应的代码,对接收信息进行处理,以生成并输出相应的界面。

具体的,所述处理器单元203为电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储单元内的软件程序和/或模块,以及调用存储在存储单元内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器单元203可以由集成电路(英文全称:integratedcircuit,英文简称:ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。

举例来说,所述处理器单元203可以仅包括中央处理器(英文全称:centralprocessingunit,英文简称:cpu),也可以是图形处理器(英文全称:graphicsprocessingunit,英文简称:gpu),数字信号处理器(英文全称:digitalsignalprocessor,英文简称:dsp)、及通信单元中的控制芯片(例如基带芯片)的组合。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

存储单元204,用于存储代码和数据,代码供处理器单元203运行。

具体的,存储单元204可用于存储软件程序以及模块,处理器单元203通过运行存储在存储单元204的软件程序以及模块,从而执行电子设备的各种功能应用以及实现数据处理。存储单元204主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序,比如声音播放程序、图像播放程序等等;数据存储区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。

在本发明具体实施方式中,存储单元204可以包括易失性存储器,例如非挥发性动态随机存取内存(英文全称:nonvolatilerandomaccessmemory,英文简称nvram)、相变化随机存取内存(英文全称:phasechangeram,英文简称pram)、磁阻式随机存取内存(英文全称:magetoresistiveram,英文简称mram)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(英文全称:electricallyerasableprogrammableread-onlymemory,英文简称eeprom)、闪存器件,例如反或闪存(英文全称:norflashmemory)或是反及闪存(英文全称:nandflashmemory)。

非易失存储器储存处理器单元203所执行的操作系统及应用程序。所述处理器单元203从所述非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。所述操作系统包括用于控制和管理常规系统任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。

在本发明实施方式中,所述操作系统可以是google公司的android系统、apple公司开发的ios系统或microsoft公司开发的windows操作系统等,或者是vxworks这类的嵌入式操作系统。

所述应用程序包括安装在电子设备上的任何应用,包括但不限于浏览器、电子邮件、即时消息服务、文字处理、键盘虚拟、窗口小部件(widget)、加密、数字版权管理、语音识别、语音复制、定位(例如由全球定位系统提供的功能)、音乐播放等等。

输入单元205,用于实现用户与电子设备的交互和/或信息输入到电子设备中。

例如,所述输入单元205可以接收用户输入的数字或字符信息,以产生与用户设置或功能控制有关的信号输入。在本发明具体实施方式中,输入单元205可以是触摸屏,也可以是其他人机交互界面,例如实体输入键、麦克风等,还可是其他外部信息撷取装置,例如摄像头等。

本发明实施例所示的触摸屏,可收集用户在其上触摸或接近的操作动作。比如用户使用手指、触笔等任何适合的物体或附件在触摸屏上或接近触摸屏的位置的操作动作,并根据预先设定的程式驱动相应的连接装置。可选的,触摸屏可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸操作,并将检测到的触摸操作转换为电信号,以及将所述电信号传送给触摸控制器;触摸控制器从触摸检测装置上接收所述电信号,并将它转换成触点坐标,再送给所述处理器单元203。

所述触摸控制器还可以接收处理器单元203发来的命令并执行。此外,所述触摸屏可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏。

在本发明的其他实施方式中,所述输入单元205所采用的实体输入键可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。麦克风形式的输入单元205可以收集用户或环境输入的语音并将其转换成电信号形式的、处理器单元203可执行的命令。

在本发明的其他一些实施方式中,所述输入单元205还可以是各类传感器件,例如霍尔器件,用于侦测电子设备的物理量,例如力、力矩、压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。其他的一些传感器件还可以包括重力感应计、三轴加速计、陀螺仪、电子罗盘、环境光传感器、接近传感器、温度传感器、湿度传感器、压力传感器、心率传感器、指纹识别器等。

通信单元207,用于建立通信信道,使电子设备通过所述通信信道以连接至远程服务器,并从所述远程服务器下媒体数据。所述通信单元207可以包括无线局域网(英文全称:wirelesslocalareanetwork,英文简称:wirelesslan)模块、蓝牙模块、基带模块等通信模块,以及所述通信模块对应的射频(英文全称:radiofrequency,英文简称:rf)电路,用于进行无线局域网络通信、蓝牙通信、红外线通信及/或蜂窝式通信系统通信,例如宽带码分多重接入(英文全称:widebandcodedivisionmultipleaccess,英文简称:w-cdma)及/或高速下行封包存取(英文全称:highspeeddownlinkpacketaccess,英文简称hsdpa)。所述通信模块用于控制电子设备中的各组件的通信,并且可以支持直接内存存取。

在本发明的不同实施方式中,所述通信单元207中的各种通信模块一般以集成电路芯片(英文全称:integratedcircuitchip)的形式出现,并可进行选择性组合,而不必包括所有通信模块及对应的天线组。例如,所述通信单元207可以仅包括基带芯片、射频芯片以及相应的天线以在一个蜂窝通信系统中提供通信功能。经由所述通信单元207建立的无线通信连接,例如无线局域网接入或wcdma接入,所述电子设备可以连接至蜂窝网(英文全称:cellularnetwork)或因特网。在本发明的一些可选实施方式中,所述通信单元207中的通信模块,例如基带模块可以集成到处理器单元203中,典型的如高通(qualcomm)公司提供的apq+mdm系列平台。

射频电路208,用于信息收发或通话过程中接收和发送信号。例如,将基站的下行信息接收后,给处理器单元203处理;另外,将设计上行的数据发送给基站。通常,所述射频电路208包括用于执行这些功能的公知电路,包括但不限于天线系统、射频收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码(codec)芯片组、用户身份模块(sim)卡、存储器等等。此外,射频电路208还可以通过无线通信与网络和其他设备通信。

所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文简称:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,英文简称:gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文简称:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文简称:wcdma)、高速上行行链路分组接入技术(英文全称:highspeeduplinkpacketaccess,英文简称:hsupa)、长期演进(英文全称:longtermevolution,英文简称:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,英文简称:sms)等。

电源209,用于给电子设备的不同部件进行供电以维持其运行。作为一般性理解,所述电源209可以是内置的电池,例如常见的锂离子电池、镍氢电池等,也包括直接向电子设备供电的外接电源,例如ac适配器等。在本发明的一些实施方式中,所述电源209还可以作更为广泛的定义,例如还可以包括电源管理系统、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与电子设备的电能生成、管理及分布相关联的其他任何组件。

基于图2所示的电子设备通过本实施例所示的目标码率控制方法实现对视频流目标码率的控制,在多媒体应用中,目标码率控制是构成视频通信系统的一个重要部分,它被用来使得编码器产生的比特率和信道相适应,并尽量提高编码图像的质量,以下结合图3所示对本发明实施例所提供的目标码率控制方法的具体执行过程进行详细说明:

步骤301、接收视频流。

本实施例所示的电子设备能够获取到视频流,本实施例所示的所述视频流采用的为层次编码法hierarchicalencodingmethod。

本实施例所示的视频流采用的为目标层编码结构。

为更好的理解本发明实施例所示的目标码率控制方法,则以所述电子设备所接收到的视频流采用的是三层编码结构为例进行示例性说明,即所述n等于3。需明确的是,在实际应用中,可采用相对于本发明实施例更多或更少的编码结构。

步骤302、计算视频流中当前帧的目标码率。

确定所述视频流中的当前帧,并对当前帧的目标码率ri`进行计算。

具体的,本实施例所示的当前帧为所述视频流中的帧间预测帧。

本实施例对所述电子设备如何计算所述当前帧的目标码率ri`的具体方法不作限定,即本实施例所示的电子设备可采用任一种目标码率控制算法计算所述当前帧的目标码率ri`。

例如,所述目标码率控制算法可为h.263的tmn8算法和tmn5算法以及jvt算法等。

步骤303、设定所述当前帧为帧内预测帧,则对所述当前帧进行下采样以获取第一目标数据。

若所述当前帧为所述帧内预测帧,则对于所述当前帧只采用帧内预测。

步骤304、对所述第一目标数据进行快速编码以获取第一预测残差。

其中,所述快速编码是一种简化的编码,可减少模式选择次数、减少运动搜索次数等计算。

本实施例中,所述第一预测残差越大,则说明当相同图像质量下所需目标码率越高。

步骤305、设定所述当前帧为帧间预测帧,则对所述当前帧进行下采样以获取第二目标数据。

若所述当前帧为所述帧间预测帧,则对于所述当前帧可采用帧内预测和帧间预测。

步骤306、对所述第二目标数据进行快速编码以获取第二预测残差。

本实施例所示的步骤303和步骤304与步骤305和步骤306在执行时序上并没有先后的限定。

步骤307、根据目标公式计算目标参数。

具体的,本实施例所示所述电子设备根据所述目标公式计算出所述目标参数ipcost。

所述目标公式为其中,所述icost为所述当前帧为帧内预测帧时的第一预测残差,所述pcost为所述当前帧为帧间预测帧时的第二预测残差。

本实施例中,所述视频流的运动剧烈程度与所述目标参数ipcost的大小呈反比,即若所述视频流运动的越剧烈,则所述目标参数ipcost越小,若此时所述目标帧位于layer0,则layer0当分配较小的目标码率,若所述目标帧位于layer1,则layer1当分配较小的目标码率,若所述目标帧位于layer2,则layer2当分配较小的目标码率。

同样的,若所述视频流运动的越轻微,则所述目标参数ipcost越大,若此时所述目标帧位于layer0,则layer0当分配较大的目标码率,若所述目标帧位于layer1,则layer1当分配较大的目标码率,若所述目标帧位于layer2,则layer2当分配较大的目标码率。

为更好的对各层的目标码率进行控制,则请详见本实施例下述步骤所示如何根据所述目标参数实现对目标码率的控制。

步骤308、创建所述目标对应关系列表。

本实施例所示的步骤308为可选的步骤,即若本实施例所示的电子设备已创建了所述目标对应关系列表,则在具体应用中无需执行本实施例所示的步骤308,若所述电子设备尚未创建所述目标对应关系列表,则所述电子设备需要执行本实施例所示的步骤308从而实现对目标对应关系列表创建过程。

已创建的所述目标对应关系列表包括目标层编码结构、所述目标参数和目标码率比例tlayer—n的对应关系。

其中,所述目标层编码结构为n层编码结构中的任一层编码结构,即在本实施例所提供的三层编码结构中,所述目标层编码结构可为第一层layer0、或第二层layer1,或第三层layer2。

以所述目标层编码结构为第一层layer0为例,所述目标对应关系列表请见图4所示,在图4所示的目标对应关系列表建立了位于第一层layer0上的目标码率比例tlayer—0与所述目标参数ipcost对应关系。

例如,若所述目标参数ipcost小于1.5,则所述目标码率比例tlayer—0等于38,又如,若所述目标参数ipcost小于5且大于或等于4,则所述目标码率比例tlayer—0等于62。

以所述目标层编码结构为第二层layer1为例,所述目标对应关系列表请见图5所示,在图5所示的目标对应关系列表建立了位于第二层layer1上的目标码率比例tlayer—1与所述目标参数ipcost对应关系。

例如,若所述目标参数ipcost小于1.5,则所述目标码率比例tlayer—1等于33,又如,若所述目标参数ipcost小于5且大于或等于4,则所述目标码率比例tlayer—1等于22。

以所述目标层编码结构为第三层layer2为例,所述目标对应关系列表请见图6所示,在图6所示的目标对应关系列表建立了位于第三层layer2上的目标码率比例tlayer—2与所述目标参数ipcost对应关系。

例如,若所述目标参数ipcost小于1.5,则所述目标码率比例tlayer—2等于29,又如,若所述目标参数ipcost小于5且大于或等于4,则所述目标码率比例tlayer—2等于16。

需明确的是,本实施例所创建的所述目标对应关系列表所建立的与所述目标码率比例tlayer—n对应的目标码率比例的具体数值范围为可选的示例,在具体应用中,与所述目标码率比例tlayer—n对应的目标码率比例也可采用其他数据范围,只要所述当前帧所位于的所述目标层编码结构的层级越小,则所述目标码率比例tlayer—n越高,例如,本实施例中,若所述当前帧位于第一层layer0,则所述目标码率比例tlayer—0越高,且本实施例所示的视频流运动的越剧烈,则位于低层级的目标层编码结构的目标码率比例tlayer—n越低,位于高层级的目标层编码结构的目标码率比例tlayer—n越高,例如,在视频流运动剧烈的场景下,第一层layer0的目标码率比例tlayer—0越低,位于第三层的目标层编码结构的目标码率比例tlayer—3越高。

步骤309、根据预设目标对应关系列表获取与所述目标层编码结构和所述目标参数对应的所述目标码率比例。

采用本实施例所示的方法中,若经由本实施例所示的303至步骤307从而计算出所述目标参数ipcost,则可根据步骤308已创建的所述预设目标对应关系列表获取与所述目标参数ipcost对应的所述目标码率比例tlayer—n。

需明确的是,采用本实施例所示的方法,每次编码帧间预测帧p帧或帧内预测帧i帧时,需要重新执行本实施例所示的步骤303至步骤307从而计算出所述目标参数,进而通过本实施例所示的步骤309确定出与所述目标参数ipcost对应的所述目标码率比例tlayer—n。

步骤310、为目标层编码结构分配所述目标码率比例。

本实施例中,所述电子设备将在步骤309所确定的所述目标码率比例tlayer—n分配给所述目标层编码结构。

为更好的理解本发明实施例所提供的方法,则结合具体的应用场景对本发明实施例进行详细说明:

若通过本实施例所示的方法,确定出当前帧位于layer0,且通过步骤307计算出所述目标参数为2.5,则在本实施例所示的步骤309中确定出目标码率比例tlayer—0为60,则本实施例所示的电子设备可确定分配给layer0的所述目标码率比例tlayer—0为60。

若通过本实施例所示的方法,确定出当前帧位于layer1,且通过步骤307计算出所述目标参数为3.5,则在本实施例所示的步骤309中确定出目标码率比例tlayer—1为23,则本实施例所示的电子设备可确定分配给layer1的所述目标码率比例tlayer—1为23。

若通过本实施例所示的方法,确定出当前帧位于layer2,且通过步骤307计算出所述目标参数为2,则在本实施例所示的步骤309中确定出目标码率比例tlayer—2为18,则本实施例所示的电子设备可确定分配给layer2的所述目标码率比例tlayer—2为18。

步骤311、获取所述目标层编码结构的剩余帧个数numlayer—n。

具体的,本实施例所示的电子设备可逐一获取本实施例所提供的所述目标层编码结构中的每一层编码结构的剩余帧个数。

本实施例所示的剩余帧为所述目标层编码结构中的每一层编码结构中的总帧数减去已编码帧。

更具体的,本实施例所示的电子设备在所述目标层编码结构中的第一层layer0中获取到剩余帧个数numlayer—0,且所述电子设备在所述目标层编码结构中的第二层layer1中获取到剩余帧个数numlayer—1,且所述电子设备在所述目标层编码结构中的第三层layer2中获取到剩余帧个数numlayer—2。

可选的,执行本实施例所示的步骤311的可为电子设备的当前目标码率控制单元。

本实施例所示的所述当前目标码率控制单元可为gop(英文全称:groupofpicture),所述gop为以i帧起始的一组视频帧,所述当前目标码率控制单元也可以是目标码率控制算法设计的任意一组连续帧。

需明确的是,本实施例对执行步骤311的部件的说明为可选的示例,不作限定,只要能够实现本实施例所示的步骤311即可。

步骤312、获取第一计算参数。

具体的,本实施例所示的所述第一计算参数为第一子参数和第二子参数的积。

其中,所述第一子参数为所述n层编码结构所包括的所有所述目标层编码结构的所述剩余帧个数numlayer—n的和。

因本实施例以三层编码结构为例,则本实施例所示的所述第一子参数为numlayer—0+numlayer—1+numlayer—2。

所述第二子参数为当前目标码率比例tlayer—i,其中,所述当前目标码率比例tlayer—i为所述当前帧所位于的所述目标层编码结构所分配的目标码率比例。

具体的,若本实施例所示的当前帧位于layer0,则通过本实施例所示的方法可计算出所述当前帧的所述目标码率比例tlayer—0,所计算出的所述目标码率比例tlayer—0即为本步骤所示的当前目标码率比例tlayer—i。

又如,若本实施例所示的当前帧位于layer1,则通过本实施例所示的方法可计算出所述当前帧的所述目标码率比例tlayer—1,所计算出的所述目标码率比例tlayer—1即为本步骤所示的当前目标码率比例tlayer—i。

又如,若本实施例所示的当前帧位于layer2,则通过本实施例所示的方法可计算出所述当前帧的所述目标码率比例tlayer—2,所计算出的所述目标码率比例tlayer—2即为本步骤所示的当前目标码率比例tlayer—i。

因本实施例所示的所述第一计算参数为第一子参数和第二子参数的积,则所述第一计算参数=(numlayer—0+numlayer—1+numlayer—2)*tlayer—i

步骤313、获取第三子参数。

具体的,获取与所述n层编码结构所包括的所有所述目标层编码结构中的任一个目标层编码结构对应的第三子参数。

更具体的,所述第三子参数为所述目标层编码结构的剩余帧个数numlayer—n与所述目标层编码结构所分配的所述目标码率比例tlayer—n的积。

因本实施例以三层编码结构为例,则本实施例所示的电子设备需要逐层获取所述第三子参数。

在第一层layer0中,所述第三子参数为numlayer—0*tlayer—0,其中,所述numlayer—0和所述tlayer—0的具体获取过程请详见上述步骤所示,具体在本步骤中不做赘述。

在第二层layer1中,所述第三子参数为numlayer—1*tlayer—1,其中,所述numlayer—1和所述tlayer—1的具体获取过程请详见上述步骤所示,具体在本步骤中不做赘述。

在第三层layer2中,所述第三子参数为numlayer—2*tlayer—2,其中,所述numlayer—2和所述tlayer—2的具体获取过程请详见上述步骤所示,具体在本步骤中不做赘述。

步骤314、获取第二计算参数。

具体的,本实施例所示的所述第二计算参数为所述n层编码结构所包括的所有所述目标层编码结构对应的所有所述第三子参数的和。

更具体的,与第一层layer0对应的第三子参数为numlayer—0*tlayer—0,与第二层layer1对应的第三子参数为numlayer—1*tlayer—1,与第三层layer2对应的第三子参数为numlayer—2*tlayer—2。

本实施例所示的第二计算参数为:

numlayer—0*tlayer—0+numlayer—1*tlayer—1+numlayer—2*tlayer—2。

步骤315、获取控制后的当前帧的目标码率。

具体的,本实施例所示的电子设备确定所述当前帧的目标码率ri`和目标计算参数的积为所述控制后的当前帧的目标码率ri。

所述目标计算参数为所述第一计算参数与所述第二计算参数的商。

更具体的,所述目标计算参数为:

可见,本实施例所示的所述控制后的当前帧的目标码率ri为:

本实施例所示的所述当前帧的目标码率ri为分配给当前帧所位于的目标层编码结构的目标码率。

可见,采用本实施例所示的方法,可以通过所述对不同的目标层编码结构的目标码率比例tlayer—n进行调节,从而获取控制后的当前帧的目标码率ri`。

以下对本实施例所示的方法的有益效果进行说明:

采用本实施例所示的方法,从而使得在hierarchical结构中,不同layer之间采用不同的目标码率比例可提高视频压缩效率,layer层越低,所分配的目标码率越高,layer层越高,所分配的目标码率越低。

采用本实施例所示的方法,对于静止的图像,帧间相关性高,低layer层分配了更多的目标码率,低layer层和高layer层目标码率差距大,而对于一些运动剧烈的图像,帧间相关性差,低layer层和高layer层之间的目标码率差距较小。通过本实施例所示的方法能够根据视频流的视频特点分配不同层次帧的目标码率,可以提高视频压缩效率,特别是提高运动场景高layer帧的主观质量。

在应用方面,本实施例所示的方法可以和任意的ippp结构目标码率分配算法相结合。也就是说,任何一种ippp的目标码率控制算法,如果想应用于hpp结构,都可以采用本发明实施例所示的方法对不同layer的目标码率进行控制。所述ippp为无分层次编码结构,hpp为分层次编码结构。

对本实施例所示的方法所应用的具体应用场景不作限定,例如可将本实施例所示的方法应用至实时视频通话场景,具体的可为微信视频聊天场景时,本实施例所示的方法能够实现目标码率的精确控制,且目标码率平稳性好,能够满足实时通话的需求。

图1所示对本发明实施例所提供的电子设备的实体结构进行说明,以下结合图7所示从功能模块角度对本发明实施例所示的电子设备的具体结构进行详细说明:

所述电子设备包括:

第一计算单元701,用于计算视频流中当前帧的目标码率ri`,所述当前帧为所述视频流中的帧间预测帧;

第二获取单元702,用于对所述当前帧进行下采样以获取目标数据;

第三获取单元703,用于若所述当前帧为帧内预测帧,则对所述目标数据进行快速编码以获取所述第一预测残差;

第四获取单元704,用于若所述当前帧为帧间预测帧,则对所述目标数据进行快速编码以获取所述第二预测残差。

第二计算单元705,用于根据目标公式计算目标参数ipcost,所述目标公式为其中,所述icost为所述当前帧为帧内预测帧时的第一预测残差,所述pcost为所述当前帧为帧间预测帧时的第二预测残差;

创建单元706,用于创建所述目标对应关系列表,已创建的所述目标对应关系列表包括所述目标层编码结构、所述目标参数和所述目标码率比例tlayer—n的对应关系。

第一获取单元707,用于根据预设目标对应关系列表获取与所述目标层编码结构和所述目标参数ipcost对应的所述目标码率比例tlayer—n。

第一分配单元708,用于为目标层编码结构分配目标码率比例tlayer—n,所述目标层编码结构为n层编码结构中的任一层编码结构,所述n为大于或等于0的正整数;

控制单元709,用于通过所述目标码率比例tlayer—n对所述当前帧的目标码率ri`进行控制以获取控制后的当前帧的目标码率ri。

具体的,所述控制单元709包括:

第一获取模块7091,用于获取所述目标层编码结构的剩余帧个数numlayer—n;

第二获取模块7092,用于获取第一计算参数,所述第一计算参数为第一子参数和第二子参数的积,所述第一子参数为所述n层编码结构所包括的所有所述目标层编码结构的所述剩余帧个数numlayer—n的和,所述第二子参数为当前目标码率比例tlayer—i,所述当前目标码率比例tlayer—i为所述当前帧所位于的所述目标层编码结构所分配的目标码率比例;

第三获取模块7093,用于获取与所述n层编码结构所包括的所有所述目标层编码结构中的任一个目标层编码结构对应的第三子参数,所述第三子参数为所述目标层编码结构的剩余帧个数numlayer—n与所述目标层编码结构所分配的所述目标码率比例tlayer—n的积;

第四获取模块7094,用于获取第二计算参数,所述第二计算参数为所述n层编码结构所包括的所有所述目标层编码结构对应的所有所述第三子参数的和;

确定模块7095,用于确定所述当前帧的目标码率ri`和目标计算参数的积为所述控制后的当前帧的目标码率ri,所述目标计算参数为所述第一计算参数与所述第二计算参数的商。

本实施例所示的电子设备能够执行图3所示的目标码率控制的方法,具体执行过程请详见本实施例图3所示,具体在本实施例中不作赘述。

本实施例所示的电子设备在执行目标码率控制的方法的有益效果的说明请详见本实施例图3所示的实施例,具体在本实施例中不作赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1