使用混合递归滤波器的视频帧内预测的制作方法

文档序号:13944003阅读:111来源:国知局

本申请涉及2015年6月22日提交的第62/183,115号美国临时申请,所述美国临时申请的全部内容以引用的方式并入本文中。

技术领域

本公开涉及视频编码和解码,且更具体地说,视频帧内预测。



背景技术:

数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、笔记本电脑或台式电脑、平板电脑、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置和其类似物。数字视频装置实施视频压缩技术,例如描述于以下各项中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、ITU-T H.265高效视频译码(HEVC)标准,和这些标准的扩展。最终HEVC标准(即,ITU-T H.265,H系列:视听和多媒体系统,视听业务的基础架构—对移动视频的译码,2015年4月)的副本可在以下网址获取:https://www.itu.int/rec/T-REC-H.265-201504-I/en。

视频装置可以通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成若干视频块。在一些实例中,此些视频块也可被称作树块、译码单元(CU)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。

空间或时间预测产生待译码块的预测性块。残差数据表示待译码原始块与预测性块的之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量和指示经译码块与预测性块之间的差的残差数据编码的。根据帧内译码模式和残差数据来编码经帧内译码块。为了进一步压缩,残差数据可从像素域变换到变换域,从而产生接着可经量化的残差系数(即,残差变换系数)。初始地布置成二维阵列的经量化系数(即,残差变换系数)可经扫描以便产生系数(即,变换系数)的一维向量,且可应用熵译码以实现甚至更多压缩。



技术实现要素:

在一个实例中,对视频数据进行解码的方法包含从经译码视频位流且对于视频数据的当前块获得识别初始预测性块的帧内预测模式的指示;基于初始预测性块的多个线的前面线中样本的经滤波值和初始预测性块的多个线的当前线中样本的未经滤波值并行地对初始预测性块的多个线的当前线中样本进行滤波,以产生初始预测性块的当前线的样本的经滤波值,其中多个线包括视频数据的多个行或多个列;以及使用帧内预测基于当前初始预测性块的样本的经滤波值和表示当前初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据重构当前块的样本的值。

在另一实例中,对视频数据进行编码的方法包含对于视频数据的当前块选择初始预测性块;基于初始预测性块的多个线的前面线中样本的经滤波值和初始预测性块的多个线的当前线中样本的未经滤波值并行地对初始预测性块的多个线的当前线中样本进行滤波,以产生初始预测性块的当前线的样本的经滤波值,其中多个线包括视频数据的多个行或多个列;以及在经译码视频位流中对识别初始预测性块的帧内预测模式的指示和表示初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据进行编码。

在另一实例中,用于对视频数据进行编码或解码的装置包含经配置以存储视频数据的部分的存储器;和一或多个处理器。在此实例中一或多个处理器经配置以:对于视频数据的当前块识别初始预测性块;基于初始预测性块的多个线的前面线中样本的经滤波值和初始预测性块的多个线的当前线中样本的未经滤波值并行地对初始预测性块的多个线的当前线中的样本进行滤波,以产生初始预测性块的当前线的样本的经滤波值,其中多个线包括视频数据的多个行或多个列;以及使用帧内预测基于当前初始预测性块的样本的经滤波值和表示当前初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据重构当前块的样本的值。

在另一实例中,非暂时性计算机可读存储媒体存储指令,所述指令在被执行时致使视频编码或解码装置的一或多个处理器:对于视频数据的当前块识别初始预测性块;基于初始预测性块的多个线的前面线中样本的经滤波值和初始预测性块的多个线的当前线中样本的未经滤波值并行地对初始预测性块的多个线的当前线中的样本进行滤波,以产生初始预测性块的当前线的样本的经滤波值,其中多个线包括视频数据的多个行或多个列;以及使用帧内预测,基于当前初始预测性块的样本的经滤波值和表示当前初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据重构当前块的样本的值。

在附图和以下描述中阐述本公开的一或多个方面的细节。本公开中所描述的技术的其它特征、目标和优势将从描述和图式且从权利要求书而显而易见。

附图说明

图1是说明可利用本公开中所描述的技术的实例视频译码系统的框图。

图2是说明实例帧内预测模式方向的概念图。

图3是说明用于帧内预测的实例技术的概念图。

图4是说明用于应用到预测块的递归滤波器的实例支架的概念图。

图5是说明用于应用到预测块的递归滤波器的实例支架的概念图。

图6A和6B是说明根据本公开的一或多种技术的用于应用到预测块的递归滤波器的实例支架的概念图。

图7是说明可实施本公开中所描述的技术的实例视频编码器的框图。

图8是说明可实施本公开中所描述的技术的实例视频解码器的框图。

图9是说明根据本公开的一或多种技术的使用混合递归滤波器对视频编码器进行实例操作以对图片的视频数据块进行编码的流程图。

图10是说明根据本公开的一或多种技术的使用混合递归滤波器对视频解码器进行实例操作以对图片的视频数据块进行解码的流程图。

具体实施方式

本公开的技术包括使用经设计用于平行计算的混合递归滤波器的经改进视频帧内预测的技术。例如HEVC的许多视频译码标准实施帧内预测。一般来说,帧内预测涉及基于当前正译码的图片中的参考样本产生当前正译码的块的预测性块。

