首页> 中国专利> 将第一码字转码为第二码字的方法

将第一码字转码为第二码字的方法

摘要

本发明提供一种将第一码字转码为第二码字的方法,其中第一码字与第二码字均包含多个逃逸码与多个逃逸能级,此方法包含:接收比特流以从其中决定第一码字;决定第一码字属于长逃逸模式还是短逃逸模式;以及当第一码字属于长逃逸模式时,截断第一码字的逃逸能级以产生第二码字。本发明所提供的方法,通过对视频数据的格式进行转换,不同标准的视频编码器的软件或硬件可彼此分享,从而提供了灵活性,同时降低了实作成本。

著录项

  • 公开/公告号CN101686398A

    专利类型发明专利

  • 公开/公告日2010-03-31

    原文格式PDF

  • 申请/专利权人 联发科技股份有限公司;

    申请/专利号CN200910177590.4

  • 发明设计人 陈秉毅;

    申请日2009-09-16

  • 分类号H04N7/30(20060101);

  • 代理机构11111 北京万慧达知识产权代理有限公司;

  • 代理人葛强;张一军

  • 地址 中国台湾新竹科学工业园区新竹市笃行一路一号

  • 入库时间 2023-12-17 23:48:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-02-01

    授权

    授权

  • 2010-05-12

    实质审查的生效 IPC(主分类):H04N7/30 申请日:20090916

    实质审查的生效

  • 2010-03-31

    公开

    公开

说明书

技术领域

本发明是有关于视频编码,特别有关于视频编码中的一种转码(transcoding)方法。

背景技术

可变长度编码(Variable Length Coding,以下简称为VLC)通常应用于数字视频压缩,用来将源符号映射为可变数目的比特。视频压缩典型地基于区块(即一组像素,如16x16、16x8、8x16或8x8的区块)执行。压缩规则典型地包含下列步骤,举例来说,对区块执行转换功能,如离散余弦转换(Discrete CosineTransform,DCT),以产生区块系数,然后对产生的区块系数进行量化,并在区块内以预定顺序对量化后的区块系数进行扫描以形成区块系数序列,接着利用VLC对区块系数序列进行统计编码,以产生用于数据传送的VLC码字(codeword)。

区块系数序列通过在先的零振幅系数的游程(run)进行分组,其中每一组称为一个符号,零振幅系数之后为非零振幅系数。利用VLC对上述符号进行统计编码,这样一来,最频繁出现的符号以最短的码字编码,以及较低频率出现的符号以较长的码字编码。对于更低频率出现的符号,则以固定长度的码字进行编码,并且在每一码字的开头附加一个逃逸码(escape code),以指示固定长度的码字。

在视频编码标准(如H.263)中,每一符号包含3个用于VLC的参数,包括LAST、RUN以及LEVEL,其中LAST是一个二进制旗标,用于指示当前符号是否包含区块中的最后一个非零系数,RUN是指在当前非零系数之前的零系数的游程长度,以及LEVEL为当前非零系数的振幅值。图1显示了通过LAST、RUN以及LEVEL参数来产生VLC码字的表格。视频编码器接收包含LAST、RUN以及LEVEL参数的符号,在图1所示的表格中进行查找以产生可变数目的游程长度比特流。图1所示的表格包含许多查找表,每一查找表10、12或14以LAST参数进行索引,视频编码器依据LAST参数找到一个相应的查找表,并依据LEVEL与RUN参数决定相应的游程长度码字。

目前已定义了许多视频编码标准,如H.263标准等,并且随之发展出一些相关的视频编码标准,如通过索伦森(Sorenson)发展出的Sorenson H.263以及通过RealMedia发展出的RealMedia的第二版本(RMv2)。将第一格式的视频数据转码为另一格式,由于不同标准的视频编码器的软件或硬件可彼此分享,从而提供了灵活性,同时降低了实作成本。

发明内容

有鉴于此,本发明提供一种将第一码字转码为第二码字的转码方法。

本发明的实施例提供一种将第一码字转码为第二码字的方法,其中第一码字与第二码字均包含多个逃逸码与多个逃逸能级(escape level),此方法包含:接收比特流以从其中决定第一码字;决定第一码字属于长逃逸模式还是短逃逸模式;以及当第一码字属于长逃逸模式时,截断(truncate)第一码字的逃逸能级以产生第二码字。

本发明的另一实施例提供一种将第一码字转码为第二码字的方法,其中第一码字与第二码字均包含多个逃逸码与多个逃逸能级,此方法包含:接收比特流以从其中决定第一码字;决定第一码字属于长逃逸模式还是短逃逸模式;当第一码字属于长逃逸模式时,对第一码字进行解码与反量化(de-quantizing),以产生影像区块的多个区块系数;以及对这些区块系数进行重新量化(re-quantizing)以产生第二码字的新逃逸能级,以使得新逃逸能级小于第二码字的最大逃逸能级。

