视频数据传输系统.pdf

上传人:a**** 文档编号:680337 上传时间:2018-03-04 格式:PDF 页数:25 大小:1.24MB
返回 下载 相关 举报
摘要
申请专利号:

CN200410102310.0

申请日:

2004.08.12

公开号:

CN1617590A

公开日:

2005.05.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04N7/24; H04N7/32

主分类号:

H04N7/24; H04N7/32

申请人:

三星电子株式会社;

发明人:

范宰荣

地址:

韩国京畿道

优先权:

2003.08.12 KR 55877/2003

专利代理机构:

北京市柳沈律师事务所

代理人:

黄小临;王志森

PDF下载: PDF下载
内容摘要

一种控制编码(比特)率的方法和一种传输视频数据的方法,和一种用于采用该方法的视频数据传输系统和视频编码器的编码(比特)率控制器,其中基于先前的编码结果将比特数量分配给当前图像,而没有定义编码率和失真之间的关系,当当前图像的特征不同于先前图像时,不必强行使用有限数量的比特,针对当前图像的各种特征自适应地设置量化器标度,而不必对应于量化器标度的变化采用附加数量的比特,因此就可能通过采用该实时可变比特率控制来提高将在监视器上显示的视频数据的图像质量。

权利要求书

1.  一种控制视频编码器的编码率的方法,该方法包括步骤:
(a)采用先前图像组(GOP)的每种图像类型I、P和B的编码每图像比特的平均数量和每图像比特的平均目标数量、和缓冲平衡值,来计算当前图像类型的每图像比特的目标数量;
(b)采用与当前图像类型相同的先前图像的平均量化器标度值、并采用比特目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;
(c)计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,采用每单元行编码比特数量和每图像比特目标数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码每图像比特的总数量;
(d)存储步骤(c)中计算的量化器标度值,并输出先前图像类型和先前宏块行的量化器标度值;
(e)采用当前图像类型的每图像比特的平均目标数量和编码每图像比特的总数量,来计算缓冲平衡值。

2.
  如权利要求1所述的方法,其中每图像比特的目标数量用下面的公式计算:
Tavg i , p , b = B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · bit _ rate frame _ rate ]]>
T = Tavg i , p , b - B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · d N dis ]]>
此处T为每图像比特的目标数量;Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;Bi,p,b为每种图像类型的编码每图像比特的平均数量;Ni、Np和Nb分别是图像组中I、P和B图像的数量;bit_rate是预定传输率;frame_rate是帧率;d是缓冲平衡值;Ndis为分散的图像的数量。

3.
  如权利要求2所述的方法,其中缓冲平衡值通过下面的公式计算:
d+=Si,p,b-Tavgi,p,b
此处d+为缓冲平衡值d的累加变化;Si,p,b为每种图像类型的一幅图像的编码比特总数量。

4.
  如权利要求2所述的方法,其中每种图像类型的编码每图像比特的平均数量Bi,p,b通过采用下面的条件表达式更正:
If(Bp<1.2·Bb)  Bp=1.2·Bb
If(Bi<1.2·Bp)  Bi=1.2·Bp
If(Bi>3.5·Bp)  Bi=3.5·Bp
If(Bb<0.6·Bp)  Bb=0.6·Bp

5.
  如据权利要求2所述的方法,其中对应于当前图像类型的第一宏块行的量化器标度值采用下面的公式计算:
Q init = Q i , p , b + γ δ ]]>
γ = Tavg i , p , b - T Tav g i , p , b ]]>
Q i , p , b = 1 N row · Σ j = 1 N row mquant j ]]>
此处Qi,p,b是平均量化器标度值;mquantj是对应于第j个宏块行的量化器标度值;Nrow为在一幅图像中的总行数;Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;T为比特的目标数量;Qinit为对应于第一宏块行的量化器标度值;δ为常数。

6.
  如权利要求5所述的方法,其中对应于当前图像类型的每个宏块行的量化器标度值采用下面的与函数有关的公式计算:
if(f(j,Sj,Sj-1,Trow)>β_upj),then
mquantj+1=mquant_up(mquantj,q_scale_type);else if(g(j,Sj,Sj-1,Trow)>β_dnj),
thenmquantj+1=mquant_dn(mquantj,q_scale_type);elsemquantj+1=mquantj
此处Sj为图像中从第一宏块行到第j个宏块行的编码比特的数量;Trow为每单元行比特的目标数量;mquant_up(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码大于对应于mquantj的先前的第k个码;mquant_dn(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码小于对应于mquantj的先前的第k个码;β_upj和β_anj分别是第一和第二临界常数。

7.
  如权利要求6所述的方法,其中函数f和g包括代表先前行中的编码比特的数量的表达式。

8.
  如权利要求6所述的方法,其中mquant_up(mquantj,q_scale_type)和mquant_dn(mquantj,q_scale_type)分别是多个q_scale_type的任意一个中对应于这样的第(k+1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码大1,和多个q_scale_type的任意一个中对应于这样的第(k-1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码小1。

9.
  一种传输视频数据的方法,该方法包括步骤:
(a)接收对应于当前图像类型的当前宏块行的量化器标度值,并按照量化器标度值对视频数据进行编码;
(b)通过采用关于经编码的视频数据在先前宏块行的每单元行的编码比特的数量和每单元行的比特的目标数量,来计算对应于当前宏块行的量化器标度值;
(c)按照传输率输出经编码的视频数据。

10.
  如权利要求9所述的方法,其中步骤(b)包括子步骤:
(b-1)采用关于编码的视频数据的先前图像组的每种图像类型I、P和B的编码每图像比特的平均数量和每图像比特的平均目标数量、和缓冲平衡值来计算当前图像类型的每图像比特的目标数量;
(b-2)通过采用当前图像类型的先前图像中最后图像的平均量化器标度值、和每图像比特目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;
(b-3)计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,采用包括每单元行比特的目标数量和每单元行的编码比特的数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码每图像比特的总数量;
(b-4)存储在子步骤(b-3)输出的量化器标度值,并输出先前图像类型和先前宏块行的量化器标度值;以及
(b-5)采用当前图像类型的每图像比特的平均目标数量和编码比特的总数量来计算缓冲平衡值。

11.
  一种用于视频编码器的编码率控制器,包括:
比特分配单元,采用先前图像组(GOP)的每种图像类型I、P和B的每图像比特的平均目标数量和编码每图像比特的平均数量、以及缓冲平衡值来计算当前图像类型的每图像比特的目标数量;
速率控制单元,通过采用当前图像类型的先前图像中最后图像的平均量化器标度值、和每单元行比特的目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;
自适应量化单元,计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,通过采用包括每单元行比特的目标数量和每单元行的编码比特的数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码比特的总数量;
存储器,存储由自适应量化单元计算的量化器标度值,输出先前图像类型和先前宏块行的量化器标度值;以及
缓冲率计算单元,通过采用当前图像类型的每图像比特的平均目标数量和编码每图像比特的总数量来计算缓冲平衡值。

12.
  如权利要求11所述的编码率控制器,其中采用以下公式计算每图像比特的目标数量:
Tavg i , p , b = B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · bit _ rate frame _ rate ]]>
T = Tavg i , p , b - B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · d N dis ]]>
此处T为每图像比特的目标数量;Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;Bi,p,b为每种图像类型的编码每图像比特的平均数量;Ni、Np和Nb分别是图像组中I、P和B图像的数量;bit_rate是预定传输率;frame_rate是帧率;d是缓冲平衡值;Ndis为分散的图像的数量。

13.
  如权利要求12所述的编码率控制器,其中采用以下公式计算缓冲平衡值:
d+=Si,p,b-Tavgi,p,b
此处d+为缓冲平衡值d的累加变化;Si,p,b为每种图像类型的一幅图像的编码比特总数量。

14.
  如权利要求12所述的编码率控制器,其中每种图像类型的编码每图像比特的平均数量Bi,p,b采用下面的条件表达式过滤:
If(Bp<1.2·Bb)  Bp=1.2·Bb
If(Bi<1.2·Bp)  Bi=1.2·Bp
If(Bi>3.5·Bp)  Bi=3.5·Bp
If(Bb<0.6·Bp)  Bb=0.6·Bp

15.
  如据权利要求12所述的编码率控制器,其中对应于当前图像类型的第一宏块行的量化器标度值采用下面的公式计算:
Q init = Q i , p , b + γ δ ]]>
γ = Tavg i , p , b - T Tav g i , p , b ]]>
Q i , p , b = 1 N row · Σ j = 1 N row mquant j ]]>
此处Qi,p,b是平均量化器标度值;mquantj是对应于第j个宏块行的量化器标度值;Nrow为在一幅图像中的总行数;Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;T为每图像比特的目标数量;Qinit为对应于第一宏块行的量化器标度值;δ为常数。

16.
  根据权利要求15所述的编码率控制器,其中对应于当前图像类型的每个宏块行的量化器标度值mquantj+1采用下面的与函数有关的公式计算:
