具有用于局部化解码的时间上受约束的空间依存性的视频编码的制作方法

文档序号:7911264阅读:880来源:国知局
专利名称:具有用于局部化解码的时间上受约束的空间依存性的视频编码的制作方法
技术领域
本公开涉及视频编码,尤其涉及用于经编码视频的感兴趣区(ROI)处理。背景可在广泛范围的设备中提供数字视频能力,这些设备包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PAD)、膝上型计算机或台式计算机、数码相机、数字记录设备、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、及类似物。数字视频设备实现诸如在各种标准中描述的视频压缩技术,这些标准包括MPEG-2、MPEG-4、或高级视频编码(AVC)第10部分的ITU-T H. ^4/MPEG-4。视频压缩技术可执行空间预测和时间预测以降低冗余,并且更具效率地传达数字视频。感兴趣区(ROI)处理可涉及与其他区划不同地记录或编码视频帧的一个或多个所选区划。作为示例,可以用比其他非ROI区划更高的质量来优先地编码ROI。采用对ROI 的优先编码,相比于非ROI区域,用户可以更清楚地观看R0I。作为另一示例,可以在视频记录时执行缩放平摇以增强所记录视频场景内ROI的可视性或质量。在任一情形中,ROI在视频记录或编码阶段被建立并随后在解码和显示给定视频帧之际被观看。概述—般而言,本公开描述约束经编码视频块的空间依存性的时间传播以支持视频帧中的局部化解码的视频编码技术。空间依存性在一系列参考帧上的时间传播可能影响解码器在帧内执行局部化解码的能力。例如,对视频帧的ROI的局部化解码可要求驻留在该ROI 之外的经解码参考块的可用性。通过约束空间依存性的时间传播,视频编码器可减少或消除解码器访问ROI之外的经解码参考块的需要。该技术可跟踪已被编码的个体视频块的时间空间依存性值。经编码视频块可用作对帧中要编码的其他视频块进行预测编码的候选参考块。在编码当前视频块时,编码器标识一组候选参考块并且确定这些候选参考块的时间空间依存性值是否超过时间空间依存性限制。若如此,则编码器可强制当前视频块被帧内编码而不是帧间编码,由此限制空间依存性的时间范围并支持局部化的仅ROI解码。本公开还提供了用于解码视频块的技术。基于用户或应用的ROI选择,视频解码器可从先前帧访问ROI内的经解码块。在一个示例中,通过在所有视频编解码器 ("codecs")都支持的用户数据字段中嵌入块位置查找表,解码器可随机地访问块以用于解码。在一个示例中,本公开提供了一种确定视频编码器中的编码模式的方法,包括确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值。该方法还包括将时间空间依存性值与阈值作比较。该方法还包括基于该比较来选择用于当前块的编码模式。在另一示例中,本公开提供了一种视频编码设备,该视频编码设备包括存储设备,该存储设备存储用于对视频帧中的当前块进行编码的候选参考块的时间空间依存性值;以及视频编码器,该视频编码器确定候选参考视频块的时间空间依存性值、将该时间空间依存性值与阈值相比较、并基于该比较来选择用于当前块的编码模式。在一附加示例中,本公开提供了一种其上编码有指令的计算机可读介质,该指令在执行时致使视频编码器内的处理器确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值。该计算机可读介质还包括致使处理器将该时间空间依存性值与阈值相比较的指令。该计算机可读介质还包括致使处理器基于该比较来选择用于当前块的编码模式的指令。在另一个示例中,本公开提供了一种视频编码设备,该视频编码设备包括用于确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值的装置。 该编码器还包括用于将时间空间依存性值与阈值作比较的装置。该编码器还包括用于基于该比较来选择用于当前块的编码模式的装置。在一附加示例中,本公开提供了一种在视频解码器中执行的方法。该方法包括接收定义视频帧的感兴趣区(ROI)的数据,接收该ROI中的至少一个视频块的时间空间依存性值(TSD),以及至少部分地基于该TSD值来解码该ROI中的视频块。在另一示例中,本公开提供了一种视频解码器,该视频解码器包括选择视频帧的感兴趣区(ROI)的ROI选择单元,接收该ROI中的至少一个视频块的时间空间依存性值的单元,以及至少部分地基于该TSD值来解码该ROI中的视频块的单元。在一附加示例中,本公开提供了一种计算机可读介质,其包括编码在该计算机可读介质上的指令,该指令在执行时致使视频解码器内的处理器接收定义视频帧的感兴趣区 (ROI)的数据,接收该ROI中的至少一个视频块的时间空间依存性(TSD)值,以及至少部分地基于该TSD值来解码该ROI中的视频块。在另一示例中,本公开提供了一种视频解码器,该视频解码器包括用于接收定义视频帧的感兴趣区(ROI)的数据的装置,用于接收该ROI中的至少一个视频块的时间空间依存性(TSD)值的装置,以及用于至少部分地基于该TSD值来解码该ROI中的视频块的装置。在附图及以下说明中阐述一个或更多个示例的详情。其它特征、目的、以及优点将可从此说明和附图、以及所附权利要求书中显见。附图简述

