熵编码中的上下文初始化的制作方法

文档序号:12890343阅读:151来源:国知局
本申请是申请日为2012年6月18日、优先权日为2011年6月16日的中国专利申请cn201280039832.3(“熵编码中的上下文初始化”)的分案申请。本发明涉及用于编码视频数据的熵编码构思。
背景技术
::本领域中已知许多视频编解码器。通常,这些编解码器为了表示视频内容而降低了必需的数据量,即,这些编解码器对数据进行压缩。在熵编码中,主要使用概率估计来编码符号,概率估计尽可能接近地对应于实际符号统计。可以假定,概率估计将概率值与符号的每个可能值相关联来进行编码。例如,在二元熵编码的情况下,符号具有二元属性,并且仅存在这样的两个可能数值。在视频编码的情况下,要编码的符号属于满足不同任务的不同语法元素以便描述视频内容:存在运动矢量差值、编码模式、表示预测残差的变换系数级别等。首先,所有这些语法元素具有不同域的可能值,并且甚至具有在相同域的可能值上定义的那些可能值,这些可能值很可能在该域的可能值上示出不同频率直方图。相应地,这些语法元素的符号化/二元化的符号串/段(bin)串的符号/段也在符号字母表上示出了与概率分布有关的不同统计。相应地,使用上下文自适应熵编码:第一不同上下文具备各与不同概率估计相关联的每个上下文。相应地,例如,可以灵活地向不同上下文分配不同语法元素的段。甚至可以使用与视频图像的邻域部分有关的语法元素的段/符号之间的空间互相关关系,以便在提供的多个上下文之中进行选择。通过这种措施,能够将段/符号分类成组,组的符号统计同样针对不同视频内容而改变。然而,除此之外,与这些上下文相关联的概率估计在编码期间不断适应于实际符号统计。从以上描述直接可知:仔细设计上下文并且适当地初始化上下文的概率估计是重要的。例如,如果上下文数目太多,则由于单独上下文内符号的频率太低,导致概率估计的适应会失败。另一方面,如果上下文数目太少,则单独上下文内收集的符号实际上具有不同统计,并且概率估计不能精密地近似相应上下文内所有这些符号的实际符号统计。只要关注概率估计的初始化,就可以根据执行某些训练阶段来获得相同效果,在一些训练阶段内对视频内容进行典型混合以进行编码,以便研究语法元素的样本统计。在这种情况下,例如在h.264中已经开发了:h.264的不同上下文部分示出了对量化参数的qp的依赖性,其中,编码器选择视频的单独分片。相应地,在h.264中,已经使用量化参数相关概率估计初始化。具体地,在h.264编解码器针对每个上下文定义了一对值,即,线性量化参数相关因素(即,斜率)以及偏移值(即,量化参数无关初始化值)。两个值均以8比特来定义。目前希望进一步提高视频编码的编码效率,并且相应地,期待在效率方面(即,一方面压缩率与另一方面实现复杂度之间的折衷方面)进一步提高以上概括的上下文自适应二元熵编码。因此本发明的目的在于提供这种编码构思。通过所附独立权利要求的主题来实现该目的。技术实现要素:本发明的基本发现由发明人的以下发现产生:上下文自适应二元熵编码中以上识别斜率和偏移的精度不应当太高,以免其中检查出视频内容的典型混合的任一序列阶段,以便为最优值左右的单独上下文导出斜率和偏移对,事实上,最优值与视频的统计总体的典型值相比更接近地表示实际上检查到的视频内容混合。相应地,本发明的发明人发现,有利地降低提供斜率和偏移值的精度,以初始化上下文的概率估计。例如,本发明人实现了,该降低不仅引起视频编码器和解码器上强加的用于存储针对每个上下文的斜率和偏移对的存储器需求降低,而且还引起当现场测试编码效率时编码效率的略微增加。附图说明以下关于附图描述的本申请的优选实施例,在附图中:图1示出了根据实施例的编码器的框图;图2a-2c示意性示出了样本阵列(例如,画面)到块的不同再划分;图3示出了根据实施例的解码器的框图;图4更详细地示出了根据实施例的编码器的框图;图5更详细地示出了根据实施例的解码器的框图;图6示意性示出了来自空间域的块到频域的变换、生成的变换块及其再变换;图7示出了根据实施例的编码器的框图;图8示出了根据实施例的适合于解码图8的编码器产生的比特流的解码器的框图;图9是示出了根据实施例的具有多像素化部分比特流的数据分组的示意图;图10是示出了根据另一实施例的具有使用固定尺寸区段的备选分割的数据分组的示意图;图11示出了根据实施例的支持模式切换的解码器;图12示出了根据另一实施例的支持模式切换的解码器;图13示出了根据实施例的适合于图11的解码器的编码器;图14示出了根据实施例的适合于图12的解码器的编码器;图15示出了pstatectx和fullctxstate/256的映射;图16示出了根据本发明实施例的解码器;以及图17示出了根据本发明实施例的编码器。具体实施方式应当注意,在附图的描述期间,在这些附图的若干附图中出现的元件在这些附图的每个附图中用于相同附图标记来指示,并且避免关于这些元件的功能的重复描述,以免不必要的重复。然而,关于一幅图提供的功能和描述同样应当应用于其他附图,除非明确指示相反。在以下中,首先,关于图1至17描述一般视频编码构思的实施例。图1至6涉及在语法级别上操作的视频编解码器的一部分。后续的图8至17涉及与语法元素流到数据流的转换以及数据流到语法元素流的转换有关的代码的一部分的实施例。本发明的特定方面和实施例以关于图1至17概括的一般构思的可能实施例的形式来描述。图1示出了其中可以实现本申请的方面的编码器10的示例。编码器将信息样本20的阵列编码到数据流中。信息样本阵列可以表示与例如明亮度值、颜色值、亮度值、色度值等相对应的信息样本。然而,在样本阵列20是例如光传感器等的时间产生的深度图的情况下,信息样本也可以是深度值。编码器10是基于块的编码器。即,编码器10以块40为单位将样本阵列20编码到比特流30中。以块40为单位的编码并不意味着,编码器10彼此无关地对这些块40进行总体编码。相反,编码器10可以使用先前编码块的重构,以便对剩余块进行外推或帧内预测,并且可以使用块的粒度来设置编码参数,即,设置对与相应块相对应的每个样本阵列区域的编码方式。此外,编码器10是变换编码器。即,编码器10通过使用变换对块40编码,以便将每个块40内的信息样本从空间域传送到频域。可以使用二维变换,例如,fft的dct等。优选地,块40具有方形形状或矩形形状。图1中示出的样本阵列20到块40的再划分仅用于示意性目的。图1示出了将样本阵列20再划分成方形或矩形块40的规则二维排列,方形或矩形块40以非交叠方式彼此邻接。块40的尺寸可以预定。即,编码器10可以不将数据流30内与块40的块尺寸有关的信息传送到解码侧。例如,解码器可以预期预定的块尺寸。然而,多种备选方案是可能的。例如,块可以彼此交叠。然而,交叠限于以下程度:每个块具有没有与任一邻近块交叠的部分,或者使得块的每个样本最多与邻近块之中的一个块交叠,邻近块排列为沿预定方形与当前块毗邻。后一种情况意味着左手邻域块和右手领域块可以与当前块交叠,以便完全覆盖当前块,但是它们可以彼此不交叠,并且这同样适用于垂直和对角方向上的邻域。作为另一备选方式,编码器10将样本阵列20再划分成块40可以适用于样本阵列20的内容,其中将与所使用的再划分有关的再划分信息经由比特流30传送到解码器。图2a至2c示出了样本阵列20到块40的再划分的不同示例。图2a示出了样本阵列20不同尺寸的块40的基于四叉树的再划分,其中在40a,40b,40c和40d处以增加尺寸指示典型块。根据图2a的再划分,首先将样本阵列20划分成树块40d的规则二维排列,该排列继而具有与其相关联的单独再划分信息,根据该信息可以基于四叉树或者不根据四叉树对特定树块40d进一步进行再划分。根据四叉树结构,示例性地将树块40d的左侧再划分成较小块。编码器10可以对图2a中以实线和虚线示出的每个块执行一次二维变换。换言之,编码器10可以以块再划分为单位对阵列20进行变换。代替基于四又树的再划分,可以使用更一般的基于多树的再划分,并且每个分级级别的子节点数目可以在不同分级级别之间不同。图2b示出了再划分的另一示例。根据图2b,首先按照相互毗邻非交叠方式将样本阵列20划分成以规则二维排列而排列的宏块40b,其中,每个宏块40b具有与其相关联的再划分信息,根据该再划分信息不对宏块进行再划分,或者如果进行再划分,则按照规则二维方式将宏块再划分成同等尺寸的子块,以实现针对不同宏块的不同再划分粒度。结果是以不同尺寸的块40对样本阵列20进行再划分,不同尺寸的块40表示在40a,40band40a’处指示的不同尺寸。如在图2a中,编码器10对图2b中以实线和虚线示出的每个块执行二维变换。稍后讨论图2c。图3示出了能够对编码器10产生的数据流30进行解码以重构样本阵列20的重构版本60的解码器50。解码器从数据流30提取针对每个块40的变换系数块,并且通过对每个变换系数块执行逆变换来重构重构版本60。编码器10和解码器50可以配置为执行熵编码/解码,以便将与变换系数块有关的信息插入到数据流中,并且相应地从该数据流中提取该信息。稍后根据不同实施例描述这方面的细节。应当注意,数据流30不必包括与针对样本阵列20的所有块40的变换系数块有关的信息。相反,可以按照另一方式将块40的子集编码到比特流30中。例如,编码器10可以决定禁止将针对块40的特定块的变换系数块插入到比特流30,取而代之插入备选编码参数,备选编码参数使得解码器50能够预测或另外满足重构版本60中的相应块。例如,编码器10可以执行纹理分析,以便解码器通过纹理分析在样本阵列20内定位在解码器侧填充的块,并且相应地在比特流内指示这些块。如关于以下附图讨论的,变换系数块不必表示样本阵列20的相应块40的原始信息样本。然而,这样的变换系数块可以表示相应块40的预测残差的谱域表示。图4示出了针对这种编码器的实施例。图4的编码器包括变换级100、熵编码器102、逆变换级104、预测器106以及减法器108和加法器110。减法器108、变换级100和熵编码器102以所提及的顺序串联在图4的编码器的输入112与输出114之间。逆变换级101、加法器110和预测器106以所提及的顺序连接在变换级100的输出与减法器108的反相输入之间,其中,预测器106的输出也连接至加法器110的另一输入。图4的编码器是基于预测变换的块编码器。即,根据相同样本阵列20的先前编码和重构的部分或者当前样本阵列20之前或之后的先前编码和重构的其他样本阵列,来预测进入输入112的样本阵列20的块。预测可以由预测器106来执行。减法器108从这样的原始块中减去预测,并且变换级100对预测残差执行二维变换。二维变换本身或者变换级100内部的后续手段可能导致变换系数块内变换系数的量化。例如,熵编码器102内的熵编码可以利用在输出114处输出的生成数据流对量化的变换系数块进行无损编码。逆变换级104对量化的残差进行重构,加法器110继而将重构的残差与对应预测相组合,以便获得重构的信息样本,基于该重构的信息样本预测器106可以预测上述当前编码的预测块。预测器106可以使用诸如帧内预测模式和帧间预测模式等预测模式来预测块,并且将预测参数转发至熵编码器102以插入到数据流中。对于每个帧间预测块,经由熵编码器114将相应运动数据插入到比特流中,以使解码层能够重新进行预测。针对画面的预测块的运动数据可以涉及包括语法元素在内的语法部分,语法元素表示运动矢量差,运动矢量差相对于例如通过预定方法从邻近已经编码的预测块的运动矢量导出的运动矢量预测器以不同方式对当前预定块的运动矢量进行编码。即,根据图4的实施例,变换系数块表示样本阵列残差的谱表示,而不是其实际信息样本。即,根据图4的实施例,语法元素序列可以进入熵编码器102中,以被熵编码到数据流114中。语法元素序列可以包括针对帧间预测块的运动矢量差语法元素和与指示显著变换系数级别的位置的显著图有关的语法元素以及对于变换块定义了显著变换系数级本身的语法元素。应当注意到,图4的实施例存在多个备选方式,其中,一些备选方式在合并到图4的描述中的说明书的背景部分内已描述。图5示出了能够对图4的编码器产生的数据流进行解码的解码器。图5的解码器包括熵解码器150、逆变换级152、加法器154和预测器156。熵解码器150、逆变换级152和加法器154按照提及的顺序串联在解码器的输入158与输出160之间。熵解码器150的另一输出连接至预测器156,预测器156继而连接在加法器154的输出与加法器154的另一输入之间。熵解码器150在输入158处从进入图5的解码器的数据流提取变换系数块,其中,在级152处对变换系数块应用逆变换,以便获得残差信号。残差信号在加法器154处与来自预测器156的预测相组合,以在输出160处获得样本阵列的重构版本的重构块。基于重构版本,预测器156产生预测,从而在编码器侧重建预测器106执行的预测。为了获得与在编码器侧处使用的那些预测相同的预测,预测器156使用熵解码器150还从输入158处的数据流获得的预定参数。应当注意,在上述实施例中,执行残差的预测和变换的空间粒度不必彼此相等。在图2c中示出了这一点。该图示出了针对实线的预测粒度和虚线的残差粒度的预测块的再划分。可以看出,通过编码器可以彼此独立选择再划分。为了更精确,数据流语法可以允许与预测再划分无关的残差再划分定义。备选地,残差再划分可以是预测再划分的扩展,使得每个残差块等于或是预测块的适当子集。在图2a和图2b中示出了这一点,例如,以实线示出了预测粒度并且以虚线示出了残差粒度。即,在图2a-2c中,具有关联的参考符号的所有块应当是在更大实线块覆盖虚线块40a时被执行了一次二维变换的残差块,例如应当是单独被执行了预测参数设置的预测块。以上实施例共同之处在于,(残差或原始)样本的块应当在编码器侧处变换成变换系数块,变换系数块继而应当在解码器侧输出逆变换成样本的重构块。在图6中示出了这一点。图6示出了样本200的块。在图6的情况下,示例性地,该块200是方形且尺寸4x4样本202。样本202沿着水平方向x和垂直方向y规则排列。通过上述二维变换t,将块200变换到谱域中,即,变换到变换系数206的块204中,变换块204具有与块200相同的尺寸。即,变换块204沿着水平方向和垂直方向具有与块200具有样本相同多个变换系数206。然而,由于变换t是谱变换,因此变换块204内变换系数206的位置与空间位置不相对应,而是与块200的内容的谱分量相对应。具体地,变换块204的水平轴对应于水平方向上的谱频率单调增加的轴,而垂直轴对应于垂直方向上的谱频率单调减小的轴,其中,dc分量变换系数位于块204的角(这里示例性地,左上角)中,使得对应于水平方向和垂直方向上的最高频率的变换系数206位于右下角处。忽略空间方向,特定系数206所属的空间频率通常从左上角增加到右下角。通过逆变换t-1,变换块204从谱域重新变换到空间域,使得重新获得块200的拷贝208。在变换期间尚未引入量化/损耗的情况下,重构应当是理想的。如上所述,从图6可以看出,块200的较大块尺寸增加了生成谱表示204的谱分辨率。另一方面,量化噪声趋向于在整个块208上伸展,并因此块200内陡峭且非常局部化的对象趋向于,由于量化噪声导致再变换的块相对于原始块200劣化。然而,使用更多块的主要优点在于,一方面显著(即,非零)(量化的)变换系数的数目(即,级别)与另一方面非显著变换系数的数目之间的比率与较小块相比在较大块内减小,从而实现更好的编码效率。换言之,通常,显著变换系数级别(即,没有量化为零的变换系数)在变换块204上稀疏地分布。由此,根据以下更详细描述的实施例,通过显著图在数据流中信号通知显著变换系数级别的位置。从中分别地,在数据流内传输显著变换系数的值(即,在变换系数被量化情况下的变换系数级别)。因此上述所有编码器和解码器配置为处理语法元素的特定语法。即,假定按照指定方式在数据流中顺序地布置上述语法元素(例如,变换系数级别、与变换块的显著图有关的语法元素、与帧间预测块有关的运动数据语法元素等)。这样的指定方式例如在h.264标准或其他视频编解码器中可以以伪码形式表示。换言之,以上描述主要讨论根据预定语法结构将媒体数据(这里示例性地,视频数据)转换到语法元素序列,预定语法结构指定特定语法元素类型、特定语法元素类型的语义以及特定语法元素类型之间的顺序。图4和5的熵编码器和熵解码器可以配置为如以下概述地进行操作并且结构化。这同样用于执行语法元素序列与数据流(即,符号或比特流)之间的转换。在图7中示出了根据实施例的熵编码器。编码器无损地将语法元素301的流转换成两个或更多个部分比特流312的集合。在本发明的优选实施例中,每个语法元素301与一个或更多个类别(即,语法元素类型)的集合的类别相关联。作为示例,类别可以规定语法元素的类型。在混合视频编码的情况下,单独类别可以与宏块编码模式、块编码模式、参考画面索引、运动矢量差、再划分标志、编码的块标志、量化参数、变换系数级别等相关联。换言之,在诸如音频、语音、文本、文档或一般数据编码等其他应用领域中,语法元素的不同类别化是可能的。通常,每个语法元素可以采用有限或可计数的无限值集合的值,其中,可能语法元素值集合可以针对不同语法元素类型而不同。例如,存在二元语法元素以及整数值语法元素。为了降低编码和解码算法的复杂度,并且为了允许针对不同语法元素和语法元素类别的一般编码和解码设计,将语法元素301转换成有序的二元判定集合,并且然后由简单的二元编码算法来处理这些二元判定。因此,二元化器302双向单射地(bijectively)将每个语法元素301的值映射到段303的序列(或串或词语)上。段303的序列表示有序二元判定的集合。每个段303或二元判定可以采用二值集合中的一个值,例如,值0和1中的一个。二元化方案针对不同语法元素类别而不同。针对特定语法元素类别的二元化方案可以依赖于针对特定类型的可能语法元素值集合和/或语法元素的其他属性。表1示出了针对可计数无限集合的三个二元化方案。针对可计数无限集合的二元化方案也可以应用于语法元素值的有限集合。具体地,对于语法元素值的较大有限集合,无效率(由于未使用的段序列导致)可以忽略,但是这种二元化方案的一般性在复杂度和存储器要求方面提供了优点。对于语法元素值的较小有限集合,通常优选地(在编码效率方面)使二元化方案适应可能符号值的数目。表2示出了针对8个值的有限集合的三个示例二元化方案。可以通过修改一些段序列使得段序列的有限集合表示无冗余的码(并且潜在地重排序段序列),从针对可计数无限集合的通用二元化方案导出针对有限集合的二元化方案。作为示例,通过修改通用一元二元化(参见表1)的语法元素7的段序列,来创建表2中的截短一元二元化方案。可以通过修改针对通用顺序0二元化(参见表1)的语法元素7的段序列并且通过对段序列重排序(向针对符号7的截短段序列分配符号1),创建表2中顺序0的截短并重排序的exp-golomb二元化。对于语法元素的有限集合,如表2的最后一列中示例的,还能够使用非系统/非通用的二元化方案。表1:针对可计数的无限集合(或较大有限集合)的二元化示例表2:针对有限集合的二元化示例按照顺序将二元化器302创建的段序列的每个段303馈送到参数分配器304中。参数分配器向每个段303分配一个或多个参数的集合,并且输出具有关联的参数305集合的段。在编码器和解码器处按照正好相同的方式来确定参数集合。参数集合可以包括以下参数中的一个或多个:具体地,参数分配器304可以配置为向当前段303分配上下文模型。例如,参数分配器304可以选择针对当前段303的可用上下文索引之一。针对当前段303的可用上下文集合可以依赖于段类型(段类型可以由语法元素301的类型/类别来定义)、当前段303作为其中一部分的二元化值以及二元化值内当前段303的位置。在可用上下文集合中选择上下文可以依赖于先前段以及与先前段相关联的语法元素。这些上下文中的每一个具有与其相关联的概率模型,即,针对当前段的两个可能段值之一的概率估计的度量。具体地,概率模型可以是针对当前段的小概率或大概率段值的概率估计的度量,其中附加地概率模型由对估计加以指定的标识符来定义,对于估计两个可能段值表示针对当前段303的小概率或大概率段值。在仅一个上下文可用于当前段的情况下,可以省去上下文选择。如以下更详细概括的,参数分配器304也可以执行概率模型适应,以便使与多个上下文相关联的概率模型适应属于相应上下文的相应段的实际段统计。同样如以下更详细描述的,参数分配器304可以根据被激活的高效率(he)模式或低复杂度(lc)模式不同地操作。在两种模式下,概率模型将当前段303与任一段编码器310相关联,如下所概括的,但是参数分配器304的操作模式在lc模式下趋向于复杂度较小,然而,由于参数分配器304将单独段303与单独编码器310相关联以更精确地适应段统计,因此在高效率模式下提高的编码效率,从而相对于lc模式优化了熵。将具有关联的从参数分配器304输出的参数305集合的每个段馈送到段缓冲器选择器306中。段缓冲器选择器306可能基于输入的段值和关联的参数305修改输入段305的值,并且将具有可能修改值的输出段307馈送到两个或更多个段缓冲器308之一中。基于输入段305的值和/或关联参数305的值确定输出段307要发送到的段缓冲器308。在本发明的优选实施例中,段缓冲器选择器306不修改段值,即,输出段307始终具有与输入段305相同的值。在本发明的另一实施例中,段缓冲器选择器306基于输入段值305和针对当前段的两个可能段值之一的概率估计的关联度量,确定输出段值307。在本发明的优选实施例中,如果针对当前段的两个可能段值之一的概率度量小于(或小于等于)特定阈值,则将输出段值307设置为等于输入段值305;如果针对当前段的两个可能段值之一的概率度量大于或等于(或大于)特定阈值,则修改输出段值307(即,将输出段值307设置为与输入段值相反)。在本发明的优选实施例中,如果针对当前段的两个可能段值之一的概率度量大于(或大于等于)特定阈值,则将输出段值307设置为等于输入段值305;如果针对当前段的两个可能段值之一的概率度量小于等于(或小于)特定阈值,则修改输出段值307(即,将输出段值307设置为与输入段值相反)。在本发明的优选实施例中,阈值的值对应于针对两个可能段值的估计概率的值0.5。在本发明的另一优选实施例中,段缓冲器选择器306基于输入段值305和对两个可能段值表示针对当前段的小概率或大概率段值的估计加以指示的关联标识符,确定输出段值307。在本发明的优选实施例中,如果标识符指定两个可能段值中的第一可能段值表示针对当前段的小概率(或大概率)段值,则将输出段值307设置为等于输入段值305;如果标识符指示两个可能段值中的第二可能段值表示针对当前段的小概率(或大概率)段值,则修改输出段值307(即,将输出段值307设置为与输入段值相反)。在本发明的优选实施例中,段缓冲器选择器306基于针对当前段的两个可能段值之一的概率估计的关联度量,设置输出段307要发送到的段缓冲器308。在本发明的优选实施例中,针对两个可能段值之一的概率估计的度量的可能值集合是有限的,并且段缓冲器选择器306包含精确地将一个段缓冲器308与针对两个可能段值之一的概率估计的度量的每个可能值相关联的表,其中,针对两个可能段值之一的概率估计的度量的不同值可以与相同段缓冲器308相关联。在本发明的优选实施例中,将针对两个可能段值之一的概率估计的度量的可能值范围分成多个区间,段缓冲器选择器306为两个可能段值之一的概率估计的当前度量确定区间索引,并且段缓冲器选择器306包含精确地将一个段缓冲器308与针对区间索引的每个可能值相关联的表,其中,针对区间索引的不同值可以与相同段缓冲器308相关联。在本发明的优选实施例中,将对于两个可能段值之一的概率估计具有相反度量(相反度量是那些表示概率度量p和1-p的度量)针对输入段305馈送到相同段缓冲器308中。在本发明的另一优选实施例中,随时间适应针对当前段的两个可能段值之一的概率估计的度量与特定段缓冲器的关联,以便例如确保创建的部分比特流具有类似的比特率。此外在下文中,区间索引页被称作pipe(pipe)索引,而pipe连同精细索引和对大概率段值加以指示的标志一起指示实际概率模型,即,概率估计。在本发明的另一优选实施例中,段缓冲器选择器306基于针对当前段的小概率或大概率段值的概率估计的关联度量,确定将输出段307发送到的段缓冲器308。在本发明的优选实施例中,针对小概率或大概率段值的概率估计的度量的可能值集合是有限的,并且段缓冲器选择器306包含精确地将一个段缓冲器308与针对小概率或大概率段值的概率估计的每个可能值相关联的表,其中,针对小概率或大概率段值的概率估计的度量的每个可能值可以与同样段缓冲器308相关联。在本发明的另一优选实施例中,将针对小概率或大概率段值的概率估计的度量的可能值范围分成多个区间,段缓冲器选择器306为针对小概率或大概率段值的概率估计的当前度量确定区间索引,并且段缓冲器选择器306包含精确地将一个段缓冲器308与针对区间索引的每个可能值相关联的表,其中,针对区间索引的不同值可以与相同段缓冲器308相关联。在本发明的另一优选实施例中,随时间适应针对当前段的小概率或大概率段值的概率估计的度量与特定段缓冲器的关联,以便例如确保创建的部分比特流具有类似的比特率。两个或更多个段缓冲器308的每一个正好与一个段编码器310连接,并且每个段编码器仅与一个段缓冲器308连接。每个段编码器310从关联的段缓冲器308读取段,并且将一系列段309转换成码字311,码字311表示比特序列。段缓冲器308表示先进先出缓冲器;在较早馈送到(按照顺序)段缓冲器308的段之前,不对较晚馈送到(按照顺序)段缓冲器308中的段进行编码。将作为特定段缓冲器308的输出的码字311写入到特定部分比特流312中。总体编码算法将语法元素301编码到两个或更多个部分比特流312中,其中,部分比特流的数目等于段缓冲器和段编码器的数目。在本发明的优选实施例中,段编码器310将可变数目的段309转换成可变数目比特的码字311。本发明的以上和以下概括的实施例的一个优点在于,可以并行地进行段编码(例如,针对不同组概率度量),这减少了针对若干实现方式的处理时间。本发明实施例的另一优点在于,段编码器310进行的段编码可以针对参数305的不同集合而特殊设计。具体地,可以针对不同组估计的概率来优化段编码(在编码效率和/或复杂度方面)。在一个方面,这实现了编码/解码复杂度的降低,并且在另一方面,这实现了编码效率的提高。在本发明的优选实施例中,段编码器310针对当前段的两个可能段值305之一的概率估计,对于不同度量组实现不同编码算法(即,将段序列映射到码字)。在本发明的另一优选实施例中,段编码器310针对当前段的小概率或大概率段值的概率估计的不同度量组,实现不同编码算法。在本发明的优选实施例中,段编码器310或一个或更多个段编码器表示将输入段序列309直接映射到码字311的熵编码器。这样的映射可以有效率地实现,并且不需要复杂的算术编码引擎。将码字逆映射到段序列(如在解码器中进行的)应当是唯一的,以便保证对输入序列的理想解码,但是将段序列309映射到码字311不必是唯一的,即,可以将特定段序列映射到多于一个码字序列。在本发明的优选实施例中,将输入段序列309映射到码字310是双向单射的。在本发明的另一优选实施例中,段编码器310或一个或更多个段编码器表示将可变长度的输入段序列309直接映射到可变长度码字310的熵编码器。在本发明的优选实施例中,输出码字表示无冗余码,例如,一般huffman码或标准huffman码。在表3中示出了段序列双向单射到无冗余码的两个示例。在本发明的另一优选实施例中,输出码字表示适合于误差检测和误差恢复的冗余码。在本发明的另一优选实施例中,输出码字表示适合于对语法元素进行加密的加密码。表3:段序列与码字之间映射的示例。在本发明的另一优选实施例中,段编码器310或一个或更多个段编码器表示将可变长度的输入段序列309直接映射到固定长度码字310的熵编码器。在本发明的另一优选实施例中,段编码器310或一个或更多个段编码器表示可以将固定长度输入段序列309直接映射到可变长度码字310的熵编码器。在图8中示出了根据本发明实施例的解码器。解码器基本上执行编码器的逆操作,使得根据两个或更多个部分比特流324的集合对(先前编码的)语法元素序列327进行解码。解码器包括两个不同处理流:针对数据请求的流,重复编码器的数据流;以及表示编码器数据流的逆的数据流。在图8的示意中,虚箭头表示数据请求流,而实箭头表示数据流。解码器的构建块基本上重复编码器的构建块,但是实现逆操作。由针对被发送到二元化器314的新解码语法元素313的请求触发语法元素的解码。在本发明的优选实施例中,针对新解码元素313的每个请求与一个或更多个类别的集合的类别相关联。与针对语法元素的请求相关联的类别与编码期间关联于对应语法元素的类别相同。二元化器314将针对语法元素313的请求映射到针对被发送到参数分配器316的段的一个或更多个请求。作为二元化器314对被发送到参数分配器316的段请求的最终响应,二元化器314从段缓冲器选择器318接收解码段326。二元化器314将接收到的解码段序列326与针对请求的语法元素的特定二元化方案相比较,并且如果接收到的解码段序列326与语法元素的二元化相匹配,则二元化器使其段缓冲器为空,并且输出解码语法元素作为对新解码符号的请求的最终响应。如果已经接收到的解码段序列与针对请求的语法元素的二元化方案的任一段序列不匹配,则二元化器向参数分配器发送另一段请求,直到解码段序列与针对请求的语法元素的二元化方案的段序列之一匹配为止。对于针对语法元素的每个请求,解码器使用用于编码对应语法元素的相同二元化方案。二元化方案针对不同语法元素类别而不同。针对特定语法元素的二元化方案可以依赖于可能语法元素值集合和/或针对特定类别的语法元素的其他属性。参数分配器316向每个段请求分配一个或更多个参数的集合,并且向段缓冲器选择器发送具有关联的参数集合的段请求。由参数分配器分配到请求段的参数集合与编码期间分配到对应段的参数相同。参数集合可以包括在图7的编码器描述中提及的一个或更多个参数。在本发明的优选实施例中,参数分配器316将每个段请求与分配器314分配的相同参数相关联,即,上下文及其针对当前请求段的两个可能段值之一的概率估计的关联度量,例如,针对当前请求段的小概率或大概率段值的概率估计的度量,以及对两个可能段值表示针对当前请求段的小概率或大概率段值的估计加以指定的标识符。参数分配器316可以基于一个或更多个已编码符号来确定上述概率度量中的一个或更多个(针对当前请求段的两个可能段值之一的概率估计的度量、针对当前请求段的小概率或大概率段值的概率估计的度量、对两个可能段值表示针对当前请求段的小概率或大概率段值的估计加以指定的标识符)。确定特定段请求的概率度量在编码器处重复对应段的处理。用于确定概率度量的解码符号可以包括相同符号类别的一个或更多个已解码符号、与邻近空间和/或时间位置(关于与针对语法元素的当前请求相关联的数据集合)的数据集合(例如,样本的块或组)相对应的相同符号类别的一个或更多个已解码符号、或与相同和/或邻近空间和/或时间位置的数据集合(关于与针对语法元素的当前请求相关联的数据集合)相对应的不同符号类别的一个或更多个已解码符号。将作为参数分配器316输出的具有关联参数集合317的每个段请求馈送到段缓冲器选择器318中。基于关联的参数集合317,段缓冲器选择器318向两个或更多个段缓冲器320之一发送段请求319,并且从所选段缓冲器320接收解码段325。可以对解码输入段325进行修改,并且向二元化器314发送具有可能修改值的解码输出段326,作为对具有关联参数集合317的段请求的最终响应。按照编码器侧处将段缓冲器选择器的输出段发送到的段缓冲器相同的方式,选择将段请求转发到的段缓冲器320。在本发明的优选实施例中,段缓冲器选择器318基于针对当前请求段的两个可能段值之一的概率估计的关联度量,确定将段请求319发送到的段缓冲器320。在本发明的优选实施例中,两个可能段值之一的概率估计的度量的可能值集合是有限的,并且段缓冲器选择器318包含表,其中精确地将一个段缓冲器320与两个可能段值之一的概率估计的度量的每个可能值相关联,其中,两个可能段值之一的概率估计的度量的不同值可以与相同段缓冲器320相关联。在本发明的优选实施例中,将两个可能段值之一的概率估计的度量的可能值范围分成多个区间,段缓冲器选择器318为两个可能段值之一的概率估计的当前度量,确定区间索引,并且段缓冲器选择器318包含精确地将一个段缓冲器320与区间索引的每个可能值相关联的表,其中,区间索引的不同值可以与相同段缓冲器320相关联。在本发明的优选实施例中,将具有两个可能段值之一的概率估计的相反度量的段请求317(相反度量是表示概率估计p和1-p的度量)转发至相同段缓冲器320。在本发明的另一优选实施例中,随时间适配针对当前段请求的两个可能段值之一的概率估计的度量与特定段缓冲器的关联。在本发明的另一优选实施例中,段缓冲器选择器318基于针对当前请求段的小概率或大概率段值的概率估计的关联度量,确定将段请求319发送到的段缓冲器320。在本发明的优选实施例中,小概率或大概率段值的概率估计的度量的可能值集合是有限的,并且段缓冲器选择器318包含精确地将一个段缓冲器320与小概率或大概率段值的概率估计的每个可能值相关联的表,其中,小概率或大概率段值的概率估计的不同度量值可以与相同段缓冲器320相关联。在本发明的另一优选实施例中,将小概率或大概率段值的概率估计的度量的可能值范围分成多个区间,段缓冲器选择器318确定小概率或大概率段值的概率估计的当前度量的区间索引,并且段缓冲器选择器318包含精确地将一个段缓冲器320与区间索引的每个可能值相关联的表,其中,区间索引的不同值可以与相同段缓冲器320相关联。在本发明的另一优选实施例中,随时间适配针对当前段请求的小概率或大概率段值的概率估计的度量与特定段缓冲器的关联。在从所选段缓冲器320接收解码段325之后,段缓冲器选择器318可以修改输入段325,并且向二元化器314发送具有可能修改值的输出段326。段缓冲器选择器318的输入/输出段映射是编码器侧处段缓冲器选择器的输入/输出段映射的逆。在本发明的优选实施例中,段缓冲器选择器318不修改段值,即,输出段326始终具有与输入段325相同的值。在本发明的另一优选实施例中,段缓冲器选择器318基于输入段值325和针对与段请求317相关联的当前请求段的两个可能段值之一的概率估计的度量,确定输出段值326。在本发明的优选实施例中,如果针对当前段请求的两个可能段值之一的概率估计的度量小于(或小于或等于)特定阈值,则将输出段值326设置为等于输入段值325;如果针对当前段请求的两个可能段值之一的概率估计的度量大于或等于(或大于)特定阈值,则修改输出段值326(即,将其设置为输入段值的相反值)。在本发明的另一优选实施例中,如果针对当前段请求的两个可能段值之一的概率估计的度量大于(或大于或等于)特定阈值,则将输出段值326设置为等于输入段值325;如果针对当前段值的两个可能段值之一的概率估计的度量小于或等于(或小于)特定阈值,则修改输出段值326(即,将其设置为输入段值的相反值)。在本发明的优选实施例中,阈值的值对应于两个可能段值的估计概率的值0.5。在本发明的另一优选实施例中,段缓冲器选择器318基于输入段值325和对两个可能段值表示针对当前段请求的小概率或大概率段值的估计加以指定的标识符,确定输出段值326。在本发明的优选实施例中,如果标识符指定两个可能段值中的第一可能段值表示针对当前段请求的小概率(或大概率)段值,则将输出段值326设置为等于输入段值325,如果标识符指定两个可能段值中的第二可能段值表示针对当前段请求的小概率(或大概率),则修改输出段值326(即,将其设置为输入段值的相反值)。如上所述,段缓冲器选择器向两个或更多个段缓冲器320发送段请求319。段缓冲器20表示先入先出缓冲器,馈有来自所连段解码器322的解码段序列321。作为对从段缓冲器选择器318向段缓冲器320发送的段请求320的响应,段缓冲器320去除首先馈送到段缓冲器320中的内容的段,并且向段缓冲器选择器318发送该段。较早地去除较早发送到段缓冲器320的段,并且向段缓冲器选择器318发送。两个或更多个段缓冲器320中的每一个正好与一个段解码器322连接,并且每个段解码器仅与一个段缓冲器320连接。每个段解码器322从分离的部分比特流324读取表示比特序列的码字323。段解码器将码字323转换成将发送到所连段缓冲器320的段序列321。总体解码算法将两个或更多个比特流324转换成多个解码语法元素,其中部分比特流的数目等于段缓冲器和段解码器的数目,并且对语法元素的解码由针对新语法元素的请求来触发。在本发明的优选实施例中,段解码器322将可变数目的比特的码字323转换成可变数目段322的序列。本发明实施例的一个优点在于,可以(例如,对于不同概率度量组)并行地进行对来自两个或更多个部分比特流的段的解码,这降低了若干实现方式的处理时间。本发明实施例的另一优点在于,由段解码器322进行的段解码可以针对不同参数集合317而特殊设计。具体地,可以针对不同组估计概率来优化段编码和解码(在编码效率和/或复杂度方面)。在一个方面,这相对于具有类似编码效率的现有技术熵编码算法能够实现编码/解码复杂度的降低。在另一方面,这相对于具有类似编码/解码复杂度的现有技术熵编码算法实现了编码效率的提高。在本发明的优选实施例中,段解码器322针对当前段请求的两个可能段值317之一的概率估计的不同度量组,实现不同解码算法(即,将段序列映射到码字)。在本发明的另一优选实施例中,段解码器322针对当前段请求的小概率或大概率段值的概率估计的不同度量组,实现不同解码算法。段解码器322进行编码器侧处对应段编码器的逆映射。在本发明的优选实施例中,段解码器322或一个或更多个段解码器表示将码字323直接映射到段序列321的熵解码器。这样的映射可以有效率地实现,并且不需要复杂的算术引擎。将码字映射到段序列必须是唯一的。在本发明的优选实施例中,将码字323映射到段序列321上是双向单射的。在本发明的另一优选实施例中,段解码器310或一个或更多个段解码器表示将可变长度码字323直接映射到可变长度段序列321的熵解码器。在本发明的优选实施例中,输入码字表示无冗余码,例如,一般huffman码或标准huffman码。在表3中示出了针对无冗余码的双向单射映射的两个示例。在本发明的另一优选实施例中,段解码器322或一个或更多个段解码器表示将固定长度码字323直接映射到可变长度段序列321的熵解码器。在本发明的另一优选实施例中,段解码器322或一个或更多个段解码器表示将可变长度码字323直接映射到固定长度段序列321的熵解码器。因此,图7和8示出了用于编码符号序列3的编码器和用于重构符号序列的解码器的实施例。编码器包括分配器304,分配器304配置为向符号序列的每个符号分配多个参数的305。该分配基于符号序列的先前符号内包含的信息,例如语法元素1的类别至当前符号所属的且根据语法元素1的语法结构当前期望的表示法(例如,二元化值),继而可以从先前语法元素1和符号3推断出这种期望。此外,编码器包括多个熵编码器10,每个熵编码器配置为将转发到相应熵编码器的符号3转换成相应比特流312,并且包括配置为将每个符号3转发到多个熵编码器10中所选的一个熵编码器的选择器306,选择依赖于分配给相应符号3的参数305的数目。分配器应当考虑集成到选择器306中,以便获得相应选择器502。用于重构符号序列的解码器包括:多个熵解码322,每个熵解码器配置为将相应比特流323转换成符号321;分配器316,配置为向要基于符号序列的先前重构符号(参见图8中的326和327)内包含的信息而重构的符号序列的每个符号分配多个参数317;以及选择器318,配置为从多个熵解码器322中所选一个熵解码器中获取要重构的符号序列的每个符号,选择依赖于分配到相应符号的参数的数目。分配器316可以配置为,使得分配到每个符号的参数的数目包括或是相应符号可以假定可能符号值之中分布概率估计的度量。同样,分配器316和选择器318可以考虑集成到一个块(选择器402)。要重构的符号序列可以是二元字母表,并且分配器316可以配置为,使得概率分布估计包括针对二元字母表的两个可能段值的小概率或大概率段值的概率估计的度量,以及对两个可能段值表示小概率或大概率段值的估计加以指示的标识符。分配器316还可以配置为,基于符号序列的先前重构符号内包含的信息,在内部向要利用具有与其相关联的相应概率分布估计的每个上下文而重构的符号序列315的每个符号分配上下文,并且基于被分配了相应上下文先前重构符号的符号值,使针对每个上下文的概率分布估计适应实际符号统计。上下文可以考虑语法元素所属位置的空间关系或邻域,例如,在视频或画面编码中,或者甚至在金融应用的表(table)中。然后,可以基于与分配到(例如通过量化,或者用作至相应表的索引)相应符号的上下文相关联的概率分布估计、与分配有相应符号的上下文相关联的概率分布估计(在以下实施例中,由pipe索引连同精细索引一起指示)、和多个概率分布估计表示法之一(去掉精细索引),确定针对每个符号的概率分布估计的度量,以便获得概率分布估计的度量(指示部分比特流312的pipe索引)。选择器可以配置为,使得在多个熵编码器和多个概率分布估计表示法之间定义双向单射关联。选择器318可以配置为随时间根据符号序列的先前重构符号,按照预定确定方式将量化映射从概率分布估计改变到多个概率分布估计表示法。即,选择器318可以改变量化步长,即,映射到与单独熵解码器双向单射地关联的单独概率索引上的概率分布的区间。多个熵解码器322继而可以配置为响应于量化映射的改变,来适应它们将符号转换成比特流的方式。例如,每个熵解码器322可以针对相应概率分布估计量化区间内的特定概率分布估计而优化(即,可以针对相应概率分布估计量化区间内的特定概率分布估计具有最优压缩率),并且可以改变码字/符号序列映射,以便在码字/符号序列映射改变时适应相应概率分布估计量化区间内该特定概率分布估计的位置,以便优化。选择器可以配置为改变量化映射,使得减少从多个熵解码器获取符号的速率分散。对于二元化器314,应当注意如果语法元素已经是二元化值则省去相同操作。此外,根据解码器322的类型,缓冲器320的存在不是必要的。此外,缓冲器可以集成在解码器内。有限语法元素序列的终止在本发明的优选实施例中,针对有限语法元素集合进行编码和解码。通常对特定量数据进行编码,例如,静止图像、视频序列的帧或场、图像分片、视频序列的帧或场的分片、或连续视频样本集合等。对于有限语法元素集合,通常在编码器侧创建的部分比特流必须终止,即必须确保可以对来自发送或存储的部分比特流的所有语法元素进行解码。在将最后的段插入到对应段缓冲器308中之后,段编码器310必须确保将完整的码字写入到部分比特流312中。如果段编码器310表示实现了比特序列到码字的直接映射的熵编码器,则在将最后的段写入到段缓冲器之后段缓冲器中存储的段序列可以不表示与码字相关联的段序列(即,可以表示与码字相关联的两个或更多个段序列的前缀)。在这种情况下,与包含段缓冲器中作为前缀的段序列在内的段序列相关联的任一码字必须写入到部分比特流中(必须成组写入的段缓冲器)。这应当通过将具有特定或任意值的段插入到段缓冲器中直到写入码字为止来进行。在本发明的优选实施例中,段编码器选择具有最小长度的码字之一(除了关联的段序列必须包含段缓冲器中作为前缀的段序列的属性以外)。在解码器侧处,段解码器322可以部分比特流中最后码字所需的段更多的段进行解码;这些段不由段缓冲器选择器318请求,并且被丢弃和忽略。通过针对解码语法元素的请求来控制对有限语法集合的解码;如果没有请求一定量数据的其他语法元素,则解码终止。部分比特流的传输和复用可以分开传输由编码器创建的部分比特流312,或者可以将部分比特流312复用成单个比特流,或者可以在单个比特流中交织部分比特流的码字。在本发明的实施例中,将一定量数据的每个部分比特流写入到一个数据分组中。数据量可以是任意语法元素集合,例如,静止画面、视频序列的帧或场、静止画面的分片、视频序列的帧或场的分片、或视频样本的帧等。在本发明的另一优选实施例中,一定量数据的两个或更多个部分比特流或一定量数据的所有部分比特流复用成一个数据分组。在图9中示出了包含复用的部分比特流的数据分组的结构。数据分组400包括首部和针对每个部分比特流的数据(针对所考虑的数据量)的一个分块。数据分组的首部400包含用于将数据分组(的其余部分)分成比特流数据402的区段的指示。除了用于分块的指示以外,首部还可以包含附加信息。在本发明的优选实施例中,用于对数据分组分块的指示是以比特或字节、或比特的倍数、或字节的倍数为单位的数据区段的开始位置。在本发明的优选实施例中,将数据区段的开始位置编码成数据分组的首部中相对于数据分组的开始、或者相对于首部的结束、或者相对于先前数据分组的开始的绝对值。在本发明的另一优选实施例中,有差别地对数据区段的开始位置进行编码,即,仅对数据区段的实际开始与数据区段开始的预测之间的差值进行编码。可以基于已知或传输的信息(例如,数据分组的总体大小、首部的大小、数据分组中数据区段的数目、在前数据区段的开始位置)导出预测。在解码器侧处,传输的分块指示用于导出数据区段的开始。数据区段然后用于部分比特流,并且顺序地将数据区段中包含的数据馈送到对应段解码器中。存在用于将部分比特流复用成数据分组的若干备选方案。在图10中示出了可以减少所需辅助信息的一个备选方案,具体针对部分比特流的大小非常类似的情况。按照预定方式将数据分组的有效载荷(即,没有其首部411的数据分组410)分成区段412。作为示例,可以将数据分组有效载荷分成相同大小的区段。然后将每个区段与部分比特流或部分比特流413的第一部分相关联。如果部分比特流大于关联的数据区段,则将部分比特流的剩余部分414放置到其他数据区段结束处的未使用空间中。这可以按照逆序(从数据区段的结束开始)插入比特流的剩余部分的方式来进行,这减少了辅助信息。将部分比特流的剩余部分与数据区段相关联,并且当将多于一个剩余部分添加到数据区段时,在比特流内部(例如,在数据分组报头中)必须信号通知一个或更多个剩余部分的开始点。可变长度码字的交织对于一些应用,上述将部分比特流(针对一定量语法元素)复用成一个数据分组中部分比特流具有以下缺点:一方面,对于较小数据分组,用于信号通知分块所需的辅助信息的比特数目相对于部分比特流中的实际数据可以变得显著,这最终降低了编码效率。另一方面,复用不适合于需要低延迟的应用(例如,对于视频会议应用)。利用所描述的复用,编码器在部分比特流已经完整创建之前不能开始传输数据分组,这是因为预先不知道分块的开始位置。此外,通常,解码器在开始对数据分组进行解码之前必须等待,直到接收到最后数据区段的开始为止。对于作为视频会议系统的应用,这些延迟可以合计达到若干视频画面(具体地,对于接近传输比特率的比特率,以及对于需要接近两个画面之间的时间间隔来编码/解码画面的编码器和解码器)的系统附加总延迟,这对于这样的应用至关重要。为了克服特定应用的缺点,本发明优选实施例的编码器可以配置为,使得将两个或更多个段编码器产生的码字交织成单个比特流。(当忽略较小缓冲器延迟时,参见以下)可以向解码器直接发送具有交织码字的比特流。在解码器侧处,两个或更多个段解码器按照解码顺序从比特流直接读取码字;解码可以开始于第一接收到的比特。此外,不需要附加信息来信号通知部分比特流的复用(或交织)。可以实现降低解码器复杂度的另一方式:段解码器322不从全局比特缓冲器读取可变长度码字,,而是段解码器322始终从全局比特缓冲器读取固定长度比特序列,并且将这些固定长度比特序列添加到局部比特缓冲器,其中,每个段解码器322与分离的局部比特缓冲器连接。然后从该局部比特缓冲器中读取可变长度码字。因此,可以并行地进行对可变长度码字的解析,仅必须按照同步方式进行对固定长度比特序列的访问,但是这种对固定长度比特序列的访问通常非常快,使得对于一些架构可以降低总体解码复杂度。发送到特定局部比特缓冲器的段的固定数目可以针对不同局部比特缓冲器而不同,并且也可以根据特定参数(如段解码器、段缓冲器或比特缓冲器中的事件)随时间而变化。然而,特定访问读取的比特数目不依赖于特定访问期间读取的实际比特,这是读取可变长度码字的重要区别之处。读取固定长度比特序列由段缓冲器、段解码器或局部比特缓冲器中的特定事件触发。作为示例,当在所连比特缓冲器中出现的比特数目减少到预定阈值以下时,能够请求读取新的固定长度比特序列,其中不同阈值用于不同比特缓冲器。在编码器侧处,必须确保按照相同顺序将固定长度段序列插入到比特流中,其中,在解码器侧处从比特流中读取固定长度段序列。还能够将固定长度序列的这种交织与类似于上述方案的低延迟控制相结合。在下文中,描述固定长度比特序列交织的优选实施例。对于关于后面的交织方案的进一步细节,参照wo2001/128268a1。在描述了在前编码用于压缩视频数据的实施例之后,描述用于实现本发明实施例的又一实施例,在一方面压缩速率与另一方面查找表和计算开销之间的良好折衷方面呈现了特别有效率的实现方式。具体地,以下实施例实现了计算量小的复杂可变长度编码的使用,以便对单独比特流进行熵编码,并且高效地包含概率估计的部分。在下述实施例中,符号具有二元属性,并且以下提出的vlc码有效率地包含在例如[0;0.5]内延伸的rlps表示的概率估计。具体地,以下概括的实施例描述了分别针对图7至17中的单独熵编码器310和解码器322的可能实现方式。这些实现方式适合于段编码,即,二元符号,就像它们出现在图像或视频压缩应用中一样。相应地,这些实施例也可应用于图像或视频编码,其中,将这样的二元符号分别拆分成要编码的一个或更多个段流307或要解码的比特流324,其中,可以将每个这样的段流视为bernoulli过程的实现。以下描述的实施例使用一个或更多个下述多种所谓的可变到可变码(v2v码)来编码段流。v2v码可以视为具有相同数目码字的两个无前缀码(主无前缀码和副无前缀码)。主无前缀码的每个码字与副无前缀码得一个码字相关联。根据以下概括的实施例,至少一些编码器310和解码器322操作如下:为了编码特定段序列307,只要从缓冲器308读取主无前缀码的码字,就可以向比特流312写入副无前缀码的对应码字。使用相同过程来解码这样的比特流324,但是主无前缀码和副无前缀码可以互换。即,为了解码比特流324,只要从相应比特流324读取副无前缀码的码字,就向缓冲器320写入主无前缀码的对应码字。有利地,下述码不必成为查找表。码以有限状态机的形式可实现。这里提出的v2v码可以由简单构造规则来实现,使得不需要存储针对码字的较大表。取而代之,简单算法可以用于执行编码或解码。以下描述三个构造规则,其中,可以对两个构造规则进行参数化。这些构造规则包含上述概率区间的不同或者甚至分开部分,并且相应地如果在一起使用尤其有利,例如所有三个码并行(各自针对编/解码器11和22中不同的编/解码器),或者三个码中的两个。利用下述构造规则,能够设计v2v码集合,使得对于具有任意概率p的bernoulli处理,码之一在过度码长度方面执行良好。如上所述,可以针对每个流单独地或者以交织方式分别执行流312和324的编码和解码。然而,这不专用于v2v码的当前类别,并因此在下文中针对三个构造构造中的每一个仅描述对特定码字的编码和解码。然而,重点在于,与交织解决方案有关的所有以上实施例也可分别与当前描述的码或编码和解码器310和322相结合。构造规则1:‘一元段pipe’码或编/解码器310和322一元段pipe码(pipe=概率区间分块熵)是所谓‘段pipe’码的特殊版本,即,适合于任一单独比特流12和24的编码,二元符号统计的每个传送数据术语上述概率范围[0;0.5]的特定概率子区间。首先描述段pipe码的构造。可以根据具有至少三个码字的任一无前缀码来构造段pipe码。为了形成v2v码,使用无前缀码作为主码和副码,但是副无前缀码的两个码字可以互换。这意味着除了两个码字以外,将段写入未改变的比特流。利用该技术,仅需要将一个无前缀码与信息存储在一起,其中,两个码字互换,并因此降低了存储器消耗。注意,仅不同长度的码字互换是有意义的,这是由于否则比特流应当具有与段流相同的长度(忽略在段流结束处出现的效果)。由于这种构造规则,段pipe码的显著属性在于,如果主无前缀码和副无前缀码互换(当保持码字映射时),生成的v2v码与原始v2v码相同。因此,编码算法和解码算法对于段pipe码是相同的。一元pipe码根据特殊无前缀码来构造。如下构造该特殊无前缀码。首先,以′01′,′001′,′0001′,...开始产生包括n个一元码字的无前缀码,直到产生n个码字为止。n是一元段pipe码的参数。从最长码字,去除结尾1。这对应于截短的一元码(但是没有码字′0′)。然后,以′10′,′110′,′1110′,...开始产生n-1个一元码字,直到产生n-1个码字。从这些码字中的最长码字,去除结尾0。这两个无前缀码的并集用作输入,以产生一元段pipe码。互换的两个码字是仅包括0的一个码字和仅包括1的一个码字。n=4的示例:构造规则2:‘一元至rice’码和一元至rice编/解码器10和22:一元至rice码使用截短一元码作为主码。即,以′1′,′01′,′001′,...开始产生一元码字,直到产生2n+1个码字,并且从最长码字,去除结尾1。n是一元至rice码的参数。如下根据主无前缀码的码字构造副无前缀码。向仅包括0的主码字分配码字‘1’。所有其他码字包括码字‘0’与主无前缀码的对应码字的0的数目的比特二元表示的拼接。n=3的示例:注意,这与将无限一元码映射到具有rice参数2n的rice码相同。构造规则3:‘三段’码如下给出三段码:具有以下属性:主码(符号序列)具有固定长度(始终为三个段)并且通过递增1的数目来对码字排序。接着描述三个段码的有效率实现方式。可以按照以下方式实现针对三段码的编码器和解码器,而无需存储表。在编码器(10中的任一个)中,从段流(即,7)读取三个段。如果这三个段包含正好一个1,则将码字‘1’写入包括1的位置的二元表示)的两个段(从右以00开始之前的比特流。如果三个段正好包含一个0,则将码字‘111’写入包括0的位置的二元表示的两个段(从右以00开始)之前的比特流。将剩余的码字‘000’和‘111’分别映射到‘0’和‘11111’。在解码器(22中的任一个),从相应比特流24读取一个段或比特。如果该段或比特等于‘0’,则将码字‘000’解码到段流21。如果该段或比特等于‘1’,则从比特流24读取多于两个段。如果这两个比特不等于‘11’,则这两个比特解译为数目的二元表示,并且将两个0和一个1解码到比特流,使得1的位置由该数目来确定。如果两个比特等于‘11’,则读取多于两个比特,并且解译为数目的二元表示。如果该数目小于3,则对两个1和一个0解码,并且该数目确定0的位置。如果数目等于3,则将‘111’解码到段流。接着描述二元段pipe码的有效率实现方式。可以通过使用计数器来有效率地实现针对二元段pipe码的编码器和解码器。由于段pipe码的结构,对段pipe码的编码和解码容易实现:在编码器(10中的任一个)中,如果码字的第一段等于‘0’,则对段进行处理,直到出现‘1’,或者直到读取0(包括码字中的第一个‘0’)。如果出现‘1’,则将读取的段写入到为改变的比特流。否则(即,读取n个0),将n-1个1写入到比特流。如果码字的第一段等于‘1’,则对段进行处理,直到出现‘0’,或者直到读取n-1个1(包括码字的第一个‘1’)。如果出现‘0’,将读取的段写入未改变的比特流。否则(即,读取n-1个1),将n个0写入比特流。在解码器(322中的任一个)中,使用与编码器相同的算法,因为这与如上所述的段pipe码相同。接着描述一元到rice码的有效率实现方式。如下所述,可以通过使用计数器来有效率地实现一元到rice码的编码器和解码器。在编码器(310中的任一个)中,从段流(即,7)读取段,直到出现1,或者直到读取2n个0为止。对0的数目进行计数。如果所计数目等于2n,则将码字‘1’写入到比特流。否则,写入‘0’,后面是用n个比特写入所计数目的二元表示。在解码器(322中任一个)中,读取一个比特。如果该比特等于‘1’,则将2n个0解码到段串。如果该比特等于‘0’,则读取多于n个比特并且解译为数目的二元表示。将0的数目解码到段流,后面是‘1’。换言之,上述实施例描述了用于编码符号序列303的编码器,该编码器包括:分配器316,配置为基于符号序列的先前符号内包含的信息,向符号序列的每个符号分配多个参数305;多个熵编码器310,每个熵编码器配置为将转发至相应熵编码器310的符号307转换成相应比特流312;以及选择器306,配置为将每个符号303转发至多个熵编码器10中所选的一个熵编码器,该选择依赖于分配给相应符号303的参数305的数目。根据以上概括的实施例,熵编码器的至少第一子集可以是可变长度编码器,可变长度编码器配置为将符号307的流内的可变长度符号序列分别映射到要插入到比特流312中的可变长度码字,其中,第一子集中的熵编码器310中的每一个使用双向单射映射规则,根据该规则将具有(2n-1)≥3个码字的主无前缀码的码字映射到与主无前缀码相同的副无前缀码的码字,使得将主无前缀码的仅两个码字映射到副无前缀码的相同码字,而主无前缀码和副无前缀码的两个码字具有不同长度,并且以互换方式映射到彼此,其中,熵编码器可以使用不同的n,以包含上述概率区间中的区间的不同部分。第一无前缀码可以构造为,使得第一无前缀码的码字是(a,b)2,(a,a,b)3,...,(a,...,a,b)n,(a,...,a)n,(b,a)2,(b,b,a)3,...,(b,...,b,a)n-1,(b,...,b)n-1,按照互换方式映射到彼此的两个码字是(a,...,a)n和(b,...,b)n-1,其中,b≠a,并且a,b∈{0,1}。然而,备选方式是可行的。换言之,熵编码器的第一子集中的每一个可以配置为,将转发至相应熵编码器的符号转换成相应比特流,检查转发至相应熵编码器的第一符号,以确定是以下情况(1)还是情况(2):情况(1)第一符号等于a∈{0,1},在这种情况下,相应熵编码器配置为检查转发至相应熵编码器的后续符号以确定是情况(1.1)还是情况(1.2),在情况(1.1)中,在第一符号之后的后续n-1个符号内出现b,其中b≠a,并且b∈{0,1},在这种情况下,相应熵编码器配置为将码字写入相应比特流,该比特流等于:第一符号,后面是转发至相应熵编码器的后续符号,一直到符号b;在情况(1.2)中,在第一符号之后的后续n-1个符号内没有出现b,在这种情况下,相应熵编码器配置为将码字写入相应比特流,该比特流等于(b,...,b)n-1;情况(2)第一符号等于b,在这种情况下,相应熵编码器配置为检查转发至相应熵编码器的后续符号以确定是情况(2.1)还是情况(2.2),在情况(2.1)中,在第一符号之后的后续n-2个符号内出现a,在这种情况下,相应熵编码器配置为将码字写入相应比特流,该比特流等于:第一符号,后面是转发至相应熵编码器的后续符号,一直到符号a,在情况(2.2)中,在第一符号之后的后续n-2个符号内没有出现a,在这种情况下,相应熵编码器配置为将码字写入相应比特流,该比特流等于(a,...,a)n。附加或备选地,熵编码器10的第二子集可以是可变长度编码器,配置为将可变长度符号序列分别映射到固定长度码字,其中第二子集的熵编码器中的每一个使用双向单射映射规则,根据该规则,将具有类型{(a),(ba),(bba),...,(b...ba),(bb...b)}的个2n+1码字的主截断一元码的码字映射到副无前缀码的码字,其中,b≠a并且a,b∈{0,1},使得将主截断一元码的码字(bb...b)映射到副无前缀码的码字(c),并且将主截断一元码的所有其他码字{(a),(ba),(bba),...,(b...ba)}映射到具有(d)作为前缀(其中,c≠d并且c,d∈{0,1}),并且一个n比特字作为后缀的码字,其中,熵编码器使用不同的n。熵编码器的第二子集中的每一个可以配置为,使得n比特字是主截断一元码的相应码字中b的数目的n比特表示。然而备选方案是可行的。同样,从相应编码器10的操作模式的观点,熵编码器的第二子集中的每一个可以配置为,将转发至相应熵编码器的符号转换成相应比特流,对转发至相应熵编码器的符号序列中的b的数目进行计数,直到出现a或者直到转发至相应熵编码器的符号序列的数目达到2n为止,其中,序列的所有2n个符号是b,以及(1)如果b的数目等于2n,则将c作为副无前缀码的码字写入比特流,其中,c∈{0,1},并且(2)如果b的数目小于2n,则将副无前缀码的码字写入到相应比特流,其中该码字具有(d)作为前缀,以及根据b的数目而确定的n比特字作为后缀,其中c≠d并且d∈{0,1})。同样附加或备选地,熵编码器10中预定的一个熵编码器可以是可变长度编码器,配置为将固定长度符号序列分别映射到可变长度码字,预定熵编码器使用双向单射映射规则,根据该规则,将主码的长度为3的23个码字映射到副无前缀码的码字,使得将主码的码字(aaa)3映射到码字(c)其中,a∈{0,1},c∈{0,1},将具有正好一个b的主码的所有三个码字映射到具有(d)作为前缀并且2比特码字的第一集合之外的相应第一2比特字作为后缀的码字,其中,b≠a并且b∈{0,1},c≠d并且d∈{0,1},将具有正好一个a的主码的所有三个码字映射到具有(d)作为前缀、并且不是第一集合元素的第一2比特字和2比特字的第二集合之外的第二2比特字的拼接作为后缀的码字,其中将码字(bbb)3映射到具有(d)作为前缀、并且不是第一集合元素的第一2比特字与不是第二集合元素的第二2比特字的拼接作为后缀的码字。正好具有一个b的主码的码字的第一2比特字可以是b在主码的相应码字中的位置的2比特表示,并且正好具有一个a的主码的码字的第二2比特字可以是a在主码的相应码字中的位置的2比特表示。然而备选方式是可行的。同样,熵编码器中的预定一个熵编码器可以配置为,将转发至预定熵编码器的符号转换成相应比特流,检查转发至预定熵编码器的符号的三元组以确定是以下情况(1)、情况(2)、情况(3)还是情况(4):情况(1),三元组包括a,在这种情况下,预定熵编码器配置为向相应比特流写入码字(c);情况(2),三元组正好包括一个b,在这种情况下,预定熵编码器配置为向相应比特流写入具有(d)作为前缀、并且b在三元组中的位置的2比特表示作为后缀的码字;情况(3),三元组正好包括一个a,在这种情况下,预定熵编码器配置为向相应比特流写入具有(d)作为前缀、以及不是第一集合元素的第一2比特字与a在三元组中的位置的2比特表示的拼接作为后缀的码字;情况(4),三元组包括b,在这种情况下,预定熵编码器配置为向相应比特流写入具有(d)作为前缀、以及不是第一集合元素的第一2比特字与不是第二集合元素的第一2比特字的拼接作为后缀的码字。关于解码侧,上述实施例公开了用于重构符号序列326的解码器,该解码器包括:多个熵解码器322,每个熵解码器配置为将相应比特流324转换成符号321;分配器316,配置为基于符号序列的先前重构符号内包含的信息,向符号序列的每个符号326分配多个参数;以及选择器318,配置为从多个熵解码器中的所选一个熵解码器中获取要重构的符号序列的每个符号325,选择依赖于分配到相应符号的参数的数目。根据上述实施例,熵解码器322的至少第一子集是可变长度解码器,配置为将可变长度码字分别映射到可变长度符号序列,其中第一子集的熵解码器322中的每一个使用双向单射映射规则,根据该规则将具有(2n-1)≥3个码字的主无前缀码的码字映射到与主前缀码相同的副无前缀码的码字,使得将主无前缀码的仅两个码字映射到副无前缀码的相同码字,而主无前缀码和副无前缀码的两个码字具有不同长度,并且以互换方式映射到彼此,其中,熵编码器可以使用不同的n。第一无前缀码可以构造为,使得第一无前缀码的码字是(a,b)2,(a,a,b)3,...,(a,...,a,b)n,(a,...,a)n,(b,a)2,(b,b,a)3,...,(b,...,b,a)n-1,(b,...,b)n-1,按照互换方式映射到彼此的两个码字是(a,...,a)n和(b,...,b)n-1,其中,b≠a,并且a,b∈{0,1}。然而,备选方式是可行的。熵编码器的第一子集中的每一个可以配置为,在将相应比特流转换成符号时,检查相应比特流的第一比特,以确定是以下情况(1)还是情况(2):情况(1)第一比特等于a∈{0,1},在这种情况下,相应熵解码器配置为检查相应比特流的后续比特以确定是情况(1.1)还是情况(1.2),在情况(1.1)中,在第一比特之后的后续n-1个比特内出现b,其中b≠a,并且b∈{0,1},在这种情况下,相应熵解码器配置为重构符号序列,该符号序列等于:第一比特,后面是相应比特流的后续比特,一直到比特b;在情况(1.2)中,在第一比特之后的后续n-1个比特内没有出现b,在这种情况下,相应熵解码器配置为重构符号序列,该符号序列等于(b,...,b)n-1;情况(2),第一比特等于b,在这种情况下,相应熵解码器配置为检查相应比特流的后续比特以确定是情况(2.1)还是情况(2.2),在情况(2.1)中,在第一比特之后的后续n-2个比特内出现a,在这种情况下,相应熵解码器配置为将重构符号序列,该符号序列等于:第一比特,后面是相应比特流的后续比特,一直到符号a,在情况(2.2)中,在第一比特之后的后续n-2个比特内没有出现a,在这种情况下,相应熵解码器配置为重构符号序列,该符号序列等于(a,...,a)n。附加或备选地,熵解码器322的至少第二子集可以是可变长度解码器,配置为将固定长度码字分别映射到可变长度符号序列,其中第二子集的熵解码器中的每一个使用双向单射映射规则,根据该规则,将副无前缀码的码字映射到具有类型{(a),(ba),(bba),...,(b...ba),(bb...b)}的个2n+1码字的主截断一元码的码字,其中,b≠a并且a,b∈{0,1},使得将副无前缀码的码字(c)映射到主截断一元码的码字(bb...b),并且将具有(d)作为前缀(其中,c≠d并且c,d∈{0,1})和n比特字作为后缀的码字映射到主截断一元码的所有其他码字{(a),(ba),(bba),...,(b...ba)},其中,熵解码器使用不同的n。熵解码器的第二子集中的每一个可以配置为,使得n比特字是主截断一元码的相应码字中b的数目的n比特表示。然而备选方案是可行的。熵解码器的第二子集中的每一个可以是可变长度解码器,配置为将固定长度码字分别映射到可变长度符号序列,并且配置为,将相应熵解码器的比特流转换成符号,检查相应比特流的第一比特以确定是以下情况(1)还是情况(2):情况(1),第一比特等于c,其中,c∈{0,1},在这种情况下,相应熵解码器配置为重构符号序列,符号序列等于b∈{0,1};情况(2),第一比特等于d,其中,c≠d并且c,d∈{0,1},在这种情况下,相应熵解码器配置为根据相应比特流中第一比特之后的n个其他比特来确定n比特字,并且从中重构符号序列,该符号序列具有类型{(a),(ba),(bba),...,(b...ba),(bb...b)},其中,b≠a并且b∈{0,1},b的数目依赖于一个n比特字。同样附加或备选地,熵解码器322中预定的一个熵解码器可以是可变长度解码器,配置为将可变长度码字分别映射到固定长度符号序列,预定熵解码器使用双向单射映射规则,根据该规则,将副无前缀码的码字映射到主码的长度为3的23个码字,使得将码字(c)映射到主码的码字(aaa)3,其中,c∈{0,1},a∈{0,1},将具有(d)作为前缀、以及三个2比特码字的第一集合之外的相应第一2比特字作为后缀的码字映射到具有正好一个b的主码的所有三个码字,其中,c≠d并且d∈{0,1},b≠a并且b∈{0,1},将具有(d)作为前缀以及不是第一集合元素的第一2比特字和三个2比特字的第二集合之外的第二2比特字的拼接作为后缀的码字映射到具有正好一个a的主码的所有三个码字,并且将具有(d)作为前缀以及不是第一集合元素的第一2比特字与不是第二集合元素的第二2比特字的拼接作为后缀的码字映射到码字(bbb)3。正好具有一个b的主码的码字的第一2比特字可以是b在主码的相应码字中的位置的2比特表示,并且正好具有一个a的主码的码字的第二2比特字可以是a在主码的相应码字中的位置的2比特表示。然而备选方式是可行的。熵解码器中的预定一个熵解码器可以是可变长度解码器,配置为,将可变长度码字分别映射到三个符号的符号序列,并且配置为在将相应熵解码器的比特流转换成符号时,检查相应比特流的第一比特以确定以下是情况(1)、情况(2)、还是情况(3):情况(1),相应比特流的第一比特等于c,其中,c∈{0,1},在这种情况下,预定熵解码器配置为重构符号序列,该符号序列等于(aaa)3,其中,a∈{0,1};情况(2),相应比特流的第一比特等于d,其中,c≠d并且d∈{0,1},在这种情况下,预定熵解码器配置为根据相应比特流中第一比特之后的2个其他比特来确定第一2比特字,并且检查第一2比特,以确定是情况(2.1)还是情况(2.2),在情况(2.1)中,第一2比特字不是三个2比特的第一集合的元素,在这种情况下,预定熵解码器配置为重构符号序列,该符号序列具有正好一个b,其中,b≠a并且b∈{0,1},其中b在相应符号序列中的位置依赖于第一2比特字,在情况(2.2)中,第一2比特字是第一集合的元素,在这种情况下,预定熵解码器配置为根据相应比特流中两个比特(已经根据该两个比特确定了第一2比特)之后的2个其他比特来确定第二2比特字,并且检查第二2比特字来确定是情况(3.1)还是(3.2),在情况(3.1)中,第二2比特字不是三个2比特字的第二集合的元素,在这种情况下,预定熵解码器配置为重构符号序列,该符号序列具有正好一个a,其中,a在相应符号序列中的位置依赖于第二2比特字,在情况(3.2)中,第二2比特字是三个2比特字的第二集合的元素,在这种情况下,预定熵解码器配置为重构等于(bbb)3的符号序列。现在,在描述了视频编码方案的一般构思之后,关于以上实施例描述了本发明的实施例。换言之,以下概括的实施例可以通过使用以上方案来实现,反之亦然,以上编码方案可以使用并利用以下概括的实施例来实现。在关于图7至9描述的以上实施例中,图1至6的熵编码器和解码器根据pipe构思来实现。一个特殊实施例使用算术单概率状态编/解码器310和322。如下所述,根据备选实施例,实体306-310和对应实体318至322可以由公共熵编码引擎来代替。例如,算术编码引擎可以仅管理一个公共状态r和l,并且将所有符号编码到一个公共比特流中,从而放弃了本pipe构思与并行处理有关的有利构思,但是如下所述避免了对部分比特流进行交织的必要性。这样,通过更新(表查找)来估计上下文概率的概率状态的数目可以大于执行概率区间再划分的概率状态的数目。即,类似于在编索引到表rtab之前对概率区间宽度值进行量化,同样可以对概率状态索引进行量化。因此对于作为上下文自适应二元算术编/解码引擎的熵编/解码器318-322/306-310的实现方式的示例,可以对针对单个编/解码器310和322的可能实现方式的以上描述进行扩展。为了更加精确,根据实施例,附着至参数分配器外部(这里用作上下文分配器)的熵编码器可以按照以下方式操作:0.分配器304将段值和概率参数一起转发。概率是pstate_current[bin]。1.因此,熵编码引擎接收:1)vallps、2)段和3)概率分布估计pstate_current[bin]。pstate_current[bin]可以具有比rtab的可区分概率状态索引的数目更多的状态。如果是,则例如可以通过忽略m个lsb来量化pstate_current[bin],其中m大于或等于1(优选地,2或3),以获得p_state,即然后用于访问表rtab的索引。然而可以省去量化,即,p_state可以是pstate_current[bin]。2.然后执行对r的量化(如上所述,针对p_state的所有可区分值使用/管理的一个r(和具有一个公共比特流的对应l),或者p_state的每个可区分值的一个r(和每r/l对的具有关联部分比特流的对应l),后一种情况对应于每个这样的值具有一个段编码器310),q_index=qtab[r>>q](或者一些其他形式的量化)3.然后,执行对rlps和r的确定:rlps=rtab[p_state][q_index];rtab中已存储针对p[p_state]·q[q_index]的预先计算值r=r-rlps[即,对r进行初步预更新,如同“段”是mps]4.计算新的部分区间:if(bin=1-valmps)then5.再归一化l和r,写入比特,类似地,附着至参数分配器(这里用作上下文分配器)的输出的熵解码器可以按照以下方式操作:0.分配器304将段值和概率参数一起转发。概率是pstate_current[bin]。1.因此,熵解码引擎接收段请求以及:1)vallps和2)概率分布估计pstate_current[bin]。pstate_current[bin]可以具有比rtab的可区分概率状态索引的数目更多的状态。如果是,则例如可以通过忽略m个lsb来量化pstate_current[bin],其中m大于或等于1(优选地,2或3),以获得p_state,即然后用于访问表rtab的索引。然而可以省去量化,即,p_state可以是pstate_current[bin]。2.然后执行对r的量化(如上所述,针对p_state的所有可区分值使用/管理的一个r(和具有一个公共比特流的对应l),或者p_state的每个可区分值的一个r(和每r/l对的具有关联部分比特流的对应l),后一种情况对应于每个这样的值具有一个段编码器310),q_index=qtab[r>>q](或者一些其他形式的量化)3.然后,执行对rlps和r的确定:rlps=rtab[p_state][q_index];rtab中已存储针对p[p_state]·q[q_index]的预先计算值r=r-rlps[即,对r进行初步预更新,就好像“段”是mps]4.根据部分区间的位置确定段:if(v3r)then(将bin(段)解码为lps;段缓冲器选择器18通过使用该段信息和valmps来获得实际段值)else(将bin(段)解码为mps;通过使用该段信息和valmps来获得实际段值)5.再归一化r,读出一个比特并更新v,如上所述,分配器4向每个段分配pstate_current[bin]。可以基于上下文选择了进行关联。即,分配器4可以使用上下文索引ctxidx来选择上下文,上下文索引ctxidx继而具有与其相关联的相应pstate_current。可以在每次概率pstate_current[bin]已应用于当前段时执行概率更新。根据编码比特的值来执行概率pstate_current[bin]的更新:如果提供多于一个上下文,则逐个上下文地进行适配,即,pstate_current[ctxidx]用于编码并然后使用(分别编码或解码的)当前段值来更新。如以下更详细概括的,根据当前描述的实施例,可选地编码器和解码器可以实现为在不同模式(即,低复杂度(lc)模式和高效率(he)模式)下操作。在下文中主要关于pipe编码示出了这一点(然后涉及lc和hepipe模式),但是对复杂度可缩放性细节的描述容易地转换到熵编码/解码引擎的其他实现方式,例如,使用一个公共上下文自适应算术编/解码器的实施例。根据以下概括的实施例,两个熵编码模式可以共享·相同语法和语义(分别针对语法元素序列301和327)·针对所有语法元素(如当前指定用于cabac)的相同二元化方案(即,二元化器可以与激活的模式无关地操作)·使用相同pipe码(即,段编/解码器可以与激活的模式无关地操作)·使用8比特概率模型初始化值(而不是当前指定用于cabac的16比特初始化值)一般而言,lc-pipe在处理复杂度(例如为每个段选择pipe路径312的复杂度)方面与he-pipe不同。例如,lc模式可以在以下约束下操作:对于每个段(binidx),可以存在正好一个概率模型,即,一个ctxidx。即,在lcpipe中可以不提供上下文选择/适配。然而,如下进一步概括的,可以使用上下文来编码特定语法元素(例如,用于残差编码的那些语法元素)。此外,所有概率模式可以是非自适应的,即,所有模式可以(根据对分片类型和分片qp的选择)在具有适当模型概率的每个分片的开始处初始化,并且在整个分片处理期间保持固定。例如,可以支持与8个不同pipe码310/322相对应的仅8个不同模型概率,以用于上下文建模和编码二者。可以向概率模型分配用于残差编码的特定语法元素(即,significance_coeff_flag和coeff_abs_level_greaterx(其中,x=1,2))、以下更详细概括的语义,使得利用相同模型概率对例如4个语法元素的组(至少)进行编码/解码。与cavlc相比,lc-pipe模式粗略地实现了相同r-d性能和相同吞吐量。he-pipe可以配置为在构思上类似于h.264的cabac,不同之处如下:二元算法编码(bac)由pipe编码代替(在lc-pipe情况下也如此)。每个概率模型(即,每个ctxidx)可以由pipeidx和refineidx来表示,其中,值在从0到7范围中的pipeidx表示8个不同pipe码的模型概率。这种改变仅影响状态的内部状态表示,而不影响状态机本身的行为(即,概率估计)。如以下更详细概括的,概率模型的初始化可以使用如上所述的8比特初始化值。可以沿着与正向扫描(例如,在显著图编码中使用的)相同的扫描路径来对语法元素coeff_abs_level_greaterx(其中x=1,2),coeff_abs_level_minus3和coeff_sign_flag(这些语法元素的语义根据以下讨论变得更清楚)进行后向扫描。也可以使用于编码coeff_abs_level_greaterx(其中,x=1,2)的上下文导出简化。与cabac相比,所提出的he-pipe在以更好的吞吐量粗略地实现了相同的r-d性能。容易看出,例如可以通过呈现上述上下文自适应二元算术编/解码引擎来容易地产生上述模型,使得在不同模式下进行相同操作。因此,根据本发明第一方面的实施例,可以如图11所示构造用于解码数据流的解码器。该解码器用于解码数据流401(例如交织的比特流340),将诸如视频数据等媒体数据编码到数据流401中。解码器包括:模式开关400,配置为根据数据流401来激活低复杂度模式或高效率模式。为此,数据流401可以包括诸如二元语法元素等语法元素,在作为要激活模式的低复杂度模式的情况下具有二元化值1,并且在作为要激活的高效率模式的情况下具有二元化值0。显然,应当切换二元化值和编码模式之间的关联,并且也应当使用具有多于两个可能值的非二元语法元素。由于在接收相应语法元素之前两个模式之间的实际选择尚不清楚,因此该语法元素可以包含在数据流401的一些前导首部内,例如,这些前导首部利用固定概率估计或概率模型来编码,或者使用旁路模式直接写入到数据流401中。此外,图11的解码器包括多个熵解码器322,每个熵解码器配置为将数据流401中的码字转换成部分符号序列321。如上所述,解交织器404可以连接在一方面熵解码器322的输入与另一方面应用了数据流401的图11的解码器的输入之间。此外,如上所述,每个熵解码器322可以与相应概率区间相关联,在熵解码器322处理mps和lps而不是绝对符号值的情况下,多个熵解码器的概率区间共同包含从0到1或从0到0.5的整个概率区间。以上已经描述关于该问题的细节。稍后,假定解码器322的数目是8,其中,向每个解码器分配pipi索引,但是任一其他数目也是可行的。此外,针对具有相同概率统计的段(即它们的段值假定相同概率的1和0)来优化这些解码器之一(在下文中,示例性地具有pipe_id0的解码器)。该解码器仅处理段。相应编码器310同样操作。甚至可以省去选择器402和502分别进行的依赖于大概率段值valmps的任一段操控。换言之,相应部分流的熵已经是最优的。此外,图11的解码器包括:选择器402,配置为从多个熵解码器322中所选的一个熵解码器获取符号序列326的每个符号。如上所述,选择器402可以拆分成参数分配器316和选择器308。解符号化器314配置为对符号序列326解符号化,以便获得语法元素序列327。重构器404配置为基于语法元素序列327来重构媒体数据405。选择器402配置为根据低复杂度模式和高效率模式中激活的一个模式(如箭头406所指示的)来执行选择。如上所述,重构器404可以是对语法元素的固定(即,相对于模式开关400的模式选择是固定的)语法和语义进行操作的基于预测块的视频解码器的一部分。即,重构器404的构造不受模式可切换性的影响。为了更精确,由于模式开关400负担的模式可切换性以及至少与残差数据有关的功能,重构器404不会增加实现开销,并且预测数据保持相同,而与开关400选择的模式无关。然而这同样适应于熵解码器322。在两个模式下重新使用所有这些解码器322,相应地尽管图11的解码器与两个模式(低复杂度模式和高效率模式)可兼容,但是不存在附加实现开销。作为辅助方面,应当注意,图11的解码器不仅能够在一个模式或另一个模式下对自含数据流进行操作。而且,图11的解码器以及数据流401应当配置为,使得两个模式之间的切换在一个媒体数据期间(例如,在视频或一些视频片期间)甚至是可能的,以便例如根据外部或环境条件(例如,电池状态等)在解码侧处控制编码复杂度,其中使用从解码器到编码器的反馈通道,以便相应地锁环控制模式选择。因此,在选择lc模式或选择he模式的情况下,图11的解码器在两种情况下类似地操作。重构器404使用语法元素执行重构,并且通过处理或遵守一些语法结构预定来请求预定语法元素的当前语法元素。解符号化器314请求多个段,以便获得针对重构器404请求的语法元素的有效二元化。显然,在二元字母表的情况下,解符号化器314执行的二元化缩减到仅将相应段/符号326传递至重构器404作为当前请求的二元语法元素。然而,选择器402对模式开关400选择的模式进行单独操作。选择器402的操作模式在高效率模式的情况下趋向于较高复杂度,并且在低复杂度模式的情况下趋向于较低复杂度。此外,以下时论示出了较低复杂度模式下选择器402的操作模式也趋向于降低选择器402在熵解码器322之间改变选择以从熵解码器322获取连续符号的速率。换言之,在低复杂度模式下,从多个熵解码器322之中的相同熵解码器获取紧邻的连续符号的概率增大。这继而允许从熵解码器322更快速地获取符号。在高效率模式下,继而选择器402的操作模式趋向于引起熵解码器322之间的选择,其中,与相应所选熵解码器322相关联的概率间隔更接近地适合于选择器402当前获取的符号的实际符号统计,从而在根据高效率模式产生相应数据流时在编码侧处获得更好的压缩比。例如,可以如下实现选择器402在两个模式下的不同行为。例如,选择器402可以配置为,针对预定符号,根据激活高效率模式的情况下符号序列326的先前获取符号并且独立于激活低复杂度模式的情况下符号序列的先前获取符号,在多个熵解码器322之间执行解码。对符号序列326的先前获取符号可以引起上下文自适应和/或概率自适应。可以在低复杂度模式期间在选择器402中关闭两个自适应。根据另一实施例,可以将数据流构造成连续部分,例如,分片、帧、画面组、帧序列等,并且可以将符号序列的每个符号与多个符号类型中的相应符号类型相关联。在这种情况下,选择器402可以配置为,针对当前部分内预定符号类型的符号,根据激活高效率模式的情况下当前部分内预定符号类型的符号序列的先前获取符号来改变选择,并且在激活低复杂度模式的情况下省去在当前部分内恒定的选择。即,可以允许选择器402针对预定符号类型在熵解码器322之间改变选择,但是限制这些改变在连续部分之间的过渡之间发生。通过该措施,在大部分时间内,在降低编码复杂度的同时将实际符号统计的评价限制为很小出现。此外,可以将符号序列326的每个符号与多个符号类型中的相应的一个符号类型相关联,并且选择器402可以配置为,针对预定符号类型的预定符号,根据符号序列326的先前获取符号选择多个上下文之一;根据与所选上下文相关联的概率模型来执行在熵解码器322之间进行选择,并同时根据在激活高效率模式的情况下的预定符号来更新与所选上下文相关联的概率模型;根据符号序列326的先前获取符号执行选择多个上下文之一,并根据与所选上下文相关联的概率模型执行在熵解码器322之间进行选择并同时省去在激活低复杂度模式的情况下恒定的与所选上下文相关联的概率模型。即,选择器402可以在两个模式下使用与特定语法元素类型有关的上下文自适应,而同时在lc模式的情况下抑制概率适配。备选地,选择器402可以相对于he模式仅降低lc模式的概率适配的更新速率,而不完全抑制概率适配。此外,如下用其他方式描述可能lcpipe特定方面,即,lc模式方面。具体地,应当在lc模式下使用非自适应概率模型。非自适应概率模式可以具有硬编码的概率(即,总体恒定概率),或者其概率仅在整个分片处理期间保持固定,并因此可以根据分片类型和qp(即,针对每个分片在数据流401内信号通知的量化参数)来设置。通过假定分配到相同上下文的连续段遵循固定概率模型,由于使用相同pipe编码来进行编码,能够以一个步骤来解码那些段中的若干段,即,使用相同熵解码器,并且省略每个解码段之后的概率更新。省略概率更新节省了编码和解码处理期间的操作,因此也引起硬件设计中的复杂度降低和显著简化。非自适应约束对于所有或一些所选概率模式是容易的,使得在使用该模型编码/解码了特定数目的段之后允许概率更新。适当的更新间隔在能够一次解码多个段的同时实现了概率适配。在下文中,提供了lcpipe和hepipe的可能的公共和复杂度可缩放方面的更详细描述。具体地,在下文中,描述了可以按照相同方式或复杂度可缩放方式用于lcpipe模式和hepipe模式的方面。复杂度可缩放意味着通过去除特定部分或者通过用较低复杂度的内容代替特定部分来从he情况导出lc情况。然而,在进行之前,应当注意,图11的实施例容易地转变到上述上下文自适应二元算术编/解码实施例:选择器402和熵解码器322应当缩合成上下文自适应二元算术解码器,该上下文自适应算术解码器直接接收数据流401并且为当前要从数据流导出的段选择上下文。特别地,这对于上下文自适应和/或概率自适应是成立的。在低复杂度模式期间可以关闭或更轻松地设计两个功能/自适应。例如,在实现图11的实施例时,包括熵解码器322的pipe熵编码级能够使用8个系统可变到可变码,即,每个熵解码器322能够具有上述v2v类型。通过限制v2v码的数目来简化使用系统v2v码的pipe编码构思。在上下文自适应二元算术解码器的情况下,同样能够管理针对不同上下文的相同概率状态,并且使用针对概率再划分的相同或量化版本。将cabac或概率模型状态(即,用于概率更新的状态)映射到pipeid或概率索引以在rtab中查找可以如表a所示。表a:cabac状态到pipe索引的映射该修改的编码方案可以用作复杂度可缩放视频编码方法的基础。当执行概率模式适配时,选择器402或上下文自适应二元算术解码器相应地选择pipe解码器322,即,使用表a中示出的映射例如经由上下文,基于与当前要解码的符号相关联的概率状态索引(这里示例性地,从0变化到62)将要使用的pipe索引和概率索引分别导入到rtab中;并且应当例如使用指向在mps和lps情况下分别要访问的下个概率状态索引的特定表行进过渡值,根据当前解码符号来更新该概率状态索引。在lc模式的情况下,能够省去后一种更新。甚至能够在全局固定概率模型的情况下省去映射。然而,能够使用任意熵编码设置,并且可以通过较小的改变来使用本文档中的技术。图11的以上描述一般参照语法元素和语义元素类型。在下文中,描述变换系数级别的复杂度可配置编码。例如,重构器404可以配置为基于语法元素序列的一部分来重构变换系数级别202的变换块200,而与激活的高效率模式或低复杂度模式无关,语法元素序列327的一部分以非交织方式包括:定义了显著图的显著图语法元素,显著图指示非零变换系数级别在变换块200内的位置,然后包括(后面是)定义了非零变换系数级别的级别语法元素。具体地,包括以下元素:结束位置语法元素(last_significant_pos_x,last_significant_pos_y),指示最后非零变换系数级别在变换块内的位置;第一语法元素(coeff_significant_flag)一起定义了显著图并且针对沿着从变换块(200)内dc位置到最后非零变换系数级别的位置的一维路径(274)的每个位置,指示在相应位置处的变换系数级别是否是非零;第二语法元素(coeff_abs_greater1),针对根据第一二元语法元素定位非零变换系数级别的一维路径(274)的每个位置,指示在相应位置处的变换系数级别是否大于1;以及第三语法元素(coeff_abs_greater2,coeff_abs_minus3),针对根据第一二元语法元素定位大于1的变换系数级别的一维路径的每个位置,揭示相应位置处的相应变换系数级别超过1的量。结束位置语法元素、第一、第二和第三语法元素之间的顺序对于高效率模式和低复杂度模式可以相同,并且选择器402可以配置为针对符号在熵解码器322之间执行选择,解符号化器314有区别地根据激活的低复杂度模式或高效率模式,从符号获得结束位置语法元素、第一语法元素、第二语法元素和/或第三语法元素。具体地,选择器402可以配置为,针对符号序列之中预定符号类型的符号,根据符号子序列之中预定符号类型的先前获取符号,为预定符号类型的每个符号选择多个上下文之一,解符号化器314从该符号子序列获得第一语法元素和第二语法元素;并且以分段恒定方式执行选择,使得在激活低复杂度模式的情况下,选择在子序列的连续子部分上是恒定的。如上所述,可以用位置的数目或者已经利用当前上下文编码的相应类型的语法元素的数目来度量子部分,当沿着一维路径274测量时相应子部分在多个位置上延伸。即,通过基于he模式下选定上下文的概率模型,自适应地对二元语法元素coeff_significant_flag、coeff_abs_greater1和coeffabs_greater2进行上下文编码。还使用概率适配。在lc模式中,还存在用于每个二元语法元素coeff_significant_flag、coeff_abs_greater1和coeff_abs_greater2的不同上下文。然而,对于这些语法元素中的每一个,上下文对于沿路径274的第一位置保持静态,仅在至沿路径274下个后面紧邻部分的过渡处改变上下文。例如,每个部分可以定义为块200的4、8、16个位置长,而与相应位置是否存在相应语法元素无关。例如,仅显著位置(即,coeff_significant_flag为1的位置)存在coeff_abs_greater1和coeff_abs_greater2。备选地,每个部分可以定义为4、8、16个语法元素长,而与因此生成的相应部分是否在更大数目的块位置上延伸无关。例如,仅显著位置存在coeff_abs_greater1和coeff_abs_greater2,并因此四个语法元素的部分由于沿路径274的其间位置而各自可以在多于4个块位置上延伸,对于路径274不传输这样的语法元素(例如,不传输coeff_abs_greater1和coeff_abs_greater2),因为该位置处的相应级别为零。选择器402可以配置为,针对符号子序列之中预定符号类型的符号,根据符号序列内预定符号类型的多个先前获取符号(具有预定符号值并且属于相同子部分)或者符号序列内预定符号类型的多个先前获取符号(属于相同子部分),为预定符号类型的每个符号选择多个上下文之一,解符号化器从该符号子序列获得第一语法元素和第二语法元素。根据以上特定实施例,第一备选方案对于coeff_abs_greater1是成立的,第二备选方案对于coeff_abs_greater2是成立的。此外,第三语法元素可以包括整数值语法元素,即coeff_abs_minus3,第三语法元素对于根据第一二元语法元素定位了多于一个变换系数级别的一维路径的每个位置,揭示相应位置处相应变换系数级别超过1的量,解符号化器314可以配置为使用控制参数可控的映射函数来将符号序列字的域映射到整数值语法元素的域,并且如果激活高效率模式,则根据先前第三语法元素的整数值语法元素来设置每个整数值语法元素的控制参数,并且以分段恒定方式执行设置,使得在激活低复杂度模式的情况下设置在子序列的连续子部分上恒定,其中,选择器402可以配置为针对映射到整数值语法元素的符号序列字的符号,在高效率模式和低复杂度模式二者下选择熵解码器(322)的中预定的一个,该预定的一个熵解码器与相等的概率分布相关联。即,甚至解符号化器可以根据开关40选择的模式(虚线407所示)进行操作。代替控制参数的分段恒定设置,解符号化器314可以在当前分片期间保持控制参数恒定,例如,在时间上全局恒定。接着,描述复杂度可缩放上下文建模对用于导出上下文模型索引的上邻域和左邻域的相同语法元素的评价是公知方法,并且通常在he情况下使用,例如,用于运动矢量差语法元素。然而,这种评价需要更多缓冲存储,并且不允许直接编码语法元素。同样,为了实现较高编码性能,可以评价更多的可用邻域。在优选实施例中,用于评价邻域方形或矩形块或预测单元的语法元素的所有上下文建模级固定到一个上下文模型。这相当于禁用上下文模型选择级的自适应。对于该优选实施例,与cabac的当前设计相比,不对二元化之后依赖于段串的段索引的上下文模型选择进行修改。在另一优选实施例中,除处理语法元素的固定上下文模型采用邻域评价以外,不同段索引的上下文模型也是固定的。注意,描述不包括二元化和针对运动矢量差和与变换系数级的编码有关的语法元素的上下文模型选择。在优选实施例中,仅允许评价左邻域。这引起处理链中缓冲器的减少,因为不再必须存储最后块或编码单元线。在另一优选实施例中,仅对位于相同编码单元中的邻域进行评价。在优选实施例中,对所有可用邻域进行评价。例如,除了上邻域和左邻域以外,在可用的情况下可以评价左上、右上和左下邻域。即,图11的选择器402可以配置为,针对与预定媒体数据块有关的预定符号,在激活高效率模式的情况下使用与更多数目的不同媒体数据邻域块有关的符号序列的先前获取符号,以便选择多个上下文之一,并且根据与所选上下文相关联的概率模型在熵解码器322之间执行选择。即,邻近块可以是时间和/或空间域的邻域。例如,在图1至3中,空间邻近块是可见的。然后,选择器402可以响应于模式开关400的模式选择,与lc模式相比,在he模式的情况下基于与较高数目的邻近块有关的先前获取符号或语法元素来执行恒定自适应,从而降低上述存储开销。接着,描述根据实施例的运动矢量差的复杂度降低编码。在h.264/avc视频编解码器标准中,通过信号通知当前宏块的运动矢量与中间运动矢量预测器的运动矢量之间的差(运动矢量差-mvd)来传输与宏块相关联的运动矢量。当cabac用作熵编码器时,如下编码mvd。将整数值mvd拆分成绝对值部分和符号部分。使用截短的一元和三次exp-golomb(被称作生成段串的前缀和后缀)的组合来对绝对值部分进行二元化。使用上下文模型对截短的一元二元化有关的段进行编码,而在旁路模式下对与exp-golomb有关的二元化值的段进行编码,即,利用cabac的固定概率0.5。一元二元化操作如下。令mvd的绝对整数值为n,则生成的段串包括n个‘1’和一个结尾‘0’。作为示例,令n=4,则段串为‘11110’。在截短一元码的情况下,存在限值,并且如果值超过该限值,则段串包括n+1个1。对于mvd的情况,限值等于9。这意味中,如果编码等于或大于9的绝对mvd,则生成9个‘1’,段串包括具有exp-golomb二元化的前缀和后缀。如下进行针对截短一元部分的上下文建模。对于段串的第一段,如果可用则采用来自上邻域宏块和左邻域宏块的绝对mvd值(如果不可用,则推断该值为0)。如果沿特定分量(水平或垂直方向)的和大于2,则选择第二上下文模型,如果绝对值和大于32,则选择第三上下文模型,否则(绝对值和小于3),则选择第一上下文模型。此外,上下文模型针对每个分量而不同。对于段串的第二段,使用第四上下文模型,并且第五上下文模型用于一元部分的剩余段。当绝对mvd等于或大于9时,例如,截短一元部分的所有段等于‘1’,利用三次exp-golomb二元化在旁路模式下编码绝对mvd值与9之间的差。在最后步骤中,在旁路模式下编码mvd的符号。在高效率视频编码(hevc)项目的当前测试模型(mh)中指定ac作为熵编码器时针对mvd的最新编码技术。在hevc中,块大小是可变的,并且运动矢量指定的形状被称作预测单元(pu)。上邻域和左邻域的pu大小可以具有与当前pu不同的形状和大小。因此,只要相关,现在将上邻域和左邻域的定义称作当前pu的左上角上邻域和左邻域。对于编码本身,可以根据实施例仅改变第一段的导出处理。代替评价来自邻域的mv的绝对值和,可以分别评价每个邻域。如果邻域的绝对值和可用并大于16,则上下文模型索引可以递增,获得针对第一段的相同数目的上下文模型,而对剩余绝对值mvd级别和符号的编码正好与h.264/avc相同。在与mvd的编码有关的以上概括技术中,不得不利用上下文模型对高达9个段进行编码,而同时可以在低复杂度旁路模式在将mvd的剩余值和符号信息一起编码。本实施例描述了一种技术,减少了用上下文模型编码的段的数目,引起旁路数目的增加,并且减少了编码mvd所需的上下文模型数目。为此,截除的值从9个减少到1或2个。这意味着,如果使用上下文模型对指定了绝对值mvd是否大于零的第一段进行编码,或者使用上下文模型对指定了绝对值mvd是否大于零和1的第一和第二段进行编码,而同时在旁路模式下和/或使用lvc码对剩余值进行编码。使用低复杂度旁路模式对使用vlc码(而并非使用一元或截短一元码)由二元化产生的所有段。在pipe的情况下,直接插入或来自比特流是可能的。此外,如果需要,可以使用用于导出第一段的更好上下文模型选择的上邻域和左邻域的定义。在优选实施例中,exp-golomb码用于对绝对mvd分两大的剩余部分进行二元化。为此,exp-golomb码的顺序是可变的。如下导出exp-golomb码的顺序。在针对第一段的上下文模型之后,导出并编码该上下文模型的索引,该索引用作exp-golomb二元化部分的顺序。在该优选实施例中,针对第一段的上下文模型从1变化到3,获得索引0-2,索引0-2用作exp-golomb码的顺序。该优选实施例可以用于he情况。在编码绝对值mvd时使用2乘5个上下文的以上概括技术的备选方式中,为了对9个一元码二元化段进行编码,还可以使用14个上下文模型(每个分量7个上下文)。例如,当如上所述利用4个不同上下文对一元部分的第一和第二段进行编码时,第五上下文能够用于第三段,并且关于第四段能够使用第六上下文,而使用第七上下文对第五到第九段进行编码。因此,在这种情况下,甚至需要14个上下文,并且可以低复杂度旁路模式下仅对剩余值进行编码。减少利用上下文模型编码的段数目以引起旁路数目增加并且减少编码mvd所需的上下文模型数目的技术意在减小截除值,例如,从9到1或2。这意味着,使用上下文模型仅对指示了绝对值mvd是否大于零的第一段进行编码,并且应当使用相应上下文模型对指示了绝对值mvd是否大于零和1的第二段进行编码,而同时利用vlc码对剩余值进行编码。使用低复杂度旁路模式对使用vlc码由二元化产生的所有段进行编码。在pipe的情况下,直接插入或来自比特流是可能的。此外,所提出的实施例使用上邻域和左领域的另一定义,来导出第一段的更好上下文模型选择。除此之外,对上下文建模进行修改,使得减少第一或第一和第二段所需的上下文模型数目,从而引起进一步缩减存储器。同样,可以禁用对邻域(例如,以上邻域)的评价,引起节省了存储邻域的mvd值所需的线缓冲器/存储器。最后,以按照允许编码两个分离的前缀段(即,利用上下文模型编码的段)然后编码旁路段的方式来拆分分量的编码顺序。在优选实施例中,exp-golomb码用于对绝对值mvd分量的剩余部分进行二元化。为此,exp-golomb码的顺序是可变的。可以如下导出exp-golomb码的顺序。在针对第一段的上下文模型之后,导出上下文模型的索引,该索引用作exp-golomb二元化的顺序。在该优选实施例中,针对第一段的上下文模型从1变化到3,获得索引0-2,索引0-2用作exp-golomb码的顺序。该优选实施例可以用于he情况并且上下文模型的数目减少到6。为了再次减少上下文模型的数目并因此节省存储器,在另一优选实施例中水平和垂直分量可以共享相同上下文模型。在这种情况下,仅需要3个上下文模型。此外,在本发明的另一实施例中仅考虑左邻域来进行评价。在该优选实施例中,可以不修改阈值(例如,仅单个阈值16获得exp-golomb参数0或1,或者单个阈值32获得exp-golomb参数0或2)。该优选实施例节省了存储mvd所需的线缓冲器。在另一优选实施例中,修改阈值并且等于2和16。对于该优选实施例,总共需要3个上下文模型来编码mvd,并且可能的exp-golomb参数从0变化到2。在另一优选实施例中,该阈值等于16和32。同样,所描述的实施例适合于he情况。在本发明的另一优选实施例中,截断值从9减小到2。在该优选实施例中,使用上下文模型对第一段和第二段进行编码。对第一段的上下文模型选择可以如在现有技术中进行,或者按照以上优选实施例中描述的方式来修改。对于第二段,如在现有技术中选择分离上下文模型。在另一优选实施例中,通过评价左邻域的mvd来选择针对第二段的上下文模型。对于这种情况,上下文模型索引与针对第一段的上下文模型索引相同,而可用上下文模型与针对第一段的上下文模型不同。总共需要6个上下文模型(注意,分量共享上下文模型)。同样,exp-golomb参数可以依赖于所选的第一段上下文模型索引。在本发明的另一优选实施例中,exp-golomb参数依赖于第二段的上下文模型索引。所描述的本发明实施例可以用于he情况。在本发明的另一优选实施例中,针对两个段的上下文模型是固定的,并非通过评价左邻域或上邻域来导出。对于该优选实施例,上下文模型的总是等于2。在本发明的另一优选实施例中,第一段和第二段共享相同上下文模型。因此,需要仅一个上下文模型来编码mvd。在本发明的两个优选实施例中,exp-golomb参数可以是固定的,并且等于1。所描述的本发明优选实施例适合于he和lc配置二者。在另一优选实施例中,可以独立于第一段的上下文模型索引来导出exp-golomb部分的顺序。在这种情况下,h.264/avc的一般上下文模型选择的绝对和用于导出exp-golomb部分的顺序。该优选实施例可以用于he情况。在又一优选实施例中,exp-golomb码的顺序是固定的并设置为0。在另一优选实施例中,exp-golomb码的顺序是固定的并设置为1。在优选实施例中,exp-golomb码的顺序固定到2。在另一实施例中,exp-golomb码的顺序固定到3。在另一实施例中,根据当前pu的形状和大小来固定exp-golomb码的顺序。所提出的优选实施例可以用于lc情况。注意,随着利用上下文模型编码的段数目减少,考虑固定的exp-golomb部分顺序。在优选实施例中,如下定义邻域。对于以上pu,考虑包括当前pu的所有pu,并且使用具有最大mv的pu。对于左邻域也可以进行上述。对包括当前pu的所有pu进行评价,并且使用具有最大mv的pu。在另一优选实施例中,来自包括当前pu的上边界和左边界的所有pu的平均绝对运动矢量值用于导出第一段。对于以上提出的优选实施例,能够如下改变编码顺序。必须针对水平方向和垂直方向逐一地指定mvd(或反之亦然)。因此,必须对两个段串进行编码。为了最小化用于熵编码引擎的模式切换(即,旁路模式和正常模式之间的切换)次数,能够在第一步骤针对两个分量对利用上下文模型编码的段进行编码,随后在第二步骤中对旁路模式编码的段进行编码。注意,这仅是一种重新排序。请注意,由一元或截短的一元二元化产生的段也可以由每段索引一个标志的等同固定长度二元化来表示,该标志指示该值是否大于当前段索引。作为示例,将针对mvd的截短一元二元化的截除值设置为2,对于值0、1、2获得码字0、10、11。在具有每段索引一个标志的对应固定长度二元化中,段索引0(即,第一段)的一个标志指示绝对mvd值是否大于0,并且具有段索引1的第二段的一个标志指示绝对mvd值是否大于1。当第一标志等于1的情况下仅编码第二标志时,这获得相同码字0、10、11。接着,描述根据实施例的概率模型内部状态的复杂度可缩放表示。在he-pipe设置中,在利用he-pipe设置编码段之后更新概率模型的内部状态。使用编码段的旧状态和值通过状态过渡表查找来导出更新的状态。在cabac的情况下,概率模型可以采用63种不同状态,其中,每个状态对应于间隔(0.0,0.5)的模型概率。这种状态中的每一个用于实现两个模型概率。除了分配到状态的概率以外,也使用1.0减去该概率。被称作valmps的标志存储是否使用该概率或1.0减去该概率的信息。这获得总共126个状态。为了使用这种具有pipe编码构思的概率模型,需要将126个状态中的每一个映射到可能pipe编码器之一。在pipe编码器的当前实现方式中,这通过使用查找表来进行。在表a中示出了这种映射的示例。在下文中,描述如何表示概率模型的内部状态以免使用查找表将内部状态转换成pipe索引的实施例。仅需要一些简单比特掩蔽操作来从概率模型的内部状态变量中提取pipe索引。按照两级方式设计这种新颖的概率模型内部状态的复杂度可缩放表示。对于强制低复杂度操作的应用,仅使用第一级。仅描述用于编码或解码关联段的pipe索引和标志valmps。在所描述的pipe熵编码方案中,第一级可以用于在8个不同模型概率之间进行区分。因此,第一级应当需要针对pipeidx的3个比特,以及针对valmps标志的另一比特。利用第二级,将第一级的每个粗概率范围精炼到若干较小区间,较小区间以较高分辨率支持概率表示。这种更详细的描述实现了概率估计器更精确操作。通常,这种更详细的描述适合于目的在于高rd性能的编码应用。作为示例,如下示出了通过使用pipe的概率模型内部状态的这种复杂度可缩放表示。第一和第二级存储在单个8比特存储器中。需要4个比特来存储第一级(在最高有效位上用mps的值定义pipe索引的索引),另外4个比特用于存储第二级。为了实现cabac概率估计器的行为,每个pipe索引具有特定数目的允许精细索引,特定数目依赖于在pipe索引上映射多少cabac状态。例如,对于表a中的映射,在表b中示出了每个pipe索引的cabac状态的数目。表b:针对表a的示例每个pipe索引的cabac状态的数目。在段的编码或解码处理期间,可以通过采用简单比特掩码或比特移位操作来直接访问pipe索引和valmps。低复杂度编码处理仅需要第一级的4个比特,高效率编码处理可以附加地利用第二级的4个不同来执行对cabac概率估计器的概率模型更新。为了执行该更新,可以设计状态过渡查找表,具有与原始表相同的状态过渡,但是使用状态的复杂度可缩放二级表示。原始状态过渡表包括2乘63个元素。对于每个输入状态,该原始状态过渡表包含两个输出状态。当使用复杂度可缩放表示时,状态过渡表的大小不超过2乘128个元素,这是可接受的表大小增加。这种增加依赖于使用多少个比特来表示精细索引并且精确模仿cabac概率估计器的行为,需要4个比特。然而,能够使用不同的概率估计器,可以对缩减的cabac状态集合进行操作,使得对于每个pipe索引,允许不多于8个状态。因此,通过适应用于表示精细索引的比特数目,将存储器消耗与编码处理的给定复杂度级相匹配。与利用cabac的模型概率内部状态(其中,存在64个概率状态索引)相比,避免使用表查找将模型概率映射到特定pipe码,并且不需要其他转换。接着,描述根据实施例的复杂度可缩放上下文模型更新。为了更新上下文模型,可以基于一个或更多个先前编码段来更新其概率状态索引。在he-pipe设置中,在对每个段编码或解码之后进行该更新。相反,在lc-pipe设置中,可以不再进行该更新。然而,能够按照复杂度可缩放方式来进行上下文模型的更新。即,是否更新上下文模型的判定可以基于多个方面。例如,编码器设置仅对于特定上下文模型(例如,语法元素coeff_significant_flag的上下文模型)不进行更新,并且对于索引其他上下文模型始终进行更新。换言之,选择器402能够配置为,对于多个预定符号类型中的每一个类型的符号,根据与相应预定符号相关联的相应概率模型,在熵解码器322之间执行选择,使得预定符号类型的数目在低复杂度模式下低于高效率模式下的预定符号类型的数目。此外,例如用于控制是否更新上下文模型的准则能够是,比特流分组的大小,目前为止已解码的段数目,或者仅在对上下文模型的特定固定或可变数目的段进行编码之后进行更新。利用该判定是否更新上下文模型的方案,可以实现复杂度可缩放上下文模型更新。允许增大或减小比特流中要更新上下文模型的段的部分。更新的上下文模型数目越多,编码效率越好并且计算机复杂度越高。因此,可以利用所描述的方案来实现复杂度可缩放上下文模型更新。在优选实施例中,针对除了语法元素coeff_significant_flag、coeff_abs_greater1和coeff_abs_greater2以外的所有语法元素的段进行上下文模型更新。在另一优选实施例中,针对语法元素coeff_significant_flag、coeff_abs_greater1和coeff_abs_greater2的段进行上下文模型更新。在另一优选实施例中,当开始对分片进行编码或解码时针对所有上下文模型进行上下文模型更新。在处理了特定预定数目个变换块之后,针对所有上下文模型禁用上下文模型更新,直到分片结束为止。例如,选择器402可以配置为,针对预定符号类型的符号,根据与预定符号类型相关联的概率模型,在熵解码器322之间执行选择,同时更新或不更新关联概率模型,使得符号序列的学习阶段的长度在低复杂度模式下比在高效率模式下短,在符号序列的学习阶段,将对预定符号类型的符号的选择连同更新一起执行。另一优选实施例与先前描述的实施例相同,但是其使用上下文模型的内部状态的复杂度可缩放表示,使得一个表存储所有上下文模型的“第一部分”(valmps和pipeidx),第二表存储所有上下文模型的“第二部分”(refineidx)。此时,如果针对所有上下文模型禁用上下文模型更新(如在先前优选实施例中所述),则不再需要并且可以丢弃用于存储“第二部分”的表。接着,描述根据实施例的针对段序列的上下文模型跟踪。在lc-pipe配置中,将类型coeff_significant_flag、coeff_abs_greater1和coeff_abs_greater2的语法元素的段分组到子集中。对于每个子集,单个上下文模型用于编码其段。在这种情况下,可以在对该序列的固定数目段进行编码之后进行上下文模型更新。在下文中这表示为多段更新。然而,该更新可以与仅使用最后编码段和上下文模型的内部状态的更新不同。例如,对于已编码的每个段,进行一个上下文模型更新步骤。在下文中,给出了用于对包括8个段的示例子集进行编码的示例。字母‘b’表示对段的解码,字母‘u’表示上下文模型的更新。在lc-pipe情况下,仅进行段解码,而无需进行上下文模型更新:bbbbbbbb在he-pipe情况下,在对每个段解码之后,进行上下文模型更新:bubububububububu为了一定程度地降低复杂度,可以在段序列之后进行上下文模型更新(在该示例中,在每4个段之后,进行这4个段的更新):bbbbuuuubbbbuuuu即,选择器402可以配置为,针对预定符号类型的符号,根据与预定符号类型相关联的概率模型,在熵解码器322之间执行选择,同时更新或不更新关联概率模型,使得将预定符号类型的符号的选择连同更新一起执行的频率在低复杂度模式下比在高效率模式下低。在这种情况下,在对4个段解码之后,基于刚刚解码的4个段进行4个更新步骤。注意可以通过使用查找特殊查找表在一个单个步骤中进行这四个更新步骤。在四个传统更新步骤之后,该查找表针对4个段与上下文模型的每种可能内部状态的每种可能组合,存储生成的新状态。在特定模式下,多段更新用于语法元素coeff_significant_flag。对于所有其他语法元素的段,不使用上下文模型更新。将在进行多段更新步骤之前编码的段的数目设置为n。当集合中的段数目不可被n除尽时,1到n-1个段在最后的多段更新之后保持在子集结束处。数目n可以是大于1的任一正数。除了针对coeff_significant_flag、coeff_abs_greater1和coeff_abs_greater2的任一组合(而不是仅针对coeff_significant_flag更新)进行多段更新以外,另一模式能够与先前模式相同。因此,该模式应当比其他模式更复杂。能够将所有其他语法元素(其中,不使用多段更新)划分成两个拆开子集,其中,对于子集中的一个,使用单个段更新,并且对于其他子集码不使用上下文模型更新。任一可能拆开子集是有效的(包括空子集)。在备选实施例中,多段更新能够基于就在多段更新步骤之前编码的最后m个段。m可以是小于n的任一自然数。因此,类似于以下进行解码:bbbbuubbbbuubbbbuubbbb...其中n=4,m=2即,选择器402可以配置为,针对预定符号类型的符号,根据与预定符号类型相关联的概率模型在熵解码器322之间执行选择,同时基于预定符号类型的m个最新符号每第n预定类型符号更新关联的概率模型,使得比率n/m在低复杂度模式下比在高效率模式下高。在另一优选实施例中,对于语法元素coeff_significant_flag,如上针对he-pipe配置所述使用局部模板的上下文建模方案可以用于向语法元素的段分配上下文模型。然而,对于这些段而言,不使用上下文模型更新。此外,选择器402可以配置为,针对预定符号类型的符号,根据符号序列的先前获取符号的数目,选择多个上下文之一,并且根据与所选上下文相关联的概率模型在熵解码器322之间执行选择,使得上下文数目和/或先前获取符号的数目在低复杂度模式下比在高效率模式下低。使用8比特初始化值的概率模型初始化本节描述了使用所谓的8比特初始化值代替两个8比特值的概率模型的复杂度可缩放内部状态的初始化处理,如现有技术视频编码标准h.265/avc中的情况。该初始化处理包括两个部分,这两个部分等同于h.264/avc的cabac中用于概率模型的初始化值对。两个部分表示线性方程的两个参数,以计算概率模型的初始状态,表示来自qp的特定概率(例如,以pipe索引的形式):·第一部分描述了斜率,并且采用内部状态相对于在编码或解码期间使用的量化参数(qp)的相关性。·第二部分在给定qp和valmps处定义了pipe索引。两个不同模式可用于使用给定初始化值来初始化概率模型。第一模式是表示的qp无关初始化。第一模式仅使用针对索引qp的初始化值的第二部分中定义的pipe索引和valmps。这等同于斜率等于0的情况。第二模式是表示的qp相关初始化,并且附加地使用初始化值的第一部分的斜率,以改变pipe索引并且定义精细索引。如下示出了8比特初始化值的两个部分:这两个部分包括两个4比特部分。第一部分包含指向按照数组存储的16个不同预定斜率中的一个斜率的索引。预定斜率包括7个负斜率(斜率索引0-6),等于零的一个斜率(斜率索引7)、和8个正斜率(斜率索引8-15)。表c中描述了这些斜率。斜率索引01234567斜率值-239-143-85-51-31-19-110斜率索引89101112131415斜率值1119315185143239399表c:用因子265缩放所有值以免使用浮点运算。第二部分是在概率区间p=0和p=1之间实现递减valmps=1的概率的pipe索引。换言之,pipe编码器必须以比pipe编码器n-1高的模型概率操作。对于每个概率模型,pipe概率索引是可用的,并且识别概率区间包含针对qp=26概率为pvalmps=1的pipe编码器。pipe概率索引01234567pipe编码器ur5ur4ur3ur2tbbp2bp3epmps00000000pipe概率索引89101112131415pipe编码器epbp3bp2tbur2ur3ur4ur5mps11111111表d:初始化值的第二部分到pipe编码器和valmps的映射:ur=一元至rice码,tb=三段码,bp=段pipe码,ep=相等概率(未编码)需要qp和8比特初始化值通过计算y=m*(qp-qpref)+256*b形式的简单线性方程来计算概率模型内部状态的初始化。注意m定义通过使用斜率索引从表c中获取的斜率(8比特初始化值的第一部分),b表示qpref=26处的pipe编码器(8比特初始化值的第二部分:“pipe概率索引”)。然后,如果y大于2047,则valmps是1并且pipeidx等于(y-2048)>>8。否则,valmps是0并且pipeidx等于(2047-y)>>8。如果valmps等于1,则精细索引等于(((2047-y)&255)*numstates)>>8。在两种情况下,numstates等于pipeidx的cabac状态的数目。以上方案不仅可以与pipe编码器相结合地使用,也可以与上述cabac方案相结合使用。在没有pipe的情况下,每pipeidx的cabac状态(即,其间在概率更新时执行状态过渡的概率状态)的数目(即,pstate_current[bin]的相应最高有效位)仅是一组参数,该组参数事实上实现了依赖于qp的cabac状态的分段线性内插。此外,在参数numstates针对所有pipeidx使用相同值的情况下实质上禁用该分段线性内插。例如,对于所有情况将numstates设置为8获得总共16*8个状态,对于valmps等于1将精细索引的计算简化为((y-2048)&255)>>5,或对于valmps等于0简化为((2047-y)&255)>>5。对于这种情况,将使用usingvalmps、pipeidx和refinementidx的表示映射回到h.264/avc的cabac使用的表示非常简单。将cabac状态给定为(pipeidx<<3)+refinementidx。以下关于图16进一步描述了这方面。除非8比特初始化值的斜率等于零或者除非qp等于26,否则必须通过采用线性方程和编码或解码处理的qp来计算内部状态。在斜率等于零或者当前编码处理的qp等于26的情况下,8比特初始化值的第二部分可以直接用于初始化概率模型的内部状态。否则,可以进一步利用生成的内部状态的小数部分,通过特定pipe编码器的限值直接的线性内插来确定高效率编码应用中的精细索引。在本优选实施例中,通过简单地将小数部分与可用于当前pipe编码器的精细索引的总数相乘并且将结果映射到最接近的整数精细索引,来执行线性内插。概率模型内部状态的初始化处理能够关于pipe概率索引状态的数目而变化。具体地,如下能够避免两次出现使用pipe编码器e1的相同概率模式,即,使用两个不同pipe索引在值为1或0的mps之间区分。同样,能够在开始解析分片数据期间调用该处理,并且该处理的输入能够是表e中所示的8比特初始化值,对于每个要初始化的上下文模型在比特流内传输该8比特初始化值。表e:概率模型的8比特initvalue的设置前4个比特定义了斜率索引并且通过掩蔽比特b4-b7来获取。对于每个斜率索引,在表中指定和显示斜率(m)。表f:slopeidx的变量m的值slopeidx0123456789101112131415m-239-143-85-51-31-19-11011193151851432393998比特初始化值的比特b0-b3、后4个比特标识probidx,并且描述预定qp下的概率。probidx0指示值为0的最高符号概率,并且相应地,probidx14指示值为1的最高符号概率。表g针对每个probidx示出了对应的pipecoder及其valmps。表g:初始化值的后4个比特部分到pipe编码器和valmps的映射:ur=一元至rice码,tb=三段码,bp=段pipe码,ep=相等概率(未编码)probidx01234567891011121314pipecoderur5ur4ur3ur2tbcbp2bp3epbp3bp2tbcur2ur3ur4ur5valmps000000001111111利用两个值,通过使用类似于y=m*x+256*b的线性方程来进行内部状态的计算,其中,m表示斜率,x表示当前分片的qp,b从如以下描述所示的probidx导出。用因子256来缩放该处理中的所有值,以免使用浮点运算。该处理的输出(y)表示当前qp下概率模式的内部状态并且存储在8比特存储器中。如表g所示,内部状态包括valmps、pipeidx和refineidx。表h:概率模型内部状态的设置对refineidx和pipeidx的分配类似于cabac概率模型的内部状态(pstatectx)并且存在于表h中。表i:pipeidx、refineidx和pstatectx的分配在优选实施例中,在qp26处定义probidx。基于8比特初始化值,如以下伪码中描述地处理概率模型的内部状态(valmps、pipeidx和refineidx):如伪码所示,通过pipeidx的区间之间的线性内插并且将结果量化到对应refineidx来计算refineidx。偏移指定每个pipeidx的refineidx的总数。将fullctxstate/256的区间[7,8)分成两半。将区间[7,7.5)映射到pipeidx=0和valmps=0,并且将区间[7.5,8)映射到pipeidx=0和valmps=1。图15示出了导出内部状态的处理并且显示fullctxstate/256到pstatectx的映射。注意,斜率指示probidx与qp的相关性。如果8比特初始化值的slopeidx等于7,则生成的概率模型内部状态对于所有分片qp是相同的,因此,对内部状态的初始化处理与分片的当前qp无关。即,选择器402可以使用对所使用的量化步长qp加以指示的语法元素,对要在数据流(例如,整个数据流或下个分片)的后续部分解码中使用的pipe索引进行初始化,以便使用该语法与元素作为所有将该部分的数据(例如,其中包含的变换系数级别)量化到对于两个模式(lc和he)公共的表中。诸如表d等表可以包括针对每种符号类型的pipe索引,相应参考qpref,或者针对每种符号类型的其他数据。根据当前部分的实际qp,选择器可以使用实际qp和qp本身编索引的相应表条目a来计算pipe索引值,例如,通过将a与(qp-qpref)相乘。lc和he模式的唯一不同之处在于:与he模式相比,选择器在lc模式的情况下仅以较低精度计算结果。例如,选择器可以仅使用计算结果的整数部分。在he模式下,较高精度的其余部分(例如,小数部分)用于选择较低精度或整数部分指示的相应pipe索引的可用精细索引之一。在he模式下使用精细索引(潜在地,在lc模式下也更少),以便例如通过使用上述表行进来执行概率适配。当离开上限处当前pipe索引的可用索引时,接着通过最小化精细索引来选择更高pipe索引。当离开下限处当前pipe索引的可用索引时,接着通过将精细索引最大化到可用于新pipe索引的最大索引,来选择下个较低pipe索引。pipe索引连同精细索引引起定义概率状态,但是对于部分流之间的选择,选择器仅使用pipe索引。精细索引仅用于更紧密地或者以更细精度跟踪概率。然而,以上讨论还示出了可以使用如图12所示的解码器与图7-17的pipe或cabaca编码构思无关地实现复杂度可缩放性。图12的解码器用于解码数据流601(数据流601中编码了媒体数据),并且包括:模式开关600,配置为根据数据流601激活低复杂度模式或高效率模式;以及解符号化器602,配置为使用控制参数可控的映射函数,对直接或通过该熵解码例如从数据流601中获得的符号序列603进行解符号化,以获得整数值语法元素604,映射函数用于将符号序列字的于映射的整数值语法元素的共同域。重构器605配置为基于整数值语法元素来重构媒体数据606。解符号化器602配置为执行解符号化,使得控制参数在激活高效率模式的情况下以第一速率根据数据流变化,并且控制参数恒定而与数据流无关,或者在激活低复杂度模式的情况下以低于第一速率的第二速率根据数据流改变,如箭头607所示。例如,控制参数可以根据先前解符号化的符号而改变。使用图12的方面来实现以上实施例中的一些。例如,在解符号化器314中根据407所示的选定模式对序列327内的语法元素coeff_abs_minus3和mvd进行二元化,并且重构器605使用这些语法元素进行重构。显然,容易地图11和12的两个方面可结合,但是图12的方面也可以与其他编码环境相结合。例如,参见上述运动矢量差编码。解符号化器602可以配置为,使得映射函数使用截短一元码来在截除值以下的整数值语法元素的域的第一区间内执行映射,并且在不包括截除值和截除值以上的整数值语法元素的域的第二区间内,执行针对截除值的截短一元码形式的前缀与vlc码字形式的后缀的组合,其中,解码器可以包括:熵解码器608,配置为通过改变概率估计使用熵解码从数据流601中导出截短一元码的多个第一段并且使用恒定相等概率旁路模式导出vlc码字的多个第二段。在he模式下,熵编码可以比lc编码更复杂,如箭头609所示。即,可以在he模式下应用并且在lc模式下抑制上下文自适应和/或概率适配,或者可以在其他方面缩放复杂度,如以上关于多个实施例陈述的。在图13中示出了用于将媒体数据编码到数据流中适合图11的解码器的编码器。该编码器可以包括:插入器500,配置为在数据流501中信号通知低复杂度模式或高效率模式的激活;构造器504,配置为将媒体数据505重新编码到语法元素序列506中;符号化器507,配置为将语法元素序列506符号化成符号序列508;多个熵编码器310,每个熵编码器配置为将部分符号序列转换成数据流的码字;以及选择器502,配置为将符号序列508的每个符号转发到多个熵编码器310中所选的一个,其中选择器502配置为根据低复杂度模式和高效率模式中激活的一个模式(如箭头511所示)执行选择。可选地,提供交织器510用于对编码器310的码字进行交织。在图14中示出了用于将媒体数据编码到数据流中适合于图12的解码器的编码器,该编码器包括:插入器700,配置为在数据流701内信号通知低复杂度模式或高效率模式的激活;构造器704,配置为将媒体数据705重新编码到包括整数值语法元素的语法元素序列706;以及符号化器707,配置为使用控制参数可控制的映射函数对整数值语法元素进行符号化,映射函数用于将整数值语法元素的域映射到符号序列字的共同域,其中,符号化器707配置为执行符号化,使得控制参数在激活高效率模式下以第一速率根据数据流而变化,并且控制参数恒定而与数据流无关,或者在激活低复杂度模式的情况下以低于第一速率的第二速率根据数据流而改变,如箭头708所示。将符号化结果编码到数据流701中。同样,应当注意,图14的实施例容易地可转变到上述上下文自适应二元算术编/解码实施例:选择器509和熵编码器310应当缩合成上下文自适应二元算术解码器,该上下文自适应算术编码器应当直接输出数据流401并且为当前要从数据流导出的段选择上下文。特别地,这对于上下文自适应和/或概率自适应是成立的。在低复杂度模式期间可以关闭或更轻松地设计两个功能/自适应。简要地,以上已经注意到,根据备选实施例可以省去关于以上实施例中的一些说明的模式切换能力。为了使得这一点更清楚,参照图16,图16概述了图16的实施例与以上实施例的区别仅在于去除模式切换能力情况下的以上描述。此外,以下描述揭示了由以下产生的优点:使用例如与h.264相比针对斜率和偏移较少的精确参数来初始化上下文的概率估计。具体地,图16示出了用于从数据流401中解码视频的解码器,其中使用语法元素327的二元化将语法元素327编码到数据流401中。重点应注意,在以上描述中,图1-15提供的整个细节也可转变成图16中所示的实体,例如,只要涉及解符合化器314、重构器404和熵解码器409的功能。然而,为了完整起见,以下再次概括这些细节中的一些。解码器包括:熵解码器409,配置为根据数据流401的先前解码部分,通过在不同上下文之间选择上下文并更新与不同上下文相关联的概率状态,使用二元熵解码来从数据流401中导出二元化值的多个段326。为了更精确,如上所述,熵解码器409可以配置为使用二元熵解码(例如,上述cabac方案)或二元pipe解码,即使用包括若干并行操作的熵解码器322以及相应选择器/分配器的构造,从数据流410中导出二元化值的多个段326。只要涉及上下文选择,可以如上概括地实现上下文选择与数据流401的先前解码部分的相关性。即,熵解码器可以配置为根据以下各项执行针对当前要导出的段的上下文选择:当前要导出的段所属二元化值内当前要导出的段的段位置;语法元素的语法元素类型,语法元素的整数值是通过对当前要导出的段所属的二元化值进行解二元化而获得的;或先前从数据流401导出的一个或更多个段或先前解二元化的语法元素的整数值。例如,选择的上下文在特定语法元素的二元化值的第一和第二段之间可以不同。此外,可以针对不同语法元素类型(例如,变换系数级别、运动矢量差、编码模式参数等)提供不同组上下文。只要涉及概率状态更新,熵解码器409就可以配置为通过从与针对126个概率状态内当前导出的段而选择的上下文相关联的当前概率状态过渡到126个概率状态之间根据当前导出的段的新概率状态,针对当前导出的段执行相同操作。如上所述,例如,熵解码器409可以使用当前状态和当前导出的段值来访问表条目,其中所访问表条目揭示了新概率状态。参见以上表,除了以上所列其他步骤0至5以外,熵解码器参照表查找执行next_state_lps和next_state_mps。在以上描述中,概率状态有时表示为pstate_current[bin]。同样如上所述,熵解码器409可以配置为通过以下操作来对当前要导出的段进行二元算数解码:对表示当前概率区间的当前概率区间比特值(r)进行量化,以获得概率区间索引q_index;并且通过使用概率区间索引和概率状态索引p_state在表条目(rtab)之间给表条目编索引来执行区间再划分,以获得将当前概率区间再划分成两个部分区间,概率状态索引依赖于与针对要导出的段而选择的上下文相关联的当前概率状态。如上所述,熵解码器409可愿意使用当前概率区间宽度值r的8比特表示。微粒对当前概率宽度值进行量化,例如熵解码器409可以获取出8比特表示两个或三个最高有效位。熵解码器409然后可以基于来自当前概率区间内部的偏移状态值在两个部分区间之间执行选择,更新概率区间宽度值和偏移状态值,并且使用所选部分区间推导当前要导出的段值,并且执行更新概率宽度值和偏移状态值(即,以上描述中的v)的再归一化,包括从数据流401中连续读取比特。如上所述,基于偏移状态值v的两个部分区间之间的选择可以涉及r与v之间的比较,而概率区间宽度值和偏移状态值的更新可以依赖于当前要导出的段值。继续描述图16,解码器还包括:解符号化器314,配置为对语法元素327的二元化值进行解二元化,以获得语法元素的整数值。图16的解码器还包括的重构器404然后使用量化参数qp基于语法元素的整数值来重构视频405。例如,如上所述,重构器404可以使用量化参数以预测方式进行操作,以便设置表示预测残差的精度(例如,表示预测残差的变换版本的变换系数级别)。如上所述,熵解码器409配置为在126个概率状态之间进行区分。即,pstate_current[bin]与valmps的指示(即,0和1之间(即,可能符号状态之间)的mbs指示)相结合能够假定126个不同状态。熵解码器409根据量化参数的线性方程(即,根据qp+d的方程)对于不同上下文相关联的概率状态(即,针对不同可用上下文的pstate_current)初始化。应当注意,pstate_current实际上仅指示lsb的概率。因此,qp+d揭示了即pstate_current和valmps二者,即两个状态是msb和lbs的指示。同时qp+d指示特定符号(即,1或0)的概率,qp+d是否大于63的事实直接指示了0还是1是msb。熵解码器126针对每个不同上下文,从相应8比特初始化值的前4个比特部分和后4个比特部分(即,一方面四个msb和另一方面较低的四个lsb)导出线性方程的斜率a偏移b。在这方面,熵解码器409可以配置为在视频分片开始时对于不同上下文相关联的概率状态进行初始化。例如,熵解码器可以配置为针对视频的每个分片单独确定量化参数。即,熵解码器409可以从数据流401中导出与如何设置针对每个分片的量化参数有关的信息。然后,使用斜率和偏移,使用相应分片的相应量化参数,在每个分片的开始处设置概率估计。例如“在分片的开始处”可以意味着“对要使用任一上下文熵解码的第一段进行提取解码”。具体地,熵解码器409可以配置为通过从数据流401读取当前分片的量化参数qp并根据当前分片的量化参数的线性方程对与不同上下文相关联的概率状态进行初始化,来在视频分片开始处初始化与不同上下文相关联的概率状态,其中,熵解码器可以针对每个分片从相同相应8比特初始化值的前4个比特部分和后4个比特部分中导出线性方程的斜率和偏移。即,当量化参数qp在视频分片之间变化时,斜率和偏移对不变。如上所述,重构器404可以以预测方式进行操作。相应地,重构器404在基于语法元素327的整数值重构视频405时,使用量化参数qp对语法元素包括的变换系数级别进行解量化,执行重新变换回到解量化的变换系数级别以获得预测残差,执行空间和/或时间预测以获得预定信号,并且将预测残差和预测信号相组合以重构视频405。为了呈现特定示例,熵解码器409可以配置为,针对不同上下文中的每一个,例如通过如上所述的表查找或者备选地使用诸如线性运算等独立算术运算,从彼此独立的前4个比特部分和后4个比特部分中导出斜率和偏移。即,为了跨过一方面8比特初始化值的两个4比特部分的4个比特与另一方面126个不同概率状态值之间的间隔,熵解码器409可以单独将两个4比特部分代入线性方程。例如,通过计算斜率=m·p+n将8比特初始化值p的msb转换成斜率,并且8比特初始化值q的四个lsb用于计算偏移,偏移=s·q+t。适当地将m、n、t和s选为常数。仅出于完整起见,图17示出了适合于图16的解码器的编码器,其中,图17的编码器几乎对应于与图11的解码器对应的图16的解码器类似方式的编码器的其他实施例的构造,即除了省去模式切换能力并且在更一般方面(包括pipe方面或诸如上述cabac方面等另一方面)实现熵编码器513。除此之外,以上关于图16提供的所有描述也同样可转变到图17。尽管在装置的上下文中描述了一些方面,然而应清楚,这些方面也表示对相应方法的描述,其中模块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对相应装置的相应模块或项目或特征的描述。方法步骤的一些或全部可以由(利用)硬件装置来执行,例如,微处理器、可编程计算机或电路。在一些实施例中,最重要的方法步骤中的某一个或更多个可以由这样的装置来执行。本发明的编码信号可以存储在数字存储介质上或者可以在诸如无线传输介质或有线传输介质等传输介质(例如,互联网)上传输。根据特定实现方式需求,本发明的实施例可以以硬件或软件来实现。可以使用数字存储介质来实现,例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪存,在所述数字存储介质上存储有电可读控制信号,所述电可读控制信号与可编程计算机系统协作(或能够与之协作),使得执行相应的方法。因此,数字存储介质可以是计算机可读的。根据本发明的一些实施例包括一种具有电可读控制信号的数据载体,所述电可读控制信号能够与可编程计算机系统协作使得执行本文描述的方法之一。通常,本发明的实施例可以被实现为一种具有程序代码的计算机程序产品,所述程序代码操作用于在所述计算机程序产品运行于计算机上时执行方法之一。所述程序代码可以例如存储在机器可读载体上。其他实施例包括存储在机器可读载体上的用于执行本文描述的方法之一的计算机程序。换言之,本发明方法的实施例因此是具有程序代码的计算机程序,所述程序代码用于在计算机程序运行于计算机上时执行本文描述的方法之一。因此,本发明方法的另外的实施例是一种数据载体(或数字存储介质,或计算机可读介质),包括记录在所述数据载体上的计算机程序,所述计算机程序用于执行本文描述的方法之一。所述数据载体、数字存储介质或记录介质典型地是实体的和/或非暂时性的。因此本发明方法的另外的实施例是一种表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文描述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)来传送。另外的实施例包括一种处理装置,例如计算机或可编程逻辑器件,配置为或适于执行本文描述的方法之一。另外的实施例包括一种计算机,所述计算机上安装有用于执行本文描述的方法之一的计算机程序。根据本发明的另外的实施例包括一种装置或系统,配置为向接收机(例如,电学地或光学地)传送用于执行本文描述的方法之一的计算机程序。接收机可以例如是计算机、移动设备、存储设备等。所述装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。在一些实施例中,可以使用可编程逻辑器件(例如,现场可编程门阵列)来执行本文描述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文描述的方法之一。通常,方法优选地由任意硬件装置来执行。上述实施例仅用于说明本发明的原理。应理解,本领域技术人员将清楚本文描述的布置和细节的修改和变型。因此,本发明的原理仅由待审权利要求的范围来限定,而不是由本文中通过描述和说明实施例来体现的特定细节来限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1