视频编码方法和视频编码设备的制作方法

文档序号:7934302阅读:182来源:国知局
专利名称:视频编码方法和视频编码设备的制作方法
技术领域
本发明涉及诸如用在通过因特网等的视频发送系统和视频数据库系统的MPEG方案的一种视频压缩和编码技术。本发明特别涉及一种视频编码方法和一种视频编码设备,它们能够通过根据基于画面的内容的编码参数的编码数据,为各个画面提供一致的解码视频,这种画面容易看到而不需要大的数据大小。
MPEG方案是用于视频编码的一种国际标准,是用于通过运动补偿预测、离散余弦变换和可变长度编码的结合而进行视频压缩的技术,这是众所周知的。MPEG方案在例如参考文献1“MPEG”(TheInstitute of Television Engineers edition,Ohmsha,Ltd)中有详细描述。
在基于MPEG方案的传统视频编码设备中,压缩的视频数据通过其发送速率得到指定的发送线路进行发送,或者被记录在其记录容量有限的存储介质上。因此,被称为速率控制的用于设定编码参数(诸如帧速率和量化宽度)和进行编码以使输出的编码位流的位速率能够变成一个指定值的处理。在传统的速率控制中,经常采用一种方法,它根据作为相对于一个固定量化宽度的前面的帧的编码的结果的所生成的位的数目,来确定一个帧速率。
传统上,帧速率是根据当前的缓存器容量和根据其中临时存储有编码的位流的缓存器的容量预定的一个帧跳过阈值之间的差而确定的。如果缓存器容量低于该阈值,数据以一个固定帧速率得到编码。如果缓存器容量高于该阈值,则进行帧跳过以减小帧速率。
然而,借助这种方法,如果在前一帧中生成的编码位数目大,帧跳过直到缓存器容量变得不再大于帧跳过阈值之前都在进行。因此,帧与下一个帧之间的距离变得太宽,因而视频变得不自然,这是不利的。
即,根据传统的速率控制,帧速率和量化宽度基本上是与视频内容无关地设置的。因此,在其上对象剧烈移动的视频中的画面上帧速率变得较低,且对象的运动变得不自然。另外,由于不适当的量化宽度,图象可能畸变,从而难于在识别图象。
同时,还显示了一种基于被称为两通过编码的技术的帧速率控制方法。这种技术在例如参考文献2即日本专利未审查申请公开第10-336675号中进行了描述。如在参考文献2中所述,一个视频文件被编码了两次,视频文件的总体特性被第一次编码所分析,第二编码是通过根据分析的结果设定适当的编码参数--进行的,且第二编码而获得的一种编码的位流得到发送或记录。这种两通过编码具有与上述的方法相同的问题,因为编码参数是传统的,基本上是与视频的内容无关地设定的。
如上所述,在传统的视频编码设备中,在进行速率控制时,诸如帧速率和量化宽度的编码参数与视频无关地得到设定。因此,在其中对象剧烈移动的视频中的画面上,帧速率突然减小,且对象的移动变得不自然。另外,由于不适当的量化宽度,视频会畸变。因此,传统的视频编码设备的不利,是图象质量的恶化倾向于明显。
因此,本发明的一个目的,是提供一种视频编码方法和一种视频编码设备,它们能够在把编码的位速率保持在一个指示值的同时,以与视频的画面内容相适合的图象质量,进行视频编码。
如果压缩的视频数据被记录在容量有限的存储介质上或通过因特网下载,则重要是在数据大小固定的情况下,尽可能地以一个帧速率或者适合于画面的量化宽度有效地编码数据。为此,由于生成的位数不总是与画面的内容有关,所希望的是编码的参数根据画面上的对象的移动和画面的内容而确定,以获得良好的图象。
本发明提供了一种视频编码方法和一种视频编码设备,用于把输入的视频信号分成多个暂时连续的画面—其每一个都由至少一个帧构成,计算每一个画面的统计特征量,并利用编码的参数对输入的视频信号进行编码。
在此,统计特征量是通过合计存在于各个画面的输入信号的各个帧中的运动矢量的分布和大小,而得到计算的。编码的参数包括例如至少一个帧速率和量化宽度。
另外合计之外,作为存在于各个画面的每一个帧中的运动矢量的统计特征量分布和大小,可按照运动矢量的大小和分布并根据当获得输入视频信号时采用的摄象机的运动和在一个视频上的一个对象的移动,而对帧进行分类,从而根据帧的类型对画面进行分类,且编码的参数可按照画面的分类而得到生成。
如果以宏块为单位的量化宽度是作为编码的参数而生成的,则在将要编码的帧中的宏块中亮度与相邻的宏块相差小于一个预定值的一个宏块的量化宽度,以及其中存在一个对象的边缘的宏块的量化宽度,可以被作得比其他的宏块的量化宽度小。
如此,根据本发明,用于对输入视频信号进行编码的编码参数,是根据为输入视频信号的各个画面计算的统计特征量,而为各个画面生成的,从而可以防止帧速率在对象运动或摄象机移动时发生减小,并防止解码的视频的观看质量恶化。
进一步地,基于视频中的对象的运动、摄象机的运动等的视频特征量,反映在帧速率根据其改变的编码参数上,或者量化宽度是为各个宏块而改变的,从而即使对于相同数目的生成的位,也可以为各个画面获得一致的良好的解码视频。
另外,本发明可应用于对相同的视频文件的输入视频信号进行两次或更多次编码的视频编码设备。即,根据为输入视频信号的各个画面计算的统计特征量,利用为各个画面生成的第一编码参数对输入视频信号编码,从而判定第一编码生成的编码串的生成位数是超过还是不够目标位数,第一编码参数根据该判定结果而得到校正,从而提供第二编码参数。利用第二编码参数对输入视频信号进行第二编码,从而生成一种码串,且该码串作为编码输出而得到输出。
可见,如上生成的编码参数在保持监测生成的位数的同时得到校正,且编码被重复两或多次,从而可以实现能够获得良好的解码视频的编码,且数据的大小不大体目标位数。
本发明的其他目的和优点将由以下的描述给出,或者将从其变得显而易见,或者可以从本发明的实施中得知。本发明的目的和优点可通过以下具体给出的装置设置和组合而实现和获得。
附图作为本说明书的一部分,显示了本发明的最佳实施例,并与上述的概述和以下对最佳实施例的详细描述一起,用于说明本发明。