图1是解说视频编码和解码系统的框图。图2是解说根据本公开的示例性视频编码器的框图。图3是解说根据本公开的示例性视频解码器的框图。图4是解说根据本公开的示例性预测单元的框图。图5是解说视频编码中空间依存性的时间传播的图示。图6是解说视频解码中空间依存性的时间要求的图示。
图7是解说视频解码中空间依存性的时间要求与帧内空间依存性相组合的图示。图8A是解说具有无约束依存性范围的视频帧的比较示图和具有约束依存性范围的视频帧的示图的图示。图8B是图8A被修改以包括周期性帧内编码的图示。图9是解说用于根据本公开时间上约束空间依存性的示例性视频编码器架构和操作的图示。图10是解说根据本公开的编码模式确定方法的流程图。图11是解说根据本公开的另一编码模式确定方法的流程图。图12是解说感兴趣区(ROI)、在ROI外部的可能需要解码的第一区域、和第一区域外部的可能也需要解码的第二区域的概念图。图13是解说根据本公开的解码方法的流程图。图14是解说一种为解码所选ROI区域确定附加ROT余量的方法的流程图,该方法将支持平摇、缩放、和翻转。详细描述对视频编码的感兴趣区(ROI)定义通常在视频记录时发生,诸如在视频录像机中。例如,用户可在视频场景内缩放或平摇以记录场景中ROI的视频。所记录的视频随后被编码以便存储和/或传送以用于解码和回放。视频回放通常忠实地再现所记录的视频, 从而在不同的观众和同一视频的不同观看当中提供一致的观看体验。换言之,观看体验被假定对于每个观众是基本相同的。—致观看对于许多应用可能是可以接受的,诸如在设备的显示能力紧密匹配视频传输或存储的带宽、以及视频帧的分辨率或大小时。然而,在一些情形中,可能希望准许观众在解码器侧定义ROI以用于视频回放。例如,观众可能希望在解码器侧局部地定义ROI以获得经编码视频所捕捉的场景的唯一或不同视图,例如通过在该视频场景内缩放或平摇。局部化解码以支持解码器侧ROI定义可能对于任何设备一般都是所希望的,但是对于具有有限的带宽、处理或显示能力(诸如大小和分辨率)的设备是特别所希望的。示例包括具有较小的显示屏、有限的处理资源和/或有限的带宽连接(诸如无线连接)的移动手持式设备。在精简的显示能力下,移动设备的用户可能不大有兴趣观看整个捕捉到的场景,而可能更有兴趣观看所捕捉场景的放大部分。对于诸如观看文本或静止图像等静态内容而言,ROI缩放和平摇可能是容易实现的。例如,触摸屏设备可允许用户使用手指移动在ROI上进行放大。也可使用其他定点设备来实现类似结果。在静态内容下,ROI缩放和平摇可以通过简单地选择并操控该静止图像的一部分被呈现在显示器上来实现。在此情形中,设备存储器典型地存储整个图像帧,从而使ROI缩放和平摇简单易行。对于诸如视频之类的动态内容,对经预测编码帧的视频块进行解码要求访问先前被解码的帧中的参考块。典型的视频编码器假定每个帧的解码将是对整个帧执行的,从而所有可能的参考块(例如,宏块)将可用于解码之后的帧。结果,编码器和解码器没有被配置成支持仅解码帧的一部分的仅ROI解码技术。如果仅解码帧的ROI部分,那么解码将来的帧所必需的参考块可能不可用,因为它们并未被解码。由于对先前帧中位于ROI之外并因而未被解码的参考块的时间空间依存
7性,可能无法解码将来帧中的一些块。或者,为了支持对更后帧中ROI块的解码,可能需要解码先前帧中的非ROI块,即使这些非ROI块不被显示,这会是低效且不合需要的。一般而言,本公开描述约束经编码视频块的空间依存性的时间传播以支持视频帧中的局部化解码的视频编码技术。该技术可跟踪已被解码的个体视频块的时间空间依存性值。用于预测编码的一系列参考帧上空间依存性的时间传播可破坏解码器在帧中执行局部化解码(例如用于仅ROI解码)的能力。如贯穿本公开是使用的,候选块的时间空间依存性是指先前视频帧中候选视频块所依存的视频块的数目。在编码当前视频块时,视频编码器可标识一组候选参考块并且确定这些候选参考块的时间空间值是否超过时间空间依存性限制。若如此,则视频编码器可强制当前视频块被帧内编码而不是帧间编码,由此限制空间依存性的时间范围。时间空间依存性限制作为实现参数可以是固定的或可变的,以平衡视频质量和编码效率。视频编码器确保解码该块将不需要位于超出解码器侧所定义的ROI之外预定范围的参考块。以此方式,视频编码器可保持个体块的空间依存性恰当地局部化以便使连续解码恰当地局部化。图1是解说视频编码和解码系统10的框图。如图1中所示,系统10可包括源设备12,该源设备12经由通信信道16向目的设备14传送经编码视频。源设备12可包括视频源18、视频编码器20、调制器/解调器(调制解调器)22、和发射机M。在一些示例中, 源设备12可被认为是视频编码设备。在一些方面,发射机M可以是无线发射机。目的设备14可包括接收机沈、调制解调器观、视频解码器30、和视频显示设备32。在一些示例中, 目的设备可被认为是视频解码设备。在一些方面,接收机沈可以是无线接收机,诸如无线通信设备手持机中的无线接收机。根据本公开,源设备12的视频编码器20可被配置成按视频帧的顺序来逐帧地跟踪将要编码的视频帧的每个块的空间依存性。视频编码器20可在必要时强制对块进行帧内编码以保持空间依存性的时间传播被约束到局部区划,并且由此在视频解码器30被配置成支持局部化、仅ROI解码的情况下支持该块的可解码性。所解说的系统10仅是示例性的。在一些方面,本公开的这些技术可以由支持帧间编码和帧内编码技术的任何编码设备来执行。源设备12仅是此类编码设备的一个示例。在其他方面,本公开中所描述的技术可以由解码设备来执行。例如,解码设备可被配置成支持视频帧的局部化解码例如以用于仅ROI解码。根据本公开并且如在下文更详细地描述的,视频编码器20可存储被编码的视频帧的每个块的时间空间依存性。作为示例,视频编码器20可保持指示帧中的每个块用于帧间编码所依赖的帧的数目的信息。时间空间依存性信息可以数据库、查找表、链表、散列表、 树、二叉树、或任何其他类型的数据结构的形式被存储在诸如存储器之类的存储设备中。在先前帧中的块可用作要编码的当前块的帧间编码的参考或“预测”块的意义上,该当前块可依存于该先前帧中的该块。在当前块的空间范围内的数个块可以是用作预测块的候选的意义上,此依存性可以是空间的。在一些情形中,当使用多个参考帧时,例如在H. 264编码的情形中,当前块可能依存于多个可能参考帧之一中的块。帧是以时间顺序呈现的。对于帧间编码,当前帧(例如帧N)中要被编码的当前块可以在空间上依存于一个或多个先前帧(例如,帧Ν-1、Ν-2、Ν-3、Ν-4等)中的第一参考块。 而该第一参考块又可以在空间上依存于不同帧中的第二参考块,另一帧中的该第二参考块又可以在空间上依存于再一帧中的第三参考块,等等。空间依存性的时间传播是当前帧与用于对编码该当前块所需要的任何参考块进行帧间编码的最早帧之间的时间范围的函数。 作为示例,如果帧N中的经编码块依存于帧N-I中的参考块进行帧间编码,帧N-I中的该参考块依存于帧N-2中的另一参考块进行帧间编码,但是帧N-2中的该参考块是帧内编码的, 则帧N中的该块的时间空间依存性值为2。因此,先前视频帧中候选参考视频块所依存的块的数目定义时间空间依存性值。 在判断是使用帧间编码模式还是帧内编码模式来编码块时,视频编码器20可查询数据库并将一组候选参考块中每个候选参考块的时间空间依存性值与阈值作比较。候选参考块可以是先前经编码帧中在空间上驻留在要编码的块的运动估计搜索范围内的块。如果所有候选参考块的时间空间依存性值都超过该阈值,则视频编码器20选择帧内编码作为当前块的编码模式,由此限制当前块的空间依存性的时间传播。如果至少一个块的时间空间依存性值不超过该阈值,则视频编码器20不强制帧内编码,并且基于诸如帧内刷新(IR)率、 运动补偿所指示的编码失真、和/或可用编码比特率之类的其他因素来对该块作出模式决策。一般而言,源设备12生成用于传送给目的设备14的经编码视频数据。然而,在一些情形中,设备12、14可以按基本上对称的方式工作。例如,设备12、14中的每个设备可包括视频编码和解码组件。因此,系统10可以支持视频设备12、14之间例如对视频流送、视频回放、视频广播、或视频电话的单向或双向视频传送。在其他情形中,视频设备14可被配置成简单地接收视频广播或视频流送,或者要么支持视频回放。源设备12的视频源18可包括视频捕捉设备(诸如摄像机)、包含先前捕捉到的视频的视频存档、或者来自视频内容供应商的视频馈送。作为另一个替换方案,视频源18可以生成基于计算机图形的数据作为源视频,或者现场视频、存档视频与计算机生成的视频的组合。在一些情形中,如果视频源18包括摄像机,那么源设备12和目的设备14可以构成所谓的相机电话或视频电话。在每一情形中,所捕捉的、预先捕捉的、或者计算机生成的视频可被视频编码器20编码。在其他情形中,源设备12可以是视频流送或视频广播设备。 经编码视频可由调制解调器22根据诸如码分多址(CDMA)之类的通信标准或另一通信标准或技术进行调制,并经由发射机M传送给目的设备14。目的设备14的接收机经由信道16接收信息,并且调制解调器观解调收到的信息。像编码过程一样,视频解码器30执行的解码过程使用本公开的技术以支持改善的数据压缩水平。解码器30可支持对接收自源设备12的视频数据的局部化、仅ROI解码。该局部化、仅ROI解码可通过编码器20对空间依存性的时间传播所施加的约束来支持。目的设备14可接受定义期望ROI的用户输入,并随后指示视频解码器30执行对与该ROI对应的块的局部化解码。解码器30可避免解码在该ROI之外的块,并且可丢弃对应这些块的数据。显示设备32向用户显示经解码视频数据并可包括各种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或其他类型的显示设备。在图1的示例中,通信信道16可包括任何无线或有线通信介质,诸如射频(RF)频谱或者一条或更多条物理传输线,或者无线和有线介质的任何组合。通信信道16可以构成基于分组的网络的一部分,诸如局域网、广域网或者诸如因特网之类的全球网络。通信信道
916 —般表示用于从源设备12向目的设备14传送视频数据的任何适宜的通信介质或者不同通信介质的集合。视频编码器20和视频解码器30可根据各种视频压缩标准来操作,这些标准包括 ITU-T H. 264标准(替换地称之为MPEG-4,第10部分,高级视频编码(AVC))、以及由运动图像专家组(MPEG)所定义的MPEG-l、MPGE-2和MPEG-4中的那些标准、ITU-T H. 263标准、运动图像和电视工程师协会(SMPTE) 421M视频CODEC标准(常称之为“VC-1,,)、由音频视频编码标准中国工作组(常称之为“AVS”)定义的标准、以及由标准团体定义或由组织开发的作为专有标准的任何其他视频编码标准。尽管未在图1中示出,但是在一些方面,视频编码器20和视频解码器30可以分别整合有音频编码器和解码器,并且可包括恰适的MUX-DEMUX (复用-分用)单元或其他硬件和软件以处置共同数据流或分开数据流中的音频和视频两者的编码。若适用,则MUX-DEMUX 单元可遵循ITU H. 223复用器协议、或者诸如用户数据报协议(UDP)之类的其他协议。ITU H. ^4/MPEG-4第10部分AVC标准是由ITU-T视频编码专家组(VCEG)与ISO/ IEC运动图像专家组(MPEG) —起制定的作为被称为联合视频小组(JVT)的集体伙伴的产物。在一些方面,本公开中所描述的技术可被应用于一般遵循H. 264标准的设备。在由 ITU-T研究组于2005年3月作出的ITU-T推荐H.沈4“用于一般视听服务的高级视频编码” 中描述H. 264标准,其在本文中可被称为H. 264标准或H. 264规范、或者H. 264/AVC标准或规范。联合视频小组(JVT)继续从事HJ64/AVC的扩展。视频编码器20和视频解码器30各自可被实现为一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、 固件或其任何组合。视频编码器20和视频解码器30中的每一者可被纳入一个或多个编码器或解码器,该一个或多个编码器或解码器中的任何一者可被整合为各个数字视频设备 (诸如移动设备、订户设备、广播设备、服务器或类似物)中的组合编码器/解码器(CODEC) 的一部分。视频序列包括一系列视频帧。在一些情形中,视频序列可被安排成图像群(GOP)。 视频编码器20对个体视频帧内的视频块操作以编码视频数据。这些视频块可以具有固定的或变化的大小,并且可以根据指定的编码标准而大小不同。每个视频帧可包括一系列片断。每个片断可包括一系列宏块,这些宏块可被安排成甚至更小的块。宏块典型地是指16x16的数据块。ITU-T !1.264标准支持各种块大小(诸如针对亮度分量的16116、8访或4x4和针对色度分量的8x8)的帧内预测,以及支持各种块大小(诸如针对亮度分量的 16xl6、16x8、8xl6、8x8、8x4、4x8和虹4以及针对色度分量的相应经缩放大小)的帧间预测。在本公开中,术语视频块可指视频帧中的像素块,并且可以是宏块、或者是更小或更大的块。图2是解说视频编码器20的示例的框图,视频编码器20包括执行本公开的技术以基于将被用于对当前视频块进行编码的候选参考块的时间空间依存性(TSD)值来选择编码模式(即,帧内还是帧间)的预测单元42。对于每个要编码的视频块,视频编码器20 确定候选视频块的TSD。即,对于视频帧的每个块,编码器维持一个或多个先前视频帧中候选参考视频块所依存的一个或多个视频块的时间空间依存性值。编码器可将此依存性维持在例如TSD存储设备中。
10
如图2中所示,视频编码器20接收视频帧内要被编码的当前视频块40。在图2的示例中,视频编码器20包括预测单元42、参考帧存储44、时间空间依存性(TSD)存储设备 45、块变换单元46、量化单元48、逆量化单元50、逆变换单元52、以及熵编码单元M。还可以包括用于对块边界进行滤波以移除区块伪像的解块滤波器(未示出)。视频编码器20还包括加法器56和加法器58。对于帧间编码,预测单元42将要编码的当前视频块40与一个或多个视频参考帧中的各种候选参考块相比较。对于帧内编码,预测单元42从同一经编码帧的已经编码的邻近视频块来预测要编码的视频块。所预测数据可从参考帧存储44中取出,参考帧存储44 可包括任何类型的存储器或数据存储设备以存储从先前经编码的块重构出的视频块。预测单元42可生成预测模式和运动向量,运动向量包括可被用于标识用来编码当前视频块的预测块的语法元素。对于帧内编码,预测单元42可包括空间预测单元。对于帧间编码,预测单元42可包括如下文关于图4更加详细地示出和描述的运动估计和运动补偿单元。预测单元42进一步包括模式选择单元(未在图2中示出)。预测单元42的模式选择单元选择在帧级别或块级别上进行帧间编码或帧内编码。下文参照图4更详细地描述并且与本公开的技术相一致的,模式选择单元可在用于编码当前块的所有候选参考块的时间空间依存性值都超过阈值的情况下选择帧内编码来编码当前块,并且可在这些块的时间空间依存性值不超过该阈值的情况下根据如下所述的其他因素选择帧间编码对块进行编码。或者,不将所有候选参考块的TSD值与阈值作比较,而是可以将每个候选参考块的TSD 值与将由于该当前块的帧间编码而产生的一个附加依存性相加并随后可将该总和与该阈值作比较。然而,在一些情形中,即使在时间空间依存性的基础将选择帧间编码,但是模式选择单元可能基于诸如顶率、失真或可用比特率等其他考虑而选择帧内编码。视频编码器20通过从正在编码的原始(当前)视频块扣除由预测单元42产生的预测块来形成残差视频块。该预测块是事实上被选择用于当前块的帧间编码的候选参考块。在假定满足时间空间依存性限制的情况下,该预测块可被选择为与要编码的块匹配最紧密的候选参考块。加法器58表示执行此扣除操作的单元或模块。块变换单元46向该残差块应用诸如离散余弦变换(DCT)或概念上相类似的变换之类的变换,以产生包括残差变换块系数的视频块。例如,块变换单元46可执行H. 264标准所定义的在概念上与DCT相类似的其他变换。量化单元48量化这些残差变换系数以进一步降低比特率。量化单元48例如可限制用于编码每个系数的比特数目。在量化之后,扫描单元(未示出)将经量化的系数块从二维表示扫描成一维向量。随后,在此扫描过程之后,熵编码单元M根据诸如CAVLC或CABAC 之类的熵编码方法来编码经量化的变换系数以进一步压缩数据。在由熵编码单元M进行熵编码之后,经编码视频可被传送至另一设备或被存档以用于之后传送或检索。逆量化单元50和逆变换单元52分别应用逆量化和逆变换以在像素域中重构残差块。加法器56将重构出的残差块添加至由预测单元42产生的预测块以产生重构出的视频块供存储在参考帧存储44中。若希望的话,重构出的视频块还可以经过解块滤波器单元(未示出),然后再存储在参考帧存储44中。重构出的视频块可被预测单元 42用作参考块以对后续视频帧中的块进行帧间编码或对同一经编码单元内的未来邻近块进行帧内编码。
图3是解说视频解码器30的示例的框图,视频解码器30解码以本文描述的方式编码的视频序列。视频解码器30包括熵解码单元60,其执行由图2的熵编码单元M所执行的编码的反解码功能。视频解码器30还包括ROI选择单元63。ROI选择单元63基于用户输入或应用命令来定义ROI并集中解码特定区划。未被定义在ROI内的帧部分不被解码。 若要执行缩放功能,为了填充设备的显示,可使用通过内插的分辨率向上缩放。此类向上缩放可以在解码之后在像素域内实现。视频解码器30可以对视频帧内的诸块执行帧内解码和帧间解码。在图3的示例中,视频解码器30还包括预测单元62、逆量化单元64、逆变换单元66和参考帧存储68。视频解码器30还包括加法器70。可任选地,视频解码器30还可包括对加法器70的输出进行滤波的解块滤波器72。对于帧内编码,预测单元62可包括空间预测单元,而对于帧间编码,预测单元62 可包括运动补偿单元。逆量化单元64执行逆量化,而逆变换单元66执行逆变换以将视频块的系数改回到像素域。加法器70将来自单元62的预测块与来自逆变换单元66的重构出的残差块相组合以生成重构出的块,该块被存储在参考帧存储68中。若希望的话,重构出的视频块还可以经过解块滤波器单元72,然后再存储在参考帧存储68中。经解码视频从参考帧存储68被输出,并且还可被反馈到预测单元62以用于后续预测。使用本公开中描述的技术,进入视频解码器30的经编码视频被构造成空间依存性的时间传播可受到约束。因此,视频解码器30可以使用先前解码的ROI块以连续解码模式操作而不需要退出编码环并解码没有其他用途只是为了解码具有大时间空间依存性的块的非ROI块。尽管视频解码器可以退出编码环并解码存储在参考帧存储内的某些非ROI 块,但是这没有连续解码模式那样高效。图4是解说预测单元42的示例的框图。如图4中所示,预测单元42包括帧间编码器(INTER)80、帧内编码器(INTRA)82、和模式选择单元84。从帧间编码器80或帧内编码器82获得帧间或帧内预测帧(“预测帧”)。帧间编码器80例如根据MPEG-4或H. 264 压缩方法执行对传入帧而的帧间编码。如图4中所示,帧间编码器80包括运动估计(ME) 单元86和运动补偿(MC)单元88以支持传入帧1 相对于先前经编码帧F' n_l、或先前经编码帧F' n-2, F' n-3....F' η-χ的标准帧间编码。尤其,通过源于一个或多个先前帧 F' η-χ的经运动补偿的预测形成帧间预测。先前帧F' n-2,F' n-3...F' η-χ可先前被编码并被重构以产生F' η-1。帧内编码器82执行对传入视频帧1 的帧内编码以产生帧内预测。帧内预测是从当前帧而当中先前已经被编码、被解码并被重构以形成重构出的帧F' η的样本形成的。在视频编码器20正操作在帧内模式中时,得到的帧内预测被应用到图2中所示的加法器58。 帧内编码器82可执行帧内编码以生成I帧、或者P帧内经帧内编码选择的视频块以支持帧内刷新(IR)。模式选择单元84例如在逐帧或逐块的基础上选择性地在帧间编码和帧内编码间切换。尤其,模式选择单元84在帧级别或块级别上选择帧间编码器80或帧内编码器82的输出。以此方式,模式选择单元84确定应用至图2的加法器58的预测块将是帧间编码的还是帧内编码的。模式选择单元84可使用一个或多个因素来判断对块使用帧内编码还是帧间编码。例如,模式选择单元84可基于编码的可用比特率、信道损耗概率、失真(D)和帧内刷新 (IR)率来作出模式决策。另外,根据本公开,模式选择单元84可使用时间空间依存性(TSD)值。相比于帧间编码模式,帧内编码模式需要编码明显更多的信息、以及因而要编码更多的比特。帧内编码帧的传输由此导致较大的比特率尖峰。不对整个帧进行帧内编码而是代之以将整个帧的帧内编码分布在若干帧上可能是可期望的。即,通过仅对当前帧的一些块进行帧内编码并随后对后续帧中的其余块进行帧内编码,可以降低峰均比特率。这样, 模式选择单元84可在进行编码决策时将所期望的比特率和可用带宽考虑在内。除了编码比特率之外,在一些示例中,模式选择单元84还可使用信道损耗的概率来作出编码决策。所估计的信道损耗概率对当前帧在经过信道16传送时将被丢弃的可能性进行量化。随着信道损耗可能性的增大,可能更希望对帧或块进行帧内编码。此外,模式选择单元84还可使用帧内刷新(IR)率来作出编码决策。为了限制信道感生的差错从一个帧传播到另一帧,视频编码器典型地应用顶技术。根据顶技术,预测帧内的块被选择性地帧内编码而不是帧间编码。经帧内编码的块可以改善差错弹性,但是要求增加必须传送的比特的数目。因此,顶率在差错弹性和带宽效率两方面影响编码性能。顶率一般确定将被帧内刷新的块的数目,并且可在帧级别或块级别上应用。顶率可基于视频内容、或视频内容与信道条件的组合来确定。例如,顶率可基于衡量所估计的信道损耗概率、当前帧与另一帧之间的帧-帧变化、以及当前帧的纹理信息的组合度量来确定。一般而言,若顶率指示应对块进行帧内编码,则模式选择单元84可选择帧内编码模式而无需评价其他因素。如上所提及的,模式选择单元84可基于失真演算来作出编码模式决策。失真是指原始块与预测块之间的误差。若对块进行帧间编码导致超过失真阈值的失真程度,则模式选择单元84可决定使用帧内编码来对该块进行编码。失真阈值是所期望的图像质量的函数。根据本公开,可被模式选择单元84用来进行编码决策的另一因素是可用于对当前视频块进行帧间编码的候选参考块的时间空间依存性(TSD)值。候选视频块的时间空间依存性值可被模式选择单元84用来判断使用帧间编码技术还是帧内编码技术来对块进行编码。可在例如模式选择单元84可访问的数据库中跟踪视频块的空间依存性的时间传播 (下文参照图5-7详细解释)。模式选择单元将每个候选视频块的时间空间依存性值与依存性阈值85相比较,并根据该比较结果可判断对当前块使用帧内编码。依存性阈值85可被存储在与模式选择单元84处在通信中的时间空间依存性阈值存储器中。应注意,即使模式选择单元84基于依存性阈值判断不对当前块使用帧内编码,模式选择单元84也可能基于诸如顶率、编码比特率、失真、和信道损耗概率等其他因素而选择对当前块使用帧内编码。图5是解说视频编码中空间依存性的时间传播的图示。图5解说具有个块的大小并被编码为单个片断的示例视频帧。当前视频帧的任何块都可被用作对下一帧中的相同位置上(即,同处一处)或直接毗邻的位置上的块进行预测编码的参考块。例如,帧N 描绘了单个经编码块、或即中心块100。帧N中的经编码的中心块100可被用于预测在102 处示出的帧N+1中3x3 = 9个直接毗邻和同处一处的块中的任何块。随后,帧N+1中的这 9个块可被用于预测在104示出的帧N+2中的另一组直接毗邻的块和同处一处的块,从而
13得到已基于帧N中的块100被编码的切5 = 25个块的群。类似地,在104所示的帧N+2中的这25个块可被用于预测在106所示的帧N+3中的另一组直接毗邻和同处一处的块,从而得到7x7 = 49个块的群。然后,在106所示的帧N+3中的这49个块可被用于预测在108 示出的帧N+4中的另一组直接毗邻的块,从而得到已基于帧N中的块100被编码的虹9 = 81个块的群。图5因此示出了在视频编码时空间(即,同一帧中的毗邻块)依存性的时间 (即,在多个帧上的)传播。图5中所解说的在视频编码过程中视频块的空间依存性的时间或帧间传播对视频解码器施加了要求。具体而言,视频解码器被要求有以往的帧可用以便解码当前帧。这在图6中示出。图6是解说视频解码中空间依存性的时间要求的图示。图6实质上是图5 的逆过程。如图6中所示,解码帧N的中心块100可能要求先前帧N-I中所示的3x3 = 9 个块中的任意块可为解码器所用。为了可为解码器所用,先前帧N-I中的这9个块可能要求帧N-2中的切5 = 25个块中的任意块也可为解码器所用。并且,帧N-3中的这25个块可能要求帧N-3中的7x7 = 49个块中的任意块也可为解码器所用。最后,帧N-3中的这49 个块可能要求帧N-4中的9x9 = 81个块中的任意块也可为解码器所用。因此,根据考虑毗邻块的运动估计搜索范围,帧N-3中的块形成帧N-2中的块的可能候选参考块,帧N-2中的块形成帧N-I中的块的可能候选参考块,以及帧N-I中的块形成帧N中的块的可能候选参考块。视频块的空间依存性的帧间传播的问题还可能因为这些块的任何帧内空间依存性而进一步复杂化,如图7中所示。图7是解说在视频解码中图6中所示的空间依存性的时间要求与帧内空间依存性相组合的图示。图7示出与帧N中的中心块100直接毗邻的8 个块中的任何块也可被用于预测解码。中心块100因此可使用同一帧中直接毗邻的块(帧内空间依存性)或使用先前帧中直接毗邻或同处一处的块(帧间空间依存性)来解码。然而实际上由于块编码的顺序的原因,不可能所有8个块都将被用于解码。图5-7解说从经编码视频来解码连贯的帧上的一些块无法通过在逐帧的基础上单单解码这些块而简单地发生。即,不可能连续地解码使用现有编码方法的当前帧的仅一部分。而是,为了解码当前帧的仅一部分,解码器一般将需要有在时间上一些帧之前的整个帧可用。本公开的一个示例技术可通过为视频编码器提供跟踪每个经编码视频块的依存性并约束该依存性的能力来降低空间依存性的时间传播的效应。图8A是解说如常规编码技术中的具有无约束依存性范围的视频帧的比较示图和如本公开的一个示例中的具有约束依存性范围的视频帧的示图的图示。图8A使用连贯帧上的三种空间依存性范围传播速率(分别为线性、迅猛、以及适度)的三种不同情形(左、中、和右)来解说在时间上受约束的空间依存性的概念。下端和上端的示图集皆示出以宏块(MB)数目计的依存性范围关于帧号如何变化。在每一幅示图中,帧号1始于帧内编码的MB。这样,所有依存性被复位以使得帧1中的所有块不依存于任何先前帧。上端的示图集示出在无约束的依存性范围的情况下,时间空间依存性的扩展最终分别由帧号6、4和12到达帧边缘。下端示图集描绘无论何时只要需要保持空间依存性被约束在预定范围内那么就使用帧内编码。在下端示图集的左边情形中,到帧号4就已达到约束依存性范围。因此,执行帧内编码由此复位依存性范围,如帧5中所见的。在下端示图集的中间情形中,在帧1、3、5、7、8和11执行帧内编码。由于在此示例中强制如此频繁地执行帧内编码,依存性甚至没有被允许传播到约束依存性范围,如以MB数目计的依存性范围最终从未达到约束依存性范围所示的。应该清楚,较严厉的依存性约束导致较多的帧内编码,由此降低了视频编码的效率。应注意,由于ROI的大小可能是未知的,所以有必要选择基于各种因素的固定或可变的预定范围、或TSD值,例如,这些因素诸如有目的设备上的显示器设备的大小、编码器的期望效率、以及可允许的图像质量降级的量。图8B与图8A的示图类似,描绘了连贯帧上的三种空间依存性范围传播速率(分别为线性、迅猛、以及适度)的三种不同情形(左、中、和右)。上端和下端的示图集皆示出以宏块(MB)数目计的依存性范围关于帧号如何变化。在每一幅示图中,帧号1始于帧内编码的MB。这样,如图8A中那样,所有依存性被复位。然而,在图8B中,上端的示图已被修改以包括传统视频编码器典型要求的周期性帧内编码。例如,图8B中的上端示图集中的左边示图示出在帧6和11执行帧内编码,由此防止时间空间依存性扩展到帧边缘,但是仍导致了相比于如下端示图集中的左边示图所示的使用本公开所描述技术而具有更高的、以MB 数目计的依存性范围的帧。上端示图集中的中间示图示出在迅猛速率的情况下,时间空间依存性的扩展最终在执行帧内编码之前在帧4和5达到帧边缘并且随后在再次执行帧内编码之前在帧9和10再次达到帧边缘。相比于对块进行周期性帧内编码的视频编码,取决于视频内容,用于约束空间依存性的附加帧内编码的成本不会过多。图9是概念性地解说用于根据本公开在时间上约束空间依存性的示例性视频编码器架构和操作的图示。图9解说视频编码器20在时间上约束空间依存性的示例功能性。 对于所有要被编码的MB,视频编码器20的MB编码环对用于预测的候选MB执行依存性检查。换言之,对于每个要编码的视频块,视频编码器20确定候选视频块的时间空间依存性。 编码器维持一个或多个先前视频帧中候选视频块所依存的一个或多个视频块的时间空间依存性值。MB编码环通过访问MB时间空间依存性(TSD)数据库来执行依存性检查。如上所提及的,时间空间依存性可以数据库、查找表、链表、散列表、树、二叉树、或任何其他类型的数据结构的形式被安排在诸如存储器之类的存储设备中。数据库查找候选MB并检查其各自的依存性。先前视频帧中帧N中的候选视频块所依存的视频块的数目定义时间空间依存性值。尽管当前视频块仅依存于一个候选块,但该候选块依存于另一个块,而该另一个块可能依存于其他块,以此类推。数据库返回不超过依存性范围约束的合格MB。然后,MB编码环判断是否执行帧间编码或帧内编码、依存性搜索等等。最后,MB编码环更新MB TSD数据库。即,用所有被编码的MB的新TSD值更新TSD数据库,从而在该MB之后被考虑作为另一 MB的候选参考MB的情况下允许编码器检索该MB的TSD值。应注意,尽管图9参照宏块 (MB),但是本文描述并参照图9的技术可被用于一般视频块而不限于结合宏块使用。仅出于解释目的而非限制,图9图形地描绘了被考虑作为帧N中的块的候选参考块的帧N-I中的块200在数据库45中被记录为依存于在210所示的两个块。例如,这两个块210中的第一个可以来自N-2帧,并且这两个块210中的第二个可以来自N-3帧。类似地,N-I帧的块202可以仅依存于在212所示的一个块,其可能来自N-2帧。并且,块204可能如图9中所示的由于在214没有与其相关联的块而没有任何依存性。作为又一示例,块 206可依存于在216所示的3个块。例如,这三个块可以来自先前经解码的帧N-2、N-3、和 N-4。以此方式,可被用于对当前帧进行帧间编码的每个候选参考块的依存性被编码器20
15保持在数据库45中或者通过某个数据结构、阵列、记录集合等来保持。并且,基于先前视频帧中候选视频块所依存的视频块的数目,可以演算出时间空间依存性值。仍参照图9,视频编码器20将候选块的时间空间依存性值与时间空间依存性阈值相比较。具体地,视频编码器30可针对当前块而访问数据库45、检索一个或多个候选块的依存性、并将候选块的依存性与时间空间依存性阈值相比较。例如,时间空间依存性阈值可已被预定为2。所以,若候选块依存于两个以上先前帧中的块,则该候选块的时间空间依存性过高,因为已经超过了阈值2。基于此比较,编码器20选择对当前视频块进行帧内编码。 然而若未选择帧内编码,则编码器20使用“正常”编码模式决策。即,编码器基于顶率、失真、编码比特率、以及信道损耗概率来判断是否对当前块进行帧内编码。若合格的MB超过了依存性范围或阈值,则编码器考虑帧内编码。若合格的MB不超过依存性范围或阈值,则时间空间依存性足够低到服从于其他因素而对块使用帧间编码技术。下文直接描述了比较和选择的示例。图9的时间空间依存性数据库指示块200依存于两个先前帧中的块,块202依存于一个先前帧中的块,块204没有依存性,而块206依存于三个先前帧中的块。若时间空间依存性阈值为2,则候选块200、202、和204具有低于阈值的依存性并因此可被用于编码当前块。然而,块206具有超过阈值的依存性并因此将不被用于编码当前块。由于一些候选块即块200、202、和204不超过阈值,则编码器将不会强制对当前块进行帧内编码。相反,服从于其他因素,当前块可以被帧间编码。一旦执行了对帧N中的当前块的编码,数据库45中的时间空间依存性值被更新以使得可使用前述技术来对帧N+1进行编码。例如,若使用了帧间编码,则在TSD数据库45 中更新刚刚被编码的块的TSD值。在一些情形中,可能需要在TSD数据库45中为刚刚编码的块创建条目——若先前没有这样的记录存在。然而若强制对该块帧内编码,则刚刚被编码的该块的依存性可被复位到0值,或者根据需要可被复位到某个其他值,以便反映它不再依存于先前帧中的块。应注意,在数据库中块的默认时间空间依存性值为零。因此,当编码器最初开始产生时间空间依存性历史时,所有的块都以0值开始。自该初始化状态起,数据库累积数据并产生帧中每个块的历史。时间空间依存性阈值可基于若干因素,例如包括目的设备上的显示器设备的大小、编码器的期望效率、以及可允许的图像质量降级的量。另外在一些示例中,阈值可以是预定的固定值。例如,可以预定没有视频块将具有大于3的时间空间依存性。或者在至少一个示例中,阈值可以是可变的、或可调的,而不是固定值。例如,通过选取可调阈值,编码器可针对ROI的高纹理区域(诸如脸部)将阈值调整到较低,并且可针对ROI的低纹理区域(像背景中的墙)将阈值调整到较高。以此方式, 一般对观众而言更有兴趣的高纹理区域可具有比低纹理区域更高的视频质量。一般而言, 空间依存性范围越大,视频编码的效率将越高。但是,对源自较大空间依存性的较宽空间区域的解码可能导致较慢的平摇支持。因此,取决于不同视频应用的要求而允许阈值可变而非固定,可允许在视频质量和编码效率之间进行优化。在上例中,视频质量和编码效率间的平衡通过以较高视频质量编码较高纹理区域以及以较低视频质量编码低纹理区域来达成。如上所提及的,图4的模式选择单元84使用顶率来确定使用帧间编码还是帧内编码来对块进行编码。顶率一般确定将被帧内刷新的块的数目,并且可在帧级别或块级别上应用。顶率可基于视频内容、或视频内容与信道条件的组合来确定。本公开的至少一个示例技术将上述技术与顶率相组合以提高效率。例如,在试图编码帧N中的当前块“A”时, 视频编码器可基于先前帧N-I中候选块“B”的过大的时间空间依存性而判定块“A”应被帧内编码。现在,在下一帧N+1中,可设置顶率以使得块“A”将再次被帧内编码。清楚的是, 在一些实例中,如果块“A”在先前帧中被帧内编码,则对帧N+1中的块“A”进行帧内刷新可能是效率较低的。因此,可能希望基于是否先前已由于时间空间依存性约束而对块进行了帧内编码来调整顶率。在一些示例中,顶率控制单元也可与时间空间依存性数据库处于通信中以使得可基于依存性来调整顶率控制。在至少一个示例中,模式选择单元84可向顶率控制机构提供反馈以使得若由于依存性约束原因而对块进行了帧内编码则可相应地调整IR率。图10是解说根据本公开的编码模式确定方法的流程图。在图10的示例中,视频编码器确定视频帧中一个或多个候选视频块的时间空间依存性040)。时间空间依存性定义先前视频帧中候选视频块所依存的视频块的数目。并且,先前视频帧中候选视频块所依存的视频块的数目定义时间空间依存性值。例如,帧N-I的候选块可依存于帧N-2中的视频块,并且该视频块可依存于帧N-3中的视频块,该视频块可依存于帧N-4中的视频块。因此,候选块具有为3的时间空间依存性值。随后,视频编码器20将时间空间依存性值与时间空间依存性阈值相比较(M2)。例如,若时间空间依存性阈值是固定值2,则上例中候选块的时间空间依存性将超过阈值。然后,视频编码器基于该比较选择用于当前视频块的编码模式044)。若时间空间依存性值超过阈值,则视频编码器强制该当前块被帧内编码。若时间空间依存性不超过该阈值,则视频编码器不强制帧内编码,并且基于诸如帧内刷新(IR) 率、运动补偿所指示的编码失真、和/或可用编码比特率之类的其他因素来对该块作出模式决策。图11是解说根据本公开的另一编码模式确定方法的流程图。在图11中的示例中, 设置块的时间空间依存性阈值050)。视频编码器随后选择当前帧中用于编码的块052)。 视频编码器访问时间空间依存性存储设备45Q54)并在存储设备45中查询一个或多个候选块的依存性056)。时间空间依存性值被返回给视频编码器058)。视频编码器将返回的时间空间依存性与时间空间依存性阈值相比较(沈0)。若时间空间依存性超过该阈值则编码器强制对该当前块进行帧内编码(26 。然后,存储设备45中的块依存性被复位,并且在一些示例中,修改顶率064),并且视频编码器准备选择新的用于编码的块052)。若时间空间依存性不超过该阈值,则视频编码器不强制帧内编码,而是基于诸如帧内刷新(IR) 率、运动补偿所指示的编码失真、和/或可用编码比特率之类的其他因素来对该块作出模式决策066)。然后,数据库中的依存性被更新以反映基于先前帧中的块对该块进行了编码 (268)并且视频编码器准备选择新的用于编码的块052)。使用上述技术,连续执行局部化ROI视频解码是可能的,因为ROI中的块仅要求从先前帧有超出该ROI的预定范围内的经解码块可用。并且,通过在所有视频编解码器都支持的用户数据字段中嵌入块位置查找表可以进行对用于解码和显示的块的随机访问。再次参照图3并且如上所提及的,ROI选择单元63基于用户输入或应用命令来定义ROI并集中解码特定区划。在一些示例中,未被定义在ROI内的帧部分不被解码。通过不解码非ROI部分,解码器30可以实质性地减少解码和呈现经解码的视频所需要的处理量。ROI选择单元63向预测单元62输出定义ROI选择区域的数据。选择区域可以由用户输入来定义。用户可使用指示笔、触摸屏、大小可调的矩形、数字指示等等来定义该选择区域。预测单元62需要该ROI选择区域以便开始解码该ROI内的块。仅出于概念性用途,目的设备14的显示设备32可具有mxm帧的大小,并且用户可使用诸如触摸屏之类的ROI选择单元63选择R0I。作为示例,所选择的ROI可具有ηχη的大小,其中η小于m。尽管出于解说目的而描述了方形R0I,但是ROI可以是矩形的或者具有例如由指示笔定义的不规则形状。定义该ηχη区域的数据从ROI选择单元63被输出到预测单元62。预测单元62随后知道为了产生ROI所必需解码的确切的块。然而,由于上述并且在图6中所示的空间依存性的时间传播,解码器30不可能仅仅简单地解码ROI内的块。而是,解码器30必须解码ROI之外的附加块。再次参照图6, 若出于解说目的假定ROI是3x3 = 9个块的区划,则解码帧N的中心块100可能要求先前帧N-I中所示的3x3 = 9个块中的任何块都为解码器可用。为了可为解码器所用,先前帧 N-I中的这9个块可能要求帧Ν-2中的切5 = 25个块中的任何块也可为解码器所用,因为服从于运动搜索结果,这些块可能用作这3x3 = 9个块中的任何块的参考块。并且,帧Ν-2 中的这25个块可能要求帧Ν-3中的7x7 = 49个块中的任意块也可为解码器所用。最后, 帧Ν-3中的这49个块可能要求帧Ν-4中的虹9 = 81个块中的任意块也可为解码器所用。继续上例,若ROI是图6中的帧N-I中所示的3x3区域,则解码器可能需要帧Ν_2 中的切5 = 25个块中的任意块也可为解码器所用。并且,帧Ν-3中的这25个块可能要求帧Ν-3中的7x7 = 49个块中的任意块也可为解码器所用,以此类推。为了让解码器判定相比于ROI需要解码多大的视频区域,解码器尤其是预测单元62必须知道在编码过程期间实施的时间空间依存性(TSD)值。编码期间实施的TSD值可以在整个帧上、在个体的片断上、或者在个体的宏块上执行。因此,帧可以有被指派给该帧的诸部分(例如,片断或MB)的多个TSD值。在一个示例中,编码期间实施的TSD值可作为经编码视频比特流内的头部中的数据被传送,并被预测单元62所接收。TSD值可以一个或更多个头部语法元素的形式来传送。在一些示例中, TSD值可以形成帧头部的部分。在其他示例中,TSD值可以形成片断头部的部分。在一些示例中,TSD值可以形成块头部(例如,宏块头部)的部分。在其他示例中,个体宏块的TSD值可形成片断或帧头部的部分。在一些示例中,在视频比特流中传送的TSD值可以是帧或片断的最大时间空间依存性范围。例如,若视频帧中的每个块的依存性范围有所不同,则所传送的TSD值可以是最大依存性范围。作为具体示例,若视频帧中的所有块具有为2、3、或4的依存性,则在比特流的头部中传送的TSD值将为4。传送最大时间空间依存性值确保解码器将解码先前帧中足够数目的块以使得有足够数目的参考块可用于解码后续视频帧中的块。在其他示例中,在视频比特流中传送的TSD值可以是实际依存性值。在上例中,预测单元62将接收块头部中的信息,该信息指示第一块具有依存性2、第二块具有依存性3、 第三块具有依存性4、第四块具有依存性3,诸如此类。在又一示例中,若编码器具有在片断级上的约束时间空间依存性,则可传送每个片断的实际依存性范围。例如,若帧有3个片断,其中片断1具有TSD值2、片断2具有TSD
18值3、而片断3具有TSD值4,则预测单元62将接收分开的片断头部中关于所有三个片断的 TSD值信息。一旦预测单元62接收定义ROI选择区域的数据以及TSD值,就可开始生成预测块。作为具体示例,若ROI选择区域为3x3区域并且传送的TSD值是值为3的最大时间空间依存性范围,预测单元62将确定7x7经解码区域是向用户呈现该3x3R0I所需的最小区域。 再次,作为视频帧的比该ROI大的部分的此7x7区域是由时间空间依存性值定义的。预测单元62随后可访问参考帧存储68并确定哪些参考帧应被用于预测。在上例中,若用户没有在平摇或缩放即若该ROI在帧与帧之间是相对静态的,则该最小的7x7经解码区域是足够的。然而,若仅该最小区域正在被解码且用户正在平摇或缩放,则在向用户呈现图像时可能会有延迟,直至足够区划的参考块被解码并变为可用。因此,可能期望解码器解码比TSD值定义的最小区域大、但是仍小于整个视频帧的区域。例如,若用户正在平摇,则解码器可解码7x8区域以便有足够的经解码块可用。即,可解码延伸超过向用户呈现所期望的ROI所需的最小区域以及该ROI两者的附加ROI余量。一般而言,缩放可指放大或缩小以扩大或收缩帧内的R0I。平摇可指在帧内水平地左移或右移、或者垂直地上移或下移。除了选择ROI之外,解码器30可包括一个或多个后处理单元以例如通过像素内插或抽取来对经解码视频中的像素数据进行按比例缩放以支持缩放。可根据每帧可允许的最大变化(即,缩放或平摇变化)来选择附加的ROI余量。 每帧可允许的最大变化可被设置为对用户的平摇或缩放能力的约束。例如,用户可被约束成他或她仅可以每帧χ个宏块、或连贯的帧之间χ个宏块的最大速率进行左平摇或右平摇。 基于此约束,解码器可能必须解码帧N-2中7x8的宏块区域即带有附加的经解码块余量以便跟上用户的平摇。在其他示例中,解码器可能必须解码帧N-2中的7x9的宏块区域,因为解码器可能未辨识用户将在什么方向上平摇。类似地,关于上平摇或下平摇、或翻转,解码器可能必须解码帧N-2中8x7的宏块区域即带有附加的经解码块余量以便跟上用户的翻转。在其他示例中,解码器可能必须解码帧N-2中的9x7的宏块区域,因为解码器可能未辨识用户将在什么方向上翻转。在一些示例中,附加ROI余量可以与每帧可允许的最大变化线性相关。例如,若允许每帧一个宏块的最大平摇变化,则应被解码以支持左、右、上或下平摇的宏块余量应加上整个经解码的宏块区划周围的一个经解码宏块的边沿。对于帧N中的 3x3宏块ROI,在知道给定TSD值要求帧N-2中7x7的经解码宏块区划的情况下,用以支持每帧不大于一个宏块的平摇或缩放的一个宏块的附加余量可能要求帧N-2中9x9的经解码区划。在其他示例中,附加ROI余量可以按非线性关系与每帧可允许的最大变化相关。图12是解说感兴趣区(ROI)、在ROI外部的可能需要解码的第一区域、和第一区域外部的可能也需要解码的第二区域的概念图。图12解说3x3R0I区域300、包括该3x3R0I 区域300的基于TSD值需要用以解码该3x3区域300的7x7区域310、以及延伸超过该最小 7x7区域310并且包括该7x7区域310和3x3区域300的附加ROI余量320。该ROI余量被示为9x9块,但无需是方形的。并且,取决于每帧可允许的最大变化,ROI余量可以更大。 如上所提及的,若用户定义3x3R0I区域300,则由于空间依存性的时间传播可能需要解码更大的区域310。若经编码比特流包括指示帧的最大TSD值为2的头部,则解码该3x3R0I 区域300所需的最小区域为7x7区域310。然而,由于用户可能平摇或缩放,则可能希望有附加的ROI余量320以使得在用户平摇或缩放时解码器能提早对块进行解码。
应再次注意,3x3R0I区域仅用于概念目的,并且ROI中MB的数目一般要更大。此外,通过后处理中的内插,小ROI区域可与放大或像素缩放一致地被向上缩放至填充整个屏幕或屏幕的相当部分。还应注意,若编码器已经在片断级别上约束了时间空间依存性范围,则ROI区域 300、包括该3x3R0I区域300的区域310、以及附加ROI余量320可在片断边界上变化。例如,考虑被划分成3个水平片断的帧以及在片断1和2之间延伸的R0I。若片断1具有TSD 值2且片断2具有TSD值3,则需要用以解码该3x3区域的最终区域不是像图12中那样的方形。解码位于片断1中的ROI部分所需的区域将小于解码位于片断2中的ROI部分所需的区域,因为片断1的TSD值小于片断2的TSD值。对与片断边界相交迭的ROI的解码是通过如上所提及地在片断头部中传送TSD值来达成的。当在宏块级上实施TSD值时遇到与上文关于片断所描述的问题相似的问题。然而,用相似的方式,通过如上所提及地在宏块头部中传送TSD值来达成对ROI的解码。在一些示例中,可通过将固定余量加到基于TSD值需要被解码的区域上来确定每帧可允许的最大变化。以此方式,基于TSD值需要被解码的区域和附加ROI余量可以独立确定。当用户试图以比每帧可允许的最大变化更快的速率平摇或缩放时,目的设备14的显示器设备32可向用户显示指示用户已经超过可允许的最大变化的消息。或者在一些示例中,目的设备14可生成指示已经超过可允许的最大变化值的可听信号。或者在一些示例中,用户接口可以不对该请求进行响应。因此,可以防止用户以比最大速率快的速率进行平摇或缩放。用户可以仅被允许以与可允许的最大变化相一致的给定速率来平摇或缩放。例如,若用户用指示笔点击箭头,则该箭头仅以每帧一个宏块的最大速率进行响应。应注意, 平摇或缩放的分辨率可以小于一个宏块。例如,每次箭头点击可导致每次点击一次1/4或 1/2个宏块的移动。在其他示例中,若用户在平摇或缩放时超过每帧可允许的最大变化限制,显示器设备32在块还未被解码的区域中显示空白像素区划。例如,若用户正以大于该最大限制的速率快速向左平摇,则显示器设备32可沿显示器设备32的左侧显示空白像素区划。一旦用户停止平摇或开始以慢于该最大限制的速率平摇,则解码器可解码并随后显示这些空白像素所定义的块。在一些示例中,若用户超过每帧可允许的最大变化限制,则解码器在更新显示器设备32时强加延迟。例如,若用户试图以超过每帧可允许的最大变化限制的速率进行缩放,则解码器可继续解码和显示就在缩放前该用户正在观看的ROI所选区域中的块。然后, 一旦解码器已经解码了该缩放所定义的新ROI所选区域中的块,解码器可显示该新解码的图像。以此方式,用户可继续观看第一 ROI中的视频,但是在显示经缩放的第二 ROI之前将不得不等待一些帧直至解码器解码了该经缩放的ROI中的块。图13是解说根据本公开的解码方法的流程图。解码器30经由ROI选择单元63 接收定义感兴趣区(ROI)的数据000)。解码器30还经由经编码视频比特流中的头部接收 ROI中的至少一个块的时间空间依存性(TSD)值(410)。解码器30随后基于定义ROI的数据和TSD值来解码ROI中的视频块(420)。应注意,若要执行缩放或平摇功能,为了填充设备的显示器,可使用通过内插的分辨率向上缩放。此类向上缩放可以在后处理操作期间解码之后在像素域内实现。
使用上述解码技术可降低功耗、减少计算、并降低等待时间,因为仅解码产生ROI 所必需的块而不是帧中的所有块。图14是解说一种为解码所选ROI区域确定附加ROI余量的方法的流程图,该方法将支持平摇、缩放、和翻转。确定ROI的边界(500)。例如,用户可能已使用指示笔选择了 ROI区域。仅出于概念性目的,ROI选择单元可确定用户为ROI选择了 3x3区域,所以ROI 的边界为3x3。解码器随后基于TSD值确定ROI区域之外需要被解码的第一余量,并将该第一余量加到ROI边界上(510)。再次,例如,若TSD值为3,则解码器可能需要解码包括该 3x3R0I区域的7x7区域。这样,解码器在每个方向上往3x3R0I区域添加2个MB的第一余量。随后,解码器确定为了支持用户平摇、缩放和翻转而需要被解码的第一余量之外的第二余量(520)。例如,若基于为3的TSD值为了支持3x3R0I区域,解码器需要解码7x7区域, 则解码器将第二余量加到第一余量上以确定延伸超过7x7区域的附加ROI余量。被添加到第一余量的第二余量例如可导致为了既支持解码3x3R0I又支持平摇、缩放、翻转而需要解码的9x9区域。再次,该3x3区域仅是出于概念性目的的;ROI —般将更大。本公开中描述的技术可允许在ROI内连续的局部化视频解码。通过局部化视频编码,观众可被准许从解码器侧定义和操控R0I,从而为同一视频内容的每个观看提供唯一的视频观看体验。在一些方面,本公开中描述的技术还可通过准许用仅ROI解码而非全帧解码进行ROI观看来降低功耗,尤其是对于手持式设备而言。本公开所描述的技术还可通过允许观众仅显示视频内容中该观众感兴趣的那部分来提供对显示器窗口的更好的利用。在其他方面,本公开中描述的技术还可允许原本将超过设备的处理和显示能力的对视频内容的ROI观看。本公开中描述的技术还可允许视频捕捉窗口与观看窗口之间的基本去耦合。 在一些方面,本公开中描述的技术还可允许在视频回放期间从解码侧进行正常仅在视频编码前在视频捕捉期间才有可能的ROI视频缩放和平摇。 上文描述的技术可基本上将视频捕捉窗口与观看窗口去耦合。即,观众可以不被约束以与捕捉视频方式的相同方式在显示器设备的观看窗口中观看视频内容。例如,在两个人对话的场景中,观众可选取仅在一个人身上放大。以此方式,显示器上的观看窗口已经被与视频捕捉窗口去耦合。此外,观众可在视频回放期间缩放和平摇R0I,而这传统上仅在视频捕捉期间才是可能的。本文中所描述的技术可以在硬件、软件、固件、或其任何组合中实现。若以软件实现,则这些技术可部分地通过包括程序代码的计算机可读介质来实现,程序代码包含编码在计算机可读介质上的指令,这些指令在执行时致使处理器执行上述方法中的一个或多个方法。在此情形中,计算机可读介质可以包括诸如同步动态随机存取存储器(SDRAM)之类的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质、等等。该程序代码可以由一个或更多个处理器执行,诸如一个或更多个数字信号处理器 (DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或者其他等效的集成或分立逻辑电路系统。在一些示例中,本公开中描述的功能性可被提供于配置用于自动对象分段的专用软件模块或硬件单元内、或纳入自动对象分段系统中。
权利要求
1.一种在视频编码器中执行的方法,所述方法包括确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值;将所述时间空间依存性值与阈值作比较;以及基于所述比较选择用于所述当前块的编码模式。
2.如权利要求1所述的方法,其特征在于,时间空间依存性标识先前视频帧中所述候选参考视频块所依存的视频块,且其中先前视频帧中所述候选参考视频块所依存的视频块的数目定义所述时间空间依存性值。
3.如权利要求2所述的方法,其特征在于,还包括根据所选编码模式来编码所述当前块。
4.如权利要求3所述的方法,其特征在于,还包括在编码所述当前块之际更新所述时间空间依存性值。
5.如权利要求1所述的方法,其特征在于,确定所述候选参考视频块的所述时间空间依存性值包括确定多个候选参考视频块中的每一个的时间空间依存性值。
6.如权利要求1所述的方法,其特征在于,若所述时间空间依存性值超过所述阈值,则选择的所述编码模式是帧内编码。
7.如权利要求1所述的方法,其特征在于,若所述时间空间依存性值不超过所述阈值, 则所述编码器基于编码比特率、帧内刷新率、失真、或信道损耗概率中的至少一者来选择帧间编码或帧内编码。
8.如权利要求1所述的方法,其特征在于,所述阈值是固定的。
9.如权利要求1所述的方法,其特征在于,所述阈值是可变的。
10.如权利要求1所述的方法,其特征在于,还包括基于所述编码模式选择来修改帧内刷新(IR)率。
11.一种视频编码设备,包括存储设备,其存储用于对视频帧中的当前块进行编码的候选参考块的时间空间依存性值;以及视频编码器,其确定候选参考视频块的时间空间依存性值、将所述时间空间依存性值与阈值相比较、并基于所述比较来选择用于所述当前块的编码模式。
12.如权利要求11所述的设备,其特征在于,时间空间依存性标识先前视频帧中所述候选参考视频块所依存的视频块,且其中先前视频帧中所述候选参考视频块所依存的视频块的数目定义所述时间空间依存性值。
13.如权利要求11所述的设备,其特征在于,模式选择单元将所述候选参考视频块的所述时间空间依存性值与所述阈值相比较。
14.如权利要求11所述的设备,其特征在于,所述视频编码器根据所选择的编码模式来编码所述当前块。
15.如权利要求14所述的设备,其特征在于,所述视频编码器在编码所述当前块之际更新所述时间空间依存性值。
16.如权利要求11所述的设备,其特征在于,确定所述候选参考视频块的所述时间空间依存性值包括确定多个候选参考视频块中的每一个的时间空间依存性值。
17.如权利要求11所述的设备,其特征在于,若所述时间空间依存性值超过所述阈值, 则选择的所述编码模式是帧内编码。
18.如权利要求11所述的设备,其特征在于,若所述时间空间依存性值不超过所述阈值,则所述编码器基于编码比特率、帧内刷新率、失真、或信道损耗概率中的至少一者来选择帧间编码或帧内编码。
19.如权利要求11所述的设备,其特征在于,所述阈值是固定的。
20.如权利要求11所述的设备,其特征在于,所述阈值是可变的。
21.如权利要求11所述的设备,其特征在于,所述视频编码器基于所述编码模式选择来修改帧内刷新(IR)率。
22.如权利要求11所述的设备,其特征在于,还包括无线通信设备。
23.如权利要求11所述的设备,其特征在于,还包括集成电路设备。
24.一种计算机可读介质,其包括编码在所述计算机可读介质上的指令,所述指令在执行时致使视频编码器内的处理器确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值;将所述时间空间依存性值与阈值作比较;以及基于所述比较选择用于所述当前块的编码模式。
25.如权利要求M所述的计算机可读介质,其特征在于,时间空间依存性标识先前视频帧中所述候选参考视频块所依存的视频块,且其中先前视频帧中所述候选参考视频块所依存的视频块的数目定义所述时间空间依存性值。
26.如权利要求M所述的计算机可读介质,其特征在于,还包括用于致使所述处理器执行以下动作的指令根据所选编码模式来编码所述当前块。
27.如权利要求M所述的计算机可读介质,其特征在于,还包括用于致使所述处理器执行以下动作的指令在编码所述当前块之际更新时间空间依存性数据库值。
28.如权利要求M所述的计算机可读介质,其特征在于,所述致使所述处理器确定候选参考视频块的时间空间依存性值的指令包括用于确定多个候选参考视频块中的每一个的时间空间依存性值的指令。
29.如权利要求M所述的计算机可读介质,其特征在于,若所述时间空间依存性值超过所述阈值,则选择的所述编码模式是帧内编码。
30.如权利要求M所述的计算机可读介质,其特征在于,若所述时间空间依存性值不超过所述阈值,则所述编码器基于编码比特率、帧内刷新率、失真、或信道损耗概率中的至少一者来选择帧间编码或帧内编码。
31.如权利要求M所述的计算机可读介质,其特征在于,所述阈值是固定的。
32.如权利要求M所述的计算机可读介质,其特征在于,所述阈值是可变的。
33.如权利要求M所述的计算机可读介质,其特征在于,还包括用于致使所述处理器执行以下动作的指令基于编码模式选择来修改帧内刷新(IR)率。
34.一种视频编码设备,包括用于确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值的装置;用于将所述时间空间依存性值与阈值作比较的装置;以及用于基于所述比较选择用于所述当前块的编码模式的装置。
35.如权利要求34所述的设备,其特征在于,时间空间依存性标识先前视频帧中所述候选参考视频块所依存的视频块,且其中先前视频帧中所述候选参考视频块所依存的视频块的数目定义所述时间空间依存性值。
36.如权利要求34所述的设备,其特征在于,还包括用于根据所选编码模式来编码所述当前块的装置。
37.如权利要求36所述的设备,其特征在于,还包括用于在编码所述当前块之际更新时间空间依存性数据库的装置。
38.如权利要求34所述的设备,其特征在于,所述用于确定候选参考视频块的时间空间依存性值的装置包括用于确定多个候选参考视频块中的每一个的时间空间依存性值的直ο
39.如权利要求34所述的设备,其特征在于,若所述时间空间依存性值超过所述阈值, 则选择的所述编码模式是帧内编码。
40.如权利要求34所述的设备,其特征在于,若所述时间空间依存性值不超过所述阈值,则所述编码器基于编码比特率、帧内刷新率、失真、或信道损耗概率中的至少一者来选择帧间编码或帧内编码。
41.如权利要求34所述的设备,其特征在于,所述阈值是固定的。
42.如权利要求34所述的设备,其特征在于,所述阈值是可变的。
43.如权利要求34所述的设备,其特征在于,还包括用于基于编码模式选择来修改帧内刷新(IR)率的装置。
全文摘要
本公开描述了用于感兴趣区(ROI)编码的技术。根据本文描述的技术,编码设备可确定用于对视频帧中的当前块进行帧间编码的候选参考视频块的时间空间依存性值。该编码设备可将该时间空间依存性值与阈值相比较并基于该比较来选择用于当前块的编码模式。解码设备可接收定义ROI的数据以及时间空间依存性值,并至少部分地基于该时间空间依存性值来解码该ROI中的视频块。以此方式,本公开的技术可允许视频内容观众具有选择ROI进行观看的能力。
文档编号H04N7/26GK102422640SQ201080020895
公开日2012年4月18日 申请日期2010年5月7日 优先权日2009年5月7日
发明者C-Y·滕, M-c·蔡, Y·叶 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1