本发明所提供的方法,与现有技术相比较,其有益效果包括:通过对视频数据的格式进行转换,不同标准的视频编码器的软件或硬件可彼此分享,从而提供了灵活性,同时降低了实作成本。

附图说明

图1显示了通过LAST、RUN以及LEVEL参数来产生VLC码字的表格。

图2a与图2b分别显示了符合H.263与Sorenson H.263协议的数据格式。

图3a与图3b分别显示了图2a与图2b中的区块数据区段的数据格式。

图4为包含有符合H.263标准的逃逸能级及其相应二进制代码的表格。

图5为包含有符合Sorenson H.263标准的逃逸能级及其相应二进制代码的表格。

图6为依据本发明实施例对图2a与图2b中的区块数据区段进行转码的方法流程图。

图7为依据本发明另一实施例对图2a与图2b中的区块数据区段进行转码的方法流程图。

图8为依据本发明又一实施例对图2a与图2b中的画面标头区段进行转码的方法流程图。

图9为依据本发明实施例的视频处理电路的方框图。

具体实施方式

在本说明书以及权利要求当中使用了某些词汇来指称特定的元件,本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件,本说明书及权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则,在通篇说明书及权利要求书当中所提及的“包含有”是开放式的用语,故应解释成“包含有但不限定于”。

阅读了下文对于附图所示实施例的详细描述之后,本发明对所属技术领域的技术人员而言将显而易见。

基于说明性的目的,以下揭示的实施例均以Sorenson H.263协议作为类H.263(H.263-like)协议的例子,其它的类H.263协议(如RealMedia的第二版本)可采用利用同样原理的转码方法,并可根据具体情形作出适当变动。本发明的转码方法可利用硬件、处理器执行的软件或硬件与软件结合来实作。

图2a与图2b分别显示了符合H.263与Sorenson H.263协议的数据格式。一个H.263数据码字被编码为具有四层的阶层式结构,包括画面层、区块组(Groupof Block,以下简称为GOB)层,宏区块(MacroBlock,以下简称为MB)层以及区块层。画面层包含画面起始码(Picture Start Code,以下简称为PSC)20a、画面标头22a以及多个GOB数据单元,其中每一GOB数据单元包含GOB标头24a和多个MB数据单元,每一MB数据单元包含MB标头26a以及区块数据区段28a。Sorenson H.263数据码字具有相似的数据结构,包含有PSC 20b、画面标头22b、GOB标头24b、MB标头26b以及区块数据区段28b。PSC包含一个20比特的已知比特序列,用于识别每一数据码字的起始。GOB标头包含区块组信息,如具有16行(row)的区块组。MB标头包含宏区块信息,如具有4个区块的宏区块。H.263与Sorenson H.263数据码字中的PSC、GOB标头以及MB标头区段是相同的。画面标头区段包含数据封包信息,如量化尺寸(quantizationsize)、图框宽度以及高度等,上述信息在H.263与Sorenson H.263数据码字中进行了不同的格式化。H.263与Sorenson H.263标准中,宏区块的每一区块中用来承载影像数据的区块数据区段也是不同的。因此,依据本发明实施例将Sorenson H.263数据转码为H.263数据的方法包括将画面标头区段和区块数据区段从Sorenson H.263转码为H.263数据格式。

明确地说,区块数据区段28a和28b在比特数目和数据信息上不同。图3a与图3b分别显示了图2a与图2b中的区块数据区段28a与28b的数据格式。区块数据区段28a和28b均包含逃逸码、LAST、RUN以及LEVEL参数。H.263标准中,量化之后,视频编码器依据1比特LAST参数、6比特RUN参数以及8比特LEVEL参数对影像区块的量化后区块系数进行编码,以产生由高达22比特样式组成的输出比特流,上述参数是依据由特定VLC规则所提供的VLC查找表而得到,所述特定VLC规则可为霍夫曼(Huffman)编码或算术编码规则。当视频编码器在VLC查找表中无法找到相应的VLC码字时,一个固定长度7比特的逃逸码被附加在H.263码字的开头,其后为LAST、RUN以及LEVEL参数,从而构成一个22比特的码字。8比特LEVEL参数可代表从+127到-127的区块系数,图4为包含有符合H.263标准的逃逸能级及其相应二进制代码的表格。此二进制代码的最高有效位为指示符号的符号位,其中,二进制1代表负值,二进制0代表正值。