本公开可将当前正译码的图片称为当前图片。此外,本公开可将当前正译码的块称为当前块。视频译码器可使用各种帧内预测模式以产生预测性块。帧内预测模式可包含角度帧内预测模式、平面帧内预测模式和DC帧内预测模式。

图1是说明可利用本公开的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器和视频解码器两者。在本公开中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。因此,图1为说明可利用本公开中所描述的技术的实例视频编码和解码系统10的框图。本公开中描述的技术包括使用经设计用于平行计算的混合递归滤波器的经改进视频帧内预测的技术。

如图1中所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可对由源装置12产生的经编码视频数据进行解码。因此,视频译码系统10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码视频数据。因此,目的地装置14可被称为视频解码装置或视频解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。

源装置12和目的地装置14可包括多种多样的装置,包含台式电脑、移动计算装置、笔记本计算机(例如,笔记本电脑)、平板电脑、机顶盒、例如所谓的“智能”电话的电话手机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置、车内计算机,或其类似物。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。

目的地装置14可经由信道16从源装置12接收经编码视频数据。换句话说,源装置12可经由信道16将视频数据提供到目的地装置14。信道16也可被称作“链路”。在一些实例中,信道16可包括计算机可读媒体。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协议等通信标准调制经编码视频数据,且可将经调制的视频数据发射到目的地装置14。一或多个通信媒体可包含无线通信媒体和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。一或多个通信媒体可包含路由器、交换机、基站或促进从源装置12到目的地装置14的通信的其它装备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可例如经由磁盘存取或卡存取来存取存储媒体。因此,在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储媒体(例如,存储装置)可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或其它合适的用于存储经编码视频数据的数字存储媒体。因此,信道16可包含瞬时媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据且可例如经由网络传输将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,可将信道16理解为包含各种形式的一或多个计算机可读媒体。

在另一实例中,信道16可包含文件服务器装置或存储由源装置12产生的经编码视频数据的另一中间存储装置。在此实例中,目的地装置14可(例如,经由流式传输或下载)存取存储于文件服务器装置或其它中间存储装置处的经编码视频数据。文件服务器装置可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的一种类型的服务器。实例文件服务器装置包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。

目的地装置14可通过标准数据连接(例如因特网连接)来存取经编码视频数据。数据连接的实例类型可包括适合于存取存储于文件服务器装置上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等),或两者的组合。经编码视频数据从文件服务器装置的传输可为流式传输、下载传输或两者的组合。

本公开的技术不限于无线应用或设置。技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视传输、卫星电视传输、例如经由因特网的流式传输视频传输(例如基于HTTP的动态自适应流式传输(DASH))、对用于储存在数据存储媒体上的视频数据的编码、对存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。

图1仅为实例且本公开的技术可应用不必包含编码与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、经由网络流式传输等等。视频编码装置可对数据进行编码且将数据存储到存储器,和/或视频解码装置可从存储器检索数据且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。

在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入端口、和/或用于产生视频数据的计算机图形系统,或视频数据的此类源的组合。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频、存档视频与计算机产生的视频的组合。

视频编码器20可对来自视频源18的视频数据(例如,捕获、预捕获或计算机产生的视频)进行编码。在一些实例中,源装置12经由输出接口22将经编码视频数据直接发射到目的地装置14。在其它实例中,经编码视频数据还可存储到存储媒体或文件服务器装置上,以便随后通过目的地装置14存取以用于解码和/或播放。根据本公开的技术中的一或多个,源装置12的视频编码器20可应用用于用信号表示帧内预测中的自适应滤波器使用的技术。源装置12和目的地装置14可各自相应地包含经配置以存储经编码和/或经解码视频数据的一或多个数据存储媒体。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在其它实例中,源装置12和目的地装置14可包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而非包含集成显示装置。

输入接口28可经由信道16接收经编码视频数据。在一些实例中,输入接口28包含接收机和/或调制解调器。视频解码器30可对经编码视频数据进行解码。经由信道16传达或在存储装置上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供例如视频解码器30等视频解码器用于对视频数据进行解码。此类语法元素可包含有发射在通信媒体上、存储于存储媒体上或存储于文件服务器装置上的经编码视频数据。因此,在一些实例中,目的地装置14的输入接口28从信道16(例如,计算机可读媒体)接收信息。信道16的信息可包含由视频编码器20定义、还供视频解码器30使用的语法信息,所述语法信息包含描述块和其它经译码单元(例如图片群组(GOP))的特性和/或处理的语法元素。

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

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

视频编码器20和视频解码器30各自可实施为各种合适电路(例如,编码器或解码器电路,如适用)中的任一种,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件,或其任何组合。在其中技术部分地以软件实施的实例中,装置可将用于软件的指令存储在合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器在硬件中执行指令以执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一个可被视为一或多个处理器。视频编码器20和视频解码器30中的每一个可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可集成为相应装置中的组合编码器/解码器(CODEC)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如,蜂窝式电话。

