信号编码方法及装置、 信号记录媒体和 信号传输方法 本发明涉及在发送端实行数字信号高效编码的信号编码装置,信号编码方法,信号记录媒体和信号传输方法,尤其涉及以可变比特率控制进行运动图像信号编码的信号编码装置,信号编码方法,信号记录媒体和信号传输方法。
由于数字视频信号极大的数据量,当需要在存储容量较小的记录媒体上记录较长时间的数字视频信号时,不可避免要使用高效的视频信号编码方法。为解决这个问题,已经提出了利用视频信号间相关性的高效编码方法。方法之一是MPEG,在ISO-IEC/JTC1/SC2/WG11讨论后,MPEG(运动图像编码专家组)作为一种标准被提出。MPEG是利用了运动补偿编码和离散余弦变换(DCT)的一种混合方法。在MPEG方法中,首先,帧间的视频信号差异被确定以便减小时间轴上的冗余度,然后利用离散余弦变换减小空间轴上的冗余度,从而对视频信号进行高效编码。
通常,视频信号不是静止的,图像信息量是随时间而变化的。因此,与恒定比特率编码方法相比,如果使用相同的码量,使用可变比特率编码时可获得高质量的图像。
例如,记录在所谓的DVD-video(数字通用视频盘)上的视频信号通常采用双路径类型(two-path type)的可变比特率编码方法。这种双路径方法的一个例子便是包含在由本发明申请者提出的日本专利申请7-3313348的说明书和附图中的编码方法。
在此,图1为一个利用双路径类型可变比特率编码方法的运动图像编码装置地结构方框图的例子。图2显出了双路径类型可变比特率编码过程的流程图。参考这一流程图,将解释一下图1方框图的处理过程。
首先,在图2的步骤301,来自端子200的运动图像信号送入用以计算每单位时间输入图像的编码难度的编码难度计算器201。在此,编码难度的计算是利用DCT系数来实现的,DCT系数在MPEG方法的编码装置中被以固定量化进行量化,用以计算单位时间所生成的码量。前面所提到的单位时间可以是如0.5秒的数量级。计算出的编码难度‘d’送入分配比特量计算器202。
其次,在步骤302中,在直至最后的输入运动图像信号的编码难度的计算结束后,分配比特量计算器202根据总的编码难度和可用的编码比特量计算单位时间输入图像的分配比特量。例如,通过根据单位时间的编码难度分配总的可用编码比特量来计算单位时间内的分配(目标)比特量。
应注意到延时单元203被用来延迟输入到运动图像编码装置204的运动图像信号,直到编码难度计算器201和分配比特量计算器202对输入的图像的全部时间长度的处理完成。
然后,在步骤303中,运动图像编码装置204将单位时间输入的运动图像编码为在步骤302中计算得到的分配量。
步骤301和302的编码难度和分配比特量计算的处理组成了第一路径的处理。步骤303实际进行的运动图像编码的处理组成了第二路径的处理。对于这种双路径方法,优点是可以有效使用可用的编码比特量。但缺点是处理需要的时间大约为运动图像序列时间长度的2倍,因而不适用于实时处理。
为减少处理时间,在本发明中请者提交的日本专利申请文件7-311418的说明书和附图中公开了一种单路径类型(one-path type)的可变比特率编码方法。
使用单路径类型的可变比特率编码方法的运动图像编码装置的结构与图1所示的方框图一样。然而,分配比特量计算器202和延时单元203的控制方法对于单路径类型和双路径类型是不同的。图3是单路径类型可变比特率编码处理的流程图。参考该流程图,解释一下图1中方框图的处理过程。
在图3的步骤401中,运动图像信号送入图1的编码难度计算器201用以计算单位时间输入图像的编码难度。前面所提到的单位时间可以是0.5秒的数量级。
其次,在步骤402中,当以预定的平均比特率对参考运动图像序列进行可变比特率编码时,预先将单位时间的编码难度‘d’与分配比特量‘b’相关。在此,单位时间内参考运动图像序列的分配比特量的总值设定在一个等于或小于目标记录媒体存储容量的值上。编码难度‘d’与分配比特量‘b’的关系表示于图4中。
在图4中,水平轴代表参考运动图像序列编码难度‘d’的出现概率h(d)。对于任意编码难度,可根据函数b(d)计算分配比特量。通过编码足够的具有预定平均比特率的运动图像序列(例如电影)和评价所得到的图像质量便可经验性地获得这种关系。因此,这种一般关系可以应用于这个世界中大部分序列。根据图4的关系,对于来自端子200的输入图像的单位时间的编码难度‘d’,便可确定分配比特量‘b’。
在这种单路径类型编码方法中,延时单元203用以将输入到运动图像编码装置204的输入图像信号延迟单位时间,直到编码难度计算器201和分配比特量计算器202对单位时间长度输入图像的处理完成。
然后,在步骤403中,根据分配比特量计算器202计算的结果,运动图像编码装置204把单位时间输入的运动图像编码成所提供的分配比特量。
在这种单路径方法中,根据图像信号的输入,有可能根据编码难度几乎实时地进行具有最佳分配比特量的可变比特率编码。
尽管图4的关系可以应用到几乎所有的运动图像序列,也有一些不适用此关系的特殊序列。例如,当在运动图像编码装置204中产生的总比特量超过了总的可用比特量时,该运动图像序列就不能包含在目标记录媒体中。
为了实时地用可变比特率的方法来编码预定的时间长度的运动图像序列,以便将其记录在预定存储容量的记录媒体上,就不可能使用双路径方法。而且,尽管单路径方法几乎可以实时地以可变比特率编码几乎所有的运动图像序列,以使一预定时间长度的序列可包含在一预定存储容量的记录媒体中,但是也有一些特殊序列,其中总的编码比特量超过了可用的总比特量,也就是说,预定长度的序列不能包含在记录媒体中。
因此本发明的目标便是提供运动图像编码方法、运动图像编码装置和已编码信号的记录媒体,在该记录媒体中包含由编码装置记录的数据,编码装置利用可变比特率方法对一预定时间长度的运动图像序列进行实时编码。从而使得所生成的总的编码比特可以包含在具有预定存储容量的记录媒体中。
为达到上述目标,根据本发明,将预先标准化的单位时间内的编码难度和分配符号量相关,单位时间是事先利用输入信号所属的类型的普通输入信号来规定的,这样就可确定每单位时间的输入信号的编码难度。对于每单位时间的输入信号的编码难度,都确定上述每单位时间的相关的分配符号量的参考值。分配符号量的参考值经修正后便成为实际的分配符号量。根据该实际分配符号量,在上述的每单位时间中输入信号被编码,因而生成编码数据。因而,有可能利用根据输入信号复杂度得到的最佳分配符号量进行实时编码。
前面提到的分配符号量经修正成为实际分配符号量是通过控制实际分配符号量来实现的,因而使得可以记录在记录媒体上的一定时间长度的信号在编码时所生成的总比特量等于或小于要记录信号的记录媒体所提供的比特量。
更确切地说,在对每单位时间的输入信号以恒定的分配比特量bav进行编码时,迄今为止的分配比特量的总和Bav与迄今为止的实际生成的编码比特量的总和Bgen进行比较。如果(Bav-Bgen)的值为正,就允许分配比特量等于或大于bav,从而保证前面所说的目标。这里bav由下式给出。
即,bav=TGOP×BV/TSEQ,其中BV是要记录运动图像的信号记录媒体中可供的比特量;TSEQ是可以记录于信号记录媒体上的运动图像序列;TGOP是单位时间长度。
根据在把上述的分配符号量参考值修改为实际的分配符号量时所使用的信息,输入信号要经过前置滤波器处理,然后对处理后的信号编码,从而信号的编码恶化程度不太明显。更确切地说,当压缩实际的分配符号量使之低于分配符号量参考值时,输入图像要经过低通滤波器处理,从而确保图像的编码恶化程度不明显。
当多次对信号编码和把编码后信号记录到记录媒体中时,(Bav-Bgen)的值或与之相当的值被记录到记录媒体上,因此当下一次把信号记录于记录媒体的空白区域时,在信号记录以前,从记录媒体中读出(Bav-Bgen)的值或与之相当的值,根据该值在单位时间内计算输入信号的分配比特量。这样就可以有效利用记录媒体的存储容量。
进一步讲,在输入信号为运动图像信号时,根据每个预定时间段的输入图像的图像特征信息可确定编码难度,并且基于该图像特征信息用反映人的视觉特征的分配符号量来进行编码。
附图的简要说明
图1示出了使用常规双路径或单路径类型可变比特率编码方法的运动图像编码装置的结构实例的方框图。
图2是用以说明常规双路径方法的可变比特率编码处理的流程图。
图3是用以说明常规单路径方法的可变比特率编码处理的流程图
图4表明了在参考运动图像序列中每单位时间图像编码难度d的出现概率h(d)和用以表明对应于编码难度d在一预定的平均比特率时的分配比特量b的函数b(d)。
图5表明了根据本发明实施例的基于运动图像编码方法的运动图像编码装置的结构实例的方框图。
图6是图5中编码难度计算器13的第一个结构实例的方框图。
图7是图5中编码难度计算器13的第二个结构实例的方框图。
图8为一流程图,表明了把图5中分配比特量计算器14提供的分配比特量参考值‘d’改为实际分配比特量‘bx’的算法。
图9是图5中运动图像编码装置18的结构实例的方框图。
图10表明了把已编码比特流记录到作为信号记录媒体实例的光盘上的结构方框图。
下面参考附图通过优选实施例来描述本发明的信号编码方法、信号编码装置、以及包含用所述编码装置记录的数据的记录媒体、和信号传输方法。在下文的实施例中,将说明用来编码运动图像信号的运动图像编码。首先,参照图5说明根据本发明实施例的运动图像编码方法和装置。
首先,简要说明一下整个结构。来自端子11的运动图像信号S1进入运动矢量计算器12。运动矢量计算器输出输入运动图像的运动矢量信息(运动矢量及其预测残差)。然后,运动图像信号S1和上述的运动矢量信息送入编码难度计算器13。编码难度计算器13计算每单位时间输入图像S1的编码难度‘d’。编码难度‘d’送入分配比特量计算器14。分配比特量计算器14为对输入图像编码而计算每单位时间的分配比特量参考值‘b’。分配比特量参考值‘b’送入控制器15。控制器15修改分配比特量‘b’成实际的分配比特量‘bx’并输入该值。而且,控制器15还输出处理信息S5到前置滤波器17。延时单元16将输入前置滤波器17的运动图像信号S1延迟单位时间,直到编码难度计算器13、分配比特量计算器14、控制器15对单位时间长度内的输入图像S1的处理完成。被延时单元16延迟的输入运动图像信号S2进入前置滤波器17,根据处理信息S5被处理,处理后输出图像信号S3。运动图像编码装置18将单位时间内的上述处理后的图像信号S3编码为分配比特量‘bx’。运动图像编码装置18输出编码比特流S6和每单位时间所生成的比特量‘bgen’。编码比特流S6由端子19输出。
下面,将详细说明方框图5的各组件的具体实例。运动矢量计算器12在MPEG的宏块(16×16像素,下文称之为MB)的基础上计算运动矢量。通过参考帧和当前MB间的模式匹配来检测运动矢量。也就是说,如下面式(1)所示,在当前MB信号A[i,j]和被随机运动矢量(x,y)所参考的MB信号F[x+1,y+j]之间得到差值的绝对值的和Ef。
Ef=∑|A[i,j]-F[x+i,y+i]|(i=0到15,=0到15)...(1)
运动矢量计算器12假设使上面所述Ef最小的坐标(x,y)为当前MB(宏块)的运动矢量,并且把Ef作为运动矢量的预测残差输出。
图5中的编码难度计算器13用来计算编码难度,它是反映每单位时间输入图像S1的信息量编码恶化程度的参数。前面提到的单位时间例如大约为0.5秒。
图6示出了编码难度计算器13的第一个结构实例的方框图。计算器27用来计算运动矢量的预测残差,也就是说,对每单位时间利用前面提到的式(1)计算出的Ef的总和D1,然后引入表明编码恶化显著程度的参数α,因此输出每单位时间输入图像的编码难度d=D1×α。
作为表明编码恶化显著程度的参数,图像信息计算器26计算表明输入图像平坦度(flatness)的参数,如MB信号的分散(dispersion)值。通常,对于人眼而言平坦图像部分的编码噪声是明显的,但在复杂图像部分,却不能轻易被识别出。基于此,当图像分散值增加时,减小α值。相反,当图像分散值减小时,增加α值。注意到当输入图像采用图像编码方式(未图示)在一帧内编码(帧内编码)时,最好使用前面所提到的D1,D1为单位时间由图像信息计算器26计算出的MB信号的分散值的总和。
图7示出了图5中编码难度计算器13的又一实例结构方框图。本例采用了运动补偿帧间(frame-to-frame)预测和DCT结合的混合方法,其中总和D2为量化器的量化步长固定时每单位时间生成的比特量的总和,然后利用表明编码恶化显著程度的参数α对D2进行修正,因而输出每单位时间输入图像的编码难度d=D2×α,其中α值与上面所说的相同。
下面进一步细化图7的方框图。输入图像MB信号由端子30给出,由端子31得到它的运动矢量。运动补偿电路38有一图像存储器,可根据运动矢量从图像存储器中读出预测MB信号。利用由端子30输入的MB信号作为加信号,把由上述的运动补偿电路38得到的上述预测MB信号作为减信号,计算器32执行加法运算,从而得到输入MB信号和预测MB信号的差值。该差值作为预测残差MB信号输出。应该注意到。当图像编码方式(未图示)指定进行输入图像的帧内编码时,不再进行预测,从计算器32输出的输入MB信号直接被输出。前面提到的预测残差MB信号(如没有进行预测便是输入MB信号)送入DCT电路33。DCT电路对上述的预测残差MB信号进行二维DCT运算。从DCT电路33输出的DCT系数在具有预先设定固定量化级的量化电路34中量化。量化电路34输出量化输出信号,该信号被送入可变长度编码电路39和逆量化电路35。在可变长度编码电路39中,对上述的量化输出信号进行例如Huffman编码。从该可变长度编码电路39输出的信号送入用于计算每单位时间生成的码量和D2的生成码量计数器40中。另一方面,在逆量化电路35中,上述的量化输出信号根据量化电路34中的量化级进行逆量化过程。逆量化电路35的输出送入逆DCT电路36用以进行逆DCT处理,译码后的预测残差MB信号送入计算器37。与送入上述计算器32相同的预测MB信号也送入计算器37。计算器37把预测MB信号和上述的译码后预测残差MB信号相加。从而可以获得部分译码的图像信号。该部分译码的图像信号存储于运动补偿电路的图像存储器中用以作为下一次运动补偿的参考图像。
然后,图5的分配比特量计算器14为编码难度为‘d’的单位时间输入图像计算分配比特参考值‘b’。例如,在上述的单路径类型可变比特率编码方法中,当参考运动图像序列是被利用具有预先设定平均比特率的可变比特率编码方法编码时,每单位时间的编码难度与分配比特量相关。根据这一关系,对于由编码难度计算器13得到的编码难度d可给出一分配比特量参考值b。如果输入运动图像类型转变,如在电影图像源和摄像机视频源间变化,图4的关系会更有效。
图5中的控制器15用来把分配比特量计算器14的分配比特量参考值‘b’修改为输出的实际分配比特量‘bx’。控制器15控制实际分配比特量‘bx’从而当对可记录到信号记录媒体上的一定时间段内的运动图像序列进行编码时生成的比特量总和会小于或等于用于记录运动图像的信号记录媒体所提供的比特量。
参考图8的流程图,将对控制器15中用于把分配比特量参考值‘b’修改为实际分配比特量‘bx’的算法的具体例子说明一下。
在图8的步骤100中,设定S(=Bav-Bgen)的初始值,其中Bav是以恒定比特率Rav编码输入运动图像的迄今为止的分配比特量的和;Bgen是迄今为止的实际产生的比特量的总和。在此,Rav定义为:Rav=BV/TSEQ,其中BV为记录运动图像的信号记录媒体的可提供比特量,TSEQ是可以记录于信号记录媒体的运动图像序列的时间长度。
当在一个新媒体上开始记录信号时,设定S=0,或者如果记录媒体的存储容量中裕量的预定大小已确定,则裕量值的大小即设定为S的初始值。或者,当在一已被用过的记录媒体的空白区域上记录信号时,前面信号记录的最后的S值(或相对于S的值)记录于记录媒体中,这样当前要记录信号时便可读出作为初始值。
在步骤101中,开始输入运动图像序列。然后,在步骤102中,控制器15读出当前单位时间长度输入图像的分配比特量参考值b,该值来自图5中的分配比特量计算器14。
然后,在步骤103中,上述的分配比特量参考值b与平均分配比特量bav=TGOP×BV/TSEQ相比,其中BV是记录运动图像的信号记录媒体的可供比特量;TSEQ是可记录于信号记录媒体的运动图像序列的时间长度,TGOP为单位时间长度。
如果上述的分配比特参考值b大于平均分配比特量bav(b>bav),控制流程转向步骤104。相反,如果参考值b等于或小于bav,控制流程转向步骤107。
在步骤104中,如果S被确定为大于(b-bav)的值,即如果(s≥b-bav),控制流程转向步骤105。相反,如果S值小于(b-bav)的值,控制流程转向步骤106。
在步骤105,实际分配比特量bx,即图5的控制器15的输出值设定为上述的参考值b(bx=b)。
在步骤106,实际分配比特量bx设定为bav(bx=bav),在步骤107,实际分配比特量bx设定为b(bx=b)。
在步骤105、106、107之后,控制流程转向步骤108。在步骤108中,当前单位时间长度的输入图像被运动图像编码装置18编码为分配比特量bx。在完成编码后,在运动编码装置18中实际产生的编码比特量bgen被输出到控制器15中。
在步骤109中,把(bav-bgen)的值加到上述的S值上。也就是说,S=S+(bav-bgen)。
在步骤110,单位时间长度的输入图像被处理。然后,在步骤111中,判断运动图像序列的输入是否结束,也就是是否到达了尾序列。如果是,编码处理终止。否则,控制流程转回步骤102重复这一系列的处理。
例如,图5的控制器15例如根据图8的过程执行处理,并且为运动图像编码装置18设定实际分配比特量bx。
图5中的延时单元16把单位时间长度的输入图像S1延迟单位时间送入前置滤波器17。应该注意到,在编码难度计算器13具有图6的方框图所示的结构时,可以不包括延时单元16。
根据来自控制器15的处理信息S5,图5的前置滤波器17自适应地使输入图像S2经过低通滤波器处理,并输出处理后图像S3。当控制器15处于上述的图8的流程图中的步骤106的状态时,即,当单位时间输入图像的编码难度相对较高并且分配比特量参考值b大于平均分配比特量bav,但实际分配比特量bx压缩为bav时,处理信息S5被输出,以便在前置滤波器17中对输入图像进行低通滤波器处理,从而使得编码恶化变得不显著。处理信息S5的内容最好是这样的:当(b-bav)的值增加时,低通滤波器处理的通带变窄。当控制器15处于图8流程图中的步骤105或107时,前置滤波器17直接输出图像S2作为S3。
应注意到图5方框图中的前置滤波器并非是必不可少的,但它的使用可以使编码恶化不明显的效果更好。
图5的运动图像编码装置18将输入图像S3编码为分配比特量bx。图9的方框图示出了运动图像编码装置18的结构实例,其中大部分部件与上述的图7中编码难度计算器的部件相同。它们用相同的方框标号表示。不同于图7的部件将被加以说明。
由端子50提供的分配比特量bx送入量化尺度(scale)控制器51。一种可变长度编码装置39输出基于例如ISO/IEC 13818-2(MPEG2视频)句法的比特流。生成符号量计数器52对单位时间内可变长度编码装置39的输出符号量计数,并把计数值S7送入量化尺度控制器51。量化尺度控制器51输出量化步长S8到量化器53,以使单位时间内生成的符号量S7与分配比特量bx相等。上述的比特流送入缓冲器54,并且按预先设定的比特率由端子55读出。单位时间生成的比特量bgen从端子56输出。
已编码数据流S6由图5的端子19输出。该比特流记录于信号记录媒体中并且通过传播路径传输。
图10解释了把光盘85作为信号记录媒体的例子。在图10中,上述的比特流S6送入端子80中。比特流S6送入多路选择器81。多路选择器81采用时分复用的方式,把比特流S6与另外的编码比特流如音频信号(未图示)复用,从而形成单一的复用比特流。这种复用的比特流通过ECC编码器82加上纠错码并传输至调制电路83。在调制电路83中,由ECC编码器82输出的信号经过预定的调制处理如8-14调制。调制电路83的输出传送到记录头84,因而通过记录头可把信号记录于光盘85上。
应注意到在图10的例子中,信号记录媒体是光盘,但是由本发明的装置进行编码的信号也可以记录到带状的记录媒体如磁带上,或磁盘媒体如硬盘、软盘和IC卡及各种存储装置上。而且,作为光盘,也可使用不同类型的光盘;利用凹坑记录的盘和磁光盘、还有相变(phase-change)型盘和有机色素(organic pigment)型光盘、利用紫外激光束记录的光盘、多层记录膜的光盘等。
而且,本发明不局限于上述的实施例,例如,数字信号处理不局限于运动图像视频信号也可应用于音频信号等。本发明可在本发明的范围内有不同方式的修改。
根据本发明,分配符号量与每单位时间的编码难度相关,该单位时间由输入信号所属的信号类型普通输入信号事先标准化,从而可得到每单位时间输入信号的编码难度,并且对于该输入信号的每单位时间的编码难度,可获得上述相关的每单位时间的分配符号量参考值。上述的分配符号量参考值被修正为实际分配符号量,从而根据该实际符号分配量,输入信号在每单位时间内被编码,从而产生编码数据。所以,有可能根据输入的信号的复杂性利用最佳的分配符号量实时进行编码。
上述例子中的修正分配符号量参考值为实际符号分配量起到如下作用:当对可在记录媒体上记录的一定时间长度的信号进行编码时所生成的比特量的总和等于或小于要记录信号的记录媒体的可供比特量,这样就可控制实际的分配比特量,反过来这又确保一定时间长度的信号可以记录在预定存储容量的记录媒体中。
例如,当以预定分配比特量bav对每单位时间的输入信号进行编码时,迄今为止的分配比特量的总和Bav与迄今为止实际生成的编码比特量总和Bgen进行比较,如果(Bav-Bgen)的值为正,便允许分配分配比特量等于或大于bav。在此,bav定义如下:bav=TGOP×BV/TSEQ,其中BV是用于记录运动图像的信号记录媒体的可用比特量;TSEQ是可以记录于信号记录媒体的运动图像的时间长度;TGOP在单位时间长度。因而,就有可能确保一预定时间长度的信号可以记录于有一预定存储容量的记录媒体中。
根据在修正上述分配符号量参考值为实际分配量时所用的信息,输入信号经过前置滤波器处理,处理后的信号进行编码,从而可使得信号编码恶化不明显。更具体地说,当把上述的实际分配量减小到小于分配符号量参考值时,输入信号经过低通滤波器处理,因而使得图像编码恶化不明显。
当多次执行信号编码和把编码信号记录于记录媒体时,上述的(Bav-Bgen)的值或与之相当的值被记录于记录媒体中,因而当下次在该记录媒体的空白区域上记录信号时,在信号记录前,上述的(Bav-Bgen)的值或与之相当的值可从记录媒体中读出,根据此值计算输入信号每单位时间的分配比特量,因而可以有效地利用记录媒体的存储容量。
而且,当上述的输入信号是运动图像信号时,可根据每个预定时间段的图像特征信息来确定上述的输入图像的编码难度,因此可利用从图像特征信息得到的反映人的视觉特征的分配符号量进行编码,从而实现高效的运动图像编码。