首页> 中国专利> 用以区分反向链路与前向链路视频数据错误的错误过滤器

用以区分反向链路与前向链路视频数据错误的错误过滤器

摘要

本发明揭示一种用于响应于视频数据错误而实施错误控制的技术,所述技术包含:从视频解码器接收对视频数据错误的指示;确定所述视频数据错误是否发生于视频编码器与网络装置之间的无线网络的反向链路上;以及如果所述视频数据错误不是发生于所述反向链路上,则响应于所述视频数据错误而应用错误控制。举例来说,对所述视频数据错误的所述指示可包括包含丢失的数据的包的第一序列编号(SN),且确定所述视频数据错误是否发生于所述反向链路上可包括将第一SN与同最近RL错误相关联的包的第二SN进行比较。

著录项

  • 公开/公告号CN101589616A

    专利类型发明专利

  • 公开/公告日2009-11-25

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN200880002755.8

  • 申请日2008-01-22

  • 分类号H04N7/14;H04N7/64;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人刘国伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 23:01:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-10

    未缴年费专利权终止 IPC(主分类):H04N7/14 授权公告日:20110706 终止日期:20190122 申请日:20080122

    专利权的终止

  • 2011-07-06

    授权

    授权

  • 2010-01-20

    实质审查的生效

    实质审查的生效

  • 2009-11-25

    公开

    公开

说明书

技术领域

本发明涉及视频编码,且更明确地说,涉及用于有效视频错误控制的技术。

背景技术

视频电话(VT)涉及携载音频及视频数据的包的实时通信。每一VT装置包括视频编码器,其从视频俘获装置(例如视频相机或视频保存器)获得视频且产生视频数据包(“视频包”)。类似地,每一VT装置中的音频编码器从音频俘获装置(例如麦克风或语音合成器)获得音频,且产生音频数据包(“音频包”)。视频包及音频包被放置在无线电链路协议(RLP)队列中。媒体接入控制(MAC)层模块从所述RLP队列的内容产生媒体接入控制(MAC)层包。所述MAC层包被转换成物理(PHY)层包以供经由通信信道传输到另一VT装置。

在移动VT应用中,VT装置经由从基站到VT装置的无线前向链路(FL)(或“下行链路”)接收物理层包,所述VT装置可为移动无线终端,例如蜂窝式无线电电话。VT装置经由从VT装置到基站的无线反向链路(RL)(或“上行链路”)传输PHY层包。每一VT装置包括PHY及MAC层以转换所接收的PHY及MAC层包且将包有效负载重新组合成音频包及视频包。VT装置内的视频解码器对视频数据进行解码以供经由显示装置呈现给用户。VT装置内的音频解码器对音频数据进行解码以供经由音频扬声器来呈现。同样地,VT装置可包括视频编码器及音频编码器以分别对视频及音频进行编码以供传输到另一VT装置。

视频数据错误可发生在将视频包从视频编码器传输到视频解码器期间。举例来说,错误可在RL(从视频编码器到基站)上进行传输期间发生在基站处,或发生在FL(从基站到视频解码器)上进行传输期间。错误可能会破坏呈现给用户的视频的视觉质量。然而,当检测到错误时,可应用多种错误校正或隐蔽技术。

发明内容

一般来说,本发明是针对于可增加视频编码器效率的视频数据错误控制技术。视频编码器经配置以在经由端到端(E2E)错误反馈从接收装置接收错误报告之前对RL错误应用错误控制。E2E错误反馈中所报告的错误可为反向链路(RL)错误或前向链路(FL)错误,后者包括可归因于接入网络的错误。根据所揭示的技术,错误过滤器区分由E2E错误反馈所指示的RL错误与FL错误或接入网络错误。以此方式,所揭示的技术可防止视频编码器对视频编码器已经处理的RL错误再应用错误控制。

对同一RL错误应用错误控制两次可能降低视频编码器的译码效率,且还可能为对传输信道带宽的低效率使用,因为一些错误控制技术可能添加额外带宽。通过确定E2E错误反馈中所报告的错误是否为RL错误,错误过滤器使得编码器系统能够确定是否已经对E2E错误反馈中所报告的错误应用错误控制或视频编码器是否应对所报告的错误应用错误控制。因此,所揭示的技术减少或消除冗余错误校正及相关联的低效率。

在一些方面中,编码器系统还包含用于使由视频编码器应用的错误控制适应信道带宽条件的模块。在一些应用中,例如在包交换网络中,无线信道的带宽可能(例如)由于位置、环境或信道业务负载而发生变化。因此,为了有助于避免覆没无线信道,编码器系统可并入用以监视信道带宽条件并基于信道带宽条件而选择错误控制技术的模块。作为说明,当信道带宽较高时可应用帧内刷新,而当信道带宽较低时可应用随机宏块(MB)内刷新(RIR)。

