首页> 中国专利> 用于针对显示流压缩(DSC)在块预测模式中译码的系统和方法

用于针对显示流压缩(DSC)在块预测模式中译码的系统和方法

摘要

本发明公开一种用于针对显示流压缩DSC在块预测模式中译码视频数据块的系统和方法。在一个方面中,所述方法包含确定待用于预测当前切片中的当前块的候选块。所述候选块可在由一或多个块预测参数定义的位置范围内。所述方法进一步包含:基于所述候选块及所述当前块确定识别所述候选块关于所述当前块的位置的预测向量及至少部分地经由用信号发送识别所述候选块关于所述当前块的所述位置的所述预测向量而在块预测模式中译码所述当前块。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-23

    授权

    授权

  • 2017-01-18

    实质审查的生效 IPC(主分类):H04N19/593 申请日:20150421

    实质审查的生效

  • 2016-12-21

    公开

    公开

说明书

技术领域

本发明涉及视频译码和压缩的领域,且确切地说,涉及用于经由显示链路发射的视频压缩,例如,显示流压缩(DSC)。

背景技术

可将数字视频能力并入到多种多样的显示器中,包含数字电视、个人数字助理(PDA)、膝上型计算机、台式监测器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝或卫星无线电电话、视频电话会议装置及类似者。显示链路用于将显示器连接到适当源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器需要大带宽显示链路。一些显示链路不具有支持高分辨率显示器的带宽。可使用视频压缩减少带宽要求,使得可使用较低带宽显示链路将数字视频提供到高分辨率显示器。

其它人已尝试对像素数据使用图像压缩。然而,此类方案有时并不能视觉上无损,或可能在常规显示装置中实施起来困难且昂贵。

视频电子标准协会(VESA)已开发了显示流压缩(DSC)作为用于显示链路视频压缩的标准。例如DSC的显示链路视频压缩技术应(尤其)提供视觉无损的图片质量(即,图片具有质量等级使得用户不能分辨压缩为作用中的)。显示链路视频压缩技术还应提供用常规硬件实时实施起来简单且廉价的方案。

发明内容

本发明的系统、方法和装置各自具有若干创新方面,其中无单个方面单独负责本文所公开的合乎需要的属性。

在一个方面中,用于在块预测模式中译码视频数据的方法包含:确定待用于预测当前切片中的当前块的候选块,所述候选块在由一或多个块预测参数定义的位置范围内,其中候选块存储于视频编码装置的存储器中;基于候选块及当前块确定识别候选块关于当前块的位置的预测向量;及至少部分地经由用信号发送识别候选块关于当前块的位置的预测向量而在块预测模式中译码当前块。

在另一方面中,经配置以在块预测模式中译码位流中的视频数据的设备包含存储器及与存储器通信的处理器。存储器经配置以存储视频数据。处理器经配置以:确定待用于预测当前切片中的当前块的候选块,所述候选块存储于存储器中且在由一或多个块预测参数定义的位置范围内;基于候选块及当前块确定识别候选块关于当前块的位置的预测向量;及至少部分地经由用信号发送识别候选块关于当前块的位置的预测向量而在块预测模式中译码当前块。

在另一方面中,非暂时性计算机可读媒体含有代码,所述代码在执行时使得设备进行以下操作:确定待用于预测当前切片中的当前块的候选块,所述候选块在由一或多个块预测参数定义的位置范围内;基于候选块及当前块确定识别候选块关于当前块的位置的预测向量;及至少部分地经由用信号发送识别候选块关于当前块的位置的预测向量而在块预测模式中译码当前块。

在另一方面中,经配置以在块预测模式中译码位流中的视频数据的视频译码装置包含:用于确定待用于预测当前切片中的当前块的候选块的装置,所述候选块在由一或多个块预测参数定义的位置范围内;用于基于候选块及当前块确定识别候选块关于当前块的位置的预测向量的装置;及用于至少部分地经由用信号发送识别候选块关于当前块的位置的预测向量而在块预测模式中译码当前块的装置。

附图说明

图1A为说明可利用根据本发明中描述的方面的技术的实例视频编码和解码系统的框图。

图1B为说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。

图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。

图2B为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。

图3为说明根据本发明中描述的方面的用于1-D块的非第一线的搜索空间的框图。

图4为说明根据本发明中描述的方面的用于2-D块的非第一线的搜索空间的框图。

图5为说明根据本发明中描述的方面的用于1-D块的第一线的搜索空间的框图。

图6为说明根据本发明中描述的方面的用于2-D块的第一线的搜索空间的框图。

图7为说明根据本发明中描述的方面的用于在块预测模式中预测视频数据块的方法的流程图。

图8为说明根据本发明中描述的方面的具有分区的块的框图。