图1是显示根据本发明的一个实施例的视频编码设备的构造的框图;图2显示了根据画面内容进行视频编码的一个例子,用于描述该实施例的总体情况;图3是显示该实施例中的编码处理过程的流程图;图4是显示该实施例中画面分裂的处理的流程图;图5是该实施例中判定用于分割画面的画面分割的确定操作的说明图;图6是该实施例中的闪烁帧确定操作的说明图;图7是该实施例中基于运动矢量的帧类型分类的说明图;图8是该实施例中用于确定其中倾向于发生蚊(mosquito)噪声的微块的说明图;图9是该实施例中用于确定其中存在边缘的微块的说明图;且图10显示了采用其中存储有用于执行根据本发明的视频编码的程序的记录介质的计算机设备。
以下结合附图描述本发明的实施例。
图1是显示根据本发明的一个实施例中的视频编码设备的构造的框图。如其中所示,一个输入视频信号100是由诸如能够重复再现相同信号的数字VTR或DVD系统的视频记录/再现设备所再现的视频信号。信号100被输入一个编码器部分10。在此实施例中,编码器部分10的结构与基于MPEG方案的视频编码设备相同。
在编码器部分10中,从输入视频信号100选出的将要编码的帧的视频信号首先被存储在一个帧存储器11中。从帧存储器11读出的将要编码的帧的视频信号101被输入一个减法器12和一个运动补偿预测器19。运动补偿预测器19中包括一个运动矢量探测器并产生用于运动补偿预测的预测信号109。
作为将要编码的帧,有三种图象,即I图象、P图象和B图象。如果将要编码的帧是I图象,运动补偿预测器19不探测矢量,并输出0作为预测信号109。如果将要编码的帧是P图象或B图象,运动补偿预测器19为来自将要编码的帧的视频信号101的各个宏块探测运动矢量,并生成一个预测信号109。
运动矢量是以将要编码的帧的视频信号101与由已经编码并存储在一个视频存储器18中的一个帧的本地解码信号构成的基准图象信号之间的宏块为单位,而进行探测的。具体地,与将要编码的帧的图象信号101的宏块具有最高相关性的基准图象信号的宏块得到探测,从而探测表示视频信号101的宏块是从基准图象信号的哪一个宏块进行移动的信息,作为运动矢量。
运动补偿预测器19利用这种运动矢量对基准图象信号进行运动补偿,并生成一种预测信号109。即,运动补偿预测器19从一种运动补偿帧间预测模式与其中将要编码的帧的视频信号101不变地得到编码的一种帧内编码模式(其中预测信号=0)中选出一种较好的预测模式,并生成与选出的预测模式相应的一种预测信号109。
减法器12获得将要编码的帧的视频信号101与来自运动补偿预测器19的预测信号109之间的差,并生成一种预测误差信号102。预测误差信号102受到由离散余弦变换器13进行的以一定大小的块为单位的离散余弦变换(DCT)。离散余弦变换获得的DCT系数数据103被一个量化器14所量化。量化器14量化的DCT系数数据被分成两部分,即一部分被输入可变长度编码器20,且另一部分被一个去量化器15去量化。去量化的DCT系数数据105进一步受到一个反余弦变换器16的反离散余弦变换(反DCT)。
反离散余弦变换器16的输出106被一个加法器17加到预测信号109上,从而提供一种本地解码信号107,并将其存储在视频存储器18中,作为基准图象信号。存储在视频存储器18中的该基准图象信号被运动补偿预测器19读出,且运动补偿帧间预测得到进行。
表示运动补偿预测模式和运动矢量的预测模式/运动矢量信息110,也从运动补偿预测器19得到输出,并被输入可变长度编码器20。可变长度编码器20对量化的DCT系数数据104和预测模式/运动矢量信息110进行可变长度编码,并输出所获得的可变长度编码的编码流111(以下被称为“编码位流”)。该编码位流111被暂时存储在一个缓存器21中。
在此实施例中,同一视频文件,即诸如电影的具有相同内容的输入视频信号按照上述基本操作被编码两次。进一步地,在此实施例中,提供了一个视频特征计算器31、一个编码参数生成器32、一个编码位数确定部分333、以及一个编码参数校正器34。在第一编码期间, 视频特征量得到计算,且编码参数根据如此计算出的视频特征量得到设定。在第二编码期间,编码位流111的生成编码位数得到确定, 且编码参数根据生成的编码位数得到校正。
即,在第一编码期间,源视频信号100在被输入帧存储器11之前被输入视频特征计算器31。在视频特征计算器31中,视频的统计特征量(以下被称为“视频特征量”)得到计算,如将要在后面详细描述的,视频特征量130是通过合计至少各个画面的输入视频信号100的各个帧中的运动矢量的大小和分布而获得的统计特征量。为了计算视频特征量130,亮度上有突然改变的帧从输入视频信号100的两个相继的帧之间的差值得到探测。探测到的帧被设定为画面分割的领先帧。随后,运动矢量的数目,其分布、其大小,亮度和色度变化等从各个帧的输入视频信号100得到计算,且它们对各个画面得到平均,从而获得了各个画面的特征量的代表值,作为视频特征量130。
如此计算的关于各个画面的视频特征量130的信息被输入编码参数生成器32。编码参数生成器32产生编码参数131,以进行编码,从而使可变长度编码器120中产生的编码位流111的数据大小可变得不大于用户指定的大小。通过把视频特征量130应用于将要在后面描述的编码参数生成公式,编码参数131得到生成。在此获得的编码参数131是帧速率FR和量化宽度QP。
在第一编码中,将要编码的帧的视频信号101根据编码参数生成器32生成的帧速率FR的值而从输入视频信号100中选出,并被存储在帧存储器10中。如果该帧是诸如画面分割时的I图象,不进行运动矢量的探测,且进行帧内编码。如果它是P图象或B图象,根据运动补偿预测进行帧间编码。
进一步地,在帧内编码和帧间编码的任何情况下,从离散余弦转换器13输出的DCT系数数据103根据编码参数生成器32为各个画面生成的量化宽度QP而被量化器14所量化。量化的DCT系数数据104和预测模式/运动矢量信息110如上所述地被可变长度编码器20所编码,与量化宽度QP的信息相结合并作为编码位流111而被输出至缓存器21。
当第一编码结束时,编码位数确定部分33判定存储在缓存器21中的编码位流111的生成位数133是不够还是超出。根据该判定结果,编码参数生成器32生成的编码参数受到编码参数校正器34的校正。
即,如果编码位数确定部分33判定用户指定的目标位数134与生成位数133之差超过了一个阈值,编码参数校正器34校正编码参数,从而使生成位数133几乎目标位数134。第二编码是根据校正的编码参数136而进行的。如果生成位数133与目标位数134之差由于第二编码而变得不超过阈值,存储在缓存器21中的编码位流作为编码输出200而得到输出。编码输出200被馈送给一条发送线路或被存储在一种存储介质中。
在此实施例中的视频编码设备中,视频特征量计算器31如上所述地计算出的视频特征量130是表示各个画面的图象运动得如何剧烈和图象多精细的值。该量被反映在编码参数生成器32生成的编码参数131或由编码参数校正器34校正的编码参数136上,且该编码随后得到进行。
结果,如图2所示,编码可根据适合于各个画面的内容的编码参数(帧速率和量化宽度)而得到进行。即,在具有较小运动的画面(j)上,帧速率被设定得低且量化宽度在各个帧的宏块之间改变,从而获得比较精细的视频,从而可以防止通常受到注意的区域(诸如对象或叠加的对话)中的视频的恶化。
相反地,在具有剧烈运动的画面(j+1)上,帧速率和量化宽度增大,从而获得具有比较自然的运动的解码视频。如果量化宽度增大,解码的视频变得粗糙。然而,由于视频的粗糙在具有剧烈运动的画面上不是很明显,因而可被忽略。
以下利用图3的流程图,描述在此实施例中的视频编码设备的处理。
首先,视频信号100得到输入(步骤S11),且作为如上所述的各个画面的视频的统计特征量的视频特征量得到计算(步骤S12)。在此实施例中这种视频特征量计算步骤S12包括三种处理,即画面分割、特征量计算和画面分类。
随后,生成编码参数(步骤S13)。这种编码参数生成步骤S13包括四种处理,即帧速率计算、量化宽度计算、帧速率调节和各个宏块的量化宽度设定。
随后,视频信号根据生成的编码参数而得到编码(步骤S14)。这种编码步骤S14的处理与上述的相同。
当编码步骤S14中的第一编码结束时,进行编码位数的确定,即确定生成位数与目标位数之差是否大于一个阈值(步骤S15)。
如果编码位数计算步骤S15的确定结果显示生成位数与目标位数之差超过了该阈值,编码参数得到校正,从而减小生成位数与目标位数之差(步骤S16)。在步骤S6,进行第二编码。
如果编码位数确定步骤S15中的确定结果显示生成位数和目标位数之差不超过阈值,编码步骤S14获得的编码位流作为编码输出数据而得到输出(步骤S17)。因此,编码之进行一或两次或更多。
以下将更详细地描述作为本实施例的特性部分的视频特征计算器31、编码参数生成器32、编码位数确定部分33、和编码参数校正器34的处理。
视频特征计算器31首先把视频信号分成画面,计算特征量并最后对画面分类,如下所述。
画面分割输入视频信号100,除了诸如被闪光白帧和噪声帧以外,根据相邻帧之间的不同,被分成多个画面。在此,白帧表示例如一个会见画面或一个新闻节目。这种帧具有亮度的突然增大,诸如闪烁的瞬间(强烈的闪光)。噪声帧表示其中图象由于摄象机的震动等而大大地恶化的帧。画面分割的具体例子将结合图4、5和6描述。
首先,第i个帧与第i+1帧之间的亮度差(以下一切“帧间差”)得到计算(步骤S21)。帧间差被与用户设定的一定的阈值Thre相比较。(步骤S22)。如果比较结果显示帧间差低于该阈值Thre,i被看作是i=i+1(步骤S23)且处理返回到步骤S21。
如果第i帧和i+1帧之差不小于阈值Thre,第i+1帧与第i+2帧之间的差得到计算(步骤S24)。该差被与阈值Thre比较,象在步骤S22中一样(步骤S25)。
如果步骤S25中的比较结果显示该差不小于阈值Thre,即如果第i帧与i+1帧之差和第i+1帧与i+2帧之差不小于阈值Thre,则判定第i帧和第i+1帧属于不同的画面,且第i+1帧被看作对画面的界定。即,第i帧被设定为画面的结束帧,且第i+1帧被设定为画面的开始帧。
另一方面,如果步骤S25的比较结果显示帧之差低于阈值Thre,即第i帧与第i+1帧之差不小于阈值Thre但第i+1帧与第i+2帧之差低于阈值Thre,则进行如图6中所示的判定,即第i+1帧是一个由于闪光而导致的白帧(或噪声帧),第i、i+1和i+2帧下面同一画面,且第i+1帧不是界定画面的帧,且i被看作i=i+2(步骤S26)。处理随后返回步骤S21。
类似地,为了处理由于闪光而具有很多白帧的一个图象等,可采用以下方法来防止在有k个连续的闪光帧时把白帧作为界定一个画面的帧。
即,如果第i帧与i+1、i+2...i+k帧之差分别不小于阈值Thre,且第i帧与i+k+1帧之差不小于阈值Thre,则判定第i帧和第i+1帧下面不同的画面,且第i+1帧是界定画面的帧。
同时,如果第i帧与第i+1、i+2...i+k帧之差分别不小于阈值Thre且第i帧与第i+k+1帧之差低于阈值Thre,则判定第i+1、i+2...i+k和i+k+1帧是白帧或噪声帧,且第i...i+k,i+k+1帧下面同一画面。因此,i+1帧不被看作画面的界定。
较好地是用户能够预先确定并设定连续的同时帧或噪声帧是否被作为上述界定画面的帧。
特征量计算随后,对输入视频信号100的所有帧,计算视频特征量(诸如其中运动矢量存在(运动矢量的数目不为零)的帧中的宏块的数目),运动矢量的平均大小,以及亮度和色度的变化。在此,只对在上述画面分割中被确定为界定画面的帧、闪光帧和噪声帧以外的帧计算特征量。进一步地,特征量对画面分割所确定的各个画面进行平均,且平均值被设定为各个画面的特征量的代表值。
画面分类在此实施例中,除了上述画面分割和特征量计算之外,还利用运动矢量进行以下的画面分类。
在为各个帧计算了运动矢量之后,获得运动矢量的分布,且画面得到分类。具体地,运动矢量在一个帧中的分布得到计算,且检查各个帧属于图7A、7B、7C、7D或7E中显示的哪一个帧。
图7A帧中几乎不存在运动矢量(其中运动矢量的数目不为零的宏块的数目不大于Mmin)。
图7B具有相同的方向和相同大小的运动矢量分布在整个图象平面上(其中运动矢量出现的宏块的数目不小于Mmax,且大小和方向都处于一定的范围内)。
图7C运动矢量只出现在帧中的特定部分中(其中运动矢量出现的宏块集中在一定的部分)。
图7C运动矢量沿着径向分布在一个帧中。
图7E一个帧中的运动矢量数目大且运动矢量的方向不均匀。
图7A至7E显示的情况与获得输入视频信号100时摄象机的运动或拍摄的图象中的对象的运动是紧密相关的。即,在图7A的情况下,摄象机和对象都是静止的。在图7B的情况下,摄象机作平移。在图7C的情况下,对象在静止的背景中运动。在图7D的情况下,摄象机在变焦距。在图7E的情况下,摄象机和对象都在运动。
随后进行了属于如上述图7A、7B、7C、7D或7E中所示的类型的分类之后,帧得到上述分类的画面根据帧的类型得到分类。即,确定各个帧是属于图7A、7B、7C、7D还是7E所示的帧类型。利用画面分类的确定结果(构成各个画面的帧的类型)和上述的特征量,编码参数生成器32以如下方式确定作为各个画面的编码参数的帧速率和量化宽度。
编码参数生成器32以如下方式依次计算帧速率和量化宽度,并校正如此获得的帧速率和量化宽度。另外,编码参数生成器32进行改变各个宏块的量化宽度的处理。
帧速率计算首先,编码参数生成器32确定一个帧速率。假定特征计算器31计算了运动矢量的代表值,作为已如上所述的各个画面的特征量的代表值。例如,第j画面的运动矢量的代表值MVnum_j是与画面上具有运动的宏块的平均数目有关的一个值,如以下公式所示。即,如果第i帧中其中运动矢量的数目不是零的宏块的数目是MVnum(i),则代表值MVnu_m(i)表示如下(MVnum_j)=(包括在第j个画面中的所有帧的平均MVnum(i))×(恒定的乘数).....(1)
利用第j个画面的运动矢量代表值MVnum_j,第j画面的帧速率FR(j)利用以下公式计算FR(j)=a×MVnum_j+b+w_FR.....(2)在公式(2)中,a和b是用户指定的位速率或数据大小的系数,且w_FR是将要描述的加权参数。
公式(2)表示如果该画面上的运动矢量代表值MVnum_j大,即运动更为剧烈,帧速率被设定得较高。
作为运动矢量代表值MVnum_j,一个帧中的运动矢量的大小的绝对和或其密度可得到采用,以代替帧中的运动矢量。
量化宽度计算在如上所述地计算了各个画面的帧速率之后,为各个画面计算量化宽度。第j个画面的量化宽度QP(j),象在帧速率FR(j)的情况下一样,是在采用该画面上的运动矢量代表值MVnum_j的同时利用以下公式计算的QP(j)=c×MVnum_j+d+w_QP.....(3)在公式(3)中,c和d是用户指定的位速率或数据大小系数,且w_QP是将要描述的加权参数。
公式(3)表示如果运动矢量代表值MVnum_j高,量化宽度QP(j)被设定得大。即,量化宽度在具有剧烈运动的画面上大。相反地,量化宽度在运动不那样剧烈的画面上被设定得较小。如此,图象可更清晰。
帧速率和量化宽度的校正在如上所述地计算了各个画面的帧速率FR(j)之后,加权参数w_FR和w_QP分别被加到公式(2)和(3)上,且帧速率和量化宽度利用视频特征量计算器31中处理“画面分类”获得的画面分类结果(各个画面的构成帧的类型)而得到校正。
即,如果画面分类结果对应于图7A中的情况,其中在帧中几乎没有运动矢量,帧速率和量化宽度都减小(加权参数w_FR和w_QP都增大)。如果对应于图7B的情况,帧速率尽可能地增大,从而使摄象机的运动不会变得不自然,且量化宽度增大(加权参数w_FR和w_QP都增大)。在图7C的情况下,如果运动对象的运动,即运动矢量的大小大,帧速率得到校正(加权参数w_FR增大)。在图7D的情况下,由于在摄象机变焦距的情况下对对象的注意较小,量化宽度被设定得大,且帧速率尽量被增大(加权参数w_FR和w_QP都增大)。在图7E的情况下,帧速率和量化宽度都增大(加权参数w_FR和w_QP都增大)。
通过把如此获设定的加权参数w_FR和w_QP分别加到公式(2)和(3)上,帧速率和量化宽度得到了校正。
在图5所示的用于编码处理的过程中(步骤S11至步骤S15),如果用户定义各个宏块的量化宽度,帧中的已经被确定为倾向于生成蚊噪声的宏块的量化宽度或已经被确定为具有强的边缘(诸如叠加的文字)的宏块的量化宽度,被设定得比其他的宏块的量化宽度小,从而部分地改善图象质量。
在此,将描述进一步描述借助公式(5)校正为各个画面获得的量化宽度QP(j)的方法。象对将要编码的帧,各个宏块被进一步分成四个块,且为四个块中的每一个计算亮度的变化。如果具有已的变化的块和具有小的变化的块彼此相邻,且量化宽度大,则倾向于发生蚊噪声。即,如果具有平整的组构的块与具有复杂的组构的块相邻,则倾向于发生蚊噪声。
因此,如果具有小的亮度变化的块与具有已的变化的块相邻,则前一块的量化宽度被设定为小于作为上述编码参数而生成的量化宽度QP(j)。相反地,其中判定蚊噪声不倾向于发生的块的量化宽度被设定为大于量化宽度QP(j)。因此,防止了生成位数的增大。
例如,假定第j个帧中的第m个宏块具有四个小块。在此情况下,如图8所示,如果一个小块满足以下组合块k的亮度变化≥MBVarThre且与块k相邻的块的亮度变化<MBVarThre.....(4)则确定第m个块是其中蚊噪声倾向于发生的宏块。对这种其中倾向于发生蚊噪声的宏块,量化宽度QP(j)_m被如下设定QP(j)_m=QP(j)-q1....(5)另一方面,对于其中判定倾向于发生蚊噪声的宏块,其量化宽度以如下方式增大,从而防止生成位数增大QP(j)_(其中噪声倾向于不发生的MB)=QP(j)+q2....(6)在公式(4)中,MBVarThre是用户定义的阈值。公式(5)中的符号q1和公式(6)中的q2是正数且它们分别满足QP(j)-q1≥(最小量化宽度)和QP(j)+q2≤(最大量化宽度)。对于被分类为其上摄象机如图7B所示地作平移的画面和如图7D所示的其上摄象机进行变焦距的画面,由于观看注意力因为摄象机的运动而很少放在图象中的对象上,q1和q2被设定为低。对于其中运动部分集中在一定的区域中的画面,由于观看注意较大地是在图象中的对象上,q1和q2被设定得高。
对于其中有诸如文字的边缘的宏块,量化宽度被设定得小,从而使文字部分清晰。具体地,如图9所示,对帧上的亮度数据进行边缘强调滤波,从而为各个宏块检验具有高的渐变密度值的象素。具有高的密度值渐变的象素的位置得到合计,从而判定具有部分集中的、具有高渐变的宏块是其中有边缘的宏块。随后,宏块的量化宽度根据公式(5)被设定为小,且其他宏块的量化宽度根据公式(6)被设定为大。
编码器部分10进行与根据MPEG方案的传统视频编码设备的处理相同的处理。在此实施例中,第一编码是根据已经描述的编码参数生成器32生成的编码参数进行的。在此情况下,如此分割的单个的画面受到基本上是固定帧速率和固定量化宽度的编码。即,对于第j个画面,第一帧(j_start)直到最后一帧(j_end)都以帧速率FR(j)和量化宽度QP(j)进行编码。
然而,如果编码参数生成器32进行如上所述的改变各个宏块的量化宽度的处理,编码是以为即使同一帧中的各个宏宽度单独设定形成量化宽度而进行的。
编码位数确定部分33如上所述地把从编码器部分10输出的编码位流111的生成位数133与目标位数134进行比较。如果生成位数133与目标位数之差超过了一个阈值,编码位数确定部分33向编码参数校正器34发出一个指令,以校正编码参数。在校正了编码参数之后,编码器部分10受到一个系统控制部分(未显示)的控制,从而进行第二编码。如果生成位数133不大于目标位数134,则其间的差不大于该阈值,且这些数接近一个合理的范围,则第二编码结束且存储在缓存器21中的编码位流作为编码输出数据被馈送到一个发送线路或一个存储介质。
编码参数校正器34响应于编码位数确定部分33的确定结果校正编码参数。例如,如果生成位数133高于目标位数134,则总体的帧速率减小,量化宽度减小或给予量化宽度的渐变被设定得大。把渐变给予问题是为了使量化宽度根据宏块在帧中的位置而不同,诸如把帧中的中心的宏块的量化宽度设定得大并把周边的宏块的量化宽度设定得小。
编码参数的校正是通过把权w_rerFR和w_rerQP分别加到由编码参数生成器31生成的帧速率FR(j)和量化宽度QP(j)上而实现的。校正的帧速率FR’(j)和量化宽度QP’(j)被表示如下FR′(j)=FR(j)+w_refFR.....(7)QP’(j)=QP(j)+w_refQP....(8)以此方式,编码器部分10利用如此校正的帧速率FR’(j)和量化宽度QP’(j)进行第二编码。
即使在第二编码结束之后,如果生成位数131与目标位数134之间仍然有大的、超过阈值的差,则图3所示的步骤S14至S16的处理得到重复,同时校正权w_rerFR和w_rerQP。当生成位数133最后变得不大于目标位数134并在合理的的范围内接近其时,编码结束且编码输出数据200得到输出。
在上述实施例中,对进行两通过编码的情况进行了描述。本发明也可应用于其中一个视频文件的视频信号只得到一次编码的通常的视频编码设备。
图10显示了一种计算机设备,它采用了其中存储有用于执行视频编码的程序的存储介质。如图10所示,一个个人计算机210包括一个CPU 211、一个主存储器212、一个显示器213、一个HDD/IF 214、一个硬盘215和一个CD-ROM驱动器216。一个存储有用于执行本发明的视频编码的程序的CD-ROM 217被安装在CD-ROM驱动器215中。如果该程序通过CD-ROM驱动器216而从CD-ROM 217读出并被传递到主存储器212,CPU 211执行该程序,即执行根据图3和4的流程图的视频编码。
如果PC卡218被用作存储介质,则由个人计算机210中提供的一个PC卡读取器219把一个视频编码程序读入主存储器212,且CPU211执行根据该程序的视频编码。
如上所述,根据本发明,一种输入视频信号被分成暂时连续的画面-每一个画面都由至少一个帧构成,为各个画面计算统计特征量,根据统计特征量生成各个画面的编码参数,并对输入视频信号进行编码。这样,在例如具有剧烈的运动的画面上帧速率被设定得高,从而使对象的运动平稳,而在视频中倾向于吸引注意的叠加的文字或边缘周围量化宽度被设定得低,以使图象清晰。
因此,本发明与传统的几乎不考虑图象中的对象运动和/或摄象机运动的传统视频编码设备相比,为各个画面获得了一致解码器的图象。因此,本发明能够获得良好的图象改善效果,并把编码位速率保持在根据发送线路的发送速率、存储介质的容量等指定的值。
其他的优点和修正对本领域的技术人员是显而易见的。因此,本发明的方面不限于在此显示和描述的具体细节和代表性实施例。因此,在不脱离由所附权利要求书及其等价表示所限定的本发明的一般发明思想的精神或范围的前提下,可以进行各种修正。
权利要求
1.一种视频编码方法,包括以下步骤把输入视频信号分成多个暂时连续的画面,每一个画面都包括至少一个帧;为各个画面计算统计特征量;根据所述统计特征量为各个画面生成编码参数;以及利用编码参数对输入的图象信号进行编码。
2.根据权利要求1的视频编码方法,其中计算统计特征量的步骤包括为各个画面的所有帧计算包括其中有运动矢量的帧中的宏块的数目、运动矢量的平均大小、以及亮度和色度的变化的视频特征量。
3.根据权利要求1的视频编码方法,其中计算统计特征量的步骤包括为各个画面对特征量进行平均,以获得一种平均值并把该平均值确定为各个画面的特征量的代表值,该代表值被用作统计特征量。
4.根据权利要求1的视频编码方法,其中计算统计特征量的步骤包括把多个画面分类成其上在帧中几乎没有运动矢量的第一画面、其上在整个图象平面上分布有沿着相同的方向和具有相同的大小的运动矢量的第二种画面、其上在帧中的特定部分中出现有运动矢量的第三种画面、其上在帧中沿着径向分布有运动矢量的第四种画面、以及其上有很多运动矢量和这些运动矢量的方向不一致的第五种画面的多种画面;且计算特征量的步骤分别对应于所述第一至第五种画面。
5.根据权利要求1的视频编码方法,其中计算统计特征量的步骤包括探测亮度从输入视频信号的帧之差有突然改变的一种特定的帧以将该特定的帧设定为一个界定的画面上的领先帧、计算包括运动矢量的数目、其分布、其大小、和亮度和色度的变化的特征量、并对各个画面对特征量取平均以获得一个平均值、以及把该平均值确定为各个画面的特征量的一个代表值、该代表值被用作统计特征量。
6.根据权利要求1的视频编码方法,其中计算统计特征量的步骤包括一个画面分割步骤,其中如果第i帧与第i+1、i+2至i+k帧之间的帧间差值均不小于一个阈值,且第i帧与第i+k+1帧之间的帧间差值不小于该阈值,则判定第i帧和第i+1帧属于不同的画面且第i+1帧是界定一个画面的帧,且如果第i帧与第i+1、i+2至i+k帧之间的帧间差值均不小于该阈值且第i帧与第i+k+1帧之间的帧间差值小于该阈值,则判定第i帧和第i+1帧属于相同的画面且第i+1帧不是界定一个画面的帧。
7.根据权利要求1的视频编码方法,其中生成编码参数的步骤包括根据视频特征量确定一个帧速率和量化宽度,并利用确定的帧速率和量化步骤大小作为编码参数。
8.根据权利要求1的视频编码方法,其中对输入信号进行编码的步骤包括根据在生成编码参数的步骤中生成的帧速率从输入视频信号选择将要编码的帧的步骤,如果将要编码的帧是界定一个画面的一个I图象,则不进行运动矢量探测而是进行帧内编码,且如果将要编码的帧是P图象或B图象之一,则根据运动补偿预测进行帧间编码。
9.根据权利要求1的视频编码方法,其中编码步骤包括根据编码参数进行的第一编码和根据校正的编码参数进行的第二编码,当第一编码结束时,判定生成位数相对于目标位数的超过还是缺乏,编码参数根据判定结果进行校正,且当生成位数与目标位数之差由于第二编码而变得不大于一个阈值时,编码输出数据得到输出。
10.根据权利要求1的视频编码方法,其中生成编码参数的步骤包括计算一个帧速率、计算一个量化宽度、为各个宏块调节该帧速率和设定量化宽度。
11.一种视频编码方法,包括一个第一步骤,用于把输入视频信号分成各包括至少一个帧的暂时连续的多个画面;一个第二步骤,用于为各个画面计算统计特征量;一个第三步骤,用于根据在第二步骤中计算的统计特征量为各个画面生成第一编码参数;一个第四步骤,用于利用第一编码参数对输入视频信号进行编码,以生成编码串;一个第五步骤,用于确定在第四步骤中生成的编码串的生成位数相对于目标位数的超过还是缺乏;一个第六步骤,用于根据第五步骤的判定结果校正第一编码参数,以获得第二编码参数;一个第七步骤,用于利用该第二编码参数对输入视频信号进行编码,以生成一个编码串;以及一个第八步骤,用于输出在第七步骤中生成的编码串,作为编码输出数据。
12.一种视频编码设备,包括一个特征量计算部分,用于把输入视频信号分成多个各由至少一个帧构成的、暂时连续的画面,并计算各个画面的统计特征量;一个编码参数生成部分,用于根据特征量计算部分计算出的统计特征量生成各个画面的编码参数;以及一个编码部分,用于利用编码参数对输入视频信号进行编码。
13.根据权利要求12的视频编码设备,其中特征量计算部分包括这样一个部分,即该部分用于为各个画面而至少对存在于输入视频信号的各个帧中的运动矢量的分布和大小进行合计以作为统计特征量。
14.根据权利要求12的视频编码设备,其中编码参数生成部分包括一个生成器,该生成器用于生成至少帧速率和量化宽度以作为编码参数。
15.根据权利要求12的视频编码设备,其中特征量计算部分包括这样的一个部分—即该部分用于对输入视频信号的各个帧中的运动矢量的至少大小和分布进行合计以被设定为统计特征量,并包括用于根据在获得输入视频信号时使用的摄象机的运动和视频中的一个对象的运动从运动矢量的大小和分布对帧进行分类的部分,从而根据帧的类型对多个画面进行分类;且该编码参数生成部分包括用于按照画面的分类生成编码参数的部分。
16.一种视频编码设备,包括一个特征量计算部分,用于把输入视频信号分成各包括至少一个帧的多个暂时连续的画面,并计算各个画面的统计特征量;一个编码参数生成部分,用于根据所述特征量计算部分计算出的统计特征量为各个画面生成第一编码参数;一个编码部分,用于利用编码参数或从第一编码参数校正的第二编码参数对输入视频信号进行编码,从而生成一种编码串;一个判定部分,用于判定当编码部分根据第一编码参数对输入视频信号进行编码时生成的编码串的生成位数相对于目标位数是超过了还是缺乏;一个编码参数校正部分,用于根据该判定部分的判定结果校正第一编码参数,以获得第二编码参数;以及一个输出部分,用于根据所述第二编码参数输出当编码部分对所述输入视频信号进行编码时生成的编码串,作为编码输出。
17.根据权利要求16的视频编码设备,其中特征量计算部分包括一个用于为各个画面对存在于输入视频信号的各帧中的运动矢量的至少大小和分布进行合计以设定为统计特征量的部分。
18.根据权利要求16的视频编码设备,其中编码参数生成部分包括用于生成至少一个帧速率和一个量化宽度以作为编码参数的部分。
19.根据权利要求16的视频编码设备,其中特征量计算部分包括用于对所述输入视频信号的各帧中的运动矢量的至少大小和分布进行合计以将之设定为统计特征量的部分,以及用于根据获得输入视频信号时使用的摄象机的运动和视频中的对象的运动按照运动矢量的大小和分布把帧分类成不同类型从而按照帧的类型对多种画面进行分类的部分;且所述编码参数生成部分包括用于根据画面的分类生成编码参数的部分。
20.根据权利要求16的视频编码设备,其中编码参数生成部分包括这样一个部分,即该部分用于使被编码部分编码的帧中的宏块中的一个宏块的量化宽度的亮度变化与相邻的宏块的亮度变化相差不小于一个预定值,并使其中有对象的边缘的一个宏块的量化宽度小于其他宏块的量化宽度。
21.一种存储程序的记录介质,该程序包括使计算机把输入视频信号分成各包括至少一个帧的多个暂时连续的画面并计算各画面的统计特征量的指令;用于命令计算机根据统计特征量为各画面生成编码参数的一个指令;用于命令计算机利用所述编码参数对输入视频信号进行编码的指令。
22.存储一种程序的记录介质,该程序包括一个第一指令,用于命令计算机把输入视频信号分成各具有至少一个帧的多个暂时连续的画面并计算各画面的统计特征量;一个第二指令,用于命令计算机根据计算的统计特征量生成各个画面的第一编码参数;一个第三指令,用于命令计算机利用第一编码参数对输入视频信号进行编码并生成一个编码串;一个第四指令,用于命令计算机判定生成的编码串的位数相对于目标位数是多还是少;一个第五指令,用于命令计算机根据计算机按照第四指令进行的判定的结果校正第一编码参数,并生成第二编码参数;一个第六指令,用于命令计算机利用第二编码参数对输入视频信号进行编码,并生成一个编码串;一个第七指令,用于命令计算机输出计算机按照第六指令生成的编码串,作为编码输出数据。
全文摘要
一种视频编码方法和一种视频编码设备,其中输入视频信号被分成多个暂时连续的画面,每一个画面都包括至少一个帧。为各个画面计算统计特征量,根据所述统计特征量为各个画面生成编码参数,且输入的图象信号利用编码参数得到编码。
文档编号H04N7/32GK1344112SQ0012863
公开日2002年4月10日 申请日期2000年9月18日 优先权日2000年9月18日
发明者古川理惠子, 永井刚, 菊池义浩 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1