本公开可大体上涉及视频编码器20向另一装置(例如,视频解码器30)“用信号表示”某些信息。术语“用信号表示”可大体上是指对用以对经压缩的视频数据进行解码的语法元素和/或其它数据的传达。此传达可实时或几乎实时发生。替代地,此传达可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

图1所说明的系统10仅为一个实例。用于用信号表示用于帧内预测的自适应滤波器的技术可由任何数字视频编码和/或解码装置执行。尽管本公开的技术一般通过视频编码装置来执行,但是技术还可通过视频编码器/解码器(通常被称作“CODEC”)来执行。此外,视频预处理器可执行本公开的技术中的一或多个。源装置12和目的地装置14仅为其中源装置12产生经译码视频数据以供传输到目的地装置14的这些译码装置的实例。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一个包含视频编码和解码组件。

视频编码器20和视频解码器30可根据例如ITU-T H.265(HEVC)标准(建议ITU-T H.265,高效视频译码,2014年10月)的视频压缩标准或其扩展而操作。替代地,视频编码器20和视频解码器30可根据其它专有或行业标准或这些标准的扩展而操作。

在HEVC和其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,标示为SL、SCb和SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度(chroma)”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。

为了产生图片的经编码表示,视频编码器20可产生一组译码树单元(CTU)。CTU中的每一个可包括亮度样本的译码树块、色度样本的两个对应的译码树块,和用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块和用于对译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目的CTU。

为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可包括具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块,和用于对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器20可将CU的译码块分割为一或多个预测块。预测块是对其应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括亮度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可产生用于CU的每一PU的亮度预测块、Cb预测块和Cr预测块的预测性亮度块、Cb块和Cr块。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,那么视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的预测性块。在本公开中,短语“基于”可指示“至少部分基于”。如果视频编码器20使用帧间预测产生PU的预测性块,那么视频编码器20可基于除与PU相关联的图片以外的一或多个图片的经解码样本来产生PU的预测性块。

图2是说明实例帧内预测模式方向的概念图。当视频译码器根据方向性帧内预测模式产生预测性块时,视频译码器可针对预测性块的每一相应样本向相应样本指派参考样本的值(或参考样本的经加权组合),所述参考样本与在对应于方向性帧内预测模式的方向上的相应样本对准。当视频译码器使用方向性(即,角)帧内预测模式产生当前块的预测性块时,可认为视频译码器执行角帧内预测。在H.265/HEVC中,当执行帧内预测时可存在35个不同预测符供使用。类似地,在H.264/AVC中,当执行帧内预测时可存在9个不同预测符供使用。

为支持帧间预测,视频编码器20可产生一或多个参考图片列表。这些参考图片列表可被称为RefPicList0和RefPicList1。在一些实例中,视频编码器20可产生用于不同图片或图片的不同切片的不同参考图片列表。因此,不同图片和/或切片的不同PU可与RefPicList0和RefPicList1的不同版本相关联。

此外,当视频编码器20使用帧间预测以产生PU的预测性块时,视频编码器可用信号表示PU的运动信息。运动信息可包含用于PU的参考索引和用于PU的运动向量。PU的参考索引可指示与PU相关联的参考图片列表中的一个内的参考图片的位置。PU的运动向量可指示PU的预测块与参考图片中的参考位置之间的空间移位。视频编码器20可使用与参考位置相关联的参考图片的样本来产生PU的预测性块。因为PU可与两个参考图片相关联,所以PU可具有两个参考索引和两个运动向量。因此PU可具有RefPicList0参考索引和RefPicList1参考索引。PU的RefPicList0参考索引指示PU的RefPicList0的版本中的参考图片。PU的RefPicList1参考索引指示PU的RefPicList1的版本中的参考图片。类似地,PU可具有RefPicList0运动向量和RefPicList1运动向量。PU的RefPicList0运动向量可指示PU的RefPicList0的版本中的参考图片中的参考位置。PU的RefPicList1运动向量可指示PU的RefPicList1的版本中的参考图片中的参考位置。

视频编码器20可在位流中用信号表示PU的参考索引和运动向量。换句话说,视频编码器20可在位流中包含指示PU的参考索引和运动向量的数据。视频解码器30可重构PU的RefPicList0和/或RefPicList1版本且可使用PU的参考索引和运动向量确定PU的一或多个预测性块。视频解码器30可使用PU的预测性块连同残差数据一起来解码样本。

在视频编码器20产生用于CU的PU的预测性块之后,视频编码器20可产生CU的残差块。CU的残差块中的每一样本可指示CU的PU的一个预测性块中的样本与CU的译码块中的一个中的对应样本之间的差。举例来说,视频编码器20可产生用于CU的一或多个PU的预测性亮度块,视频编码器20可产生用于CU的亮度残差块。CU的亮度残差块中的每一样本指示CU的预测性亮度块中的一个中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。另外,视频编码器20可产生CU的Cb残差块。CU的Cb残差块中的每一样本可指示CU的预测性Cb块中的一个中的Cb样本与CU的原始Cb译码块中对应样本之间的差。视频编码器20还可产生CU的Cr残差块。CU的Cr残差块中的每一样本可指示CU的预测性Cr块中的一个中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。