在一个方面中,本发明是针对于一种方法,所述方法包含:接收对由视频解码器所检测的视频数据错误的指示;确定视频数据错误是否发生于视频编码器与网络装置之间的无线网络的反向链路上;以及如果视频数据错误不是发生于反向链路上,则响应于对视频数据错误的指示而应用错误控制,且如果视频数据错误发生于反向链路上,则不响应于视频数据错误而应用错误控制。

在另一方面中,本发明是针对于一种系统,所述系统包含:收发器,其用以接收对由视频解码器所检测的视频数据错误的指示;视频编码器;以及错误过滤器,其用以确定视频数据错误是否发生于视频编码器与网络装置之间的无线网络的反向链路上,其中视频编码器经配置以在视频数据错误不是发生于反向链路上的情况下响应于对视频数据错误的指示而应用错误控制。

在又一方面中,本发明是针对于一种计算机程序产品,其包含包括指令的计算机可读媒体。所述指令致使计算机接收对由视频解码器所检测的视频数据错误的指示,确定视频数据错误是否发生于视频编码器与网络装置之间的无线网络的反向链路上,并且如果视频数据错误不是发生于反向链路上,则响应于视频数据错误而应用错误控制,且如果视频数据错误发生于反向链路上,则不响应于视频数据错误而应用错误控制。

在另一方面中,本发明是针对于一种系统,所述系统包含:用于接收对由视频解码器所检测的视频数据错误的指示的装置;用于确定视频数据错误是否发生于视频编码器与网络装置之间的无线网络的反向链路上的装置;以及用于在视频数据错误不是发生于反向链路上的情况下响应于视频数据错误而应用错误控制且在视频数据错误发生于反向链路上的情况下不响应于视频数据错误而应用错误控制的装置。

在附图及下文描述中陈述本发明的一个或一个以上实例的细节。

附图说明

图1为说明用于视频电话应用的视频/音频编码及解码系统的图。

图2为说明实施错误过滤技术的视频/音频编码及解码系统的图。

图3为说明用于过滤来自端到端错误反馈的反向链路错误的技术的流程图。

图4为说明用于过滤来自端到端错误反馈的反向链路错误的另一技术的流程图。

具体实施方式

图1为说明视频编码及解码系统10的框图。如图1中所示,系统10包括由传输信道16连接的编码器系统12及解码器系统14,所述传输信道16包括一个或一个以上接入网络(AN)组件15。编码器系统12及解码器系统14可表示各种类型的装置,例如无线电话、蜂窝式电话、膝上型计算机、无线多媒体装置、视频游戏装置、数字音乐播放器、数字视频播放器、数字广播服务器、无线通信个人计算机卡、个人数字助理(PDA)、外部或内部调制解调器或者经由无线信道通信的任何装置。

AN组件15可指代通信系统的网络部分,且可包括或实施基站(BS)、基站收发器系统(BTS)、接入点(AP)、调制解调器群收发器(MPT)、节点B(例如,在WCDMA类型系统中)等的功能。编码器系统12及解码器系统14各自在前向链路(FL)及/或反向链路(RL)上与AN组件15通信。FL(其还称为“下行链路”)指代从AN组件15到系统12或14的传输。反向链路(其还称为“上行链路”)指代从系统12或14到AN组件15的传输。

系统10可经由传输信道16提供(例如)用于视频电话(VT)的双向视频及音频传输。VT指代至少两个装置(例如,系统12与14)之间的音频及视频包的实时通信。因此,大体上互逆的编码、解码及转换模块可提供于信道16的相对端上的系统12及14中。或者,系统12及14中的一者或两者可仅专用于音频及视频编码与传输,或仅专用于音频及视频接收与解码。在一些实例中,编码器系统12及解码器系统14可体现于例如经装备以用于视频串流、视频电话或两者的无线移动终端等视频通信装置内。移动终端可支持根据例如实时传送协议(RTP)、用户数据报协议(UDP)、因特网协议(IP)或点到点协议(PPP)等包交换标准的VT。

系统10可经设计以支持一种或一种以上无线通信技术,例如码分多址(CDMA)、频分多址(FDMA)、时分多址(TDMA)或正交频分多址(OFDM),或另一合适的无线技术。以上无线通信技术可根据多种无线电接入技术中的任一者来陈述。举例来说,CDMA可根据cdma2000或宽带CDMA(WCDMA)标准来陈述。TDMA可根据全球移动通信系统(GSM)标准来陈述。通用移动电信系统(UMTS)标准准许GSM或WCDMA操作。通常,对于VT应用来说,系统10将经设计以支持例如cdma20001x EV-DO版本0及版本A等高数据速率(HDR)技术。

编码器系统12与第一视频通信装置相关联,且包括音频源17、视频源18、视频编码器20、音频编码器22、实时传送协议(RTP)/用户数据报协议(UDP)/因特网协议(IP)/点到点协议(PPP)转换模块26、无线电链路协议(RLP)队列28、MAC层模块30及PHY层模块32。如将描述,编码器系统12还可包括用以区分可归因于不同来源的错误的错误过滤器,以及用于使错误控制适应信道16的可用带宽的模块。解码器系统14与另一视频通信装置相关联,且包括PHY层模块34、MAC层模块36、RLP队列38、RTP/UDP/IP/PPP转换模块40、视频解码器42及音频解码器44。

