包含视频帧和辅助数据的位流的产生和处理的制作方法

文档序号:6455973阅读:179来源:国知局

专利名称::包含视频帧和辅助数据的位流的产生和处理的制作方法
技术领域
:本发明涉及一种产生位流的方法和装置,一种处理位流的方法和系统,位流自身以及存储位流的记录载体(例如DVD)。本发明提供一种在MPEG视频帧中^A用户数据的^A方法,该用户数据能在解码步骤以及模拟数据路径之后继续保留。
背景技术
:当视频数据被提供用于渲染时,例如,在电视系统中,包含了视频(通常带有音频数据)的信号随后被传输。在很多环境中,某些形式的附加数据也被包括在信号中。例如,在数字电视系统中,信号通常包括数据部分,其中包括例如电子节目指南和交互式应用这样的事物,最终用户将其接收并在观看信号的视频分量的同时对其进fiH方问。在视频信号中直接包含数据也是已知的。已知的标记视频信号的方法在国际专利申请公开^VO93/00769和欧洲专利申请公开EP0518616中被揭示。己知的方法修改视频信号会在重放时弓i入图片中的某些干扰。通过向信号中添加数据以标记视频信号也是已知的。一种方法是在垂直消隐间隔中调节数据(例如文字电视广播所使用的)。另一种方法是清空矩形图片部分并用可被显像管前面的光电二极管探观倒的白色和黑色的点的序列来替代,图片部分。美国专利US5940134揭示了一种方法和配置,其标记视频或音频信号来给所述信号分配类别,例如,确定信号是可信的并不可以被拷贝。信号包括依照预定标7f(MPEQPAL,NTSC)的至少两个分量(Y,UV)。依照该文献所揭示的,值被分配给分量,而这在结合时通常可能不发生。例如,在黑色的图片部分,Y,U和V均为零,U和/或V现在可以被任意i體成非零值以构成水印。电视接收器仍然显示黑色部分。当信号被重新编码并被拷贝到可记录的盘片时,水印不会丢失。这篇现有技术专禾鹏述了对黑色视频部分中用户娜进行编码的可能性。并描述了在不弓l起消费者注意的情况下加密视频帧的彩色信息(色度)中的该用户数据的可能性,该帧中每个像素的强度(亮度)都被设置为零。这样黑色部分被显示给用户。随着扩增视频重放的新颖系统的引入,例如amBX的家庭影院(见www.amBX.com),可能与例如音嫩视频(AV)内容重放一起渲染额外的效果(例如附加的灯光),以增强例如消费者观看电视的体验。为了育的夠腊这些效果,用于扩增AV内容的脚本必须是可用的。关于在重放AV内容的同时展现这對广增效果的一个重大问题是,特定AV内容的扩增脚本应在渲染位置可用。例如,如果用户在传统DVD播放器上观看DVD时,必须安排访问以及执行扩增脚本。特别是出现未连接因特网的情况下,需要帮助分发扩增脚本的凝巾方法。除此之外,当然也可以ffl31某种其他分发媒介来分发用户数据,然而这需要该媒介的可用性。另一种选择可以是在盘片上包含特定的用户数据文件。然而这需要与盘片形式,盘片播放器,,或许还有盘片播放器装置的外部接口相适应。如以上所公认的,M可以直接包含在视频流中,但是所有己知的系统都需要对接收,进行某种修改,以使(例如扩增脚本)能够被访问并从信号中找回和/或需要对原始體进行凝巾修改,所述原始装置将视频数据编码为一种能被最终信号携带的格式,禾tv或在图象中仅包括相对较少数量的数据。
发明内容因此,本发明的目的是对现有技术加以改进。根据本发明的第一方面,提供一种产生位流的方法,其包括接收视频,接收辅助数据,依照定义的方案转化所述辅助数据,将转化的辅助数据编码为一个或多个视频帧,每帧主要包括编码转化的辅助数据,并将视频数据和编码视频帧结合为位流。根据本发明的第二方面,提供一种产生位流的^S,其包括用于接收视频数据的视频缓冲器,用于接收辅助数据的存储装置,用于依照定义的方案转化所述辅助数据并将转化的辅助数据编码为一个或多个视频帧的处理器,其中每帧主要包括编码转化的辅助数据,以及用于将视频数据和编码视频帧结合为位流的发送器。根据本发明的第三方面,提供一种处理位流的方法,其包括接收位流,所述位流包括多个编码视频帧,对视频帧执行提取处理,每个帧主要包括编码转化的辅助数据,所述提取处理包括将辅助数据从视频帧中解码。根据本发明的第四方面,有一种,位流的系统,其包括用于接收位流的接收器,所述位流包括多个编码视频帧,用于对视频帧解码的视频J科马器,用于显示视频帧的显示装置,以及用于对视频帧执行提取处理的处理器,每个帧主要包括编码转化的辅助数据,所述提取处理包括从视频帧中解码辅助数据。根据本发明的第五方面,提供一种位流,其包括依照预定标准编码的多个视频帧,所述多个视频帧的第一组,当依照预定标准解码时,包括视频数据,所述多个视频帧的第二组,当依照预定标准解码时,主要包括编码转化的辅助織。根据本发明的第六方面,提供一种存储位流的记录载体,所述位流包括依照预定标准编码的多个视频帧,所述多个视频帧的第一组,当依照预定标准解码时,包括视频数据,所述多个视频帧的第二组,当依照预定标准解码时,主要包括编码转化的辅助。由于本发明的缘故,可提供一种方法,在视频位流中直接包括相对较大数量的辅助翻,该视频位流可MiI产装置(例如标准的DVD播放器)所接收,不影响该装置的功能,但该数据能够以一种简单高效方式完全恢复。除了普通视频帧之外,还有插入的额外帧(其主要包括编码转化的辅助数据),并且在最终用户看來其就是在他们的显^置上显示出的噪声。本发明提供一种如何使辅助数据(例如扩增脚本)能够直接从AV流中取回,存储至,如DVD上的解决方案。本发明可用于基于盘片的AV内容发送(例如DVD,蓝光盘),其中该内容随后通过某种模拟数据路径被传送。本发明提供一种在视频帧中^A数据的实施例。本发明的一个实施例是在基于MPEG的AV-材料中嵌入用户M,以及稍后没有误差的,从基于MPEG的AV-材料中,以尽可能高效的方式重新得到该用户娜。这是在解释标准化MPEG流柳蹄脷格式,解码器端(盘片播放器装置)系统部件的功能规格、性能和限制,以及解码器装置的捕获和重建性能的时候完成的。不对MPEG标准或盘片播放器装置作出任何改变,嵌入的用户数据可从盘片播放器装置的模拟输出中恢复。本发明还允许当辅助数据存储在MPEG流中时,其可直接从编码MPEG帧中恢复,而不需要对帧解码。如果接收端的系统对数字MPEG流有直接访问,这是可能的。进一步有利的是,依照定义的方案对辅助数据进行转化,包括将辅助数据转换为多个级另lj(level),每个级别对应于预定级别列表中的一项,其中该预定级别列表包括30个级别,为数字1到15禾口-1至U-15。依照定义的方案对辅助数据进行转化进一步包括将多个级别转换为矩形±央,其中每块有m个级别,m小于块大小的25y。。在实施例中,m小于或者等于IO,i央大小等于8x8。依照定义的方案对辅助f^进行转itiS—步包括Mi^述块中收集帧。本发明的主要优点是不需要独立的分发fflit来将用户数据(在这种情况下,用于增加用户体验的amBX脚本)传递给消费者。另外,(当前的)消费者盘片4番放^S不需要任何改劳变更以會,支持本发明。实际的改变必须构建到接收视频帧的处理器中,其能接收来自遗产DVD播放器的模拟输出。本发明不需要任何标准化行为,这通常是个非常耗时的过程。tti&地,编码器能够将一个预定视频部分插入一个或多个主要包括编码转化的辅助数据的帧。因此其可以在每个帧中也包括某种信息(例如适当的标识(logo)),SM知用户关于这些帧的内容,而不是向用户呈现完全随机帧的序列。接收端的处理器可以改变,以便其无需不断地检查可能^A的用户数据。为了肖^)多做到这一点,需要某种通告序列。可以选择一种相似类型的序列知处理器i^A用户数据的结束。最合乎逻辑的通告序列可以^ffi常不出现在内容中的典型的帧序列,并且使用处理器中现有的可用功能,其能够被容易地识别。编码方法可以进一步包括接收指纹帧,并且当将视频数据和编码视频帧结合为位流时,直接在所述编码视频帧之前包括所述指纹帧。例如,在^A的用户数据序列的开始之前的短的帧序列可以被1OT,其可被处理器的指纹单元所识别。由于这种指纹单元一直起作用,因此不会导致额外的系统负荷或者包含新的功能。一个典型的能够用于帧中的短序列可包括交替黑白块(每个都与一个用于指纹计算的块同样大),继其之后的是具有交替白黑块的帧。如果需要,这可以被重复几次。这导致了指纹的一种交替模式,每个位都具有高概率。该信息之和产生足够的信息用来唯一鉴别用户数据序列的开始位置。音频触发器也可能被使用以作为在接收端开始捕获辅助数据的一种方式。在一个实施例中,繊被编码为DCT8x8块的级别,DCT-块(DCT-block)有可能不是精确地从帧的左上角开始(DCT-块的位置可能有水平和/或垂直偏移)。因此,需要许多特定的DCT-块的某种开始序列(头)以找到随后的DCT-块的准确位置,并产生正确的对准。编码方法可进一步包括,当将转化的辅助数据编码为一个或多个视频帧时,在每个帧中包括指示所述辅助数据开始的部分。本发明可用于将用户数据(例如,脚本和同步表格)嵌入到基于MPEG的视频流中。这种流可以被存储在盘片上并可被消费者盘片播放器装置播放。通过这样做,包括所述处理器的独立解码器可以从流中找回用户数据并能使用该数据为用户提供属于视频内容的效果。现在将参照附图仅以一种示例方式描述本发明的实施例,其中图1是用于阐明MPEG系统编码的视频帧序列的示意图,图2是一对量化矩阵图,图3是一个矩阵图,表示穿过矩阵的串行化路线,图4a是一个表示8x8块的矩阵图,图4b是图4a中的矩阵经过DCT变换之后的图,图5是图4b中的矩阵经过量化之后的图,图6是产生位流的装置(编码器)的示意图,图7是图6中编码器的一部分的示意图,图8^I信链的示意图,图9是图8中链的一部分的示意图,更详细表示了DVD播放器和独立的解码器,图10是图9中解码器的一部分的示意图,以及图11是视频帧的屏图视图。具体实施例方式本发明的优选实施例获得辅助数据并将该数据编码为一个或多个MPEG视频帧。其可以随后与一系列常规MPEG帧相结合以产生与常规MPEG信号相同的信号。该信号在编码侧和接收端均不需要任何修改,就可被通信链中的所有^S处理,其中任何接收该信号的,都将该信号作为一系列标准编码视频帧来简单处理。为了更彻底地理解本发明,解释一些MPEG的基础,其将使随后的算法讨论变得简单。除了开销(如MPEG头),MPEG信号由一系列帧组成。这些帧可以分为两种类型。帧内(intraframe)编码帧(I-帧)被独立于流中的其他帧编码,并仅利用图片中的空间冗余。第二种类型,帧间(interframe)编码帧(P-帧或B-帧),禾,相继帧之间的时间冗余并^ffi运动补偿以最小化预测误差。只有预测误差和某种飛肖,如运动向量,被编码。P-帧被从一4S1去的帧(I-帧或P-帧)中预测,而B-帧被从两个帧中预测(I-帧或P-帧),一个是过去的并且一个是将来的。由于B-帧涉及至i將来的帧,传输顺序不同于显示顺序;B-帧在它从中被预测的帧后面出现。包括I-,P-,和B-帧的序列的示例被显示在图1中。该图显示了不同的帧翻在传输/解码和在摄胁显玩l,中是如何出现的,以及它们怎样互相涉及。帧的编码过程(期各像素转化成编码形式以存储或传输)如下所示1)对于齡分量(亮度y采样和色度Cb和C;采样),帧(对I-帧来说,这是图象自身,以舰P-或B-帧来说,这是预测误差)被戈吩为8x8块的像素。所谓的宏土央包括四^(2x2)亮度值块,以及根据色度格式,对于4:4:4,4:2:2禾口4:2:0色度格式,分别包括8,4或2*度采样±央。在4:2:2色度格式的情况下,色度值zK平:ttt行下采样(downsample),以及在4:2:0色度格式的情况下,色度值水平地或垂直iikii行下采样。P-和B-帧中的运动补偿基于这些宏t央来执行。2)对8x8块进行二维DCT(离散余弦变换)变换产生DCT系数的8x8±央。DCT系数包含输入块的水平和垂直空间频率的信息。相应于零水平和零垂直频率的系数叫做DC系数。以自然的图象为^樣,这些系数的排歹杯是一致的;所述变繊向于将能SA中至U低频系数(8x8DCT变换块的左上角)中。3)ACDCT系数c(nyi)(DC系数被不同地处理)在内编码(intra-coded)块中M51使用量化步幅q.QinUm,n)/16被量化,而在间编码(inter-coded)块中ilil使用量化步幅q.Qao^te(m,n)/16被量化。图2a描述了缺省的内(intra)量化器矩阵Qnte,以及图2b是缺省的非内(non-intra)量化器矩阵Q胁*。量化因子q(在MPEG标准中该量化步幅MJl量化器—尺度(quantizer—scale)变量给出)可被/膽块到宏块设置,变化范围从1到112。4)DCT系数的串行化过程。该步骤的目的是将DCT系数的二维8x8块映射到具有64个系数的一维数组。量化的DCT系数的串行itM程禾,能量到低频系数中的可能的聚集,这在上面的步骤2中已出现。图3显示MPEG方案中^柳的DCT系数的串行俗顷序(在该图中一个Z字型扫描被显示,然而还有交替(alternate)扫描,其对于隔行扫描(interlaced)的视频常常给出更好的压縮),其中第一个和最后一个入口分别{最低频率和最高的空间频率。5)DCT系数的编码。步骤4中产生的值的列劍OT可变长度编码(VLC)进行熵编码。这个步骤中发生实际的压縮。在下面的表1中列出了表格的一部分,其用于内(intra)AC系数。每个VLC代码字(codeword)g零的游程(run)(也就是DCT系数之前的零值系数的数量),接着是特定级别的非零系数。VLC编码识另咄短的程比长的!程更有可能,小的系数比大的系数更有可能。其为出现的各种VLC编码分配不同长度的代码字。<table>tableseeoriginaldocumentpage12</column></row><table>0000101s811111000s91000001退出1110Is0000101s061111001s1300100110s321111010s10100100001s111謝00101s12100100100s131000100s07OO訓llls141111腦s2311111101s42000000100s52000000101s14100000011Is1510000001101s161注i-最后一位's表示级别的标记,'o',正,'r表示负。注2-"i央末端"不会制虫作为块的编码出现。为了更详细地说明可变长度编码过程,在图4和图5的矩阵中显示一个实际的例子,其显示对块的可变长度编码的一个執列说明。图4a显示空间域中8x8块的像素的亮度值,以及图4b显示经过DCT变换后的图4a中的矩阵。图5显示图4b中描述的块的DCT系数经过量化之后获得的级别。在第一步中,包含了空间域(图4a)中像素的亮度值的8x8块被变换到DCT域(图4b)。接着,假定该i央将被内编码,并且量化步幅q46,ffl31将每个系数除以相应的量化步幅Qnon-irto(nyi),这些DCT系数被量化(如上面的步13骤(3)所i^的那样)。该操作产生了图5中描述的矩阵。上面步骤(4)中的Z字型扫描产生下列级别序列为了简化,园挝了DC系数的编码,因为其以不同的方式处理并且不被嵌入辅助数据的算法所4顿。在VLC编码步骤之后,该级别序列被鹏至lj下歹lj游稼级别对(0,4),(0,7),(1,-1),(0,1),(0,國1),(0,1),(0,2),(0,1),(2,1),(0,1),(0,陽1),(0,画1),(2,1),(3,1),(10,1),EOB在该符号中,对中的第一个数表示第二个数值之前的零的数量。最后的零游程被块结束(EOB)标记所替代。最后,使用表1中的VLC将这些游禾势级别对转换成位流111000/0001000/0101/100/101/100/1100/100/001010/100/101/101/001010/001110/11110100/0110可以用两种方式^A辅助f^,首先是在空间域中,在MPEG编码之后或者直接在MPEG域中。的实施例是将翻直接駄MPEG域,因为这给出了对MPEG流和位率的最高控制。由于嵌入的是随机(在此意义上,其不会对应于实际图象),相继视频帧是无关联的,故帧间无时间冗余。作为一个直接的结果,通常,帧不能从过去帧劍每来帧中预测,并且因此其只能使用1-帧和/或内编码±央。此外,由于产生的视频帧不是自然图象,对于内编码块,更优选的是使用修正的量化矩阵替代默认量化矩阵。事实上首选的是对该数据流的内编码i央使用图2b中描述的间编码±央所使用的量化矩阵。这可通过将这个修正的量化矩阵插入"序列头"中的MPEG流,或插入MPEG流的"定量(quant)矩阵扩展"(MPEG支持任意选择的量化矩阵的传输)中来实现。MPEG解码器将使用该修正的量化矩阵来替代默认的量化矩阵。但也可能^ffl其fei化矩阵。本发明的标准实施例是用DCT块的级别来mA数据。这意味着,如果4OT例如16个不同级别来駄薩,男P么每个DCT位置可能駄log216=4位。为了以最高效的方式嵌入,位(意ttDCT级另lj)需要被^DCT位置的最小数量的MPEG流位所表现。表1中的最短VLC是对应于具有最小游程和最小级别的游程-级别(run-level)对的VLC。特别地,游程等于0的游程-级别沐对于相当大范围的级另l俱有平均最短的VLC。在表2中,列出了游程-级别对的VLC列表,其相应的VLC的长度小于或等于9。结果是,当仅j顿游程等于0的游程-级别对来駄辅助的时候,DCT位置的最高位率被获得。如下面将要看到的那样,因为系统的稳健性,肯詢多在DCT块中插入零DCT系数是令人想要的。因此f^及另杯用于^A数据。这样,可以通过使用带有非程的游程-级别对来简单插入零,而不影响数据。如表2所示,有30个不同的级别(-15至lj-l和1到15)的游程等于0,其可有效地用于駄数据。结果,齡DCT位置可能嵌入log2(2xl5)^4.9位。然而,如果必须插入零,该位率))tM^。表(2)可变长度编码(注1)游程级别长度10s013110s0240111s03511100s0461110ls056000101s067000100s0771111Oils0881111100s09800100011s010900100010s011911111010s012911111011s013911111110s014911111111s0159010s11400110s126151111001s138簡00111s14900100000s1900101s2160000111s2281111腦s23900111s31600100110s329000110s41711111101s4290001lis5170000110s6180000100s7180000101s8181111000s9181111010s101800100001s111900100101s121900100100s1319注i-最后一位's表示级别的标记,'o'表示正,'r表示负。原则上,该方法育^多被用来以每DCT块63x4.9=309位这样的方式^A(DC位置不用于嵌入数据,但用于阻止解码之后在空间域中的修剪(clipping),如下面说明的那样),假设构造的MPEG流的全部位率低于最大允许的位率(对于主级另ij(mainlevel)的MPEG-2的主型(mainprofile)而言,其用于DVD内容,最大的位率等于10M^/秒);并且包含数据的构造的DCTi央,不会导致编码后在空间域中的修剪。由于数据是随机的,可以假定所有的游程-级别对(也就是游程等于O并且级别范围从-15至1」+15的游程-级别对)都具有相同的用于表示数据的概率,也就是假定均匀分布(unifonndistribution)。结果是,齡DCT位置的平均VLC长度等于VLC长度之和除以代码册(codebook)中的VLC的数量。在本例中平均长度等于7.2位。注意因此存在7.2-4.9=2.3位的开销。在PAL视频内容中,一^M贞包括720x576/64=6480个亮度(8x8像素)DCT块,6480/4=1620賴度DCTi央,每秒25帧。因此,如果j顿所有DCT位置,每秒钟一共需要(6480+1620)x63x7.2x25=91854000位来4樣数据,这里的因数9太高了。此问题的一个简单解决办法是^DCT块仅使用63/9=7个位置,这样还有其他的优点,这将稍后讨论。如果每个DCTi央使用6(7结果是太大了)个位置,可以在PAL内容中^A大约(6480+1620)x6x25x4.9=5953500位/秒或0.71M字节/秒。相应的MPEG流独占开销的位率大约为(6480+1620)x6x25x7.2=8748000你秒或8.3M位/秒。这留下了大约1.7M你秒用于MPEG开销。该^A过程中需要解决的另一个问题是空间域中的修剪。MPEG解码器通舰DCT变换计算像素值,其定义如下F(u,v)是64个DCT系数,以及p(n,m)鼓块中的像素值,其中n=0到7并且m=0到7。这^j象素值被修剪以至于0《p(iyn)《255。因此,需要确定DCT系数F(u,v)lte择以至于,当解码发生时,不发生修剪,因为修剪(非线性操作)使数据的解码更复杂。辅助数据必须在模拟路径之后保留,因此像素值p(n,m)不得不满足更严格的条件32《p(ryn)《235,如在推荐标准ITU-RBT.6014中描述的那样。像素值p(iyn)的最大值等于1ifu#0<formula>formulaseeoriginaldocumentpage18</formula>这里F(0,0)直接涉及像素8x8块中的平均像素值(DC值)。一个可能的选择是F(O,O)=1072,所以8x8块的平均像素值等于(235+32)/2=134=1072/8。如果使用6个ACDCT系数来^A辅助数据,这个选择确保当这6个系数的绝对值的平均值小于101x4/6=67的时候,那么在平均情况下不出现修剪(注意101=235-134^134-32)。由于^A数据应该在从DVD播放器到外部解码器的模拟路径之后继续保留,数据对于噪声应该是稳健的。达至呲目的的一个方法是^f顿较大的DCT系数的量化步幅。这些量化步幅可被量化矩阵和量化器一尺度(quantizeiiscale)q变量所控制。内编码DCT系数cOn,n)被解码为c(nyi)=levelxqQntra(m,n)/16c(m,n)=levelxq如飘于所有的m和n,Qnjm,n)46。因而,量化器尺度q越大,对于噪声就越稳健。对于随机数据,级别的绝对值平均为8[2x(l+2+…+15)/30=8]。如上所示,为阻止修剪,平均DCT系数应该小于或等于67。作为一个直接结果,平均地,q应该被选择为小于或等于67/8^8。这时,在DCT块中仅使用6个DCT系数的第二个优点显示出来;更多系数导致更低的q,这导致系统对噪声的稳健性变差。一个使系统更稳健的可选办法是,可以应用误差校正(errorcorrection)。对于一些DCT±央来说,DCT系数的绝对值的平均值大于67的情况可能发18生。在这种情况下,可以应用逆DCT变换以检查修剪是否发生,并且如果这样,在这^#定±央中^1>DCT系数的数量。通过明智地<細游程-级别对,可以通过在明智地选择的位置产生零来节省一些位。解码器将注意到这个。最后,为了使系统更安全,可以ffiiW数据加密来使用加密技术。图6显^码器10,其为产生位流12的CT。编码器10包括视频缓冲器14,其用于接收常规视频数据16,所述数据16为构成某种视频序列的帧。视频数据16可以是像素数据的形式,其仍需要编码为MPEG流,或者可能已经是MPEG数据,期每与辅助数据18(—旦其被编码的话)相结合。装置10还包括存储装置20,其用于接收和存储辅助翻18。在本发明的一个实施例中,辅助数据18表现为一个或多个XML文件的形式,其定义用于增加娱乐体验(例如电影)的脚本,以及表现为一个或多个具有同步表格的文件的形式。数据18被装置10仅用内编码i央编码为MPEGI-帧或P-或B-帧。编码器10中的处理器22用于依照定义的方案转化辅助数据18(在后面参考图7更详细地讨论),并将转化的辅助数据编码为一个或多个视频帧24,旨帧24主要包括编码转化的辅助数据18。处理器22将辅助数据18从其存储的形式(表示XML文件的位流)转变为一组作为帧24的MPEG级另ij。这些帧24被例如常规的MPEG解码器所处理时,将看起来完全地象有效的MPEG流,尽管如果该I-帧被合适的显^置所显示,将只是噪声。帧24和视频数据16被传给发送器26,其用于将视频数据16和编码的视频帧24结合到位流12中。编码器10育^刻每位流12输出到记录载体28(例如常规的DVD),蹄储位流12。位流12包括多个^M预定标准编码的视频帧,所述视频帧的第一组,当依照预定标准解码时,包括视频数据(原始数据16),以及所述视频帧的第二组,当依照预定标准解码时,主要包括已编码转化的辅助繊(数据18)。图7更详细显示了接收辅助数据18的编码器10中处理器22的工作。处理器22用于,当依照定义的方案转化辅助数据18时,将辅助数据18转换为多个级别,^级别对应于预定级别列表中的一个级别,为数值1到15和-1至U-15。这在功能i央30中发生,其中位流被转换为一系列级别。下一个±央32是多个级别到8x8块的转化,每块6个级别。随后处理器22在块34执行修剪预防,其先于DCT块至VLC代码字的转换,后者在块36中发生。处理器22随后用于在多路复用器38处收集具有标准MPEG头的一系列的帧,这导致MPEG流的输出,其能被传纟織码器IO中的发送器26,用于与视频娜16相结合,最终产生位流12。在使用处理器18对辅助数据18进行转化和编码时,数据18被映射到30个级别,其被连续地置入DCTi央。ffli^柳量化矩阵Qmta(nyi)和量化尺度q将这些级别转换为DCT系数。如果应用逆DCT变换后发生修剪,M31与VLC产生模块36通信,级别被删除并且零以一种灵巧的方式被插入,以保持尽可制氐的位率。MiU除的级别被移动至lJ下一个块。在:程,VLC产生模块36需要知道哪种扫描方法(交替扫描或Z字型扫描)被用于产生正确的VLC。并且最后,产生的流具有MPEG头并被多路传输,以构建有效的MPEG流。图8是一个通信链的示例,其中编码器10的输出(位流12)被存储到DVD28,其能够随后被标准DVD播放器40所接收。DVD播放器40的模拟输出可被解码器42所4柳,期各膨方问辅助数据18,辅助繊18包含在视频帧中。解码器42取回模拟视频帧,并对^8x8±用DCT变换以获得*块的DCT系数。由于解码器己知量化器矩阵Qnta(m,n)的值和量化器尺度q的值,其可通过除法来计算相应的级别。通过查找表方式从这些级别中可以取回位。解码器42还知道DCT系数以何种顺序写入DCT块。零DCT级别不会给出数据并且可被瑕M。因此如果由于修剪预防而产生零,解码器42纟^注意到。图9显示在接收端处理位流12的系统,例如消费者的休闲室,在此他们可观看DVD28上的电影,以及具有扩增系统表示将能够使用辅助数据18。在一个实施例中,系统包括DVD播放器40和解码器42。播放器40包括接收器44,其用于从载体28接收位流12,位流12包括多个编码的视频帧。此外,DVD播放器包括常规的视频解码器46,其用于对传到显示装置48的视频帧解码,该显示装置48用于显示视频帧24和16。视频帧还可被DVD播放器40传到解码器42。该连接可以是标准的模拟输出,因为DVD播放離收数字流(MPEG),并且将其转换为模拟流,以通过例如常规电视48这样的模拟装置来显示。解码器42包括处理器50,其用于对已解码的视频帧24执行提取处理,每个帧24主要包括已编码转化的辅助数据18,提取处理包括将辅助数据18从视频帧24解码。图10更详细显示出解码器42具有内部处理器50。M器50包含功能模t央52,其通过应用8x8DCT变换将帧的像素变换到DCT域。ililf顿量化矩阵QnUm,n)和量化尺度q,在功能块54系数被转化为级别,原始辅助数据可从这里恢复。^视频帧24包括已编码的辅助数据18,并且当视频帧24被常规显^置48显示时,其表现为不构成任何有意义图象的一系列灰色尺度像素。这些包括噪声的帧,可被包括在DVD28上,并将在电影开始之前运行几秒种。可通过DVD作品的插入^il知用户这些帧的存在,或者施加标识(logo)或类似的消息至lj屏幕的很小的部分以通知用户。该标识可在当帧最初在编码器端编码时加入,并可作为实际视频数据形成包含辅助数据的特定帧的一部分。还可以向DVD添加信息,其使用户不可育繊〖过辅助帧或在播放这些帧Bm行欺骗播放。如,标准实施例中所述,辅助数据18(由位形成)必须被转换为MPEG级别。总共有30个级别(-1到-15和1到15)示位。由于30不是2的幂,因此从位到级另啲转换不是直接的。一种解决方案是仅,4位(对应于0到15这16个数)到这30个级别,但那在可用级别中仅有一部分16/30"0.53被j柳,也就是仅有4位被駄而不是理论上可能的4.9位。因此,齡DCT块的位数糊j^K这斷氐了速率并增加了需要编码18的帧的数因此,要确定可被N个DCT位置所表示(也就是被30N个级别所表示)的位的数量b,如此使得每个DCT位置可^A的位的数量b是最大的<formula>formulaseeoriginaldocumentpage21</formula>这里,「d表示将q四舍五入为最接近的整数直至w,并且DCT位置的数W=「log,。(2'-l)l需要f^数x,其旨滩在基数30的数字系统中的i个位中描述,也就是<formula>formulaseeoriginaldocumentpage21</formula>这里q是位,而a^{0,...,29}标基数30的系数。然而位的数量b不能设置得过大,因为能够有效操作的计算机所使用的字长是有限的。通用的计算机/微处理器使用的字长是8,16,32和64位。在下面的表格中,对于不同字长,位的数量由基数30的数字系统的数有效地表示。<table>tableseeoriginaldocumentpage22</column></row><table>在该表中,列出了对于每个字长所使用的位的最佳数量(这是根据上面的等式(l)得出的),表示所述位所需的相应的DCT位置的数量,每个DCT位置的位的数量,30个级别的用于表示位的分数。在该表中,可以看到字长越大,越大分数的DCT级别被使用。换句话说,字长越大,表示就越有效。依据上面的表格,当微M器使用例如32位的字长时,辅助数据18(作为位流)用如下的方式被转换到MPEG级别l將辅助娜划分为29位的段;2.将这个29位的数转换为30数字系统中所表示的数;3將基数30的系数映射到MPEG级别。最后一个步骤是必需的,因为30数字系统中数字的系数取值为0至29,而MPEG级别取值为-15至-1和1至15。在{腿的实施例中,j顿下表中所示的映射,但也可使用其他映射(例如将数据加密)。从基数30的系数到MPEG级别的一个简单映射方案是基数30的系数01234567891011J3141516171820212223242526272829MPEG级别-15-14-J3-n-i丄-10-9-8-7匿6-5-4-3-2-J1245*78910U12131415上面一行中的编号从0到29代表基数30的数字,下面一行代表MPEG级另ij。例如,基数30的序列中的数字22将被鹏寸为DCT系数8,其作为MPEG级别被插入8x8块。作为一个完整的转化及编码过程的例子,在字长为32位的情况下,随后的29位数字x被转换到6个MPEG级别。x=10100001110101110011001010011=339404371这个二进制数(339404371为十进制)是辅助数据18,可将其看作是用于扩增系统的一个或多个二进制表示附旨令。下面的算法用于计算x=Z5ak30k中的基数30的系数ak:fork=0to5,a^rem(x^0),;^Lz/30」,end。或者用文字表述1.3k成为X除以30的余数;2.将x除以30并且将其四舍五入为最接近的整数,计算得到新的x;3.重复以上两步,直到所有的6个系数ak都被计算。如果将该算法应用于上面的数字x(339404371),则执行以下6个步骤1.x=339404371,ao=l,新的x变为11313479;2.x=11313479,a!=29,新的x变为377115;3.x=377115,a2=15,新的x变为12570;4.x=12570,a3=0,新的x变为419;5.x=419,34=29,新的x变为13;6.x=13,a5=13,新的x变为O。这样x可被写为23x=339404371=130。+2930!+153(^+0303+29304+13305。由以上的表格,系数被转化为如下的MPEG级别-14,15,1,-15,15,和-2。其随后被插入8x8块,-14i^A块中的位置1,并且15itA块中的位置2,依此类推。当其被接收端接收到时,解码器使用逆映射以得到基数30的系数,从中原始的位可被容易地提取出来,以重新产生辅助数据。在上面的具体实施例中,解码器42接收帧的模拟图象。然而,如果MPEG流自身可被解码器42使用,辅助提取将容易得多。这会在例如接收端的定制装置中发生,其除了为显示而解码视频帧之外,还访问构成帧的数字数据。用DCT级别嵌入辅助数据,其可直接被MPEG解码器所用。此外,不需要量化步幅q和量化矩阵QMa来提取辅助数据,因为它们只被需要从DCT系数计算出级别。在这种情况下,如果MPEG流可用,解码器使用MPEG解析器从MPEG流中提取级另U。该,(mapping)将这些级别映射到辅助数据,例如,舰反向4顿上面的表,该表将基数系数0至29鹏为多个MPEG级别。编码/解码方案的另外一个附加实施例是可能的,例如,信息可被存储在DCT系数的位置。DCTi央包括63个AC系数和l个DC系数。为了駄数据,可以使用DCT块中一个非零AC级别的位置。有63个位置可以放置非零AC级别,因此齡DCT块可駄log263"6位。此外,还可以用级别嵌入。如果4顿级别-15至-1和1至15,每个DCT块可以駄log2(6330)"10.9位。为了更多地增加可嵌入DCT块中的位的数量,所允许的级别-15至-1和1至15可被划分成对,例如(-15,-14),(-13,咖12)...(-1,1)...(14,15),并4柳15个AC级别来代替l。第一个AC级别可从63个位置中选择,并有两个级别,第二个62个位置和两个级别,以此类推。以这种方式,每个DCT块中可^<formula>formulaseeoriginaldocumentpage24</formula>解码器需要知道这些对是以何种顺序駄DCT块中的,进而知道i就能够从DCT块中多少个位置进行选择以提取正确的位。注意级别组被划分成分离的组;这需要在解码器端区别不同的AC级别。这些级别还可以被分成更大的组,例如分为两个组。在这种情况下,使用两个AC级别嵌入数据。第一个AC级别可从63个位置和15个级别中选择,而第二个AC级别可从62个位置和15个级别中选择,因此每个DCT块中可駄log2(63'15)+log2(62'15)"19.7位。实际上,由于DVD播放器和模拟路径引起的失真而需要稳健性,{顿63个位置和/或15个级别是不建议的,除了更少以外。j顿更少的位置和/或级别会使每个DCT的位率更低。为了更加稳健,关于DVD播放器和模拟路径引入的失真,可选的办法是用DC级别糊言息^A,也就是8x8块的平均亮度或色度值。块的平均值可在0至255之间取值,或者如推荐的标准ITU-RBT.601-4中所描述的32至235之间这个更严格的^f牛。因此,每个块最多可嵌入10&(235-32)^7.6位。实际上,为了能更稳健,需要减少可能的平均值的数量。不使用所有的235-32=203个级别,而应用量化并且仅使用这203个级别的子组。例如,可以使用的量化步幅为8,这意(仅有26个级另ij,即32,40,48...224和232被用来嵌入娜,这导致了每块4.7位。如果由于失真而导致块的平均值改变,解码器假设子组中最接近于该失真平均值的平均值被^A。实际上,DVD播放器可能增加或减少作为帧被接收至啲整个图象的亮度,因此,8x8块的平均值也可能增加或减少。如果亮度有很大改变,以32为例,解码器将不能正确地提取位。为了解决这个问题,可将M駄为两个相邻8x8块的平均值的差。整个块的任何改变都将不会影响两个块之间的差。例如,假设仅使用32个平均值级别32,38...218,(量化步幅为6),可以^A5位。如果编码^S要IKA如下i^:1,15,15,H3,0,0,31,则4OT下列方法。解码器以一个任选的平均值128开始(注意也可以选择以允许的平均值中的另一个平均值开始,但解码器需要知道该开始值)。为^A数据1,编码器嵌入128+(lx6)二134,也就是,图象左上角的第一个8x8块的平均值变为134。然后M31向先前的平均值134^l加15x6:90而将15^A,也就是,第二土央获得的平均值为134+90=224。然而,224太大了(允许的平均值最大为218),因此该值M:取模算子被环绕棘,也就是,获得的值为[224-32]32x6+32=[192]192+32=32,这里[p]q表示Mp被q取模。值32被减去,以确保最小允许平均值32由于取模算子而被鹏寸到零。接着在使用过取模算子之后,值32被重新加上。然后M将15x6=90添加到前面的值32而将下一个值15嵌入,这样下一个块获得值122。M3i将84添加到值122而将14嵌入,这样下一个块的平均值变为206。下一个块获得平均值206+3x6=224。该值也被环绕起来[224-32]192+32=32。由于两个零被嵌入,接下来的两个块获得平均值32。最终,最后的块获得平均值32+31x6=218。这样,图象左上角的8个相邻i央获得平均值134,32,122,206,32,32,32,218。解码器通过/妓至佑扫描图象来计算块的平均值,并构造包括这雖的一维向量m。其以下列方式提取l^d(i),其中1=0至7:192/6=1;192/6=[-102]192/6=[90]192/6=15;[122-32]192/6=15;[206-122]192/6=14;192/6=[-174]192/6=[18]192/6=3;[32-32]192/6=0;[32陽32]192/6=0;[218画32]192/6=31。该方法的优点是嵌入的未被整个图象的亮度改^^破坏,因为偏移由于减法而被抵消。DC駄方法的一个优点是解码器可以很简单,因为其不需要计算DCT变换,而是仅计算8x8块的平均值。图ll是一个图象的例子,其中显示了用8x8块的平均值^A對居,其给出了一个例子,如果用DC值嵌入数据,嵌入了辅助数据的图象看起来是什么样子。权利要求1、一种产生位流(12)的方法,包括接收视频数据(16),接收辅助数据(18),依照定义的方案转化所述辅助数据(18),将转化的辅助数据(18)编码为一个或多个视频帧(24),每帧(24)主要包括编码转化的辅助数据(18),以及将视频数据(16)和编码视频帧(24)结合为位流(12)。2、如;R利要求1所述的方法,其中依照定义的方案转化所述辅助数据(18)包括将辅助数据(18)转换为多个级别,旨级别对应于预定级别列表中的一项。3、如权禾腰求2所述的方法,其中所述预定级别列表包括30个级别,为数字1到15和-1至lj-15。4、如权利要求2或3所述的方法,其中依照定义的方案转化所述辅助数据(18)进一步包括将多个级别转换到DCT块中包含的预定数量的DCT位置。5、如权利要求4所述的方法,其中预定数量包括对应于DC系数的DCT位置。6、如权利要求4或5所述的方法,其中依照定义的方案转化所述辅助数据(18)进一步包括从所述块中收集帧。7、如,任意一项权利要求所述的方法,进一步包括将预定的视频部分插入一个或多个主要包括编码转化的辅助数据(18)的帧(24)。8、如,任意一项权利要求所述的方法,进一步包括接收指纹帧,并且当将视频数据(16)和编码视频帧(24)结合为位流(12)时,直接在所述编码视频帧(24)之前包括所述指纹帧。9、如,任意一项权利要求所述的方法,进一步包括,当将转化的辅助数据(18)编码为一个或多个视频帧(24)时,在每个帧(24)中包括指示所述辅助数据(18)开始的部分。10、如上述任意一项权利要求所述的方法,进一步包括当对转化的辅助数据编码时,包括禁止用户瑕阪一个或多^含所述辅助(18)的视频帧(24)的信息。11、如,任意一项丰又利要求所述的方法,其中用至少一个内编码DCTi央编码辅助数据。12、一种产生位流(12)的^a,包括用于接收视频数据(16)的视频缓冲器(14),用于接收辅助i^(18)的存^^置(20),用于依照定义的方案转化所述辅助数据(18)并将转化的辅助数据(18)编码为一个或多个视频帧(24)的处理器(22),每帧(24)主要包括编码转化的辅助数据(18),以及用于将视频数据(16)和编码视频帧(24)结合为位流(12)的发送器(26)。13、如权利要求12所述的装置,其中鹏器(22)被用于,当依照定义的方案转化辅助数据(18)时,将辅助数据(18)转换为多个级别,每个级别对应于预定级别列表中的一项。14、如权利要求13所述的装置,其中处理器(22)被用于,当依照定义的方案转化辅助数据(18)时,将多个级别转换到DCT块中包含的预定数量的DCT位置。15、如权利要求14所述的装置,其中处理器(22)被用于,当依照定义的方案转化辅助数据08)时,,A^f述DCT块中收集帧。16、如权利要求12至15中任一项所述的装置,其中处理器(22)被进一步用于将预定的视频部分插入一个或多个主要包括编码转化的辅助数据(18)的帧(24)。17、如权利要求12至16中任一项所述的装置,其中处理器(22)被进一步用于接收指纹帧,并且当将视频数据(16)和编码视频帧(24)结合为位流(12)时,直接^i^述编码视频帧(24)之前包括所述指纹帧。18、如权利要求12至17中任一项所述的装置,其中处理器(22)被进一步用于,当将转化的辅助数据(18)编码为一个或多个视频帧(24)时,在每个帧(24)中包括指示所述辅助数据(18)开始的部分。19、一种处理位流(12)的方法,包括接收位流(12),所述位流(12)包括多个编码视频帧(24),对视频帧(24)执行提取处理,^贞(24)主要包括编石马转化的辅助娜(18),提取处理包括将辅助繊08)从视频帧(24)中解码。20、如权禾腰求19所述的方法,其中采用修正的量化矩阵执行辅助数据的解码。21、如权禾腰求19所述的方法,进一步包括解码视频帧(24)并显示视频帧(24)。22、如权禾腰求19,20或21所述的方法,其中对视频帧(24)执行提取处理包括将视频帧(24)转换为一系列的DCT块。23、如权利要求22所述的方法,其中对视频帧(24)执行提取处理进一步包括将一系列的DCTi央转换为多个级别,W^级别对应于预定级别列表中的一项。24、如权禾腰求23所述的方法,其中对视频帧(24)执行提取处理进一步包括将多个级别转换为辅助数据(18),*级别对应于预定级别列表中的一项。25、如权利要求19至24中任一项所述的方法,进一步包括接收指纹帧,从而触发对视频帧(24)执行提取处理。26、如权利要求19至25中任一项所述的方法,进一步包括当对视频帧(24)执行提取处理时,在每个帧(24)中鉴别指示所述辅助(18)开始的部分。27、一种处理位流(12)的系统,包括用于接收位流(12)的接收器(44),所述位流(12)包括多个编码视频帧(24),用于对视频帧(24)解码的视频解码器(46),用于显示视频帧(24)的显^置(48),以及用于对视频帧(24)执行提取处理的处理器(50),每4i贞(24)主要包括编码转化的辅助(18),提取处理包括从视频帧(24)中解码辅助数据(18)。28、如权利要求27所述的系统,其中处理器(50)被用于,当对视频帧(24)执行提取处理时,将视频帧(24)转换为一系列的DCT块。29、如权禾腰求28所述的系统,其中处理器(50)被用于,当对视频帧(24)执行提取处理时,将一系列的DCTi央转换为多个级别,*级别对应于预定级另咧表中的一项。30、如权利要求29所述的系统,其中鹏器(50)被用于,当对视频帧(24)执行提取处理时,将多个级别转换为辅助(18),每个级别对应于预定级别歹瞎中的一项。31、一种^、权利要求27至30中任意一项的系统,包括第一装置(40),其包括所述接收器(44)和所述视步彌科马器(46),以及第二装置(42),其包括所述处理器(50),所述第一装置(40)传输模拟信号到所述第二装置(42)。32、一种依照权利要求27至31中任意一项的系统,其中处理器(50)被用于,跟随接收指纹帧,从而触:CT视频帧(24)执行提取鹏。33、一种依照权利要求27至32中任意一项的系统,其中M器(50)被用于,当对视频帧(24)执行提取处理时,在每个帧(24)中鉴另鹏示所述辅助数据(18)开始的部分。34、一种位流(12)包括^M预定标准编码的多个视频帧06,24),所述多个视频帧(16)中的第—组,当依照预定标准解码时,包括视频数据(16),以及所述多个视频帧中的第二组(24),当依照预定标准解码时,主要包括编码转化的辅助数据(18)。35、一种存储位流(12)的记录载体,所述位流(12)包括依照预定标准编码的多个视频帧(16,24),所述多个视频帧中的第一组(16),当依照预定标准解码时,包括视频数据(16),以及所述多个视频帧中的第二组(24),当傲照预定标准解码时,主要包括编码转化的辅助(18)。全文摘要一种产生位流的方法,包括接收视频数据,接收辅助数据,将辅助数据依照规定的方案转化,将转化的辅助数据编码为一个或多个视频帧,每帧主要包括编码转化的辅助数据,并将视频数据和编码视频帧结合为位流。本发明揭示了一种实现位流生成的装置,以及相应的处理方法和用于接收所述位流的装置。文档编号G06T1/00GK101578628SQ200780035482公开日2009年11月11日申请日期2007年9月19日优先权日2006年9月26日发明者A·J·范利斯特,W·A·H·伯克文斯申请人:安布克斯英国有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1