用于非变换编码的扫描次序的制作方法

文档序号:9693681阅读:383来源:国知局
用于非变换编码的扫描次序的制作方法
【专利说明】用于非变换编码的扫描次序
[0001 ] 背景
[0002]视频压缩技术被用于高效地递送和存储视频内容。这些技术一般寻求减少表示视频内容的数据量。在一个示例中,视频帧被划分成经历各种编码技术(诸如预测、变换、量化和熵编码)的像素块(例如,编码单元)。在像素块的编码期间,扫描过程可对与该块相关联的数据的二维阵列(例如,变换系数)来执行以将该数据重新安排成经历熵编码的一维阵列。扫描过程可根据特定次序(例如,水平、锯齿形、垂直等)来执行以将特定数据(例如,非零系数)安排在该一维阵列的一端。
[0003]概述
[0004]本公开涉及根据最优扫描次序来编码视频内容的非变换块。在一些实现中,编码器或解码器可在编码期间执行扫描过程来将与像素块相关联的数据的二维阵列改变为数据的一维阵列,或者相反。扫描过程可根据某一次序(例如,水平、垂直、锯齿形等)来执行以重新安排数据来用于熵编码。当已经被变换的编码块要被编码时,编码器或解码器可使用特定扫描次序。当没有被变换的块要被编码时(例如,非变换块、与非变换编码相关联的块等),编码器或解码器可选择性地将特定扫描次序改变为不同的次序。例如,如果非变换块与特定类型的预测相关联,则扫描次序可被改变为不同的次序。在另一示例中,如果非变换块具有比预先确定的大小更小的大小(例如,8x8块、16x16块等),则扫描次序可被改变为不同的次序。
[0005]提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0006]附图简述
[0007]参考附图阐述【具体实施方式】。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。
[0008]图1示出用于通过选择性地改变扫描次序来编码视频内容的非变换块的示例架构。
[0009]图2示出图1的编码器的示例细节。
[0010]图3示出图1的解码器的示例细节。
[0011 ]图4A-4B示出可被用于扫描块的示例扫描次序。
[0012]图5示出用于通过选择性地改变扫描次序来编码视频内容的非变换块的示例过程。
[0013]详细描述
[0014]视频内容一般包括一系列帧,其中在单个帧中或跨多个帧具有重复信息。为了降低重复信息的量,各种编码(例如,压缩)技术可被实现来减少被用于表示视频内容的比特数,诸如预测、变换、量化和熵编码。在执行编码技术时(例如,在熵编码之前或期间),扫描过程可被执行来将与像素块相关联的数据的二维阵列改变为数据的一维阵列,或者相反。扫描过程可根据特定次序(例如,水平、垂直、锯齿形等)来执行以尝试将特定类型的数据(例如,非零变换系数)安排在该一维阵列的一端。然而,针对所有类型的块的统一扫描次序可导致不理想的结果,诸如特定类型的数据在一维阵列中的不规则分布。
[0015]本公开涉及根据最优扫描次序来编码视频内容的非变换块。在一些实例中,基于与非变换块相关联的信息(例如,块的预测模式和/或大小),本来可被用于扫描非变换块的扫描次序可被选择性地改变为不同的次序。这可允许与块相关联的特定类型的数据在扫描期间被高效地安排和/或避免不必要地引入由于改变扫描次序而产生的复杂性。
[0016]在一些实现中,编码器或解码器可通过预测、量化和/或熵编码来在不变换块的情况下编码该块。这种类型的块可被称为“非变换块”。在这样的实例中,编码器或解码器可确定是否改变在编码期间被执行的扫描过程的扫描次序。例如,编码器或解码器可确定是根据被用于已经被变换的块(称为“经变换的块”)的扫描次序来扫描非变换块还是根据不同的次序来扫描非变换块。
[0017]为了说明,如果非变换块与特定类型的预测(例如,帧内预测)相关联,则非变换块可根据与被用于扫描经变换的块不同的次序来被扫描。在另一示例中,如果非变换块具有比预先确定的大小更小的大小(例如,8x8块、16x16块等),则非变换块可根据与被用于扫描经变换的块不同的次序来被扫描。
[0018]在任一情况下,非变换块可根据最优扫描次序来被扫描。例如,非变换块的数据的二维阵列(例如,残余信息)可按特定次序来被扫描以生成数据的一维阵列。该一维阵列接着可经历熵编码。
[0019]尽管编码技术中的许多编码技术在本文中是在高效视频编码(HEVC)标准的上下文中描述的,但是这些技术可类似地应用于其他标准,如高级视频编码(AVC)标准等等。
[0020]该简要介绍是为方便读者理解而提供的,且并不旨在限制权利要求以及以下各节的范围。此外,下文详细描述的技术可以用多种方式且在多种上下文中实现。如下文更详细描述的,参考以下附图提供了一个示例实现和上下文。然而,将领会以下实现和上下文仅仅是许多示例中的一个示例。
[0021 ] 示例架构
[0022]图1示出了用于根据特定扫描次序来编码非变换块的示例架构100。在此,在视频内容源102的上下文中来描述编码技术,视频内容源102编码(例如,压缩)视频内容并将已编码的视频内容发送给设备104。例如,视频内容源102可通过选择性地改变被用于扫描块的扫描次序来编码视频内容。经编码的视频可通过网络106被发送到设备104,在此视频内容可通过选择性地改变扫描次序来被解码。虽然视频编码和解码技术在本文中被讨论为在分开的设备(例如,视频内容源102和设备104)上执行,但是编码和/或解码可在相同的设备上执行或跨分布式计算环境中的各设备分布。
[0023]视频内容源102和/或设备104可以被实现为任意类型的计算设备,诸如服务器、膝上型计算机、台式计算机、智能电话、电子阅读器设备、移动手机、个人数字助理(PDA)、便携式导航设备、便携式游戏设备、游戏控制台、平板计算机、智能手表、便携式媒体播放器、机顶盒等。在一个示例中,视频内容源102和/或设备104被配置在群集、数据中心、云计算环境或其组合中。为了说明,视频内容源102可作为提供云服务(诸如存储、处理等)的云计算设备来操作。云环境可包括网络分布式环境,该网络分布式环境包括一种或多种类型的计算资源(例如,计算、联网和/或存储设备)。
[0024]视频内容源102可配备有一个或多个网络接口 108、一个或多个处理器110和存储器112。一个或多个处理器110可以包括中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器等等。存储器112可被配置成存储一个或多个软件和/或固件模块,其可以在一个或多个处理器110上执行以实现各种功能。为了讨论的目的,术语“模块”旨在代表软件的示例划分,不旨在代表任何类型的需求,或所需方法、方式或组织。因此,当讨论各种“模块”时,它们的功能和/或类似功能可被不同地安排(例如,组合成更少数量的模块,打破为更多数量的模块等)。此外,尽管特定功能和模块在此被描述为由可在处理器上执行的软件和/或固件来实现,但是在其它实施例中,所述模块中的任何或全部模块都可以完全或部分地由硬件(例如作为ASIC、专用处理单元等)来实现以执行所描述的功能。
[0025]如图1中示出的,存储器112可以包括被配置成编码(例如,压缩)视频内容116的编码器114(例如,编码器模块)。编码器114可应用各种编码技术(诸如预测、转换、量化和/或熵编码)来生成表示视频内容的比特流。在执行编码技术时(例如,在熵编码之前或期间),可根据扫描次序来执行扫描过程以尝试以特定次序安排表示像素块的数据。编码器114可改变针对满足一个或多个准则的非变换块的扫描次序,该一个或多个准则诸如与特定类型的预测(例如,帧内预测)相关联和/或具有特定大小(例如,比8x8块、16x16块、32x32块等小的大小)。例如,为了扫描特定非变换块,编码器114可将扫描次序从与变换块相关联的第一扫描次序118改变为第二扫描次序120。关于编码器114的进一步细节在以下参考图2来讨论。虽然图1中没有示出,但是存储器112还可以包括被配置成解码视频内容的解码器。
[0026]设备104配备有一个或多个网络接口 122、一个或多个处理器124和存储器126。一个或多个处理器124可以包括中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器等等。存储器126可被配置成存储一个或多个软件和/或固件模块,其可以在一个或多个处理器124上执行以实现各种功能。例如,存储器126可包括解码器128(例如,解码器模块),该解码器128被配置成对接收自视频内容源102和/或不同源的视频内容130进行解码。解码器128可一般地通过执行基本上是编码操作的逆的操作来解码表示视频
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1