视频源18可为视频俘获装置(例如视频相机、一个或一个以上视频保存器,或视频相机与视频保存器的组合)或来自内容提供者的实况广播源。系统10可支持根据会话起始协议(SIP)、ITU-T H.323标准、ITU-T H.324标准或其它标准的视频电话或视频串流。视频编码器20根据例如MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264及其对应版本(ISO/IEC MPEG-4,第10部分,即高级视频译码)等视频压缩标准而产生经编码的视频数据。系统10还可经配置以支持增强型H.264视频译码以用于在使用仅前向链路(FLO)空中接口规范“用于陆地移动多媒体多播的仅前向链路空中接口规范(Forward Link Only Air Interface Specification for Terrestrial Mobile MultimediaMulticast)”(其将被公布为技术标准TIA-1099(“FLO规范”))的陆地移动多媒体多播(TM3)系统中传递实时视频服务。

视频编码器20及视频解码器42各自可实施为一个或一个以上处理器、数字信号处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器20及视频解码器42中的每一者可包括于一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可集成为相应订户装置、广播装置、服务器等中的组合式编码器/解码器(CODEC)的部分。另外,系统12及系统14各自可包括用于经编码视频的传输及接收的适当调制、解调、频率转换、过滤及放大器组件(如果适用的话),其中包括射频(RF)无线组件及天线。然而,为了易于说明起见,图1中未展示此些组件。

音频源17可为音频俘获装置(例如麦克风或语音合成器装置),其俘获音频数据以伴随来自视频源18的视频数据。或者,音频源17可包括音频保存器或来自内容提供者的实况音频广播源。音频编码器22可根据例如自适应多速率窄带(AMR-NB)的音频压缩方法或其它技术来对音频数据进行编码。对于VT应用来说,视频将准许一方观看VT会议且音频将准许所述方的所讲话音被听到。对于例如多媒体串流或广播等其它应用来说,音频及视频形成多媒体内容(例如演出、展览或电影)的部分。

在操作中,RTP/UDP/IP/PPP转换模块26从视频编码器20及音频编码器22获得经编码的视频数据帧及经编码的音频数据,且将适当标头信息(例如,路由及定序信息)添加到视频及音频包并将所得数据插入在RLP队列28内。通常,RTP在UDP之上运行,而UDP在IP之上运行,且IP在PPP之上运行。RTP是经开发用于传输例如多媒体数据等实时数据的协议。在RTP中,视频编码器20以及音频编码器22的输出被分组成若干数据包。因此,视频数据帧可被分成一个或一个以上数据包以供经由信道16将所述帧传输到解码器系统14,且多个帧通常被作为多个数据包来传输。每一包包括用于识别及定序用途的序列编号(SN)。SN可包括于(例如)RTP/UDP/IP/PPP标头信息中。

MAC层模块30从RLP队列28检索数据且从RLP队列28的内容产生MAC层包。每一MAC层包携载RLP队列28内所含有的RTP/UDP/IP/PPP标头信息以及音频或视频包数据。可独立于视频包而将音频包插入到RLP队列28中。在一些情况下,从RLP队列28的内容所产生的MAC层包将仅携载标头信息及视频包数据。在其它情况下,MAC层包将携载标头信息、音频包数据及视频包数据,这依据RLP队列28的内容而定。MAC层包可根据RLP来配置,且还可被称为MAC RLP包。

PHY层模块32将MAC RLP包转换成PHY层包以供经由信道16来传输。明确地说,编码器系统12内的收发器经由信道16将PHY层包传输到AN组件15。信道16将PHY层包携载到解码器系统14。信道16可为编码器系统12与解码器系统14之间的任何物理连接。举例来说,信道16可为有线连接,例如区域或广域有线网络。或者,如本文中所描述,信道16可为无线连接,例如蜂窝式、卫星或光学连接。更通常地,信道16可包括有线与无线媒体的组合。

解码系统14的PHY层模块34及MAC层模块36以互逆方式操作。PHY层模块34将从信道16接收的PHY层包转换/重新组合成MAC RLP包。MAC层模块36重新组合MAC RLP包的内容以提供视频及音频包,以用于将MAC RLP包插入到RLP队列38中。RTP/UDP/IP/PPP转换模块40从RLP队列38中的数据中去除标头信息,且重新组合视频及音频数据以供分别传递到视频解码器42及音频解码器44。

视频解码器42对视频数据帧进行解码以产生用于驱动显示装置(视频输出)48的视频数据流。与每一包相关联的SN可有助于视频解码器42将视频数据包重新排序并重新组合成帧。举例来说,从时间观点来看,所述包可经失序地接收,从而需要重新排序成适当时间序列。音频解码器44对音频数据进行解码以产生用于呈现给用户(例如,经由音频扬声器(音频输出)46)的音频信息。

