用于嵌入式图像编解码器的基于子块的熵译码的制作方法

文档序号:22236432发布日期:2020-09-15 19:45阅读:103来源:国知局
用于嵌入式图像编解码器的基于子块的熵译码的制作方法

本发明涉及视频译码。更具体地说,本发明涉及使用子块的熵译码。



背景技术:

视频译码包括量化、差分脉冲代码调制(dpcm)、熵译码和改善(refinement)。熵译码是通过用对应的可变长度输出码字取代每个固定长度输入符号来压缩数据的无损数据压缩方案。



技术实现要素:

基于子块的熵译码通过对内容的子块选择最佳的译码方案来更高效地对内容进行编码和解码。通过比较用于内容的每个子块的译码方案并且选择利用最少的位的译码方案,内容被更高效地编码。

在一个方面,一种被编程在装置的非暂时性存储器中的方法包括:将内容块划分为多个子块,使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块,并且基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块。所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,亮度子块的第二行包括两个子块,这两个子块均是使用第一译码表、第二译码表或第三译码表编码的,进一步地,其中,这两个子块是使用相同的译码表或不同的译码表编码的。对多个子块中的至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,其中,u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。对所述多个子块中的至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意是水平划分还是垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

在另一方面,一种设备包括用于存储应用的非暂时性存储器和耦合到该存储器的处理器,该处理器被配置为对所述应用进行处理,所述应用用于:将内容块划分为多个子块,使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块,并且基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块。所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,亮度子块的第二行包括两个子块,这两个子块均是使用第一译码表、第二译码表或第三译码表编码的,进一步地,其中,这两个子块是使用相同的译码表或不同的译码表编码的。对多个子块中的至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,其中,u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。对所述多个子块中的至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意是水平划分还是垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

在另一方面,一种系统包括第一计算装置和第二计算装置,第一计算装置被配置为:将内容块划分为多个子块,使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块,并且基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块,第二计算装置被配置为:对编码的至少一个子块进行解码。所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,亮度子块的第二行包括两个子块,这两个子块均是使用第一译码表、第二译码表或第三译码表编码的,进一步地,其中,这两个子块是使用相同的译码表或不同的译码表编码的。对多个子块中的至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,其中,u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,其中,u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且其中,v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。对所述多个子块中的至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意是水平划分还是垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

附图说明

图1例示说明根据一些实施例的实现编解码器的方法的流程图。

图2例示说明根据一些实施例的vlc表的示图。

图3例示说明根据一些实施例的关于亮度子块熵译码的示图。

图4例示说明根据一些实施例的用于亮度子块译码的表。

图5例示说明根据一些实施例的用于yuv422的色度子块译码的示图。

图6例示说明根据一些实施例的用于yuv444的色度子块译码的示图。

图7例示说明根据一些实施例的色度子块译码的示图。

图8例示说明根据一些实施例的被配置为实现基于子块的熵译码的示例性计算装置的框图。

图9例示说明根据一些实施例的装置网络的示图。

具体实施方式

为了改进译码器/解码器(“编解码器”),对熵译码进行优化。熵译码是用于压缩数据的二值化,并且压缩能够被逐块地执行。例如,16x2图像块被编码以使得结果包括头部位、熵译码位和改善位。

图1例示说明根据一些实施例的实现编解码器的方法的流程图。在步骤100中,对图像块(例如,16x2输入图像块)进行量化。量化是通过将值范围压缩为单个量子值的有损压缩技术。在步骤102中,利用差分脉冲代码调制(dpcm)来使用预测数字地表示采样的信号。在基于dpcm的译码中,通过区分相邻的量化像素值来产生残差信号。在步骤104中,执行修改的熵译码来对数据进行压缩。本文中进一步描述修改的熵译码。在步骤106中,对压缩的数据进行改善。在改善之后,编码的位流是可用的,该位流包括头部位、熵译码位和改善位。

