用于流式多媒体中优化错误管理的解码器架构的制作方法

文档序号:7637166阅读:149来源:国知局

专利名称::用于流式多媒体中优化错误管理的解码器架构的制作方法
技术领域
:本发明涉及用于解码手持式装置上的实时流式媒体的方法及设备。
背景技术
:由于因特网及无线通信的爆炸性增长及巨大成功,以及对多媒体服务的日益增加的需求,因特网及移动/无线信道上的流式媒体已引起人们极大的关注。于异质性因特网协议(IP)网络中,视频是由服务器提供且可由一个或一个以上客户端流化。有线连接包含拨号、整合式服务数字网络(ISDN)、电缆、数字订户线路协议(统称为xDSL)、光纤、局域网络(LAN)、广域网络(WAN)及其它网络。传输模式可是单播或多播。类似于异质性IP网络的是移动/无线通信。通过移动/无线信道运输多媒体内容极具挑战性,这是因为这些信道经常因多路径衰落、荫蔽、符号间干扰及噪声扰动而受到严重损害。诸如移动性及竞争业务等某些其它原因也可导致带宽变化及损失。信道噪声及所服务的用户数量确定信道环境的时变特性。在异质性IP网络及移动通信系统二者中,对更高数据传输速率及更高服务质量的需求迅速增长。然而,例如有限的延迟时间、有限的发射功率、有限的带宽及多路径衰落等因素仍在继续限制实际系统所处理的数据传输速率。在多媒体通信中,尤其是在易出错环境中,所传输媒体的错误恢复力在提供所需服务质量方面至关重要,这是因为甚至是单个已解码值中的错误也可能导致解码假象在空间及时间上传播。人们已使用了各种编码措施以在维持必要的数据传输速率的同时使错误最小化,然而,所有这些技术均存在错误会到达解码器侧的问题。通过使用源编码器,对数据实施压缩-通过耗用最少量的位来传送最大量的信息,随后是信道编码器,所述信道编码器往往会在以既定错误概率接收这些位的情况下使传输信道的容量最大化。人们使用信道编码(例如,Reed-SoLomon编码)来改进经源编码的数据的健壮性。人们已使用联合源-信道编码方法来为具有不同重要程度的经源编码数据提供不同程度的错误保护或者通过分割及丢弃分组而使已编码视频数据的速率自适应于可用网络带宽。这是因为常用运输协议并未将讹误数据递送至源编码器。人们已使用例如可反转的可变长度编码(例如,在MPEG-4中)等源编码技术通过在实际上接收到讹误分组时按相反次序将分组解码来实施错误恢复。源编码技术在编码效率方面会有所牺牲,对于既定位速率,此会转移至已解码视频的质量。混合编码标准,例如MPEG-1、MPEG-2、MPEG-4(统称为MPEG-x)、H.261、H.262、H.263及H.264(统称为H.26x)使用位流中的再同步点作为在解码器处处理错误的主要方法。另一种可导致数据损失超过初始i化误的原因是由于不正确的码字仿效。对初始位错误位置的识别并非是微不足道的任务且通常如果没有一种在MAC层或物理层组件中支持对位错误位置的识别的专门设计将无法实现。因而,在检测出位流讹误后,解码器可能须停止解码并在位流中前移以找到下一再同步点,且在所述过程中必定会跳过相当大数量的可能无讹误的数据。尽管相对于上述的事件序列而言,仿效不同的码字—其与原始(即可信的)码字具有相同长度-可能看起来并非太大的问题,然而实际上却并非如此。有许多途径使此类错误可导致解码器不能正确地解译位流。例如,在大多数现有编码解码器中,在位流中存在其值会影响所述位流后续部分的语法的对象(与压縮相关的参数)。因而,此种对象的错误值可能会导致位流被错误地解译。由于常用运输协议不将讹误数据递送至解码器(例如,视频或音频解码器应用),因而解码器处理位错误的能力有限,其中丢弃分组及再同步是最常见的解决方法。需要提供一种能处理会因例如丧失同步及错误码字仿效等问题而造成错误传播及数据丢失的位错误的经改进方法。
发明内容在一个方面中,一种供在错误恢复中使用的多层整合方法及设备包括用于如下的方法或装置根据第一层协议检测多媒体数据中的错误;及根据第二层协议隐匿所述多媒体数据中的所检测到的错误。在另一方面中,一种供在错误恢复中使用的多层整合的设备包括检测器,其根据第一层协议检测多媒体数据中的错误;及隐匿器,其根据第二层协议隐匿所述多媒体数据中的所检测到的错误。在所述多层整合方法及设备中,所述第一层可包括通信层。所述通信层可包括物理层、MAC层及运输层中的一者或组合。此外,所述方法及设备可进一步包括用于根据运输层协议来控制所检测到的错误的方法或装置。控制所检测到的错误可包括定位所检测到的错误。所述方法及设备还可进一步包括用于根据同步层协议来确定所检测到的错误的错误分布的方法或装置。所述第二层可包括应用层。在另一方面中,一种供在错误恢复中使用的多层整合的方法及设备包括用于如下的方法或装置根据通信层协议来检测多媒体数据中的错误;根据运输层协议来控制所检测到的错误;根据同步层协议来确定所述受控错误的错误分布;及根据应用层协议来隐匿所述多媒体数据中的所检测到的错误。在又一方面中,一种供在多媒体数据处理中使用的方法及设备包括用于如下的方法或装置实施已编码多媒体数据的错误恢复;及支持所述己编码多媒体数据的可缩放性。在再一方面中,一种供在多媒体数据处理中使用的设备包括错误恢复组件,其用于实施已编码多媒体数据的错误恢复;及可缩放性组件,其支持所述已编码多媒体数据的可縮放性。在所述供在多媒体处理中使用的方法及设备中,可縮放性可包括空间与时间可縮放性中的一者或二者。错误恢复可包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。在进一步方面中,一种供在多媒体流处理中使用的方法及设备包括用于如下的方法或装置接收多个己编码多媒体数据流;对流的错误部分实施错误恢复;及由所述多个流重构多媒体数据。在再进一步方面中,一种供在多媒体流处理中使用的设备包括接收机,其接收多个已编码多媒体数据流;错误恢复组件,其对流的错误部分实施错误恢复;及重构器,其由所述多个流重构多媒体数据。在所述供在多媒体流处理中使用的方法及设备中,错误恢复可包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。应注意,以上方法及设备可由经配置以实施所述方法或所述设备的操作的计算机可读媒体及/或处理器来构建。图1A是用于递送流式多媒体的通信系统的实例的框图。图1B是用于递送流式多媒体的多层式通信系统的实例的框图。图1C是用于递送流式多媒体的多层式通信系统的另一实例的框图。图2A是用于解码流式多媒体的解码器装置架构的实例的框图。图2B是包含发射机的多层整合式管理系统的协议堆栈图及图2A的解码器装置架构的另一视图。图3描绘组织成用于级联ReedSolomon擦除及Turbo编码的多媒体符号的实例。图4是用于解码流式多媒体的方法的实例的流程图。图5描绘视频数据的Turbo信息分组结构。图6显示实例性组件系统的框图,所述实例性组件系统可是图1中所示多媒体接收机24的一部分。图7显示错误恢复过程的流程图。具体实施例方式本文描述一种用于在多媒体解码器中提供改进的错误恢复能力的方法及设备。提供整合式错误恢复能力,例如,在上层(例如,通信层)处检测多媒体数据流中的错误并在应用层(例如,视频或音频解码器)处对所检测到的错误实施错误恢复。在一个实例中,提供一种解码器架构,其向应用组件提供讹误位旗标信息以用于在实施各种类型的错误恢复技术中做出明达的决定。所述错误恢复技术用于以从应用组件可利用的信息(例如,先前已解码的视频、音频、文本及图形信息)所获得的估计符号来替换讹误符号。再下文说明中,为实现对所述实施例的透彻理解而提供具体细节。然而,所属领域的技术人员应了解,所述实施例可载不具备这些特定细节的情况下实施。例如,电组件可按框图形式加以显示,以免以不必要的细节使得所述实施例难以理解。在其它例示中,可详细显示此类组件、其它结构及技术来进步解释所述实施例。所属领域的技术人员也应了解,可将显示为独立区块形式的电组件重新布置及/或组合成一个组件。还应注意,可将某些实施例描述为过程,所述过程被描绘为流程、流程图、结构图或框图。尽管流程可将操作描述为顺序性过程,然而也可平行或同时实施所述操作中的许多操作并可重复所述过程。此外,可重新布置所述操作的次序。当其操作完成时,过程即终止。过程可对应于方法、功能、程序、子例程、子程序等。当过程对应于功能时,所述过程的终止对应于所述功能返回至调用功能或主功能。图1A是用于递送流式多媒体的通信系统的实例的框图。系统20包含发射机22及接收机多媒体解码器24。发射机22含有各种形式的压縮多媒体数据,包括但不限于视频、音频、图形、文本及图片。所述数据可是MPEG-x及H.26x标准中的压縮视频及音频,MPEG-4AAC、MP3、AMR及G.723音频或语音压縮标准中的压縮音频、或任何其它类型的数字数据。发射机22从包含外部存储器、因特网及直播视频及/或音频馈入端在内的各种源获取数据。发射机22还通过网络传输(Tx)所获取的数据。所述网络可是有线网络28,例如电话、电缆或光纤,或者是无线网络26。倘若为无线通信系统,网络26可包括例如码分多址(CDMA或CDMA2000)通信系统的一部分,或者另一选择为,所述系统可是频分多址(FDMA)系统、正交频分多址(OFDMA)系统、时分多址(TDMA)系统-例如用于服务行业的GSM/GPRS(通用分组无线电服务)/EDGE(增强型数据GSM环境)或TETRA(地面中继无线电)移动电话技术、宽频码分多址(WCDMA)、高数据传输速率(lxEV-DO或lxEV-DO金牌多播)系统、或者一般而言使用所述技术组合的任一无线通信系统。解码器24含有用于通过无线网络26及/或有线网络28接收数据的装置,例如,射频天线或网络连接。解码器24可包含多个处理器,包括如下的任一组合预处理器(例如,任一类型的中央处理单元CPU,例如ARM),数字信号处理器(DSP),软件,固件,及诸如视频核心等的硬件,以使与所接收数据相关联的解调及解码任务分散。解码器24也含有用于在解调/解码过程的各个阶段中存储所接收数据及中间数据的存储器组件。在某些实施例中,ARM预处理器执行较不复杂的任务,包括将多个包含音频、视频及其它信息的位流开包(去除诸如标头及信令消息等附带信息)及解多工。所述ARM预处理器还实施位流剖析、错误检测和隐匿以及可变长度熵解码。在某些此类实施例中,DSP对VLC(可变长度代码)码字实施扩展、对视频数据实施逆折线扫描以空间定位像素系数实施、对MPEG-4视频的像素系数实施逆AC/DC预测(由于上下文自适应性熵编码,这并不是H.264的特点)、及实施音频解码(例如,MPEG-4AAC、MP3、AMR或G.723)。视频核心可实施在计算上更为复杂的视频解码任务,包括解量化、逆转换、经运动补偿的预测、及解块(一种用于减少像素区块边缘之间的边缘假象的滤波形式)。可将一个或一个以上元件添加、重新布置或组合至通信系统20。倘若为有线通信系统,则网络26可包括例如具有诸如实时运输协议(RTP)或通用数据报协议(UDP)等运输协议的基于因特网协议(IP)的通信系统的一部分。图IB是用于在发射机22与解码器24中划分任务的多层式协议堆栈的框图。分别位于发射机22及解码器24中的上层组件205及210可包含多个应用,例如,视频或音频编码器及/或解码器。某些实施例可包含多个打算同时解码的信息流。在这些情况下,还可在上层组件205及210中实施使所述多个流同步的任务。上层组件205可在通过无线网络26及/或有线网络28传输的位流中提供已编码的定时信息。上层组件210可剖析所述多个信息流以使相关联的应用大约同时地将其解码。发射机22中的下层组件215可包含各种用于实现错误恢复力的方案。例如无线网络26及/或有线网络28等易出错信道可能会在解码器24所接收的位流中引入错误。在下层组件215中所提供的此类错误恢复力方案可包含一个或一个以上错误控制编码方案、交错方案及其它为所属领域的技术人员已知的方案。解码器22中的下层组件220可包含能够检测及修正错误的对应错误解码组件。通过无线网络26及/或有线网络28引入的某些错误可能无法由下层组件220加以修正。对于那些无法修正的错误,例如下层组件220请求由发射机22中的下层组件215重新传输讹误组件等解决方案对某些情况(例如,在例如流式应用等实时多媒体通信中)而言可能并不可行。在某些实施例中,下层组件215及220包括通信层组件。可将一个或一个以上元件添加、重新布置或组合至图1B所示的发射机22或解码器24。图1C是用于在发射机22与解码器24中划分任务的多层协议堆栈的更详细实例的框图。发射机22的上层组件205分布于应用层206与同步层207中的一个或一个以上中。发射机22的下层组件215则分布于运输层216、流或媒体存取控制(MAC)层217及物理层218中的一个或一个以上中。同样地,解码器24的上层组件210分布于应用层211与同步层207中的一个或一个以上中。解码器24的下层组件220则分布于运输层221、流或媒体存取控制(MAC)层222及物理层223中的一个或一个以上中。所属领域的技术人员将认识这些所述层并熟悉各种任务在其中间的分配。现在将论述如上文所述整合解码器装置24中各种层的架构的实例,以利用发射机22中所提供的错误恢复力。可将一个或一个以上元件添加、重新布置或组合至图1C中所示的发射机22或解码器24。图2A是用于解码流式多媒体的解码器装置架构的实例的框图。图2B是包含发射机22的多层整合式管理系统的实例的协议堆栈图及图2A的解码器装置架构的协议堆栈视图。参照图2A及2B,多媒体解码器30包含物理层组件32、MAC层组件34、运输及同步剖析器(TSP)39、及应用层组件50。多媒体解码器30接收输入位流(IN),所述输入位流包含诸如Turbo/Reed-Solomon级联方案的级联错误修正方案。物理层组件32可实施解调任务,包括但不限于接收、错误控制解码(例如,turbo代码解码)及介接MAC(媒体存取控制)层。MAC层组件34可实施错误控制解码,例如,Reed-Solomon错误检测、错误修正及对无法修正的讹误数据(例如,一个或一个以上位的群组)加上旗标。MAC层组件34与运输及同步剖析器组件(TSP)39介接。TSP组件39可进一步包含运输层解多工组件36及Sync.(同步)层剖析器组件38。运输层解多工组件36可接收从MAC层组件34所传送的位流,包括正确的和讹误的位以及对i化误位群组加旗标的信息。讹误位群组及对应的加旗标信息包括对应于Turbo解码器CRC失败33及Reed-Solomon失败35的信息。(在某些协议堆栈中,运输层解多工组件36还称作流子层,其中MAC子层及流子层是运输层的两个子层。)运输层解多工组件36可将其所接收到的位流解多工(De-Mux)或剖析成多个位流。经剖析的位流可包含指向不同应用(例如,视频解码器、音频解码器、及各种文本、图形及图像应用的组合)的位流。运输层解多工组件还可将指向单个应用的一个位流(例如,视频位流)剖析成两个或更多个单独的层(例如,使用可縮放编码),例如基础层及增强层。然后,可使用这些层来提供可縮放性,例如,时间及/或SNR可縮放性。可縮放编码的一个实例是,将帧内编码图片(例如,I帧)及不同的帧间编码图片(例如,使用例如运动补偿预测导出的P帧或B帧)划分成位流中的不同层。I帧可编码于基础层中而P及/或B帧可编码于加强层中。可縮放编码适用于动态信道,其中可缩放位流可适合于匹配网络带宽的波动。在易出错信道中,可縮放编码可通过对基础层及加强层实施非均衡错误保护来增加健壮性。可对更重要的层应用更好的错误保护。Sync.(同步)层剖析器组件38在时间同步基础上根据彼此相关的子位流对所述位流实施进一步的剖析。可将多媒体视频位流剖析成视频位流、音频位流及与隐藏式字幕的文本相关联的位流。同步层剖析器组件38将经剖析的位流与时间同步信息一起转发至关联的解码器应用。这使得能够适时地显示及播放相关的音频、视频及文本。除以上论述的剖析外,运输层多路分用器组件36可剖析讹误加旗标信息(例如,CRC失败信息33及Reed-Solomon失败信息35)并将其转发至同步层剖析器组件38及/或适宜的应用层过程(例如,视频解码器或音频解码器),所述讹误加旗标信息是从MAC层组件34及物理层32接收的。同步层剖析器组件38可将讹误加旗标信息以错误分布信息37的形式转发。同步层剖析器组件38也可转发推荐的错误控制策略信息41。然后,所述应用层过程可使用讹误加旗标信息37及控制策略信息41来实施错误处理。应用层组件50可含有一个或一个以上组件,例如,错误恢复组件40、可縮放性组件42、帧速率上变换(FRUC)组件44、核心应用解码组件46及后处理组件48。应用层组件50利用所转发的讹误加旗标信息37及控制策略信息41作出如何利用错误恢复组件、可縮放性组件及FRUC组件来调处讹误数据的决定,借此用核心应用解码组件46提供更高质量的解码。例如,在其中在一个含有重要信息的层中接收到某些媒体并在另一个层中接收到其余媒体的时间可縮放性情况下,如果第二层未被接收到或丢失或出现讹误,则可使用FRUC来重构遗失的媒体。在解码之后,后处理组l牛48实施任何必要的硬件具体修改以便能够分别在视频显示器或扬声器上显示或播放或再现视频及音频输出(OUT)。后处理组件48也可在再现或呈现媒体之前实施增强或复原操作。核心应用解码组件46可包含视频解码器、音频解码器以及文本和图形应用。通过在以核心应用组件46解码之前或期间对各种应用位流实施错误恢复、可縮放性及FRUC处理,可进行增强以改进低质量位流(以低质量实施编码的位流或者因出现错误而以低质量接收到的位流)的质量。例如,组件40、42及44可提供对遵从H.264的标准基线视频位流(基线配置文件是针对低功率装置设计的非常简单的配置文件)并提供来自H.264中其它配置文件的某些特点,例如为满足流式视频的可縮放性、获取及错误恢复力要求所需的B-帧及切片数据分割。下文将提供利用多媒体解码器30组件的过程的详细情况。可将一个或一个以上元件添加、重新布置或组合至图2A及2B中所示的发射机22或解码器30。现在将对错误检测及错误修正予以简要论述。错误检测及修正方案的一个实例使用既包含内(信道)代码也包含外(信道)代码的级联代码。级联信道代码由物理层中的Turbo(内)代码及定位于运输/MAC层中的Reed-Solomon(外)擦除修正代码组成。图3描绘组织成用于级联ReedSolomon擦除及Turbo解码的多媒体符号的实例。就编码侧而言,将来自信息源的符号输出、来自编码器的二进制码字输出块化成字节102。每一字节102均被视为称作"Galois字段(256)"的有限字段中的符号,以便得到位于"GF(256),,上的外(N、K)Reed-Solomon(RS)代码。N及K分别以符号数量形式来表示整个RS码字104及其容纳有系统部分的源数据106的尺寸。因此,N减K会求出包含于每一码字104中的奇偶符号108的数量。(N、K)RS代码能够修正N减K个擦除。顶部的K个行106实质上容纳从信息源输出的符号且这些符号可按以行为先或以列为先的方式扫描成K个行。当既定Turbo信息分组行112出现讹误时,通过以列为先的扫描所获得的交错会使讹误位群组明显变短。由于存在Turbo信息分组擦除,所述讹误位群组在以列为先扫描时的长度分别为l个字节,这不同于在以行为先扫描时分别为(L-l)个字节的长度。在解码器处,如下文所论述,在对这些谁误位群组加旗标时可能需要识别这些位群组的尺寸及位置(在位流中的)。在源数据放置的此初始步骤之后,通过添加N-K个奇偶字节而将所述L个(为K个字节的)列104中的每一列RS编码成N个字节,并由此产生图3中的各行K+1、...、N108。由源数据106组成的顶部的K个行称作RS信息区块,且由N个行组成的整个集合称作经RS编码的区块或简称为代码块110。每一行112均附加有CRC(循环冗余校验)校验和及某些为使turbo编码器正确运作所需的尾部位。通过对每一行112附加校验和,可宣布那些在turbo解码后未能满足其各自校验和的行被擦除。每一代码块110均每次一个行112地输入至turbo编码器中,且因此每一行均称作Turbo信息分组。Turbo解码过程为Reed-Solomon解码过程提供硬决策数据,这会进一步减小剩余错误率。成功修正擦除的能力取决于代码块内的总擦除数量及每一RS码字所用奇偶符号的数量(N减K)。在针对图2的多媒体解码器30的信道编码设计中,如果Reed-Solomon(RS)代码块所具有的擦除超过修正容量,则可将对应的RS信息块(图3)及联合通知传递至运输层、同步层及最后是应用层中的组件,所述联合通知会对所述K个Turbo信息分组112(图3)中哪些出现讹误加上旗标。所述外(N、K)RS代码位于GF(256)上的系统结构使得能够直接利用所正确接收到(无讹误)的turbo信息分组。图4是于解码流式多媒体的方法的实例的流程图。接收带噪声的经调制数据(IN)并将其输入至解码过程60并加以调制62。可在有线或无线网络(例如,图1中的无线网络26及有线网络28)上接收所述数据。图2的物理层组件32在步骤62处实施所接收带噪声数据的解调动作。然后传递经解调的数据,其中可检测及修正错误64。图2的物理层组件32可实施64中的Turbo解码动作,而图2的MAC层组件34可实施64中的Reed-Solomon错误修正动作。在Turbo及Reed-Solomon解码已检测出并修正64所有可修正的错误后,通过例如加上旗标来识别66Turbo信息分组及/或讹误字节。在将位流向前传递以供剖析68之前,抛弃每一Turbo信息分组中的CRC校验和及尾部位、以及奇偶行108(图3)。正确接收到的、不正确地接收到但经过修正的、及带旗标的讹误数据,连同用于识别讹误数据的加旗标信息一起全部向前传递以供进行位流剖析68。图2的物理层组件32及/或MAC层组件34可实施识别(例如,通过加上旗标)66讹误数据的动作。如上所述,运输多路分用器组件36同步层剖析器组件38将位流剖析68成多个位流以供多个应用层过程使用。在图4中所示的实例中,将位流剖析68成视频位流70、音频位流72及文本及/或图形位流74。每一位流70、72及74可含有用于识别个别位流内的讹误位群组的数据。另外,当个别位流要时间同步时,所述位流可含有定时信息。在剖析个别位流之后,在应用层处进行错误处理,其中利用数种错误恢复或隐匿技术中的一种技术来对讹误位实施替换78、82及86。图2中的应用层组件50的错误恢复组件40、可缩放性组件42及FRUC组件44可实施替换操作78、82及86。在替换讹误符号之后,可分别将个别视频、音频及文本/图形位流解码80、84及88。图2中的应用层组件50的核心应用组件46可实施解码80、84及88。图2中的应用层组件50的核心应用组件46还可对可能已由下层组件加以旗标的i化误位进行替换78、82及/或86。可将一个或一个以上元件添加、重新布置或组合至图4中所示的过程60。现在将更详细地论述如图4中所示的通过给讹误数据加旗标来识别66讹误位的实例。图5描绘视频数据的Turbo信息分组结构。区块140表示Turbo信息分组集合,例如构成图3中所描绘的RS信息块的K个行Turbo信息分组106。视频帧可能需要编码多于一个Turbo信息分组的数据。例如,第一帧Fl开始于信息块148A内的行142A中。帧F1中的其余数据则位于行142B、142C、142D中以及行142E的第一部分中。行142A也含有同步标头(SH)146A,同步标头(SH)146A含有例如以下等的信息流识别,同步时间,帧识别(帧编号及可能的层编号-倘若有基础层及增强层)及其它信息。同步标头146A用于为同步层剖析器(参见图2中的38)识别将包含于表示帧Fl的后续信息块中的数据发送至何处(哪一应用)。在每一行的结束处是如上文所论述的CRC校验和,其与Reed-Solomon解码相结合地用于识别己擦除(讹误)分组。在每一Turbo信息分组行的起始处是运输层标头(TH)144。每一TH144均含有Last—Flag(最末旗标)及Offset—Pointer(偏移量指针)。在图4的状态66处实施的对i化误Turbo信息分组加以旗标可通过Offset_Pointer值自身来完成。将Offset—Pointer设定至非法值可指示所述分组出现讹误。另一选择为,可在TH中使用ErroLFlag(错误旗标)字段。可通过对应TH中的设定值(Error_Flag==l)来加旗标。例如,如果行142C出现说误,则可将行142C的TH设定成等于1。Last—Flag用于指示当前行是帧的最末行(例如,通过将其设定成等于1),且如果其是最末行,则使用Offset_Pointer来指示下一帧起始于Turbo信息分组行中的何处(以字节数量计)。例如,在行142E中,TH144B可具有(Last_Flag=l)且Offset_Pointer可等于在TH144C起始(帧F3起始)之前包含于所述行中的字节数量。同步标头146B可含有如上文所论述的指示Frame—ID(帧ID)的数据及位流。信息块148C含有表示帧F3的视频数据。如果确定行142E出现讹误,则解码器不可能确定帧Fl在何处结束及帧F3在何处开始。除(或替代)如上文所论述在运输标头中包含EiToiLFlag外,可构建数据表并将其转发至应用层,其中在表1中列出每一视频帧的信息。_~^~"~帧编号一处于有限帧集合(例如30个帧)内的整数编号,其中在达到最大编号的后在l处重新开始进列编号。B/E-指示在多层可缩放性情况下的帧的基础层或增强层编号。Frame—Length-字节中视频帧的长度。RAP—Flag-指示帧是否是随机存取点(例如,经完全帧内编码的I帧)的旗标。<table>tableseeoriginaldocumentpage16</column></row><table>表l.包含于视频位流错误表中的样本信息。可构造与表1类似的其它位流错误表。包含于运输标头及/或错误表(例如,表1)中的错误加旗标信息可由应用层组件(例如,图2的组件40、42及44)用于在图4中分别识别经剖析位流70、72及74中的讹误符号并在步骤78、82及86处对这些经剖析位流进行替换。如上文所论述,来自RS编码的擦除分组并未被抛弃、而是被递交给应用层,例如,视频解码器。这会防止丢失整个分组-对于视频分组而言可能为122个字节长度或者更长。在图4中的步骤78、82及86处对讹误符号进行替换的操作可呈现两种主要形式错误修正及错误隐匿。对擦除及突发错误实施位流级错误修正及隐匿操作。尽可能地使用MAP(最大经验概率)准则来修正解码错误(因字节错误而引起)。无法修正的错误则使用来自邻近宏块的空间及/或时间信息来隐匿(宏块是通常以视频压缩标准处理的16xl6像素区域,但也可使用例如8x8、8xl6及其它更小的子宏块)。例如,当图像在多于一个帧内为静态时,可使用时间隐匿。如果所隐匿的讹误宏块处于在先前帧中已保持相对恒定的区域中,则其可能存在于所述讹误帧中且可使用所经过的帧区域作为对所述讹误区域的估计值。空间隐匿可利用在同一帧内的邻近宏块上持续存在的边缘或对象。如上文所论述,可接收到多个层的表示同一位流的已编码数据。所述层可包含基础层及一个或一个以上增强层,其中所述增强层可提供在基础层中无法得到的额外帧(例如,经双向预测的B帧),或者其可提供对基础层像素系数的更高质量差别改进。在提供对基础层系数的差别改进的情况下,如果基础层出现讹误,则增强层可能会毫无用处,这是因为其是根据基础层像素值导出的。因此,如果基础层数据出现讹误,则可将增强层从解码中省略。这个过程称作选择性解码且还可在低功率情况下使用。例如,当容纳解码器的装置正以低功率模式运行或在蓄电池电量偏低情况下运行时,可仅将基础层解码而省略增强层,因此节省计算循环并从而又节省功率消耗。可使用空间及/或时间隐匿技术来替换组合的基础层加增强层数据。可以低于基础层(或更高优先权层)的功率来传输增强层(有时被视为低优先权层)。这会使增强层中的错误概率相对于基础层增加。因而,当所接收的基础层含有高的错误百分比时,可潜在地将增强层丢弃。经双向预测的帧(B帧)是根据先前帧及后续帧二者、使用运动补偿预测来加以预测。B帧会提供极高的补偿比率且非常有利于节约带宽。B帧还因其时间可縮放性特征而令人满意。符合标准的B帧不用于任何其它帧的预测,且出于这种原因,其可被丢弃而不会不利地影响其它帧。由于其所依赖的帧中的错误,B帧也对错误传播更敏感。出于这些原因,B帧很可能在增强(或低优先权)层中载送。如果以低功率传输增强层,则B帧对错误更加敏感。如果B帧(或任何其它类型的帧)是完全讹误的,或者具有高于阈值的错误百分比从而使得时间或空间错误隐匿不可行,则可利用帧速率上变换(参见图2的FRUC组件44)。FRUC用于重新产生所丢失的帧。FRUC还可用于重新产生出于例如节约功率等原因而在解码中被跳过的帧。FRUC技术利用来自先前帧及后续帧的运动向量及像素信息来内插运动向量及像素的值。FRUC本身不属于本说明的范畴。FRUC技术包含仅有解码器的形式及由编码器协助的形式。仅有解码器的FRUC在无任何其它信息的情况下实施帧数据的伪内插。由编码器协助的FRUC则利用在H.264的补充增强信息(SEI)消息或MPEG-2的user—data(用户数据)消息中所传输的附带信息。图6显示组件系统的实例的框图,所述组件系统可是多媒体接收机(例如,图l中所示接收机24)的一部分。系统600是供在错误恢复中使用的多层整合的系统。图7显示可由系统600使用的错误恢复过程的流程图。参照图6及7,过程700接收705一个或一个以上多媒体数据流。数据流可包含视频、音频、及/或隐藏式字幕文本及其它信息。所接收的一个或一个以上流可是已编码数据流。已编码数据可是经转换的数据、经量化的数据、经压缩的数据或其组合。接收装置(例如,图1A中的接收机24)可接收705所述一个或一个以上流。除接收多个多媒体流之外,每一所接收的流均可包括多个层,例如,基础层及增强层。接收机24可是无线接收机或有线接收机或者其组合。检测710剩余在位流中的错误。检测到的错误可包括那些在下层错误修正及检测协议已修正某些通过信道(例如,图1A的无线信道26或有线信道28)传输而引入的错误后剩余的错误。如上所述,并非所有的错误都可修正且下层协议可标出讹误数据及/或含有错误的数据群组。用于检测710错误的下层协议可构建于如上文所论述的通信层中。通信层可是物理层、MAC层(或流层)、或运输层、或其组合中的一者或组合。检测器装置(例如,图6中的错误检测器605)可实施错误检测710。错误检测器605可使用所属领域的技术人员熟知的各种检测方案中的任一种,例如,上文所论述的Reed-Solomon及/或Turbo代码方案。错误检测可归因于Turbo解码器中的CRC失败。错误检测可归因于Reed-Solomon解码器中的失败。可通过数种方法来控制715所检测到的错误。控制715可包括如上文所论述的对讹误数据加以标记(或加上旗标)。控制715可包括通过识别出含有所检测到的错误的数据群组(例如分组、区块、切片、帧、宏块、子宏块)来定位错误。控制715可基于运输层协议。此种协议可通过在运输层标头中编码一个或一个以上位以供上层使用来标记剩余错误(参见,图1B及1C)。上层可使用所述运输层标头错误指示符来进一步识别及/或定位由一个或一个以上讹误运输层分组构成的上层分组,藉以进一步定位上层位流中的错误。控制装置(例如,图6中的错误控制器610)可实施错误控制任务。确定720错误分布。在一个方面中,根据同步层协议来确定错误分布。可在同步层处剖析所接收705的一个或一个以上位流。如果同步层从一个下层(例如,通信层)接收到标记讹误数据的信息,则其能识别出哪些位流的哪些部分出现讹误。具有此种信息可使同步层协议能够规划上层(例如,应用层)错误隐匿及/或错误恢复策略。可视讹误数据的尺寸而定应用不同的策略。可将可能被标记为错误的运输层分组组合入同步层分组内以供视其属于哪一数据流的一部分而定来转发至不同的应用层组件。运输层分组可是固定长度,而同步层分组可是可变长度。同步层可通过插入数据以识别可变长度同步分组中哪部分含有讹误运输层分组来识别错误分布。除使用错误控制715信息之外,同步层协议还可包含其它错误检测方法。这些错误检测方法可包含检査同步层分组的CRC。可通过在经剖析的数据分组内插入错误标记而将已确定的错误分布传递至应用层组件。确定装置(例如,错误分布确定器615)可对错误分布加以确定720。可对所述一个或一个以上已编码多媒体数据流的各部分实施725错误恢复。错误恢复可基于应用层协议。应用层组件可实施所述错误恢复。所述应用层组件可如上文所论述根据从同步层接收的信息来确定将使用哪种类型的错误恢复。错误恢复可包括上文所论述的时间错误隐匿、空间错误隐匿及帧速率上变换(FRUC)中的一种或组合、以及其它方法。隐匿所述一个或一个以上媒体数据流中的所检测到的错误可基于应用层协议。错误恢复还可支持所述一个或一个以上数据流的可縮放性。如上文所论述,可縮放性可包含空间或时间可縮放性的一者或二者。错误恢复装置(例如,图2A的错误恢复组件40)可实施错误恢复725。错误隐匿装置(例如,错误隐匿器620)可实施错误隐匿。可缩放性装置(例如,图2A的可缩放性组件42及图6的620)可在实施错误恢复725中支持可縮放性。过程700可包含重构730所述一个或一个以上位流。重构730可包括将正确接收到的数据与被隐匿数据相组合。重构可包含如果帧中的错误量超过阈值则减小帧速率(一种时间可缩放性形式)。重构可包括选择不对增强层实施解码或隐匿或修正(一种SNR可缩放性形式)。应用层协议可作为进行重构730的基础。重构装置(例如,数据流重构器630)可实施重构600。可将一个或一个以上元件添加、重新布置或组合至系统600。可将一个或一个以上元件添加、重新布置或组合至过程700。上述方法及设备的实例包含以下实例。一种用于解码多媒体数据的方法,其包含接收位流,对所接收的位流实施错误控制解码,其中错误控制解码包括识别未经修正的讹误位,将包含所识别讹误位的经错误控制解码的位流传递至解码器,替换至少一个所识别的位,及将经错误控制解码的包含经替换位的位流解码。在一个方面中,所述方法进一步包含将经错误控制解码的位流剖析成一个或一个以上符号、及将识别讹误位的信息剖析成将任何含有讹误位的符号识别为讹误。在另一方面中,所述方法进一步包含构造含有用于识别i化误位的经剖析信息的错误表,其中所述错误表含有用于将所标识位映射至视频帧序列中的位置的信息。在又一方面中,所述方法进一步包含将经错误控制编码的位流剖析成第一经剖析位流及第二经剖析位流,其中所述第一经剖析位流是基础层位流且所述第二经剖析位流是增强层位流。一种用于解码多媒体数据的方法,其包含,*接收位流,对所接收的位流实施错误控制解码,其中错误控制解码包括识别未经修正的讹误位,将包含所识别讹误位的经错误控制解码的位流传递至解码器,通过在第一帧与第二帧之间实施帧速率上变换来替换至少一个所识别位,及将经错误控制解码的位流解码。所属领域的技术人员应了解,可使用众多种不同技术及技法中的任一种技术来表示信息及信号。例如,整个上述说明中可能提及的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或粒子、光场或粒子、或其任组合来表不。所属领域的技术人员应进一步了解,结合本文所揭示实例描述的各种例示性逻辑块、模块、及算法步骤可构建为电子硬件、固件、计算机软件、中间体、微代码、或其组合。为清晰地图解说明硬件与软件的互换性,上文是基于功能性来描述各种例示性组件、区块、模块、电路、及步骤。此种功能性实构建为硬件还是软件取决于特定应用及施加于整个系统的设计制约条件。所属领域的技术人员可针对每一特定应用以不同的方式构建所述功能性,但此类实施方案决定不应解释为背离所揭示方法的范畴。结合本文所揭示实例来描述的各种例示性逻辑块、组件、模块及电路可使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵行(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件元件、或设计用于实施本文所述功能的其任一组合来构建或实施。通用处理器可为微处理器,但另一选择为,处理器也可为任何传统的处理器、控制器、微控制器或状态机。处理器还可构建为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、或一个或一个以上微处理器与DSP核心的联合,或任一其它此类配置。结合本文所揭示实例来描述的方法或算法的步骤可直接包含于硬件中、由处理器执行的软件模块中或两者的组合中。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可抽换磁盘、CD-ROM、或现有技术中已知的任一其它形式的存储媒体中。实例性存储媒体耦合至处理器,以使处理器可从存储媒体读取信息及向存储媒体写入信息。另一选择为,存储媒体可是处理机的组成部分。处理器及存储媒体可驻存于专用集成电路(ASIC)中。ASIC可驻存于无线调制解调器中。另一选择为,处理器及存储媒体可作为离散组件驻存于无线调制解调器中。上文对所揭示实例的说明旨在使所属领域的技术人员可制作或使用所揭示方法与设备。所属领域的技术人员将易知这些实例的各种修改形式,且本文所界定的原理也可应用于其它实例并也可添加额外的元件。因此,已描述了在解码器应用中利用位讹误加旗标信息及讹误数据来解码实时流式多媒体以对讹误数据实施智能错误隐匿及错误修正的方法及设备。权利要求1、一种供在错误恢复中使用的多层整合的方法,其包括根据第一层协议来检测多媒体数据中的错误;及根据第二层协议来隐匿所述多媒体数据中的所述检测到的错误。2、如权利要求l所述的方法,其中所述第一层包括通信层。3、如权利要求2所述的方法,其中所述通信层包括物理层、MAC层及运输层中的一者或组合。4、如权利要求1所述的方法,其进一步包括根据运输层协议来控制所述检测到的错误。5、如权利要求4所述的方法,其中控制所述检测到的错误包括定位所述检测到的错误。6、如权利要求1所述的方法,其进一步包括根据同步层协议来确定所述检测到的错误的错误分布。7、如权利要求l所述的方法,其中所述第二层包括应用层。8、一种供在错误恢复中使用的多层整合的设备,其包括检测装置,其用于根据第一层协议来检测多媒体数据中的错误;及隐匿装置,其用于根据第二层协议隐匿所述多媒体数据中的所述检测到的错误。9、如权利要求8所述的设备,其中所述第一层包括通信层。10、如权利要求9所述的设备,其中所述通信层包括物理层、MAC层及运输层中的一者或组合。11、如权利要求8所述的设备,其进一步包括控制装置,其用于根据运输层协议来控制所述检测到的错误。12、如权利要求11所述的设备,其中所述控制装置包括用于定位所述检测到的错误的装置。13、如权利要求8所述的设备,其进一步包括-确定装置,其用于根据同步层协议来确定所述检测到的错误的错误分布。14、如权利要求8所述的设备,其中所述第二层包括应用层。15、一种供在错误恢复中使用的多层整合的设备,其包括-检测器,其根据第一层协议来检测多媒体数据中的错误;及隐匿器,其根据第二层协议隐匿所述多媒体数据中的所述检测到的错误。16、如权利要求15所述的设备,其中所述第一层包括通信层。17、如权利要求16所述的设备,其中所述通信层包括物理层、MAC层及运输层中的一者或组合。18、如权利要求15所述的设备,其进一步包括控制器,其根据运输层协议来控制所述检测到的错误。19、如权利要求18所述的设备,其中所述控制器定位所述检测到的错误。20、如权利要求15所述的设备,其进一步包括-确定器,其根据同步层协议来确定所述检测到的错误的错误分布。21、如权利要求15所述的设备,其中所述第二层包括应用层。22、一种供在错误恢复中使用的多层整合的处理器,所述处理器经配置以根据第一层协议来检测多媒体数据中的错误;及根据第二层协议来隐匿所述多媒体数据中的所述检测到的错误。23、如权利要求22所述的处理器,其中所述第一层包括通信层。24、如权利要求23所述的处理器,其中所述通信层包括物理层、MAC层及运输层中的一者或组合。25、如权利要求22所述的处理器,其进一步经配置以根据运输层协议来控制所述检测到的错误。26、如权利要求25所述的处理器,其中所述控制器定位所述检测到的错误。27、如权利要求22所述的处理器,其进一步经配置以根据同步层协议来确定所述检测到的错误的错误分布。28、如权利要求22所述的处理器,其中所述第二层包括应用层。29、一种计算机可读媒体,其体现供在错误恢复中使用的多层整合的方法,所述方法包括-根据第一层协议来检测多媒体数据中的错误;及根据第二层协议隐匿所述多媒体数据中的所述检测到的错误。30、如权利要求29所述的计算机可读媒体,其中所述第一层包括通信层。31、如权利要求30所述的计算机可读媒体,其中所述通信层包括物理层、MAC层及运输层中的一者或组合。32、如权利要求29所述的计算机可读媒体,其中所述方法进一步包括-根据运输层协议来控制所述检测到的错误。33、如权利要求32所述的计算机可读媒体,其中控制所述检测到的错误包括定位所述检测到的错误。34、如权利要求29所述的计算机可读媒体,其中所述方法进一步包括-根据同步层协议来确定所述检测到的错误的错误分布。35、如权利要求29所述的计算机可读媒体,其中所述第二层包括应用层。36、一种供在错误恢复中使用的多层整合的方法,其包括-根据通信层协议来检测多媒体数据中的错误;根据运输层协议来控制所述检测到的错误;根据同步层协议来确定所述受控错误的错误分布;及根据应用层协议来隐匿所述多媒体数据中的所述检测到的错误。37、一种供在错误恢复中使用的多层整合的设备,其包括检测装置,其根据通信层协议来检测多媒体数据中的错误;控制装置,其根据运输层协议来控制所述检测到的错误;确定装置,其根据同步层协议来确定所述受控错误的错误分布;及隐匿装置,其根据应用层协议来隐匿所述多媒体数据中的所述检测到的错误。38、一种供在错误恢复中使用的多层整合的设备,其包括检测器,其根据通信层协议来检测多媒体数据中的错误;控制器,其根据运输层协议来控制所述检测到的错误;确定器,其根据同步层协议来确定所述受控错误的错误分布;及隐匿器,其根据应用层协议来隐匿所述多媒体数据中的所述检测到的错误。39、一种供在错误恢复中使用的多层整合的处理器,所述处理器经配置以-根据通信层协议来检测多媒体数据中的错误;根据运输层协议来控制所述检测到的错误;根据同步层协议来确定所述受控错误的错误分布;及根据应用层协议来隐匿所述多媒体数据中的所述检测到的错误。40、一种计算机可读媒体,其体现供在错误恢复中使用的多层整合的方法,所述方法包括根据通信层协议来检测多媒体数据中的错误;根据运输层协议来控制所述检测到的错误;根据同步层协议来确定所述受控错误的错误分布;及根据应用层协议来隐匿所述多媒体数据中的所述检测到的错误。41、一种供在多媒体数据处理中使用的方法,其包括实施经编码多媒体数据的错误恢复;及支持所述经编码多媒体数据的可縮放性。42、如权利要求41所述的方法,其中所述可縮放性包括空间与时间可縮放性中的一者或二者。43、如权利要求41所述的方法,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。44、一种供在多媒体数据处理中使用的设备,其包括实施装置,其实施经编码多媒体数据的错误恢复;及支持装置,其支持所述经编码多媒体数据的可缩放性。45、如权利要求44所述的设备,其中所述可縮放性包括空间与时间可缩放性中的一者或二者。46、如权利要求44所述的设备,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。47、一种供在多媒体数据处理中使用的设备,其包括错误恢复组件,其实施经编码多媒体数据的错误恢复;及可缩放性组件,其支持所述经编码多媒体数据的可缩放性。48、如权利要求47所述的设备,其中所述可縮放性包括空间与时间可縮放性中的一者或二者。49、如权利要求47所述的设备,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。50、一种供在多媒体数据处理中使用的处理器,所述处理器经配置以实施经编码多媒体数据的错误恢复;及支持所述经编码多媒体数据的可縮放性。51、如权利要求50所述的处理器,其中所述可縮放性包括空间与时间可縮放性中的一者或二者。52、如权利要求50所述的处理器,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。53、一种计算机可读媒体,其体现供在多媒体数据处理中使用的方法,所述方法包括实施经编码多媒体数据的错误恢复;及支持所述经编码多媒体数据的可縮放性。54、如权利要求53所述的计算机可读媒体,其中所述可縮放性包括空间与时间可缩放性中的一者或二者。55、如权利要求53所述的计算机可读媒体,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。56、一种供在多媒体流处理中使用的方法,其包括接收多个经编码多媒体数据流;对流的错误部分实施错误恢复;及由所述多个流重构所述多媒体数据。57、如权利要求56所述的方法,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。58、一种供在多媒体流处理中使用的设备,其包括接收装置,其接收多个经编码多媒体数据流;实施装置,其对流的错误部分实施错误恢复;及重构装置,其由所述多个流重构所述多媒体数据。59、如权利要求58所述的设备,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。60、一种供在多媒体流处理中使用的设备,其包括接收机,其接收多个经编码多媒体数据流;错误恢复组件,其对流的错误部分实施错误恢复;及重构器,其由所述多个流重构所述多媒体数据。61、如权利要求60所述的设备,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。62、一种供在多媒体流处理中使用的处理器,所述处理器经配置以接收多个经编码多媒体数据流;对流的错误部分实施错误恢复;及由所述多个流重构所述多媒体数据。63、如权利要求62所述的处理器,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。64、一种计算机可读媒体,其体现供在多媒体流处理中使用的方法,所述方法包括接收多个经编码多媒体数据流;对流的错误部分实施错误恢复;及由所述多个流重构所述多媒体数据。65、如权利要求64所述的计算机可读媒体,其中所述错误恢复包括时间错误隐匿、空间错误隐匿及帧速率上变换中的一者或组合。全文摘要本发明揭示一种供在错误恢复中使用的多层整合方法及设备。根据第一层协议在多媒体数据中检测错误并根据第二层协议隐匿所述多媒体数据中所检测到的错误。在一个方面中,根据通信层协议来检测多媒体数据中的错误并根据运输层协议来加以控制。然后,根据同步层协议来确定所述受控错误的错误分布并根据应用层协议来隐匿所述多媒体数据中所检测到的错误。在另一方面中,一种用于多媒体数据处理的方法及设备包括错误恢复以及可缩放性。最后,所揭示的方法及设备允许通过如下方式来处理多媒体流接收多个经编码多媒体数据流;对流的错误部分实施错误恢复;及由所述多个流重构多媒体数据。文档编号H04N7/68GK101176353SQ200680014271公开日2008年5月7日申请日期2006年3月10日优先权日2005年3月10日发明者塞伊富拉·哈立德·奥古兹,方石,维贾雅拉克希米·R·拉韦恩德拉恩,苏密特·辛格·塞蒂,陈培松申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1