图9为其中停用块预测模式的实例图像内容。

图10为根据本发明中描述的方面的其中启用块预测模式的实例图像内容。

具体实施方式

一般来说,本发明涉及改进视频压缩技术(例如,DSC)的方法。更确切地说,本发明涉及用于在块预测模式中译码视频数据块的系统及方法。

虽然本文中在DSC标准的上下文中描述某些实施例,但所属领域的技术人员将了解,本文中所公开的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)移动图片专家组-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-TH.264(也称为ISO/IEC MPEG-4AVC)、高效率视频译码(HEVC),及此类标准的任何扩展。此外,本发明中描述的技术可变为将来开发的标准的一部分。换句话说,本发明中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准及即将出现的视频译码标准。

DSC标准包含多个译码模式,在所述多个译码模式中每一视频数据块可由编码器编码且类似地,由解码器解码。在一些实施方案中,编码器及/或解码器可基于经先前译码块而预测待译码的当前块。

然而,现有译码模式(例如,变换译码、差分脉冲译码调制等)并未提供压缩视频数据中的高度复杂区域的令人满意的方式。通常,对于此类型的数据(即,经高度压缩视频数据),待译码的当前块(或当前块的组成子块)与已遭遇译码器(例如,编码器或解码器)的先前块在内容上类似。然而,现有帧内预测太有限以致不能提供此当前块的令人满意的预测(例如,将产生十分小的残余的预测)。因此,需要一种译码视频数据块的经改进方法。

在本发明中,描述一种在块预测模式中译码块的经改进方法。举例来说,当搜索待用于预测当前块的候选块时,可定义搜索范围使得编码器具有对可为良好匹配同时最小化搜索成本的潜在候选者的接入权。在另一个实例中,方法可包含显式地用信号发送对每一块(或每一分区)的预测。通过在编码器侧上执行更多操作(例如,搜索待用于预测当前块的候选块、计算识别候选块关于当前块的位置的向量等,所述操作可消耗计算资源及处理功率),所述方法可降低解码器复杂度。

视频译码标准

例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等数字图像可包含布置成水平和垂直线的像素或样本。单个图像中的像素的数目通常有数万个。每一像素通常含有明度及色度信息。在无压缩的情况下,待从图像编码器传达到图像解码器的信息的绝对量将使实时图像发射变得不可行。为了减少待发射的信息量,已开发出例如JPEG、MPEG和H.263标准的多个不同压缩方法。

视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H 264(也称为ISO/IEC MPEG-4AVC)及包含此类标准的扩展的HEVC。

此外,视频译码标准(即,DSC)已由VESA开发。DSC标准为可压缩视频以供经由显示链路发射的视频压缩标准。随着显示器的分辨率增大,驱动显示器所需要的视频数据的带宽相应地增大。针对此类分辨率,一些显示链路可不具有所述带宽来将所有视频数据发射到显示器。因此,DSC标准指定用于通过显示链路的可互操作、视觉无损压缩的压缩标准。

DSC标准不同于其它视频译码标准,例如,H.264和HEVC。DSC包含帧内压缩,但不包含帧间压缩,这意味着DSC标准在译码视频数据时可不使用时间信息。相比之下,其它视频译码标准可在其视频译码技术中使用帧间压缩。

视频译码系统

下文参考附图更充分地描述新颖系统、设备和方法的各种方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所提出的任何特定结构或功能。相反地,提供这些方面以使得本发明将为透彻且完整的,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与其组合而实施的本文中所公开的新颖系统、设备和方法的任何方面。举例来说,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构及功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。

尽管本文中描述了特定方面,但这些方面的许多变化和排列属于本发明的范围。尽管提到了优选方面的一些益处和优点,但本发明的范围不既定限于特定益处、用途或目标。相反地,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络和发射协议,其中的一些是作为实例而在图式和在优选方面的以下描述中加以说明。详细描述和图式仅说明本发明,而不是限制由所附权利要求书及其等效者定义的本发明的范围。

附图说明实例。由附图中的参考数字指示的元件对应于由以下描述中由相同参考数字指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等)开始的名称的元件不一定暗示所述元件具有特定顺序。相反地,此些序数词仅用于指代相同或类似类型的不同元件。

图1A为说明可利用根据本发明中描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”或“译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指视频编码及视频解码。除视频编码器和视频解码器以外,本申请案中描述的方面还可扩展到其它相关装置,例如转码器(例如,可解码位流并重新编码另一位流的装置)和中间盒(middlebox)(例如,可修改、转换和/或以其它方式操纵位流的装置)。

如图1A中所展示,视频译码系统10包含源装置12,所述源装置12产生稍后由目的地装置14解码的经编码视频数据。在图1A的实例中,源装置12和目的地装置14构成单独装置。然而,应注意,源装置12和目的地装置14可在同一装置上或为其的部分,如图1B的实例中所展示。

