位图数据流的行程长度编码方法

文档序号:7606835阅读:259来源:国知局
专利名称:位图数据流的行程长度编码方法
技术领域
本发明涉及一种对数据流(具体地说,位图编码的字幕数据流)进行编码的方法。
背景技术
包含视频数据的广播或只读介质还可以包括子画面数据流,其中子画面数据流包含为了任何特定目的而提供字幕、字形或动画所需的文字或图形信息(例如,菜单按钮)。因为常常可以激活或禁止这种信息的显示,所以将这种信息覆盖在相关视频图像上作为额外的层,并且实现为称作区的一个或多个矩形区域。这种区指定一组属性,例如区域大小、区域位置或背景色彩。由于区覆盖在视频图像上,所以常常将其背景定义为透明,从而可以看到视频图像,或者可以覆盖多个子画面层。另外,字幕区可以比相关图像宽,从而字幕区中只有一部分可见,并且该区的可见部分例如在整个字幕区域中从右向左移动,这看起来好像字幕在显示器中移动。在欧洲专利申请EP02025474.4中描述了这种基于像素的添加字幕方法,并且称作裁剪(cropping)。
字幕最初用来支持残疾人,或者是为了节省将电影翻译成很少使用的语言的成本,因此对于纯字幕文本,只要字幕数据流包含例如ASCII编码字符就足够了。但是当今的字幕还包含其他元素,甚至高分辨率图像、字形或动画图形对象。如果以位图格式(将区域分为线,连续对每条线内的像素进行编码和解码)来对字幕流编码,则对这些元素的处理较为容易。这种格式包含许多冗余,例如,在连续的像素具有相同色彩值时。利用多种编码方法可以减少这种冗余,例如行程长度编码(RLE)。当数据序列具有相同值时常常使用RLE,并且其基本思想是分别对序列长度以及值进行编码,并且将最频繁的码字编码得尽可能短。
尤其在对1920×1280像素的高清晰度视频(HDTV)的字幕层进行编码时,需要一种为此目的进行了优化的编码算法来减小所需的数据量。

发明内容
本发明的目的是公开一种对高分辨率视频(例如,HDTV)的字幕或子画面层(被表现为位图格式的区域,其可以比可见视频帧宽得多)进行最优化编码的方法。
在权利要求1中公开了该方法。在权利要求7中公开了利用这种方法来进行编码的设备。在权利要求8中公开了利用这种方法来进行解码的设备。
根据本发明,为了这一目的使用四级行程长度编码(RLE),其中最短的码字用于具有不是透明的单独色彩值的单个像素;第二短的码字用于透明像素的较短序列;第三短的码字用于透明像素的较长序列以及不是透明的其他相等色彩的像素的较短序列;并且第四短的码字用于不是透明的其他相等色彩的像素的较长序列。通常,字幕层内的大多数像素是透明的。与传统的RLE(最频繁的数据使用最短的码字)不同,该方法包括对最频繁色彩的短序列使用第二短的码字,并且对最频繁色彩的较长序列以及其他色彩的短序列使用第三短的码字。最短的码字预留给与最频繁色彩不同的其他色彩的单个像素。当序列中几乎总是出现最频繁色彩的像素(如字幕层中透明像素的情形),而单独色彩的单个像素不太可能是透明时,这是有利的。
有利的是,根据本发明方法的代码仅仅结合了少数几个冗余码字,这些冗余码字定义在较长的码字中。例如,理想情况下,利用最短类型的码字来对透明之外的任何色彩的单个像素进行编码,但是也可以使用第三短类型的码字,其中序列长度为1。虽然后一种可能常常不用于这一目的,但是这些不使用的码字(或者码字空间中的间隙)可以用来传输其他信息。一个示例是可以用于重同步的线结束信息。根据本发明,最短的冗余码字用来对该信息进行编码。
作为另一优点,所公开的方法减小了所需的数据量,这样压缩了字幕数据流,其中压缩因子取决于数据流的内容。对于典型的字幕流中非常频繁出现的数据组合,获得相当高的压缩因子。这些是具有相同色彩值的长度例如短于64个像素的序列,以及具有任意长度的透明像素的序列和具有单独色彩值的单个像素。这些组中的第一种常常用在字符或字形中,这些组中的第二种用在字幕流的显示元素之间、之间以及之后,并且这些组中的第三种用在色彩改变很小的图像或区域中。因为透明像素在非常短的序列(例如,小于三个像素)中几乎不出现,所以不使用最短的码字而是使用第二短的码字来对其进行编码是足够的。
同时,本发明方法可以有效地处理比1920个像素长的序列,并且例如可以直至16383个像素的长度,这样实现了非常宽的字幕区域。
另外,该编码方法生成代表线结束的唯一值,因此,在失去同步的情形中,可以对每条线进行重同步。
有利的是,本创造性方法被最优化来对字幕流的多种典型特征的这种组合进行编码。
因此,可以减少字幕流所需的数据量,这在广播的情形中实现了更好地利用传输带宽,或者在存储介质的情形中(单个读取头读取多个数据流,例如蓝光光盘(BD)技术)实现了读取头跳动频率的减小。另外,字幕位图压缩的越好,在比特率方面留给音频和视频流的容量就越高,增强了画面或音频质量。
在所附权利要求、下面的描述以及附图中公开了本发明的有利实施例。


