基于变换系数直方图的视频速率控制.pdf

上传人:b*** 文档编号:4334121 上传时间:2018-09-14 格式:PDF 页数:13 大小:4.15MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180029273.3

申请日:

2011.06.02

公开号:

CN102948147A

公开日:

2013.02.27

当前法律状态:

终止

有效性:

无权

法律详情:

专利权的视为放弃IPC(主分类):H04N 19/149放弃生效日:20161130|||专利申请权的转移IPC(主分类):H04N 7/26变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150728|||实质审查的生效IPC(主分类):H04N 7/26申请日:20110602|||公开

IPC分类号:

H04N7/26; H04N1/387; G06T3/00; G06T5/00

主分类号:

H04N7/26

申请人:

微软公司

发明人:

R·博斯科维奇; 钱挺

地址:

美国华盛顿州

优先权:

2010.06.17 US 12/818,000

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

胡利鸣

PDF下载: PDF下载
内容摘要

使用通过变换的视频帧产生的变换系数的直方图信息来确定量化因子。该直方图用来估计当前正处于被编码过程中的视频帧的经编码的帧大小。基于该直方图的信息为当前视频帧调节在视频编码的量化步骤中使用的量化因子。针对所需的经编码的帧大小的长度来平衡该直方图。直方图中的截止阈值与对量化因子的不同选择相关联,并且那些阈值以上或者以下的点的比率用来估计经编码的帧的大小。

权利要求书

权利要求书一种用于在编码视频帧期间确定量化因子的方法,包括:接收包括像素的视频帧;将变换应用到所述视频帧;其中所述变换是产生变换系数的频率变换;使用经变换的视频帧的变换系数创建直方图;以及使用所述直方图的信息确定量化因子;所述量化因子在量化变换系数期间使用。如权利要求1所述的方法,其特征在于,还包括在视频帧被编码之前使用直方图估计视频帧经编码的大小。如权利要求2所述的方法,其特征在于,所述视频帧是正在被编码的过程中的当前视频帧,并且其中创建直方图包括通过当前视频帧的变换系数来创建直方图。如权利要求2所述的方法,其特征在于,其中创建直方图包括使用截止阈值以确定量化因子。如权利要求2所述的方法,其特征在于,还包括使用历史趋势来调节确定的量化因子。如权利要求2所述的方法,其特征在于,还包括在量化之后使用不同的量化值计算非零系数的比率,以及将非零系数比率映射到经编码的每像素比特数值,并且其中确定量化因子包括修改在创建直方图之前确定的估计的量化因子。一种用于确定量化因子的系统,包括:处理器和计算机可读介质;存储在所述计算机可读介质上并在所述处理器上执行的操作环境;在所述处理器上操作并被配置为执行任务的视频应用以及视频管理器,所述任务包括:接收包括像素的视频帧,其中所述视频帧是正在被编码的过程中的当前视频帧;将频率变换应用到所述视频帧;其中所述变换产生变换系数;在量化所述变换系数之前,使用所述变换系数创建直方图;以及使用所述直方图的信息确定量化因子,以及确定所述视频帧的估计的经编码的大小。如权利要求7所述的系统,其特征在于,还包括:在量化之后使用不同的量化值确定非零AC系数的比率;以及将所述比率映射到经编码的每像素比特数值。如权利要求7所述的系统,其特征在于,其中确定量化因子包括更新在创建直方图之前确定的估计的量化值。一种具有用于确定量化因子的计算机可执行指令的计算机存储介质,包括:接收包括像素的视频帧;将频率变换应用到所述视频帧;所述变换产生变换系数;估计将在量化所述变换系数期间使用的量化因子;在量化所述变换系数之前,使用所述变换系数创建直方图;在编码所述视频帧之前使用所述直方图估计视频帧经编码的大小;以及使用所述直方图的信息更新量化因子。

说明书