此外,视频编码器20可使用四叉树分割以将CU的残差块(例如,亮度残差块、Cb残差块和Cr残差块)分解成一或多个变换块(例如,亮度变换块、Cb变换块和Cr变换块)。变换块可为对其应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括亮度样本的变换块、色度样本的两个对应变换块和用以对变换块样本进行变换的语法结构。因此,CU的每一TU可与亮度变换块、Cb变换块和Cr变换块相关联。与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。

视频编码器20可将一或多个变换应用到TU的变换块从而产生TU的系数块。系数块可为变换系数的二维阵列。变换系数可为标量。举例来说,视频编码器20可将一或多个变换应用到TU的亮度变换块以产生TU的亮度系数块。视频编码器20可将一或多个变换应用到TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用到TU的Cr变换块以产生TU的Cr系数块。

在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化大体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片和相关联数据的表示的位元序列的位流。术语“位流”可为用以指网络抽象层(NAL)单元流(例如,NAL单元序列)或字节流(例如,含有开始码前缀的NAL单元流和如由HEVC标准的附录B指定的NAL单元的囊封)的集合术语。NAL单元是含有NAL单元中的数据类型的指示和含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一个可包含NAL单元标头且可囊封RBSP。所述NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位元。

不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于SEI的RBSP等等。囊封视频译码数据的RBSP(与参数集和SEI讯息的RBSP相对)的NAL单元可被称为视频译码层(VCL)NAL单元。含有参数集(例如,VPS、SPS、PPS等)的NAL单元可被称为参数集NAL单元。

视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以获得来自位流的语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量,以确定当前CU的PU的预测性块。另外,视频解码器30可逆量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。

通过使用邻近于待预测块的样本群组(例如,4N+1个样本)可将帧内预测应用到具有N×N样本(即,像素)的块。当计算块预测时,那些参考样本具有编码器和解码器处已知的值。可多达2*宽度+2*高度+1个样本的相邻参考样本可被用作帧内预测的参考样本。因此,这些已经重构样本可被称为参考样本。换句话说,在帧内预测中,在解块滤波器之前已经重构的来自待由视频编码器20帧内编码或由视频解码器30帧内解码的块的顶侧和左侧的相邻样本用于预测。即,这些顶侧和左侧像素可被称为参考样本。参考样本可为在应用循环滤波之前获得的经重构样本。

图3是说明用于帧内预测的实例技术的概念图。图3包含为4×4样本的块(白色正方形)的块300,和经重构参考样本302(阴影正方形)。如从图3可观察,可相应地定义N×N块中的样本集合和N×N块中样本的预测值,如下文方程式(1)中所展示。

另外,尽管参考值可以在一维阵列中,但使用相同二维坐标集合方便对其进行定义,如下文方程式(2)中所展示。

如上文所论述,为使用帧内预测对块300进行编码,视频编码器20可选择邻近于块300的已经重构样本302(即,像素值)的预测性块且对识别预测符块的帧内预测模式的指示进行编码。视频编码器20还可对表示预测符块的样本与块300的样本之间的差的残差数据进行编码。

视频解码器30可使用大体上与由视频编码器20执行的过程互逆的过程对块300进行解码。举例来说,视频解码器30可使用帧内预测模式的指示以识别块300的预测符块,且将残差数据添加到预测符块的样本以重构块300的样本。

如以下各项中所描述:K.McCann、W.-J.Han、I.-K.Kim、J.Min、E.Alshina、A.Alshin、T.Lee、J.Chen、V.Seregin、S.Lee、Y.M.Hong、M.-S.Cheon和N.Shlyakhov的“三星(和BBC)的视频译码技术建议(Video coding technology proposal by Samsung(and BBC))”,Tech.Rep.JCTVC-A124,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合协作小组(JCT-VC),德国德累斯顿,2010年4月(以下称作“McCann”),S.Li、Y.Chen、J.Han、T.Nanjundaswamy和K.Rose的“帧内预测fi参数的速率失真优化和调适(Rate-distortion optimization and adaptation of intra prediction fi parameters)”,Proc.IEEE Int.Conf.Image Process.,法国巴黎,2014年10月,第3146-3150页(以下称作“Li”),以及Y.Chen、J.Han和K.Rose的“视频译码的帧内预测的递归外推法(A recursive extrapolation approach to intra prediction in video coding)”,Proc.IEEE Int.Conf.Acoustics Speech Signal Process.,加拿大不列颠哥伦比亚省温哥华,2013年5月,第1734-1738页(以下称作“Chen”),可通过以递归方式对预测块的样本进行滤波而改进通过帧内预测实现的压缩。举例来说,以递归方式对预测块内的样本进行滤波可能产生更小的残差值,从而改进通过帧内预测实现的压缩。

图4是说明用于应用到预测块内像素的递归滤波器的实例支架的概念图。图4说明可用于以递归方式对块400的样本进行滤波的在水平扫描方向上的滤波器支架402A和可用于以递归方式对块400的样本进行滤波的在垂直扫描方向上的滤波器支架402B。在任一扫描方向上,样本406A到406D(统称为“样本406”)的经以递归方式滤波的值可用于产生样本404的经以递归方式滤波的值。

