CN1067203C - 利用恒定位率编码器的多路复用系统 - Google Patents
利用恒定位率编码器的多路复用系统 Download PDFInfo
- Publication number
- CN1067203C CN1067203C CN94195111A CN94195111A CN1067203C CN 1067203 C CN1067203 C CN 1067203C CN 94195111 A CN94195111 A CN 94195111A CN 94195111 A CN94195111 A CN 94195111A CN 1067203 C CN1067203 C CN 1067203C
- Authority
- CN
- China
- Prior art keywords
- bit rate
- signal
- complexity
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
公开了一种多路复用系统,它包括多个数据信号源(5),以及具有多个输入端(1-K)和一个输出端(15)的多路复用器(20)。多个通道处理器(10)中的每一个包含:耦合到数据信号源(5)中相应的一个的一个数据输入端;产生代表数据输入端上数据信号复杂性的信号的一个复杂性输出端;一个控制输入端;及一个耦合到多路复用器(20)的输入端中相应的一个的数据输出端。该数据输出端响应控制输入端上的信号以恒定位率组产生一编码的信号。一个位率分配器(30)具有多对相关的输入和输出端,每一对与通道处理器(10)中相应的一个相关联,每对中的输入端耦合到相关通道处理器(10)的复杂性输出端。每对中的输出端耦合到相关通道处理器(10)的控制输入端并产生位率定额信号,以致在相关通道处理器(10)数据输出端上信号的位率与该对的输入端上信号所代表的复杂性及所有这些对中的输入端上信号所代表的组合复杂性有关。
Description
本发明涉及一种用于在一多路复用的数据流中将位动态分配给相应的已作恒定位率编码的数据通道的多路复用系统。
有时需要在数据传输系统中从若干数据源,或通道,从一个位置向另一位置传输数据。在这种情况下,来自通道的数据通常在前端站被组合,即被多路转换成单一数据流。然后该多路复用的数据流在诸如导线、光导纤维或无线电线路一类的传输线路中被传送到后端站,在此将来自多路复用数据流的数据的通道进行分离,即多路分解,然后提供给预期的接收者。
例如,来自可能是电视网络馈源、电视台、或其它视频信号源的各信号源的若干视频信号可经过一卫星线路传播到用户家中的相应电视接收机。一作为范例的卫星线路包括能够每秒传送24兆位(Mbps)的数字传输路径。为了使这种线路的效率和用途最大,若干个视频信号需要共享该线路。例如,可能希望在至少六个视频信号通道中共享上述卫星传输线路。
用于实现这种通道的传输的一种已知方法是利用可变位率(VBR)编码器对来自通道的相应视频信号编码,然后多路传输所得到的已编码视频信号。一VBR编码器产生具有不同位数的数字编码视频的连续帧,这取决于视频信号所代表的图像的空间和时间上的复杂性。空间上更复杂的情景和/或活动的情景比空间上较少活动的简单情景需要更多的位对它们进行编码。
假定,从统计上讲,来自所有VBR编码器的平均组合位率将小于传输链路的最大位率,即使在任何给定时刻一个单通道编码器可在一供传输的短脉冲串中提供大量的位数。因此,这种装置被称为统计多路复用器。然而,存在一个有限概率,即来自所有通道的瞬时组合位率将超过传输链路的最大位率,这导致后端站数据的丢失。在某些实施例中,为各个通道或者多路复用数据流加上缓冲器。但是,仍存在一种有限概率,即那些缓冲器将溢出,这再次导致后端站数据的丢失。
试图解决VBR编码器的某些问题的另一种执行多路复用功能的已知方法是,每一通道都运用恒定位率(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、RAM 32、ROM 33和I/O控制器34以已知方式作为计算机系统工作,执行存储在ROM 33中的程序,存储并检索RAM 32中的数据,以及从附接于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))。
然后归一化的GOP编码复杂性值(标明为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))。然而,已经发现存在下限位率分配,在该位率分配以下再现图像的质量突然下降。此外,在所示实施例中,下一定额周期的位率分配取决于来自先前GOP的复杂性测量。这样,如果存在从简单图像到复杂图像的情景变化,因为新情景的分配是基于先前的、简单的情景,分配用于对新的、复杂的情景编码的位可能是不够的。
用于分配传输链路中的位率给不同通道的另一方法保证对每一编码器i的最小位率分配RGi,并如方程(3)线性地分配剩余位。(见方程(4))。取决于通过通道传输的视频的预期总复杂性和/或对视频信号提供者提出的通道价格,每通道可具有不同的保证的最小位率。
还有一种用于分配传输链路中的位给不同通道的方法为每编码器i提供加权因子Pi,并按照编码复杂性值Xi用加权因子Pi加权后的值按比例地作位分配。(见方程(5))。如同方程(4)的保证最小分配方法,加权因子Pi可能依赖于通过通道传输的视频信号的预期总复杂性和/或对视频信号提供者提出的通道价格。
在传输链路中分配位给不同通道的优选方法是方程(5)的加权分配方法与方程(4)的保证的最小分配方法的结合。在这种方法中,保证对每通道的最小分配,并在加权比例的基础上分配剩下的位。(见方程(6))。如上所述,保证的最小分配和加权因子两者可能取决于通过通道传输的视频信号的预期总复杂性和/或对视频信号提供者提出的通道价格。
有可能根据系统的其它参数进一步精选位分配R1。例如,已发现存在一个上限位率分配值,在该值以上看不到重放图像质量的改进。因此,超过该上限分配值的位分配是对传输链路中位的浪费。此外,传输链路的操作者可对每通道施行最大位率分配Rmax(其能反应上述上限位率分配值)和/或最小位率分配Rmin。
另外,为了使位率控制波动的可能最小而使位率控制的稳定性最大,在从通道的一个定额周期到下一定额周期的位率分配中可施加增大α和或减小β的最大增量。如上所述,上限位率分配值的数值、最大和最小位率分配以及增大和减小的最大增量,对于不同通道来说可以是不同的,并可取决于通过该通道传输的视频信号的预期总复杂性和/或对视频信号提供者的通道价格。此外,增大和减小的最大和最小增量有可能按照通道中缓冲器的空或者满的程度动态地变化。
而且,还可进一步精选分配的位率以便提供缓冲器管理,例如确保CBR编码器10(图1)的输出缓冲器和对应接收机解码器(未示出)的输入缓冲器不会上溢或下溢。若如不等式(7)中所示控制编码缓冲器大小E,则不需要明显的缓冲器管理,其中D是固定的解码缓冲器大小。如果按照不等式(7)选择编码缓冲器大小,位率分配可从Rmin变到Rmax而不会导致编码或解码缓冲器的上溢或下溢。但是,该方法过分限制了编码缓冲器的大小,因此过分限制了速率控制的灵活性。
一种替换的缓冲器管理方案是适用的并利用缓冲器管理的当前、瞬时的位率,而不是固定参数Rmin和Rmax。由于选择解码缓冲器大小能够处理以最大速率Rmax传输的数据,位率分配总是能增大(到系统最大值Rmax),而不会使解码缓冲器溢出。然而,存在必须保持的瞬时最小位率,以确保已在编码缓冲器中的数据在其解码时间之前传输到解码缓冲器。因此,必须动态计算确保解码缓冲器不下溢的最小位率分配。
在动态计算该最小位率分配中,当减小位率分配时,必须考虑新确定的编码缓冲器大小以及在某些前述时间量中已放在编码缓冲器中的数据量。指定为En的第n帧的新确定的编码缓冲器大小按照方程(8)确定,其中Δ是系统延迟时间,是视频帧到达编码器时和该帧显示在解码器上时之间的恒定时间延迟;D是固定的解码缓冲器大小;以及Rnew是新提出的位率分配。该缓冲器大小确保在新位率分配的稳定状态下,在编码和解码缓冲器中将不存在上溢或下溢。
但是,如上所述,如果新提出的位率分配已减小,则存在等于系统延迟时间Δ的转换周期,其中可能已有太多的位在编码缓冲器中以致不能成功地以新的较低速率传输到解码器。用于精选新提出的位率分配的一种建议方法是首先对表明为Г的系统延迟时间Δ中先前帧的数量检查表明为e的实际放入编码缓冲器(缓冲器饱和)的位数。然后将以前Г帧的最大缓冲器饱和数(表明为emax,Γ)与由方程(8)得到的新确定的编码缓冲器大小En相比较。然后保证来自以前Г帧的所有位成功地传输到接收机解码器的通道i的最小的已减小位率分配R已减小由方程(9)给出。
如果这种限制施加于多路复用器系统,则在已按照方程(3)、(4)、(5)或(6)计算了位率分配以后,检查这些位率分配以确定他们是否落在该通道的当前上限和下限内。首先,每通道i的上限和下限被确定。任何定额周期k(表示为Ri 上限[k])的上限位率分配是下述中最小的:以前定额周期k-1上的最大允许已增加分配;和最大位率分配极限。(见方程(10))。Ri 上限[k]=min{Ri max,(1+α)Ri[k-1]} (10)
任何定额周期k的下限位率分配Ri下限[k]是下述中最大的:最小位率分配极限;以前定额周期k-1上的最小允许减小的分配和由方程(9)得到的最小减少位率分配。(见方程(11))。然后进行通道位率分配的调整。Ri 下限[k]=max{Ri min,(1-β)Ri[k-1],emax,Г/Δ} (11)
如果任何通道的所分配位率超过任一限定值,则该通道的位率分配设置为该限定值,并在其它通道中重新分配可得到的剩余位率。例如,若如用方程(3)、(4)、(5)或(6)所计算的,分配给一通道i的位率大于该通道的上限,如方程(10)计算的,则通道i的位率设定为该上限Ri 上限。反之如果位率小于方程(11)所计算的下限,则将位率设定为该下限Ri 下限。(见方程(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和多路复用器之间传输的某些位部分可专用于处理器的复杂性信息的传输。
Claims (11)
1、一种多路复用系统,包括:
各代表不同图像的多个数据信号源(5);
一个多路复用器(20),具有多个输入端(1-K),和一个输出端(15);
多个通道处理器(10),每一个包含:耦合到相应的一个数据信号源(5)的一个数据输入端;产生代表数据输入端上的一个图像数据信号复杂性的信号的一个复杂性输出端;控制输入端;及一个耦合到多路复用器(20)的输入端(1-K)中相应的一个的数据输出端,该数据输出端响应控制输入端上的信号以恒定位率组产生一编码的信号;和
一个位率分配器(30),具有多对相关的输入和输出端,每一对与通道处理器中相应的一个相关联,每对中的输入端耦合到相关通道处理器的复杂性输出端,和每对中的输出端耦合到相关通道处理器的控制输入端并产生位率定额信号,以致在相关通道处理器(10)数据输出端上信号的位率与相关输入端上信号所代表的图像复杂性及所有这些对中的输入端上信号所代表的组合图像复杂性有关。
2、如权利要求1所述的多路复用系统,其中:位率分配器(30)在每对相关输入和输出端的输出端上产生相应位率定额信号,以使得在其数据输入端具有一相对较高复杂性的信号的通道处理器(10)将接收比具有相对较低复杂性信号的通道处理器(10)相对较高位率的定额信号。
3、如权利要求2所述的多路复用系统,其中:
多路复用器(20)在其输出端(15)产生一个具有预定的恒定位率的信号;以及
位率分配器(30)在每对相关输入和输出端中的输出端上产生相应的位率定额信号,以使得每一通道处理器(10)被分配某一比例的预定恒定位率,其等于由在每对中的相关输入端上的信号所代表的复杂性与由在所有这些对中的输入端上的信号所代表的组合复杂性的之比。
4、如权利要求2所述的多路复用系统,其中:
多路复用器(20)在其输出端产生具有一预定恒定位率的信号;
每一通道处理器(10)分配有一相应的预定最小位率;以及
位率分配器(30)在每对相关输入和输出端中的输出端上产生相应的位率定额信号,以使得每一通道处理器(10)被分配有指定的预定最小位率,并进一步分配有剩余位率的比例,该剩余位率等于小于先前分配的预定最小位率的预定恒定位率,该进一步分配的比例等于由在该对中的相关输入端上的信号所代表的复杂性与由在所有这些对中的输入端上的信号所代表的组合复杂性的之比。
5、如权利要求2所述的多路复用系统,其中:
多路复用器(20)在其输出端(15)产生具有一预定恒定位率的信号;
每一通道处理器(10)分配有一相应的预定加权因子;以及
位率分配器(30)在每对相关输入和输出端中的输出端上产生相应的位率定额信号,以使得每一通道处理器被分配有预定恒定位率的比例,其等于在该对中的相关输入端上的信号所代表的复杂性与在所有这些对中的输入端上的信号所代表的组合复杂性的之比,用指定给相关通道处理器的预定加权因子加权。
6、如权利要求2所述的多路复用系统,其中:
多路复用器(20)在其输出端(15)产生具有一预定恒定位率的信号;
每一通道处理器(10)分配有一相应的预定最小位率和预定加权因子;和
位率分配器(30)在每对相关输入和输出端中的输出端上产生相应的位率定额信号,以使得每一通道处理器被分配有指定的预定最小位率,并进一步分配有剩余位率的比例,该剩余位率等于小于先前分配的预定最小位率的预定恒定位率,该进一步分配的比例等于在该对中的相关输入端上的信号所代表的复杂性与在所有这些对中的输入端上的信号所代表的组合复杂性的之比,用指定给相关通道处理器的预定加权因子加权。
7、如权利要求2所述的多路复用系统,其中:
每一通道处理器(10)被指定有一相应的预定位率分配极限;以及
在产生分配位率给相应通道处理器(10)的相应位率定额信号之后,位率分配器(30)将相应位率分配与相应预定位率分配极限相比较,并且如果某一位率分配超过一指定的预定位率分配极限,则产生一个代表预定位率分配极限的位率定额信号,代替以前产生的相关通道处理器的位率分配。
8、如权利要求2所述的多路复用系统,其中:
每一通道处理器(10)被指定有一相应的预定位率分配增量极限;以及
在产生代表相关通道处理器(10)的所分配位率的相应位率定额信号之后,位率分配器(30)将相应位率分配与由紧接的前一相应位率定额信号所代表的对应位率分配相比较,以确定相应的位率分配增量,并且如果某一位率分配增量超过一指定的预定位率分配增量极限,则产生一个代表由改变了预定位率分配增量极限的紧接的前一相应位率定额信号所表示的位率分配的位率定额信号,代替以前产生的相关通道处理器的位率分配。
9、如权利要求2所述的多路复用系统,其中:
每一通道处理器(10)包括一具有一个在预定时间周期内暂时存储有待提供给多路复用器(20)的数据的缓冲容量的输出缓冲器(48);以及
在产生代表相关通道处理器(10)的所分配位率的相应位率定额信号之后,位率分配器(30)将相应位率分配与由紧接着的前一相应位率定额信号所代表的对应位率分配相比较,并且如果位率分配已减小,确定暂时存储在相关通道处理器的输出缓冲器中的数据是否将在预定时间周期内以减小的位率分配提供给多路复用器(20),若否则产生一个代表新的位率分配的位率定额信号,该新位率分配将允许暂时存储在相关通道处理器的输出缓冲器中的数据在预定时间周期内提供给多路复用器(20),代替以前产生的相关通道处理器的位率分配。
10、如权利要求1所述的多路复用系统,其中多个通道处理器(10)中的每一包含:
一个恒定位率编码器(14),具有耦合在通道处理器(10)的数据输入端(5)与数据输出端之间的数据通路,和一个耦合在通道处理器(10)的控制输入端(“控制”)的定额输入端(Q),用于产生编码信号;以及
一个复杂性分析器(16),耦合在通道处理器(10)的数据输入端(5)与复杂性输出端(“复杂性”)之间,用于分析数据输入端(5)上信号的复杂性,并产生复杂性表示信号。
11、如权利要求1所述的多路复用系统,其中:
每个数据信号源(5)产生一个数据信号,该数据信号是一个包含连续图像组的视频信号,每组图像包含预定数量的帧;
每一通道处理器(10)在每一连续图像组期间至少产生一次复杂性表示信号;以及
位率分配器(30)响应复杂性表示信号在每一连续图像组期间至少产生一次位率定额信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN94195111A CN1067203C (zh) | 1994-04-20 | 1994-04-20 | 利用恒定位率编码器的多路复用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN94195111A CN1067203C (zh) | 1994-04-20 | 1994-04-20 | 利用恒定位率编码器的多路复用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1149374A CN1149374A (zh) | 1997-05-07 |
CN1067203C true CN1067203C (zh) | 2001-06-13 |
Family
ID=5039629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94195111A Expired - Fee Related CN1067203C (zh) | 1994-04-20 | 1994-04-20 | 利用恒定位率编码器的多路复用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1067203C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898384B (zh) * | 2016-04-26 | 2019-03-22 | 广州盈可视电子科技有限公司 | 一种流媒体视频混合帧率控制的方法和装置 |
CN110245756B (zh) * | 2019-06-14 | 2021-10-26 | 第四范式(北京)技术有限公司 | 用于处理数据组的可编程器件及处理数据组的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115309A (en) * | 1990-09-10 | 1992-05-19 | At&T Bell Laboratories | Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders |
US5134476A (en) * | 1990-03-30 | 1992-07-28 | At&T Bell Laboratories | Video signal encoding with bit rate control |
CN1072554A (zh) * | 1991-11-08 | 1993-05-26 | 国际商业机器公司 | 采用自适应信号位分配和量化的运动视频信号压缩系统 |
-
1994
- 1994-04-20 CN CN94195111A patent/CN1067203C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134476A (en) * | 1990-03-30 | 1992-07-28 | At&T Bell Laboratories | Video signal encoding with bit rate control |
US5115309A (en) * | 1990-09-10 | 1992-05-19 | At&T Bell Laboratories | Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders |
CN1072554A (zh) * | 1991-11-08 | 1993-05-26 | 国际商业机器公司 | 采用自适应信号位分配和量化的运动视频信号压缩系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1149374A (zh) | 1997-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838686A (en) | System for dynamically allocating a scarce resource | |
CN1035977C (zh) | 视频数据量化控制装置 | |
CN1132430C (zh) | 多重编码装置 | |
GB2309611A (en) | A motion video compression system with buffer empty/fill look-ahead bit allocation | |
JPH09512417A (ja) | 伝送チャネルを介して複数のビデオプログラムを同時に送信するシステム | |
JP4669190B2 (ja) | ビデオ・データの品質を制御するための方法および装置 | |
KR100314329B1 (ko) | 일정비트율엔코더를이용하는멀티플렉서 | |
CN1067203C (zh) | 利用恒定位率编码器的多路复用系统 | |
EP0761048B1 (en) | A system for dynamically allocating a scarce resource | |
CN1072415C (zh) | 动态分配稀少资源的系统 | |
CN1078782C (zh) | 异步控制信号发生装置 | |
CN1080960C (zh) | 参数抽样装置 | |
KR100340827B1 (ko) | 복잡성결정장치 | |
JP3703488B2 (ja) | 非同期制御信号生成装置 | |
CN1080490C (zh) | 复杂性确定装置 | |
GB2341745A (en) | Image encoding | |
JP3341896B2 (ja) | 複雑度決定装置 | |
KR0186142B1 (ko) | 가변율 부호화기의 비트율 할당 방법 및 장치 | |
EP0756788B1 (en) | Parameter sampling apparatus | |
CN1090858C (zh) | 确定复杂性的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20010613 Termination date: 20110420 |