流式传输a/v数据的保护的制作方法

文档序号:7737871阅读:191来源:国知局
专利名称:流式传输a/v数据的保护的制作方法
技术领域
本发明涉及保护A/V数据、特别是流式传输A/V数据以防传输/存储差错。
通过存储或传输媒体分配A/V(音频或视频)数据已经很重要。例如,互联网的成功已经导致大量MP3编码音频标题的传输。替代文件下载,特别与无线传输联合在一起,被接收数据的具有实时消耗的流式传输被预期增加。对于相对高质量编码的音频或视频信号的流式传输的带宽要求是重要的,这使得控制在传输中涉及的总开销是重要的。由于所述传输媒体、特别是无线媒体的可靠性可能相对较低,所以在检测传输差错以及对被检测的差错起作用中必须注意。例如,在被传输的A/V信号的短周期中出现的差错可以通过在两个邻近的信号周期之间的内插法或者使用其它适当的方法被隐蔽。
ISO/IEC高级音频编码(AAC)标准13818-7(MPEG2-AAC)的部分6.2和8.1以及ISO/IEC标准14496-3(MPEG4-Audio)的子部分1的部分A2.2描述了一种用于传输编码音频流的格式,即所谓的音频数据传送流(ADTS)帧。一个音频流在这种情况下由ADTS帧的序列组成。如