如图3b所示,在Sorenson H.263数据码字中,数据能级可以长逃逸模式或短逃逸模式进行编码,因此码字中包含一个1比特的格式字段来指示码字的逃逸模式。长逃逸模式以格式1表示,采用11比特LEVEL参数,而短逃逸模式以格式0表示,采用7比特LEVEL参数。长逃逸模式的逃逸能级可代表从+1023到-1023的区块系数,短逃逸模式的逃逸能级可代表从+63到-63的区块系数。图5为包含有符合Sorenson H.263标准的逃逸能级及其相应二进制代码的表格。此二进制代码的最高有效位为指示符号的符号位,其中,二进制1代表负值,二进制0代表正值。

由于Sorenson H.263与H.263标准下的LEVEL参数具有不同的比特长度,依据本发明实施例的转码方法采用比特截断或比特重新编码的方式来将类H.263(如Sorenson H.263)格式的区块数据区段转码为H.263格式的数据。

图6为依据本发明实施例,利用比特截断的方式对图2a与图2b中的区块数据区段进行转码的方法流程图。

转码方法从步骤S600开始之后,用于将类H.263码字转码为H.263码字的集成电路或处理器接收比特流并从其中决定类H.263码字(步骤S602)。类H.263码字可为Sorenson H.263或RealMedia第二版本的码字。本实施例中,以SorensonH.263数据作为类H.263数据的示例来说明转码方法的运作。

接下来,在步骤S604中,集成电路或处理器依据图2b所示标头区段中的PTYPE参数决定类H.263码字的画面类型,并在步骤S606中决定此画面类型是否属于框内图框(I-frame)、预估图框(P-frame)或双向图框(B-frame)。决定了画面类型之后,执行步骤S608。若是Sorenson H.263格式的数据,决定画面类型是否属于框内图框、预估图框或双向图框的步骤可通过决定PTYPE参数是否超过0来实作。

步骤S608中,集成电路或处理器决定类H.263码字的逃逸模式,并在步骤S610决定此逃逸模式是否为长逃逸模式。若是,执行步骤S612,若否,执行步骤S614。Sorenson H.263标准下,码字的逃逸模式可为长逃逸模式与短逃逸模式其中之一。对于短逃逸模式,可在步骤S614中将7比特逃逸能级无损转换为8比特逃逸能级。对于长逃逸模式,在步骤S612中将11比特逃逸能级截断为8比特逃逸能级,以符合H.263标准的要求。

当类H.263码字属于长逃逸模式时,步骤S612中,集成电路或处理器截断类H.263码字的逃逸能级以产生H.263码字。在Sorenson H.263标准下,长逃逸模式采用11比特逃逸能级来表示非零区块系数的值,而在H.263标准下,仅使用8比特逃逸能级,因此必须截断3比特以符合H.263标准。当11比特逃逸能级表示的值在+127到-127的范围内时,不会有信息因截断转码而丢失。然而,当11比特逃逸能级表示的值超出了+127到-127的范围时,截断到8比特逃逸能级会导致非零区块系数数值信息的丢失。实作中,截断操作包括:决定类H.263数据的逃逸能级的绝对值,将此绝对值与H.263码字的最大逃逸能级作比较,以及当此绝对值小于H.263码字最大逃逸能级时截断类H.263的逃逸能级。若H.263码字的最大逃逸能级为127,则截断操作包括从类H.263逃逸能级的最低有效位截断3个比特。截断后的逃逸能级用来产生H.263码字。转码得到的H.263码字的区块数据区段中,逃逸码、RUN以及LAST参数保持不变。

当类H.263码字属于短逃逸模式时,步骤S614中,集成电路或处理器将逃逸能级从7比特转换为8比特,但不改变其数值。若为Sorenson H.263数据,通过插入一个二进制0至逃逸能级的符号位之后,可将7比特的逃逸能级无损转换为8比特的逃逸能级。转码得到的H.263码字的区块数据区段中,逃逸码、RUN以及LAST参数保持不变。

完成类H.263码字到H.263码字的转码之后,在步骤S616退出方法流程。

图7为依据本发明另一实施例对图2a与图2b中的区块数据区段进行转码的方法流程图。

由于步骤S700~S708与图6的步骤S600~S608相同,此处不再重复描述。

步骤S710中,集成电路或处理器决定逃逸模式是否为长逃逸模式,若是,执行步骤S712,若否,则逃逸模式为短逃逸模式,执行步骤S718。