再次参考图1A,源装置12和目的地装置14可分别包括多种多样的装置中的任一者,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置或其类似者。在各种实施例中,可装备源装置12和目的地装置14以用于无线通信。

目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A的实例中,链路16可包括使得源装置12能够将经编码视频数据实时发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于分组的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。

在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频捕获装置(例如,摄像机)、含有先前所捕获视频的视频存档、从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据作为源视频的计算机图形系统的来源,或此类来源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的“相机电话”或“视频电话”,如图1B的实例中所说明。然而,本发明中所描述的技术通常可适用于视频译码,且可应用于无线和/或有线应用。

可通过视频编码器20对所捕获、预捕获或计算机产生的视频进行编码。可经由源装置12的输出接口22将经编码视频数据发射到目的地装置14。还可(或替代地)将经编码视频数据存储到存储装置31上以用于稍后由目的地装置14或其它装置存取以供解码和/或重放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20或本文中所描述的任何其它视频编码器。

在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由链路16和/或从存储装置31接收经编码视频数据。经由链路16传达或在存储装置31上提供的经编码视频数据可包含由视频编码器20产生以供由视频解码器(例如,视频解码器30)用于解码视频数据的多种语法元素。此类语法元素可与在通信媒体上发射、存储在存储媒体上或存储在文件服务器中的经编码视频数据包含在一起。图1A和1B中说明的视频解码器30可包括图2B中说明的视频解码器30或本文中所描述的任何其它视频解码器。

显示装置32可与目的地装置14集成或者在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,并且还经配置以与外部显示装置界接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

在相关方面中,图1B展示实例视频译码系统10′,其中源装置12和目的地装置14在装置11上或为其的部分。装置11可为电话手持机,例如“智能”电话或其类似者。装置11可包含与源装置12和目的地装置14进行可操作性通信的处理器/控制器装置13(任选地存在)。图1B的视频译码系统10′及其组件在其它方面类似于图1A的视频译码系统10及其组件。

视频编码器20和视频解码器30可根据视频压缩标准(例如,DSC)操作。替代地,视频编码器20和视频解码器30可根据其它专属或行业标准(例如,ITU-TH.264标准,替代地被称作MPEG-4第10部分、AVC、HEVC或此类标准的扩展)操作。但是,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263。

尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用,那么多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。

视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中并使用一或多个处理器以硬件执行所述指令从而执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器的部分。

视频译码过程

如上文简要提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。图片中的每一者为形成视频的一部分的静态图像。在一些情况下,图片可被称为视频“帧”。当视频编码器20编码视频数据时,视频编码器20可以产生位流。位流可包含形成视频数据的经译码表示的位序列。位流可包含经译码图片及相关联数据。经译码的图片是图片的经译码表示。

为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联数据可包含译码参数(例如量化参数(QP))的集合。为了产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。译码参数可定义用于视频数据的每一块的译码选项(例如,译码模式)。可选择译码选项以便达成所要的率失真性能。

在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一者可包含可在无来自图像或帧中的其余区域的信息的情况下独立解码的在所述图像(例如,帧)中的空间上截然不同的区域。每一图像或视频帧可在单一切片中编码,或其可在若干切片中编码。在DSC中,经分配以编码每一切片的目标位可基本上恒定。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称为“经译码切片”。

DSC视频编码器

图2A为说明可实施根据本发明中描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的一些或全部。

出于解释的目的,本发明在DSC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。

在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含:色彩-空间转换器105、缓冲器110、平度检测器115、速率控制器120、预测器、量化器和重建器组件125、线缓冲器130、索引的色彩历史135、熵编码器140、子流多路复用器145及速率缓冲器150。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。

色彩-空间转换器105可将输入的色彩空间转换到在译码实施方案中使用的色彩空间。举例来说,在一个示范性实施例中,输入视频数据的色彩空间在红、绿和蓝(RGB)色彩空间中,且以亮度Y、色度绿Cg和色度橙Co(YCgCo)色彩空间实施译码。色彩空间转换可通过包含移位和添加到视频数据的方法执行。应注意,可处理其它色彩空间中的输入视频数据,且也可执行到其它色彩空间的转换。

在相关方面中,视频编码器20可包含缓冲器110、线缓冲器130和/或速率缓冲器150。举例来说,缓冲器110可在其由视频编码器20的其它部分使用之前保持经色彩空间转换的视频数据。在另一实例中,视频数据可存储于RGB色彩空间中,且可按需要执行色彩空间转换,因为经色彩空间转换的数据可需要更多位。