为了使用滤波器支架402A和402B(统称为“滤波器支架402”)中的任一个对当前线中的当前样本进行滤波,视频译码器可使用当前样本的未经滤波值、先前线中样本的一或多个已经以递归方式滤波的值和当前线中样本的一或多个已经以递归方式滤波的值。作为一个实例,其中扫描方向是水平的,视频译码器可基于样本404的未经滤波值产生当前行408B中的样本404的经以递归方式滤波的值、先前行408A中样本406A到406C的经以递归方式滤波的值,和当前行408B中样本406D的经以递归方式滤波的值。作为另一实例,其中扫描方向是垂直的,视频译码器可基于样本404的未经滤波值产生当前列410B中样本404的经以递归方式滤波的值、先前列410A中样本406A到406C的经以递归方式滤波的值,和当前列410B中样本406D的经以递归方式滤波的值。

在一些实例中,可能需要以递归方式并行地对多个样本进行滤波,例如以缩短处理时间。然而,包含于滤波器支架402中的每一个中的经以递归方式滤波的值的集合不允许平行处理。换句话说,使用滤波器支架402中的任一个的视频译码器每次可仅以递归方式对单个样本进行滤波,这可能是不合乎需要的。

图5是说明用于应用到预测块的递归滤波器的实例支架的概念图。图5说明可用于以递归方式对块500的样本进行滤波的滤波器支架502。样本506A到506C(统称为“样本506”)的经以递归方式滤波的值可用于产生样本504的经以递归方式滤波的值。视频译码器可使用滤波器支架502以通过首先定义未用作预测但用于计算的一些值来根据以下方程式(3)和(4)依序计算新预测值进而产生样本的经滤波值。

q[i,-1]=r[i,-1],i=-1,0,1,...,N-1,(3)

q[-1,j]=r[-1,j],j=-1,0,1,...,N-1,(4)

视频译码器可接着根据方程式(5)依序计算经滤波值,其中α、β、γ和δ为递归二维滤波器参数。

相比于图4的滤波器支架402,归因于滤波器支架502中数据依赖性的几何布置,视频译码器可使用滤波器支架502以递归方式并行地对多个样本进行滤波。然而,滤波器支架502的并行度限于沿着对角线在群组进行平行滤波。举例来说,在图5的实例中,视频译码器可沿着每一虚线对角线并行地对样本进行滤波。此限制可能产生一些问题,包含这一事实:可并行滤波的样本的数目从1增加到N,且接着减少回到1。

另一问题在于使用仅四个滤波器参数(滤波器分接头)可获得的压缩改进有限。因而,实现较好压缩的一个方式是增加递归滤波器的支架(分接头的数目)。举例来说,Li描述了可通过可沿着水平或垂直方向对滤波序列进行的滤波且使用各自包含五个参数的图4的滤波器支架402A或402B来改进压缩。然而,如上文所论述,当使用图4的滤波器支架402A或402B时不可能执行平行滤波。

根据本公开的一或多种技术,视频译码器(例如,视频编码器20和/或视频解码器30)可使用混合递归滤波器来产生预测性块的样本的经滤波值。滤波器可被视为混合递归的,这是因为滤波器支架包含除经滤波样本外的样本的经滤波值和未经滤波值两者。举例来说,视频译码器可基于预测性块的多个线的前面线中样本的经滤波值和(2)预测性块的多个线的当前线中样本的未经滤波值并行地对(1)预测性块的多个线的当前线中的样本进行滤波,以(3)产生预测性块的当前线中样本的经滤波值。以此方式,本公开的技术使视频译码器能够与多于三个分接头并行对一致数目的样本进行滤波。

图6A和6B(统称为图6)是说明根据本公开的一或多种技术的用于应用到预测块的递归滤波器的实例支架的概念图。图6说明可用于上以递归方式对块600A的样本进行滤波的在水平扫描方向的滤波器支架602A和可用于以递归方式对块600B的样本进行滤波的在垂直扫描方向上的滤波器支架602B。

为了使用滤波器支架602A和602B(统称为“滤波器支架602”)中的任一个对当前线中的当前样本进行滤波,视频译码器可使用当前线中当前样本的未经滤波值、先前线中样本的一或多个已经以递归方式滤波的值和当前线中样本的一或多个未经滤波值。在图6A的实例中,其中扫描方向是水平的,视频译码器可基于样本604的未经滤波值产生当前行608B中的样本604的经以递归方式滤波的值、先前行608A中样本606A到606C的经以递归方式滤波的值,和当前行608B中样本606D和606E的未经滤波值。类似地,在图6B的实例中,其中扫描方向是垂直的,视频译码器可基于样本610的未经滤波值产生当前列614B中样本610的经以递归方式滤波的值、先前列614A中样本612A到612C的经以递归方式滤波的值,和当前列614B中样本612D和612E的未经滤波值。

