运动图像专家组数据流切换方法

文档序号:7883203阅读:206来源:国知局
专利名称:运动图像专家组数据流切换方法
技术领域
本发明涉及一种MPEG(运动图像专家组)数据流的切换方法,MPEG数据流如一系列视频图像序列或根据MPEG标准编码的程序段,其中MPEG表示运动图像专家组。
根据MPEG标准编码需要各种类型的图像编码-内部编码(I图像)不参照任何先前或随后的图像;-预测型的中间编码(P图像)需要一个先前的参照图像;-双向类型的中间编码(B图像)需要一个先前的参照图像和/或一个随后的参照图像。
根据MPEG标准的图像被分组成GOP,也就是图像组。一个图像组的第一个图像是一个内部图像,随后的几个图像可以是同一图像组中的图像,这就是一个封闭的图像组;也可以是由同一图像组中的图像和前一图像组中的图像所组成,这就是一个开放的图像组。
当前,电影或视频图像序列通常是以压缩的形式来存储的,以便减少所需的存储空间。因而,序列的切换不是在基带上进行的,而是直接在MPEG编码数据流上进行的。
让我们设想以一段视频图像的播放情况,该视频图像由两个连续的基于以压缩形式存储的数字数据的视频图像序列组成;一个称为旧数据流的对应于一组第一图像序列的第一压缩视频数据流,在一个称为切换点的给定点上,被一个称为新数据流的对应于第二组图像序列的第二压缩视频数据流所取代。当切换点之后的数据流以一个开放的图像组开始时,就会出现问题。这是由于如果第二数据流的第一个图像组是一个开放的图像组的话,该图像组的压缩图像的解码可能会要求用到前一个图像组的图像。由于这前一图像组对应于另一序列的数据流,对应于该开放图像组的解码图像就会出现错误。通常可以清楚地看到这种错误,它是由于使用了与编码图像不同的参考图像,对第二序列的前几个B型图像进行解码而产生的。这是由于以双向模式编码的构成图像的图像块或者开放图像组的图像,是基于同一图像序列的前一图像组的P型或I型参考图像的中间编码图像块。对于切换点之后的前几个双向类型的图形,中间编码图像块带有残留或已知错误信息,这些图像块的解码要用到与计算残留中间编码图像块不同的图像块。在解码一级用到的参考图像实际上不同于在编码一级用到的参考图像。
存在于所显示的错误图像块中,具有严重错误的图像块的影响会显示在第二序列的前几个图像中。
现在已有对于这种问题的解决办法,它在MPEG II标准(第一部分系统,附录K)中的有具体描述。它包括在系统层中配置与可能的切换点(在该标准中称为“接合点”)有关的信息,其中所传送的数据流要具有所要求的特性,可以在解码时克服上述缺陷(例如,通过使用封闭的图像组)。这样仅仅在这些点可以进行切换。当然,必须在对图像进行编码时把这种信息写入数据流,随后图像就不能被再次写入这种信息,除非对数据进行一次新的解压缩和压缩操作。
在一个图像组的开始点,也是一个许可的切换点,对于该图像组的前几个图像编码增加一个限制,这些图像编码必须是双向模式,该图像组必须是封闭的。作为参考图像,这些图像只能使用随后的图像,而不能使用先前的图像;它们被强制为单向模式。因此,这种与数据流切换相容MPEGII编码降低了压缩比,通常不用于电影或视频图像序列。今天,市场上只有非常少量的用于切换请求的强制封闭图像组产品,它所引入的限制条件给解码器级的比特率调整带来了许多麻烦。另外,要事先确定数据流上封闭图像组必定存在的位置,也就是说要预先确定截断序列的位置,就要假定未来对序列的应用是已知的。否则就必须全部使用封闭的图像组序列。
因此,这种解决方法具有几个缺点降低了视频数据的压缩率需要在开始还没有对数据流切换进行兼容性处理时对数据流进行解码和重新编码处理,这会带来与重新存储和图像质量有关的许多问题。
本发明的目的就是为了解决上述问题。
本发明的对象是一种MPEG流的切换方法,通过该方法可以传送与一个第一视频图像序列相对应的第一数据流,在该数据流的某个给定切换点后,跟着一个对应于第二视频图像序列的第二数据流;每个视频图像序列都根据一种图像组(图像分组)结构进行编码,每个图像组都包括内部编码的内部类型图像、中间编码的预测型图像和中间编码的双向型图像,每种图像编码的代价取决于该图像编码的数据流中所传送的信息量;切换点位于图像组一级,其特征在于在传送数据流之前根据图像编码顺序,通过用预定的图像编码信息取代第一个双向型中间图像的编码信息,改进第二数据流,该双向型中间图像位于切换点之后第二序列的第一图像组的内部图像之后;上述预定的图像编码信息的编码代价低于或等于原始图像的编码代价。
本发明的主要优点在于,它允许从一个图像序列切换到另一个图像序列或在一个图像序列中插入另一个图像序列,而在切换过程中产生的错误最少。借助于本发明,可以使用与数据流切换不兼容的MPEG编码数据流(开放的图像组),因而可以对图像序列进行优化压缩。
由于去除了位于新数据流开始处的开放的图像组所产生的大部分图像缺陷,图像的传输变得平滑了。
切换可以按一种随机的方式进行,例如随机地访问存储在磁盘上的数据,在切换点前后的编码数据流无需进行任何特别的配置。
由于所传送的数据流的结构并不在传送过程中加以修改,因而这种装置的成本很低,同时也避免了复杂的解分组和重分组操作。
通过以下结合实例的描述可以更加清楚地了解本发明的特性和优点。
让我们设想一个切换过程,在一个视频图像传输过程期间,从一个称为序列1的视频图像序列切换到一个称为序列2的第二序列。
所使用的视频图像序列是根据MPEG标准的视频图像序列。编码顺序或者说编码图像的顺序,同时也是由编码器输出图像的传送顺序和/或者从解码器输入图像的解码顺序和存储顺序,不同于解码图像的显示顺序,这是由双向编码的可能性决定的。
让我们设想由I型、B型、P型图像构成的两个序列1和2,其编码顺序如下
序列1B1 B1 P1**B1 B1 I1 B1*B1*P1 B1 B1序列2B2 B2 P2**B2 B2 I2 B2*B2*P2 B2 B2内部结构的图像(I1、I2)决定了一个新的图像组的边界。
位于内部型图像之后的两个双向型图像(标有一个星号的图像)可能会以内部型图像和该内部型图像之前的P型图像(标有两个星号的图像)为参照图像,因而属于前一个图像组。这种参照图像的选择是在宏模块一级,因此一个完整的图像编码会同时调用两类图像即内部型图像和P型图像作为参考。
在图像组一级的切换给出了传送顺序,由序列1直至图像组边界,然后是序列2切换后的顺序B1 B1 P1**B1 B1 I2 B2*B2*P2 B2 B2位于内部型图像之后的两个双向型图像B*在解码期间会以内部型图像I2和预测型图像P1**为参考图像。因此这两个图像由于丢失了它们自身的一个参考图像(P2**被P1**所取代)而不能正确解码。
现在让我们考虑以显示次序编码的两个图像序列,也就是说在,在重新排序后用于显示。
序列1B1 B1 P1**B1*B1*I1 B1 B1 P1...
序列2B2 B2 P2**B2*B2*I2 B2 B2 P2...
切换后的序列B1 B1 P1**B2*B2*I2 B2 B2 P2...
对两个双向型图像B*的解码使用了与其编码时不同的图像。这种参考图像的差别正是产生图像B2*显示缺陷的原因。
根据本发明的编码方法包括,使用具有预定配置的图像取代对应于预测错误编码或与参考图像有关的残留彼编码相对应的图像B2*结果使得这些B型图像块中包含的预测错误信息与解码时所使用的参考图像无关。
新的B2*图像是中间型的预先编码图像,这种预先编码与所使用的序列无关;它们只进行一次计算,然后装入设备用于序列切换,这将在后面加以说明。唯一的限制来自于新的B2*图像的尺寸,也就是说对这些图像进行编码所需的数据,这些数据最终将取代MPEG数据流中的原始图像B2*。这一尺寸必须小于或等于所取代图像的尺寸,以便能够放入MPEG数据流中取代原始数据,如果新数据的尺寸小于原有数据,就使用填充位或零值进行填充。
各种预先编码的可能性或者编码模式要在以下详细说明,同样地与残留模块和相应的运动向量有关。
按内部模式进行编码,要对被编码图像与根据运动向量的运动来补偿的重建参考图像之间的偏差进行计算,在模块(实际上是宏模块)一级进行这种操作就完成了对图像的编码。正是残留模块或预测误差模块和运动向量一起,构成了对中间模式图像进行编码的数据。
第一种可能的预先编码方法的要点在于,使预测误差模块和相应的向量强制为零。在这种情况下,解码器根据使用的是单项编码还是双向编码,来决定是使用一个还是两个参考图像来重建图像B2*。
这样,根据切换序列的显示顺序,上述顺序—如果参考图像是内部编码图像I2(向前推算,从原点向前的运动向量),在显示图像I2之前该图像要重复两次;—如果参考图像是预测模式编码的图像P1**(向后推算,从原点向后的运动向量),在显示图像P1**之后该图像要重复两次。因此,序列1会产生一个人为的延时,其长度为两个图像;—如果有两个参考图像I2和P1**(双向推测,零运动向量),两个图像B2*与两个参考图像混合前后连接,从而可以在两个序列之间产生一种渐变效果。
根据MPEG标准进行编码的图像,可以分成帧,两个图像B2*可以分成四帧,然后分别进行编码。例如,第一个图像的第一帧(为了显示之便)涉及图像P1**,第一个图像的第二帧涉及图像P1**和I2,第二个图像的第一帧涉及图像P1**和I2,第二个图像的第二帧涉及图像I2。
第二种可能的预先编码方法的要点在于,使预测误差模块强制为零,并采用非零的相关运动向量。在这种情况下,解码器使用所接收到的数据流中代表的一个或多个参考图像,来重建图像B2*,但这些参考图像在使用前必须根据运动向量进行运动补偿。
根据MPEG标准,按内部模式编码的图像可以附有称为隐蔽运动向量的运动向量。这些运动向量并不用于内部编码,其值可以发送给任何解码器。因此通过对相对于内部型图像的内部向量字段的定位,也就是对这个内部图像相对于前一个P型参考图像的运动的定位,完全可以实现对图像序列的编码。这种序列编码可以利用隐蔽运动向量字段来执行例如外插,或时间扩展,从而实现代换图像的编码。
例如,对应于图像I2的数据包含有隐蔽向量字段,该隐蔽向量表示图像I2和先前图像P2之间的运动,对该运动向量字段进行插值就可以确定对应于第一个图像B2*的代换图像的第一插值字段,与第二个图像B2*相对应的代换图像的一个第二插值字段。这样就可以不必简单地重复内部型图像,而是对这一内部型图像进行运动补偿;由于不再对简单重复的图像I2*进行重新排列,而是执行一个向前运动,就使得切换更加平滑。当然,切换的质量取决于所使用的运动向量的质量。
这样根据切换序列的显示顺序,也就是上面描述的顺序,如果参考图像是内部编码图像I2(向前推算),两个双向型图像B*就相当于这个经过运动补偿的图像I2,并且在显示图像I2之前进行显示。
当然,这种方法需要在开始时使用隐蔽运动向量字段对图像序列进行编码,就像前面所描述的那样。
第三种可能的方法的要点仅仅在于,把两个双向型图像(B2*)的所有模块都编码成内部模式,例如,编码成蓝色或黑色图像,这样将在两个序列之间显示两个蓝色或黑色图像。也可以把一个图像编码成一个适合于新序列的一个标识。这种图像块不需要调用任何参考图像,这种图像块的值也不是零,而是含有必须显示的信息项。
传送全黑色或全蓝色的图像比传送一个显示错误的模块要“干净”得多。其目的在于当把图像序列串联在一起时所产生的视频图像错误最少,从而实现平滑切换。由于只是在图像组的前几个B型图像的非常短暂的瞬间发生作用,观察者通常看不到黑色的图像。
非零运动向量的使用还避免了采用重复图像的解决方法所引起的闪烁。非零运动向量采用每帧相距一行的基本单位,它仅仅由垂直运动向量构成;非零运动向量字段的采用,使得可以通过单个像素的移动来实现帧插值,从而限制闪烁。
还有,可以把代换图像的编码拆分成构成这些图像的帧编码,这样可以对每一帧使用不同的推算模式,即使图像序列是按照图像编码而不是按帧编码。这是由于解码器是根据标准在所传送的数据流中的信息从一种模式切换到另一种模式的,这种切换可以在每一幅图像一级来进行。通常,标准中所提供的任何一种推算类型都可以用于代换图像的编码。
根据在各种解决方法和各类推算方法中作出的选择,就作为用户所需要的一个类型转化函数。与这些解决方法相对应的各种B型图像分组只能产生一次,并保存在存储器中。在图像切换期间。这些存储集合中最恰当的图像分组将被调用。也可以对这些图像进行实时计算。
这种代换图像编码的代价较低,通常低于原始图像B2*的编码成本,因而允许在MPEG数据流的原有图像位置很方便地插入这些新的图像,也就是说避免了在整个数据流上进行复杂的变换。解决方法的选择要考虑成本准则,成本由其取决于运动向量和预测误差。
传送的数据流包括188字节的数据包和16个误差校正字节。对应于图像B2*的数据包被新的数据包所代换,新的数据包中含有的数据取决于与切换相适应的解决方法。
这样,一旦选择了一种成本低于原始图像B2*的编码成本的编码方法,对应于代换图像的预先计算的数据包就取代了对应于这些原始图像的数据包。如果对应于代换图像的数据包的数量较少,就使用填充数据包。这样,数据包的结构不会改变,数据包的序列也不会中断,这是由于PCR(程序时钟基准)信息对所有的数据包仍然有效,其中PCR信息位于所传输数据流(TS)的头部,并与数据包的个数相联系。这是由于时间基准只能用于固定的传输比特率,因而要使用数据包填充传输数据流,以补偿在视频和音频编码期间引起的比特率变化。
本发明可以按如下说明使用。当切换程序段时,例如从序列1切换到序列2,序列1的最后一段和修正过的序列2的第一段被存入一个中间文件。这一修正完全与同步问题相关联,从而避免了视频帧和音频帧之间匹配的恶化,它是通过例如在空闲时间进行数据插值来实现的。然后,在中间文件中,对应于与第二序列中前几个B型图像(在本例中的B2*图像)相关的载荷的具体数据,被一组对应于预定图像的数据所代换,这组预定图像包和一个已知结构,并且从一组例如专门存储的图像采样中选出。最后,从第一序列中截取的数据被贴加在中间文件的数据上,这些随后的数据本身被贴加在第二序列开头截取下的数据上。
这样,原始文件并没有发生改变,在以后还可以通过新的切换点重新使用。只是临时文件在使用后被销毁。
因此,完全可以把不同的图像序列以压缩的格式分别存储在磁盘上。也可以使用多种压缩数据源,磁盘、DVD、CD-ROM等类型的媒体,进行实时的MPEG编码,切换问题已经在前面的描述中解决了。
上面所描述的例子涉及代换两个双向型图像的例子。本发明当然并不局限于这一数目,完全可以设想代换大量的图像,这并没有脱离本发明的范围。例如,如果图像组的结构是由1至3个双向型图像组成,而不是如先前描述的两个,所涉及的代换图像的数量将分别是1至3个。
本发明涉及由程序段构成的程序的传输和这些程序的存储,例如时间间隔的传输,数据流既可以传输给存储单元,也可以直接传输给电视节目分配单元。它涉及所有类型的编辑操作,可以获得符合MPEG标准规定条件的新的二进制编码数据流。
权利要求
1.MPEG数据流切换方法,该方法用于传输一个对应于第一视频图像序列的第一数据流,在第一数据流的一个给定点后跟着一个对应于第二视频图像序列的第二数据流,每个序列都根据一个图像组(图像分组)结构进行编码,每个图像组都包括内部型的内部编码图像、预测型的中间编码图像和双向型的中间编码图像,每个图像的编码代价都取决于该图像编码数据流所传输的信息量;切换点位于图像组一级,其特征在于,在传输前要对第二数据流加以修正;修正方法是,根据图像编码顺序,用成本低于获等于被代换图像编码成本的预定图像,代换切换点之后第二序列第一个双向型的图像组内部图像的编码信息。
2.根据权利要求1的切换方法,其特征在于,预定信息对应于一个内部编码。
3.根据权利要求1的切换方法,其特征在于,预定信息对应于一个双向型的内部编码,其预测误差被定为零。
4.根据权利要求3的方法,其特征在于,一幅图像的预定信息包括运动向量字段的编码数据,且这些数据也为一个原点运动向量进行了编码。
5.根据权利要求3的方法,其特征在于,对应于一幅图像的预定信息包括一个运动向量字段的编码数据,且这些数据也为一个水平运动向量字段进行了编码。
6.根据权利要求3的方法,其特征在于,以单一图像作为一个双向型的内部编码的参考图像。
7.根据权利要求6的方法,其特征在于,参考图像是切换点之前的第一序列的最后一个预测型P图像。
8.根据权利要求6的方法,其特征在于,参考图像是切换点之后的第二序列的第一内部图像。
9.根据权利要求8的MPEG数据流切换方法,其中要对这些数据流的内部型图像相对应的隐蔽运动向量字段进行计算;考虑到一个序列图像的编码顺序,对于每个字段,都是与该字段相联系的内部型图像之前的参考图像与该内部型图像之间的运动的函数;其特征在于,要在传输之前对第二数据流进行修正,这是通过把用于上述第一个B型图像的运动向量字段的编码信息替换为由编码序列中从与上述第一个B型图像之前的内部型图像相关的隐蔽运动向量字段的时间插值计算而得的运动向量编码信息来实现。
10.根据上述任何一项权利要求的方法,其特征在于,进行编码信息代换的相关图像是位于内部图像之后的最前面的两个双向型中间图像。
全文摘要
本方法的其特征在于,要在传输之前对第二数据流进行修正;修正的方法是根据图像的编码顺序,用编码成本低于或等于原始图像的预定图像编码信息替换切换点之后的第二序列的第一个图像组的内部图像后面的前面几个双向型中间图像来实现的。应用涉及程序的传输、存储和编辑等。
文档编号H04N7/24GK1250193SQ9911136
公开日2000年4月12日 申请日期1999年8月10日 优先权日1998年8月14日
发明者多米尼克·托罗, 让·勒鲁, 皮埃尔·吕埃洛 申请人:汤姆森多媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1