复杂性确定装置的制作方法

文档序号:6408550阅读:212来源:国知局
专利名称:复杂性确定装置的制作方法
技术领域
本发明涉及一种用于确定数据信号的复杂性的装置;尤其涉及在利用恒定位率编码器的数据处理器系统中的复杂性确定装置。
对数据信号的复杂性有所指示,有时是很有用的。例如,有人曾提议对多个编码视频信号进行多路处理,其中每个信号都采用恒定位率(CBR)编码器进行编码。根据被编码的视频信号的编码复杂性,和所有进行多路处理的视频信号的组合复杂性,分配给每个CBR编码器的位率被动态地改变。在这种系统中,与具有相对较低编码复杂性的视频信号相比,具有相对较高编码复杂性的视频信号被分配较高的位率。
一种公知的测定数据信号的复杂性的方法,是测定采用可变位率(VBR)编码器对该信号进行编码时需要的位数,位数越多,表示复杂性越高,反之,位数越少,表示复杂性越低。然而,VBR编码器是一个复杂的电子系统,对要进行多路处理的每个信号,为确定该信号的复杂性而增加一个VBR编码器是很昂贵的,而且由于增加了复杂的电路,还会导致可靠性降低。最好是能够提供对输入数据信号的复杂性的指示而又不增加成本和降低复杂电子系统的可靠性。
本发明人已经认识到,CBR编码器通过改变被编码信号的量化步长而保持恒定位率。一般情况下,较复杂的信号比不太复杂的信号需要更多的位来进行编码。然而,在CBR编码器中,越复杂的信号用越大的量化步长(或越少的量化级)进行编码,而复杂性小的信号用较小的量化步长(或较多的量化级)进行编码。越少的量化级需要越少的位编码,这补偿了对较高复杂性的信号编码可能需要增加的位数并允许信号以所分配的恒定位率编码。
本发明人还进一步认识到,量化步长与所得到的编码信号中的位数的关系是近似逆线性的,即量化步长增加一倍位计数减小一半。如果将具有给定复杂性的数据信号提供给CBR编码器以第一预定位率进行编码,该CBR编码器将计算并应用适当的量化步长以产生该第一位率的编码信号。如果对同一信号以两倍于第一预定位率的第二预定位率进行编码,CBR编码器计算的量化步长将是为第一预定位率所确定的量化步长的一半。因此,量化步长与将该信号编码所得到的位数之积对于给定复杂性的信号而言是恒定的。
如果将具有比上述数据信号更高复杂性的第二数据信号提供给CBR编码器,以便以上述第一预定位率进行编码,则所计算的量化步长将大于上述数据信号的量化步长从而保持第一预定位率。因此,量化步长与所得位数之积将大于上述复杂性较小的数据信号。然而,对于该第二数据信号而言,不管所分配的位率是多少,该乘积将是恒定的。因此,本发明人已认识到,量化步长与编码信号中所得位数之积随着数据信号的复杂性而变,而与分配给CBR用于对该信号编码的位率无关。
本发明的目的是提供一种用于确定数据信号的复杂性度量值的装置,它包括一个编码器,该编码器具有响应数据输入信号的输入端和产生代表恒定位率的数据输入信号的编码输出信号的数据输出端;该编码器包括一个可变量化器,响应数据输入信号产生一个代表数据输入信号的量化信号,该量化信号具有根据量化步长控制信号设定的量化步长。一个位率调节器响应编码输出信号的位率和定额输入信号产生量化步长控制信号。一个复杂性分析器产生与量化步长和编码输出信号的位率有关的复杂性表示信号。
按照本发明的装置除了已存在的CBR编码器之外无需复杂电路即可提供对数据输入信号的复杂性的度量。而所需信息信号、量化步长和所得位率已存在于CBR编码器中。需要做的只是分出这些信号并进行简单的计算。此外,该复杂性度量值与CBR编码器的要求位率无关。


