产生图像过渡的方法和装置的制作方法

文档序号:7936453阅读:275来源:国知局
专利名称:产生图像过渡的方法和装置的制作方法
技术领域
本发明涉及2001年6月20日以A.C.Loui、D.R.Cok和Y.Lo的名义提交的题为“编辑多媒体允许盘的系统和方法”的共同转让共同未决的美国专利申请序列号No.09/885577。
Riek等人的专利描述了在解码缓冲器大小有限的情况下,对比特流中的静止图像进行编码的不同方法。这是约束参数比特流中,比如视频CD(VCD)所用的那些比特流中常见的情况。Ferster的专利描述了这样一种方法对两个比特流进行解码,产生过渡效果,然后对序列重新编码。Toebes等人的专利描述了用于在解码器中插入过渡的方法。
先有技术存在一些局限。Riek等人描述的方法没有讲授如何插入过渡,并且该方法并不能很好地适用于插入过渡。Ferster的专利涉及的解码和重新编码是耗时的并且提供较低图像质量。Toebes等人的专利描述了过渡的插入,但这种插入是在解码器中而不是在编码器中执行。也就是说,这些帧从来没有被插入到传输的比特流中。这需要解码器中另外的硬件,这需要额外的费用,并且是非标准的。
所需的是一种用于有效地在比特流中插入过渡的方法,其中没有质量损失并且无需解码。
在本方法的另一实施例中,对包括锚画面和预测(P)画面的MPEG比特流序列中的过渡通过以下步骤编码a)对第一锚画面进行编码,以及b)通过将P画面插入到比特流中来对过渡进行编码,从而建立从第一锚画面到第二锚画面的过渡。在另一实施例中,通过以下步骤对包括锚画面、双向预测(B)和预测(P)画面的MPEG比特流序列中的过渡进行编码a)对第一锚画面编码,以及b)通过将B和P画面插入到比特流中来对过渡进行编码,从而建立从第一锚画面到第二锚画面的过渡。
本发明通过提供插入过渡的有效方法来克服先有技术的局限,所述方法不需要任何解码并且可以在编码器中执行。仅利用B画面提供过渡,从而允许将过渡以与任何序列相同的方式插入到MPEG序列中,与序列内容无关。本发明的有利特性在于●无需解码即可插入过渡。
● 无需离散余弦变换(DCT),从而有效地计算比特流。
● 因为过渡独立于场景内容,因此能够预先计算过渡。
● 直接在编码器中将过渡插入到比特流中,而不是在解码器中。
从以下对优选实施例和附加权利要求书的详细描述的回顾,以及通过参考附图,将更加清晰地理解和评价本发明的上述和其它方面、目的、特性和优点。
图2是描述本发明的一个实现的流程图,其中只利用B画面对过渡进行编码。
图3是描述只利用B画面的特定随机过渡的实现的流程图。
图4是利用MPEG-1对如