if(f(j,Sj,Sj-1,Trow)>β_upj),then
mquantj+1=mquant_up(mquantj,q_scale_type);else if(g(j,Sj,Sj-1,Trow)>β_dnj),
thenmquantj+1=mquant_dn(mquantj,q_scale_type);elsemquantj+1=mquantj
此处Sj为图像中从第一宏块行到第j个宏块行的编码比特的数量;Trow为每单元行比特的目标数量;mquant_up(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码大于对应于mquantj的先前的第k个码;mquant_dn(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码小于对应于mquantj的先前的第k个码;β_upj和β_dnj分别是第一和第二临界常数。

17.
  根据权利要求16所述的编码率控制器,其中函数f和g包括代表先前行的编码比特的数量的表达式。

18.
  根据权利要求16所述的编码率控制器,其中mquant_up(mquantj,q_scale_type)是多个q_scale_type的任意一个中对应于这样的第(k+1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码大1,mquant_dn(mquantj,q_scale_type)是多个q_scale_type的任意一个中对应于这样的第(k-1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码小1。

19.
  一种视频数据传输系统,包括:
视频编码器,接收对应于当前图像类型的当前宏块行的量化器标度值,根据量化器标度值对视频输入数据编码,并输出编码的视频数据;
编码率控制器,采用关于编码的视频数据的先前宏块行中每单元行编码比特的数量和每单元行比特的目标数量来计算对应对于当前宏块行的量化器标度值;
编码器缓冲器,根据传输率输出编码的视频数据。

20.
  根据权利要求19所述的视频数据传输系统,其中编码率控制器包括:
比特分配单元,采用关于编码的视频数据的先前图像组的每种图像类型I、P和B的每图像比特的平均目标数量和编码每图像比特的平均数量、以及缓冲平衡值来计算当前图像类型的每图像比特的目标数量;
速率控制单元,通过采用与当前图像类型相同的在先图像的平均量化器标度值、和比特的目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;
自适应量化单元,计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,通过采用包括每单元行比特的目标数量和每单元行的编码比特的数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码比特的总数量;
存储器,存储由自适应量化单元计算的量化器标度值,输出先前图像类型和先前宏块行的量化器标度值;以及
缓冲率计算单元,通过采用当前图像类型的每图像比特的平均目标数量和编码每图像比特的总数量来计算缓冲平衡值。

说明书

视频数据传输系统
技术领域
本发明涉及一种视频数据传输系统,更具体地说,涉及一种传输视频数据的方法,和一种控制编码(比特)率的方法,一种用于移动图像专家组2(MPEG-2)视频编码器的编码(比特)率控制器,以及一种实现上述方法的视频数据传输系统。
背景技术
在现有技术中,两种控制MPEG-2视频编码器中的编码率的通用方法被采用。一种该通用方法是恒比特率(CBR)控制方法,另外一种是可变比特率(VBR)控制方法。在恒比特率(CBR)控制方法中,视频数据,例如数字电视(DTV)广播信号,在每一预定的时间内被编码到预定的比特数量中,施加缓冲约束以及时在任意时刻避免(circumvent)相对于希望的速率的大偏差。典型的CBR方法对图像组(GOP)强制采用恒比特率(CBR),而无论视频间隔的复杂度。该方案假设GOP间比特分配相同权重并减少编码任务的自由度。GOP的失真(质量)服从于恒目标速率被最小化(最大化)。CBR暗示了每个GOP的编码视频流的可承受的速率接近于恒目标速率,但是每幅图像的瞬时速率基于图像类型2或者量化定标器(scaler)而变化。
MPEG-2序列典型地被分成称为GOP(图像组)的小间隔,它们又采用图像类型“I”(帧内编码(intracoded)或者帧内图像(intrapicture)),“P”(预测),和“B”(双向预测)进行分类。每个GOP的比特数被分配,使一个I图像的份额大于一个P图像的份额。这是因为P图像采用运动估算(ME)技术来估算它的内容;因此,带有比原始源低的熵的运动补偿帧差异(MCFD)被编码。B图像用了最少的比特数,因为它们的ME技术比用于P图像的更强。该方法提供在不同类型图像被编码时,维持GOP中相同图像质量的基础。
CBR MPEG-2编码器对于每个图像类型强制采用不同的量化定标器以实现GOP中的高质量流。在恒比特率控制方法中,因为静态图像视频数据和运动图像视频数据两者都编码到相同的比特数,本应该被分配较多比特的运动图像的质量就相对较低。一种提高CBR流的感知(perceptual)质量,同时自始至终保持其恒速率的方法是,识别“编码困难”图像并相应地提高它们的比特分配额(budget)。用于实时CBR编码的传统方法采用图像与图像间在“复杂度”量度方面的相关性来预测具体图像的编码难度的级别。如果图像源的统计特征随时间激烈变化,则恒比特率(CBR)操作可以造成对于一个短暂时间窗口(例如一些帧或者一个GOP)的高图像质量,但是整个视频被消费者察觉到是非连续的质量。
在可变比特率(VBR)控制方法中,由于当数据传输率可变时,更多的比特能被分配到运动图像视频数据,例如在这样一种情况中,即带宽足够大或者采用诸如数字视频盘(DVD)的存储介质的情况下,相对于采用恒比特率(CBR)控制方法来说,就有可能提高运动图像的质量。通过对视频数据进行编码而被压缩的视频数据(例如,从视频摄像机所得到)能通过无线LAN(局域网)或者DTV(数字电视)发射器被传送,并作为射频(RF)信号输出。此外,压缩过的视频数据能够被编码和记录到固定介质,例如DVD光盘等。
编码的图像的质量是编码过程中所投入的比特数量的直接结果。量化定标参数的调节是一种影响编码比特数的方法。一种传统的将量化器标度(scale)作为宏块(macroblock)量化参数进行调节的方法被主要地用于控制MPEG-2视频编码器的编码率。任何类型的每个图像被细分为被称为宏块的像素的方形块。每个图像由图像片(slice)组成,它们被定义为是一系列宏块。当“I”(帧内编码图像)帧数据,“P”(预测编码图像)帧数据,和“B”(双向预测编码图像)帧数据需要预定窗口时,“宏块”表示相关窗口的像素数据(例如,16×16像素)。代表亮度(灰度)的像素数据通常为8比特数据。通过为图像中每个宏块选择一个特定的量化器标度,MPEG-2编码器的对于具体图像的图像质量和速率得以实现。
量化器标度、MQUANT、和量化器矩阵的相应元素的相乘产生量化的(DCT)系数。通常,MQUANT值越高,比特率越低,但是质量也越低(根据著名的速率失真理论)。
设计速率控制(RC)算法是传统编码方法的一部分。速率控制算法分别地基于图像类型和图像特征,监测应该被分配以对每个图像或者宏块进行编码的比特数量。此外,它应该被设计为:保证在流从通信信道被接收并准备编码时,解码器缓冲不会经受溢出或者下溢。下面的方法典型地用于MPEG-2压缩方案:
A.对于每种图像类型的目标比特数(或者量化定标器)。
B.用以防止溢出/下溢情况的缓冲规则。
C.目标速率的维持或不多于比特分配额的消耗。
D.速率控制策略,其保证以上全部能够被监视/满足。
一种传统的采用可变比特率(VBR)控制方法来控制编码率地方法能够大致地分为三个步骤。第一步骤(A)是为每帧分配每图像(目标)比特(适用于图像类型I,P或B)数量的比特分配步骤;第二步骤是确定量化标度的速率控制步骤,第三步骤是为图像类型I,P或B的所有的宏块调节量化标度的自适应(adaptive)量化步骤。
在比特分配步骤,“复杂度”通过采用编码率和失真间的关系进行定义;当前图像类型(I,P或B)的每图像比特数量参照先前编码的图像(类型I,P或B)的“复杂度”来确定,然后,确定的(目标)每图像比特数量被分配。在速率控制步骤,量化器标度在缓冲虚拟数量或者先前图像(类型I,P或B)的复杂度的基础上被计算。这里,由于量化器标度反比于编码比特数量,因此编码比特数量会随着量化器标度的增大而减少。在自适应量化步骤,通过采用一个或一些先前宏块的活动度(activity)(数据变化程度)来确定用于当前宏块的新的量化器标度。
这种传统的通过采用可变比特率控制方法来控制编码率的方法存在一个问题,该问题涉及比特分配步骤,即,考虑到寻找最能代表编码率和失真间的关系的最接近的公式的各种努力,很难定义精确的速率-失真(R-D)关系,即便是最接近的公式被定义,它也不能应对图像类型(I,P或B)的变化。
而且,传统的控制编码率的方法还有一个问题,涉及自适应量化步骤,该问题在于所有宏块的新的量化器标度的计算,相对于其所占用的比特不能提供更高的图像质量上的改进。为了减轻该问题,一种对一整幅图像采用一个量化器标度的传统方法能够被采用,但是当图像中存在各种特征时该方法是没有效果的。
发明内容
本发明提供了一种控制视频编码器的编码(比特)率的方法和一种传输MPEG-2编码视频数据的方法,它能够采用实时可变比特率(VBR)控制方法提高图像质量,其中每图像比特数量基于先前的编码结果被分配给当前图像,而没有定义编码率和失真之间的关系,当当前图像的特征不同于先前图像时,有限数量的比特不必被强行使用,量化器标度针对当前图像的各种特征自适应地设置,而不使用对应于量化器标度的变化的附加数量的比特。
本发明还提供了一种用于视频编码器的编码率控制器,和一种具有编码(比特)率控制器并进行MPEG-2视频编码的视频数据传输系统,它能够通过采用实时可变比特率控制方法来提高图像质量,这里每图像比特数量基于先前的编码结果被分配给当前图像,而没有定义编码率和失真之间的关系;当当前图像的特征不同于先前图像时,有限数量的比特不必被强行使用,量化器标度针对当前图像的各种特征自适应地设置,而不使用对应于量化器标度的变化的附加数量的比特。
根据本发明的一个方面,提供了一种控制视频编码器的编码(比特)率的方法,该方法包括步骤:(a)通过采用先前图像组(GOP)的每种图像类型(I,P和B)的编码每图像比特的平均数量和每图像比特的平均目标数量、和缓冲平衡值来计算当前图像类型的每图像比特的目标数量;(b)通过采用当前图像类型的先前图像中的在先(例如最后一个)图像的平均量化器标度值、和每图像比特的目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;(c)计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,通过采用包括每单元行编码比特数量和每图像比特目标数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码比特的总数量;(d)存储步骤(c)中输出的量化器标度值,并输出先前图像类型和先前宏块行的量化器标度值;和(e)通过采用当前图像类型的每图像比特的平均目标数量和编码每图像比特的总数量,来计算缓冲平衡值。
每图像比特的目标数量可以用下面的公式计算:
Tavg i , p , b = B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · bit _ rate frame _ rate ]]>
T = Tavg i , p , b - B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · d N dis ]]>
这里T为每图像比特的目标数量;Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;Bi,p,b为每种图像类型的编码每图像比特的平均数量;Ni,Np和Nb分别是图像组中I、P和B图像的数量;bit_rate是预定的传输率;frame_rate是帧率;d是缓冲平衡值;Ndis为分散的(dispersed)图像的数量。
缓冲平衡值可以通过下面的公式计算:
d+=Si,p,b-Tavgi,p,b
这里d+为缓冲平衡值d的累加变化;Si,p,b为每种图像类型的一个图像的编码比特总数量。
每种图像类型的编码比特的平均数量Bi,p,b能够通过采用下面的附条件公式更正:
If(Bp<1.2·Bb)   Bp=1.2·Bb
If(Bi<1.2·Bp)   Bi=1.2·Bp
If(Bi>3.5·Bp)   Bi=3.5·Bp
If(Bb<0.6·Bp)   Bb=0.6·Bp
对应于当前图像类型的第一宏块行的量化器标度值可以通过采用下面的公式计算:
Q i , p , b = 1 N row · Σ j = 1 N row mquan t j ]]>
γ = Tavg i , p , b - T Tavg i , p , b ]]>
Q init = Q i , p , b + γ δ ]]>
这里Qi,p,b是平均量化器标度值,mquantj是对应于第j个宏块行的量化器标度值,Nrow为一幅图像中的总行数,Tavgi,p,b为每种图像类型的每图像比特的平均目标数量,T为每图像比特的目标数量;Qinit为对应于第一宏块行的量化器标度值,δ为常数。
对应于当前图像类型的每个宏块行的量化器标度值可以通过采用与函数有关的下面的公式计算:
if(f(j,Sj,Sj-1,Trow)>β_upj),thenmquantj+1=mquant_up(mquantj,q_scale_type);else if(g(j,Sj,Sj-1,Trow)>β_dnj),then mquantj+1=mquant_dn(mquantj,q_scale_type);else mquantj+1=mquantj
这里Sj为图像中从第一宏块行到第j个宏块行的编码比特的数量;Trow为每单元行比特的目标数量;mquant_up(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码大于对应于mquantj的先前的第k个码;mquant_dn(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码小于对应于mquantj的先前的第k个码;β_upj和β_dnj分别是第一和第二临界(critical)常数。
函数f和g可以包括以下代表先前行中的编码比特的数量的表达式:
Sj-Sj-1
mquant_up(mquantj,q_scale_type)和mquant_dn(mquantj,q_scale_type)可以分别是多个q_scale_type的任意一个中对应于这样的第(k+1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码大1,和多个q_scale_type的任意一个中对应于这样的第(k-1)个码的量化器标度值,该码比对应于mquantj的先前的第k个码小1。
根据本发明的另一个方面,提供了一种传输视频数据的方法,该方法包括步骤:(a)接收对应于当前图像类型的当前宏块行的量化器标度值,并按照量化器标度值对视频输入数据进行编码;(b)通过采用关于已经编码的视频数据在先前宏块行的每单元行的编码比特的数量和每单元行的比特的目标数量,来计算对应于当前宏块行的量化器标度值;(c)按照传输率输出经编码的视频数据。
这里,步骤(b)包括子步骤:(b-1)采用关于编码的视频数据的先前图像组的每种图像类型I、P和B的编码每图像比特的平均数量和每图像比特的平均目标数量、和缓冲平衡值来计算当前图像类型的每图像比特的目标数量;(b-2)通过采用与当前图像类型相同类型的(I、P或B)的先前(例如最近)图像的平均量化器标度值、和比特目标数量来计算对应于当前图像类型的第一宏块行的量化器标度值;(b-3)计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,采用包括每单元行比特的目标数量和每单元行的编码比特的数量的函数来计算对应于当前行的量化器标度值,以及计算当前图像类型的编码比特的总数;(b-4)存储在子步骤(b-3)输出的量化器标度值,并输出先前图像类型和先前宏块行的量化器标度值;(b-5)采用当前图像类型的每图像比特的平均目标数量和编码比特的总数来计算缓冲平衡值。
仍然根据本发明的另一个方面,提供了一种用于视频编码器的编码(比特)率控制器,包括比特分配单元,速率控制单元,自适应量化单元,存储器,和缓冲率计算单元。
比特分配单元采用先前图像组(GOP)的每种图像类型I、P和B的每图像比特的平均目标数量和编码比特的平均数量以及缓冲平衡值来计算当前图像类型的每图像比特的目标数量。
速率控制单元通过采用与当前图像类型相等的先前图像类型中最近的图像类型的平均量化器标度值和比特的目标数量来计算和输出对应于当前图像类型的第一宏块行的量化器标度值。
自适应量化单元计算关于当前图像类型的每个宏块行在先前行中每单元行编码比特的数量和每单元行比特的目标数量,通过采用包括每单元行比特的目标数量和每单元行的编码比特的数量的函数来计算并输出对应于当前行的量化器标度值,计算和输出当前图像类型的编码比特的总数。
存储器存储从自适应量化单元输出的量化器标度值,输出先前图像类型和先前宏块行的量化器标度值。
缓冲率计算单元通过采用当前图像类型的每图像比特的平均目标数量和编码比特的总数量来计算并输出缓冲平衡值。
根据本发明的另一个方面,提供了一种包括视频编码器、编码(比特)率控制器和编码缓冲的视频数据传输系统。
视频编码器接收对应于当前图像类型的当前宏块行的量化器标度值,根据该量化器标度值对视频输入数据进行编码,输出编码的视频数据;
编码率控制器通过采用先前图像组(GOP)的每种图像类型I、P和B的每图像比特的平均目标数量和编码比特的平均数量、和缓冲平衡值来计算并输出当前图像类型的每图像比特的目标数量,通过采用与当前图像类型相同的在先(例如最近的)图像的平均量化器标度值来计算并输出对应于当前图像类型的第一宏块行的量化器标度值,通过采用包括先前宏块行中的每单元行的编码比特的数量和每单元行比特的目标数量的函数来计算并输出对应于当前宏块行的量化器标度值。
根据传输率,编码器缓冲器输出编码的视频数据。
附图说明
当前发明的以上的和其它的特征会在示例性实施例的参照附图的详细描述中变得更清楚,其中作为参考的附图为:
图1是框图,示出了根据本发明的一个实施例的包含编码率控制器的移动图像专家组2(MPEG-2)视频数据传输系统;
图2是框图,特别地示出在图1中示出的编码率控制器;
图3是流程图,示出了编码率控制器的运作;和
图4是表格,示出了用于mquant类型的量化标度的例子,来解释自适应量化过程。
具体实施方式
通过参考这里的附图和解释能够完整的理解本发明和其中的运作优点。
本发明的示例性实施例将参考附图进行详细描述。在图中,相同的附图标记代表相同的元件。
图1是框图,示出了根据本发明的一个实施例的包含编码(比特)率控制器的移动图像专家组2(MPEG-2)视频数据传输系统。在图1中,根据本发明的一个实施例的视频数据传输系统包括视频编码器110,编码(比特)率控制器120,和编码器缓冲器130。
视频编码器110接收对应于当前图像类型的当前宏块行的量化器标度值(mquantj+1)和视频输入数据,根据量化器标度值(mquantj+1)对视频输入数据编码,并输出编码后的视频数据ED。视频输入数据通常可以是作为能够从视频相机等得到的视频数据的R、G、B信号或者Y、Pb、Pr信号,输出为8比特数据信号,但是视频输入数据并不局限于这些例子。
编码(比特)率控制器120通过采用编码的视频数据ED的先前图像组(GOP)的每种图像类型I、P和B的编码比特的平均数量Bi,p,b和每图像比特的平均目标数量Tavgi,p,b、和缓冲平衡值d来计算与当前图像类型相关的每图像比特的目标数量T。编码率控制器120通过采用与当前图像类型相同的在先(例如最近)图像的平均量化器标度值Qi,p,b来计算并输出对应于当前图像类型的第一宏块行的启始量化器标度值Qinit。通常,编码(比特)率控制器120通过采用在先前宏块行中每单元行编码比特的数量Sj-Sj-1和每单元行比特的目标数量Trow的函数计算并输出对应于当前宏块行的量化器标度值mquantj+1
GOP通常包括十五幅图像,传输两个GOP所需要的时间可以是单元秒。组成GOP的图像类型按照I,B,B,P,B,B,P,B,B,P,.....的顺序传输,对应于一种图像类型的时间与对应于一帧的时间相等。
编码器缓冲器130根据预定的传输率输出编码后的视频数据ED。数字电视(DTV)的传输率为大约20Mbps,数字视频盘(DVD)大约为5Mbps。编码器缓冲器130输出的视频数据BD是按照移动图像专家组2(MPEG-2)标准压缩的数据,并能通过无线LAN或者DTV发射器进行传送,然后作为射频(RF)信号输出。此外,压缩后的视频数据BD能被编码并记录到例如DVD光盘等的介质上。
本发明特别涉及通过编码(比特)率控制器120的可变比特率(VBR)控制方法控制编码(比特)率。
图2是框图,特别地示出在图1中示出的编码(比特)率控制器120。
在图2中,编码(比特)率控制器120(同样在图1中示出)包括比特分配单元121,速率控制单元123,自适应量化单元125,和缓冲率计算单元129。
比特分配单元121采用先前图像组GOP的每种图像类型I、P和B的编码比特的平均数量Bi,p,b和每图像比特的平均目标数量Tavgi,p,b、和缓冲平衡值d来计算并输出当前图像类型的每图像比特的目标数量T。每图像比特的目标数量T采用公式1和公式2计算。在图2中,编码比特平均数量计算单元1211接收经过编码的视频数据ED,计算每种图像类型的(每图像)编码比特的平均数量Bi,p,b。通用表达式Bi,p,b代表每种图像类型I、P和B的(每图像)编码比特的平均数量;更确切地说,Bi、Bp和Bb分别代表每种图像类型I、P和B的编码比特的平均数量。目标比特数量计算单元1213采用公式1和公式2计算并输出每图像比特的目标数量T。
(公式1)
Tavg i , p , b = B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · bit _ rate frame _ rate ]]>
这里Tavgi,p,b为每种图像类型的每图像比特的平均目标数量,Bi,p,b为每种图像类型的编码比特的平均数量,Ni、Np和Nb分别是图像组GOP中的I、P和B图像的数量,bit_rate是预定传输率,frame_rate是帧率。通用表达式Tavgi,p,b代表每种图像类型I、P和B的每图像比特的平均目标数量;更确切的说,Tavgi、Tavgp和Tavgb分别代表图像类型I、P和B的每图像比特的平均目标数量。Ni、Np和Nb分别代表I、P和B图像的数量,它们在上述例子中分别等于1、4和10。代表预定传输率的bit_rate是每秒传输的比特数量。代表帧率的frame_rate是每秒传输的帧数量。
(公式2)
T = Tavg i , p , b - B i , p , b · ( N i + N p + N b ) B i · N i + B p · N p + B b · N b · d N dis ]]>
这里T为比特的目标数量;d是缓冲平衡值;Ndis为分散的图像的数量。Ndis代表用于分散缓冲平衡的影响的分散图像的数量,在以上例子中为30,其在以上的例子中为对应于一秒的帧的数量。
采用公式2和公式3计算缓冲平衡值d。公式3由缓冲率计算单元129计算。这里,如同从公式2中所示,当缓冲平衡值d为负值时,当前图像类型的每图像比特的目标数量T被增加。
(公式3)
d+=Si,p,b-Tavgi,p,b
这里d+为缓冲平衡值中的变化(差异);Si,p,b为每种图像类型的一个图像的编码比特总数量。通用表达式Si,p,b代表每种图像类型的图像的编码比特总数量,分别用Si、Sp和Sb表示图像类型I、P和B。等式3表示“d(i)=d(i-1)+Si,p,b-Tavgi,p,b”,这里d(i)代表当前图像的缓冲平衡值,d(i-1)代表先前图像的缓冲平衡值。
每种图像类型的编码比特的平均数量Bi,p,b能够采用诸如公式4的条件表达式进行更正:
(公式4)
If(Bp<1.2·Bb)  Bp=1.2·Bb
If(Bi<1.2·Bp)  Bi=1.2·Bp
If(Bi>3.5·Bp)  Bi=3.5·Bp
If(Bb<0.6·Bp)  Bb=0.6·Bp
速率控制单元123采用当前图像类型的先前图像中的在先(例如最近)图像的平均量化器标度值Qi,p,b、和每图像比特的目标数量T来计算并输出对应于当前图像类型的第一宏块行的启始量化器标度值Qinit。相应于第一宏块行的启始量化器标度值Qinit是mquant1。采用公式5至7计算对应于当前图像类型的第一宏块行的启始量化器标度值Qinit。公式7通过使用公式6获得。
(公式5)
Q i , p , b = 1 N row · Σ j = 1 N row mquant j ]]>
这里Qi,p,b是平均量化器标度值;mquantj是对应于第j个宏块行的量化器标度值,Nrow为在一幅图像中的总行数。
(公式6)
γ = Tavg i , p , b - T Tavg i , p , b ]]>
这里Tavgi,p,b为每种图像类型的每图像比特的平均目标数量;T为每图像比特的目标数量;Qinit为对应于第一宏块行的(启始)量化器标度值。
(公式7)
Q init = Q i , p , b + γ δ ]]>
δ为常数。
自适应量化单元125相应于当前图像类型的各个宏块行计算关于当前图像类型的每个宏块行的在先前行中每单元行编码比特的数量Sj-Sj-1和每单元行比特的目标数量Trow,采用包括每单元行比特的目标数量Trow和每单元行编码比特的数量Sj-Sj-1的函数f和g来计算并输出对应于当前行的量化器标度值mquantj+1,计算并输出当前图像类型的编码比特的总数量Si,p,b。采用涉及函数f和g的公式8来计算对应于当前图像类型的每个宏块行的量化器标度值mquantj+1。公式8中的函数f和g包括先前行的编码比特的数量“Sj-Sj-1”。在代表图4中示出的每个mquant类型的量化器标度的例子中,在公式8中的mquant_up(mquantj,q_scale_type)和mquant_dn(mquantj,q_scale_type)分别是多个q_scale_type的任意一个中对应于这样的第(k+1)个码的量化器标度值,该码比对应于mquantj的先前第k个码大1,和多个q_scale_type的任意一个中对应于这样的第(k-1)个码的量化器标度值,该码比对应于mquantj的先前第k个码小1。例如,当对应于图4中的mquantj的先前第k个码为2且q_scale_type为“0”的量化器标度值为4时,mquant_up(mquantj,q_scale_type)和mquant_dn(mquantj,q_scale_type)分别代表对应于第“k+1”个码和第“k-1”个码的量化器标度值6和2。
存储器127存储从自适应量化单元125输出的量化器标度值mquantj+1,并输出先前图像类型和先前宏块行的量化器标度值mquantj
缓冲率计算单元129采用当前图像类型的每图像比特的平均目标数量Tavgi,p,b和编码比特的总数量Si,p,b,根据公式3计算缓冲平衡值,然后输出它。
(公式8)
if(f(j,Sj,Sj-1,Trow)>β_upj),thenmquantj+1=mquant_up(mquantj,q_scale_type);else if(g(j,Sj,Sj-1,Trow)>β_dnj),then mquantj+1=mquant_dn(mquantj,q_scale_type);else mquantj+1=mquantj
这里Sj为图像中从第一宏块行到第j个宏块行的编码比特的数量;Trow为每单元行的比特目标数量;mquant_up(mquantj,q_scale_type)为在多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码大于对应于mquantj的先前第k个码,mquant_dn(mquantj,q_scale_type)为多个q_scale_type的任意一个中对应于这样的码的量化器标度值,该码小于对应于mquantj的先前第k个码;β_upj和β_dnj分别是第一和第二临界常数。
根据本发明的实施例,现更为详细地描述编码率控制器120的运作。
图3是一个流程图,示出了编码(比特)率控制器120的运作方法。
当图1中所示视频编码器110开始其编码过程时,编码率控制器120重新设置并初始化(S311)先前图像组的每种图像类型I、P和B的(每图像)编码比特的平均数量Bi,p,b和当前图像类型(举例来说)的先前图像中的最近的图像的平均量化器标度值Qi,p,b,然后执行开始对图像组进行编码(S313)的步骤(S313)。当在当前图像组中的每种类型I、P和B的图像完成编码时,平均编码比特计算单元1211计算在先前图像组中类型I、P和B的图像的编码比特的平均数量Bi,p,b(S313)。
然后,目标比特计算单元1213采用每图像比特的平均目标数量Tavgi,p,b和缓冲平衡值d根据公式2计算当前图像类型的每图像比特的目标数量T。在该时刻,速率控制单元123用公式7,通过采用当前图像类型的先前图像中的最近图像的平均量化器标度值Qi,p,b,来计算对应于当前图像类型的第一宏块行的启始量化器标度值Qinit(S315)。
当为构成每幅图像的宏块行计算量化器标度值mquantj+1的步骤S317被执行时,自适应量化单元125计算先前宏块行中的编码比特的数量Sj-Sj-1(S319),并根据包含每单元行比特的目标数量Trow的函数f和g,根据公式8计算对应于当前宏块行的量化器标度值mquantj+1,直到当前图像的最后行(S320和S321)。
当针对一幅图像的计算结束时,自适应量化单元125计算并输出当前图像类型的编码比特的总数量Si,p,b。在该时刻,为了下一幅图像的计算,缓冲率计算单元129采用公式3计算缓冲平衡值d,速率控制单元123采用公式5再次计算与当前图像类型相同的先前图像中的最后的图像的平均量化器标度值Qi,p,b(S323)。当图像组的编码完成时,平均编码比特计算单元1211重新计算每种类型I、P和B的先前图像的编码比特的平均数量Bi,p,b(S325,S313)。为了对新图像组中每幅图像计算量化器标度值mquantj+1,上述过程重复进行直到编码序列结束(S327)。
如上所述,根据当前发明的实施例的编码(比特)率控制器120包括比特分配单元121,速率控制单元123,自适应量化单元125,因此采用可变比特率控制(VBR)方法实时计算并输出对应于当前图像的每个宏块行的量化器标度值mquantj+1,在该方法中,当当前图像的特征不同于先前图像时,有限数量的比特不必被强行使用,并且量化器标度针对当前图像的各种特征自适应地设置,而不必对应于量化器标度的变化而采用附加数量的比特。
如上所述,根据当前发明的编码率控制器和视频数据传输系统基于先前的编码结果将比特的数量分配到当前图像,而没有定义编码(比特)率和失真之间的关系,当当前图像的特征不同于先前图像时,有限数量的比特不必被强行使用,针对当前图像的各种特征自适应地设置量化器标度,而不必对应于量化器标度的变化而采用附加数量的比特。因此,这就可能通过采用该实时可变比特率控制来提高将在监视器上显示的视频数据的图像质量。
虽然,参考示例性实施例而具体地显示和描述了本发明,但本领域技术人员可以理解,在不脱离权利要求限定的本发明的精神和范围的情况下,可以做出形式上或细节的不同改动。
对相关申请的参照
本申请要求韩国专利申请No.2003-55877的优先权,其在2003年8月12日在韩国知识产权局提交,在此引入其全部内容作为参考。

视频数据传输系统.pdf_第1页
第1页 / 共25页
视频数据传输系统.pdf_第2页
第2页 / 共25页
视频数据传输系统.pdf_第3页
第3页 / 共25页
点击查看更多>>
资源描述

《视频数据传输系统.pdf》由会员分享,可在线阅读,更多相关《视频数据传输系统.pdf(25页珍藏版)》请在专利查询网上搜索。

一种控制编码(比特)率的方法和一种传输视频数据的方法,和一种用于采用该方法的视频数据传输系统和视频编码器的编码(比特)率控制器,其中基于先前的编码结果将比特数量分配给当前图像,而没有定义编码率和失真之间的关系,当当前图像的特征不同于先前图像时,不必强行使用有限数量的比特,针对当前图像的各种特征自适应地设置量化器标度,而不必对应于量化器标度的变化采用附加数量的比特,因此就可能通过采用该实时可变比特率。

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

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


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