法律状态公告日
法律状态信息
法律状态
2017-05-03
未缴年费专利权终止 IPC(主分类):H04N7/26 授权公告日:20101208 终止日期:20160310 申请日:20060310
专利权的终止
2010-12-08
授权
授权
2008-07-16
实质审查的生效
实质审查的生效
2008-05-21
公开
公开
根据35U.S.C.§119主张优先权
本专利申请案主张优先于2005年3月10日提出申请且名称为“METHOD ANDAPPARATUS FOR QUASI-CONSTANT-QUALITY RATE CONTROL WITHLOOK-AHEAD”的第60/660,908号临时申请案,所述临时申请案受让于本发明的受让人并以引用的方式明确地并入本文中。
技术领域
本发明一般而言涉及数字视频,且更具体而言涉及视频压缩
背景技术
由于因特网及无线通信的爆炸性增长及巨大成功,以及对多媒体服务的日益增加的需求,因特网及移动/无线信道上的串流式媒体已引起人们极大的关注。在异质性因特网协议(IP)网络中,视频是由服务器提供且可由一个或一个以上客户端串流化。有线连接包含:拨号、整合服务数字网络(ISDN)、电缆、数字订户线路协议(统称为xDSL)、光纤、局域网(LAN)、广域网(WAN)及其它网络。传输模式可是单播或多播。
类似于异质性IP网络的是移动/无线通信。通过移动/无线信道运送多媒体内容极具挑战性,这是因为这些信道经常因多路径衰落、遮蔽、符号间干扰及噪声扰动而受到严重损害。诸如移动性及竞争业务等某些其它原因也可导致带宽变化及损失。信道噪声及所服务的用户数量决定信道环境的时变性质。
为有效地存储及/或传输,通常对数字视频进行压缩。目前存在许多种视频压缩标准。
视频压缩的一个常见问题是带宽(位/秒)与视觉质量之间的折衷。可使用各种度量,例如峰值信号噪声比(PSNR)来评定视觉质量。应了解,在帧速率恒定的情况下,对视频帧进行编码所用的位将正比于位速率或视频的带宽,且所述术语(位和带宽)尽管在技术上有所不同,但在现有技术中通常可互换使用且可根据上下文来确定正确的解释。
为得到相对好的视觉质量所需的带宽将随正编码的视频的复杂度而异。例如,相对呈静态的镜头(例如,新闻广播员的镜头)可用相对低的带宽以相对高的视觉质量来编码。相反,相对呈动态的镜头(例如,在体育事件中摇拍运动员的镜头)为得到相同的视觉质量可能会消耗相对大的带宽量。
为获得相对恒定的质量,期望使用一种称作可变位速率(VBR)的技术来改变可供用于对帧进行编码的位数量。然而,所述VBR技术通常不适用于所传输视频内的容背景。数字视频内容可通过各种各样的媒体来传输,例如,通过光学网络、有线网络、无线网络、卫星及类似媒体。当进行广播时,所述通信媒体的带宽通常有限。相应地,在传输或广播环境中通常会见到恒定位速率(CBR)技术。
使用恒定位速率(CBR)技术的问题在于,视觉质量将根据正编码的视频的复杂度而变化。当镜头相对呈静态(例如,广播员的镜头)时,则将消耗或“浪费”掉多于为得到既定质量水平所需的位。而当镜头相对呈动态(例如,在体育运动中)时,则质量可能会受害于CBR。当视觉质量受损时,视觉假象可能会变得明显且可能会以例如“方块效应(blockiness)”形式观察到。
因此,在现有技术中需要提供可将传输媒体的相对恒定位速率的有利属性与供观看者欣赏的相对恒定视觉质量相组合的编码技术。
发明内容
本文所揭示的系统及方法通过例如估计在预定时间窗口中一个或一个以上多媒体数据的编码复杂度、并使用所估计的编码复杂度来确定编码的位速率而满足了上述需求。
一个方面是对所接收的视频数据进行编码的方法,其中所述方法包含:确定所述视频数据的第一部分的第一编码复杂度;及至少部分地根据所述第一编码复杂度对视频的所述第一部分进行编码。
一个方面是用于对所接收的视频数据进行编码的设备,其中所述设备包含:确定装置,其用于确定所述视频数据的第一部分的第一编码复杂度;及编码装置,其用于至少部分地根据所述第一编码复杂度对视频的所述第一部分进行编码。
一个方面是对所接收的视频数据进行编码的设备,其中所述设备包含:处理器,其经配置以确定所述视频数据的第一部分的第一编码复杂度;及编码器,其经配置以至少部分地根据所述第一编码复杂度对视频数据的所述第一部分进行编码。
一个方面是包含于有形媒体中的具有用于对所接收视频数据进行编码的指令的计算机程序产品,其中所述计算机程序产品包含:具有用于确定的指令的模块,所述指令用于确定所述视频数据的第一部分的第一编码复杂度;及具有用于编码的指令的模块,所述指令用于至少部分地根据所述第一编码复杂度对视频的所述第一部分进行编码。
一个方面是一种用于对多媒体数据进行编码的方法,其中所述方法包含:对对应于所选数据窗口的第一多媒体数据进行编码;及对不同于所述第一多媒体数据的第二多媒体数据进行编码,在将所述第一多媒体数据重新编码时,所述第二多媒体数据对应于所述选择的数据窗口。
一个方面是一种用于对多媒体数据进行编码的设备,其中所述设备包含:编码装置,其用于对对应于所选数据窗口的第一多媒体数据及不同于所述第一多媒体数据的第二多媒体数据进行编码,所述第二多媒体数据对应于所述选择的数据窗口;及重新编码装置,其用于在所述编码装置对所述第二多媒体数据进行编码时将所述第一多媒体数据重新编码。
一个方面是一种用于对多媒体数据进行编码的设备,其中所述设备包含:第一编码器,其经配置以对对应于所选数据窗口的第一多媒体数据进行编码及对不同于所述第一多媒体数据的第二多媒体数据进行编码,所述第二多媒体数据对应于所述选择的数据窗口;及第二编码器,其经配置以在所述第一编码器正对所述第二多媒体数据进行编码时将所述第一多媒体数据重新编码。
一个方面是一种对在传输时被一起多路复用及载送的多个视频信道的视频数据进行编码的方法,其中所述方法包含:接收用于对所述多个视频信道进行视频编码的视频帧;确定以约相同质量水平对所述多个信道进行编码所需的相对数据量,其中将用于所述经编码部分的数据一起多路复用及运载;根据所确定的相对数据量来分配用于所述已编码部分的数据;根据所述分配的数据对视频帧进行编码;及对经编码的视频帧进行多路复用以用于传输。
一个方面是一种对一起多路复用于频带受限传输媒体中的多个视频信道进行编码的方法,其中所述方法包含:从要编码、多路复用且随后一起传输的多个信道接收多个视频帧,其中所述多个视频帧包含至少对应于每一信道的预定时间间隔的多个视频帧;在所述多个信道之间分配适用于所述多个信道的位,以使所述多个信道的视觉质量处在约相同的水平而与编码复杂度的差异无关;及根据所述分配的位进行编码。
一个方面是一种在两个或更多个要以压缩方式编码的视频信道之间分配可用带宽的方法,所述两个或两个以上视频信道包含至少第一视频信道及第二视频信道,其中所述方法包含:估计与所述第一视频信道的预定时间周期的一组视频帧相关联的编码复杂度,其中所述预定时间周期小于视频剪辑的持续时间,其中在将实际使用编码之前实施估计;及使用至少部分地基于所述组视频帧的实际编码的所估计编码复杂度的信息。
一个方面是一种在多个信道之间分配可用带宽的方法,其中所述方法包含:接收关于所述多个信道每一者的一组视频帧的编码复杂度量度,其中以相同的时间周期多路复用用于所述组视频帧的数据以用于传输;及至少部分地根据每一信道的编码复杂度量度在所述经多路复用的信道之间分配可用于所述时间周期的位。
一个方面是用於视频编码的设备,其中所述设备包含:第一处理元件,其经配置以估计与一组对应于预定时间周期的视频帧相关联的编码复杂度,所述预定时间周期小于与视频剪辑的长度相关联的时间周期;及第二处理元件,其经配置以使用至少部分地根据所述估计的编码复杂度所选择的位速率对所述组视频帧进行编码。
一个方面是一种用于在多个信道之间分配可用带宽的设备,其中所述设备包含:分派电路,其经配置以接收用于所述多个信道每一者的一集合视频帧的编码复杂度量度,其中以相同的时间周期多路复用用于所述集合视频帧的数据;计算电路,其经配置以至少部分地根据每一信道的编码复杂度量度在所述多路复用信道之间分配针对所述时间周期的可用位。
一个方面是一种包含于有形媒体中的具有用于对多媒体数据进行编码的指令的计算机程序产品,其中所述计算机程序产品包含:具有用于编码的指令的模块,所述指令用于对对应于所选数据窗口的第一多媒体数据进行编码及对不同于所述第一多媒体数据的第二多媒体数据进行编码,所述第二多媒体数据对应于所述选择的数据窗口;及具有用于重新编码的指令的模块,所述指令用于在所述具有用于编码的指令的模块正对所述第二多媒体数据进行编码时将所述第一多媒体数据重新编码。
附图说明
图1是图解说明对多个多媒体数据信道的数据进行编码的系统图;
图2是大体上图解说明一种编码过程的流程图;
图3是大体上图解说明一种在根据多个多媒体信道的数据复杂度选择位速率的同时进行编码的过程的流程图;
图4是图解说明可与多路复用器交互作用的多遍式预见编码器的实例的系统图;
图5是图解说明可与多路复用器交互作用的单遍式预见编码器的实例的系统图;
图6是图解说明独立的多遍式预见编码器的实例的系统图;
图7A是图解说明独立的单遍式预见编码器的实例的系统图;
图7B是图解说明编码复杂度确定装置及编码装置的实例的系统图;
图8是图解说明一种用于根据信道需求来分派多路复用系统可用带宽的设备的实例的系统图;
图9是所估计视觉质量函数V与编码复杂度C及所分配位B的3-D图;
图10图解说明一种用于对多媒体数据进行编码的方法的实例;及
图11图解说明一种用于对多媒体数据进行编码的设备的实例。
具体实施方式
在下文说明中,为提供对所述实施例的透彻理解而给出具体细节。然而,所属领域的技术人员应理解,所述实施例可在不具备这些具体细节的情况下实施。例如,电组件可按方块图形式加以显示,以免以不必要的细节形式使所述实施例变得难以理解。在其它例示中,可详细显示此等组件、其它结构及技术以进一步解释各实施例。所属领域的技术人员也应了解,可将显示为独立块形式的电组件重新排列及/或组合成一个组件。
也应注意,可将某些实施例描述为过程,所述过程被描绘为流程图、工艺流程图、结构图或方块图。尽管流程图可将作业描述为顺序性过程,然而也可平行或同时实施所述作业中的许多作业并可重复所述过程。此外,可重新排列所述作业的次序。当其作业完成时,过程即告结束。过程可对应于一种方法、功能、程序、次例程、子程序等。当过程对应于一种功能时,其结束对应于所述功能返回到调用功能或主功能。
下文所述方法及设备有效地对例如实况视频信道等多媒体数据进行编码。在将使用的实际编码之前,估计所选窗口的编码复杂度,其中所述窗口可基于时间或基于所选数据量(例如,近似于1秒)或多媒体数据的一部分(例如,1秒)。这准许以预先已知的复杂度估计值来实施实际编码,从而准许在所选窗口内有效地分配为所述预定时间间隔所分配的位(位速率)。
所述位速率可为来自根据带宽或质量或二者来估计位速率的装置的输入。例如,可构建多路复用器来提供位速率。所述质量可基于以复杂度为依据的内容分类。此分类论述于名称为“Content Classification for Multimedia Processing”的第“”号共同待决专利申请案中。
此外,可将所估计复杂度提供给装置(例如,多路复用器),然后,可由所述装置根据经多路复用的多媒体信道(例如视频信道)集合的预期编码复杂度为那些多媒体信道分配可用带宽,由此准许即使所述经多路复用的信道集合的带宽相对恒定时也能够使特定信道的质量保持相对恒定。这使信道集合内的信道具有可变的位速率及相对恒定的视觉质量,而非相对恒定的位速率及可变的视觉质量。
图1是图解说明对多个多媒体数据102源(例如信道)进行编码的系统图。多媒体数据102是由相应的编码器104进行编码,编码器104与多路复用器(MUX)106进行通信,而多路复用器(MUX)106又与传输媒体108进行通信。例如,多媒体数据102可对应于各种内容信道,例如新闻信道、体育信道、电影信道及类似信道。编码器104将多媒体数据102编码成为所述系统规定的编码格式。尽管是以对视频数据进行编码为背景来加以描述,然而所揭示技术的原理及优点广泛地适用于多媒体数据,包括例如可视数据及/或音频数据。经编码的多媒体数据提供给多路复用器106,由多路复用器106对各种经编码的多媒体数据加以组合并将经组合的数据发送到传输媒体108以供传输。
传输媒体108可对应于各种各样的媒体,例如但不限于,数字卫星通信,例如DirecTV、数字电缆、有线及无线因特网通信、光学网络、移动电话网络及类似网络。倘若为无线通信系统,传输媒体108可包括例如码分多址(CDMA或CDMA2000)通信系统的一部分,或者另一选择为,所述系统可是频分多址(FDMA)系统、正交频分多址(OFDMA)系统、时分多址(TDMA)系统一例如用于服务行业的GSM/GPRS(通用分组无线电服务)/EDGE(增强数据GSM环境)或TETRA(地面中继无线电)移动电话技术、宽带码分多址(WCDMA)、高数据速率(1xEV-DO或1xEV-DO金牌多播)系统、或者一般而言使用各技术的组合的任一无线通信系统。传输媒体108可包含例如调制到射频(RF)。通常,由于频谱约束条件及类似约束条件,传输媒体具有有限的带宽且从多路复用器106到传输媒体的数据保持相对恒定的位速率(CBR)。
在常规系统中,在多路复用器106的输出处使用恒定位速率(CBR)会要求被作为输入提供给多路复用器106的经编码多媒体数据也为CBR。如在背景技术中所述,在对视频内容(例如)进行编码时使用CBR可导致可变的视觉质量,而这通常并非所期望的。
在所图解说明的系统中,两个或两个以上编码器104交流对输入数据的预期编码复杂度。一个或一个以上编码器104可响应于此而从多路复用器106接收经修改的位速率控制。这准许期望对相对复杂的多媒体进行编码的编码器104能够以准可变位速率方式为那些多媒体帧接收更高的位速率或更高的带宽(每一帧更多个位)。这准许例如在视觉背景中能够以更恒定的视觉质量对多媒体数据102进行编码。对相对复杂的视频进行编码的特定编码器104所用的额外带宽来自于如果所述编码器构建成以恒定位速率运作原本将用于对其它多媒体数据102进行编码的位。这使得多路复用器106的输出维持在恒定位速率(CBR)。
尽管个别多媒体数据102源可能相对为“突发性”,也就是说,在所用带宽变化时,多个多媒体数据源的累加和可具有较小的突发性。来自正对较不复杂多媒体进行编码的信道的位速率可由例如多路复用器106重新分配给正对相对复杂的多媒体进行编码的信道,而这可增强例如组合多媒体数据的整体视觉质量。所揭示技术可用于自适应性地分配带宽,以便在多媒体数据带宽设定中几乎不需要或根本不需要用户干预。
在一个实例中,编码器104为多路复用器106提供关于一组要一起编码及多路复用的多媒体数据(例如视频帧)的复杂度的指示。例如,多路复用器106可每次多路复用预定数据窗口,例如1秒长数据窗口的经编码数据。在所述预定数据窗口中,多路复用器106的输出应提供不高于为传输媒体108所规定位速率的输出。
例如,所述复杂度指示可对应于将用于以既定质量水平对所述数据窗口的多媒体数据进行编码的位数量的估计值。多路复用器106分析所述复杂度指示,并为各个编码器104提供所分配数量的位或带宽,且编码器104使用这个信息对所述组中的多媒体数据进行编码。造个准许一组多媒体数据个别地成为可变位速率、且仍能以群组形式获得恒定位速率。
图2是大体上图解说明一种编码过程的流程图。所属领域的技术人员应了解,所图解说明的过程可按各种方式加以修改。例如,在另一实施例中,可对所图解说明过程的各个部分加以组合、以替代序列重新排列、予以去除等等。
下文将从编码装置(例如图1中的编码器104)的角度来描述所述过程的状态210及220,所述编码器经由多路复用器与其它编码器协同编码以有效地使用可供所述群组中其输出正被多路复用的编码器使用的带宽。状态320及330是从多路复用器或其它带宽分配装置-如果与所述多路复用器相分离-的角度来写入。
所图解说明的过程在状态210处估计预定时间周期或窗口内的编码复杂度。这个预定时间周期或窗口可在相对宽广的范围内变化。例如,这个预定时间周期可介于约500毫秒到约10000毫秒的范围内。所述预定时间周期的相对良好的值为约1秒。应注意,这个预定时间周期(称作“超帧”)并不对应于图片群组(GOP,也就是说,与内帧相关的图片群组)的时间周期,除非所述图片群组与所述预定时间周期碰巧匹配。而是,超帧可是既定数量的连续图片。应了解,在其中多路复用器或类似装置在周期性间隔(例如预定数量的帧)中收集各种多媒体数据以便以多路复用方式封装的系统中,所述预定时间周期应与多路复用器所用的周期性时间间隔匹配。例如,多路复用器可使用约1秒的预定时间间隔,在所述预定时间间隔内给个别信道分配位或带宽以遵从对多路复用数据的带宽限制。
一个估计编码复杂度的实例是通过编码过程,例如类似于两遍式或多遍式编码方案中“第一遍”编码过程的编码。在第一遍编码过程中,通常使用标准缺省质量水平,例如缺省量化参数(QP)水平。另一种用于估计编码复杂度的技术是带宽比率量度,其将在下文中加以描述。
在常规多遍式编码方案中,首先在第一遍中对整个多媒体剪辑(例如2小时的电影)进行编码而不保存经编码的视频,并随后再次对其进行编码。然后,使用从第一遍编码中收集的量度或统计数据(例如,特定的一组帧多么复杂或者具有多少运动画面)来调整在第二遍或随后的编码中所用的位速率。这会改进经编码视频的质量。
然而,尽管此等常规多遍式技术适用于对非实时数据进行编码,例如对电影进行编码以便存储于DVD上,然而对整个剪辑进行编码时所存在的滞后通常不适合于在广播或其它将不能接受相对大延迟的分发环境中对数据进行编码。通常,多媒体数据可载送实况内容,例如新闻广播或体育事件。此外,多媒体数据可载送处于分发所述多媒体的实体的控制以外的内容,以便甚至当特定内容并非“实况”时也将其视为实况的。
对于例如新闻及体育事件等实况多媒体数据,通常不能接受大的延迟(例如,持续数个小时)。然而,在许多情形中,相对短的延迟却可接受且不会引起注意。具有预定时间周期或窗口的所揭示技术会引入相对短的延迟,例如处于数秒范围内的延迟。这些延迟通常不会令实况内容的观看者生厌。
当已知预定时间周期内的编码复杂度时,所述信息可用于有效地为所述过程的实际编码220分配位。例如,所述编码复杂度信息可独立于其它信道的编码复杂度来使用,且实际编码220将仍具有显著的优点。位速率的微小变化可通常由缓冲器来容纳。当与来自其它多媒体数据源的位速率分配相组合时,所述过程甚至可得到进一步改良。此种变化阐述于图3中。
图3是大体上图解说明一种在根据多个多媒体数据源的复杂度选择位速率时进行编码的过程的流程图。所属领域的技术人员应了解,所图解说明的过程可按各种方式加以修改。例如,在另一实施例中,可对所图解说明的过程的各个部分加以组合、以另一序列重新排列、予以去除等等。
下文将从编码装置(例如图1中的编码器104)的角度来描述所述过程中的状态310及340,所述编码器经由多路复用器与其它编码器协同编码以有效地利用可供所述组中其输出正被多路复用的编码器使用的带宽。状态320及330是从多路复用装置(例如图1中的多路复用器106)或其它带宽分配装置-如果与所述多路复用器相分离-的角度来写入。
所图解说明的过程在状态310处估计预定时间周期或窗口内的编码复杂度。所述估计动作310可与针对上文结合图2所述过程中的估计动作210所述的相同。然而,应注意,用于估计图3中动作310的预定时间周期应与其中所述多路复用器分配位或带宽的时间周期或窗口相匹配。
所述过程在状态320处继续在相同的预定时间周期内从其它信道检索编码复杂度。在特定时间周期内,来自各个经编码信道的经编码视频将被多路复用且不应超过分配给经多路复用通信信道的总带宽。
所述过程在状态330中继续在各个信道之间分配位。例如,关于编码复杂度的信息可与为得到既定视觉质量而预计要消耗的位数量有关。可对所述位数量求和,且分配给所述信道的位数量可取决于预计要消耗的相对位数量,例如,可根据信道的按比例分配的预计位消耗为每一信道分派总可用带宽的按比例分配部分。在另一实例中,可给各信道指配各种预选定位速率,例如低带宽、中等带宽、或高带宽中的一者,这取决于预计要消耗的相对位数量。也应注意,每一系统均可具有对最大带宽及对最小带宽的特定系统限值,且位分配不应超过这些限值。然后,将在所述预定周期(称作超帧)内分配给所述组帧的位提供给编码器以便在超帧等级上实施位速率控制。
在状态340处,所述编码器然后根据所分配的位对所述超帧或预定周期中的帧进行编码。这准许个别信道或信道群组具有可变位速率(VBR)以获得接近恒定的质量、且仍为多路复用器的输出提供多个信道以在输出处维持恒定位速率(CBR)。
图4是图解说明可与多路复用器交互作用的多遍式预见编码器的实例的系统图。所图解说明的系统使用两遍式架构,但应了解,也可使用多于两遍。所述系统包含数据存储器402、可选预处理器404、第一遍编码器406、第二遍编码器408、多路复用器106、及传输媒体108。所述系统可按各种各样的方式来构建。例如,可选预处理器404、第一遍编码器406、及第二遍编码器408中的一者或多者可组合、可分离及可由共用控制器加以控制等等。
数据存储器402存储进入的多媒体数据。数据存储器402可由各种各样的装置来构建,例如固态存储器(DRAM,SRAM)、硬磁盘驱动机等等。可选预处理器404可计算带宽比率量度以用于在编码过程中在帧群组内分配位。将在随后描述带宽比率量度。在所图解说明的系统中,预处理器404独立于超帧等级位速率控制来运作。可选预处理器404将所述量度提供给第一遍编码器406及第二遍编码器408。
可选预处理器404、第一遍编码器406、及第二遍编码器408按管线式架构排列。在此种管线式架构中,每一级的延迟均应相同,也就是说,每一级应处理相同的数据量。所述数据量对应于预定时间周期或窗口中的帧。所述帧称作超帧。在第二遍编码器408正对一组帧进行编码的同时,第一遍编码器406正对下一组要由第二遍编码器408编码的帧实施第一遍编码,且可选预处理器404处理下一组要由第一遍编码器406进行第一遍编码的帧。未经编码视频的原始数据可从数据存储器402中检索且对所述数据的参考可作为存储器指针及类似物在所述模块中传递。
第一遍编码器406在预定时间周期内对多媒体数据帧进行编码。然而,实际的经编码多媒体数据帧并非必定加以使用且通常被丢弃。将复杂度量度(例如用于以既定质量水平对帧进行编码的位数量)提供给多路复用器106。其它可再使用的数据,例如运动向量(MV)的计算结果及绝对像素差(SAD)的和,可从第一遍编码器406提供给第二遍编码器408。
所述复杂度量度由多路复用器106用来在各个信道之间分配可供用于经组合多路复用数据的位。例如,多路复用器106可使用在前面结合图3所述过程中的分配位状态330。然后,将所分配的位提供给第二遍编码器408以用于对那些帧进行编码。
然后,第二遍编码器408对所述管线的下一循环中的帧进行编码,且经编码的帧被提供给多路复用器106以用于与来自其它信道的数据多路复用并在所述管线的后续循环中通过传输媒体传输。
图5、6及7图解说明与图4中所示类似的系统变化形式。所属领域的技术人员将易于确定出其它变化形式。例如,图4中所图解说明系统的一个变化形式是一种没有可选预处理器404的系统。去除预处理器404会消除管线中的一个级及所述级的延迟。
在图5的变化形式中,预处理器502一其实施不同于且不如第一遍编码复杂的分析一提供复杂度量度。这可适用于其中例如处理能力有限的系统。例如,可使用将在下文中予以论述的带宽比率量度来确定复杂度。
图5中所图解说明的变化形式包含数据存储器402、预处理器502、编码器504、多路复用器106、及传输媒体108。多路复用器106可视来自预处理器502的复杂度估计值来为编码器504分配位速率。另一量度(例如来自预处理器502的带宽比率)与编码器504的位速率控制之间的映射可为线性、非线性、经由查询表在所选范围内映射等等。
图6中所图解说明的变化形式不与多路复用器交互作用。图6的变化形式包含数据存储器402、可选预处理器404、第一遍编码器602、及第二遍编码器604。应了解,多遍式编码器的数量可变成并非两个。而是,第一遍编码器的结果由第二遍编码器使用而不依据来自其它信道的复杂度实施位速率分配。这可适用于其中因缓冲器而可容忍一定程度的位速率变化但期望位速率编码接近恒定的系统中。在所图解说明的系统中,第一遍编码器602对预定时间内的帧(也称作超帧)实施第一遍编码,且使用复杂度信息来设定第二遍604的编码。图6的变化形式与常规两遍式系统之间的一个区别在于,常规两遍式系统每次对整个媒体剪辑实施一遍,这对于例如实况数据等某些类型的数据而言是不切实际的。
图7A中所图解说明的变化形式也不与多路复用器交互作用。所述变化形式包含数据存储器402、预处理器702、及第一遍编码器704。预处理器702给第一遍编码器704提供按时间窗口复杂度量度。第一遍编码器704使用所述信息选择位速率以用于对应多媒体数据的编码。
图7B中所图解说明的变化形式可能但未必必定与多路复用器交互作用。所述变化形式包含用于给编码装置714提供复杂度指示的编码复杂度确定装置712。在一个实例中,编码复杂度确定装置712可对应于预处理器502,且编码装置714可对应于第一遍编码器504。在另一实例中,编码复杂度确定装置712可对应于第一遍编码器602,且编码装置714可对应于第二遍编码器604。在一个方面,编码复杂度确定装置712为由编码装置714随后编码的时间窗口数据提供复杂度信息。在另一方面,所述复杂度信息可提供给多路复用器或另一模块,然后所述多路复用器或另一模块可给编码装置714提供经调整的位速率。
图8是系统图,其显示用于根据各个多媒体数据源的需要或编码复杂度来分配多路复用系统的可用带宽的处理器800的实例。举例而言,此处理器可并入多路复用器106内或者可独立于多路复用器106。
图8中所图解说明的处理器800包含复杂度收集电路802及分派电路804。复杂度收集电路802从例如多个第一遍编码器中检索复杂度估计值。收集所述复杂度估计值。在对应多媒体数据之间分配总的位速率806-其可是存储于寄存器中的数据值。例如,可存在为高复杂度、中等复杂度及低复杂度留出的各种位速率,且然后可至少部分地根据所述相对复杂度估计值来选择所述位速率并将其相应地提供给分派电路804。然后所述分派电路与例如第二遍编码器进行通信,由第二遍编码器使用所分派的位速率进行超帧等级的位速率控制。
现在将描述其它方面。可以多个等级实施速率控制。应注意,除了在帧内及在宏块内对图片群组(GOP)实施速率控制外,也可是使用“超帧”等级下的速率控制,也就是说对固定数量连续图片或对数据窗口的速率控制。例如,可使用常规技术以及本文所述技术在所述其它等级内实施速率控制。也应注意,视为超帧所选的内容及大小而定,图片群组的大小可大于或小于超帧的大小。
带宽映射产生
人的视觉质量V可是编码复杂度C与所分配位B(也称作带宽)二者的函数。
应注意,编码复杂度量度C从人类视觉角度考虑了空间及时间频率。对于人眼更加敏感的失真而言,复杂度值会对应地更高。通常可假定V随C单调减小、随B单调增大。这种3-D关系的实例绘示于图9中。
为获得恒定的视觉质量,为第i个要编码的对象(帧或MB)指配带宽(Bi),所述带宽(Bi)满足在方程式1及2中所表达的准则。
Bi=B(Ci,V)(方程式1)
在方程式1及/或2中,Ci是第i个对象的编码复杂度,B是总的可用带宽,且V是所述对象可获得的视觉质量。人的视觉质量很难以方程式形式来公式化。因此,上述方程组并非精确地界定。然而,如果假定所述3-D模型的所有变量均连续,则可将带宽比率(Bi/B)视为在(C、V)对的邻域内不变。带宽比率βi界定于方程式3中。
βi=Bi/B(方程式3)
然后,可如在方程式4中所表达来界定位分配问题。
在上面的方程式4中,δ指示“邻域”。
编码复杂度会受人类视觉灵敏度影响-就空间及时间两方面而言。Girod的人类视觉模型是一种可用于界定空间复杂度的模型。所述模型考虑了局部空间频率及环境照明。所得量度称为Dcsat。在所述过程中的预处理点处,并不知晓图片是否将受到内编码还是间编码并产生二者的带宽比率。对于内编码图片而言,带宽比率表达为方程式5。
βINTRA=β0INTRAlog10(1+αINTRAY2Dcsal)(方程式5)
在上面的方程式中,Y是MB的平均亮度分量,αINTRA是亮度平方及其后的Dcsat项的加权因数,βOINTRA是正规化因数以保证
为理解所述关系,应注意,是与编码复杂度成对数关系来分配带宽。亮度平方项反映了如下事实:具有更大量值的系数使用更多的位来编码。为防止对数变为负值,给括号中的项加上1。也可使用具有其它底数的对数。
间编码图片的位分配需要考虑空间以及时间复杂度。这表达于以下方程式6中。
βINTER=βOINTERlog10(1+αINTER·SSD·Dcsatexp(-γ‖MVP+MVN‖2))(方程式6)
在方程式6中,MVP及MVN是当前MB的前向及后向运动向量。可注意到,INTRA公式中的Y2被SSD(其代表平方差的和)取代。
为理解‖MVP+MVN‖2在方程式6中的作用,应注意,人视觉系统的以下特征:经受平滑可预测运动(小的‖MVP+MVN‖2)的区可吸引注意力且可由眼睛跟踪而通常无法容忍大于静态区域的失真。然而,经受快速或不可预测的运动(大的‖MVP+MVN‖2)的区却无法跟踪并可容忍显著的量化。实验表明,αINTER=1、γ=0.001会获得良好的视觉质量。
可在为每一帧计算βINTRA及βINTER后实施帧类型决定。如果βINTER/βINTRA≥T,或者如果检测到景物改变,则将帧编码成I帧;否则,则将其编码成P帧或B帧。连续B帧的数量是内容自适应性的。
GOP等级速率控制(RC)及帧等级RC
不同的图片类型具有不同的编码效率及不同的出错健壮性。编码器及解码器各自维持缓冲器。虚拟缓冲器大小确定可容忍多大的突发性。例如,如果虚拟缓冲器大小设定成平均为八秒的多媒体数据的大小,则速率控制(RC)算法会在八秒的时帧内维持平均位速率。瞬时位速率可能远高于或低于所述平均位速率,但在任一为八秒的数据中,位速率的平均值应保持紧密接近目标位速率。
编码器缓冲器及解码器缓冲器的缓冲器满度互为对偶。解码器缓冲器的溢出事件对应于编码器缓冲器的下溢事件。解码器缓冲器的下溢事件则对应于解码器缓冲器的溢出事件。
I帧QP指配
在位流开始时,如方程式7所图解说明,根据平均的每像素位数(bpp)值为第一I帧计算量化参数(QP)。
所述方程式是取自联合视频组(JVT)规范。在以上方程式中,W及H分别是图片的宽度及高度。
编码器记录先前所编码的P图片的QP。通过方程式8获得平滑的P图片QP。
QP′I=(1-α)×QP′I+α×QPP(方程式8)
在上面的方程式中,α是指数加权因数且QPP是最近所编码P帧的QP。可使用方程式9来计算GOP中第一I帧的QP。
QPI=QP′I+ΔQP(方程式9)
P帧QP指配
C如方程式10所表示,在图片群组(GOP)开始时将帧大小的下界初始化。
方程式10是取自JVT,其中B(ni,0)是在对第(i-1)个GOP进行编码后的缓冲器占用度,且B(n0,0)=0以使缓冲器在开始时为空的,且u(ni,j)是可用信道带宽,而F是预界定的帧速率。
I帧的编码可占用许多个位。如方程式11所表示,在图片群组(GOP)开始时将帧大小的上界初始化。
U(ni,0)=(bI-B(ni,0))×ω(方程式11)
上面的方程式11取自JVT,其中bI是初始I帧上所耗用的最大数量的位,ω是对缓冲器的溢流保护因数。
在对每一帧进行编码后,可按方程式12及13所表达来更新下界及上界。
(方程式13)
方程式12及13是取自JVT,其中b(ni,j)是由第i个GOP中的第j个帧所产生的位数量。
可按方程式14所表达来计算其余预见的总位。
在方程式14中,NRemainingLookAhead是其余预见帧的数量,βRemainingLookAhend是其余预见帧的对应带宽量度,且βProjectedBWSmoothingWin是所投影带宽平滑窗口的带宽量度。可以看出,腾空所述缓冲器的任务分布于所述带宽平滑窗口中,所述带宽平滑窗口的大小可由用户加以规定。例如,为使每一八秒视频维持平均位速率W,应将带宽平滑窗口设定为8倍帧速率(帧/秒)。
P帧的投影大小表达于方程式15中。
在上面的方程式中,β(ni,j )是第i个GOP中第j个帧的带宽量度,且其可通过带宽量度(B)获得。
为防止缓冲器占用度的下溢及溢流,对R(ni,j)应用方程式16及17的剪辑函数。
R(ni,j)=max{L(ni,j),f(ni,j)}(方程式16)
R(ni,j)=min{U(ni,j),f(ni,j)}(方程式17)
方程式16及17是取自JVT。可应用JVT中所述的二次方程式建模来计算Qstep及QP,其中S是从运动估计所获得的SAD值。可使用线性回归逐帧地更新所述二次方程式模型中的参数。
从上文论述可见,INTER帧RC类似于JVT建议,具有以下改进的特征;大的虚拟缓冲器允许充足的位速率变化及准恒定质量;根据帧复杂度映射分配帧大小;使用预见帧(超帧)来利用反因果统计数据。
B帧QP指配
这部分可与JVT建议相同。如果在I帧对或P帧对之间仅存在一个B帧,则可使用方程式18。
上面的方程式18是取自JVT,其中QP1及QP2是所述I帧对或P帧对的量化参数。
如果I帧对或P帧对之间的B帧的数量是L(L>1),则可使用方程式19。
以上方程式是取自JVT,其中是第一个B帧的量化参数与QP1之间的差并由方程式20a求出。
α=min{-3,max{2,2×L+QP2-QP1}] (方程式20a)
超帧等级速率控制(RC)
使用超帧等级速率控制以使超帧的大小不会超过最大规定值。在一个方面,如果实施多遍编码,则在第一遍中不实施超帧等级RC。
在对整个超帧进行编码之后,编码器验证所述超帧的大小是否低于限值。如果不低于所述限值,则可如方程式20b所描述按比例缩小当前超帧中各帧的带宽映射。在方程式20b中,P是介于0与1之间的保护因数。
(方程式20b)
基本单元等级速率控制(RC)
基本单元可是一个或一个以上宏块。
INTRA基本单元QP调整
方程式21中所表达的关系可用于Intra基本单元QP调整。
在方程式21中,A是通过实验确定的非负参数,且是视频对象邻域的平均带宽比率。值A=0.08会产生良好的视觉质量。QP的改变进一步受到规定限值的约束以防止骤然变化。
INTER基本单元QP调整
INTER基本单元QP是根据如方程式22所示取自JVT的二次方程式模型来指配。
自适应性基本单元大小
基本单元的大小确定可对QP实施调整的频度。然而,过多的QP调整会增大开销。自适应性基本单元大小确定会将具有类似QP的宏块(MB)划归于一起并为其指配单个QP。
图10图解说明一种用于对多媒体数据进行编码的方法的实例。所示方法包含:对对应于所选数据窗口的第一多媒体数据进行编码1010;及对不同于第一多媒体数据的第二多媒体数据进行编码1020,在将所述第一多媒体数据重新编码时,所述第二多媒体数据对应于所述选择的数据窗口。
图11图解说明一种用于对多媒体数据进行编码的设备的实例。所示设备包含:编码装置1110,其用于对对应于所选数据窗口的第一多媒体数据及不同于所述第一多媒体数据的第二多媒体数据进行编码,所述第二多媒体数据对应于所述选择的数据窗口;及重新编码装置1120,其用于在编码装置1110对所述第二多媒体数据进行编码时将所述第一多媒体数据重新编码。
所属领域的技术人员应了解,可使用各种不同技术及技法的任一种来表示信息及信号。例如,整个上述说明中可能提及的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或粒子、光场或粒子、或其任一组合来表示。
所属领域的技术人员应进一步了解,结合本文所揭示实例描述的各种例示性逻辑块、模块、及算法步骤可构建为电子硬件、固件、计算机软件、中间件、微代码、或其组合。为清晰地图解说明硬件与软件的互换性,上文通常是基于功能性来描述各种例示性组件、块、模块、电路、及步骤。此种功能性作为硬件还是软件来实施取决于特定应用及施加于整个系统的设计制约条件。所属领域的技术人员可针对每一特定应用以不同的方式构建所述功能性,但此种实施方案决定决不应视为背离所揭示方法的范围。
结合本文所揭示实施例描述的各种例示性逻辑块、模块及电路均可由下列装置构建或实施:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑电路、离散硬件组件、或其设计用于实施本文所述诸功能的任一组合。可在未显示的处理器中实施所述系统的某些部分或全部。通用处理器可为微处理器,但另一选择为,处理器也可为任何常规处理器、控制器、微控制器或状态机。处理器也可构建为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任一其它此类配置。
结合本文所揭示实施例描述的方法或算法的步骤可直接包含于硬件中、包含于由处理器执行的软件模块中、或包含于二者的组合中。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装卸磁盘、CD-ROM、或现有技术中已知的任其它形式的存储媒体内。实例性存储媒体耦合到所述处理器,以使所述处理器可从所述存储媒体读取信息及向所述存储媒体写入信息。另一选择为,所述存储媒体可为处理机的组成部分。所述处理机及存储媒体可驻存于ASIC中。所述ASIC则可驻存于用户终端机中。另一选择为,所述处理器及存储媒体可作为离散组件驻存于用户终端机中。
提供上文对所揭示实施例的说明旨在使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将易知所述实施例的各种修改形式,且本文所界定的一般原理也可应用于其它实例并也可增加额外的元件。因此,本文并非意欲将本发明限定于本文所示实施例,而是赋予其与本文所揭示原理及新颖特征相一致的最宽广范围。
机译: 具有前瞻性的准恒定质量速率控制
机译: 具有前瞻性的准恒定质量速率控制
机译: 前瞻性的速率控制准恒定质量