错误可发生在将视频数据帧从编码器系统12传输到解码器系统14期间。错误可包括丢失的包或含有丢失的数据的包。下文中,“丢失的包”指代整个包的丢失与包内数据的丢失两者。视频数据错误可发生于RL(例如,从编码器系统12到AN组件15)上、发生于FL(例如,从AN组件15到解码器系统14)上或发生于AN组件15内。因此,错误可被视为RL错误或FL错误。一般来说,发生于AN组件15内的错误还将被称为FL错误。错误可出于许多原因而发生于AN组件15内。举例来说,如果AN组件15包含一个以上核心网络,则当在核心网络之间传输视频数据时可能发生一个或一个以上视频包或所述包内的数据的丢失。

编码器系统12可经由一种或一种以上技术来识别RL错误。在一种错误识别技术中,在视频编码器20对新视频帧进行编码之前,视频编码器20查询编码器系统12的一个或一个以上较低层以确定在最近经编码的视频帧的传输期间是否发生错误。在对新视频帧进行编码之前检测错误使得视频编码器20(或编码器系统12内的错误控制模块)能够相对快速地对当前最近经编码帧执行错误控制而不等待来自解码器系统14的反馈。

图2为说明实施错误过滤技术的编码器装置12的图。在图2中所示的实例中,编码器装置12包括UDP/IP/PPP层26B、MAC层30、错误过滤器模块50、无线电链路协议(RLP)模块55、包合并协议(PCP)模块56、RL速率适应模块58及信道带宽自适应错误控制模块60。为说明清楚起见,已从图2的图中移除了图1中所展示的编码器系统12的一些组件,例如音频编码器22及PHY层32。

如下文进一步详细地描述,错误过滤器模块50确定来自解码器系统14的E2E错误反馈中所报告的错误是否已经被校正。也就是说,错误过滤器50从E2E错误反馈中所报告的错误中过滤出RL错误,这可有助于视频编码器20避免对E2E反馈中所报告的RL错误不必要地应用错误控制。在图2中所示的编码器系统12的实例中,错误过滤器50处于与RTP 26A相同的层中。错误过滤器50包括RL错误SN提取模块52及传输(TX)错误确定模块54。

在一个实例中,编码器系统12的较低层通过旗标(例如二进制位字段)来持续跟踪视频帧的传输状态。举例来说,当在编码系统12与AN组件15之间发生错误时,AN组件15可将否定应答(NAK)发送到MAC层30。MAC层30可向PCP模块56通知与NAK相关联的MAC包。PCP模块56确定丢失的MAC包是否含有任何视频流数据。即使在EV-DO Rev A反向链路中支持服务质量(QoS),音频及视频数据仍可放置于同一MAC包中。如果丢失的MAC包中存在视频数据,则PCP模块56将向RLP模块55(图2中展示)通知丢失的数据,且用RLP包NAK识别含有在传输中经历错误的包的特定RLP队列(可存在若干RLP队列)。

RLP模块55确定哪一包含有丢失的数据。接着,RLP模块55用视频流包NAK向应用层中的RTP层26A通知哪一包包括丢失的数据。RTP层26A可维持将丢失的包转换成帧中的丢失的MB的映射或表格。识别丢失的MB的信息被传到视频编码器20(或错误控制模块)以用于进一步错误控制。举例来说,视频编码器20可应用帧内刷新或随机MB内刷新以消除错误。

在编码器系统12的较低层通过旗标持续跟踪视频帧的传输状态的用于识别RL错误的另一方法中,视频编码器20可在对每一新的视频数据帧进行编码之前查询RLP模块55,且错误信息可被直接传到视频编码器20以用于错误控制。如果发生RL错误,则MAC层30可自动将NAK发送到PCP模块56,且PCP模块可将NAK发送到RLP模块55,其设定旗标。

在上文论述的方法中的任一者中,如果视频帧的包丢失,则设定编码器系统12的较低层内的旗标。一旦视频编码器20查询RLP模块55以检查所述旗标,便复位所述旗标以用于下一经编码的视频帧。如果旗标经设定,则视频编码器20对所述下一经编码的视频数据帧应用错误控制。旗标仅指示在最近经编码的视频帧的传输中是否存在RL错误,而非丢失的特定包。因此,假定在帧的任何部分中发生错误,视频编码器20可能不知道帧的哪一部分丢失并应用错误控制。因为对整个帧应用错误控制,所以知道是否存在任何错误可能正如知道哪一视频数据包丢失一样有用。

上文描述的较低层辅助式视频错误控制技术处理在RL上传输期间视频数据发生的错误(即,RL错误)。所述技术可使得视频编码器20能够使用来自MAC层30的错误信息并立即应用错误控制,而不等待来自解码器系统14(即,接收装置)的反馈。

另一技术识别RL与FL错误两者,后者包括发生于AN组件15内的错误。举例来说,解码器系统14可将指示已发生错误的反馈提供到编码器系统12的视频编码器20。编码器系统12的收发器(未图示)可接收来自解码器系统14的反馈。视频编码器20接着可对下一经编码帧应用错误控制以防止错误传播。从解码器系统14报告到编码器系统12的错误可被称为“端到端(E2E)反馈”。