图1中描述的B画面1进行的例示编码。
图5是两个锚画面和四个P画面的例示序列,这些画面被用于形成从第一锚画面到第二锚画面的过渡。
图6是描述本发明的一个实现的流程图,该实施例仅利用P画面对过渡进行编码。
图7是用于实现本发明的计算机系统的透视图。
MPEG中有三种类型的画面I(内部)画面,P(预测)画面,以及B(双向预测)画面。只利用当前图像中的信息对I画面编码。这类似于单图像的JPEG编码。每个画面被分成16象素×16行的块(宏块)。在P画面中,每个16×16的宏块可编码为内部(象I画面)或预测宏块。在预测宏块中,运动矢量描述在前一锚画面(I或P画面)的什么地方得到当前宏块的初始预测。接着对该宏块与当前宏块之间的差异进行编码。对于B画面,可以象在P画面中一样对每个宏块编码,或者另外可以从下一锚画面或者前一锚画面和下一锚画面的平均来预测宏块。
为了获得从一个序列到下一序列非常简单的过渡,我们可以停止对锚画面(I或P画面)的第一序列的编码。然后第二序列的第一帧被编码为锚画面。对锚画面编码之后,将一系列B画面插入到该序列中。这些B画面中的每个图像都包含从第一序列的最后一个锚帧或者第二序列的第一锚帧中的同一宏块预测得到的宏块。从第一插入B画面中根据第一锚画面预测得到的大部分宏块开始,到最后插入的B画面中从第二锚画面预测得到的大部分宏块结束,创建了显现的过渡效果。
例如,为了产生从左到右显现第二序列的过渡,将诸如在图1所示的那些的一系列B画面插入到比特流中。图1是用于形成从第一锚画面到第二锚画面的过渡的两个锚画面和四个B画面的例示序列。每个宏块被标记为“1”或“2”。所述数字指的是宏块的内容。标记为“1”的宏块对应于第一锚画面中同一宏块的内容,而标记为“2”的宏块对应于第二锚画面中同一宏块的内容。通过用运动矢量(0,0)对前向预测宏块进行编码来获得B画面中标记为“1”的宏块。通过用运动矢量(0,0)对反向预测宏块进行编码来获得B画面中标记为“2”的宏块。在两种情况下,剩余宏块没有被编码,为了使所述过渡持续得更久,可以在序列中多次重复各个B画面。例如,为了使图1的过渡持续一秒钟,如果该序列以每秒30帧编码,则每个B画面应该被插入大约七次。
图2示意了用于执行图1所示过渡的算法。首先,在最少帧计算步骤10中计算执行过渡的帧数(n)。例如,执行图1所示过渡的最小数量为4,其中不包括锚画面。如果这种过渡将持续一秒钟,并且画面速率为每秒30帧,则所需的画面总数为30。如在重复帧计算步骤12中所确定的,每个图像的重复次数(m)为30/4或者大约7次。一旦确定了这两个常量,我们就开始在编码步骤14和16中对两个锚画面进行编码。接下来,在编码步骤18中对B画面进行编码,在本例示中,在重复流程20中对每个第n个B画面进行7或8次的编码。
可以通过改变顺序来建立不同过渡,其中宏块由作为前向预测进行编码改变为作为反向预测编码。通过在前向预测块和反向预测块之间来回切换,可以获得闪景效果。另外,可以在第一和第二序列之间插入固定模式图像(比如不变的黑色画面)。接着可以插入从第一序列到所述画面的过渡,然后是从所述画面到第二序列的过渡。
图3示意了只利用B画面创建两个锚画面之间特定过渡所涉及的步骤。过程首先在编码步骤30和32中对两个锚画面进行编码。接着所有宏块被设置为(步骤34)前向预测。这种思路在于宏块被随机地从前向预测切换到反向预测。在数量计算步骤36中确定每次改变的次数,其中每次改变的次数为总的宏块数除以对过渡进行编码所需的帧数(n)。例如,在352×240图像中,有330个宏块。如果图像速率是每秒30个画面并且我们希望过渡持续1秒钟(即n=30),则在随机宏块改变步骤38中将每个画面中的11个宏块从前向预测改变为反向预测。然后在编码步骤40中对B画面进行适当地编码以产生过渡。
可以对B画面中的宏块进行非常有效地编码。通过确定哪些宏块作为前向预测宏块进行编码以及哪些宏块作为反向预测宏块进行编码,许多宏块可以被跳过。在B画面中,如果某一宏块的编码与上一宏块的方式相同,则可以跳过该宏块,且无DCT系数被编码。参考图1中的B画面1,第一宏块(在左上角)被编码为反向预测,下个宏块(以光栅扫描顺序)被编码为前向预测,并且接下来的三个宏块被跳过。这意味着那三个宏块没有被编码,并且第二行中第一宏块的宏块地址增量被设置为4。图4示意了利用MPEG1对图1中的B画面1的整个比特流进行的例示编码。
为了产生图像在屏幕上向上或者向下移动时的过渡,只利用B画面不能完全对过渡进行编码。其原因是MPEG-1将运动矢量的大小限制为小于64。由于B画面不是锚画面,仅利用B画面无法完成“滑动”效果。为了克服这种限制,需要把作为锚画面的P画面插入到过渡序列中。有两种可能的插入方法。一种是在过渡中只利用P画面,另一种是每次宏块移动超过设置的与上一锚画面相关的阈值时,在过渡中插入P画面。这里将阐述只利用P画面的过渡,尽管B和P画面过渡是只有P画面的过渡情况的简单扩展。
在只利用P画面的情况下,对第一锚画面进行编码,接着对P画面进行编码,而不是对第二锚画面进行编码。这个P画面由前向预测宏块和一些内部编码宏块组成。内部编码宏块仅仅是第二锚画面中宏块的复制。例如,考虑图5示意的过渡。在所述过渡中,图像向左边滑动;第一画面滑出屏幕并且第二画面滑入屏幕。所有划了阴影线的块都是内部编码的,而所有没有划阴影线的块是预测的。在P画面1中,数字标记的宏块全部向左移位16象素。这些宏块被编码为具有运动矢量(16,0)的前向预测宏块。标记为“A”、“F”、“K”和“P”的宏块为内部编码。如果已经对第二锚画面进行了编码,则不需要发生实际编码。在这种情况下,宏块就可以从第二锚画面中复制。如果第二锚画面还没有被编码,则这里需要对标记为“A”、“F”、“K”和“P”的宏块进行编码。这样作的优点在于第二锚画面将被P画面代替,因此仍然只对每个宏块进行一次内部编码。只利用P画面的方法的优点在于其提供了更恒定的比特率。也就是说,在每帧的过渡中,对一行或一列宏块进行内部编码。在P和B画面方法中,每个P画面将具有P画面编码的多行或者多列,其后是几个没有内部编码宏块的B画面。利用这两种方法中的任一种对用于对过渡进行编码的总比特数没有实际区别,并且屏幕上显示的结果画面应该是一样的。所以,最好使用只有P画面的方法,因为它不需要任何缓冲。过渡的持续时间可以通过将更多的P画面插入到过渡序列中来调整,其中所有宏块都是带有运动矢量(0,0)而没有DCT系数的前向预测宏块。这些P画面将被插入到过渡序列中各个现有P画面之间。
图6示意了用于实现图5所示过渡类型的方法。同样的,所做的第一件事是在最小帧计算步骤50中计算所需帧数(n),并在重复帧计算步骤52中计算它们将重复的次数(m)。接着,在编码步骤54中对第一锚画面进行编码。然后在P编码步骤56中对来自过渡的第一P画面进行编码,而后在空帧编码步骤58中对若干“空”P画面进行编码。“空”P画面是其中每个块都是带运动矢量(0,0)且无剩余DCT系数的前向预测块的P画面。这样,对过渡中每个P画面以及适当数量的“空”P画面进行编码。在替换编码步骤60中,最终锚画面被P画面代替,所述P画面中的大部分宏块是从过渡中的最后P画面预测得到的。
参考图7,它示意了用于实现本发明的计算机系统110。尽管出于示意优选实施例的目的示出计算机系统110,但是本发明并不限于所示计算机系统110,而是可以被用于任何电子处理系统,比如家庭计算机、公用电话亭、零售或批发的洗印照片店、或者其他任何用于数字图像处理的系统中的系统。计算机系统110包括基于微处理器的单元112,用于接收和处理软件程序并且执行其他处理功能。显示器114电连接到基于微处理器的单元112,用于例如借助于图形化用户界面来显示与软件有关的用户相关信息。键盘116也连接到基于微处理器的单元112,用于允许用户向软件输入信息。如本领域众所周知的,作为利用键盘进行输入的替代,可以利用鼠标118来移动显示器114上的选择器120并且用于选择选择器所覆盖的选项。
只读光盘存储器(CD-ROM)122连接到基于微处理器的单元112,用于接收软件程序以及提供一种经光盘124向基于微处理器的单元112输入软件程序和其他信息的装置,其中所述光盘124一般包括软件程序。另外,软盘126也可以包括软件程序,并且被插入到基于微处理器的单元112中,用于输入软件程序。另外,正如本领域众所周知的一样,可以对基于微处理器的单元112进行程序设计,用于在内部存储软件程序。基于微处理器的单元112还可以具有到诸如局域网或因特网的外部网络的诸如电话线的网络连接127。打印机128连接到基于微处理器的单元112,用于打印计算机系统110的输出的硬拷贝。
图像还可以经个人计算机卡(PC卡)130在显示器114上被显示,所述PC卡的例子正如以前知道的,有PCMCIA卡(基于个人计算机存储卡国际协会的规范),其中包括在卡130中以电方式实现的数字化图像。PC卡130最终被插入到基于微处理器所单元112中,用于允许在显示器114上直观显示图像。还可以经光盘124、软盘126或者网络连接127输入图像。可以从诸如数字照相机134或扫描仪136(例如,通过扫描诸如卤化银胶片的原底)的各种源中获得存储在PC卡130、软盘126或光盘124中,或者经网络连接127输入的任何图像。数字照相机134还可以通过通信链路140(如RF或IP链路)将图像下载到计算机系统。根据本发明,这里描述的算法可以作为软件存储在以上提到的任何存储装置中并且应用于图像,从而对MPEG序列中的过渡进行编码。另外,CD-ROM 122可以包括写能力,并且通过本发明的实践产生的带有编码过渡的MPEG序列可以被写入光盘124。
总之,本发明提供了有效地将过渡插入到MPEG序列中的技术。利用过渡而不是突然的场景剪切,可以使序列看起来更舒适。本发明主要是为在静止MPEG编码视频序列中创建过渡而设计的。但是,应当理解,同样的方法可以用于两种视频运动序列之间的过渡,而且权利说明书有意覆盖两种情况,也就是静止图像或运动图像的视频序列。
尽管这里特别参考本发明的某些优选实施例详细地描述了本发明,但是应当理解,可以在本发明的精神和范围内进行修改和变型。部件清单10 最小帧计算步骤12 重复帧计算步骤14 第一锚画面编码步骤16 第二锚画面编码步骤18 B画面编码步骤20 重复流程30 第一锚画面编码步骤32 第二锚画面编码步骤34 前向预测设置步骤36 数量计算步骤37 随机宏块变化步骤40 B画面编码步骤50 最小帧计算步骤52 重复帧计算步骤54 第一锚画面编码步骤56 P画面编码步骤58 空P帧编码步骤60 替换编码步骤110 计算机系统112 基于微处理器的单元114 显示器116 键盘118 鼠标120 选择器122 CD-ROM124 光盘126 软盘127 网络连接128 打印机130 PC卡132 读卡器134 数字照相机136 扫描仪140 通信链路
权利要求
1.一种对包括锚画面和双向预测(B)画面的MPGE比特流序列中的过渡进行编码的方法,所述方法包括以下步骤a)对第一和第二锚画面进行编码;以及b)通过将B画面插入到所述比特流中来对所述序列中的过渡进行编码,从而创建从所述第一锚画面到所述第二锚画面的所述过渡。
2.如权利要求1所述的方法,其特征在于,所述画面由宏块组成,并且其中为创建从所述第一锚画面到所述第二锚画面的所述过渡,将所述B画面插入到所述比特流中的过程包括从其中大部分宏块是从所述第一锚画面预测得到的B画面开始,到其中大部分宏块是从第二锚画面预测得到的B画面结束。
3.如权利要求1所述的方法,其特征在于,所述画面由宏块组成,并且其中为创建从所述第一锚画面到所述第二锚画面的所述过渡,将所述B画面插入到所述比特流的过程包括将每个B画面中的若干宏块从前向预测切换到反向预测。
4.如权利要求3所述的方法,其特征在于,为了创建从所述第一锚画面到所述第二锚画面的所述过渡,将所述B画面插入到所述比特流的过程包括随机地将每个B画面中预定数量的宏块从前向预测切换到反向预测。
5.如权利要求1所述的方法,其特征在于,步骤a)中的第一和第二锚画面对应于第一视频序列中的最后一个锚画面和第二视频序列中的第一个锚画面。
6.如权利要求5所述的方法,其特征在于,所述视频序列包括一组静止图像。
7.如权利要求1所述的方法,其特征在于,步骤b)中的所述B画面包括前向预测、反向预测或内插宏块。
8.如权利要求7所述的方法,其特征在于,所述宏块都不包括DCI系数。
9.如权利要求7所述的方法,其特征在于,所述各个宏块包括为(0,0)的动态矢量。
10.一种计算机存储介质,其上存储了指令,用于使计算机执行权利要求1所述的方法。
11.一种用于对包括锚画面和预测(P)画面的MPEG比特流序列中的过渡进行编码的方法,所述方法包括以下步骤a)对第一锚画面进行编码;以及b)通过将P画面插入到所述比特流中来对过渡进行编码,从而创建从所述第一锚画面到第二锚画面的所述过渡。
12.如权利要求11所述的方法,其特征在于,所述第一和第二锚画面对应于第一视频序列中的最后一个锚画面和第二视频序列中的第一个锚画面。
13.如权利要求12所述的方法,其特征在于,所述视频序列包括一组静止图像。
14.如权利要求11所述的方法,其特征在于,所述画面由内部编码或预测宏块组成,并且其中所述第二锚画面被P画面代替,所述P画面中的大部分宏块由从所述过渡中的所述前一P画面预测得到的宏块代替。
15.如权利要求11所述的方法,其特征在于,所述画面由内部编码或预测宏块组成,并且其中所述插入的P画面包括从所述第一锚画面或者前一插入P画面预测得到的宏块以及从所述第二锚画面复制的内部编码宏块。
16.如权利要求11所述的方法,其特征在于,所述画面由内部编码或预测宏块组成,并且其中所述预测宏块包含由16的整数倍的水平和垂直分量组成的运动矢量。
17.一种计算机存储介质,其上存储了指令,用于使计算机执行权利要求11所述的方法。
18.一种用于对包括锚画面、双向预测(B)画面和预测(P)画面的MPEG比特流序列中的过渡进行编码的方法,所述方法包括以下步骤a)对第一锚画面进行编码;以及b)通过将B和P画面插入到所述比特流中来对过渡进行编码,从而创建从所述第一锚画面到第二锚画面的所述过渡。
19.如权利要求18所述的方法,其特征在于,所述第一和第二锚画面对应于第一视频序列中的最后一个锚画面以及第二视频序列中的第一个锚画面。
20.如权利要求19所述的方法,其特征在于,所述视频序列包括一组静止图像。
21.如权利要求18所述的方法,其特征在于,所述图像由内部编码或预测宏块组成,并且其中所述插入的P画面包括从所述第一锚画面或者前一插入的P画面预测的宏块以及从所述第二锚画面复制的内部编码宏块。
22.如权利要求18所述的方法,其特征在于,所述插入的B画面包括前向预测、反向预测或内插宏块。
23.如权利要求18所述的方法,其特征在于,所述图像由内部编码或预测宏块组成,并且其中所述非内部编码的宏块包含由16的整数倍的水平和垂直分量组成的运动矢量。
24.一种计算机存储介质,其上存储了指令,用于使计算机执行权利要求18所述的方法。
全文摘要
通过以下步骤对包括锚画面和双向预测(B)画面的MPEG序列中的过渡进行编码a)对第一和第二锚画面进行编码,以及b)通过将B画面插入到比特流中来对序列中的过渡进行编码,从而创建从第一锚画面到第二锚画面的过渡。
文档编号H04N7/24GK1417750SQ0214829
公开日2003年5月14日 申请日期2002年10月31日 优先权日2001年10月31日
发明者J·K·里克, A·C·洛伊 申请人:伊斯曼柯达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1