速率缓冲器150可充当视频编码器20中的速率控制机制的部分,其将在下文中结合速率控制器120更详细地被描述。编码每一块花费的位可基本上高度基于所述块的本质而变化。速率缓冲器150可使经压缩视频的速率变化平稳。在一些实施例中,使用恒定位率(CBR)缓冲器模型,其中以恒定位率从缓冲器取出位。在CBR缓冲器模型中,如果视频编码器20将过多的位添加到位流,那么速率缓冲器150可上溢。另一方面,视频编码器20必须添加足够的位以便防止速率缓冲器150的下溢。

在视频解码器侧上,可以恒定位率将位添加到视频解码器30的速率缓冲器155(见下文进一步详细描述的图2B),且视频解码器30可针对每一块去除可变数目个位。为了确保适当解码,视频解码器30的速率缓冲器155在经压缩位流的解码期间不应“下溢”或“上溢”。

在一些实施例中,可基于表示当前在缓冲器中的位数的值BufferCurrentSize和表示速率缓冲器150的大小(即,在任一时间点可存储于速率缓冲器150中的最大位数)的BufferMaxSize来定义缓冲器满度(BF)。BF可以计算为:

BF=((BufferCurrentSize*100)/BufferMaxSize)

平度检测器115可检测视频数据中的复杂(即,非平坦)区到视频数据中的平坦(即,简单或均匀)区的改变。术语“复杂”和“平坦”将在本文中用以通常指视频编码器20编码视频数据的相应区域的难度。因此,如本文中使用的术语复杂通常将视频数据的区域描述为视频编码器20编码起来复杂,且可(例如)包含纹理化的视频数据、高空间频率和/或编码起来复杂的其它特征。如本文中使用的术语平坦通常将视频数据的区域描述为视频编码器20编码起来简单,且可(例如)包含视频数据中的平滑梯度、低空间频率和/或编码起来简单的其它特征。复杂与平坦区域之间的过渡可由视频编码器20用以减少经编码视频数据中的量化假影。具体来说,当识别到从复杂到平坦区域的过渡时,速率控制器120和预测器、量化器和重建器组件125可减少此类量化假影。

速率控制器120确定译码参数(例如,QP)的集合。QP可由速率控制器120基于速率缓冲器150的缓冲器满度和视频数据的图像活动来调整,以便针对目标位率将图片质量最大化,所述目标位率确保速率缓冲器150不上溢或下溢。速率控制器120还选择用于每一视频数据块的特定译码选项(例如,特定模式),以便达成最优率失真性能。速率控制器120使经重建图像的失真最小化,使得其满足位率约束,即,总实际译码速率在目标位率内。

预测器、量化器和重建器组件125可执行至少三个编码视频编码器20的操作。预测器、量化器和重建器组件125可在多个不同模式中执行预测。一个实例预测模式为中值自适应预测的修改版本。中值自适应预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器和重建器组件125执行的中值自适应预测的修改版本可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,从先前重建的像素向左预测样本。视频编码器20和视频解码器30可都对重建的像素执行相同搜索以确定块预测使用情况,且因此,不需要在块预测模式中发送位。也可实施中点预测模式,其中使用组件范围的中点来预测样本。中点预测模式可在甚至最坏情况样本中实现对经压缩视频需要的位数的限界。如下文参考图7进一步论述,预测器、量化器和重建器组件125可经配置以通过执行图7中所说明的方法来预测(例如,编码或解码)视频数据块(或任何其它预测单元)。

预测器、量化器和重建器组件125还执行量化。举例来说,可经由可使用移位器实施的2的乘幂量化器来执行量化。应注意,可实施其它量化技术,代替2的乘幂量化器。由预测器、量化器和重建器组件125执行的量化可基于由速率控制器120确定的QP。最终,预测器、量化器和重建器组件125还执行重建,所述重建包含将反量化残余添加到预测值并且确保结果不落在样本值的有效范围之外。

应注意,以上描述的由预测器、量化器和重建器组件125执行的预测、量化和重建的实例方法只是说明性的且可实施其它方法。还应注意,预测器、量化器和重建器组件125可包含用于执行预测、量化和/或重建的子组件。还应注意,预测、量化和/或重建可由若干单独的编码器组件代替预测器、量化器和重建器组件125执行。

线缓冲器130保持来自预测器、量化器和重建器组件125的输出,使得预测器、量化器和重建器组件125和索引的色彩历史135可使用经缓冲视频数据。索引的色彩历史135存储最近使用的像素值。这些最近使用的像素值可由视频编码器20经由专用语法直接参考。