图1是按照本发明的包括复杂性确定装置的多路复用系统的方框图;图2是可以用在图1所示多路复用系统中的通道处理器的方框图;图3是可以用在图2所示通道处理器中的MPEG编码器部分的方框图;图4是可以用在图1所示多路复用系统中的位率分配器的方框图;图5是可以用在图2所示通道处理器中的复杂性分析器的更详细的方框图;以及图6、7和8是表示对复杂性信息的抽样的时序图。
图1是结合本发明的多路复用系统的方框图。在图1中,所有的信号路径都表示为单信号线。但是,本领域技术人员将会明白所表示的信号路径能传送多位数字信号,或并行传送,在这种情况下信号路径可由多个信号线组成,或串行传送,在这种情况下信号路径可以是单信号线和/或包括一条数据和时钟信号线。为简化起见已从该图中删除了与理解本发明无关的其它控制和时钟信号路径。
在图1中,多个输入端5耦合到将在一数据链路上一起传输的视频信号(通道1-通道K)源(未示出)。该多个输入端5连接到对应的多个通道处理器10的相应数据输入端。多个通道处理器10的各数据输出端连接到多路复用器(MUX)20对应数据输入端1-K。多路复用器20的数据输出端连接到多路复用系统的输出端15。输出端15连接到用于在传输链路上传输多路复用的数据流(多路复用的数据)的应用电路(未示出)。
多个通道处理器10中的每一个还包括一个复杂性输出端和一个控制输入端。多个通道处理器中每个的相应复杂性输出端连接到位率分配器30的对应复杂性输入端,位率分配器30的相应定额输出端连接到多个通道处理器10的对应控制输入端。
工作时,每个通道处理器在其控制输入端接收代表下一定额周期分配给它的位率的信号。然后该通道处理器将在其数据输入端的下一定额周期的信号以分配的位率编码为数字编码信号。编码的数据信号提供给多路复用器20的对应输入端。多路复用器20以已知的方式操作,以将来自所有通道处理器的信号组合为多路复用的数据流。然后仍以已知方式将多路复用的数据流提供给包含用于传输的数据链路的电路。
在编码过程中,通道处理器10在其复杂性输出端产生表示被编码信号的编码复杂性的信号。位率分配器30接收来自通道处理器10的复杂性输出端的信号,并根据所有复杂性信号在多个通道处理器10中动态地调节下一定额周期的位率定额。在优选实施例中,对较复杂的信号比不太复杂的信号动态分配相对更高的位率。下面描述确定视频信号复杂性和根据该复杂性分配位率的不同方法。
图2是可用在图1所示多路复用系统中的通道处理器的方框图。在图2中,与图1中部件类似的部件用相同的标号表示,并在下文中不作详细的描述。在图2中数据输入端5连接到视频信号源(未示出)。数据输入端5连接到恒定位率编码器(CBR)14的数据输入端和复杂性分析器16。CBR编码器14的数据输出端连接到多路复用器(MUX)20(图1)的输入端。通道处理器10的控制输入端(控制)连接到CBR编码器10的定额输入端Q。复杂性分析器16的输出端连接到通道处理器10的复杂性输出端(复杂性)。
工作时,复杂性分析器16分析数据输入端5的视频信号的复杂性。在复杂性分析器16的输出端产生代表输入信号复杂性的信号。该复杂性代表信号被提供给位率分配器30(图1)。响应这一复杂性信号(以及其它通道处理器10的那些信号),位率分配器30提供代表分配给该通道处理器10的位率的信号给该通道处理器10(和其它通道处理器10)的控制输入端(控制)。CBR编码器14在其数据输入端和产生以恒定位率编码的输出信号的数据输出端之间提供数据路径。根据来自位率分配器30从通道处理器10的控制输入端(控制)输入到定额输入端Q的信号来设定恒定位率。
有可能复杂性分析器16在进行其分析时也能应用CBR编码器14中的电路。在这种情况下,如图2中虚线所示,数据从CBR编码器14内直接提供给复杂性分析器16。来自CBR编码器14的这种数据可补充来自输入端5的数据,或完全替代它,在这种情况下复杂性分析器与数据输入端5不直接连接。
在优选实施例中,每个CBR编码器14是按照活动图像专家组(MPEG)公布的标准对视频信号压缩和编码的编码器,称之为MPEG编码器。图3是表示一MPEG编码器14的一部分的方框图。以下对MPEG编码器14的已知组件将不作详细描述。对MPEG编码器包括的与理解本发明无关的其它部件,为简化起见在该图中删去了它们。
在图3中,MPEG编码器14的数据输入端5(数据输入)连接到待压缩和编码的视频信号源(未示出)。输入端5连接到帧缓冲器41的输入端。帧缓冲器41包括多个帧周期缓冲器或延迟线以及多个输出端,该输出端产生表示不同但暂时相邻的帧或图像的部分的各个信号。帧缓冲器41的多个输出端连接到运动估值器42的对应输入端。运动估值器的输出端连接到离散余弦变换(DCT)电路43。DCT电路43的输出端连接到可变量化器(Qu)电路46的数据输入端。可变量化器电路46的输出端连接到可变长度编码器(VLC)47的输入端。VLC47的输出端连接到输出缓冲器48的输入端。输出缓冲器48的数据输出端连接到MPEG编码器14的数据输出端(数据输出)。MPEG编码器14的数据输出端(数据输出)连接到多路复用器20(图1)的对应输入端。
输出缓冲器48的状态输出端连接到位率调节器49的状态输入端。位率调节器49的控制输出端连接到可变量化器46的控制输入端。MPEG编码器14的定额输入端Q连接到位率分配器30的对应定额输出端。MPEG编码器14的定额输入端Q连接到调节器49的控制输入端。
在工作时,MPEG编码器14以已知方式操作,以便对其输入端的下一定额周期的视频信号以其Q输入端的信号所确定的位率进行压缩和编码。在下列实例中,描述对划分为由12个图像或帧组成的组(GOP)的视频信号进行编码的MPEG编码器。然而,应理解GOP中的图像或帧的数量可能改变。另外,在下列实例中,假定每一MPEG编码器的位率分配为每GOP更新一次,即定额周期是GOP周期。但是,还应理解定额周期也可能是不同的,其甚至可随时间变化。
帧缓冲器41以下文描述的方式接收并存储表示需进行运动估值的正被进行编码的示范GOP中12帧部分的数据。该数据提供给运动估值器42。在优选实施例中,12个图像或帧中的第一个用作为基准帧(I帧),并经过运动估值器到DCT电路43。对于剩余的帧来说,相对在MPEG标准文献中称为宏块的每一图像或帧中的多个16像素乘以16行的块中的每一块在运动估值器42中产生运动矢量,它们或单独来自先前帧(P帧),或者自先前帧和后续帧(B帧)这两者内插。如上所述,帧缓冲器41保存运动估值器所需的数据,以实现自先前帧或自先前帧和后续帧内插的估值。然后所产生的具体帧的运动矢量与正被估值的帧中的实际数据进行比较,产生运动差值信号,并提供给DCT电路43。
在DCT电路43中,按照MPEG标准文献,来自I帧的空间数据的16像素乘16行宏块和来自P帧和B帧的运动差值信号被划分为六个8像素乘8行的块(四个亮度块,及两个二次抽样的色度块),在该应用的剩余部分称为宏块。对每一宏块执行离散余弦变换。所得到的8乘8块DCT系数随后提供给可变量化器46。8乘8块系数被量化、以之字形次序扫描并提供到VLC47。量化后的DCT系数和代表GOP的其它辅助信息(与编码GOP的参数有关)在VLC47中利用行程编码方法进行编码,并提供到输出缓冲器48。
已知控制VLC47输出位率并由此保持MPEG编码器14的所分配恒定位率的最直接方式是控制可变量化器46中用于量化每个DCT系数块的量化级数(或换句话说,量化步长)。从位率调节器49提供给可变量化器46的控制信号执行该控制功能。在一个为来自位率分配器30(图1)的顺序位率定额更新信号之间的周期的定额周期内,位率调节器49以已知的方式将控制信号提供给可变量化器46,其将改变GOP中每16乘16宏块被进行量化的量化级数,以便保持该定额周期的所分配位率。以下面所描述的方式,根据多个通道中每通道的视频信号的编码复杂性值,本实例中位率调节器49的位率分配在每一GOP周期发生变化。
在优选实施例中,位率分配器30(图1)是具有连接到多个通道处理器10中各种电路部件的连接件的计算机系统。图4是构成位率分配器30的硬件框图。在图4中,微处理器(μP)31通过计算机系统总线35连接到读/写存储器(RAM)32,只读存储器(ROM)33及输入/输出(I/O)控制器34。还有其它的计算机系统部件,比如大容量存储器件以及用户终端,为了简化未在图中示出。I/O控制器34具有多个连接到多个通道处理器10(图1)的对应复杂性输出端的输入端(复杂性)和连接到多个通道处理器10的对应定额输入端的多个输出端(定额)。
微处理器31、RAM32、ROM33和I/O控制器34以已知方式作为计算机系统工作,执行存储在ROM33中的程序,存储并检索RAM32中的数据,以及从附接于I/O控制器34的装置接收数据和传输数据到这些装置。表示多个通道处理器10(图1)中正进行编码的视频信号的当前编码复杂性的数据是以下文描述的方式经“复杂性”输入端在I/O控制器34从这些通道处理器的对应输出端接收的。微处理器31以已知方式例如轮询、中断等通知收到该数据。微处理器31经计算机总线35从I/O控制器34检索这些信号,确定每编码器的下一定额周期的位定额,并在下一定额周期将表示这些定额的信号经“定额”输出端提供给多个通道处理器10。
对于GOP的每个图像或帧中的所有宏块来说,用于确定用MPEG编码器14(图3)进行编码的视频信号的编码复杂性的最佳方法是利用每16乘16宏块的量化标度因子(标明为QMB)和用于编码该宏块的位数(标明为TMB)。图5是MPEG编码器14(图3)的位率调节器49和产生按照该方法的编码复杂性代表信号的复杂性分析器16(图2)的方框图。为简化该图,图5中已删除了各种时钟和控制信号。然而,需要的那些信号及它们的所需时序和电压特性是易理解的。
图5所示的复杂性分析器16是如图2中虚线所示仅利用来自CBR编码器14的信息的复杂性分析器的一个例子。在图5中,位率调节器49具有连接到输出缓冲器48(图3)的状态输出端的状态输入端TMB。位率调节器49的控制输出端QMB连接到可变量化器46(图3)的控制输入端。调节器49还具有连接到位率分配器30(图1)的对应定额输出端的控制输入端(Q)。
位率调节器49的状态输入端TMB还连接到第一加法器92的第一输入端。第一加法器92的输出端连接到第一锁存器93的输入端。第一锁存器93的输出端连接到乘法器94的第一输入端和第一加法器92的第二输入端。乘法器94的输出端连接到第二锁存器95的输入端。第二锁存器95的输出端连接到编码复杂性输出端Xpic。复杂性输出端Xpic连接到位率分配器30(图1)的对应复杂性输入端。
位率调节器49的控制输出端QMB还耦合到第二加法器96的第一输入端。第二加法器96的输出端耦合到第三锁存器97的输入端。第三锁存器97的输出端耦合到除法器98的分子输入端N和第二加法器96的第二输入端。除法器98的输出端耦合到乘法器94的第二输入端。寄存器99具有耦合到除法器98分母输入端D的输出端。
工作时,对于每个宏块来说,位率调节器49根据当前位率定额和用于对先前图像编码的位数,以已知的方式产生可变量化器46的量化标度因子信号QMB,然后从输出缓冲器48接收表示用于对该宏块编码的位数TMB的信号。可变量化器46(图3)按照量化标度因子QMB量化每一宏块中的DCT系数。量化标度因子QMB代表量化步长,或每一量化级中DCT系数的整个动态范围的百分比。大值的QMB表示存在较大的量化步长,因此,量化级较少。反之,小值的QMB表示存在较小的量化步长,因此,量化级较多。在优选实施例中,QMB是一个五位的整数(具有1到31之间的数值)。
在一个完整的图像或帧中所有宏块的平均量化标度因子(标明为Qpic)计算如下。在每一帧或图像的开始,响应一清零信号(未示出)将锁存器93和97清为零。第二加法器96与第三锁存器97的组合作为一累加器工作以便顺序地将来自位率调节器49的宏块量化标度因子QMB求和。同时,第一加法器92与第一锁存器93的组合作为累加器工作以顺序地对至此用于对图像或帧编码的位数求和。
在已处理完帧或图像中的所有宏块(表明为NMB的数量)后,锁存器97包含位率调节器49产生的所有宏块量化标度因子QMB之和,锁存器93包含用于对图像或帧编码的所有位Tpic之和。除法器98产生图像或帧中所有宏块量化标度因子QMB之和被图像或帧中宏块数NMB除的商。该商是该帧或图像中的平均量化标度因子Qpic。乘法器94产生Qpic和Tpic之积,其为该图像的编码复杂性(表明为Xpic),即Xpic=Tpic×Qpic。在图像或帧结束时,响应时钟信号(未示出)将编码复杂性信号Xpic锁存到第二锁存器95中。然后对于正进行编码的视频信号中的每一图像或帧重复上述循环。
然后将编码复杂性Xpic从锁存器95提供到位率分配器30(图4)的I/O控制器34的复杂性输入端,进行剩余处理,以获得GOP的编码复杂性。GOP的编码复杂性(表明为XGOP)是该GOP中所有图像的Xpic的和。(见方程(1))。 μp31用作从I/O控制器34检索每一Xpic值并在GOP中所有帧或图像上对它们求和的累加器。
GOP中帧或图像的数量(表明为N)总的保持恒定。当N为常数时,可在移动窗的基础上计算XGOP,加上最后图像的编码复杂性值Xpic,而减去GOP中最早图像的编码复杂性。在这种情况下,在每一帧或图像之后可得到更新的XGOP值。但是,N能够改变。若N改变,则对应新定义的GOP的XGOP必须通过对来自新定义GOP中以前图像的新数量的编码复杂性值Xpic求和而加以计算,如方程(1)。
如上所述,不同通道以不同的帧或图像速率操作是有可能的,例如,标准视频帧速率(在美国)是每秒29.97帧,对于电影图像它是每秒24帧,而对于卡通它是每秒15帧。还有一种可能是不同通道具有GOP中不同数量的图像或帧。因此,有可能不同通道具有不同的GOP时间周期。为了在这种条件下精确地分配位给通道,通过将每通道来自方程(1)的GOP复杂性值除以该通道的GOP时间周期(标明为GOP时间),在这种情况下多个通道的GOP编码复杂性值在位率分配器30中被时间归一化。(见方程(2))。然后归一化的GOPXnormGOP=XGOPGOPtime---(2)]]>编码复杂性值(标明为XnormGOP)用来在不同通道中分配位(比特)。下面将更详细地讨论这种系统的复杂性值的抽样时序和定额值的产生。
返回参见图5,如上所述,对于每一宏块,位率调节器49产生可变量化器46的量化标度因子信号QMB,然后从输出缓冲器48接收表示用于对该宏块编码的位数TMB的信号。这些信号也可直接提供给位率分配器30(图4)中的I/O控制器34。然后μP31可内部计算合适的编码复杂性量值(从方程(1)或方程(1)和(2))。
而且,为了简化传输,可对每个图像Xpic的编码复杂性值进行变比计算。在优选实施例中,在乘法器94后该值被变为八位数。然后将该变比后的值传送至位率分配器30(图4)。由于其它原因,比如允许在N改变的情况下再计算编码复杂性值,还有可能希望该计算机系统将一个文件的图像复杂性值Xpic保存在例如一个大容量存储器(未示出)中。存储一小时的8位Xpic值对于标准视频将占用108千字节(kB),对于影片来说占用86kB。
在下面的讨论中,Xi代表当前可获得的来自第i通道处理器的XGOP(如果所有通道具有同样的GOP时间周期)或XnormGOP中合适的一个。位率分配器30(图1)根据来自形成多个通道处理器10的所有K个通道处理器的编码复杂性值Xi产生代表下一定额周期的传输链路中可得到位的分配的相应定额(Q)信号。来自多路复用器20(图1)输出端的预定传输链路位率(标明为R)在多个通道处理器10中分配,因此第i个通道处理器接收表明为Ri的位率分配。
用于分配传输链路中的位率给不同通道的一种方法是,根据所有通道处理器10(图1)的先前GOP周期的当前可获得的编码复杂性Xi(在移动窗基础上,如上所述)的线性分配。在该方法中,每个处理器i接收总位率容量R的相同比例Ri作为该编码器Xi的编码复杂性以给出所有编码器的总编码复杂性。(见方程(3))。然而,已经发现存在下限位率分配,在该位率分配以下再Ri=XiΣj=1KXjR---(3)]]>现图像的质量突然下降。此外,在所示实施例中,下一定额周期的位率分配取决于来自先前GOP的复杂性测量。这样,如果存在从简单图像到复杂图像的情景变化,因为新情景的分配是基于先前的、简单的情景,分配用于对新的、复杂的情景编码的位可能是不够的。
用于分配传输链路中的位率给不同通道的另一方法保证对每一编码器i的最小位率分配RGi,并如方程(3)线性地分配剩余位。(见方程(4))。根据通Ri=RGi+XiΣj=1KXj[R-Σj=1KRGj]---(4)]]>过通道传输的视频的预期总复杂性和/或对视频信号提供者提出的通道价格,每通道可具有不同的保证的最小位率。
用于分配传输链路中的位给不同通道的另一种方法为每编码器i提供加权因子Pi,并按照编码复杂性值Xi用加权因子Pi加权后的值按比例地作位分配。(见方程(5))。如同方程(4)的保证最小分配方法,加权因子Pi可能依赖Ri=PiXiΣj=1kPjXjR---(5)]]>于通过通道传输的视频信号的预期总复杂性和/或对视频信号提供者提出的通道价格。
在传输链路中分配位给不同通道的优选方法是方程(5)的加权分配方法与方程(4)的保证的最小分配方法的结合。在这种方法中,保证对每通道的最小分配,并在加权比例的基础上分配剩余的位。(见方程(6))。如上所述,保Ri=RGi+PiXiΣj=1KPjXj[R-Σj=1KRGj]---(6)]]>证的最小分配和加权因子两者可能取决于通过通道传输的视频信号的预期总复杂性和/或对视频信号提供者提出的通道价格。
有可能根据系统的其它参数进一步精选位分配Ri。例如,已发现存在一个上限位率分配值,在该值以上看不到重放质量的改进。因此,超过该上限分配值的位分配是对传输链路中位的浪费。此外,传输链路的操作者可对每通道施行最大位率分配Rmax(其能反应上述上限位率分配值)和/或最小位率分配Rmin。
另外,为了使位率控制波动的可能最小而使位率控制的稳定性最大,在从通道的一个定额周期到下一定额周期的位率分配中可施加增大α和/或减小β的最大增量。如上所述,上限位率分配值的数值、最大和最小位率分配以及增大和减小的最大增量,对于不同通道来说可以是不同的,并可取决于通过该通道传输的视频信号的预期总复杂性和/或对视频信号供应者的通道价格。此外,增大和减小的最大和最小增量有可能按照通道中缓冲器的空或者满的程度动态地变化。
而且,还可进一步精选分配的位率以便提供缓冲器管理,例如确保CBR编码器10(图1)的输出缓冲器和对应接收机解码器(未示出)的输入缓冲器不会上溢或下溢。若如不等式(7)中所示控制编码缓冲器大小E,则不需要明显E≤DRminRmax---(7)]]>的缓冲器管理,其中D是固定的解码缓冲器大小。如果按照不等式(7)选择编码缓冲器大小,位率分配可从Rmin变到Rmax而不会导致编码或解码缓冲器的上溢或下溢。但是,该方法过分限制了编码缓冲器的大小,因此过分限制了速率控制的灵活性。
一种替换的缓冲器管理方案是适用的并利用缓冲器管理的当前、瞬时的位率,而不是固定参数Rmin和Rmax。由于选择解码缓冲器大小能够处理以最大速率Rmax传输的数据,位率分配总是能增大(到系统最大值Rmax),而不会使解码缓冲器溢出。然而,存在必须保持的瞬时最小位率,以确保已在编码缓冲器中的数据在其解码时间之前传输到解码缓冲器。因此,必须动态计算确保解码缓冲器不下溢的最小位率分配。
在动态计算该最小位率分配中,当减小位率分配时,必须考虑新确定的编码缓冲器大小以及在某些前述时间量中已放在编码缓冲器中的数据量。指定为En的第n帧的新确定的编码缓冲器大小按照方程(8)确定,其中Δ是系统En=ΔRnew=RnewRmaxD---(8)]]>延迟时间,是视频帧到达编码器时和该帧显示在解码器上时之间的恒定时间延迟;D是固定的解码缓冲器大小;以及Rnew是新提出的位率分配。该缓冲器大小确保在新位率分配的稳定状态下,在编码和解码缓冲器中将不存在上溢或下溢。
但是,如上所述,如果新提出的位率分配已减小,则存在等于系统延迟时间Δ的转换周期,其中可能已有太多的位在编码缓冲器中以致不能成功地以新的较低速率传输到解码器。用于精选新提出的位率分配的一种建议方法是首先对表明为Г的系统延迟时间Δ中先前帧的数量检查表明为e的实际放入编码缓冲器(缓冲器饱和)的位数。然后将以前Г帧的最大缓冲器饱和数(表明为emax,Г)与由方程(8)得到的新确定的编码缓冲器大小En相比较。然后保证来自以前Г帧的所有位成功地传输到接收机解码器的通道i的最小的已减小位率分配R已减小由方程(9)给出。 如果这种限制施加于多路复用器系统,则在已按照方程(3)、(4)、(5)或(6)计算了位率分配以后,检查这些位率分配以确定他们是否落在该通道的当前上限和下限内。首先,每通道i的上限和下限被确定。任何定额周期k(表示为Ri上限[k])的上限位率分配是下述中最小的以前定额周期k-1上的最大允许已增加分配;和最大位率分配极限。(见方程(10))。任何定额周期k的下限位 率分配Ri下限[k]是下述中最大的最小位率分配极限;以前定额周期k-1上的最小允许减小的分配和由方程(9)得到的最小减少位率分配。(见方程(11))。然后进行通道位率分配的调整。 如果任何通道的所分配位率超过任一限定值,则该通道的位率分配设置为该限定值,并在其它通道中重新分配可得到的剩余位率。例如,若如用方程(3)、(4)、(5)或(6)所计算的,分配给一通道i的位率大于该通道的上限,如方程(10)计算的,则通道i的位率设定为该上限Ri上限[k]。反之如果位率小于方程(11)所计算的下限,则将位率设定为该下限Ri下限[k]。(见方程(12))。 若方程(10)、(11)和(12)的限定操作改变任何位率分配,则按照方程(3)、(4)、(5)或(6)在未限定的通道中重新分配剩余的可获得位率。然后相对方程(10)、(11)和(12)中的极限再次对这些通道进行检查。重复该循环直到结束所有位率分配。在上述实施例中,编码复杂性周期是在一移动窗基础上逐个图像确定的GOP周期,它是通道中的位率分配中从一个定额周期到下一定额周期的变化总的来说应较小的足够时间间隔。因此,方程(10)、(11)和(12)应很少引用。
若通道正以不同的GOP时间周期操作,编码复杂性抽样的时序和基于编码复杂性的更新位率定额的产生是复杂的,存在两种产生精确编码复杂性抽样和该情形下的位率定额分配的方法。在第一种方法中,以这样的方式计算恒定定额周期,即每一通道在每GOP中具有相等数量的定额周期。在该方法中,每GOP中抽样数和定额周期可从通道到通道变化,但是,对于任何通道来说,GOP内这种抽样和定额更新周期的数量是恒定的。在第二种方法中,取一个样本,任何时候任何通道开始一新GOP就产生新分配,并考虑从以前抽样到当前抽样的时间周期的长度计算以新定额分配的位数。
图7是表示利用第一种方法在系统中抽样和定额更新的时序图。为了简化该图,仅示出了两个通道。在图7中,通道1是传输具有每秒30帧的帧速率(在美国)的标准视频的一个通道的实例。通道2是传输具有每秒24帧的帧速率的影片的一个通道的实例。假定每个通道每个GOP具有12帧。这样通道1每0.4秒开始一新GOP,或每秒2.5个GOP,而通道2每0.5秒开始一新的GOP,或每秒2个GOP。所选定的抽样速率是每0.1秒一个样本。因此,在通道1中,在每一个GOP中存在四个样本和定额更新,在通道2中,在每个GOP中存在五个样本和定额更新。用垂直虚线表示抽样时间ts。因为样本之间的时间周期Δt是恒定的(0.1秒),上述方程(3)到方程(12)在计算下一抽样周期的位率分配时可以不作任何更改地加以利用。这些位率分配可按照称之为“标记和漏斗(token and leaky bucket)”的已知方案进行累加并用在通道处理器10(图1)中。
图8是表示利用上述第二种方法的系统中的编码复杂性数值抽样和定额更新的时序图。图8中所示的各通道与图7传播相同的信号。在图8中,无论何时任一通道开始一新的GOP时,获取来自所有通道的当前编码复杂性值的样本。根据这些样本值和自最后一样本开始的时间周期Δt产生新分配。这些抽样时刻在图8中表示为垂直虚线t1-t8,其中t2,t3,t4,t6,和t8对应于通道1中GOP的开始,而t1,t3,t5,和t7对应于通道2中GOP的开始。虽然t3表示相应于通道1以及通道2中GOP的开始的抽样时刻,不存在这一时刻出现的要求。
在每一抽样时刻,对所有通道中的当前编码复杂性值(来自以前GOP,可在移动窗基础上逐个图像地获得)进行抽样。方程(3)至方程(12)可用于计算下一位率定额比例,但在确定可用于进行分配的实际位数时,自最后一个样本开始的时间量Δt必须加以考虑。为了适当地补偿不同样本周期,在方程(3)至(12)中总的可获得的位率R以可用于分配的位数(指定为C)来替代,它是总可获取位率R与样本周期Δt的积,即C=RΔt。然后将方程(3)至方程(12)计算的位数分配给各个通道处理器10(图1),其如上所述利用“标记和漏斗”方案累加和使用所分配的位。当来自不同通道5的视频信号具有不同的GOP时间周期时,上述两种方法中的任一种将精确地分配位率给各个通道处理器10。
如果所有通道以相同的帧速率工作,并在一个GOP中具有相同的帧数,即所有通道具有相同的GOP时间周期GOP时间则可简化编码复杂性值的抽样时序和不同通道更新位率定额的产生。图6是表示这种系统中编码复杂性样本和定额更新时序的时序图。在图6中,每一水平线对应于相应通道1-K。从水平线向上延伸的短垂直线代表从该通道开始I帧的编码的时刻,其被认为是该通道的GOP的开始。GOP的时间周期GOP时间在所有通道中是相等的,但如可以看出的,各个通道的GOP的开始时间是不同的。事实上,业已发现各个通道的GOP最好具有不同的起始时间,这样I帧的编码不会重叠。这增加了经过不同通道的复杂性变化。
已发现只要在计算编码复杂性值时考虑相同数目的I帧、P帧、和B帧,这些帧来自不同的GOP是无关紧要的。因此,如用经过所有通道时间轴延伸的实线所示,可在GOP内的任何时间从所有通道同时地获取编码复杂性值的样本。然后可从该样本产生所有通道的位率定额的更新并传输返回通道处理器10(图1)。
已按照一并置系统描述了上述多路复用系统。但是。多个通道处理器10可放置在离位率分配器30和多路复用器20的较远的位置。在这样一种系统中,要在编码器和位率分配器之间建立通信链路。在这种情况下,在处理器10和多路复用器之间传输的某些位部分可专用于处理器的复杂性信息的传输。
权利要求
1.复杂性确定装置,包括一个编码器(14),具有响应数据输入信号(数据输入)的一个输入端(5),和一个以恒定位率产生代表数据输入信号(数据输入)的编码输出信号(数据输出)的数据输出端,并包括一个可变量化器(46),响应数据输入信号(数据输入)产生代表数据输入信号(数据输入)的量化信号,该量化信号具有根据量化步长控制信号(QMB)设置的量化步长;一个位率调节器(49),用于根据编码输出信号(TMB)的位率和定额输入信号(Q)产生量化步长控制信号(QMB);以及一个复杂性分析器(16),响应量化步长控制信号(QMB)和编码输出信号(TMB)产生一个复杂性代表信号(Xpic),它与量化步长和编码输出信号(TMB)的位率有关。
2.如权利要求1所述的复杂性确定装置,其中复杂性分析器(16)产生正比于量化步长(QMB)的平均值和编码输出信号(TMB)的位率的复杂性表示信号(Xpic)。
3.如权利要求2所述的装置,其中复杂性分析器(16)产生为量化步长(QMB)的平均值和编码输出信号(TMB)的位率之积的复杂性表示信号(Xpic)。
4.如权利要求1所述的装置,其中数据信号(数据输入)是包含顺序图像组的视频信号,每组图像包含预定数量的顺序帧;编码器(14)按照运动图像专家组(MPEG)标准工作,将在视频信号中的每一顺序帧划分为预定数量的宏块,并顺序地将预定数量宏块中的每一块编码为相应位数以产生包含一系列已编码图像的编码输出信号;位率调节器(49)为预定数量宏块中的每一块产生相应的量化步长控制信号;以及复杂性分析器(16)包含耦合到编码器数据输出端(TMB)的第一累加器(92,93),用于对每一编码宏块将编码器数据输出端(TMB)上产生的相应位数求和,以产生编码图像序列中的每一图像的总位数(Tpic);耦合到位率调节器(49)的第二累加器(96,97),用于对顺序图像的每一图像中每一宏块的相应量化步长控制信号(QMB)求和;耦合到第二累加器(96,97)的平均电路(98,99),用于计算在每一顺序图像中预定数量宏块的平均量化步长信号(QMB),以产生编码图像序列中每一图像的平均量化步长信号(Qpic);乘法器(94),耦合到第一累加器(92,93)和平均电路(98,99),用于将总位数(Tpic)乘以平均量化步长信号(Qpic),以产生每一顺序图像的图像复杂性信号(Xpic);以及第三累加器(30),用于对图像组中每一图像的相应图像复杂性信号求和,以产生复杂性表示信号。
全文摘要
所公开的确定数据信号的复杂性测量值的装置包括一个编码器(14),具有响应数据输入信号(数据输入)的一个输入端(5),和一个以恒定位率产生代表数据输入信号(数据输入)的编码输出信号(数据输出)的数据输出端。该编码器(14)包括一个可变量化器(46),响应数据输入信号(数据输入)产生代表数据输入信号(数据输入)的量化信号,该量化信号具有根据量化步长控制信号(Q
文档编号G06K9/46GK1149365SQ94195115
公开日1997年5月7日 申请日期1994年4月22日 优先权日1994年4月22日
发明者麦哈麦特·K·奥兹肯, 里吉斯·S·吉罗恩斯 申请人:汤姆森消费电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1