E2E反馈的使用可基于音频视频简档反馈(AVPF)RFC 4585,其提供使得视频数据接收装置(即,解码器系统14)能够将即时反馈提供到编码器系统12的基于实时控制协议(RTCP)的反馈机制。E2E反馈通常包含丢失的RTP包或含有丢失的数据的RTP包的SN。举例来说,如果具有为100的SN的RTP包丢失,则解码器系统14检测到所述丢失且将具有SN 100的RTCP反馈发送到具有AVPF有效负载的编码器系统12。

一旦视频编码器20检测到错误,视频编码器20便可根据任何合适技术来应用错误控制。合适的错误控制技术的实例包括针对经编码的下一视频帧而使用不同参考帧,增加宏块(MB)内刷新速率(即,“宏块内刷新”),或插入帧内帧(I帧)以在解码器装置14处停止错误传播(即,“帧内帧插入”)。在I帧中,每个MB经帧内译码,即,每一MB不取决于先前帧,这可停止错误传播。对于MB内刷新来说,仅一些MB经帧内译码。帧内帧插入可在错误发生时提供较好视频质量,但消耗较多带宽,因为传输整个I帧而非传输形成所述帧的仅一部分的MB。在使用参考帧来对后续帧进行编码的一种类型的错误控制技术中,视频数据帧的MB可通过基于运动的译码来编码。基于运动的译码涉及识别先前帧的类似的MB(预测性MB),且发送运动向量以识别先前帧(或双向译码中的后续帧)中的预测性MB并发送指示当前MB与预测性MB之间的差别的不同块。运动向量大体上特征化先前经编码帧中的最佳匹配MB(即,预测性MB)与给定MB之间的距离。当视频编码器20检测到错误时,视频编码器20可使用在包括所述错误的帧之前编码的帧作为用于经编码的下一视频帧的参考帧。

视频编码器20经配置以基于以下两个信息源而应用错误控制:RL错误反馈及E2E错误反馈。如上文所论述,在无线视频通信中,E2E错误反馈中所报告的错误可能可归因于发生于RL或FL中的错误。E2E反馈并不包括错误发生于何处的指示,且因此视频编码器20通常不能够确定丢失的包的起源。

在一些情况下,E2E错误反馈可报告视频编码器20已经通过查询编码器系统12的一个或一个以上较低层(例如,RLP模块55)而识别的RL错误。因为视频编码器20在识别到RL错误后便对RL错误应用错误控制,所以到由E2E错误反馈报告RL错误时视频编码器20通常已处理了RL。然而,因为视频编码器20不能够确定E2E错误反馈中所报告的错误的起源且区分RL错误与FL错误,所以视频编码器20可能会不止一次地对同一RL错误应用错误控制,这可为资源及带宽的低效使用。举例来说,对同一错误两次应用错误控制可降低视频编码器20的译码效率且致使视频输出48的质量降级。

视频编码器20在从解码器系统14(经由E2E错误反馈)接收RL错误的报告之前校正RL错误。在检测到RL错误之后相对较快地校正RL错误有助于减少由丢失的包或含有丢失数据的包所引起的假象。在图2中所示的实例中,视频解码器42提供E2E错误反馈。然而,在其它实例中,解码器系统14的其它组件可将E2E错误反馈提供到编码器系统12。如上文所论述,视频编码器20可采用任何合适的技术以用于识别RL错误。在图2中所示的实例中,视频编码器20查询RLP模块55且读取RLP模块55内所设定的旗标,以便识别在将新近经编码的视频帧传输到AN组件15期间(即,在RL传输期间)是否发生了RL错误。

错误过滤器50经配置以从视频解码器42接收E2E错误反馈且确定错误的起源。如果错误过滤器50确定所报告的E2E错误发生于RL上,则视频编码器20可不必再次校正RL错误。然而,如果错误过滤器50确定E2E错误反馈中所报告的错误发生于FL上,则视频编码器20可校正FL错误,以便停止错误传播。换句话说,错误过滤器50确定所报告的E2E错误是否已经作为RL错误的部分被校正或视频编码器20是否应校正所述错误。

错误过滤器50可通过至少两种技术来持续跟踪由视频编码器20校正的RL错误。在第一种技术中,错误过滤器50接收在RL上丢失的视频帧的视频包的序列编号(SN)。在第二种技术中,错误过滤器50接收指示新近经编码的视频帧是否具有RL错误的信息。图2中展示根据第二种技术的错误过滤器50。在用于识别RL错误的第二种技术的一个实例中,RTP层26A向新近经编码的视频帧的最后包指派SN且将此SN提供到错误过滤器50的RL错误SN提取模块52。RL错误SN提取模块52通过读取编码器系统12的较低层中所设定的旗标(例如,二进制位字段)来确定在将与SN相关联的经编码帧传输到AN组件15时是否发生了RL错误(即,一个或一个以上包或所述包内的数据是否丢失)。由RL错误SN提取模块52读取的旗标是由视频编码器20读取以识别RL错误的同一旗标。所述旗标指示自从上次查询较低层以来在视频流上是否已丢失任何数据。如果与SN相关联的帧具有错误,则RL错误SN提取模块52存储所述SN。如果与SN相关联的帧不具有错误,则RL错误SN提取模块52继续存储具有传输错误的最近帧的SN。存储于RL错误SN提取模块52内的SN被称为SN1