在一些实例中,视频译码器还可使用一或多个后续线中样本的一或多个未经滤波值产生当前线中样本的经滤波值。举例来说,在图6A的实例中,视频译码器可基于样本604的未经滤波值产生当前行608B中样本604的经以递归方式滤波的值、先前行608A中样本606A到606C的经以递归方式滤波的值、当前行608B中样本606D和606E的未经滤波值,和下一行608C中样本606F到606H的未经滤波值。类似地,在图6B的实例中,视频译码器可基于样本610的未经滤波值产生当前列614B中样本610的经以递归方式滤波的值、先前列614A中样本612A到612C的经以递归方式滤波的值、当前列614B中样本612D和612E的未经滤波值,和下一列614C中样本612F到612H的未经滤波值。

在一些实例中,视频译码器还可使用多于一个前面线中样本的一或多个经滤波值产生当前线中样本的经滤波值。举例来说,视频译码器可使用行608A上一行中样本的一或多个经滤波值或列614A的左边列中样本的一或多个经滤波值。

应理解,图6A的从上到下次序和图6B的从左到右次序仅为说明性的且视频译码器可在相对方向上执行本公开的技术。举例来说,视频译码器可使用从下到上水平扫描方向上或从右到左垂直扫描方向上的混合递归滤波器。

如图中所举例说明,可沿着像素的全部行或列并行地完成递归滤波计算,这样可比沿着对角线的计算更简单且更高效。举例来说,使用混合递归滤波器,视频译码器可以能够沿着虚线并行地计算每一样本的经滤波值。

一般来说,视频译码器可根据以下方程式(6)在水平扫描方向上执行滤波和/或根据以下方程式(7)在垂直扫描方向上执行滤波,其中q[i,j]表示在位置[i,j]处的经滤波样本;p[i,j]表示在位置[i,j]处的未经滤波样本;且ak,l,m和bk,l,m是滤波器参数;m指示扫描方向,R0、R1和R2定义哪些经滤波样本用于产生在位置,处的经滤波样本;且S0、S1和S2定义哪些未经滤波样本用以产生在位置[i,j]处的经滤波样本。

在方程式(6)和方程式(7)中,如果R0=R1=R2=1且S0=S1=S2=1,那么相应结果将是应用到预测值的3×3块(例如滤波器支架602A和602B)的二维混合滤波器。

为了简化方程式(6)和方程式(7)中的符号,不考虑预测块的边界处的特殊情况(即,当i或j等于N-1时的情况)。在一些实例中,可重复边界像素值,这可能相当于将方程式(6)和方程式(7)中的p[i+k,j+l]替换为p[min(i+k,N-1),min(j+l,N-1)]。

在一些实例中,滤波器还可具有块位置依赖性。举例来说,在方程式(6)和方程式(7)中,滤波器参数集合ak,l,m和bk,l,m可替换为位置依赖性滤波器参数集合ai,j,k,l,m和bi,j,k,l,m。因此,在一些实例中,应用到除顶行和最左列位置外的初始预测性块的样本的滤波器是第一滤波器,且对于在初始预测性块的顶行或最左列中位置处的初始预测性块的每一至少特定样本,视频译码器可应用第二不同滤波器,以确定经修改预测性块中的特定经滤波样本,对应于块内相同位置的初始预测性块的特定经滤波样本和特定样本。

图7是说明可实施本公开中描述的技术的实例视频编码器的框图。图7是出于解释的目的而提供,且不应被视为将技术限制为本公开中所大致举例说明和描述的技术。出于解释的目的,本公开描述在HEVC译码的上下文中的视频编码器20。然而,本公开的技术可适用于其它译码标准或方法。

在图7的实例中,视频编码器20包含预测处理单元100、残差产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122和运动补偿单元124。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。

在一些实例中,视频编码器20可进一步包含视频数据存储器。视频数据存储器可存储待由视频编码器20的组件进行编码的视频数据。存储在视频数据存储器中的视频数据可例如从视频源18获得。经解码图片缓冲器116可为参考图片存储器,其存储参考视频数据以供在视频编码器20(例如)在帧内或帧间译码模式下对视频数据进行编码时使用。视频数据存储器和经解码图片缓冲器116可由多种存储器装置中的任一个形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器和经解码图片缓冲器116可由相同存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。

视频编码器20可接收视频数据。视频编码器20可对视频数据的图片的切片中的每一CTU进行编码。视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与亮度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。CU的大小可指CU的亮度译码块的大小且PU的大小可指PU的亮度预测块的大小。假定特定CU的大小为2Nx2N,视频编码器20和视频解码器30可支持用于帧内预测的2Nx2N或N×N的PU大小,和用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20和视频解码器30还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称分割。

帧间预测处理单元120可通过对CU的每一PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。帧间预测处理单元120可取决于PU是在I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测的。因此,如果PU是在I切片中,那么帧间预测处理单元120不对PU执行帧间预测。

帧内预测处理单元126可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性块和各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式产生PU的预测性块的多个集合。当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元126可使用来自相邻块的样本的特定集合产生PU的预测性块。假定对于PU、CU和CTU采用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元126可以使用各种数目的帧内预测模式,例如,33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

