在视频压缩系统中缓冲视频数据的方法 本发明涉及视频压缩系统中缓冲视频数据的方法,更具体地说,是涉及传输基于国际标准压缩的视频位流的缓冲方法。
在围绕宽带码分多址(W-CDMA)技术的移动通信技术的国际标准化中,最近国际电信联盟电信标准(以下称为“ITU-T”)的建议提案中提出了关于电视传输线与声音广播传输线的移动视频数据通信标准。
在这个关于移动视频数据通信的国际标准中,视频缓冲技术已经得到了普遍应用。视频缓冲器在以与通信信道相适应的速度输出数据之前的预定时间内暂时存储压缩编码的可变速率视频数据。如果通信信道是可变比特速率(VBR)型,也就是数据处理不管压缩的视频数据的速率的变化,那么就不需要缓冲。然而,在大多数有线/无线数字通信中,通信信道具有恒定比特速率(CBR)。结果,需要能将可变速率视频数据适应性地控制以应用于恒定比特速率通信信道的视频缓冲技术。
同样,即使通信信道是可变比特速率型,在输入速率高于通信信道的最大可变速率的视频数据的情况下,网络也会阻塞。为了防止这种阻塞,需要能够限制视频数据速率的视频缓冲技术或类似的速率控制技术。
图1是显示相关技术中传统视频数据压缩装置的框图。该视频数据压缩装置是关于视频压缩编码地国际标准,或ITU-TH.263,MPEG-1,MPEG-2与MPEG-4,所定义的基本模型。如图1所示,视频数据压缩装置包括:在压缩前输入宏码块单元视频数据的离散余弦变换(DCT)单元1,量化器2,反量化器3,反离散余弦变换(IDCT)单元4,以及用来进行视频存储的帧存储器5。视频数据压缩装置更进一步包括:将量化器2转换的视频数据转变为可变长度数据的可变长度编码器(VLC)6,多路复用来自VLC 6的可变长度码的视频多路复用器7,通过信道在外部传输来自视频多路复用器7的压缩视频数据的缓冲器8。
缓冲器8作为输入/输出视频数据的唯一端口。基于读指针和写指针之间的地址差异周期性地监测缓冲器8的占用率。同时,缓冲器8向与量化器2连接的视频速率控制器9通报所监测的占用率。缓冲器8与视频速率控制器9形成反馈回路。同时,缓冲器8输入压缩的可变速率可变长度的视频数据,并输出恒定速率可变长度的视频数据。
视频速率控制器9判断缓冲器8的占用率O(k),并根据判断结果给量化器2传送一个适当的量化系数Q(k)。
量化系数Q(k)是量化步长,是从1到31的31个整数中的任何一个。当量化系数Q(k)大,从量化器2输出的数据的数量就减小。如果量化系数Q(k)小,从量化器2输出的数据的数量就增加。
由量化器2,VLC 6与视频多路复用器7压缩编码的可变速率可变长度的视频数据被串行输入到缓冲器8。这些数据从缓冲器8按输入的顺序作为固定速率可变长度的视频数据串行地输出。图2显示了图1的传统缓冲器8的内部构造。
如图2所示,传统缓冲器被设定为先进先出(FIFO)形式,压缩的视频数据串行输入并按输入的顺序输出。这样的FIFO存储器用于串行输入/输出控制操作,不允许随机的存取操作。这种FIFO存储器通常有用来指示占用满或占用空的状态的功能管脚。
在上面讨论的传统缓冲器中,因为它使用具有串行输入/输出功能的FIFO存储器,因此可能会由于输入/输出数据的数量的差异而出现上溢(overflow)和下溢(underflow)。同样,因为量化器的步长是用来控制数据数量的主要因素,甚至在正确的控制下缓冲器也可能进行错误的操作。具体地说,在出现上溢的情况下,缓冲器不能存储新的输入视频数据,导致了与通信信道的断开。恢复连接需要重新同步和大量的处理时间。
上面的问题可以通过增加缓冲器的尺寸以减小错误操作率而改善。然而,这将引起传送延迟,导致服务质量下降。
另一个方面是当由于视频数据量的突然增加造成缓冲器的数据流量增加时,要防止图象质量的降低。为了使质量下降的影响最小,图像质量的下降应当向四周分散。然而,由于变化不能应用到先前存储在缓冲器中的视频数据中,图像质量下降的现象主要出现在新的输入视频数据上。这样会引起图像质量的突然变化,并因此降低了服务质量。
因此,本发明的目的是至少解决传统技术中的问题与缺点。
本发明的目的是提供在视频压缩系统中缓冲视频数据的方法,为了允许单独存取,存储器单元根据可变长度元素(element)而划发,以确定输入的可变长度码之间的界限。
本发明的另外的优点、目的与特征的一部分将在接下来的描述中提出来,对于那些熟悉本领域的人,它们的一部分将在接下来的检验中明显地看到,或者从发明的实践中得到。可以根据附加权利要求所特别指出的那样实现与获得本发明的目标与优点。
为了达到本发明目的并与其保持一致,正如下文所体现与广泛介绍的那样,视频压缩系统中缓冲视频数据的方法包括如下步骤:对应于码块单元中的输入视频数据进行离散正交变换操作,在离散正交变换部件的单元中存储作为结果的系数。
本发明将参考附图进行详细介绍,图中相同的数字对应相同的元件。
图1是传统视频数据压缩装置的框图。
图2是显示图1的缓冲器的内部构造的框图。
图3是显示根据本发明的视频数据压缩装置的框图。
图4是显示图3的缓冲器的内部构造的框图。
图5显示了根据本发明的DCT量化的视频数据的状态。
图6是展示根据本发明的在多个缓冲器之间相互连接的示意图。
图7是显示普通的可变长度编码器的内部构造的图。
图8是展示从图3的缓冲器将视频数据传送到通信信道的图。
图3显示了根据本发明的视频数据压缩装置,包括:在压缩前输入宏码块单元视频数据的DCT单元1,量化器2,反量化器3,IDCT 4,以及用来进行视频存储的帧存储器5。该视频数据压缩装置更进一步包括:VLC 10,将量化器2量化的视频数据转化为可变长度数据;缓冲器20,作为唯一的输入/输出端口,用来传输来自VLC 10的压缩视频数据;视频多路复用器7,多路复用来自缓冲器20的输出视频数据;以及视频速率控制器30,根据缓冲器20的占用率改变量化系数Q(k)。
DCT单元1可以用任何其它的有同样功能的离散正交变换单元代替。例如,DCT单元1可以用离散正弦变换,哈达马(Hadamard)变换,KL变换或沃尔什(Walsh)变换单元中的任何一个来代替。
图3的视频数据压缩装置除了缓冲器20的内部结构与缓冲器8不同以及有更多的控制参数被反馈外,其构造与图1的视频数据压缩装置的构造完全相同。并且,视频速率控制器30根据缓冲器20的占用率将区域量化参数与量化步长应用到量化器2。区域量化参数是一个指定由量化器2进行量化的DCT系数的位置的值。结果,基于区域量化参数控制量化器2量化的DCT范围。
传统缓冲器的占用率是仅适用于绝对存储器尺寸的瞬时值。然而,本发明的缓冲器的占用率是灵活的。
如图4所示,本发明的缓冲器的设置不是FIFO存储方式,而是将存储器单元根据可变长度元素划分。这种划分确定了输入的可变长度码之间的边界,并允许对划分的存储器单元进行单独存取。
图4显示了图3的缓冲器20的内部结构。首部缓冲器22分别独立地存储图像首部23和码块组(GOB)首部24。宏码块首部单元25也独立地存储宏码块首部的可变长度码。在优选实施例中,缓冲器20的内核使用的是CONTRAXPANDTM缓冲器26。
CONTRAXPANDTM缓冲器26包括多个码块,各个码块有用来存储来自VLC 10的可变长度码的代码区,用来指示代码区的比特长度的长度区,用来指示相应码块的量化值为0的直流(DC)成分或交流(AC)成分的数量的运行区。很明显,CONTRAXPANDTM缓冲器26不存储没有经过量化的成分。
例如,如果以Z字形扫描顺序排列的第一、第二与第十一个DC成分与AC成分有不是0的量化值,那么在CONTRAXPANDTM缓冲器26的码块1的区域AC1、AC2与AC3存储和输出该成分。或者,DC与AC成分可以按一对一对应关系被存储到缓冲器20的DC与AC区域,即使它们有不是0的量化值。对于更有效率的缓冲器20的结构,可以单独存储指示存储在缓冲器20的DC与AC区域的值是否是0的标志位。因为图像首部单元23与GOB首部单元24存储固定长度的代码,所以没有包括在CONTRAXPANDTM缓冲器26中。
同样,在CONTRAXPANDTM缓冲器26中采用了读指针和写指针,以控制数字变换器2。具体地说,视频速率控制器9包括Rqs控制器27,它根据缓冲器20的占用率控制量化步长Qs,并将Qs应用到量化器2。视频速率控制器9更进一步包括Rzs控制器28,它根据缓冲器20的读指针和写指针控制区域采样参数Zs,并将Zs应用到量化器2。区域采样参数Zs是要进行量化的DCT系数的索引。
如图4所示,根据本发明的视频数据缓冲方法的另一个方面是要从VLC 10与通信信道的状态与/或图像帧速率相适应地输出可变长度视频数据。它可以通过根据DC与AC值的位置来划分与存储视频数据而实现。特别地,存储在缓冲器20中的视频数据中的重要性较低的数据在传输中可以丢弃。
本发明并不对由于缓冲器20的高占用率引起的上溢进行补救,而是在存储于缓冲器20中的经过量化的DCT(DCTQ)中有选择地传输更重要的数据,而丢弃剩余的DCTQ。图5显示了所有由VLC 10处理的DCTQ中“经传输”的DCTQ。因此,可以防止可能的上溢,并且即使在较高占用率状态下传输也能持续进行。结果,图像质量的下降被向四周分散。
有选择的传输能根据由读指针得到的读范围和由写指针得到的写范围来进行。写范围是写入缓冲器8的数据的级别,它依赖于量化器2的输出电平。读范围是从缓冲器8读取的数据的级别,它是信道传输率和/或图像帧速率的函数。随着信道传输率和图像帧速率的波动,输出电平或读范围由选择性的传输来控制。
经过选择性的传输后,传输的DCTQ与丢弃的DCTQ之间的差异由读指针和写指针传送到Rzs控制器28中。结果,量化器2根据区域采样参数Zs与量化步长Qs被控制,其方式是,缓冲器20的占用率能迅速地重新调整到较低的值,这样读指针和写指针的差异能变成0。此时,量化参数Qs(k)与区域采样参数Zs(k)能按下式表述:
Qs(k)=f(occ(k)): 函数f( ),线性或非线性
occ(k)=rbn(k)-wbn(k)rbn(k)=Σj=0,jreadk=k1,k2length(Bk,j)]]>wbn(k)=Σj=0,jwritek=k3,k4length(Bk,j)]]>
这里,“occ(k)”是缓冲器的占用率,“rbn(k)”是读码块的数目,“wbn(k)”是写码块的数目,“jread”与“jread”分别是读与写代码的位置,“k1,2,3,4”是码块位置。
函数f(occ(k))用于将缓冲器的占用率occ(k)改变为Qs(k)。根据视频数据数量控制方法,这一函数f(occ(k))可以有不同的形式。线性函数或反曲函数(sigmoidal function)通常被用作函数f(occ(k))。或者,单峰函数(unimoidal function),也就是对数函数与指数函数的组合,也可以用作函数f(occ(k))。
区域采样参数Zs(k)也是dptr(k)的函数,它可以用下式表述:
Zs(k)=g(dptr(k))
wptr(k)=∑run(Bk)
rptr(k)=∑run(Bk)
dptr(k)=int{(wptr(k)-rptr(k))/NMB}
这里,“rptr(k)”是读指针,“wptr(k)”是写指针,“dptr(k)”是读指针与写指针之间的差,“NMB”是缓冲器20中的各个宏码块中的码块的总数量,“int”表示取整数,“run”表示非零DCT系数的预编码的零的数目。
“写码块”表示存储在缓冲器20的各个宏码块的各个码块中的DC到ACn成分的总数量,“读码块”表示从缓冲器20的各个宏码块的各个码块中输出的DC到ACn成分的总数量。
同样,“rptr(k)”、“wptr(k)”和“dptr(k)”是二进制地址。“occ(k)”根据缓冲器20的CONTRAXPANDTM缓冲器26的尺寸确定。根据实施例的不同,“occ(k)”能由整数或实数表示。“Zs(k)”至少是从1到63中的一个整数。
来自缓冲器20的视频数据被视频多路复用器7多路复用,并根据位流句法输出。来自视频多路复用器7的输出可变长度码通过并行进串行出(PISO)移位寄存器,它允许代码作为一位位流根据连接的信道的速度而传输。
参考图6,可以给缓冲器20提供多个CONTRAXPANDTM缓冲器26,以增加整个缓冲器的容量。当缓冲器容量增加以后,数据写操作对应于一个缓冲器进行,同时数据读操作对应于另一个缓冲器进行。值“TR”是对应时间标志的时空基准,它是从0到255中间的一个整数。
图7显示了一个普通的VLC,它包括比特压缩器(bit packer),用来将可变长度码转化为固定长度码。如果普通的VLC不包括比特压缩器,就不能轻易地与时钟信号连接而连接到通信信道。由于这一原因,传统地使用比特压缩器来实现VLC的功能。然而,在本发明的视频数据压缩装置中,因为缓冲器20能缓冲可变长度码数据,所以VLC不必包括比特压缩器。根据本发明,甚至在VLC中没有比特压缩器的情况下,最后的位流输出也连接到通信信道。
参考图8,长度为I(M)与I(N)的可变长度码M与N由视频多路复用器7多路复用,并分别输出到移位寄存器40中的第一与第二寄存器41与42。表示代码字的长度的长度信息I(M)与I(N)被分别传送到第一与第二寄存器41与42。结果,对应于传送的长度信息的位流响应与输出信道同步的时钟被输出。
因此,由第一寄存器41提供7位输出,由第二寄存器42提供3位输出。这样的操作关于所有的后面的输入数据持续进行,因此最后的输出不会与通信信道断开。此外,这一操作可以在不使用比特压缩器的情况下获得,而比特压缩器占据了VLC的功能的一大半,这样降低了VLC的复杂性。
如上所述,根据本发明,防止了视频数据压缩装置的缓冲器中可能出现的上溢。因此,在整个系统中不会出现通信的不连续。因为输入/输出操作不是以FIFO形式进行,甚至在进行编码后可变长度码信息也能有选择地传输。目前的输入数据不必限制为只有在传输前一个存储的数据后才能传输。因此,能使传送延迟最小,结果提高了视频通信的质量。
此外,VLC的复杂性可以减小为传统的VLC的一小半,相对减小了缓冲器的复杂性。因此,整个系统的结构能简化。此外,量化器与VLC之间的相互关系被用来根据传输信道的状态控制整个系统。与传输率依赖于量化器而控制的传统装置相比,这样就提高了通信质量。另外,因为可变长度的视频数据是独立处理的,本发明能有效地结合到任何一个能在比特差错产生率较高的通信信道环境下保持高差错修复能力的技术上。
前面讲述的实施例仅仅用于示范,它们并不限制本发明。本讲述能逐步应用到别的形式的装置上。本发明的介绍是展示性的,并不限制附加权利要求的范围。对于那些熟悉本领域的人,可以清楚地知道本发明可以有许多代替、修正与变化。