当类H.263码字属于长逃逸模式时,步骤S712中,集成电路或处理器对类H.263码字进行解码与反量化,以产生影像区块的区块系数。接着,在步骤S714中,集成电路或处理器对区块系数进行重新量化以产生H.263码字的新逃逸能级,以使得新逃逸能级小于H.263码字的最大逃逸能级。在步骤S716中,集成电路或处理器依据VLC规则对重新量化后的区块系数进行编码以产生H.263码字。VLC规则可为霍夫曼或算术编码规则。由于H.263码字的逃逸能级为8比特,因此H.263码字的最大逃逸能级为127,其最高有效位用来指示符号。一些实施例中,在决定了类H.263的逃逸模式为长逃逸模式之后,还有一个额外的步骤用来检查其逃逸能级是否超过H.263码字的最大逃逸能级,只有当其逃逸能级超过H.263码字的最大逃逸能级时,也就是说,其逃逸能级的绝对值超过127时,集成电路或处理器才对类H.263码字进行解码与反量化。另一些实施例中,当类H.263码字属于长逃逸模式且其逃逸能级小于H.263码字的最大逃逸能级时,集成电路或处理器截断类H.263码字的逃逸能级以产生H.263码字。也就是说,当类H.263码字的逃逸能级在+127到-127的范围内时,直接将其截断至8比特。集成电路或处理器采用一个量化步长对区块系数进行重新量化,此量化步长大于反量化步骤中的步长。举例来说,重新量化步长超过反量化步骤中的量化步长的两倍。反量化步骤的量化步长可在图2b的标头区段的PQUANT参数中找到。重新量化后的区块系数可沿着指定的二维路径排序,如沿着用于8x8系数区块的锯齿状路径来形成用于VLC编码的区块系数序列。由于对类H.263码字进行了解码、反量化、重新量化以及编码来产生H.263码字,因此类H.263码字的区块数据区段看起来与H.263数据不同。

当类H.263码字属于短逃逸模式时,在步骤S718中,集成电路或处理器将其逃逸能级转换为8比特以产生H.263码字,但不改变其数值。由于SorensonH.263数据的逃逸能级为7比特,因而将其转换至8比特不会导致信息丢失,转码得到的H.263数据封包的逃逸码、RUN以及LAST参数保持不变。

完成类H.263码字到H.263码字的转码之后,在步骤S720退出方法流程。

图8为依据本发明又一实施例对图2a与图2b中的画面标头区段进行转码的方法流程图。

H.263数据与类H.263数据的画面标头区段是不同的,因此需要将标头转码为适当的格式。

从步骤S800开始标头转码之后,在步骤S802中,集成电路或处理器将17比特的画面起始码和5比特的版本参数转换为符合H.263标准的22比特的画面起始码,步骤S804中,复制8比特TR参数,并在步骤S806中将PTYPE参数转换为符合H.263标准的13比特画面类型参数,其中PTYPE参数包含3比特的画面尺寸、宽度、高度,2比特的画面类型以及1比特的解块(deblocking)参数,宽度与高度参数可表示0、8或16个像素。

接下来,步骤S808中,集成电路或处理器添加PLUS HEADER参数,然后在步骤S810复制PQUANT参数作为影像区块量化后系数的量化步长,以及在步骤S812-S818中,分别将参数CPM、PSBI、TRB以及QBQUANT添加到画面标头区段,以产生符合H.263标准的画面标头区段。

图6与图7所揭示的转码方法同样适用于硬件电路。请参照图9,图9为依据本发明实施例的视频处理电路900的方框图。视频处理电路900可对依据H.263协议或Sorenson H.263协议编码的视频比特流进行处理。在一个实施例中,视频处理电路900包含切换器902、Sorenson H.263可变长度解码器904、H.263可变长度解码器906、转码模块908以及选择器910。当视频处理电路900接收到视频比特流时,切换器902首先决定此视频比特流是依据H.263协议还是Sorenson H.263协议编码的。如果是依据H.263协议编码,则将视频比特流传送到H.263可变长度解码器906,H.263可变长度解码器906解码此视频比特流以获得包含RUN参数值R2、LEVEL参数值Lvl2以及LAST参数值Lst2的H.263码字。

反之,当视频比特流是依据Sorenson H.263协议编码时,将此视频比特流传送到Sorenson H.263可变长度解码器904,Sorenson H.263可变长度解码器904解码此视频比特流以获得包含RUN参数值R1、LEVEL参数值Lvl1以及LAST参数值Lst1的Sorenson H.263码字。然后转码模块908依据图6与图7所示的转码方法执行转码处理,将Sorenson H.263码字转换为包含RUN参数值R1’、LEVEL参数值Lvl1’以及LAST参数值Lst1’的H.263码字。举例来说,当SorensonH.263码字为长逃逸模式时,转码模块908截断Sorenson H.263码字的逃逸能级以获得H.263码字(步骤S612)。当Sorenson H.263码字为短逃逸模式时,转码模块908将Sorenson H.263码字的逃逸能级转换为8比特以获得H.263码字(步骤S614)。选择器910接着依据选择信号Sel输出转码模块908或H.263可变长度解码器906所产生的H.263码字。因此,视频处理电路900解码SorensonH.263格式或H.263格式的视频比特流来获得H.263码字。

所属技术领域的技术人员可轻易完成的均等改变或润饰均属于本发明所主张的范围,本发明的权利范围应以权利要求书所限定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号