说明书基于变换系数直方图的视频速率控制
背景技术
视频速率控制动态地调节经编码的视频质量以便帮助在给定变化的联网条件中提供满意的用户体验。一般而言,给视频编码器将恒定比特率或局部恒定的比特率与变化的联网条件匹配的任务。由运动或者电影摄像改变造成的场景复杂度的改变,可以导致与基线明显的偏差,从而预测的压缩率将导致降级的视频质量。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
使用通过变换的视频帧产生的变换系数的直方图信息来确定量化因子。该直方图用来估计当前正处于编码过程中的视频帧的经编码的帧大小。基于该直方图的信息为当前视频帧调节在视频编码的量化步骤中使用的量化因子。选择合适的量化因子有助于响应视频帧中的改变(例如,运动、场景变化),从而提供了对视频显示质量的平稳调节。针对所需的经编码的帧大小的长度来平衡该直方图。直方图中的截止阈值与对量化因子的不同选择相关联,并且那些阈值以上或者以下的点的比率用来估计经编码的帧的大小。历史趋势还可以用来调节相关性公式的系数从而提高计算的准确性。
附图说明
图1示出计算机的计算机架构;
图2示出将直方图的使用合并到视频速率控制中的视频编码系统;
图3示出压缩率对比量化步长值以及压缩率对比非零系数的百分比的示例图;
图4示出使用变换系数的直方图来调节量化因子的示例性基于块的帧内/帧间压缩路径;以及
图5示出使用通过未量化的变换系数创建的直方图信息来更新量化因子的过程500。
具体实施方式
现在参考其中相同的标号代表相同的元素的附图,描述各实施例。具体地,图1和相应的讨论旨在提供对在其中可以实现各实施例的合适计算环境的简要、概括描述。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。也可使用其他计算机系统配置,包括多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等等。也可使用在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
现在参考图1,将描述在各实施例中利用的计算机100的说明性计算机架构。图1所示的计算机架构可被配置为台式计算机、服务器或移动计算机,并且包括中央处理单元5(“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11在内的系统存储器7、以及将存储器耦合至CPU 5的系统总线12。基本输入/输出系统存储在ROM 11中,它包含帮助在诸如启动期间在计算机内元件之间传递信息的基本例程。计算机100还包括用于存储操作系统16、应用程序和其他程序模块的大容量存储设备14,这将在以下更为详细地描述。
大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接到CPU 5。大容量存储设备14及其相关联的计算机可读介质为计算机100提供非易失性存储。虽然此处包含的对计算机可读介质的描述针对诸如硬盘或CD‑ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质存储设备。
此处所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器7、可移动存储和不可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由计算设备100访问的任何其他介质。任何这样的计算机存储介质可以是设备100的一部分。计算设备100还可具有输入设备28,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。也可包括输出设备28,诸如显示器、扬声器、打印机等等。上述设备是示例且可以使用其他设备。
此处所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
根据各实施例,计算机100使用通过诸如因特网等网络18至远程计算机的逻辑连接在联网环境中操作。计算机100可以通过连接至总线12的网络接口单元20来连接到网络18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其他类型的网络和远程计算机系统。计算机100还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图1中示出)。类似地,输入/输出控制器22可以为显示屏28、打印机或其他类型的输出设备提供输出。显示器28被设计成在视频会议期间显示视频,诸如视频馈送。
如前简述,多个程序模块和数据文件可以存储在计算机100的大容量存储设备14和RAM 9内,包括适于控制联网计算机的操作的操作系统16,如华盛顿州雷蒙德市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM 9还可存储一个或多个程序模块。具体地,大容量存储设备14和RAM 9可以存储一个或多个应用程序。应用程序之一是会议应用24,诸如视频会议应用。一般而言,会议应用24是用户在参与两个或更多个用户之间的视频会议时使用的应用。应用还可涉及编码视频的其他程序。例如,应用可编码向web浏览器传递的视频。
视频管理器26被配置为部分地基于当前视频帧未量化的变换系数的直方图来确定当前视频帧的量化因子。变换系数的直方图用来估计当前视频帧经编码的帧大小。针对经编码的帧大小的所需的大小来平衡该直方图。直方图中的截止阈值与对量化因子的不同选择相关联,并且那些阈值以上或者以下的点的比率被用来估计经编码的帧的大小。历史趋势还可被用来调节相关性公式的系数从而提高计算的准确性。根据一个实施例,所选择的量化因子导致与先前产生的其他经编码的帧大小类似的经编码的帧大小。
图2示出将直方图的使用合并到视频速率控制中的视频编码系统。如示,系统200包括显示器28、视频管理器26、输入205、视频应用220、数据存储240、以及其他应用230。视频管理器26可以如图2所示在视频应用220中实现,或者可以如图1所示从应用220外部地实现。
为了便于与视频管理器26的通信,可实现在图2中示为回调代码210的一个或多个回调例程。通过使用回调代码210,视频管理器26可查询编码视频中使用的额外信息。例如,视频管理器26可以向诸如存储器240等缓冲器或某个其他位置请求视频。还可提供与视频应用的特征有关的其他信息。
显示器28被配置为将经编码的视频的可视显示提供给用户。输入205被配置为从诸如摄像机、键盘、鼠标、触摸屏、和/或某个其他输入设备等一个或多个输入源接收输入。例如,输入可以来自支持诸如CIF、VGA、720P、1080i、1080p等一种或多种视频分辨率的摄像机。存储器240被配置为存储视频应用220可以在操作期间利用的数据。
视频管理器26还可被耦合至其他应用230从而使该视频数据还可被提供给其他应用和/或从其他应用接收。例如,视频管理器26可被耦合至另一视频应用和/或联网站点。如示,视频管理器26包括视频速率控制器225,示出在视频帧的编码过程中使用的示例性步骤212、214、216和218。在编码过程期间执行的步骤可取决于所执行的编码的类型来改变。与标准编码方案(例如H.26*和WMV*)比较,在编码过程期间包括了直方图阶段216。直方图阶段216被用来确定量化器218使用的量化因子。在执行初步的功能之后并且有时是在量化器218之前,可确定或不确定对量化因子“QP”的估计。例如,可以使用先前编码的历史信息以及试探法来确定QP。
现在将描述示例性编码过程的一部分。当前帧212被接收并且被传递到变换过程214。取决于所利用的编码过程,帧可被拆分成像素块,诸如8x8、4x4等等。根据一个实施例,变换是离散余弦变换(“DCT”)。DCT是将块(空间信息)转换成DCT系数块的一类频率变换,DCT系数是频率信息。DCT操作本身是无损的或几乎无损的。然而,与原始像素值相比,DCT系数压缩起来更高效,因为大部分重要信息集中在低频系数中。
修改所得DCT变换以将所得AC系数映射到阶段216的直方图。在收集到系数之后,视频速率控制器225分析该直方图以确定正被处理的当前帧估计的经编码的帧大小。然后使用估计的经编码的帧大小来更新/确定将在量化过程期间使用的量化因子(见图5更详细的描述)。
量化器218使用所确定的量化因子来量化经变换的系数。一般而言,量化因子被应用于每个系数,这类似于将每个系数除以相同值并舍入。例如,若系数值为130且量化因子为10,则经量化的系数值为13。由于低频DCT系数往往具有更高的值,因此量化导致精度的损失,但是不会完全损失关于系数的信息。另一方面,由于高频DCT系数往往具有零或接近零的值,因此高频系数的量化通常导致连续的零值区域。基于当前帧调节量化因子旨在为用户提供更一致的视频体验。
图3示出压缩率对比量化步长值以及压缩率对比非零系数的百分比的示例图。
图310示出压缩率对比量化步长值的图。图310包括了12个不同视频的绘图。可以看到,针对压缩率来绘出量化步长值不能导致一致或总体的趋势。此外,可以看到某些视频之间的差异明显。
图350示出基于未量化的变换值的直方图的压缩率对比非零系数的百分比的示图。图350包括了也在图310中绘出的12个不同视频的绘图。参考图350,可以看到非零系数百分比和最终经编码的大小之间的相关性。这一关系也是线性的。尽管图350的趋势线有一些误差余量,但是它明显小于图310。每像素比特数的值可近似为特定量化因子的非零系数比率的仿射函数:根据一个实施例,尽管可使用训练数据和试探法来近似常数k和c,但是可以跨视频馈送(诸如视频会议)的期间连续调节这些值。这帮助了确保那些因子的作用不直接与非零系数比率有关(例如,DC‑面复杂度、通过频率域预测来保存,等等)。根据一个实施例,已经发现在示例性视频会议中k的值大约为1.1875。
图4示出使用变换系数的直方图来调节量化因子的示例性基于块的帧内/帧间压缩路径。编码器系统接收包括当前帧的视频帧序列,并产生经压缩的视频作为输出。
所示的编码器系统压缩预测帧和关键帧。图4示出了关键帧通过编码器系统的路径410以及前向预测帧的路径470。该编码器系统的许多组件既用于压缩关键帧也用于压缩预测帧。由那些组件执行的确切操作可以依据正在被压缩的信息的类型而变化。一般而言,关键帧对比特率的贡献比预测帧更大。在低或中比特率应用中,关键帧可能成为性能瓶颈。
预测帧(也被称为p帧、用于双向预测的b帧、或帧间编码帧)按照从一个或多个其他帧进行的预测(或差)来表示。预测残差是所预测的和原始帧之差。相反,关键帧(也被称为i帧、帧内编码帧)是在不参考其他帧的情况下压缩的。
在当前帧420是前向预测帧时,运动估计器425估计当前帧420的宏块或其他像素集相对于参考帧的运动,其中参考帧是可缓冲在帧存储中的重构的先前帧。在替换实施例中,参考帧是后帧,或者当前帧是双向预测的。运动估计器425可按照像素、1/2像素、1/4像素或其他增量来估计运动,并可在逐帧基础或其他基础上切换运动估计的分辨率。运动估计的分辨率在水平和垂直上可以相同或不同。
运动补偿器430将运动估计信息应用于重构的先前帧以形成经运动补偿的当前帧。一般而言,运动估计器425和运动补偿器435可被配置成应用任何类型的运动估计/补偿。
频率变换器435将空间域视频信息转换为频率域(即频谱)数据。对于基于块的视频帧,频率变换器435向像素数据或预测残差数据的各块应用DCT或DCT的变体,从而产生DCT系数块。或者,变换器435应用诸如傅立叶变换等另一常规频率变换或使用小波或子带分析。频率变换器435可被配置成向各帧应用8x8、8x4、4x8或其他大小的频率变换(例如,DCT)。
变换系数直方图步骤440被配置为部分地基于通过当前视频帧未量化的变换系数创建的直方图来调节当前视频帧的量化因子。变换系数的直方图用来确定估计的当前视频帧经编码的帧大小。针对经编码的帧大小的所需的大小来平衡该直方图。直方图中的截止阈值与对量化因子的不同选择相关联,并且那些阈值以上或者以下的点的比率用来估计经编码的帧的大小。如直方图步骤440所确定的,基于估计的经编码的帧大小来选择量化因子。
量化445使用由直方图440确定的量化因子来量化频谱数据系数块。
当后续的运动估计/补偿需要重构的当前帧时,参考帧重构器447对量化的频谱数据系数执行反量化。频率反变换器然后执行频率变换器435的操作的逆操作,从而产生重构的预测残差(对于预测帧)或重构的关键帧。
在当前帧420是关键帧时,取重构的关键帧作为重构的当前帧(未示出)。如果当前帧420是预测帧,则将重构的预测残差加到经运动补偿的当前帧以形成重构的当前帧。帧存储可被用于缓冲重构的当前帧,以供在预测下一帧时使用。
熵编码器450压缩量化器445的输出以及某些辅助信息(例如,运动信息、空间外插模式、量化步长)。典型的熵编码技术包括算术编码、差分编码、霍夫曼编码、游程长度编码、LZ编码、词典编码,和以上的组合。熵编码器450通常对不同种类的信息(例如,DC系数、AC系数、不同种类的辅助信息)使用不同的编码技术,并可从特定编码技术内的多个代码表中进行选择。熵编码器450将经压缩的视频信息置于缓冲器455中。一般而言,以恒定或相对恒定的比特率从缓冲器455中耗尽经压缩的视频信息,该信息被存储以用于以该比特率进行的后续流传送。
现在参考图5,描述了使用未量化的变换系数的直方图信息来编码视频帧的说明性过程。
当阅读对在此提供的例程的讨论时,应当理解,各实施例的逻辑操作被实现为(1)运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算系统的性能要求来选择的。因此,所例示的并且构成此处所描述的实施例的逻辑操作被不同地表示为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑,及其任何组合来实现。
图5示出使用通过未量化的变换系数创建的直方图信息来更新量化因子的过程500。
在开始操作之后,过程流动至操作510,在该操作处接收用于处理的视频帧。在执行取决于架构和算法的任何初始功能之后,过程流动至操作520。
在操作520,确定对将在量化操作期间使用的量化因子“QP”的估计。该估计的QP可以是任何选择的QP并且可对应于在不同压缩标准(即MPEG‑1、MPEG‑2、MPEG‑4 ASP、H.26*、VC‑3、WMV7、WMV8、VP5、VP6、MJPEG等)中使用的QP值。例如,可使用历史信息和试探法确定QP。QP因子被用于减小变换系数的幅度以便提供对帧更压缩的表示。
移动至操作530,将帧从一个域变换到另一个域。根据一个实施例,应用于帧的变换是DCT。
流动至操作540,修改所得DCT以将所得AC系数映射到直方图。根据一个实施例,直方图跨与量化水平对应的所有值的范围,量化水平可以被或者可以不被分为各个柱在收集各系数之后,分析直方图以确定对量化因子的更新。
移动到操作550,计算量化因子与非零系数的比率。每个可能的量化因子将系数分为两组:(1)在量化步骤之后将被舍入到0的系数;以及(2)在量化步骤之后将不会被舍入到0的系数。根据一个实施例,创建其中在对应量化步骤之后将每个量化因子映射到非零系数与零系数的比率的表。
流动至操作560,使用多参数多项式将该比率映射到经编码的每像素比特数值。已知帧大小(即图像大小),则那些值可被映射到预测的经编码的帧大小。
转到操作570,更新初始估计的量化因子以反映在操作540‑560获得的信息。根据一个实施例,修改量化因子以使得经编码的帧大小与先前经编码的帧大小相似。将经编码的帧大小保持在可接受值的范围内帮助维护经编码的视频质量水平而不超出缓冲器。相比于仅使用历史,基于当前帧调节量化因子帮助更快地对场景复杂度中的改变做出反应,从而导致更好的终端用户体验、更少的丢失帧,并且QP水平信息波动量的减少被用来提高初始的量化因子估计。
移动至操作580,当前帧用更新的量化因子来量化并且接着进行熵编码。
过程然后流动至结束操作并且返回至处理其他动作。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。