图1中所示,ADTS帧包括标题块10和有效负荷字段20。标题块10包括一个固定的标题12和一个可变的标题14。固定的标题12包括诸如所述音频抽样频率的在所述序列中对于所有帧是相同的信息。在每一个帧中它被传输以便允许随机接入到所述比特流中。所述固定的标题还包括一个同步字。所述可变的标题包括可以从帧到帧改变的标题信息。可变标题的元素之一是包括所述帧长度L的帧长度。有效负荷字段20包括多达4个未加工的音频数据子块(22、24、26、28),其中每个子块代表固定的每个信道音频抽样数量(例如,MPEG2-AAC中的1024)。
在所述编码的比特流传输期间,由于不利的传输条件可能出现误码。这种差错可以造成比特流无效,导致解码器高度失真输出。为克服这些问题,所述标准已经规定在所述子块中标题块和实际编码的音频可以任选地通过使用差错保护代码30而被保护,代码30也可以被插入到所述帧中。一个循环冗余校验(CRC)被用作差错保护代码。所述CRC可以被用于校正传输差错。对于高度失真传输信道,所述CRC不足以校正所述差错,但仍可以被用于标记所述数据的无效段。在这种情况下,所述解码器可以采用适当的差错隐蔽措施用于特殊的数据部分。应该理解,对于其中正常被接收的数据被“实时”提供的A/V流,当一个差错已经被检测时,通常没有时间执行数据重传。
此刻所述MPEG AAC-ADTS帧格式被用于只使用每帧一个子块来传输编码的音频。典型的,使用CRC的任选差错保护被应用。如图1A中所示,在每帧一个子块的情况下,CRC代码30在固定的标题12、可变的标题14以及子块22上被计算。所述帧标题(包括所述固定的和可变的标题)有一个固定长度的简化解码。为减少传输总开销,希望使用由所述标准提供的选项以便在一个ADTS帧中包括一个以上的子块。然而,在一个ADTS帧中有多个子块的情况下,所述标准在数据保护上不提供清楚的说明。如图1b中所示,一个规定的CRC的保护范围可以在所述帧中的全部子块上被扩展。这样做,将意味着在所述标题或所述子块中的任何位置的单独的误码造成所有子块不可用。如果可能,这造成差错隐蔽困难。
本发明的一个目的是提供一个适合于编码的A/V数据的流式传输的帧格式,其中所述帧包括多个数据子块,但是限制传输差错的影响。
通过使用一个帧结构达到本发明的目的,其中每个帧包括一个标题块和多个子块;每个子块包括对应于预先确定的连续周期的A/V信号的数字编码的音频/视频数据;所述子块可以有可变的长度;其中所述帧包括用于所述标题块和每个子块的在传输期间保护相关的块的相应的相关的差错保护代码;并且所述标题块包括一个提供关于在所述帧中的至少一个子块的位置的信息的位置信息字段。通过分别保护每个子块,可以分别为每个子块采用校正措施。还通过使用与所述子块相比通常比较短的标题的单独保护,在所述标题中的差错可以被分别检测。在所述第一子块中的差错将不会造成所述标题块不可用并且像这样的标题信息仍可以被用于处理其它子块。所述差错保护代码优选地允许几个误码的可靠检测。优选地,通过给它们应用更强壮的信道代码,更多的保护被提供给所述标题。根据本发明,所述帧支持可变尺寸子块的传送。为使只跳过那些错误的子块成为可能,位置信息被提出以便允许定位正确的子块。所述位置信息被插入到所述标题块中并且被所述标题差错保护代码保护。所述位置信息可以采用任何适当的形式,诸如一个来自所述帧开始的偏移。所述子块的长度也可以被规定,其中子块的开始位置来自前一个子块的开始位置以及该子块的长度。
根据从属权利要求2所述的方案,所述差错保护代码直接相邻并且优选地直接在它保护的块之后被放置。这允许在没有延迟的情况下简单处理。
根据从属权利要求3所述的方案,接收机已知所述标题块的长度(或者更一般来说在子块前面的全部帧元素的总长度是已知的)。为得益于这个信息,所述位置信息不必包括所述标题之后的第一子块的位置。而且对于一个帧,所述帧的总长度是已知的,使得能够定位下一个帧的位置。
根据从属权利要求4所述的方案,所述标题块尺寸是固定的。因此,所述第一块的位置隐含地已知并且不需要额外的信息。如果所述标题块尺寸不固定,则优选地,关于所述标题的长度的信息被插入到所述标题块本身(优选地在一个预先确定的位置)。
所述帧被优选地用于无线发送和接收以及编码的A/V信号的流式传输(发送和接收)。特别地,所述帧对于广播音频和TV以及互联网无线电十分有用。特别当需要随机接入到所述帧时,所述帧也可以被用于编码的A/V信号的存储。
参考附图,这些以及其它方案将被更详细地描述。
图1显示现有技术的帧结构;图2表示根据本发明的帧结构;图3显示根据本发明的一种传输系统;以及图4显示具有一个记录载体的解码器设备,所述帧结构被记录在该记录载体上。
图1A显示了具有一个子块22的帧的现有技术帧结构。图1B显示了根据所述MPEG AAC标准中的语法得出的帧结构,用于在所述帧的有效负荷字段20中的四个子块22、24、26和28的例子。在这种情况下,所述帧的字段30的CRC覆盖所述帧中的所述标题块10(具有固定的标题12和可变的标题14)和全部子块。因为所述子块通常相当长并且实质上比所述标题长,所以被检测的在所述子块之一中出现的差错的可能性高。然而,因为不知道所述差错位于何处,所述标题是不可靠的,所以不可能处理整个帧。
图2显示根据本发明的帧结构。图2-I表示一个子块的现有技术情况。由于与现有实现的兼容性的原因,这个帧结构被维护用于具有一个子块的帧是优选的。图2-II到IV表示分别具有2、3和4个子块(一般来说,N个子块,其中N>1)的帧的帧结构。在图2-IV中,所述帧的有效负荷字段20包括四个子块22、24、26和28。根据本发明,标题块10被包括在所述帧中替代图1的现有技术CRC 30的单独的差错保护代码30进行保护。由于兼容性和简单性的原因,所述相同的CRC可以按照所述MPEG AAC标准规定地被使用。因为在所述标题块中不可校正的差错造成不能处理整个帧,所以优选地,更强壮的信道代码被使用。还如所表示的,每个子块伴随一个相关的覆盖所述子块的差错保护代码。这些代码也被包括在所述帧中。在图2-IV的例子中,子块22被代码32保护、子块24被代码34保护、子块26被代码36保护、子块28被代码38保护。优选地,被所述MPEG AAC标准规定的CRC被用作所述子块的差错保护代码。其它代码也可以被使用。
在一个优选实施方案中,所述差错保护代码邻近并且优选地直接在被所述代码保护的块之后。这使得可能在没有不必要的延迟的情况下检验所述代码。
根据本发明,所述子块长度可以是可变的。应当理解,固定长度子块也可以被传输用于一个特定的应用,而在其它时刻,其它尺寸的子块被传输用于另一个应用。而且,在一个应用中,所述子块的长度固有地可以及时改变。长度的变化可以处于压缩级别。为了MPEG AAC帧的优选使用,一个子块代表例如1024个音频抽样。对于高比特率编码(对于在高带宽信道上的流式传输),例如,在48000Hz的抽样频率上,所述比特率可以是128000比特/秒。随后,一个子块的平均长度是1024*128000/48000=2730.666比特,或者(大约)342字节,但是每个子块不同。对于低比特率编码(对于在低带宽信道上的流式传输),例如,在32000Hz的抽样频率上,所述比特率可以是32000比特/秒。随后,一个子块的平均长度是1024*32000/32000=1024比特,或者128字节,但是每个子块长度不同。对于MPEG AAC,所述标题块(包括固定的和可变的标题)的长度总是7字节。甚至对于低的比特率,所述标题优选地实质上小于所述子块(以便减少所述标题块引起的总开销)。优选地,所述标题块的长度比一个平均子块的长度至少小十倍。通过使用与所述标题相比相对大的子块,在所述帧中的差错将更可能在所述子块之一中。通过分别保护所述标题块,即使在所述帧中检测到差错,很可能所述标题块仍然可用。由于所述子块差错保护代码和所述位置信息的帮助,有效的子块可以被定位和进一步处理,而无效的子块被丢弃。
根据本发明,所述帧包括使得能够定位可变尺寸子块的位置的位置信息40。对于诸如MPEG AAC的帧,其中子块前面的全部元素的长度是已知的(在MPEG AAC的情况下,所述长度被预先确定;作为一个替代,长度信息也可以被插入到所述帧或者随所述帧被发送),不必指定所述第一子块22的位置。在这种情况下,优选地以关于所述子块I的开始的按字节偏移的形式添加关于一个帧中子块II到N的位置的信息。子块I的位置是隐含的(直接在所述标题之后)。在已经发现前面的子块无效的情况,所述位置信息允许子块的解码。
在一个优选实施方案中,所述位置信息被插入到所述标题块并且被所述标题差错保护代码保护。为了最佳地适合具有一个子块的MPEGAAC帧格式现有的实现,所述位置信息被包括在所述可变标题的最后位置上。现有的CRC 30在相同的位置上被保持,但是现在只保护所述固定的标题、可变的标题以及位置信息而不再保护所述第一子块。
优选帧结构的语法说明如下(使用MPEG AAC的语法符号)
<pre listing-type="program-listing"><![CDATA[adts frame(){ adts_fixed_header(); adts_variable_header(); if(number_of_raw_data_blocks_in_frame == 0) ( adts_error_check(); raw_data_block(O); byte_alignment( ); }else{ adts_header_error_check(); for(i=0;i<=number_of_raw_data_blocks_in_frame; i++)( raw_data_block(i); adts_raw_data_block_error_check(i); byte_alignment(); ) }adts_header_error_check ()( if(protection_absent==′0′){for(i=1;i<=number_of_raw_data_blocks_in_frame; i++){raw_data_block_position(i) 16 ) crc_check; 16 )}adts_error_check()( if(protection_absent==′0′)(crc_check; 16}adts_raw_data_block_error_check(i)( / if(protection_absent==′0′){crc check; 16)]]></pre>定义· raw_data_block_position(i)作为从raw_data_block(0)的开始位置的按字节偏移被测量的raw_data_block(i)的开始位置。
.adts_error_check()等于ISO/IEC 13818-7中的定义。
.adts_headef_error_check()按照ISO/IEC 11172-3,子条款2.4.3.1(表6.7)的描述所产生的CRC差错检测数据。下列比特按照它们的出现顺序被保护并且被供给所述CRC算法.adts_fixed_header()的全部比特
· adts_variable_header()的全部比特· raw_data_block_position字段的全部比特· adts_raw_data_block_error_check(i)按照ISO/IEC11172-3,子条款2.4.3.1(表6.7)中的描述所产生的CRC差错检测数据。下列raw_data_block(i)的比特按照它们的出现顺序被保护并且被供给所述CRC算法· 任何单信道单元(SCE)、信道单元对(CPE)、耦合信道单元(CCE)、低频增强信道(LFE)的最初192个比特· 在所述信道对单元中的第二单独信道流(ICS)的最初128个比特必须被保护。
· 在任何程序配置单元(PCE)或者数据流单元(DSE)中的全部信息必须被保护。
对于其中规定的128或192比特长度超过它的实际长度的任何单元,所述单元被零填充到用于CRC计算的规定的长度。
id_syn_ele比特应该被从CRC保护中排除。如果CPE的长度短于192个比特,则零数据被附加以便达到192个比特长度。
而且,如果CPE的第一ICS在第N比特(N<192)结束,则所述第二ICS的最初(192-N)比特被保护两次。例如,如果在所述第二ICS在CPE的第190个比特开始,则所述第二ICS的最初3个比特被保护两次。最后,如果所述第二ICS的长度短于128比特,则零数据被附加以便达到所述128比特长度。
图3显示根据本发明的传输系统300。所述A/V信号被供给编码器330。所述编码器330包括一个用于接收多个数字编码的音频/视频数据子块的输入端,其中每个子块对应于预先确定的连续周期的A/V信号。如上面描述的,所述子块通常具有可变的长度。所述子块通常在实质上连续的后续块流中被接收。所述编码器330操作以便产生所述标题块。所述标题块包括关于将被编码的A/V数据块的信息(例如抽样率)。这个信息中的一些可以被单独地供给所述编码器。所述信息包括关于将被包括在所述帧中的子块的位置的位置信息。所述编码器优选地从在所述输入端上被提供的单独子块的长度信息来确定这个信息。这种长度信息可以被单独地提供或者可以被隐含在其它信息中。所述编码器330为所述标题块计算一个相关的标题差错保护代码用于在传输和/或存储期间保护所述标题块。编码器330还为每个相应的A/V数据子块计算相应的相关的子块差错保护代码用于在传输和/或存储期间保护相关的子块块。传统的软件例程或者硬件电路可以被用于计算所述差错保护代码。根据本发明,所述编码器在一个存储器中建立整个帧结构并且把它传送到发送机310。通常一个综合编码器被用于产生所述子块以及附加所述标题和差错保护代码。典型地,在软件中使用一个DSP或类似类型的微处理器来实现所述编码器。所述软件可以被嵌入在所述编码器中。本领域技术人员也将能够建立所述编码器的适当的硬件实现。所述发送机可以实现任何希望的通信协议以便通过通信媒体350(例如,通过互联网)传输所述帧到一个终端接收机320。所述接收机320把所述被接收的信息提供到解码器340。
解码器340包括一个用于接收所述帧的输入端。所述帧包括所述标题块、相关的标题差错保护代码以及多个数据子块和相应的相关的子块差错保护代码。所述标题块包括关于所述帧中的数据子块的信息,尤其是关于所述帧中的至少一个数据子块的位置的位置信息。解码器34 0核对所述标题差错保护代码是否对应于所述标题块。这可以通过为所述被接收的标题块计算差错保护代码并且把它和所述被接收的标题差错保护代码相比较来进行。如果检测到一个差错,则解码器340终止所述帧的处理。如上面描述的,解码器340至少部分地在所述标题块中的位置信息的控制下定位所述数据子块。所述解码器为每个相应的数据子块核对相应的相关的子块差错保护代码是否对应于所述数据子块(例如,通过计算所述代码并且把它与被接收的代码进行比较)。通过从没有检测到差错的每个子块提取一个编码的A/V信号,错误的子块被丢弃而正确的子块被保持。所述编码的A/V信号还以适合于特定的编码形式(例如,MPEG 2编码)的方式被进一步解码。这个进一步解码也可以被解码器340或者外部解码器来执行。典型地,所述解码器也在适当的处理平台上的软件中被实现。
优选地,错误的帧或子块不是简单地被丢弃而是采用措施通过利用被估计的帧或子块代替错误的帧或子块来隐蔽这些差错。任何已知的隐蔽方法(例如内插法)都可以被使用。
图4显示具有一个存储媒体410的解码器设备400,所述帧结构被记录在该存储媒体上。任何存储媒体(包括记录载体)都可以被使用,例如,光学的、磁性的、磁光的、固态的等等。阅读器420从存储器410读取一个或多个帧并且把它提供给解码器430。解码器430可以和图3描述的解码器340相同。阅读器420匹配所述存储媒体。存储媒体410可以被定位固定在解码器设备400中。而且根据本发明,可移动的存储媒体可以被使用(例如,光盘、快速存储卡)承载所述帧。
权利要求
1.一种系统,包括以帧流的形式传输A/V信号的发送机和接收机,其中每个帧包括一个标题块和多个子块;每个子块包括对应于预先确定的连续周期的A/V信号的数字编码的音频/视频数据;所述子块可以有可变的长度;其中所述帧包括所述标题块和每个所述子块的相应的相关的差错保护代码,用于在传输期间保护相关的块;并且所述标题块包括提供关于所述帧中的至少一个子块的位置的信息的位置信息字段。
2.如权利要求1所述的系统,其中,每个所述差错保护代码直接邻近由所述代码保护的相关的块而被定位。
3.如权利要求3所述的系统,并且所述位置信息字段提供关于除了所述子块中的第一个子块之外的全部子块的位置的信息;第一个块的位置能够从子块前面的帧中的全部其它元素的总长度导出。
4.如权利要求3所述的系统,其中,子块前面的帧中的全部元素的总长度被预先确定。
5.一种编码以帧流的形式的A/V信号的方法,包括接收多个数字编码的音频/视频数据子块,每个对应于预先确定的连续周期的A/V信号,所述子块可以有可变的长度;产生一个标题块,包括关于要被编码在一个帧中的A/V数据块的信息;该信息包括关于至少一个将被包括在所述帧中的子块的位置的位置信息;为所述标题块计算一个相关的标题差错保护代码,用于在传输和/或存储期间保护所述标题块;为每个相应的A/V数据子块计算一个相应的相关的子块差错保护代码,用于在传输和/或存储期间保护相关的子块块;构成并且传输和/或存储一个包括标题块、相关的标题差错保护代码、以及每个数据子块和相应的相关的子块差错保护代码的帧。
6.一种编码设备,包括用于接收多个数字编码的音频/视频数据子块的输入端,每个数据子块对应于预先确定的连续周期的A/V信号,所述子块可以有可变的长度;产生标题块的装置,该标题块包括关于要被编码的A/V数据块的信息;该信息包括关于至少一个将被包括在所述帧中的子块的位置的位置信息;为所述标题块计算相关的标题差错保护代码用于在传输和/或存储期间保护所述标题块的装置;为每个相应的A/V数据子块计算一个相应的相关的子块差错保护代码用于在传输和/或存储期间保护相关的子块块的装置;构成并且传输和/或存储一个包括标题块、相关的标题差错保护代码、以及每个数据子块和相应的相关的子块差错保护代码的帧的装置。
7.一种解码以帧流的形式的A/V信号的方法,包括接收包括一个标题块、一个相关的标题差错保护代码、多个数据子块以及相应的相关的子块差错保护代码的通信帧;所述标题块包括关于所述帧中的数据子块的信息;所述信息包括关于所述帧中的至少一个数据子块的位置的位置信息;所述每个数据子块对应于预先确定的连续周期的A/V信号,所述子块可以有可变的长度;核对所述标题差错保护代码是否对应于所述标题块;并且如果发现不对应,则终止所述帧的处理;至少部分地在所述标题块中的位置信息的控制下定位所述数据子块;为每个相应的数据子块核对所述相应的相关的子块差错保护代码是否对应于所述数据子块;以及从每个没有被检测到差错的子块提取一个编码的A/V信号。
8.一种如权利要求8所述的解码以帧流的形式的A/V信号的方法,其中,所述方法包括通过从至少一个相邻的没有差错的子块产生一个被估计的子块来在所述流的数据子块中隐蔽一个差错。
9.一种解码设备,包括用于接收包括一个标题块、一个相关的标题差错保护代码和多个数据子块以及相应的相关的子块差错保护代码的帧的输入端;所述标题块包括关于所述帧中的数据子块的信息;该信息包括关于所述帧中的至少一个数据子块的位置的位置信息;每个数据子块对应于预先确定的连续周期的A/V信号,所述子块可以有可变的长度;以及解码器,包括核对所述标题差错保护代码是否对应于所述标题块并且如果发现不对应则终止所述帧的处理的装置;至少部分地在所述标题块中的位置信息的控制下来定位所述数据子块的装置;为每个相应的数据子块核对所述相应的相关的子块差错保护代码是否对应于所述数据子块的装置;以及从每个没有被检测到差错的子块提取一个编码的A/V信号的装置。
10.一种如权利要求9所述的解码器设备,包括从存储媒体读取帧并且把读取的帧供给所述解码器的读取设备。
11.一种如权利要求10所述的解码器设备,包括用于接收可移动的存储媒体的装置;所述读取设备被操作以便从所述可移动的存储媒体读取所述帧。
12.一种在如权利要求11所述的解码器设备中使用的存储媒体,该存储媒体上存储多个帧。
全文摘要
一个帧结构被定义用于流式传输A/V数据,其提供改进的保护和隐蔽差错的机会。所述帧包括一个标题块(10)和多个子块(22、24、26、28)。每个子块包括数字编码的对应于预先确定的连续周期的A/V信号的音频/视频数据。所述子块通常具有可变的长度。对于所述标题块和每个子块,在所述帧中提供相应的相关的差错保护代码(31、32、34、36和38),用于在传输期间保护相关的块。所述标题块(10)还包括位置信息字段(40),它提供关于所述帧中的至少一个子块的位置的信息。
文档编号H04N7/08GK1539244SQ02815194
公开日2004年10月20日 申请日期2002年7月29日 优先权日2001年8月3日
发明者M·W·T·克莱恩米德林克, M W T 克莱恩米德林克, M 芬肯, R·F·M·芬肯, A·W·J·奥门, J 奥门, L·M·范德科霍夫, 范德科霍夫 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1