图2例示说明根据一些实施例的vlc表的示图。示出了两种颜色编码格式(yuv422和yuv444),但是任何颜色编码格式都能够被利用。如已知的,yuv444等于4:4:4子采样(例如,y、u和v具有相同的采样速率),yuv422等于4:2:2子采样(例如,u和v被以y的速率的一半采样)。y是指亮度,u和v是指色度。

过去,相同的熵译码方案用于整个块(例如,16x2块)。如本文中所描述的基于子块的熵译码对块使用两个(或更多个)不同的熵译码方案。例如,在yuv422(200)中,y的16x2块使用第一熵译码表/方案(例如,ecx230),8x2块u和8x2块v使用第二熵译码表/方案(例如,ec1220)。在另一个例子中,在yuv444(210)中,y的16x2块使用第一熵译码方案(例如,ecx),16x2块u和16x2块v使用第二熵译码方案(例如,ec1)。

对于每个输入使用第二熵译码方案(例如,ec1),存在唯一的二值码字。例如,如所示,输入0导致码字1,等等。

因此,块被分割为子块,然后子块通过使用如本文中所描述的对应的熵译码方案(例如,对于y使用ecx,对于u、v使用ec1)被进行熵译码。在一些实施例中,对每个子块使用每个熵译码方案,并且对每个子块选择最佳的熵译码方案,其中,最佳意味着导致最少位的熵译码方案。例如,使用第一熵译码方案和第二熵译码方案对第一子块进行编码,然后比较每个结果的位的数量,并且使用具有较少的(或者如果更多的熵译码方案被使用,最少的)位的结果(例如,被示意给解码器,以使得解码器知道使用哪个熵译码方案来对数据进行解码)。

图3例示说明根据一些实施例的关于亮度子块熵译码的示图。当子块关闭300时,那么仅使用一个译码方案(例如,ecx)来对16x2块的整个y分量进行编码。当子块开启310时,那么每个亮度子块能够使用不同的可变长度译码(vlc)表或方案。在一些实施例中,亮度的第一行(例如,16x1子块312)使用ecx熵译码,亮度的第二行具有两个子块314、316,左边8个采样(例如,子块0)和右边8个采样(例如,子块1),其中,第二行的每个子块使用几个可能性(例如,表1(320)、表2(330)或ecx(230))中的一个表。表1和表2是示例性vlc表。表1还示出了如果残差量(residuallevel)的绝对值大于1,则表1不被选择,表2示出了如果残差量的绝对值大于2,则表2不被选择。尽管图3示出了被分割到第一行中的块,子块0和子块1,但是该块能够被以任何方式分割,诸如每个具有4个采样的子块。

图4例示说明根据一些实施例的用于亮度子块译码的表。对于每个子块,编码器向解码器示意哪个熵译码方案被使用。位用于示意亮度子块是开启还是关闭。如果亮度子块开启,则发送示意亮度子块类型/方案(例如,表1、表2或ecx)的附加头部。在一些实施例中,存在示意右边子块类型的特殊状况。如果左边子块的子块类型是ecx,则没有机会使右边子块为ecx(因为如果它是ecx,则这将与子块关闭相同)。在这个特殊状况下,使用以下信令:表1:信号0和表2:信号1。

表400示出了示意亮度子块要么开启、要么关闭的1位。例如,当码字为0时,那么使用子块关闭,当码字为1时,使用子块开启。表402示出了当子块标志/位开启时示意亮度子块类型的头部位。例如,码字10指示使用表1方案/类型,码字0指示使用表2方案,码字11指示使用ecx方案。

色度也被分割为子块。色度水平子块大小为:对于yuv422为8x1(对于u为2个子块,对于v为2个子块),对于yuv444为16x1(对于u为2个子块,对于v为2个子块)。色度垂直子块大小为:对于yuv422为4x2(对于u为2个子块,对于v为2个子块),对于yuv444为4x2(对于u为4个子块,对于v为4个子块)。