基于变换系数直方图的视频速率控制.pdf_第1页
第1页 / 共13页
基于变换系数直方图的视频速率控制.pdf_第2页
第2页 / 共13页
基于变换系数直方图的视频速率控制.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《基于变换系数直方图的视频速率控制.pdf》由会员分享,可在线阅读,更多相关《基于变换系数直方图的视频速率控制.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102948147 A (43)申请公布日 2013.02.27 C N 1 0 2 9 4 8 1 4 7 A *CN102948147A* (21)申请号 201180029273.3 (22)申请日 2011.06.02 12/818,000 2010.06.17 US H04N 7/26(2006.01) H04N 1/387(2006.01) G06T 3/00(2006.01) G06T 5/00(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人 R博斯科维奇 钱挺 (74)专利代理机构上海专利商标事务所有限公 司 31100 代。

2、理人胡利鸣 (54) 发明名称 基于变换系数直方图的视频速率控制 (57) 摘要 使用通过变换的视频帧产生的变换系数的直 方图信息来确定量化因子。该直方图用来估计当 前正处于被编码过程中的视频帧的经编码的帧大 小。基于该直方图的信息为当前视频帧调节在视 频编码的量化步骤中使用的量化因子。针对所需 的经编码的帧大小的长度来平衡该直方图。直方 图中的截止阈值与对量化因子的不同选择相关 联,并且那些阈值以上或者以下的点的比率用来 估计经编码的帧的大小。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.12.14 (86)PCT申请的申请数据 PCT/US2011/038854 201。

3、1.06.02 (87)PCT申请的公布数据 WO2011/159482 EN 2011.12.22 (51)Int.Cl. 权利要求书1页 说明书6页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 6 页 附图 5 页 1/1页 2 1.一种用于在编码视频帧期间确定量化因子的方法,包括: 接收包括像素的视频帧; 将变换应用到所述视频帧;其中所述变换是产生变换系数的频率变换; 使用经变换的视频帧的变换系数创建直方图;以及 使用所述直方图的信息确定量化因子;所述量化因子在量化变换系数期间使用。 2.如权利要求1所述的方法,其特征在于,还包括在视。

4、频帧被编码之前使用直方图估 计视频帧经编码的大小。 3.如权利要求2所述的方法,其特征在于,所述视频帧是正在被编码的过程中的当前 视频帧,并且其中创建直方图包括通过当前视频帧的变换系数来创建直方图。 4.如权利要求2所述的方法,其特征在于,其中创建直方图包括使用截止阈值以确定 量化因子。 5.如权利要求2所述的方法,其特征在于,还包括使用历史趋势来调节确定的量化因 子。 6.如权利要求2所述的方法,其特征在于,还包括在量化之后使用不同的量化值计算 非零系数的比率,以及将非零系数比率映射到经编码的每像素比特数值,并且其中确定量 化因子包括修改在创建直方图之前确定的估计的量化因子。 7.一种用于确。

5、定量化因子的系统,包括: 处理器和计算机可读介质; 存储在所述计算机可读介质上并在所述处理器上执行的操作环境; 在所述处理器上操作并被配置为执行任务的视频应用以及视频管理器,所述任务包 括: 接收包括像素的视频帧,其中所述视频帧是正在被编码的过程中的当前视频帧; 将频率变换应用到所述视频帧;其中所述变换产生变换系数; 在量化所述变换系数之前,使用所述变换系数创建直方图;以及 使用所述直方图的信息确定量化因子,以及确定所述视频帧的估计的经编码的大小。 8.如权利要求7所述的系统,其特征在于,还包括:在量化之后使用不同的量化值确定 非零AC系数的比率;以及将所述比率映射到经编码的每像素比特数值。 。

6、9.如权利要求7所述的系统,其特征在于,其中确定量化因子包括更新在创建直方图 之前确定的估计的量化值。 10.一种具有用于确定量化因子的计算机可执行指令的计算机存储介质,包括: 接收包括像素的视频帧; 将频率变换应用到所述视频帧;所述变换产生变换系数; 估计将在量化所述变换系数期间使用的量化因子; 在量化所述变换系数之前,使用所述变换系数创建直方图; 在编码所述视频帧之前使用所述直方图估计视频帧经编码的大小;以及 使用所述直方图的信息更新量化因子。 权 利 要 求 书CN 102948147 A 1/6页 3 基于变换系数直方图的视频速率控制 背景技术 0001 视频速率控制动态地调节经编码的。

7、视频质量以便帮助在给定变化的联网条件中 提供满意的用户体验。一般而言,给视频编码器将恒定比特率或局部恒定的比特率与变化 的联网条件匹配的任务。由运动或者电影摄像改变造成的场景复杂度的改变,可以导致与 基线明显的偏差,从而预测的压缩率将导致降级的视频质量。 发明内容 0002 提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的 一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨 在用于帮助确定所要求保护的主题的范围。 0003 使用通过变换的视频帧产生的变换系数的直方图信息来确定量化因子。该直方图 用来估计当前正处于编码过程中的视频帧的经编码的帧大小。

8、。基于该直方图的信息为当前 视频帧调节在视频编码的量化步骤中使用的量化因子。选择合适的量化因子有助于响应视 频帧中的改变(例如,运动、场景变化),从而提供了对视频显示质量的平稳调节。针对所需 的经编码的帧大小的长度来平衡该直方图。直方图中的截止阈值与对量化因子的不同选择 相关联,并且那些阈值以上或者以下的点的比率用来估计经编码的帧的大小。历史趋势还 可以用来调节相关性公式的系数从而提高计算的准确性。 附图说明 0004 图1示出计算机的计算机架构; 0005 图2示出将直方图的使用合并到视频速率控制中的视频编码系统; 0006 图3示出压缩率对比量化步长值以及压缩率对比非零系数的百分比的示例图。

9、; 0007 图4示出使用变换系数的直方图来调节量化因子的示例性基于块的帧内/帧间压 缩路径;以及 0008 图5示出使用通过未量化的变换系数创建的直方图信息来更新量化因子的过程 500。 具体实施方式 0009 现在参考其中相同的标号代表相同的元素的附图,描述各实施例。具体地,图1和 相应的讨论旨在提供对在其中可以实现各实施例的合适计算环境的简要、概括描述。 0010 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组 件、数据结构和其他类型的结构。也可使用其他计算机系统配置,包括多处理器系统、基于 微处理器的或可编程的消费电子产品、小型计算机、大型计算机等等。也可使用。

10、在其中任务 由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序 模块可以位于本地和远程存储器存储设备中。 0011 现在参考图1,将描述在各实施例中利用的计算机100的说明性计算机架构。图1 说 明 书CN 102948147 A 2/6页 4 所示的计算机架构可被配置为台式计算机、服务器或移动计算机,并且包括中央处理单元5 (“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11在内的系统存储器7、 以及将存储器耦合至CPU 5的系统总线12。基本输入/输出系统存储在ROM 11中,它包含 帮助在诸如启动期间在计算机内元件之间传递信息的基本。

11、例程。计算机100还包括用于存 储操作系统16、应用程序和其他程序模块的大容量存储设备14,这将在以下更为详细地描 述。 0012 大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接到CPU 5。大容量存储设备14及其相关联的计算机可读介质为计算机100提供非易失性存储。虽 然此处包含的对计算机可读介质的描述针对诸如硬盘或CD-ROM驱动器等大容量存储设 备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质存储设备。 0013 此处所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可 包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息。

12、的任何方法 或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器7、可移动存储和不 可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限 于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能 盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且 可以由计算设备100访问的任何其他介质。任何这样的计算机存储介质可以是设备100的 一部分。计算设备100还可具有输入设备28,诸如键盘、鼠标、笔、声音输入设备、触摸输入 设备等。也可包括输出设备28,诸如显示器、扬声器、打印机等。

13、等。上述设备是示例且可以 使用其他设备。 0014 此处所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或 其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来 体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进 行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括 诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质 等无线介质。 0015 根据各实施例,计算机100使用通过诸如因特网等网络18至远程计算机的逻辑连 接在联网环境中操作。计算机100可以通过连接至总。

14、线12的网络接口单元20来连接到网 络18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其他类型 的网络和远程计算机系统。计算机100还可以包括用于接收和处理来自多个其他设备的输 入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图1中示出)。类 似地,输入/输出控制器22可以为显示屏28、打印机或其他类型的输出设备提供输出。显 示器28被设计成在视频会议期间显示视频,诸如视频馈送。 0016 如前简述,多个程序模块和数据文件可以存储在计算机100的大容量存储设备14 和RAM 9内,包括适于控制联网计算机的操作的操作系统16,如华盛顿州雷蒙德市的微软 公。

15、司的WINDOWS操作系统。大容量存储设备14和RAM 9还可存储一个或多个程序模块。 具体地,大容量存储设备14和RAM 9可以存储一个或多个应用程序。应用程序之一是会议 应用24,诸如视频会议应用。一般而言,会议应用24是用户在参与两个或更多个用户之间 的视频会议时使用的应用。应用还可涉及编码视频的其他程序。例如,应用可编码向web 说 明 书CN 102948147 A 3/6页 5 浏览器传递的视频。 0017 视频管理器26被配置为部分地基于当前视频帧未量化的变换系数的直方图来确 定当前视频帧的量化因子。变换系数的直方图用来估计当前视频帧经编码的帧大小。针对 经编码的帧大小的所需的大。

16、小来平衡该直方图。直方图中的截止阈值与对量化因子的不同 选择相关联,并且那些阈值以上或者以下的点的比率被用来估计经编码的帧的大小。历史 趋势还可被用来调节相关性公式的系数从而提高计算的准确性。根据一个实施例,所选择 的量化因子导致与先前产生的其他经编码的帧大小类似的经编码的帧大小。 0018 图2示出将直方图的使用合并到视频速率控制中的视频编码系统。如示,系统200 包括显示器28、视频管理器26、输入205、视频应用220、数据存储240、以及其他应用230。 视频管理器26可以如图2所示在视频应用220中实现,或者可以如图1所示从应用220外 部地实现。 0019 为了便于与视频管理器26。

17、的通信,可实现在图2中示为回调代码210的一个或多 个回调例程。通过使用回调代码210,视频管理器26可查询编码视频中使用的额外信息。 例如,视频管理器26可以向诸如存储器240等缓冲器或某个其他位置请求视频。还可提供 与视频应用的特征有关的其他信息。 0020 显示器28被配置为将经编码的视频的可视显示提供给用户。输入205被配置为 从诸如摄像机、键盘、鼠标、触摸屏、和/或某个其他输入设备等一个或多个输入源接收输 入。例如,输入可以来自支持诸如CIF、VGA、720P、1080i、1080p等一种或多种视频分辨率的 摄像机。存储器240被配置为存储视频应用220可以在操作期间利用的数据。 0。

18、021 视频管理器26还可被耦合至其他应用230从而使该视频数据还可被提供给其他 应用和/或从其他应用接收。例如,视频管理器26可被耦合至另一视频应用和/或联网站 点。如示,视频管理器26包括视频速率控制器225,示出在视频帧的编码过程中使用的示例 性步骤212、214、216和218。在编码过程期间执行的步骤可取决于所执行的编码的类型来 改变。与标准编码方案(例如H.26*和WMV*)比较,在编码过程期间包括了直方图阶段216。 直方图阶段216被用来确定量化器218使用的量化因子。在执行初步的功能之后并且有时 是在量化器218之前,可确定或不确定对量化因子“QP”的估计。例如,可以使用先前。

19、编码 的历史信息以及试探法来确定QP。 0022 现在将描述示例性编码过程的一部分。当前帧212被接收并且被传递到变换过程 214。取决于所利用的编码过程,帧可被拆分成像素块,诸如8x8、4x4等等。根据一个实施 例,变换是离散余弦变换(“DCT”)。DCT是将块(空间信息)转换成DCT系数块的一类频率变 换,DCT系数是频率信息。DCT操作本身是无损的或几乎无损的。然而,与原始像素值相比, DCT系数压缩起来更高效,因为大部分重要信息集中在低频系数中。 0023 修改所得DCT变换以将所得AC系数映射到阶段216的直方图。在收集到系数之 后,视频速率控制器225分析该直方图以确定正被处理的当。

20、前帧估计的经编码的帧大小。 然后使用估计的经编码的帧大小来更新/确定将在量化过程期间使用的量化因子(见图5 更详细的描述)。 0024 量化器218使用所确定的量化因子来量化经变换的系数。一般而言,量化因子被 应用于每个系数,这类似于将每个系数除以相同值并舍入。例如,若系数值为130且量化因 子为10,则经量化的系数值为13。由于低频DCT系数往往具有更高的值,因此量化导致精 说 明 书CN 102948147 A 4/6页 6 度的损失,但是不会完全损失关于系数的信息。另一方面,由于高频DCT系数往往具有零或 接近零的值,因此高频系数的量化通常导致连续的零值区域。基于当前帧调节量化因子旨 在。

21、为用户提供更一致的视频体验。 0025 图3示出压缩率对比量化步长值以及压缩率对比非零系数的百分比的示例图。 0026 图310示出压缩率对比量化步长值的图。图310包括了12个不同视频的绘图。可 以看到,针对压缩率来绘出量化步长值不能导致一致或总体的趋势。此外,可以看到某些视 频之间的差异明显。 0027 图350示出基于未量化的变换值的直方图的压缩率对比非零系数的百分比的示 图。图350包括了也在图310中绘出的12个不同视频的绘图。参考图350,可以看到非零 系数百分比和最终经编码的大小之间的相关性。这一关系也是线性的。尽管图350的趋势 线有一些误差余量,但是它明显小于图310。每像素。

22、比特数的值可近似为特定量化因子的非 零系数比率的仿射函数:根据一个实施例,尽管可使用训练数据和试 探法来近似常数k和c,但是可以跨视频馈送(诸如视频会议)的期间连续调节这些值。这 帮助了确保那些因子的作用不直接与非零系数比率有关(例如,DC-面复杂度、通过频率域 预测来保存,等等)。根据一个实施例,已经发现在示例性视频会议中k的值大约为1.1875。 0028 图4示出使用变换系数的直方图来调节量化因子的示例性基于块的帧内/帧间压 缩路径。编码器系统接收包括当前帧的视频帧序列,并产生经压缩的视频作为输出。 0029 所示的编码器系统压缩预测帧和关键帧。图4示出了关键帧通过编码器系统的路 径41。

23、0以及前向预测帧的路径470。该编码器系统的许多组件既用于压缩关键帧也用于压 缩预测帧。由那些组件执行的确切操作可以依据正在被压缩的信息的类型而变化。一般而 言,关键帧对比特率的贡献比预测帧更大。在低或中比特率应用中,关键帧可能成为性能瓶 颈。 0030 预测帧(也被称为p帧、用于双向预测的b帧、或帧间编码帧)按照从一个或多个其 他帧进行的预测(或差)来表示。预测残差是所预测的和原始帧之差。相反,关键帧(也被称 为i帧、帧内编码帧)是在不参考其他帧的情况下压缩的。 0031 在当前帧420是前向预测帧时,运动估计器425估计当前帧420的宏块或其他像 素集相对于参考帧的运动,其中参考帧是可缓冲。

24、在帧存储中的重构的先前帧。在替换实施 例中,参考帧是后帧,或者当前帧是双向预测的。运动估计器425可按照像素、1/2像素、1/4 像素或其他增量来估计运动,并可在逐帧基础或其他基础上切换运动估计的分辨率。运动 估计的分辨率在水平和垂直上可以相同或不同。 0032 运动补偿器430将运动估计信息应用于重构的先前帧以形成经运动补偿的当前 帧。一般而言,运动估计器425和运动补偿器435可被配置成应用任何类型的运动估计/ 补偿。 0033 频率变换器435将空间域视频信息转换为频率域(即频谱)数据。对于基于块的视 频帧,频率变换器435向像素数据或预测残差数据的各块应用DCT或DCT的变体,从而产生。

25、 DCT系数块。或者,变换器435应用诸如傅立叶变换等另一常规频率变换或使用小波或子带 分析。频率变换器435可被配置成向各帧应用8x8、8x4、4x8或其他大小的频率变换(例如, DCT)。 说 明 书CN 102948147 A 5/6页 7 0034 变换系数直方图步骤440被配置为部分地基于通过当前视频帧未量化的变换系 数创建的直方图来调节当前视频帧的量化因子。变换系数的直方图用来确定估计的当前视 频帧经编码的帧大小。针对经编码的帧大小的所需的大小来平衡该直方图。直方图中的截 止阈值与对量化因子的不同选择相关联,并且那些阈值以上或者以下的点的比率用来估计 经编码的帧的大小。如直方图步骤。

26、440所确定的,基于估计的经编码的帧大小来选择量化 因子。 0035 量化445使用由直方图440确定的量化因子来量化频谱数据系数块。 0036 当后续的运动估计/补偿需要重构的当前帧时,参考帧重构器447对量化的频谱 数据系数执行反量化。频率反变换器然后执行频率变换器435的操作的逆操作,从而产生 重构的预测残差(对于预测帧)或重构的关键帧。 0037 在当前帧420是关键帧时,取重构的关键帧作为重构的当前帧(未示出)。如果当前 帧420是预测帧,则将重构的预测残差加到经运动补偿的当前帧以形成重构的当前帧。帧 存储可被用于缓冲重构的当前帧,以供在预测下一帧时使用。 0038 熵编码器450压。

27、缩量化器445的输出以及某些辅助信息(例如,运动信息、空间外 插模式、量化步长)。典型的熵编码技术包括算术编码、差分编码、霍夫曼编码、游程长度编 码、LZ编码、词典编码,和以上的组合。熵编码器450通常对不同种类的信息(例如,DC系 数、AC系数、不同种类的辅助信息)使用不同的编码技术,并可从特定编码技术内的多个代 码表中进行选择。熵编码器450将经压缩的视频信息置于缓冲器455中。一般而言,以恒 定或相对恒定的比特率从缓冲器455中耗尽经压缩的视频信息,该信息被存储以用于以该 比特率进行的后续流传送。 0039 现在参考图5,描述了使用未量化的变换系数的直方图信息来编码视频帧的说明 性过程。。

28、 0040 当阅读对在此提供的例程的讨论时,应当理解,各实施例的逻辑操作被实现为(1) 运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连的 机器逻辑电路或电路模块。该实现是取决于实现本发明的计算系统的性能要求来选择的。 因此,所例示的并且构成此处所描述的实施例的逻辑操作被不同地表示为操作、结构设备、 动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑,及其任何组 合来实现。 0041 图5示出使用通过未量化的变换系数创建的直方图信息来更新量化因子的过程 500。 0042 在开始操作之后,过程流动至操作510,在该操作处接收用于处理的视频帧。在。

29、执 行取决于架构和算法的任何初始功能之后,过程流动至操作520。 0043 在操作520,确定对将在量化操作期间使用的量化因子“QP”的估计。该估计的 QP可以是任何选择的QP并且可对应于在不同压缩标准(即MPEG-1、MPEG-2、MPEG-4 ASP、 H.26*、VC-3、WMV7、WMV8、VP5、VP6、MJPEG等)中使用的QP值。例如,可使用历史信息和试 探法确定QP。QP因子被用于减小变换系数的幅度以便提供对帧更压缩的表示。 0044 移动至操作530,将帧从一个域变换到另一个域。根据一个实施例,应用于帧的变 换是DCT。 0045 流动至操作540,修改所得DCT以将所得AC。

30、系数映射到直方图。根据一个实施例, 说 明 书CN 102948147 A 6/6页 8 直方图跨与量化水平对应的所有值的范围,量化水平可以被或者可以不被分为各个柱在收 集各系数之后,分析直方图以确定对量化因子的更新。 0046 移动到操作550,计算量化因子与非零系数的比率。每个可能的量化因子将系数分 为两组:(1)在量化步骤之后将被舍入到0的系数;以及(2)在量化步骤之后将不会被舍入 到0的系数。根据一个实施例,创建其中在对应量化步骤之后将每个量化因子映射到非零 系数与零系数的比率的表。 0047 流动至操作560,使用多参数多项式将该比率映射到经编码的每像素比特数值。已 知帧大小(即图像。

31、大小),则那些值可被映射到预测的经编码的帧大小。 0048 转到操作570,更新初始估计的量化因子以反映在操作540-560获得的信息。根据 一个实施例,修改量化因子以使得经编码的帧大小与先前经编码的帧大小相似。将经编码 的帧大小保持在可接受值的范围内帮助维护经编码的视频质量水平而不超出缓冲器。相比 于仅使用历史,基于当前帧调节量化因子帮助更快地对场景复杂度中的改变做出反应,从 而导致更好的终端用户体验、更少的丢失帧,并且QP水平信息波动量的减少被用来提高初 始的量化因子估计。 0049 移动至操作580,当前帧用更新的量化因子来量化并且接着进行熵编码。 0050 过程然后流动至结束操作并且返。

32、回至处理其他动作。 0051 以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因 为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在 所附权利要求的范围内。 说 明 书CN 102948147 A 1/5页 9 图1 说 明 书 附 图CN 102948147 A 2/5页 10 图2 说 明 书 附 图CN 102948147 A 10 3/5页 11 图3 说 明 书 附 图CN 102948147 A 11 4/5页 12 图4 说 明 书 附 图CN 102948147 A 12 5/5页 13 图5 说 明 书 附 图CN 102948147 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1