熵编码器140基于索引的色彩历史135及由平度检测器115识别的平度过渡来编码预测残余及从预测器、量化器和重建器组件125接收的任何其它资料(例如,由预测器、量化器和重建器组件125识别的索引)。在一些实例中,熵编码器140可每时钟每子流编码器编码三个样本。子流多路复用器145可基于无标头分组复用方案而将位流多路复用。这允许视频解码器30并行地运行三个熵解码器,从而有助于每时钟解码三个像素。子流多路复用器145可最优化分组顺序,使得可由视频解码器30有效地解码分组。应注意,可实施熵译码的不同方法,所述方法可有助于每时钟解码2的乘幂像素(例如,2个像素/时钟或4个像素/时钟)。

DSC视频解码器

图2B为说明可实施本发明中所描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频编码器30的各种组件间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的一些或全部。

出于解释的目的,本发明在DSC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

在图2B的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含:速率缓冲器155、子流解多路分用器160、熵解码器165、速率控制器170、预测器、量化器和重建器组件175、索引的色彩历史180、线缓冲器185及色彩空间转换器190。所说明的视频解码器30的组件类似于上文结合图2A中的视频编码器20所描述的对应组件。因而,视频解码器30的组件中的每一者可以类似于如上所描述的视频编码器20的对应组件的方式操作。

DSC中的切片

如上所指出,切片通常指可在不使用来自图像或帧中的区域中的其余者的信息的情况下独立地解码的所述图像或帧中的空间上截然不同的区域。每一图像或视频帧可在单一切片中编码,或其可在若干切片中编码。在DSC中,经分配以编码每一切片的目标位可基本上恒定。

块预测模式

单独视频数据块可含有多个像素,且每一视频数据块具有可译码块的多个潜在译码模式。此类译码模式中的一者为块预测模式。在块预测模式中,译码器试图找到先前经重建线(例如,当当前块不在当前切片的第一线中时)中的候选块或接近(例如,在像素值上)待译码的当前块的相同线(例如,当当前块在当前切片的第一线中时)中的先前经重建块。在一些实施例中,通过绝对差总和(SAD)度量确定像素值之间的接近性。译码器可试图在由搜索范围(例如,其可为编码器及解码器两者已知的预定值)定义的先前经重建块的任何部分中找到候选块。定义搜索范围使得编码器具有在搜索范围内找到良好匹配同时最小化搜索成本的潜在候选者。块预测模式的译码效率来自事实:如果发现良好候选者(即,在搜索范围内经确定在像素值上接近待译码的当前块的候选者),那么候选块与当前块之间的差(被称为残余)将较小。与用信号发送当前块的实际像素值所需的位数相比,较小残余将耗费用信号发送的更少的位数,借此得到较低率失真成本及增加由速率控制机制选择的可能性。启用块预测模式的性能增强对某些类型的图形内容极重要,如下文参考图9及10所描述。

块预测模式中的参数

块预测模式经设计以产生候选块、给定指定搜索范围,所述指定搜索范围提供来自待编码当前块的最小失真。在一些实施例中,使用SAD定义最小失真。在本发明的一些实施中,块预测方法由三个参数定义:搜索范围(SR)、歪斜(α)及分区大小(β)。这三个参数影响块预测模式的性能,且可在实施期间经调谐(即,修改或重新配置)。这些参数可为编码器及解码器两者所已知。

块预测模式中的搜索空间

在本发明的一些实施例中,搜索空间(例如,编码器可搜索以便找到候选块的像素的空间位置)可基于当前块的特性而不同。搜索空间可涵盖所有先前经重建块/像素,但编码器及/或解码器可将对候选块的搜索限制于搜索空间内的指定部分(例如,由在位流中预定义或用信号发送的一个或多个参数定义的“搜索范围”),例如,从而降低计算复杂度。在图3至6中说明块预测搜索空间的实例。图3和4说明涉及不在当前切片的第一线中的当前块(例如,当前块308及408)的情况。图5和6说明涉及在当前切片的第一线中的当前块(例如,当前块506及606)的情况。由于切片中的第一线不具有垂直相邻者,所以单独地处置这两种情况。因此,来自当前线的经重建像素可用作搜索范围(例如,搜索范围508及608)。在本发明中,当前切片中的第一线可被称为FLS,且当前切片中的任一其它线可被称为NFLS。

此外,本文中描述的块预测技术可以使用单一线缓冲器(即,1-D块大小)的编解码器或使用多个线缓冲器(即,2-D块大小)的编解码器实施。用于1-D情况的搜索空间的实例展示于图3及5中,且用于2-D情况的搜索空间的实例展示于图4及6中。在2-D情况中,当来自先前经重建线(例如,先前线402)的像素或来自相同线的经重建块在2-D块(例如,当前线602中的先前604,其在当前块606的紧邻左方)中时,搜索范围可包含像素或经重建块。可水平地或垂直地或在这两个方向上分割2-D块。在涉及块分区的情况下,可针对每一块分区指定块预测向量。