在一些方面中,如果携载用于经编码帧的数据的包中的任何者丢失,则视频编码器20对整个视频帧应用错误校正。因此,通过持续跟踪包括一个或一个以上RL错误的最近经编码的视频帧的最后包的SN1,RL错误SN提取模块52能够跟踪视频编码器20已校正的RL错误。举例来说,如果经编码帧被分成具有SN 101到115的包,且由SN 105所识别的包在RL上丢失,则视频编码器20对所述经编码帧应用错误控制。因此,即使由SN 115所识别的包的传输不导致RL错误,且因为SN通常为依序的,所以也对由SN115所识别的包应用错误控制。以此方式,错误过滤器50跟踪已被校正的RL错误而非精确跟踪在RL中丢失哪些包。错误过滤器50还可跟踪已通过跟踪丢失或含有错误的精确包的SN来校正的RL错误。

在其它方面中,视频编码器20对视频数据帧的发生错误的部分应用错误校正,而非对整个视频帧应用错误校正。举例来说,视频编码器20可对帧中的宏块或携载多个宏块的包应用错误校正。因此,通过持续跟踪已被校正的包或含有实际上已被校正的宏块的包的序列编号SN1,RL错误SN提取模块52能够跟踪视频编码器20已校正的RL错误。

视频解码器42以丢失的RTP包的序列编号SN2的形式将E2E错误反馈报告给错误过滤器50的TX错误确定模块54。视频解码器42仅在存在错误时发送E2E错误反馈且识别已丢失的精确包。如果丢失一个以上包,则E2E错误反馈可包括一个以上SN。在一个实例中,因为视频编码器20将对整个帧应用错误控制,所以TX错误确定模块54将由视频解码器42报告的最高SN跟踪为SN2,且最高SN表示所述视频帧。换句话说,只有用以对视频帧进行编码的最后包的最高SN为唯一地识别所述帧所必需的。

为了确定E2E错误反馈中所报告的错误是已经被校正的RL错误还是FL错误,TX错误确定模块54将在E2E错误反馈中所接收的SN2与具有错误的最近经编码的视频帧的最后包的SN1进行比较。如果SN2大于SN1,则E2E错误反馈中所报告的错误为FL错误,因为较高SN2指示由SN2所识别的包在由SN1所识别的包之后被传输。如果在由SN2所识别的包在RL上传输期间发生错误,则RL错误SN提取模块52将已将SN2或由SN2所识别的包作为其一部分的帧的最后包的SN记录为视频编码器12校正的最近RL错误的最高SN。然而,因为在识别最近RL错误时RL错误SN提取模块52已存储SN1,所以很有可能的是由SN2所识别的包内的错误发生在RL传输之后。因此,如果SN2大于SN1,则TX错误确定模块54向视频编码器20通知与SN2相关联的错误先前尚未被校正,在此情况下,视频编码器20对下一经编码帧应用错误控制。

相反,如果SN2小于SN1,则E2E错误反馈中所报告的错误为已经被校正的RL错误,因为由SN2所识别的包在由SN1所识别的包之前被传输且因此已经被校正。如果SN2小于SN1,则视频编码器20不对下一经编码帧应用任何错误控制。如果SN2等于SN1,则E2E错误反馈中所报告的错误与已经被校正的最近RL错误相同且视频编码器20不对下一经编码帧应用任何错误控制。

错误过滤器50使编码器系统12能够有效地区分RL视频数据传输错误与FL视频数据传输错误,后者包括发生于AN组件15内的错误。通过区分不同类型的错误,从E2E错误反馈中过滤出重复的错误消息,进而防止视频编码器20将同一错误校正两次。以此方式,与其中视频编码器20校正E2E错误反馈中所报告的所有错误的系统相比,视频编码器20可更有效地操作。

系统10任选地包括RL速率适应模块58及信道带宽自适应错误控制模块60,以使由视频编码器20实施的错误控制适应信道16的可用带宽。在图2中所示的编码器系统12的实例中,TX错误确定模块54经由信道带宽自适应错误控制模块60将反馈提供到视频编码器20。在错误过滤器50确定是否对来自视频解码器42的E2E错误反馈中所报告的错误应用错误控制之后,信道带宽自适应错误控制模块60可指令视频编码器20根据特定技术来应用错误控制,其中所述技术适应信道16的可用带宽。

信道条件可为有线及无线信道所关注,但对于经由无线信道16执行的移动VT应用来说尤其是成问题的,其中信道条件可能由于衰减或拥挤而受损。举例来说,信道16可特征化为反向链路(RL)具有根据信道条件而变化的通过量。可基于如由当前无线信道传输速率、无线基站活动及传输功率限制中的一者或一者以上所表示的信道条件来估计通过量。举例来说,可基于当前MAC层数据速率、反向活动位(RAB)及功率放大器(PA)限制来确定信道条件。