参考附图描述了本发明的示例性实施例,附图中图1示出了视频帧中字幕区域的裁剪;图2示出了字幕区域中的像素序列;图3示出了字幕(包括文字和图形)的编码表;以及图4示出了蓝光预记录标准的扩展对象数据段的示例性语法的表。
具体实施例方式
尽管在预生产的用于广播或电影盘的视听(AV)材料中对字幕进行了初步优化以便表示简单的静态文字信息(例如,隐藏标题、图文电视或DVB字幕),但是为了文字及图形信息的呈现和动画能够胜任新的HDTV格式,多媒体发展的进程需要对位图编码做出高级的修改。图1示出了包含文字和图形元素G的视频帧TV以及字幕区域SUB,其中字幕区域SUB是位图编码的。字幕区域SUB的大小可以超过视频帧的维度,例如,允许蓝光光盘预记录(BDP)格式字幕位图在一个维度上大于视频帧。然后在显示之前裁剪各条线,即,从虚拟的线中切出与各自的帧的维度相匹配的部分,并覆盖在视频图像上显示。在图1中,裁剪宽度为BSUB的字幕区域SUB,从而只有宽度为BTV的部分可见。对于标准HDTV,例如BDP中使用的那样,BTV是1920个像素,而BSUB可以大得多。
由于字幕区域SUB是矩形形状,所以该区域中大多数像素是透明的。这在图2中以放大的比例示出,图2是简化的形式,因为HDTV屏幕TV上的线SL1、SL2通常必须是数个像素的宽度以便清晰可见。这里将线理解为水平结构。字幕数据的每条线常常包含一个或多个相等色彩的像素序列。图2示出了字幕线SL1的一部分,其中字幕线SL1包含透明序列PS1、PS5,并且还包含单个可见像素PS4、较短可见线PS2以及较长可见线PS3。一条线内的大多数像素是透明的。这是字符之间的情形,并且也是字幕线开始和结尾处的情形。总之,因为线以透明部分开始和结束,所以每条线包含的透明部分多于有色部分。但是透明部分PS1、PS5常常较长,而对于透明部分之外的像素序列(例如,用于字符的像素序列),最频繁的情形是序列长度为64或更小。通过粗略的估计可以认识到这一点,假设同时至少显示25个字符,并且字符之间的间隔大约是字符宽度的四分之一,从而单个字符在一条线内可以使用的像素不超过1920/25×(8/10)=62。线SL2通常只包含非常少的可见像素,因此只包含少数几个非常长的透明序列。
图3中列出了本发明优选实施例的代码。这是行程长度代码,包括长度从1字节直至4字节的码字,其中每个字节8位。能够对256种不同色彩编码,其中一种为优选色彩。在该示例中优选色彩是“透明”,但是如果恰当的话,可以是任何其他色彩。色彩查找表(CLUT)可以将解码后的色彩值转换为实际显示色彩。例如,可以在两个范围中对相等色彩的像素序列编码,其中较短的范围一直到63个像素,而较长的范围一直到16383个像素。
1字节长度的最短的码字用来对具有不同于优选色彩(这里是“透明”)的任何单独色带的单个像素进行编码。色彩值CCCCCCCC的范围可以从1直至255,并且可以直接或间接代表色彩。例如,其可以代表包含实际色彩代码的色彩查找表(CLUT)中的条目。八位值中只包含0的这一个值(00000000)用作转义序列,表示必须将之后的位视为相同码字的一部分。在这种情形中,码字树具有四个可能的分支,由两个之后的位来标记。
在第一分支(由之后的位00表示)中,有效的码字有两个字节,并且对具有优选色彩(例如,透明)的直至63个像素的较短序列编码。在该分支中,唯一无效的码字是只包含0的码字,因为0代表没有有效序列长度。该码字“00000000 00000000”可以用于其他目的。根据本发明,其可以用来表示线的结束,因为这是最短的冗余码字。
在第二分支(由之后的位01b表示)中,码字包括另一字节,并且十四个L位用来对优选色彩(例如,透明)的像素序列的长度进行编码。这样,序列长度可以一直到214-1=16383。其中L位的值小于64的码字是冗余的,并且可以用于其他目的。
在第三分支(由之后的位10b表示)中,码字包括额外字节,并且第二字节的六个L位代表直至63个像素的较短序列(色彩不同于优选色彩)的长度。实际色彩由第三字节的CCCCCCCC值直接或间接代表。序列长度LLLLLL小于三的码字是冗余的,因为如上所述,具有这种色彩的一个或两个像素的序列可以每个像素使用一个字节来编码,这种编码开销更低,并且长度为0的序列是无效的。这些码字可以用于其他目的。
在第四分支(由之后的位11b表示)中,码字包括两个额外字节,其中第二字节的剩余六位以及第三字节给出从64直至16383像素的较长序列长度,并且第四字节的色彩值CCCCCCCC直接或间接给出色彩(不是优选色彩)。序列长度小于64的码字是冗余的,因为可以使用第三分支来对这些序列编码,这种编码开销更低。这些码字可以用于其他目的。
上述冗余码字可以用来扩展编码,例如,加入内部校验和或其他信息。
图3示出了扩展的行程长度编码表,并且上述方法主要提供了两个优点。首先,允许对典型的字幕流(包括透明区域、小图形对象以及常规字幕文字)进行最紧凑编码。用单个字节来对任何色彩的单个像素(用于小的彩色图形)进行编码。主要色彩(例如,BDP字幕中的“透明”)总是与行程长度一起编码。可以获得两种不同大小(或,两种不同像素数量)的行程长度代码。在第一步骤中,对于主要色彩,可以以2字节码字的形式获得直至63像素的行程长度,并且对于其他色彩,可以以3字节码字的形式获得直至63像素的行程长度。在第二步骤中,对于主要色彩,可以以3字节码字的形式获得直至16383像素的行程长度,并且对于其他色彩,可以以4字节码字的形式获得直至16383像素的行程长度。像素串结束代码(或线结束代码)是可以用于重同步的唯一的2字节码字。其次,在每个码字中可获得直至16383像素的字幕区域的较长序列意味着冗余的减少,因此数据量减少。这意味着对于不同的数据流共享一个信道的应用(例如,光存储介质上的多个数据流共享相同的读取头),使用相同的数据量可以加载较大部分的字幕流,这样减小了对字幕流的访问频率。
本发明的另一方面是对要使用传输分组(例如,以打包基本流(PES))来传输的数据流进行进一步优化。由于位图的文件尺寸大,所以将这种数据例如封装为对象数据段(ODS)是一个问题。ODS的最大尺寸常常受限于其他因素,例如,PES分组大小。为了使大的位图适合这种分组,必须在编码之前将位图切割成小的位图段,这减小了压缩效率。为了克服这种位图拆分,公开了一种用于BDP及同等应用的新的扩展对象数据段(ExODS),如图4所示。ExODS是这样一种数据结构,其代表为了使ODS适合一串大小受限的段及PES分组而将其切成的每个片断。通过将各个连续ExODS的序列连接起来,可以重构完整的ODS。
ExODS序列的开始和结束由不同的标记first_in_sequence以及last_in_sequence来表示。当first_in_sequence标记为1时,开始了一个新的序列。first_in_sequence标记设置为1的ExODS由于包含解压缩位图的维度object_width以及object_height,还表示解压缩位图的大小。表示位图维度的优点是支持在解压缩之前进行目标存储器分配。另一优点是,在解码期间还可以使用所表示的位图维度来对位图维度进行交叉校验。当last_in_sequence标记被设置为1时,表示完整的ODS的最后一个ExODS。可能存在既没有设置first_in_sequence标记又没有设置last_in_sequence标记的ExODS。这些是序列中间的ExODS段。同样如果可以在单个ExODS内携带ODS,还可能存在既设置了first_in_sequence标记又设置了last_in_sequence标记的ExODS。为了克服字幕内PES分组大小对单个ODS的可用大小的限制,可以引入所述类型的ExODS,作为一个ODS的段的容器,例如用来在HDTV应用时对大的ODS进行封装。除了ODS段之外,ExODS还携带表示其是否携带了ExODS序列的第一段、最后段、中间段或一个完整段的标记。另外,如果传输ExODS序列中的第一段,在该段中包含结果ODS的维度(即,编码位图的高度和宽度)。所表示的位图维度还可以用于解码交叉校验。
本发明方法可以用来在诸如蓝光预记录(BDP)盘或者通常是高清晰度视频(HDTV)记录或广播之类的应用中,对例如包含用于动画、菜单、导航、标识(logo)、广告、消息或其他等的文字、图像或图形数据的位图数据流进行压缩。
权利要求
1.一种对数据流进行行程长度编码的方法,所述数据流包括用于视频应用的位图格式的字幕或菜单数据,其中定义了一种优选色彩,并且所述字幕或菜单数据被显示为覆盖在其他显示数据上的分离的层,并且其中-最短类型的码字用于具有不同于所述优选色彩的单独色彩值的单个像素;-第二短类型的码字用于所述优选色彩的像素的较短序列;-第三短类型的码字用于所述优选色彩的像素的较长序列,其中序列长度可以超过视频显示的宽度,并且用于其他色彩的像素的较短序列;并且-第四短类型的码字用于单独色彩的像素的较长序列,其中序列长度可以超过视频显示的宽度。
2.根据权利要求1所述的方法,其特征在于所述优选色彩是透明。
3.根据前述任一权利要求所述的方法,其特征在于使用冗余码字来对不涉及字幕层像素的信息进行编码。
4.根据前述任一权利要求所述的方法,其特征在于最短的冗余码字用于线同步。
5.根据前述任一权利要求所述的方法,其特征在于最短类型的码字是一个字节的长度,较短序列的长度直至63,并且较长序列的长度直至16383。
6.根据前述任一权利要求所述的方法,其特征在于编码数据流分布在多个传输分组上,并且包含编码数据流指定部分的传输分组携带指示标记。
7.一种用于对数据流进行行程长度编码的设备,所述数据流包括用于视频应用的位图格式的字幕或菜单数据,其中定义了一种优选色彩,所述设备包括-用于使用最短类型的码字对具有不同于所述优选色彩的单独色彩的单个像素进行编码的装置;-用于使用第二短类型的码字对所述优选色彩的像素的较短序列进行编码的装置;-用于使用第三短类型的码字对所述优选色彩的像素的较长序列以及所述优选色彩之外的相等色彩的像素的较短序列进行编码的装置,其中所述优选色彩的像素的较长序列的序列长度可以超过视频显示的宽度;以及-用于使用第四短类型的码字对所述优选色彩之外的相等色彩的像素的较长序列进行编码的装置,其中序列长度可以超过视频显示的宽度。
8.一种用于对包含用于视频应用的压缩位图格式字幕或菜单数据的编码数据流进行行程长度解码的设备,其中定义了一种优选色彩,所述设备包括-用于使用最短类型的码字对具有不同于所述优选色彩的单独色彩的单个像素进行解码的装置;-用于使用第二短类型的码字对所述优选色彩的像素的较短序列进行解码的装置;-用于使用第三短类型的码字对所述优选色彩的像素的较长序列以及所述优选色彩之外的相等色彩的像素的较短序列进行解码的装置,其中所述优选色彩的像素的较长序列的序列长度可以超过视频显示的宽度;以及-用于使用第四短类型的码字对所述优选色彩之外的相等色彩的像素的较长序列进行解码的装置,其中序列长度可以超过视频显示的宽度。
9.根据权利要求7或8所述的设备,其特征在于所述优选色彩是透明。
10.根据权利要求7~9中任一项所述的设备,其特征在于还包括用于对用来传输不涉及字幕层像素的信息的码字进行编码或解码的装置。
11.根据权利要求7~10中任一项所述的设备,其中所述编码数据流分布在多个传输分组上,并且包含编码数据流指定部分的传输分组携带指示标记。
全文摘要
字幕旨在呈现编码为像素位图的文字信息和图形数据。字幕位图的大小可以超过视频帧的维度,从而一次只显示一部分。位图是覆盖在视频之上的分离层,例如,同步视频字幕、动画以及导航菜单,因此,包含许多透明像素。通过四级行程长度编码,实现了对HDTV(例如,针对蓝光光盘预记录格式定义为每帧1920×1280像素,其对这种字幕位图提供最优化压缩结果)位图编码的高级修改。使用第二或第三短的码字来对优选色彩(例如,透明)的像素的较短或较长序列进行编码,而使用最短码字来对不同色彩的单个像素进行编码,并且使用第三或第四短的码字来对相等色彩的像素序列进行编码。
文档编号H04N1/64GK1813470SQ200480018492
公开日2006年8月2日 申请日期2004年5月6日 优先权日2003年7月1日
发明者迪尔克·阿道夫, 约布斯特·霍伦特鲁普, 阿克塞尔·科哈尔, 拉尔夫·奥斯特曼, 哈特穆特·彼得斯 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1