块预测模式的实例实施方案

在本发明的一些实施例中,除SAD外可使用失真度量,例如,方差总和(SSD)。替代地或另外,可通过加权修改失真。举例来说,如果正使用YCoCg色彩空间,那么可如下计算成本:

>SAD(Y)+SAD(Co)+SAD(Cg)2>

可在RGB或YCoCg色彩空间中执行本文中描述的块预测技术。另外,替代实施方案可使用两个色彩空间且将指示两个色彩空间中的哪一个经选择(例如,在速率及失真方面具有最低成本的任何一个色彩空间)的1位标记用信号发送到解码器。

在关于FLS的本发明的一些实施例中,归因于流水线化及定时约束,可从搜索范围排除直接先前经重建的一或多个块。举例来说,取决于硬件实施,直到当前块由译码器处理的时间译码器可能尚未完成对直接先前经重建块的处理(例如,先前块的经重建像素在译码器开始处理当前块时可为未知的),从而导致时延或失效。在此实施方案中,通过限制将先前经重建块用于已知的经重建像素值的那些块(例如,通过排除直接先前经重建的一或多个块),可解决上文所说明的流水线化问题。在关于NFLS的本发明的一些实施例中,当前块左方的搜索范围可来自相同线而非先前经重建线。在此类实施例中的一些中,归因于流水线化及定时约束,可从搜索范围排除一或多个先前经重建块。

NFLS的实例实施方案

如图3中所展示,块预测方法可对搜索空间中的搜索范围310(SR)进行搜索,以找到当前块308的候选者(且在图4的搜索空间400中类似)。如果待编码的当前块308的第一像素的x坐标位置为j,那么搜索空间内的所有候选块的起始位置k的集合可给定为:

k∈[j-SR+(α+1),j+α]

在这个实例中,参数α相对于待编码的当前块偏斜搜索范围310的x坐标位置。更高α值将搜索范围310向右移动,而更低α值降搜索范围310向左移动。举例来说,(i)SR 32及α15可将搜索范围310放置于先前线302的中心,(ii)SR 32及α0可将搜索范围310放置于先前线302的左侧,及(iii)SR 32及α31可将搜索范围310放置于先前线302的右侧。

在本发明的一些实施方案中,可将在搜索范围内但在切片边界外的像素设定成那个像素的动态范围的一半。举例来说,如果内容为RGB888,那么默认值128可用于R、G及B。如果内容在YCoCg空间中,那么默认值128可用于Y,且默认值0可用于Co及Cg(例如,Co及Cg为以0为中心的9位值)。

FLS的实例实施方案

如图5中所展示,搜索范围对于FLS情况可为不同的。这是因为由于垂直相邻者在当前帧外部,或由于这类垂直相邻者含于不同切片内,这类垂直相邻者为不可用的。在关于FLS情况的本发明的一些实施例中,当前线中的像素可用于块预测。在一个实施例中,当前块左方的当前线中的任何像素可被视为搜索范围的部分。在另一实施例中,归因于流水线化及定时约束,可从搜索范围排除一或多个经先前译码块(例如,紧邻当前块左方的先前块504)。

在FLS的一些实施方案中,切片的第一线中的前几个块的可用范围可能小于通常经预期用于其它块的搜索范围。这是因为候选块的有效位置在线的起点处开始且在当前块之前结束。对于FLS中的前几个块,此有效范围可能小于所希望的范围(例如,32或64个位置)。因此,对于这些块,可能需要调整搜索范围,使得候选块的每一块分区完全地含于搜索范围内。对于NFLS,搜索范围可左移或右移,使得搜索位置的总数目等于所定义搜索范围(例如,32或64个像素位置)。由于j为当前块中的第一像素,所以当前块中的最末像素将为j+blkWidth-1。出于此原因,搜索范围可能需要为向左移的(blkWidth-1)像素。

在FLS的一些实施方案中,如果待编码的当前块的第一像素的x坐标位置被称作j,那么将搜索范围内的所有候选块的起始位置的集合给定为:

(i)如果最近的先前经重建块为搜索范围的部分(例如,α=-1),那么:

k∈[j-SR-(blkWidth-1),j-1-(blkWidth-1)]

(ii)如果待从搜索范围排除n个最近的先前经重建块,那么:

k∈[j-(n·blkx+SR)-(blkWidth-1),j-(n·blkx+1)-(blkWidth-1)]

其中blkx为块宽度。可将切片边界外的任何像素设定成如上文结合NFLS情况所述的默认值。还应注意,歪斜参数不需要与FLS情况相关联。

用于在块预测模式中译码的实例流程图