由于变化的信道条件,视频编码器20可调节其编码速率,以便避免覆没信道16。错误控制通常占据额外带宽或另外降低译码效率,且因此当信道16的带宽变化时,信道带宽自适应错误控制模块60可限制由视频编码器20所应用的错误控制的类型。RL速率适应模块58监视RL条件,且信道带宽自适应错误控制模块60根据RL条件来调节视频编码器20的编码速率及由视频编码器20所应用的错误控制的类型。举例来说,当信道带宽受到限制时,信道带宽自适应错误控制模块60可指令视频编码器20经由MB内刷新而非帧内帧插入来应用错误控制,帧内帧插入通常需要比MB内刷新错误控制高的带宽。以此方式,信道带宽自适应错误控制模块60使由视频编码器20应用的错误控制能够为信道带宽自适应的。

在2006年5月31日申请的标题为“对反向链路条件的视频速率适应(VIDEO RATEADAPTATION TO REVERSE LINK CONDITIONS)”的第11/445,099号美国专利申请案(代理人案号060767)中描述可使用的速率适应技术的实例。如上文引用的专利申请案中所描述,在用于调适由视频编码器20所实施的视频数据编码速率以匹配RL信道条件的一种实例性技术中,基于视频流RLP队列28(图1)的总大小来估计视频通过量。在此情况下,将队列充满度用作RL信道条件的指示。队列充满度可能是至少部分地由降级的信道条件引起的,所述降级的信道条件降低从RLP队列28拉出包的速率。

在另一实例性技术中,视频编码器20可使用来自MAC层30及RLP层26的信息来监视RL信道条件且根据信道条件来调节其编码速率。举例来说,可基于当前MAC层数据速率、反向活动位(RAB)及功率放大器(PA)限制(其由MAC层30内的PA位指示)来确定信道条件。PA限制表示传输功率余裕空间且指示信道条件何时已降级。功率余裕空间限制以分贝(dB)来测量且限制MAC层包的最大可能有效负载大小。功率余裕空间限制值越低,最大可能有效负载大小就越小,且因此通过量就越低。余裕空间限制可基于当前传输功率而指示允许用于传输的最大速率。

图3为说明采用用于从E2E错误反馈中过滤RL错误的技术的编码器装置12的实例性操作的流程图。在用从视频源18接收的经编码的视频数据帧产生一个或一个以上包(61)后,RTP层26A便向新近经编码的视频帧的最后包指派序列编号SNEF(62),且将SNEF提供到RL错误SN提取模块52。在将经编码的视频帧转换成PHY层包之后,编码器系统12经由AN组件15及信道16将所述视频帧传输到解码器系统14(64)。

视频编码器20可确定在将新近经编码帧的包传输到解码器系统14期间是否发生RL传输错误(66)。如上文所描述,视频编码器20可采用用于识别RL错误的任何合适技术,例如查询编码器系统12的较低层(例如,RLP模块55)以检查指示是否发生错误的旗标。如果发生错误(例如,如果较低层内的旗标被设定),则视频编码器20可通过(例如)针对经编码的下一视频帧使用不同参考帧、应用MB内刷新或插入I帧以停止错误传播来对RL传输错误应用错误校正(68)。

RL错误SN提取模块52还可确定在将新近经编码的视频帧传输到解码器系统14时是否发生了传输错误。再次,RL错误SN提取模块52还可查询编码器系统12的较低层以确定是否发生了传输错误。如果发生了传输错误,则RL错误SN提取模块52将SNEF记录为SN1。如果在将最近经编码帧传输到解码器系统14时未发生传输错误,则RL错误SN提取模块52维持先前记录的与具有RL传输错误的最近帧相关联的SN1(70)。

错误过滤器50的TX错误确定模块54可从解码器系统14接收E2E错误反馈,其中E2E错误反馈包括丢失的包或含有丢失的数据的包的序列编号SN2。错误过滤器50(且明确地说,TX错误确定模块54)将SN1与SN2进行比较(72)以确定E2E错误反馈中所报告的错误是否为已经由视频编码器20校正的RL错误。如果SN1小于SN2(74),则E2E错误反馈中所报告的错误为尚未被校正的FL错误。TX错误确定模块54通知视频编码器20在E2E错误反馈中所报告的错误为FL链路错误,且视频编码器20接着可对随后编码的帧应用错误控制(76)以停止错误传播。也就是说,如果SN1大于或等于SN2,则视频编码器20可(a)针对新帧使用不同参考帧,(b)增加宏块(MB)帧内刷新速率,或(c)插入帧内帧(I帧)以在解码器系统14处停止错误传播。

如果SN2大于或等于SN1,则E2E错误反馈中所报告的错误为已经被校正的RL错误,且视频编码器20不采取任何动作来校正错误。如果SN2等于SN1,则包括E2E错误反馈中所报告的包的帧为具有视频编码器20已经校正的RL错误的最近帧,且视频编码器20不采取任何进一步动作来校正与SN2相关联的视频包。