图5例示说明根据一些实施例的用于yuv422的色度子块译码的示图。在其中子块标志/信号关闭(例如,信号0)的方框500中,于是对于u和v(色度)的8x2块,使用第二编码方案/表(例如,ec1)。

在其中子块开启、但是划分为水平(例如,信号11)的方框502中,u的8x2块具有使用表1或ecx(1位信号)编码的8x1子块,另一个8x1子块而是使用全零、表1或ecx(1或2位信号)编码,v的8x2块具有使用表1或ecx(1位信号)编码的8x1子块,另一个8x1子块而是使用全零、表1或ecx(1或2位信号)编码。全零意味着除了子块的第一脉冲代码调制(pcm)系数之外的所有系数为零。

在其中子块开启、但是划分为垂直(例如,信号10)的方框504中,于是u的8x2块具有使用全零、表1或ecx(1或2位信号)编码的4x2子块、以及使用全零、表1或ecx(1或2位信号)编码的另一个4x2子块,v的8x2块具有使用全零、表1或ecx(1或2位信号)编码的4x2子块、以及使用全零、表1或ecx(1或2位信号)编码的另一个4x2子块。

图6例示说明根据一些实施例的用于yuv444的色度子块译码的示图。在其中子块标志/信号关闭(例如,信号0)的方框600中,于是对于u和v(色度)的16x2块,使用第二编码方案/表(例如,ec1)。

在其中子块开启、但是划分为水平(例如,信号11)的方框602中,于是u的16x2块具有使用表1或ecx(1位信号)编码的16x1子块,另一个16x1子块而是使用全零、表1或ecx(1或2位信号)编码,v的16x2块具有使用表1或ecx(1位信号)编码的16x1子块,另一个16x1子块而是使用全零、表1或ecx(1或2位信号)编码。全零意味着除了子块的第一pcm系数之外的所有系数为零。

在其中子块开启、但是划分为垂直(例如,信号10)的方框604中,于是u的16x2块具有使用全零、表1或ecx(1或2位信号)编码的四个4x2子块,v的16x2块具有使用全零、表1或ecx(1或2位信号)编码的四个4x2子块。

对于色度子块译码,使用1位信令来示意色度子块是开启、还是关闭(例如,0意味着色度子块关闭,1意味着色度子块开启)。如果色度子块开启,则使用附加的1位信令来示意水平或垂直划分(例如,0意味着垂直划分,1意味着水平划分)。

图7例示说明根据一些实施例的色度子块译码的示图。在方框700中,当子块关闭(例如,信号:0)时,于是对于8x2块u和8x2块v,使用第二方案(例如,ec1)。

在方框702中,当子块开启、但是划分为水平(例如,信号11)时,于是u的8x2块具有使用表1或ecx(1位信号)编码的8x1子块0,8x1子块1而是使用全零、表1或ecx(1或2位信号)编码,v的8x2块具有使用表1或ecx(1位信号)编码的8x1子块0,8x1子块1而是使用全零、表1或ecx(1或2位信号)编码。

在其中子块开启、但是划分为垂直(例如,信号10)的方框704中,于是u的8x2块具有使用全零、表1或ecx(1或2位信号)编码的4x2子块0、以及使用全零、表1或ecx(1或2位信号)编码的4x2子块1,并且v的8x2块具有使用全零、表1或ecx(1或2位信号)编码的4x2子块0、以及使用全零、表1或ecx(1或2位信号)编码的4x2子块1。

为了选择每个亮度子块的亮度子块类型,对于第二行的每个子块,模式选择从方案选项(例如,表1、表2或ecx)选择最佳方案(例如,具有最少位的结果)。

选择亮度子块类型的示例性伪代码:

为了选择每个色度子块的色度子块类型,对于每个子块,模式选择从方案选项(例如,全零、表1或ecx)选择最佳方案(例如,具有最少位的结果)。

选择色度子块类型的示例性伪代码:

图8例示说明根据一些实施例的被配置为实现基于子块的熵译码的示例性计算装置的框图。计算装置800能够用于获取、存储、计算、处理、传送和/或显示诸如图像和视频的信息。计算装置800能够实现基于子块的熵译码方面(诸如编码和/或解码)中的任何一个。一般来说,适合于实现计算装置800的硬件结构包括网络接口802、存储器804、处理器806、(一个或多个)i/o装置808、总线810和存储装置812。处理器的选择不是关键的,只要具有足够的速度的合适的处理器被选择即可。存储器804能够是本领域中已知的任何常规的计算机存储器。存储装置812能够包括硬盘驱动器、cdrom、cdrw、dvd、dvdrw、高清盘/驱动器、超id驱动器、闪存卡或任何其他的存储装置。计算装置800能够包括一个或多个网络接口802。网络接口的例子包括连接到以太网或其他类型的lan的网卡。(一个或多个)i/o装置808能够包括以下中的一个或多个:键盘、鼠标、监视器、屏幕、打印机、调制解调器、触摸屏、按钮接口和其他装置。用于实现基于子块的熵译码的(一个或多个)基于子块的熵译码应用830可能被存储在存储装置812和存储器804中,并且被如应用通常被处理那样处理。比图8所示的组件多或少的组件能够包括在计算装置800中。在一些实施例中,包括基于子块的熵译码硬件820。尽管图8中的计算装置800包括用于基于子块的熵译码的应用830和硬件820,但是基于子块的熵译码能够用硬件、固件、软件或它们的任何组合在计算装置上实现。例如,在一些实施例中,基于子块的熵译码应用830被编程在存储器中,并且通过使用处理器被执行。在另一个例子中,在一些实施例中,基于子块的熵译码硬件820是包括被专门设计为实现基于子块的熵译码的门的程控硬件逻辑。

在一些实施例中,(一个或多个)基于子块的熵译码应用830包括几个应用和/或模块。在一些实施例中,模块还包括一个或多个子模块。在一些实施例中,能够包括更少的或附加的模块。

在一些实施例中,基于子块的熵译码硬件820包括相机组件,诸如镜头、图像传感器和/或任何其他的相机组件。

合适的计算装置的例子包括个人计算机、膝上型计算机、计算机工作站、服务器、大型机、手持计算机、个人数字助理、蜂窝/移动电话、智能电器、游戏机、数字相机、数字摄像机、相机电话、智能电话、便携式音乐播放器、平板计算机、移动装置、视频播放器、视频盘写入器/播放器(例如,dvd写入器/播放器、高清盘写入器/播放器、超高清盘写入器/播放器)、电视机、家庭娱乐系统、增强现实装置、虚拟现实装置、智能珠宝饰物(例如,智能手表)、车辆(例如,自驾车辆)或任何其他的合适的计算装置。

图9例示说明根据一些实施例的装置网络的示图。视频内容在一个或多个编码器装置900处编码。编码的内容通过网络902(例如,互联网、蜂窝网络或任何其他的网络)被发送/流传输到一个或多个解码器装置904。在一些实施例中,在没有网络的情况下,内容直接被发送到一个或多个解码器装置904。装置网络的一个或多个装置(例如,编码器装置、解码器装置)被配置为执行本文中所描述的基于子块的熵译码实现。一个或多个编码器装置900和一个或多个解码器装置904能够是任何装置,诸如服务器、个人计算机、智能电话、电视机、游戏系统、车辆或本文中所描述的装置中的任何一个、或本文中所描述的装置的任何组合。

为了利用本文中所描述的基于子块的熵译码,使用诸如数字相机/摄像机的装置来获取内容。基于子块的熵译码能够通过用户辅助或者在没有用户参与的情况下自动地实现以高效地编码、发送和解码内容。

在操作中,基于子块的熵译码通过对内容的子块选择最佳的译码方案来更高效地对内容进行编码和解码。

用于嵌入式图像编解码器的基于子块的熵译码的一些实施例

1.一种被编程在装置的非暂时性存储器中的方法,包括:

将内容块划分为多个子块;

使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块;并且

基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块。

2.根据条款1所述的方法,其中,所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,所述亮度子块的第二行包括两个子块,所述两个子块中的每一个是使用第一译码表、第二译码表或第三译码表编码的,进一步地其中,所述两个子块是使用相同的译码表或不同的译码表编码的。

3.根据条款1所述的方法,其中,对所述多个子块中的所述至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。

4.根据条款1所述的方法,其中,所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

5.根据条款1所述的方法,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

6.根据条款1所述的方法,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,

其中,所述u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。

7.根据条款1所述的方法,其中,对所述多个子块中的所述至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意水平划分或垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

8、一种设备,包括:

用于存储应用的非暂时性存储器,所述应用用于:

将内容块划分为多个子块;

使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块;并且

基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块;以及

耦合到所述存储器的处理器,所述处理器被配置为对所述应用进行处理。

9.根据条款8所述的设备,其中,所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,所述亮度子块的第二行包括两个子块,所述两个子块中的每一个是使用第一译码表、第二译码表或第三译码表编码的,进一步地其中,所述两个子块是使用相同的译码表或不同的译码表编码的。

10.根据条款8所述的设备,其中,对所述多个子块中的所述至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。

11.根据条款8所述的设备,其中,所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

12.根据条款8所述的设备,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

13.根据条款8所述的设备,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,

其中,所述u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。

14.根据条款8所述的设备,其中,对所述多个子块中的所述至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意水平划分或垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

15、一种系统,包括:

第一计算装置,所述第一计算装置被配置为:

将内容块划分为多个子块;

使用多个可变长度译码表对所述多个子块中的至少一个子块进行编码以产生多个编码子块;并且

基于所述多个编码子块中的哪个编码子块包括最少量的位来选择所述多个编码子块中的编码子块;以及

第二计算装置,所述第二计算装置被配置为:

对编码的所述至少一个子块进行解码。

16.根据条款15所述的系统,其中,所述多个子块包括亮度子块,其中,亮度子块的第一行是使用第一译码表编码的,所述亮度子块的第二行包括两个子块,所述两个子块中的每一个是使用第一译码表、第二译码表或第三译码表编码的,进一步地其中,所述两个子块是使用相同的译码表或不同的译码表编码的。

17.根据条款15所述的系统,其中,对所述多个子块中的所述至少一个子块进行编码包括示意亮度子块编码是开启还是关闭的位、以及示意指定用于对亮度子块进行编码的译码表的亮度子块类型的位。

18.根据条款15所述的系统,其中,所述多个子块包括色度子块,其中,当色度子块通过水平划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

19.根据条款15所述的系统,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括两个子块,v块包括两个子块,

其中,所述u块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述u块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的两个子块中的第一子块是使用作为系数的全零、第一译码表或第二译码表编码的,所述v块的两个子块中的第二子块是使用作为系数的全零、第一译码表或第二译码表编码的。

20.根据条款15所述的系统,其中,所述多个子块包括色度子块,其中,当色度子块通过垂直划分被划分时,u块包括四个子块,v块包括四个子块,

其中,所述u块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的,并且

其中,所述v块的四个子块中的每个子块是使用作为系数的全零、第一译码表或第二译码表编码的。

21.根据条款15所述的系统,其中,对所述多个子块中的所述至少一个子块进行编码包括示意色度子块编码是开启还是关闭的位、示意水平划分或垂直划分的第二位、以及示意指定用于对色度子块进行编码的译码表的色度子块类型的位集合。

已经就合并促进本发明的构造和操作的原理的理解的细节的特定实施例对本发明进行了描述。本文中对于特定的实施例及其细节的这样的论述并非意图限制附到本文的权利要求的范围。对于本领域技术人员将显而易见的是,在不脱离如由权利要求限定的本发明的精神和范围的情况下,可以在被选择用于例示说明的实施例中做出其他的各种修改。

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