参考图7,将描述用于在块预测模式中译码视频数据块的实例程序。图7中所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)、视频解码器(例如,图2B中的视频解码器30)或其组件执行。为方便起见,将方法700描述为由视频译码器(还简称为译码器)执行,所述视频译码器可为视频编码器20、视频解码器30或另一组件。

方法700开始于框701。在框705处,译码器确定待用于预测当前切片中的当前块的候选块。候选块可在由一或多个块预测参数定义的位置范围内。举例来说,块预测参数可包含:(i)定义位置范围大小的搜索范围参数,(ii)定义位置范围关于当前块的相对位置的歪斜参数,及(iii)定义当前块中的每一分区大小的分区大小参数。在本发明的一些实施例中,搜索范围参数、歪斜参数及分区大小参数中的每一者在空间上而非在时间上定义候选块的位置。

在框710处,译码器基于候选块及当前块确定预测向量。预测向量可识别候选块关于当前块的位置。预测向量可包含一或多个坐标值(例如,指示1-D空间中的偏移的坐标值)。在框715处,译码器至少部分地经由用信号发送预测向量而在块预测模式中译码当前块。在一些实施例中,译码器还可用信号发送候选块与当前块之间的残余。可通过用信号发送识别候选块的位置的预测向量及表示当前块与候选块之间的差的残余而实现位节省,而不是必须用信号发送当前块的实际像素值。方法700在框720处结束。

在方法700中,可去除(例如,不执行)图7中所展示的框中的一或多者,及/或可交换执行方法的顺序。在一些实施例中,可将额外框添加到方法700。因此,本发明的实施例不限于图7中展示的实例或不受图7中展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。

在发现候选块之后

在已确定最佳候选块之后,从当前块的像素值减去候选块的像素值,从而得到残余。可基于与块预测模式相关联的预选择QP量化残余。经量化残余可使用码本(其可为固定长度或可变长度)来编码并使用固定长度码或可变长度码用信号发送。所选码本可基于译码效率及硬件复杂度要求。举例来说,所选码本可为指数-哥伦布码本。在本发明的一些实施例中,可使用类似于现有DSC实施方案的增量大小单元可变长度译码(DSU-VLC)的熵译码方案。在一些实施例中,可在上文所描述的量化之前变换残余(例如,使用直接余弦变换、哈达玛(Hadamard)变换或其它已知变换)。

在本发明的一些实施例中,可将当前块的残余中的样本分割成多个组(例如,对于含有16个样本的块来说每组4个样本)。如果块中的所有系数为零,那么使用跳过模式来译码块的残余,即,用信号发送每块(每分量)1位标记以指示块中的当前分量是否使用跳过模式经译码。如果块内含有至少一个非零值,那么可仅当每一组具有一个非零值时才使用DSU-VLC译码所述组。如果所述组(例如,残余中的16个样本中的4个样本)不含有任何非零值,那么使用跳过模式译码所述组,即,用信号发送每组1位标记以指示所述组是否使用跳过模式经译码。更确切地说,对于每一组,可执行搜索以确定所述组中的所有值是否为零。如果所述组中的所有值为零,那么可将值‘1’用信号发送到解码器;否则(如果至少一个值为非零),可将值‘0’用信号发送到解码器,继之以DSU-VLC译码的译码。在替代实例中,如果所述组中的所有值为零,那么可用信号发送值‘0’,并且如果所述组含有至少一个非零值,那么可用信号发送值‘1’。

在本发明的一些实施例中,通过发射含有最佳偏移的固定长度代码将最佳候选块显式地用信号发送到解码器。偏移可被称为“向量”。将向量显式地用信号发送到解码器的优势在于解码器自身将不必执行块搜索。实际上,解码器将显式地接收向量且将候选块添加到经解码、解量化残余值以确定当前块的像素值。

块分割

在本发明的一些实施例中,可分割待译码的当前块,得到多个候选块及每块的多个向量。在此类实施例中的一些中,可使用固定长度代码显式地用信号发送向量。举例来说,此固定长度代码的长度可为log2(SR)。在另一实施例中,可使用可变长度码显式地用信号发送向量,例如来自指数哥伦布或哥伦布莱斯码族的代码。可基于与向量相关联的统计分布选择此码本。在又一实施例中,可基于先前经译码向量来预测向量,且可使用某一固定长度或可变长度码来译码向量的残余。在又一实施例中,可基于先前经译码向量来预测向量,且1位标记可用于用信号发送两个向量是否相同。此标记可被称为SameFlag。如果SameFlag=1,那么向量值自身无需用信号发送到解码器。如果SameFlag=0,那么将显式地用信号发送向量(例如,使用固定长度或可变长度码)。在图8中说明实例块分割方案。