图3的流程图中所示的过程可发生于任何合适的时间间隔内。在一个实例中,在从视频编码器20产生视频帧(61)的时间开始的约660毫秒内校正E2E错误反馈中所报告的错误(如果必要的话)。在660毫秒时间帧之后,可针对另一视频数据帧而重复所述过程。RL错误SN提取模块52内的SN缓冲器保留先前记录的SN1,直到SN1由最近RL错误的SN盖写为止。

图4为说明采用用于从E2E错误反馈中过滤RL错误的另一技术的编码器系统12的另一实例性操作的流程图。图4中所示的过程大致上与图3中所示的过程一致,但不同之处在于,错误过滤器50通过含有错误的包的序列编号SN3(而非包括错误的最近视频数据帧的最后包)来识别由视频编码器20校正的最近RL错误。在视频编码器20从自视频源18接收的数据产生视频帧(61)之后,编码器系统12经由AN组件15及信道16将视频帧传输到解码器系统14(64)。

与图3中所示的实例性流程图相反,在图4的流程图中所示的操作中,视频编码器20通过含有丢失的数据的精确包的序列编号SN3(而非包括错误的最近经编码帧的最后包的SN1)来识别RL错误(80)。在图4中所示的编码器系统12的操作中,视频编码器20可经配置以对由序列编号SN3所识别的包应用错误校正,而非对整个视频帧应用错误校正,整个视频帧可跨越多个包,如同在图3中所示的实例中。然而,作为替代,即使含有丢失的数据的精确包的序列编号SN3由RL错误SN提取模块52识别且跟踪,视频编码器20仍可对整个视频帧应用错误校正。

在一个实例中,AN组件15在发生传输错误时将NAK发送到MAC层30,其向PCP模块56通知与所述NAK相关联的MAC包。在PCP模块56确定MAC包包括视频数据之后,PCP模块56用RLP包NAK向RLP模块55通知哪一RLP队列含有在传输中经历错误的包。RLP模块55确定哪一包含有丢失的数据或哪一包丢失,其使RLP模块55能够确定包的序列编号SN3。识别丢失的包或含有错误的包的SN3的技术的实施可能比识别包括错误的视频帧的最后包的SN1的技术的实施更复杂,因为前者技术可能需要修改RTP层26A及RLP模块55。

RL错误SN提取模块52记录含有丢失的数据的精确包的SN3(82)。图4中所示的流程图的剩余部分类似于图3中所示的部分。明确地说,视频编码器20使用任何合适技术来校正RL错误(68),错误过滤器50从视频解码器42接收指示含有丢失的视频数据的包的SN2的E2E错误反馈(72),且将SN3与SN2进行比较以确定E2E错误反馈中所报告的错误是否为已由视频编码器20校正的RL错误(74)。如果SN3大于或等于SN2,则由SN2所识别的含有错误的包为RL错误,且视频编码器20不采取任何校正动作。

如果SN3小于SN2,则包括丢失的数据并具有SN2的包为FL错误的结果,所述FL错误尚未由视频编码器20校正。错误过滤器50接着可提示视频编码器20对E2E错误反馈中所报告的错误应用错误校正,以便防止错误进一步传播(76)。明确地说,错误过滤器50可提示信道带宽自适应错误控制模块60,所述模块60接着提示视频编码器。如先前所论述,RL速率适应模块58监视RL条件且信道带宽自适应错误控制模块60根据RL条件来调节视频编码器20的编码速率。因此,信道带宽自适应错误控制模块60可在提示视频编码器20应用错误控制之前基于来自RL速率适应模块58的反馈而确定RL上的信道16的可用带宽(73)。尽管未在图3中展示,但其中所示的过程还可包括在提示视频编码器20应用错误控制之前确定RL上的信道16的可用带宽。

本发明中所描述的技术可在通用微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效逻辑装置内实施。举例来说,视频编码器装置12、视频解码器装置14以及相关联的组件及模块可作为在DSP或其它处理装置上运行的编码过程或者译码/解码(CODEC)过程的部分来实施。因此,描述为模块的组件可形成例如过程或单独过程的可编程特征。

在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一个或一个以上指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输。计算机可读媒体包括计算机存储媒体与通信媒体两者,其包括有助于将计算机程序从一个位置传送到另一位置的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。以实例方式而非以限制方式,所述计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构的形式携载或存储所需程序代码并可由计算机存取的任何其它媒体。而且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术来从网站、服务器或其它远程源传输软件,则将同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包括于媒体的定义中。如本文中所使用的磁盘及光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘及蓝色射线(blu-ray)光盘,其中磁盘通常以磁性方式再生数据,而光盘以光学方式利用激光来再生数据。还应将以上各项的组合包括于计算机可读媒体的范围内。如本文中所使用,媒体包括有助于将计算机程序从一个位置传送到另一位置的任何媒体。

已描述了本发明的各种实例。这些及其它实例属于所附权利要求书的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号