用于变换域视频编辑的方法和设备
技术领域
本发明一般涉及视频编码,更特别地,涉及视频编辑。
背景技术
在视频播放和/或捕获设备中,视频编辑能力是一项越来越需要的特征。不同视频序列之间的变化效果、标识插入和层叠序列是编辑中最普遍使用的操作。视频编辑工具使用户能够在其视频剪辑上应用一组效果,以便从功能上、从美学观点上更好地表现其视频。
为了在视频序列上应用视频编辑效果,存在不同的商用产品。这些软件产品主要是针对PC平台的。由于处理能力、存储器和内存限制在当今的PC平台中已不是问题,所以此类视频编辑产品中使用的技术在空间域中处理大部分为原始格式的视频序列。就此类技术而言,首先对压缩视频进行解码,然后在空间域中引入编辑效果。最后,再次对该视频进行编码。这称为空间域视频编辑操作。
对于其处理能力、存储空间、可用内存和电池电力方面的资源很少的设备而言,对视频序列解码后再次编码是高代价运算,该运算花费大量时间,耗费大量电池电力。诸如移动电话、通信装置和PDA的许多最新通信设备配备了视频摄像头,从而使用户能够拍摄视频剪辑并通过无线网络发送它们。允许那些通信设备的用户在其终端上生成高质量的视频是有利的和所期望的。空间域视频编辑操作不适合无线蜂窝环境。
如上所述,在现有技术中,大部分视频效果是在空间域中完成的。例如,对于两个或多个序列之间的视频混合(用于淡出的变化效果等),首先对视频剪辑进行解压缩,然后根据以下等式完成效果:
v~(x,y,t)=α1V1(x,y,t)+α2V2(x,y,t)---(1)]]>
其中
是根据原始序列V1(x,y,t)和V2(x,y,t)进行编辑后的序列。α1和α2是根据所需效果选择的两个加权参数。依据所需效果,对该视频序列的不同颜色分量,在空间域中应用等式(1)。
最后,对最后得到的经过编辑的图像序列重新编码。该方法的主要缺点是,它有大量计算,特别是在编码部分中。普通编码器和解码器之间的典型复杂度比值大致为4。当使用该常规空间域编辑方法时,必须对紧接在第二序列中的转变效果后的所有视频帧进行重新编码。
此外,在获得所需结果之前,用户通常多次重复编辑操作,这并不奇怪。重复会增加编辑操作的复杂度,并且需要更多处理能力。因此,重要的是开发能够把解码和编码运算降低到最低程度、在压缩域中起作用的有效技术,以实现此类编辑效果。
为了有效地执行,视频压缩技术使用在形成该视频的帧中的空间冗余。首先,把帧数据变换到另一个域,如离散余弦变换(DCT)域,以对该帧数据进行解相关。然后对经过变换的数据进行量化和熵编码。
另外,压缩技术使用帧之间的时间相关:在对帧进行编码时,通过使用前面的帧,有时通过使用后面的帧,能够显著缩减要压缩的数据量。
代表某一帧的某些区域中的变化的信息足以表示一个连续帧。这称为预测,按这种方式编码的帧称为预测(P)帧或中间帧。因为预测不会是100%准确的(除非经历的变化是以每像素描述的),所以还要使用表示误差的残留帧来补偿预测过程。
通常把预测信息表示成用于描述帧中的各个对象的位移的矢量。这些矢量称为运动矢量。估计这些矢量的过程称为运动估计。使用这些矢量检索帧称为运动补偿。
通常在帧内的块上应用预测。不同算法的块大小不同(例如,8×8或16×16像素,或2n×2m像素,其中n和m为正整数)。某些块在帧之间的变化非常显著,在这一情况下最好与任何先前信息无关地(亦即,在不进行预测的情况下)发送全部块数据。这些块称为内部块。
视频序列中有许多帧,这些帧是完全按内部模式编码的。例如,序列的第一帧通常是完全按内部模式编码的,因为它不能根据更早的帧来预测。例如,在场景改变时,与先前的帧显著不同的帧通常也是采用内部模式编码的。编码模式是由视频编码器选择的。图1和图2分别说明典型的视频编码器410和解码器420。
解码器420处理多路复用视频比特流(包括视频和音频),对其进行多路解复用以获得压缩视频帧。压缩数据包括熵编码的量化预测误差变换系数,经编码的运动矢量和宏块类型信息。对经过解码的量化变换系数c(x,y,t)进行逆量化,其中x,y为系数的坐标,t代表时间,以便根据以下关系式获得变换系数d(x,y,t):
d(x,y,t)=Q-1(c(x,y,t)) (3)
其中Q-1为逆量化运算。在标量量化的情况中,等式(3)变为
d(x,y,t)=QPc(x,y,t) (4)
其中QP为量化参数。在逆变换块中,该变换系数要进行逆变换,以获得预测误差Ec(x,y,t):
Ec(x,y,t)=T-1(d(x,y,t)) (5)
其中T-1为逆变换运算,在许多压缩技术中,它是逆DCT。
如果数据块为内部类型的宏块,则块的像素等于Ec(x,y,t)。事实上,正如前面说明的那样,没有预测,亦即:
R(x,y,t)=Ec(x,y,t) (6)
如果数据块为中间类型的宏块,则通过在从帧内存中取回的参考帧R(x,y,t-1)上使用接收的运动矢量(Δx,Δy)找到预测的像素位置,来重构块的像素。获得的预测帧为:
P(x,y,t)=R(x+Δx,y+Δy,t-1) (7)
重构的帧为
R(x,y,t)=P(x,y,t)+Ec(x,y,t) (8)
通常,混合、变化效果、标识插入和帧重叠是可以利用以下操作实现的编辑操作:
V~(x,y,t)=Σi=1Nαi(x,y,t)Vi(x,y,t)---(9)]]>
其中
是根据N个Vi(x,y,t)原始序列进行编辑后的序列,t是要发生的效果的时间索引。参数αi(x,y,t)表示在所需时刻t针对所有像素(x,y)引入到Vi(x,y,t)上的修改。
为简单起见,考虑N=2的情况,亦即编辑是通过使用两个输入序列实现的。然而,重要的是强调所有下述编辑讨论均可以推广到n个任意输入帧以生成一个经过编辑的输出帧。
对于N=2,可以把等式(9)写作等式(1):
v~(x,y,t)=α1(x,y,t)V1(x,y,t)+α2(x,y,t)V2(x,y,t)]]>
发明内容
本发明提供用于压缩域操作的方法,以实现所需的编辑效果,该方法的复杂度更低,并且基本上可以从任意帧(在任意时刻t)开始。根据本发明,该方法提供改变效果的可能性,改变效果包括恢复原始剪辑。根据本发明,在编辑设备中,从编码器中获得视频序列之一部分的变换系数,使得它们可以与该视频序列的其它部分的变换系数、其它视频序列的变换系数或指示标识的变换系数进行组合,从而实现诸如混合、滑动变化和标识插入的视频效果。
因此,本发明的第一方面提供用于编辑比特流的方法,其中该比特流承载有指示视频序列的视频数据。该方法包括:
从该比特流中获取指示该视频序列的至少一部分的变换系数的数据;以及
在该变换域中修改获取的数据,用于在修改的比特流中提供修改的数据,以便在该视频序列的所述至少一部分中实现视频效果。
根据本发明,该获取步骤包括:
对该比特流进行解码,以获得多个量化的变换系数;以及
以逆量化对量化的变换系数进行转变,以提供变换系数。
根据本发明,修改的数据包含多个量化的修改的变换系数,并且该修改步骤包括改变该变换系数,以提供多个修改的变换系数。该方法进一步包括:
量化修改的变换系数,以提供所述多个量化的修改的变换系数。
根据本发明,该方法进一步包括:
获得指示多个其它变换系数的其它数据,并且该修改步骤包括,将其它数据与获取的数据进行组合,以提供修改的数据,并且该组合步骤包括:
以第一加权参数乘以其它数据,以提供第一加权的数据;
以第二加权参数乘以获取的数据,以提供第二加权的数据;以及
计算第一加权的数据和第二加权的数据之和,以提供其它数据。
根据本发明,调整第一加权参数和第二加权参数中的一个参数或两个参数,以实现混合效果或滑动变化效果。其它数据可以经由变换运算从内存设备中获得,或者从同一比特流或不同比特流中获得。
根据本发明,该方法进一步包括:
对该比特流进行解码,以获得多个量化的变换系数;
以逆量化运算对量化的变换系数进行转变,以获得所述修改中使用的多个去量化的变换系数;
对去量化的变换系数进行逆变换,以获得指示预测误差的信息;
将该预测误差与该视频数据中的运动补偿信息进行组合,以提供指示参考帧的其它视频数据;
变换其它视频数据,以提供变换的参考数据;以及
将该变换参考数据与在所述修改中的变换系数进行组合。
根据本发明,该方法进一步包括:
经由变换操作从内存设备中获得多个其它变换系数;以及
将其它变换系数与在所述修改中的变换系数进行组合。
本发明的第二方面提供用于编辑比特流的视频编辑设备,其中该比特流承载有指示视频序列的视频数据。该设备包括:
获取模块,响应于该比特流,用于获取指示该视频序列的至少一部分的变换系数的数据;以及
修改模块,响应于获取的数据,用于在该变换域中改变该变换系数,以在修改的比特流中提供修改的数据,以便在该视频序列的所述至少一部分中实现视频效果。
根据本发明,该获取模块包括:
解码模块,响应于该比特流,用于获得多个量化的变换系数;以及
逆量化模块,响应于量化的变换系数,用于提供变换系数。
根据本发明,该修改模块在该变换域中把该变换系数改变成修改的变换系数,并且该编辑设备进一步包括:
量化模块,用于量化修改的变换系数,以在修改的数据中提供多个量化的修改的变换系数。
根据本发明,该编辑设备进一步包括:
另一个获取模块,用于获得指示多个其它变换系数的其它数据;以及
组合模块,用于将该获取的数据和其它数据进行组合,以提供修改的数据。
根据本发明,该编辑设备进一步包括:
另一个获取模块,用于获得指示多个其它变换系数的其它数据;
逆变换模块,响应于其它数据,用于提供指示预测误差的信息;
组合模块,响应于该预测误差和该视频数据中的运动补偿信息,用于提供指示参考帧的参考数据;以及
变换模块,响应于该参考数据,用于向该修改模块提供变换的参考数据,以便基于变换的参考数据改变该变换系数。
本发明的第三方面提供视频编码系统,该系统包括:
解码器;以及
编码器,用于接收比特流,该比特流承载有指示视频序列的视频数据,其中该编码器包括用于编辑该比特流的视频编辑设备,其中该编辑设备包括:
获取模块,响应于该比特流,用于获取指示该视频序列的至少一部分的变换系数的数据;以及
修改模块,响应于获取的数据,用于在该变换域中改变该变换系数,以在修改的比特流中提供修改的数据,以便在该视频序列的所述至少一部分中实现视频效果,以及
其中该解码器能够
在第一模式中运行,以便根据该比特流中承载的视频数据重构视频,以及
在第二模式中运行,以便根据修改的比特流中的修改的数据重构视频。
本发明的第四方面提供电子设备,该设备包括:
视频数据获取模块,用于获取比特流,其中该比特流承载有具有视频数据的视频序列;以及
视频编辑设备,用于编辑该比特流,以实现视频效果,其中该编辑设备包括:
第一模块,用于从该比特流中获得该视频序列的至少一部分的变换系数;
第二模块,用于在该变换域中修改该变换系数,以提供修改的变换系数;以及
第三模块,用于把修改的变换系数转变成修改的比特流中的修改的视频数据。
本发明的第五方面提供在视频编辑设备中使用的软件产品,其中该视频编辑设备用于编辑比特流,该比特流承载有指示视频序列的视频数据。该软件产品包括:
用于从该比特流中提取数据的代码,该数据指示该视频序列的至少一部分的多个变换系数;以及
用于修改该变换系数以便提供指示修改的变换系数的修改的数据的代码。
该软件产品进一步包括:
用于将该视频序列的所述至少一部分的变换系数与其它变换系数进行混杂的代码。
根据本发明,用于提取的代码包括:
用于对该比特流进行解码以获得多个量化的变换系数的代码;以及
用于以逆量化对该量化的变换系数进行转变以提供该变换系数的代码。
根据本发明,用于修改的代码包括:
用于改变该变换系数以提供多个修改的变换系数的代码,所述软件产品进一步包括:
用于量化该修改的变换系数以便在修改的比特流中提供多个量化的修改的变换系数的代码。
根据本发明,用于混杂的代码包括:
用于以第一加权参数乘以该变换系数以提供第一加权的数据的代码,以及用于以第二加权参数乘以其它变换系数以提供第二加权的数据的代码;以及
用于计算第一加权的数据和第二加权的数据之和以提供修改的数据的代码。
根据本发明,该软件产品包括:
用于从内存中提取存储的数据以提供其它数据的代码;以及
用于变换其它数据以提供其它变换系数的代码。
根据本发明,该软件产品包括:
用于对该比特流进行解码以获得多个量化的变换系数的代码;以及
用于以逆量化运算对量化的变换系数进行转变以获取多个去量化的变换系数的代码;
用于对去量化的变换系数进行逆变换以获取指示预测误差的信息的代码;
用于将该预测误差与该视频数据中的运动补偿信息进行组合以提供指示参考帧的其它视频数据的代码;
用于变换其它视频数据以提供变换的参考数据的代码;以及
用于将该变换参考数据与该变换系数进行混杂以提供修改的数据的代码。
通过结合图3-图13阅读以下说明书,本发明将变得显而易见。
附图说明
图1是一个框图,说明现有技术的视频编码器处理;
图2是一个框图,说明现有技术的视频解码器处理;
图3是一个示意性图示,表示典型视频编辑通道;
图4是一个框图,说明根据本发明的用于内部帧的渐隐效果的压缩域方法的一个实施方式;
图5是一个框图,说明根据本发明的用于中间帧的渐隐效果的压缩域方法的一个实施方式;
图6是一个框图,说明根据本发明的利用混合进行标识插入的压缩域方法的一个实施方式;
图7是一个框图,表示用于标识插入的压缩域方法的一个实施方式;
图8是一个框图,表示根据本发明的可以用于压缩域视频编辑的一个扩展的视频编码器;
图9是一个框图,表示根据本发明的可以用于压缩域视频编辑的一个扩展的视频解码器;
图10是一个框图,表示根据本发明的可以用于压缩域视频编辑的另一个扩展的视频解码器;
图11a是一个框图,表示根据本发明的具有压缩域视频编辑设备的一个电子设备;
图11b是一个框图,表示根据本发明的具有压缩域视频编辑设备的另一个电子设备;
图11c是一个框图,表示根据本发明的具有压缩域视频编辑设备的又一个电子设备;
图11d是一个框图,表示根据本发明的具有压缩域视频编辑设备的另外一个电子设备;
图12是一个示意性图示,表示用于提供编辑效果的软件程序;以及
图13是一个示意性图示,表示用于提供编辑效果的另一个软件程序。
具体实施方式
本发明主要涉及当序列为压缩格式时不同视频序列之间的变化效果、标识插入和视频序列的重叠。同样,在无需完全解码和重新编码的情况下,把编辑效果应用到视频序列上。因此,本发明涉及视频编辑中的混合操作和的标识插入操作。混合是对序列进行组合或连接的操作,使序列中的全部帧或部分帧重叠。标识插入是插入标识的操作,标识可以是位于视频序列中的某些帧的特定区域的图像或图形。
可以分解两帧之间的变化效果编辑,以便在这两个帧的对应宏块之间执行此类操作。如上所述,压缩视频中的宏块有两种类型:内部的和中间的。因此,在宏块之间应用编辑效果有4种不同组合。我们将借助于这些宏块的组合来展现实现上述效果的方式。
通常,在一个通道的一端,编辑操作可以发生在该通道中的视频剪辑上。经编辑的视频剪辑在该通道另一端输出,如图3所示。视频编辑操作可以在时刻t开始。正如下文描述的那样,从那个时刻开始,修改该比特流,以便添加所需效果。
内部块与内部块的混合
在空间域中,该操作是按如下方式完成的:
I~(x,y,t)=α1(t)I1(x,y,t)+α2(t)I2(x,y,t)]]>
对于内部帧,通过使用前面小节中的步骤,我们得到
v~(x,y,t)=α1(t)E1(x,y,t)+α2(t)E2(x,y,t)---(10)]]>
对于内部帧,通过使用前面小节中的步骤,并且在对特殊效果之后的帧进行变换以后,可以在压缩域中用下式表示相同操作:
e~(x,y)=α1(t)d1(x,y)+α2(t)d2(x,y)---(11)]]>
正如从图4中看到的那样,变换域方法可以显著简化混合操作。
图4说明用于内部帧的渐隐变化效果的压缩域方法的本发明的一个实施方式。在相应的多路解复用单元10中对两个压缩比特流100、100’进行部分解码,以得到量化的变换系数110、100’或c(i,j)。在逆量化块20中对量化的变换系数进行逆量化,以得到逆量化的变换系数120或d1(i,j)以及120’或d2(i,j)。在块22和22’中分别用α1(t)和α2(t)对这些系数d1(i,j)和d2(i,j)的每一个进行缩放,以使其成为经过缩放的系数122、122’。然后,利用求和设备24计算得到的系数122、122’的和,以生成加权和124(d12,或(x,y),参见等式11)。在量化块26中再次量化加权和124,以生成量化的系数126,或e(x,y)。最后,把量化的系数126发送到多路解复用单元70,后者执行熵编码并与其它所需信息一起进行多路复用,以生成有效的压缩视频比特流170。
应该懂得,可以组合逆量化块、缩放块和量化块组合成单个编码块,或者把缩放块和量化块组合为单个编码块。
对该视频比特流的亮度分量和色度分量两者重复该处理。
中间块与中间块的混合
通过计算残留误差和运动补偿预测之和来重构中间帧,
V1(x,y,t)=R1(x+Δx1,y+Δy1,t-1)+E1(x,y)
同样,
V2(x,y,t)=R2(x+Δx2,y+Δy2,t-1)+E2(x,y)
用下式表示渐隐效果的空间域表示:
v~(x,y,t)=α1(t)(R1(x+Δx1,y+Δy1,t-1)+E1(x,y))+]]>
α2(t)(R2(x+Δx2,y+Δy2,t-1)+E2(x,y))]]>
v~(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)+α1(t)R1(x+Δx1,y+Δy1,t-1)]]>
+α2(t)R2(x+Δx2,y+Δy2,t-1)]]>
请注意,v~(x+Δx1,y+Δy1,t-1)]]>是先前在淡出效果之后重构的帧,并且可以用R(x+Δx1,y+Δy1,t-1)进行重写,它代表不应用变化效果时重构的帧:
v~(x+Δx1,y+Δy1,t-1)=α1(t-1)R1(x+Δx1,y+Δy1,t-1)+]]>
α2(t-1)R2(x+Δx1,y+Δy1,t-1)]]>
接着,可以用下式计算预测残数:
F(x,y,t)=v~(x,y,t)-v~(x+Δx1,y+Δy1,t-1)]]>
F(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)+α1(t)R1(x+Δx1,y+Δy1,t-1)+
α2(t)R2(x+Δx2,y+Δy2,t-1)-α1(t-1)R1(x+Δx1,y+Δy1,t-1)-
α2(t-1)R2(x+Δx1,y+Δy1,t-1)
F(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)-(α1(t-1)-
α1(t))R1(x+Δx1,y+Δy1,t-1)-
α2(t-1)R2(x+Δx1,y+Δy1,t-1)+α2(t)R2(x+Δx2,y+Δy2,t-1) (12)
进行新的残数数据的变换,我们在变换域中得到两个中间块的混合效果:
e~(x,y)=α1(t)d1(x,y)+α2(t)d2(x,y)-(α1(t-1)-]]>
α1(t))T(R1(x+Δx1,y+Δy1,t-1))-α2(t-1)T(R2(x+Δx1,y+Δy1,t-1))+]]>
α2(t)T(R2(x+Δx2,y+Δy2,t-1))---(13)]]>
内部块与中间块的混合
可以用下式表示渐隐效果的空间域表示:
v~(x,y,t)=α1(t)E1(x,y)+α2(t)(R2(x+Δx2,y+Δy2,t-1)+E2(x,y)),]]>
或
v~(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)+α2(t)R2(x+Δx2,y+Δy2,t-1)---(14)]]>
因为输出为内部块,亦即没有预测,所以用下式给出块的变换,
e~(x,y,t)=α1(t)d1(x,y)+α2(t)d2(x,y)+α2(t)T(R2(x+Δx2,y+Δy2,t-1))---(15)]]>
等式(15)在变换域中给出内部块与中间块的混合结果。
中间块与内部块的混合
此时,用下式表示渐隐效果的空间域表示:
v~(x,y,t)=α1(t)(R1(x+Δx1,y+Δy1,t-1)+E1(x,y))+α2(t)E2(x,y),]]>
或
v~(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)+α1(t)R1(x+Δx1,y+Δy1,t-1)]]>
同样,
是先前在淡出效果之后重构的帧,并且可以用R(x+Δx1,y+Δy1,t-1)进行重写,它代表不应用变化效果时重构的帧:
v~(x+Δx1,y+Δy1,t-1)=α1(t-1)R1(x+Δx1,y+Δy1,t-1)+]]>
α2(t-1)R2(x+Δx1,y+Δy1,t-1)]]>
可以用下式计算预测残数:
F(x,y,t)=v~(x,y,t)-v~(x+Δx1,y+Δy1,t-1)]]>
F(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)+α1(t)R1(x+Δx1,y+Δy1,t-1)-
α1(t-1)R1(x+Δx1,y+Δy1,t-1)-α2(t-1)R2(x+Δx1,y+Δy1,t-1)
F(x,y,t)=α1(t)E1(x,y)+α2(t)E2(x,y)-(α1(t-1)-α1(t))
R1(x+Δx1,y+Δy1,t-1)-α2(t-1)R2(x+Δx1,y+Δy1,t-1) (16)
进行新的残数数据的变换,我们得到中间块与内部块的混合效果:
e(x,y)=α1(t)d1(x,y)+α2(t)d2(x,y)-(α1(t-1)-α1(t))
T(R1(x+Δx1,y+Δy1,t-1))-α2(t-1)T(R2(x+Δx1,y+Δy1,t-1)) (17)
中间块与第一个内部帧的内部块的混合
这是在中间块上混合内部块的特例,适用于第一个内部帧。请注意,可以用α2(t-1)=0表示此种情况。处理的其余部分遵循分析。通过把α2(t-1)=0应用于等式(17),我们在变换域中得到如下的最终残留系数:
e~(x,y)=α1(t)d1(x,y)+α2(t)d2(x,y)-(α1(t-1)-α1(t))T(R1(x+Δx1,y+Δy1,t-1))---(18)]]>
接着,对这些变换系数e(x,y)进行量化,并且将其发送到熵编码器。
图5说明用于中间宏块与中间宏块的渐隐变化效果的压缩域解决方案的本发明的实施方式。正如图5所示,编码设备5’包括两个解码器,它们能够把两个压缩比特流100、100’解码为经过解码的视频序列132、132’。该解码器的一部分与图2所示的用于中间块解码的常规解码器类似。因此,可以按常规方式执行在空间域中把压缩比特流100、100’解码为经过解码的视频序列132、132’的处理。然而,编码设备5’进一步包括许多处理块,以便除经过解码的视频序列132、132’之外还在经过编辑的比特流170中产生特殊的渐隐效果。
与图4所示的处理类似,在逆量化块20中对量化的变换系数110或c(i,j)进行逆量化,以获得逆量化的变换系数120或d1(i,j)以及120’或d2(i,j)。在块22、22’中分别用α1(t)和α2(t)对上述系数d1(i,j)和d2(i,j)的每一个进行缩放,使其成为经过缩放的系数122、122’。利用求和设备24计算得到的系数的和。由参考标号124表示求和结果d12(i,j)。其间,在变换块38、38’中对预测的帧136或R1(x+Δx1,y+Δy1,t-1)以及136’或R2(x+Δx2,y+Δy2,t-1)进行变换编码。此外,通过使用第一个视频剪辑的运动矢量和第二个视频剪辑的重构帧,经由运动补偿预测块36’获得参考块137R2(x+Δx1,y+Δy1,t-1)。同样,利用变换块39’对参考块137’进行变换编码。在变换操作之后,用(α1(t-1)-α1(t))、α2(t-1)和-α2(t)对分别针对R1(x+Δx1,y+Δy1,t-1)、R2(x+Δx2,y+Δy2,t-1)和R2(x+Δx1,y+Δy1,t-1)的变换系数138、138’和139’进行缩放。接着,在求和块25中,从d12(i,j)中减去经过缩放的变换系数。然后在量化块26中对最后得到的系数125或e(i,j)进行量化。最后,把量化的系数126发送到多路复用单元70,该单元执行熵编码并与其它所需信息一起进行多路复用,以生成有效的压缩视频比特流170。
应该懂得,可以把逆量化块、缩放块和量化块组合成单个编码块,或者把缩放块和量化块组合成单个编码块。
对该视频比特流的亮度分量和色度分量两者重复该处理。
在典型应用中,可以进一步改进上述处理。例如,根据本发明,可以允许仅选定的变化帧通过用于生成经过编辑的比特流170的方法。对于不是变化帧的那些帧,可以跳过该操作。在上述情况中,通过把一个加权参数设置为0,即α1(t)=0或α2(t)=0,可以执行这种改进过程。当α2(t)=0时,无需计算R2(x+Δx2,y+Δy2,t-1)的变换系数138’。同样,当α2(t-1)=0时,无需计算137’,或R2(x+Δx1,y+Δy1,t-1)。当α1(t-1)=α1(t)时,无需计算R1(x+Δx1,y+Δy1,t-1)的变换系数138。
当α2(t-1)=α2(t)时,不需要在不同的编码块中独立计算R2(x+Δx2,y+Δy2,t-1)和R2(x+Δx1,y+Δy1,t-1)的变换系数,而是可以按以下方式进行计算。在计算R2(x+Δx2,y+Δy2,t-1)和R2(x+Δx1,y+Δy1,t-1)两者之后,从R2(x+Δx1,y+Δy1,t-1)中减去块R2(x+Δx2,y+Δy2,t-1)。在某一变换块中,例如在块39’中,对该差值进行变换编码。利用α2(t-1)或α2(t)对该结果进行缩放,然后把经过缩放的结果提供给求和块25。其余步骤与以上结合图5而描述的处理相同。
滑动变化效果
滑动变化效果,也称为“擦除”效果,在变化期间,它使一个视频剪辑滑动到另一个。这可以是通过分配依赖于帧中的空间位置(x,y)的合适权重α(x,y,t)来实现的。此外,对于帧V1(x,y,t),我们设定权重α1(x,y,t)=0和α1(x,y,t)=1,以便指定该滑动变化将包含帧1的哪些部分。同样,设置α2(x,y,t)=0和α2(x,y,t)=1指定帧2将包含该帧的哪些部分。
标识插入
可以用不同方式实现标识插入。一种方式是借助于混合来实现标识插入,如图6所示。可选择地,可以在没有混合的情况下实现标识插入,如图7所示。
在借助于混合来实现标识插入的情况下,用标识内存40中的标识的变换系数替换来自某一解码器(参见图5)的变换系数120,如图6所示。如图所示,变换块41把标识帧或序列140变换成变换系数141。在缩放之后,利用求和块24计算变换系数141和系数120的和。同时,利用运动补偿预测块36’处理该标识帧,以生成预测的帧137’。把该结果变换成变换域系数139’。其余步骤与图5描述的那些步骤类似。
图7表示在没有混合的情况下的标识插入。如图所示,将变换系数141与来自压缩比特流100的逆量化的变换系数120,以及与基于经过编辑的比特流126的预测的帧进行混杂。
多个序列或帧的重叠
在上述编辑处理中,把输入序列的数目或N设置成2(等式1)。同样地,把运动预测中使用的帧数或n也设置成2。然而,根据本发明,可以将变换域编辑的方法推广为使得帧数可以从n=2扩展到n=N,其中N是大于2的正整数。
可以把图4-图7所示的压缩域编辑模块合并到图1和图2所示的常规编码器和解码器中。例如,常规编码器410可以可操作地与本发明的编辑模块5、5’或7相连。正如图8所示,扩展的编码器610具有一个开关以选择向解码器发送哪个比特流。在不进行编辑的情况下,发送原始比特流100。在进行编辑的情况下,发送经过编辑的比特流170。同样地,可以把扩展的编码器610用作典型编码器,或者其可以用于压缩域视频编辑。
如图9所示也可以把编辑模块5、5’和7的每一个合并到扩展的解码器620中。如图所示,解码器420可以接受原始比特流100,或来自编辑模块5、5’或7的经过编辑的比特流170。同样地,可以把扩展的解码器620用作典型解码器,或者其可以用于压缩域视频编辑。
也可以与扩展的解码器630中的常规解码器420一起使用图6的编辑模块8。如图所示,可以直接从编辑模块8(参见图6)的上部6获取原始比特流100的经过解码的视频序列。可选择地,可以利用编辑模块8的下部5”编辑比特流100。
正如图11a-图11c分别所示的那样,可以把扩展的编码器610集成到电子设备710、720或730中,以便向电子设备提供压缩域视频编辑能力。正如图11a所示,电子设备710包括扩展的编码器610,用于接收视频输入。把来自编码器610的输出的比特流提供给解码器420,从而可以在例如显示器上观看经过解码的视频。正如图11b所示,电子设备720包括用于拍摄视频图片的视频摄像头。来自视频摄像头的视频信号被传送到扩展的编码器610,后者可操作地与存储介质相连。如上所述,可以编辑来自视频摄像头的视频输入以实现一种或多种视频效果。正如图11c所示,电子设备730包括发射机,用于发射来自扩展的编码器610的比特流。正如图11d所示,电子设备740包括一个接收机,用于接收包含视频数据的比特流。该视频数据被传送到扩展的解码器620或630。来自扩展的解码器的输出被传送到显示器以便观看。电子设备710、720、730、740可以是移动终端、计算机、个人数字助理、视频录制系统等。
应该懂得,可以利用图12所示的软件程序422、424实现图4、图5和图6所示的块22、22’提供的视频效果。例如,这些软件程序具有第一代码和第二代码,第一代码用于提供指示α(x,y,t)的编辑数据,第二代码用于通过乘法运算将该编辑数据应用到变换系数d(x,y,t)上。第二代码还可以包括求和运算,以对经过缩放的变换系数122、122’、142进行组合。此外,正如图13所示,可以利用求和模块28中的软件程序426执行块24和块25两者中的求和运算(参见图5和图6)。
总之,本发明提供用于编辑比特流的方法和设备,其中该比特流承载有视频序列中的视频数据。该编辑过程包括:
对该比特流进行解码,以获得该视频序列的量化的变换系数;
对量化的系数进行逆量化,以获得变换系数;
在该变换域中修改该变换系数;
对修改的变换系数进行量化。
通过例如经由加权求和运算来对该变换系数和其它变换系数进行组合,可以修改该变换系数。可以从同一视频序列或从不同视频序列中获取其它变换系数。也可以经由变换模块从内存中获取它们。
可以利用软件程序中的软件代码执行这些方法步骤的多个步骤或全部步骤。
因此,尽管针对其优选实施方式描述了本发明,但是本领域的熟练技术人员可以懂得,可以对其形式和细节做出上述以及各种各样的其它改变、省略和变更,而并不偏离本发明的范围。