如图8中所展示,当前块802含有单一分区。针对当前块802而用信号发送的信息包括模式标头、向量SameFlag、向量A及有效负载。当前块804含有两个分区:分区A及分区B。针对当前块804用信号发送的信息包括模式标头、向量SameFlag、向量A、向量SameFlag、向量B及有效负载。如上文所描述,可能不用信号发送上文所列的一或多个项目。举例来说,如果向量SameFlag等于1,那么无需用信号发送以下向量。

分区大小β可确定当前块分割成单独子块。在此情况下,可针对每一子块执行单独块预测。举例来说,如果块大小为N=16且分区大小β=8,那么将针对16/8=2分区中的每一者执行搜索。在另一个实例中,如果β=N,那么停用块分割。如果β<N,那么可将每一向量显式地用信号发送到解码器。如果不采用向量预测(例如,使用先前用信号发送的向量来定义当前向量),那么将使用固定长度或可变长度代码尔用信号发送每一向量。如果采用向量预测,那么可从先前经译码向量(例如,存储于存储器中)预测第一向量,且对于n>0,从向量n-1预测向量n。

优势

可使用不对称设计来实施本发明中所描述的一或多个块预测模式技术。不对称设计允许在编码器侧上执行更昂贵的程序,降低解码器复杂度。举例来说,由于将向量显式地用信号发送到解码器,编码器相较于解码器起主要作用。这是编码器通常为芯片上系统(SoC)设计的部分的理想情况,所述芯片上系统在高频下在先进处理节点(例如,20nm及小于20nm)上运行。同时,很可能在具有受限时钟速度及大得多的处理大小(例如,65nm及大于65nm)的显示驱动器集成电路(DDIC)玻璃片上芯片(COG)解决方案上实施解码器。

另外,根据本发明的一或多个实施例,块分割允许经改进的译码效率,这是因为具有内容过渡的块最优地可由两个单独向量发现。

此外,根据本发明的一或多个实施例,从先前向量有效地预测每一向量。当将向量用信号发送到解码器时利用当前线与先前线中的块之间的空间相关性产生位节省。

在本发明的一些实施方案中,本文中所描述的块预测模式技术可通过移除量化步骤且潜在地改变用于编码预测残余的码本的统计数据而使用于数学无损编解码器中。此外,本文中所描述的块预测模式技术可用于利用单一线缓冲器(即,1-D块大小)或多个线缓冲器(即,2-D块大小)的编解码器中。另外,在切片条件下针对第一线搜索当前线提高第一线的质量,即使没有垂直相邻者可用于预测。

性能

最好可通过检查不使用块预测模式可难以译码的内容而表明本发明的一或多个实施例的性能。图9及10分别说明使用及不使用块预测模式而译码的实例图像内容。使用固定比率4:1压缩展示所有实例。使用峰值信噪比(PSNR)来测量目标质量,所述目标质量为用于图像质量的共同目标度量。

本文中所描述的编解码器的速率控制机制可经设计以基于速率与失真之间的平衡点为每一块选择最佳译码模式。因此,块预测模式经选择用于图10中所说明的内容中的大部分块的事实是块预测模式是为此类内容提供优良的译码效率的指示。

展示于图9中的图像内容900(其中停用块预测模式)具有36.30dB的PSNR。所述图像内容900从左到右包含经重建图像、每块模式选择映射及经重建图像的放大区域。展示于图10中的图像内容1000(其中启用块预测模式)具有45.60dB的PSNR。图像内容1000从左到右包含经重建图像、每块模式选择映射(其中块预测块展示于马真塔(magenta)中)及经重建图像的放大区域。

其它考虑因素

可使用多种不同技术和技艺中的任一者来表示本文中所公开的信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中可能提及的数据、指令、命令、信息、信号、位、符号及芯片。

结合本文中所公开的实施例所描述的各种说明性逻辑块及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统上的设计约束。本领域技术人员可针对每一特定应用以不同方式实施所描述功能性,但此类实施决策不应被解释为引起偏离本发明的范围。

本文中所描述的技术可以硬件、软件、固件或其任一组合来实施。此些技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机和其它装置中的应用的多种用途。被描述为装置或组件的任何特征可一起实施于集成逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及类似物。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机接入、读取和/或执行(例如,传播的信号或波)。

程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指代上述结构中的任一者、上述结构的任何组合,或适用于实施本文中所描述的技术的任何其它结构或设备。此外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件或硬件内或并入组合式视频编码器-解码器(编码解码器)中。另外,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可以实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。本发明中描述各种组件或单元是为了强调经配置以执行所公开技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元(包含如上文所描述的一或多个处理器)的集合来提供。

虽然已经结合各种不同实施例描述了前文,但可在不脱离本发明的教示的情况下将来自一个实施例的特征或要素与其它实施例组合。然而,相应实施例之间的特征的组合不必限于此。已经描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号