帧内预测处理单元126可使用帧内预测模式执行帧内预测以产生视频数据的块的初始预测性块。根据本公开的一或多种技术,帧内预测处理单元126可使用混合递归滤波器以对初始预测性块进行滤波。举例来说,帧内预测处理单元126可基于初始预测性块的多个线的前面线中的经滤波样本和当前线中的未经滤波样本并行地对初始预测性块的多个线的当前线中的样本进行滤波,以产生初始预测性块的当前线的经滤波样本,其中多个线包括视频数据的多个行或多个列。在一些实例中,取决于帧内预测处理单元确定滤波方向是水平的还是垂直的,帧内预测处理单元126可根据方程式(6)或方程式(7)对当前线中的样本进行滤波。在一些实例中,多个线的每一线可包含相同数量的非边界样本,帧内预测处理单元126可通过并行地对相应线的每一非边界样本进行滤波来对多个线的每一相应线中的样本进行滤波,以产生相应线的经滤波非边界样本。

预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真量度选择CU的PU的预测性数据。所选预测性数据的预测性块在本文中可被称作所选预测性块。

残差产生单元102可基于CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)和CU的PU的所选预测性块产生CU的残差块。举例来说,残差产生单元102可产生CU的残差块以使得残差块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选预测性块中的对应样本之间的差的值。如上文所论述,残差产生单元102可使用当前块的经以混合递归方式滤波的预测性块的值产生当前块的残差值。

因此,根据本公开的实例,视频编码器20可基于以上实例中所提及的块与经修改预测性块之间的差确定残差数据。视频编码器20可包含在包括视频数据的经编码表示的位流中的基于残差数据的数据。

变换处理单元104可以执行四叉树分割以将CU的残差块分割成与CU的TU相关联的变换块。因此,TU可与亮度变换块和两个对应色度变换块相关联。CU的TU的亮度变换块和色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。

变换处理单元104可通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。

量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可能使得信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度。

逆量化单元108和逆变换处理单元110可分别将逆量化和逆变换应用于系数块,以从系数块重构残差块。重构单元112可将经重构的残差块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。

滤波器单元114可执行一或多个去块操作来减少与CU相关联的译码块中的成块假影。在滤波器单元114对经重构译码块执行一或多个去块操作之后,经解码图片缓冲器116可存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构的译码块以对处于与CU相同的图片中的其它PU执行帧内预测。

熵编码单元118可以从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可以从量化单元106接收系数块,且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行CABAC操作、CAVLC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一种类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。

图8是说明可实施本公开中描述的技术的实例视频解码器的框图。图8是出于解释的目的而提供,且不限于如本公开中所大致举例说明和描述的技术。出于解释的目的,本公开在HEVC译码的上下文中描述视频解码器30。然而,本公开的技术可适用于其它译码标准或方法。

在图8的实例中,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。

在一些实例中,视频解码器30可进一步包含视频数据存储器。视频数据存储器可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器中的视频数据可经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而例如从来自例如相机的本地视频源的图1的信道16获得。视频数据存储器可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)151。CPB151可以是参考图片存储器,其例如以帧内或帧间译码模式存储参考视频数据以供视频解码器30对视频数据进行解码。视频数据存储器和CPB 151可由多种存储器装置中的任一种形成,例如包含同步DRAM(SDRAM)的动态随机存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器和CPB 151可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

经译码图片缓冲器(CPB)151可接收和存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB 151接收NAL单元,且剖析NAL单元以从位流获得语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可基于从位流获得的语法元素产生经解码视频数据。

位流的NAL单元可包含经译码切片的NAL单元。作为解码位流的部分,熵解码单元150可对来自经译码切片NAL单元的语法元素进行剖析和熵解码。经译码切片中的每一个可包含切片标头和切片数据。切片标头可含有关于切片的语法元素。

除对来自位流的语法元素进行解码之外,视频解码器30可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重构CU的译码块。

作为对CU执行解码操作的部分,逆量化单元154可逆量化(即,解量化)与CU的TU相关联的系数块。逆量化单元154可使用与TU的CU相关联的QP值来确定量化的程度,且同样地确定逆量化单元154将应用的逆量化的程度。也就是说,可通过调整在量化变换系数时使用的QP的值来控制压缩比,即,用以表示原始序列与经压缩序列的位数的比率。压缩比还可取决于所采用的熵译码的方法。

在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与TU相关联的残差块。例如,逆变换处理单元156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向性向变换或另一逆变换应用于变换系数块。

如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于空间上相邻的PU的预测块产生PU的预测性块(例如,预测性亮度块、Cb块和Cr块)。帧内预测处理单元166可基于从位流解码的一或多个语法元素确定用于PU的帧内预测模式。

帧内预测处理单元166可使用帧内预测模式执行帧内预测以产生视频数据的块的初始预测性块。根据本公开的一或多种技术,帧内预测处理单元166可使用混合递归滤波器以对初始预测性块进行滤波。举例来说,帧内预测处理单元166可基于初始预测性块的多个线的前面线中的经滤波样本和当前线中的未经滤波样本并行地对初始预测性块的多个线的当前线中的样本进行滤波,以产生初始预测性块的当前线的经滤波样本,其中多个线包括视频数据的多个行或多个列。在一些实例中,取决于帧内预测处理单元确定滤波方向是水平的还是垂直的,帧内预测处理单元166可根据方程式(6)或方程式(7)对当前线中的样本进行滤波。在一些实例中,多个线的每一线可包含相同数量的非边界样本,帧内预测处理单元166可通过并行地对相应线的每一非边界样本进行滤波来对多个线的每一相应线中的样本进行滤波,以产生相应线的经滤波非边界样本。

预测处理单元152可基于从位流提取的语法元素来建构第一参考图片列表(RefPicList0)和第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测编码,那么熵解码单元150可获得PU的运动信息。运动补偿单元164可基于PU的运动信息来确定用于PU的一或多个参考区域。运动补偿单元164可基于用于PU的一或多个参考块处的样本产生用于PU的预测性块(例如,预测性亮度块、Cb块和Cr块)。

重构单元158可使用来自CU的TU的变换块(例如,亮度变换块、Cb变换块和Cr变换块)与CU的PU的预测性块(例如,亮度块、Cb块和Cr块)的残差值(即,在适用时,帧内预测数据或帧间预测数据)来重构CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)。举例来说,重构单元158可将变换块的样本添加到预测性块的对应样本以重构CU的译码块。如上文所论述,重构单元158可通过使残差值加上当前块的经以混合递归方式滤波的预测性块的值来重构经帧内预测的当前块。

因此,根据本公开的实例,视频解码器30可基于从包括视频数据的经编码表示的位流获得的语法元素确定残差数据。此外,视频解码器30可基于在以上实例中提及的经修改预测性块和残差数据来重构视频数据的块。

滤波器单元160可执行解块操作以减少与CU的译码块相关联的成块假影。视频解码器30可将CU的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测和显示装置(例如,图1的显示装置32)上的显示。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可基于位流中的数据重构视频数据块。

图9是说明根据本公开的一或多种技术的使用混合递归滤波器对视频编码器进行实例操作以对图片的视频数据块进行编码的流程图。图9的技术可由一或多个视频编码器(例如,图1和7中所说明的视频编码器20)执行。出于说明的目的,在视频编码器20的上下文内描述图9的技术,但是具有不同于视频编码器20的配置的视频编码器可执行图9的技术。

对于视频数据的当前块,视频编码器20可选择初始预测性块(902)。举例来说,帧内预测处理单元126可评估通过多个帧内预测模式识别的多个候选预测性块且选择就像素差来说最紧密匹配当前块的候选预测性,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差度量确定。

根据本公开的一或多种技术,视频编码器20可基于初始预测性块的多个线的前面线中样本的经滤波值和(2)初始预测性块的多个线的当前线中样本的未经滤波值并行地对(1)初始预测性块的多个线的当前线中的样本进行滤波,以(3)产生初始预测性块的当前线的样本的经滤波值(904)。作为一个实例,其中多个线包括多个行,使得滤波方向是水平的,帧内预测处理单元126可根据上文的方程式(6)对当前线中的样本进行滤波。作为另一实例,其中多个线包括多个列,使得滤波方向是垂直的,帧内预测处理单元126可根据上文的方程式(7)对当前线中的样本进行滤波。

视频编码器20可在经译码视频位流中对识别初始预测性块的帧内预测模式的指示和表示初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据进行编码(906)。举例来说,视频编码器20可对一或多个语法元素进行编码,所述一或多个语法元素指示识别初始预测性块的帧内预测模式。视频编码器20可使用帧内预测基于当前初始预测性块的样本的经滤波值和表示当前初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据来重构当前块的样本的值。

图10是说明根据本公开的一或多种技术的使用混合递归滤波器对视频解码器进行实例操作以对图片的视频数据块进行解码的流程图。图10的技术可由一或多个视频解码器执行,例如图1和8中所说明的视频解码器30。在视频解码器30的上下文内描述图10的技术,但是具有不同于视频解码器30的配置的视频解码器可执行图10的技术。

视频解码器30可从经译码视频位流且对于视频数据的当前块获得含有识别初始预测性块的帧内预测模式的指示的语法元素(1002)。

根据本公开的一或多种技术,视频解码器30可基于初始预测性块的多个线的前面线中样本的经滤波值和(2)初始预测性块的多个线的当前线中样本的未经滤波值并行地对(1)初始预测性块的多个线的当前线中的样本进行滤波,以(3)产生初始预测性块的当前线的样本的经滤波值(1004)。作为一个实例,其中多个线包括多个行,使得滤波方向是水平的,帧内预测处理单元166可根据上文的方程式(6)对当前线中的样本进行滤波。作为另一实例,其中多个线包括多个列,使得滤波方向是垂直的,帧内预测处理单元166可根据上文的方程式(7)对当前线中的样本进行滤波。

视频解码器30可使用帧内预测基于当前初始预测性块的样本的经滤波值和表示当前初始预测性块的样本的经滤波值与当前块的样本的值之间的差的当前块的残差数据重构当前块的样本的值(1006)。

应认识到,取决于实例,本文中所描述的技术中的任一种的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非循序地执行动作或事件。

在一或多个实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,那么功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可以包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体等有形媒体,通信媒体(例如)根据通信协议包含促进将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

指令可以由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一个。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。而且,技术可完全实施于一或多个电路或逻辑元件中。

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

描述了各种实例。这些和其它实例以及其特定组合在所附权利要求书的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1