CN102939719B - 用于在二进制熵编码和解码中减少源的方法和设备 - Google Patents

用于在二进制熵编码和解码中减少源的方法和设备 Download PDF

Info

Publication number
CN102939719B
CN102939719B CN201180025262.8A CN201180025262A CN102939719B CN 102939719 B CN102939719 B CN 102939719B CN 201180025262 A CN201180025262 A CN 201180025262A CN 102939719 B CN102939719 B CN 102939719B
Authority
CN
China
Prior art keywords
probability
making
sets
probability sets
symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180025262.8A
Other languages
English (en)
Other versions
CN102939719A (zh
Inventor
乔治里·弗伦茨·科罗迪
何大可
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
BlackBerry Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN102939719A publication Critical patent/CN102939719A/zh
Application granted granted Critical
Publication of CN102939719B publication Critical patent/CN102939719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

描述了用于在数据压缩***中组合源的方法和***。在上下文模型引起产生多个源或符号且每个源与概率估计相关联的***中,可以通过定义另一缩减大小的概率集合来组合源。新概率集合可以是由上下文模型提供的预定义概率集合的子集。使相对熵最小可以是用以定义预定概率到新概率集合的映射的基础。于是,可以使用新概率集合,基于新概率与预定义概率之间的映射,对使用上下文模型建模的输入序列进行熵编码和熵解码。

Description

用于在二进制熵编码和解码中减少源的方法和设备
相关申请的交叉引用
本申请要求在2010年5月21日提交的美国临时申请No.61/347,027的优先权,其内容通过引用合并于此。
技术领域
本申请大体涉及数据压缩,具体地涉及编码器、解码器和用于在二进制熵编码和解码中减少源的方法。
背景技术
已经开发了多种编码方案来编码二进制数据。例如,可以使用Huffman码来编码JPEG图像。H.264标准允许两种可能的熵编码过程:上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。CABAC得到比CAVLC更大的压缩,但是CABAC计算要求更高。
二进制熵编码的最近进步已经使得其作为编码方案日益具有吸引力。例如,有可能参加并行编码,在并行编码中基于上下文建模将源输入序列分成并行的子序列,每个子序列包含与来自上下文模型的特定概率相关联的符号。在另一示例中,利用基本码集和辅助码集的可变到可变(variable-to-variable)编码可以提高编码效率。辅助码集仅用在“结束”或“清除(flush)”事件期间,其中符号的序列或子序列不完成主码字。可以将与上下文模型中定义的特定概率关联的符号的子序列看成是通过不同“源”产生的。
无论如何,二进制熵编码仍然存在会在特定环境下会出现的某些缺陷。例如,在并行编码的上下文中,输出比特流可以包括关于每个编码子序列的长度的信息。对于具有大量“源”(即,概率)的上下文模型,这可能意味着相当大的开销。在双码集的可变到可变编码的上下文中,对不太有效的辅助码集的使用可能是昂贵的,特别是在存在大量的“源”以及因此存在大量的在清除事件之后需要使用辅助码字编码的部分子序列的情况下。
发明内容
本申请描述了用于编码和解码数据的架构、方法和过程。
在一方面,本申请描述了一种用于对输入符号序列进行编码的方法,所述符号属于有限字母表,其中上下文模型规定了预定概率集合,并且所述输入符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联。所述方法包括:选择新概率集合,其中所述新概率集合与所述预定义概率集合不相同;基于映射,给所述输入序列中的每个符号分配来自所述新概率集合的相应概率,其中所述映射将所述预定义概率集合中的每个概率映射到来自新概率集合的相应概率;以及,对所述输入符号序列进行熵编码,其中所述熵编码包括基于分配给符号的来自新概率集合的相应概率对符号进行分组。
在另一方面,本申请描述了用于对编码比特流进行解码以获得符号序列的方法,所述符号属于有限字母表,其中上下文模型规定了预定义概率集合,并且所述符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联。所述方法包括:从比特流中读取标识新概率集合的信息,其中所述新概率集合与所述预定概率集合不相同;基于映射,给所述符号序列中的每个符号分配来自新概率集合的相应概率,其中所述映射将所述预定义概率集合中的每个概率映射到来自新概率集合的相应概率;以及,基于所分配的来自新概率集合的相应概率,对所述编码比特流进行熵解码。
在又一方面,本申请描述了一种编码器,其具有存储器、处理器和可由处理器执行的编码应用,所述编码应用在被执行时将所述处理器配置为执行此处描述的编码过程之一。
在又一方面,本申请描述了一种解码器,其具有存储器、处理器和可由处理器执行的解码应用,所述解码应用在被执行时将所述处理器配置为执行此处描述的解码过程之一。
在又一方面,本申请描述了一种存储计算机可执行指令的有形计算机可读介质,所述计算机可执行指令在被执行时将处理器配置为执行此处所描述的编码和/或解码的过程之一。
应该理解,此处对处理器的引用不限于单个处理器计算机架构,并且在一些实施例中可以包括多核处理器、多个处理器、以及分布式架构。
结合附图,通过阅读以下示例的描述,本领域技术人员将理解本申请的其他方面和特征。
附图说明
现在参照附图作为示例,附图示出了本申请的示例实施例,在附图中:
图1以框图形式示出了用于对视频进行编码的编码器;
图2以框图形式示出了用于对视频进行解码的解码器;
图3示出了编码过程的框图;
图4以流程图形式示出了使用新概率集合和映射对输入符号进行编码的方法;
图5以流程图形式示出了使用新概率集合和映射对编码比特流进行解码的方法;
图6示出了编码器的示例实施例的简化框图;
图7示出了解码器的示例实施例的简化框图。
在不同的附图中使用类似的参考标号来标记类似的组份。
具体实施方式
以下描述总体涉及数据压缩,具体地,涉及有限字母表源(如二进制源)的编码。在以下给出的许多示例中,给出这种编码和解码方案的特定应用。例如,以下许多示意参照视频编码。可以认识到,本申请不限于视频编码或图像编码。
在以下描述中,参照H.264标准来描述示例实施例。本领域技术人员将理解,本申请不限于H.264,而是可以适用于其他视频编码/解码标准。还可以认识到,本申请不必限于视频编码/解码,可以适用于任何二进制源的编码/解码。
在以下描述中,在视频应用的上下文中,在某种程度上可互换地使用术语帧和片(slice)。本领域技术人员将认识到,在H.264标准的情况下,帧可以包含一个或多个片。还将认识到,取决于适用的视频编码标准的特定要求,特定编码/解码操作是逐帧执行的,一些编码/解码操作是逐片执行的。在任何特定实施例中,适用的视频编码标准可以确定是否关于帧和/或片来执行以下描述的操作,视情况而定。相应地,根据本公开,本领域技术人员将理解,这里描述的特定操作或过程以及对帧、片或两者的特定引用对于给定实施例是否适用于帧、片或两者。
现在参照图1,图1以框图形式示出了用于对视频进行编码的编码器10。还参照图2,图2示出了用于对视频进行解码的解码器50的框图。可以认识到,这里描述的编码器10和解码器50均可以在专用或通用计算设备(包含一个或多个处理单元和存储器)上实现。编码器10或解码器50执行的操作可以通过例如专用集成电路或通过通用处理器可执行的存储程序指令来实现,视情况而定。设备可以包括附加软件,包括例如用于控制基本设备功能的操作***。关于以下描述,本领域技术人员可以认识到在其中可以实现编码器10或解码器50的设备和平台的范围。
编码器10接收视频源12并产生编码比特流14。解码器50接收编码比特流14并输出解码视频帧16。编码器10和解码器50可以被配置为符合多个视频压缩标准来操作。例如,编码器10和解码器50可以符合H.264/AVC。在其他实施例中,编码器10和解码器50可以符合其他视频压缩标准,包括H.264/AVC标准的演进。
编码器10包括空间预测器21、编码模式选择器20、变换处理器22、量化器24和熵编码器24。本领域技术人员可以认识到,编码模式选择器20确定视频源的适合编码模式,例如对象帧/片是I、P还是B类型,帧/片内的特定宏块是帧间还是帧内编码。变换处理器22对空间域数据执行变换。具体地,变换处理器22应用基于块的变换来将空间域数据转换为频谱分量。例如,在许多实施例中,使用离散余弦变换(DCT)。在一些实例中,可以使用其他变换,如离散正弦变换等等。将基于块的变换应用于像素数据块得到变换域系数的集合。量化器24对变换域系数的集合进行量化。然后,熵编码器26对量化系数和关联信息(如运动矢量、量化参数等等)进行编码。
帧内编码的帧/片(即,类型I)不参照其他帧/片进行编码。换言之,它们不采用时间预测。然而,帧内编码的帧依赖于帧/片内的空间预测,如图1中通过空间预测器21进行说明。即,在对特定块编码时,可以将块中的数据与针对该帧/片已经编码的块内邻近像素的数据进行比较。使用预测算法,可以将块的源数据转换为残差数据。然后,变换处理器22对残差数据进行编码。例如,H.264规定了4x4变换块的9种空间预测模式。在一些实施例中,这9种模式中的每一种可以用于独立处理块,然后使用速率失真优化来选择最佳模式。
H.264标准还规定了使用运动预测/补偿来利用时间预测。相应地,编码器10具有反馈环路,反馈环路包括:解量化器28、反变换处理器30和解块处理器32。这些单元反映了解码器50实现以再现帧/片的解码过程。帧存储器34用于存储再现帧。按照这种方式,运动预测基于在解码器50处重构帧是什么,而不基于原始帧,由于编码/解码中涉及的有损压缩,原始帧可能不同于重构帧。运动预测器36使用帧存储器34中存储的帧/片作为源帧/片,来与当前帧进行比较,以识别相似块。相应地,对于应用运动预测的宏块,变换处理器22编码的“源数据”是出自运动预测过程的残差数据。残差数据是表示参考块与当前块之间的差异(如果存在)的像素数据。关于参考帧和/或运动矢量的信息可以不由变换处理器22和/或量化器24处理,而是可以提供给熵编码器26,作为比特流的一部分与量化系数一起编码。
本领域技术人员将认识到用于实现H.264编码器的细节和可能变型。
解码器50包括:熵解码器52、解量化器54、反变换处理器56、空间补偿器57和解块处理器60。帧缓冲器58提供重构帧以便应用运动补偿的运动补偿器62使用。空间补偿器57表示根据先前解码块来恢复特定帧内编码块的视频数据的操作。
熵解码器52接收并解码比特流14,以恢复量化系数。在熵解码过程中,还可以恢复辅助信息,如果适用,一些辅助信息可以提供给运动补偿环路,以用于运动补偿。例如,熵解码器52可以恢复运动矢量和/或针对帧间编码宏块的参考帧信息。
然后,解量化器54对量化系数进行解量化,以产生变换域系数,然后,反变换处理器56对变换域系数进行反变换,以重建“视频数据”。可以认识到,在一些情况下,如对于帧内编码宏块,重建的“视频数据”是相对于帧内先前解码块的、用于空间补偿的残差数据。空间补偿器57根据残差数据和来自先前解码块的像素数据来产生视频数据。在其他情况下,如对于帧间编码宏块,来自反变换处理器56的重建“视频数据”是相对于来自不同帧的参考块的、用于运动补偿的残差数据。这里,空间和运动补偿均可以称为“预测操作”。
运动补偿器62在帧缓冲器58内定位专用于特定帧间编码宏块的参考块。运动补偿器62基于专用于帧间编码宏块的参考帧信息和运动矢量来进行该操作。然后,运动补偿器62提供参考块像素数据,以与残差数据组合,得到针对该宏块的重建视频数据。
然后,可以对重构帧/片应用解块过程,如解块处理器60所示。在解块之后,输出帧/片作为解码视频帧16,例如以在显示设备上显示。可以理解,视频回放机(如计算机、机顶盒、DVD或蓝光播放器和/或移动手持设备)可以在输出设备上显示之前将解码帧缓冲在存储器中。
熵编码是所有无损和有损压缩方案(包括上述视频压缩)的基本部分。熵编码的目的是表示通常由独立但是不同分布过程建模为比特序列的假定解相关信号。用于实现该操作的技术必须不依赖于解相关信号如何产生,但是可以依赖于每个即将到来符号的相关概率估计。
实际中使用两种常见熵编码方法:第一种是可变长度编码,利用码字来标识输入符号或输入序列;第二种是范围(或算术)编码,对[0,1)区间的子区间序列进行封装,以得到单一区间,根据该单一区间,使用定义这些区间的概率分布,可以重构原始序列。典型地,范围编码方法往往提供更好的压缩,而VLC方法有可能更快。在任一情况下,输入序列的符号来自有限字母表。
熵编码的特殊情况是输入字母表限于二进制符号时。这里,VLC方案必须将输入符号组合在一起以具有任何压缩可能,但是由于概率分布可以在每个比特之后改变,难以进行高效的码重构。相应地,范围编码由于其更大的灵活性而被认为具有更大的压缩,但是算术码的较高计算要求妨碍了实际应用。
在一些熵编码方案(如CAVLC和CABAC,两者均在H.264/HAV中使用)中使用的技术之一是上下文建模。对于上下文建模,输入序列的每个比特具有上下文,其中上下文由该比特之前的比特给出。在一阶上下文模型中,上下文可以完全依赖于先前比特(符号)。在许多情况下,上下文模型可以是自适应的,使得在处理序列的其他比特时,可以改变与给定上下文的符号相关联的概率。在其他情况下,例如在此处描述的那些情况下,上下文模型基于i.i.d(独立且相同分布的)二进制源,其中上下文模型定义了产生最小可能符号(LPS)的概率的集合,以及给输入序列的每个比特分配来自所述集合的概率中的一个概率。与所述概率中的给定概率相关联的比特可被看成由i.i.d源产生的符号序列。
参照图3,图3示出了编码过程100的框图。编码过程100包括上下文建模组件104和熵编码器108。上下文建模组件104接收输入序列x102,在本示例中,x是比特序列(b0,b1,...bn)。上下文建模组件104基于序列中的一个或多个先前比特来确定每个比特bi的上下文,并基于自适应上下文模型来确定与该比特bi相关联的概率pi,其中该概率是该比特将是最小可能符号(LPS)的概率。在二进制实施例中,根据习惯或应用,LPS可以是“0”或“1”。上下文建模组件输出输入序列(即,比特(b0,b1,...bn))以及其相应概率(p0,p1...pn)。这些概率是利用上下文模型确定的估计概率。然后,将该数据输入熵编码器106,熵编码器106使用概率信息对输入序列进行编码。例如,熵编码器106可以是二进制算术编码器。熵编码器106输出编码数据的比特流108。
可以认识到,串行处理输入序列的每个比特以更新上下文模型,并且将串行比特和概率信息提供给熵编码器106,然后,熵编码器106对比特进行熵编码,以创建比特流108。本领域技术人员可以认识到,在一些实施例中,可以不从上下文建模组件104向熵编码器106传送显式概率信息;而是在一些实例中,对于每个比特,上下文建模组件104可以向熵编码器106发送反映上下文建模组件104基于上下文模型和输入序列102的当前上下文进行的概率估计的索引或其他指示符。该索引或其他指示符指示与其对应比特相关联的概率估计。
在2010年2月26日提交的并且与之共有的美国专利申请12/713,613中,描述了用于使用双码集对输入序列进行编码的过程和设备。在基于缓冲器的编码过程中,主码集高效地对输入序列进行编码。当例如由于帧结束、图片组结束等出现清除事件时,使用来自辅助码集的辅助码字对与上下文模型所定义的每个概率相关联的部分子序列进行编码。通过引用将美国专利申请12/713,613的内容合并于此。
在2010年2月18日提交的并且与之共有的美国专利申请12/707,797中,描述了用于并行熵编码的方法和设备。在一个示例中,基于每个输入符号(例如,比特)的关联概率将输入序列解复用成子序列。子序列均由并行熵编码器中的相应熵编码器进行编码。在解码器处,以相同的方式将编码比特流分成编码子序列,所述编码子序列均由并行解码器中的相应解码器进行解码。编码比特流可以包括关于每个编码子序列的长度的开销信息,以允许解码器分割它们以进行并行解码。通过引用将美国专利申请12/707,797的内容合并于此。
在这两个申请中,首先使用适用的上下文模型来评估输入序列,以给每个输入符号分配概率,其中所分配的概率是由上下文模型规定的预定义概率集合中的概率。在一些实例中,概率的数目可能导致低效率,或者导致由于清除事件而引起的使用大量辅助码字,或者导致需要针对每个概率值(或索引)发送指定每个编码子序列的长度的大量开销。与每个概率相关联的每个子序列可被看成是源自此处使用的术语“源”。
根据一个方面,本申请提出一种编码器和解码器,其中出于熵编码和解码的目的选择新概率集合。与上下文模型相关联的使用预定义概率集合如以前一样发生上下文建模;然而,在熵编码和解码之前,选择新概率集合。映射定义了预定义概率集合与新概率集合之间的关系。然后,基于该映射,向已经被分配了来自由上下文模型定义的预定义概率集合的概率的每个符号重新分配从新概率集合中选择的新概率或将其映射到从新概率集合中选择的新概率。
然后,使用新概率对符号进行二进制熵编码。在许多实施例中,存在比预定义概率少的新概率。换言之,新概率集合小于预定义概率集合。在一些实例中,新概率集合是预定义概率集合中的概率子集,但是这不是必须的。在较少概率的情况下,存在较少的子序列,并且因此存在较少的开销和/或较少的辅助码字。因此,在概念上,通过使用较少的概率,允许较少的“源”。仍然认为每个“源”像i.i.d二进制源一样产生随机的符号序列。
倘若将来自不止一个预定义概率的符号合并成单个新概率中的效率丢失被减小的开销或较少的辅助码字抵消,则该映射提高了编码器和/或解码器的效率。
为了说明一个示例实施例,考虑有限数目的概率集合P0,P1,...,PK-1,其中P0=P。针对每个Pk,通过下面的规则定义映射:Tk:P→Pk
T k ( p ) = arg min q ∈ P k [ p log p q + ( 1 - p ) log ( 1 - p ) ( 1 - q ) ]
标记R(P,q)=plog(p/q)+(1-p)log[(1-p)/(1-q)]。应该理解,量R(P,q)是对相对熵的度量。应该注意,基于选择概率q使得相对熵表达最小,Tk(p)的映射表达得到概率集合P中的每个概率p到新概率集合Pk中的概率q的映射。
在一个实施例中,Tk映射是通过以下算法计算的,假设集合P和Pk是根据概率渐减排序的,该算法针对任何概率集合Pk,返回O(N)时间:
1.令i=0,j=0,P=P[0]。
2.如果i=N,则该算法终止。
3.当j<|Pk|-1,并且Pk[j]>=p时,设j=j+1
4.如果j==0或者P(P,Pk[j])<R(p,Pk[j-1]),则设Tk(p)=Pk[j]。否则,设Tk(p)=Pk[j-1]。
5.令i=i+1,p=P[i]并且去往步骤2。
在离线设置中,概率集合和映射对于编码器和解码器而言都是已知的。在在线设置中,它们之间的集合和映射在运行时更新,可选地基于输入数据自适应地更新。
在下面的描述中,描述了各种实例实施例。所述示例在如何选择概率集合方面存在变化。作为通用规则,每个变化向编码序列引入一些开销。在寻找用于编码的最佳概率集合时可以考虑该开销。应该理解,基础熵编码方法可能招致一些关于其自身的开销。为了该描述的目的,可以将编码序列视为与它们包括的开销是不可分的,并且我们仅讨论针对该框架的开销。作为这种讨论的结果,可以不使用熵来计算序列长度,而是使用实际的编码长度,或者至少使用可靠的上限。
离线解决方案
在一个示例性应用中,可以离线地确定概率集合和映射(在编码和解码过程之前,由此不影响编码和解码时间)。在一个实施例中,编码过程可被描述如下:
针对每个k=0,...,K-1,熵编码器使用针对pj∈P的概率映射Tk(pj)对N个源进行编码。也即,作为针对源j使用概率pj的替代,源j的输出将被合并到具有概率Tk(pj)的源的输出,并且用概率Tk(pj)对所有这种源的交织后的输出进行编码。针对索引k,这导致总长度Lk的|Pk|编码的序列。然后,编码器选取使Lk(k=0...,K-1)最小的索引m,将C(m)写入输入,在其后跟随针对映射m的编码序列(在美国专利申请12/707,797中描述了对前缀码C()的定义)。该示例中的开销是|C(m)|。
如果候选集合的数目K较小,则可以通过穷尽搜索(即,尝试P0,...,PK-1中的每一个)来完成对最佳候选集合的选择。这增加了编码计算复杂度,但是它不影响解码器。如果候选集合的数目对于穷尽线性搜索而言过大,则可以使用启发式搜索,诸如基于根据相邻编码长度值估计的梯度的搜索。
解码器从解码出的文件中读出m的值,在这之后针对替代P的源Pm,使用概率值Tm(pj)代替pj∈P。也即,只要解码器需要确定来自源j的符号,其就查找源j’(其中基于Pm和Tm,将j映射到j’),然后使用概率Tm(pj)对来自针对j’的编码数据的下一比特进行解码。
可以通过下述示例来说明本申请的一个实施例。令P是针对CABAC所定义的概率值:pk=0.5αk,其中k=0,...,63,α=(2*0.01875)1/63。令P0=P={pk|k=0,...,63},以及针对k=0,...,9:
Pk={P0,Pk,P2k,...,P[63/k]k}U{p63}。
这创建了10个概率集合,它们中的每个都是P的子集,并且具有减小的大小,均匀分布的概率值,但是保持原来的范围(p0到p63)。因为Pk的大小小于P0的大小,所以与利用Pk的编码相关联的开销也较小,但是编码长度可能较高。所提议的编码器利用P0,...P9中的每一个对输入符号进行编码,并且选择给出最短(开销+有效载荷)长度的概率集合。
具有固定源概率和动态概率集合的在线解决方案
在另一示例性应用中,概率集合和/或映射可以在线确定,即动态地确定。因此,对于视频编码,针对不同片或帧或帧组(GOP),集合和映射可以不同。与上面概述的离线解决方案不同,此处必须规定如何确定集合P1,...,PK-1,以及如何向解码器通知映射Tm(pj)。
可以基于概率完成对候选集合P1,...,PK-1的选择,使得最频繁的值被收集在每个集合中(参见下面的示例)。一旦这些集合已知,则利用上面的算法确定映射Tk,并且使用上面在离线示例中描述的方法来选择最佳候选m。在此之后,编码器可以将C(|Pm|)、C(Pm(0))、C(Pm(1)),...,C(Pm(|Pm|-1))写入编码文件,在其后跟随编码序列。我们注意到,概率由其在P中的索引来编码。例如,如果Pm(0)=0.4,并且P={0.5,0.4,0.3,...},则C(Pm(0))与C(1)类似。该变型的开销是|C(|Pm|)|+|C(Pm(0))|+...+|C(Pm(|Pm|-1)|。这也意味着针对该示例性应用,集合Pk是P的子集。
解码器从文件中读取合并的源的数目,然后读出它们的概率索引,并且根据这来重建Pm。然后,其计算映射Tm
可以通过以下示例来说明一个示例实施例。令P是针对CABAC所定义的概率值:pk=0.5αk,其中k=0,...,63,α=(2*0.01875)1/63。针对每个片或每个帧或每个GOP,令Pk表示由针对当前片或帧的P中的(64-k)个最经常使用的概率构成的P的子集,其中k=0,1,...,63。通过上述算法确定映射Tk:P->Pk
在该示例中,具有64个概率集合。假设使用固定长度的码向解码器通知Pk,我们找到索引编号m,在该索引编号m处使用Pm的开销是64个候选选择中最小的,其中k=0,1,...,63。
具有自适应源概率和静态概率集合的在线解决方案
在另一示例性应用中,P的概率值不是事先已知的,而是根据观察到的数据按经验计算的。上下文模型将输入符号分到不同的源缓冲器,并且针对每个源,根据(缓冲器中的1的数目)/(缓冲器中的符号的数目)来估计源概率。由Q={q0,...,qN-1}表示经验概率。然后,针对固定的P0,...,PK-1概率集合,编码器首先确定Pk与Q之间的映射,然后如上所述基于穷尽的或启发式搜索找到一个Pm,其给出最小编码长度Lm
因为Q一般不同于P,实际的映射Tk(qj)可以不同于静态映射Tk(pj),该Tk(pj)对于编码器和解码器都是已知的。因为解码器需要Tk(qj),这些必须进行传输。在一个应用中,编码器可能仅在开销中包括C(Tm(q0)),C(Tm(q1)),...,C(Tm(qN-1)),如上述一样。然而,需要指出两个映射之间的相关性通常为高。因此,在另一实施例中,编码器利用基于已知映射Tm(pj)的运行长度(run-length)方案来发送Tm(qj)。在一个示例中,这可以工作如下:首先,设M为0。针对Tm(qM+j)≠Tm(pM+j),令j是来自M的第一索引;或者如果它们都相等,则j=N-M。然后,编码C(j),以及如果j<N-M,则也编码C(Tm(qM+j))。然后,设M等于j+1,并且如果M<N,则重复该过程,否则停止。该变型的开销是|C(m)|+|C(j1)|+|C(Tm(qj1))|+|C(j2)|+|C(Tm(qj2))|+...+|C(jr)|。
为了通过示例进行说明,令P={0.5,0.4,0.3,0.25,0.2,0.15,0.12,0.10},以及Pm={0.5,0.32,0.18,0.12}。然后,映射算法给出Tm(0.5)=0.5,Tm(0.4)=0.32,Tm(0.3)=0.32,Tm(0.25)=0.32,Tm(0.2)=0.18,Tm(0.15)=0.18,Tm(0.12)=0.12和Tm(0.10)=0.12。假设经验概率是Q={0.48,0.45,0.31,0.20,0.18,0.26,0.08,0.12}。于是,通过相同算法,实际映射是Tm(0.48)=0.5,Tm(0.45)=0.5,Tm(0.31)=0.32,Tm(0.20)=0.18,Tm(0.18)=0.18,Tm(0.26)=0.32,Tm(0.08)=0.12和Tm(0.12)=0.12。然后,运行长度序列是(1,0.5),(1,0.18),(1,0.32),(2)。针对前缀编码,概率值通过它们在Pm中的索引来表示:0.5的索引是0,0.32的索引是1,0.18的索引是2,0.12的索引是3。因此编码后的报头是C(m),C(1),C(0),C(1),C(2),C(1),C(1),C(2)。
具有自适应源概率和动态概率集合的在线解决方案
在另一示例应用中,概率值Q是如紧邻的上文所述那样根据观察到的数据计算的,并且概率集合P1,...,Pk-1是动态确定的。因此,首先,针对每个源,根据(缓冲器中的1的数目)/(缓冲器中的符号的数目)来确定经验概率Q。从这点讲,该变型服从上述给出的一条:首先,确定候选集合P0,...,Pk-1(其中P0是预定概率集合,而P1,...,PK-1是动态确定的概率集合),计算映射Tk,以及使用上面描述的方法选择最佳候选m。
在此之后,编码器将C(|Pm|)、C(Pm(0))、C(Pm(1)),...,C(Pm(|Pm|-1))写入编码文件,在其后跟随实际映射Tm(qj),在Tm(qj)之后跟随编码序列。该变型的开销是|C(|Pm|)|+|C(Pm(0))|+...+|C(Pm(|Pm|-1))|+|C(j1)|+|C(Tm(qj1))|+|C(j2)|+|C(Tm(qj2))|+...+|C(jr)|。在该特定示例中,假设Pk是P的子集。可以如上面描述的方法一样按相同方式将实际映射写入开销。例如,运行长度编码是一种选择。
解码器首先从编码文件中读出合并的源的数目,然后读出由P的元素索引的合并的源的概率,其由C(Pm(0)),...,C(Pm(|Pm|-1)给出。在这之后,解码器可以计算P与Pm之间的映射Tm(pj)。使用该映射和运行长度编码的实际映射,其于是前进到计算实际映射Tm(qj)。一旦准备好,就可以开始对序列进行解码,其中在从源j做出针对新符号的请求的任何时间,从Tm(qj)的缓冲器进行解码。
从众多可能的候选概率集合中选择要使用的概率集合是取决于应用的。在一些实例中,针对每个候选集合的映射可以是预定义的和已知的。在一些实例中,可以动态地确定映射,特别是在存在大量候选概率集合时,更是如此。
为了选择用于给定视频、帧等的概率集合,在一个实施例中,可以通过使用该集合编码数据来测试每个候选,以及基于测试选择最佳概率集合。这是强力措施。
在另一实施例中,选择可以基于数据类型或特性。例如,可以针对I或P帧,指定一个或多个具体的候选概率集合,而可以针对B帧指定不同的(一个或多个)候选概率集合。视频数据的其他特性可被用作用于确定候选集合的基础。
在又一实施例中,如上面描述的那样,选择可以基于比特在预定义概率上的实际分布,即针对实际数据(例如针对帧)的统计。例如,可以丢弃没有分配任何比特的任何概率;或者可以将具有很少比特的任何概率与相邻概率合并在一起。
在一个实施例中,基于实际数据统计对预定概率的动态合并或组合可以是以针对每个概率获取近似相同的比特数目(即均衡)为基础。
在又一实施例中,与预定义概率相对,可以使用经验概率数据动态确定映射,因为在一些实例中(特别是在高阶索引时)实际的概率统计可以相对于上下文模型所预测的概率发生显著变化。
现在参考图4,图4以流程图形式示出了用于通过减小源来对输入序列进行编码的一个示例过程200。过程200开始于操作202,在操作202中应用上下文模型。具体地,输入序列的每个符号被处理并且被分配估计的概率。该估计的概率是使用符号的上下文和上下文模型从预定义概率集合选择的。如上文描述的,预定义概率集合可以是预定义的,并且与上下文模型相关联。一个示例是CABAC中定义的64个状态。
在操作204中,选择新概率集合。在简单实施例中,这可以表示选择唯一的候选新概率集合。在其他实施例中,该操作可以涉及测试候选概率集合以查看它们中的哪个得到最短的编码序列总长度。在一些实例中,如上面描述的那样,该操作可以涉及:基于来自输入序列的实际统计,动态生成新的候选概率集合。
操作206涉及定义或生成预定义概率集合与新概率集合之间的映射。可以理解,如果候选概率集合和预定概率集合是预定的,则该映射可以是预定的并且被存储。还可以理解,映射操作可以形成操作204(即从候选集合中选择新概率集合)的一部分,因为映射是针对每个候选集合定义的。还可以理解,映射表示:基于该映射,可以给在操作202中分配了来自预定义概率集合的概率的每个符号分配来自新概率集合的概率。
在操作208中,对符号进行熵编码以生成编码比特流。该熵编码是基于在操作206中分配的新概率。换言之,熵编码是基于新的概率集合,并且在许多实施例中是基于新的规模减小的概率集合。
图5以流程图形式示出了根据本申请的用于对编码比特流进行解码的过程300。过程300开始于操作302,在操作302中,从比特流中读取关于新概率集合的信息。如上文所描述的,在一些实施例中,该信息可以仅指示对多个预定义候选概率集合中的解码器已知的预定义候选概率集合的选择。在一些实施例中,该信息可以标识来自预定义概率集合的、被包括在新概率集合中的特定概率,即该信息可以定义或标识预定义概率集合的子集。在其他实施例中,该信息可以提供显式概率信息。在所有实施例中,通过操作302,解码器获得新概率集合。
操作304包括确定新概率集合与预定概率集合之间的映射。该映射可以是预定义的,使得操作304涉及从存储器或其他存储设备中检索预定义映射。在一些实施例中,该映射可以是在比特流中指定的,并且解码器可以从比特流中读取该映射。在其他实施例中,该映射可以是解码器生成的,例如使用本文描述的相对熵算法来生成。
在操作306中,对编码比特流进行熵解码。熵解码包括获取解码出的子序列,其中每个解码出的子序列与来自新概率集合的概率相关联。操作306中的熵解码是基于上下文模型和映射的,该上下文模型提供针对每个符号的概率估计,以及该映射将概率估计映射到其对应的来自新概率集合的概率,并且因此映射到解码出的子序列之一。
现在参照图6,图6示出了编码器900的示例实施例的简化框图。编码器900包括:处理器902、存储器904和编码应用906。编码应用906可以包括存储在存储器904中并包含指令的计算机程序或应用,所述指令用于将处理器902配置为执行这里描述的步骤或操作。例如,编码应用906可以编码并输出根据这里描述的概率映射编码过程编码的视频比特流。编码应用906可以包括:熵编码器26,被配置为使用这里描述的一个或多个过程,对输入序列进行熵编码,并输出比特流。可以理解,编码应用906可以存储在计算机可读介质上,如致密光盘、闪存设备、随机存取存储器、硬盘等等。
在一些实施例中,编码器900中的处理器902可以是单一处理单元,被配置为实现编码应用906的指令。在一些其他实施例中,处理器902可以包括能够并行执行指令的多于一个处理单元。多个处理单元可以是逻辑上或物理上单独的处理单元。在一些实例中,编码器900可以包括N个或更多处理单元,其中编码应用906将处理单元中的N个处理单元配置为操作为用于实现这里描述的方法的并行熵编码器。还可以认识到,在一些实例中,编码应用906的一些或全部操作以及一个或多个处理单元可以通过专用集成电路(ASIC)等等来实现。
参照还参照图7,图7示出了解码器1000的示例实施例的简化框图。解码器1000包括:处理器1002、存储器1004和解码应用1006。解码应用1006可以包括存储在存储器1004中并包含指令的计算机程序或应用,所述指令用于将处理器1002配置为执行这里描述的步骤或操作。解码应用1006可以包括:熵解码器1008,被配置为接收根据这里描述的概率映射熵编码过程来编码的比特流,以及从比特流中提取编码子序列,以及使用所映射的概率对它们进行解码。解码应用1006可以将处理器配置为对编码子序列进行并行解码,以产生并行的解码序列,以及对解码序列的符号进行交织以产生重构序列。可以理解,解码应用1006可以存储在计算机可读介质上,如致密光盘、闪存设备、随机存取存储器、硬盘等等。
在一些实施例中,解码器1000中的处理器1002可以是单一处理单元,被配置为实现解码应用1006的指令。在一些其他实施例中,处理器1002可以包括能够并行执行指令的多于一个处理单元。多个处理单元可以是逻辑上或物理上单独的处理单元。在一些实例中,解码器1000可以包括d个、N个或更多或更少的处理单元,其中解码应用1006将处理单元配置作为并行熵解码器操作,以实现这里描述的方法。还可以认识到,在一些实例中,解码应用1006的一些或全部操作以及一个或多个处理单元可以通过专用集成电路(ASIC)等等来实现。
可以认识到,根据本申请的解码器和/或编码器可以在多个计算设备中实现,包括但不限于服务器、合适编程的通用计算机、电视机顶盒、电视广播设备和移动设备。可以通过包含指令的软件来实现解码器或编码器,所述指令用于将处理器配置为执行这里描述的功能。软件指令可以存储在任何合适的有形计算机可读介质或存储器上,包括CD、RAM、ROM、闪存等等。
可以理解,这里描述的编码器和解码器以及实现所描述的用于配置编码器的方法/过程的模块、例程、进程、线程或其他软件组件可以使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程惯例、数据结构、其他这种实现细节。本领域技术人员将认识到,可以将所描述的过程实现为存储在易失性或非易失性存储器中的计算机可执行代码的一部分、专用集成芯片(ASIC)的一部分等。
可以对所描述的实施例进行特定适配和修改。因此,上述实施例被认为是示意性而非限制性。

Claims (19)

1.一种用于对输入符号序列进行编码的方法,所述符号属于有限字母表,其中上下文模型规定了预定义概率集合,并且所述输入符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联,所述方法包括:
选择新概率集合,其中所述新概率集合与所述预定义概率集合不相同;
基于映射,给所述输入序列中的每个符号分配来自所述新概率集合的相应概率,其中所述映射将所述预定义概率集合中的每个概率映射到来自所述新概率集合的相应概率;以及,
对所述输入符号序列进行熵编码,其中所述熵编码包括基于分配给符号的来自所述新概率集合的相应概率对符号进行分组。
2.根据权利要求1所述的方法,其中所述新概率集合是所述预定义概率集合的子集。
3.根据权利要求1所述的方法,其中给所述输入序列中的每个符号分配来自所述新概率集合的相应概率包括:通过针对所述预定义概率集合中的每个概率确定它映射到所述新概率集合中的哪个概率来定义所述映射。
4.根据权利要求3所述的方法,其中确定基于:从所述新概率集合中选择使相对熵表达最小的一个概率。
5.根据权利要求1~4中任一项所述的方法,其中选择新概率集合包括:从多个预定的候选概率集合中选择所述新概率集合。
6.根据权利要求5所述的方法,其中熵编码包括:将关于所选择的新概率集合的信息包括在报头中。
7.根据权利要求1~4中任一项所述的方法,其中选择新概率集合包括:基于在所述输入符号序列中最频繁出现的来自所述预定义概率集合的概率,生成一组候选概率集合,以及选择还包括:从所述一组候选概率集合中选择所述新概率集合。
8.根据权利要求7所述的方法,其中选择新概率集合还包括:通过针对所述预定义概率集合中的每个概率确定它映射到所述新概率集合中的哪个概率来动态生成所述映射。
9.根据权利要求7所述的方法,其中熵编码包括:在报头中标识所述新概率集合中的概率。
10.根据权利要求8所述的方法,其中熵编码包括:在报头中标识所述新概率集合中的概率。
11.一种用于对编码比特流进行解码以获得符号序列的方法,所述符号属于有限字母表,其中上下文模型规定了预定义概率集合,并且所述符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联,所述方法包括:
从比特流中读取标识新概率集合的信息,其中所述新概率集合与所述预定概率集合不相同;
基于映射,给所述符号序列中的每个符号分配来自所述新概率集合的相应概率,其中所述映射将所述预定义概率集合中的每个概率映射到来自所述新概率集合的相应概率;以及,
基于所分配的来自所述新概率集合的相应概率,对所述编码比特流进行熵解码。
12.根据权利要求11所述的方法,其中所述新概率集合是所述预定义概率集合的子集。
13.根据权利要求11所述的方法,其中分配相应概率包括:通过针对所述预定义概率集合中的每个概率确定它映射到所述新概率集合中的哪个概率来定义所述映射。
14.根据权利要求13所述的方法,确定基于:从所述新概率集合中选择使相对熵表达最小的一个概率。
15.根据权利要求11~14中任一项所述的方法,其中所述标识新概率集合的信息包括标识一组预定义候选概率集合中的一个概率集合的信息。
16.根据权利要求11~14中任一项所述的方法,其中所述标识新概率集合的信息指定了所述预定义概率集合的、被包括在所述新概率集合中的概率。
17.根据权利要求16所述的方法,其中读取还包括通过下述方式动态生成所述映射:针对所述预定义概率集合中的每个概率,基于使相对熵表达最小来确定它映射到所述新概率集合中的哪个概率。
18.一种用于对输入符号序列进行编码的编码器,所述符号属于有限字母表,其中上下文模型规定了预定义概率集合,并且所述输入符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联,所述编码器包括:
存储器,存储所述输入符号序列;
处理器;以及
编码应用,可由所述处理器执行,并在执行时将所述处理器配置为执行权利要求1~10中任一项所述的方法。
19.一种用于对编码比特流进行解码以获得符号序列的解码器,所述符号属于有限字母表,其中上下文模型规定了预定义概率集合,并且所述符号序列中的每个符号与来自基于所述上下文模型的所述预定义概率集合的概率相关联,所述解码器包括:
存储器;
处理器;以及
解码应用,可由所述处理器执行,并在执行时将所述处理器配置为执行权利要求11~17中任一项所述的方法。
CN201180025262.8A 2010-05-21 2011-05-20 用于在二进制熵编码和解码中减少源的方法和设备 Active CN102939719B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34702710P 2010-05-21 2010-05-21
US61/347,027 2010-05-21
PCT/CA2011/050318 WO2011143780A1 (en) 2010-05-21 2011-05-20 Methods and devices for reducing sources in binary entropy coding and decoding

Publications (2)

Publication Number Publication Date
CN102939719A CN102939719A (zh) 2013-02-20
CN102939719B true CN102939719B (zh) 2016-08-03

Family

ID=44972072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180025262.8A Active CN102939719B (zh) 2010-05-21 2011-05-20 用于在二进制熵编码和解码中减少源的方法和设备

Country Status (5)

Country Link
US (1) US8436755B2 (zh)
EP (2) EP2572455B1 (zh)
CN (1) CN102939719B (zh)
CA (1) CA2794771C (zh)
WO (1) WO2011143780A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
CN108495131B (zh) * 2011-12-22 2020-12-01 三星电子株式会社 视频解码方法
GB2513110A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US20140328406A1 (en) 2013-05-01 2014-11-06 Raymond John Westwater Method and Apparatus to Perform Optimal Visually-Weighed Quantization of Time-Varying Visual Sequences in Transform Space
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
EP2983297A1 (en) * 2014-08-08 2016-02-10 Thomson Licensing Code generation method, code generating apparatus and computer readable storage medium
JP2017538338A (ja) * 2014-11-04 2017-12-21 サムスン エレクトロニクス カンパニー リミテッド 二進算術符号化/復号のための確率更新方法、及びそれを利用したエントロピー符号化/復号装置
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
US11575922B2 (en) * 2017-12-06 2023-02-07 V-Nova International Limited Methods and apparatuses for hierarchically encoding and decoding a bytestream
US10511324B1 (en) * 2018-11-01 2019-12-17 Fungible, Inc. Data processing unit having hardware-based range encoding and decoding
US10922026B2 (en) 2018-11-01 2021-02-16 Fungible, Inc. Data processing unit having hardware-based range encoding and decoding
CN111818346B (zh) 2019-04-11 2023-04-18 富士通株式会社 图像编码方法和装置、图像解码方法和装置
CN111988629B (zh) 2019-05-22 2024-02-09 富士通株式会社 图像编码装置和图像解码装置
GB2593691B (en) * 2020-03-30 2022-08-24 Imagination Tech Ltd Efficient encoding methods
CN112987940B (zh) * 2021-04-27 2021-08-27 广州智品网络科技有限公司 一种基于样本概率量化的输入方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101015216A (zh) * 2004-07-14 2007-08-08 新加坡科技研究局 基于上下文的信号编码和解码
CN101553988A (zh) * 2006-12-14 2009-10-07 日本电气株式会社 视频编码方法、视频编码装置以及视频编码程序
CN101843102A (zh) * 2007-10-30 2010-09-22 惠普开发有限公司 数据序列压缩

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
DE602006020138D1 (de) 2005-06-29 2011-03-31 Compumedics Ltd Sensoranordnung mit leitfähiger brücke
TW200801513A (en) 2006-06-29 2008-01-01 Fermiscan Australia Pty Ltd Improved process
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
JP4875024B2 (ja) 2008-05-09 2012-02-15 株式会社東芝 画像情報伝送装置
US9258569B2 (en) 2008-06-26 2016-02-09 Gvbb Holdings S.A.R.L. Moving image processing method, program and apparatus including slice switching
WO2010000020A1 (en) 2008-06-30 2010-01-07 Cathrx Ltd A catheter
WO2010091505A1 (en) 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos
CN102045558B (zh) * 2009-10-22 2012-09-19 鸿富锦精密工业(深圳)有限公司 熵解码方法
CN102055483B (zh) * 2009-10-29 2013-05-08 鸿富锦精密工业(深圳)有限公司 熵解码装置
US8487791B2 (en) 2010-02-18 2013-07-16 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US7990297B1 (en) 2010-02-26 2011-08-02 Research In Motion Limited Encoding and decoding methods and devices employing dual codesets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101015216A (zh) * 2004-07-14 2007-08-08 新加坡科技研究局 基于上下文的信号编码和解码
CN101553988A (zh) * 2006-12-14 2009-10-07 日本电气株式会社 视频编码方法、视频编码装置以及视频编码程序
CN101843102A (zh) * 2007-10-30 2010-09-22 惠普开发有限公司 数据序列压缩

Also Published As

Publication number Publication date
WO2011143780A1 (en) 2011-11-24
CN102939719A (zh) 2013-02-20
EP2572455A1 (en) 2013-03-27
EP2572455B1 (en) 2019-09-04
EP2572455A4 (en) 2015-12-23
EP3550726A1 (en) 2019-10-09
US8436755B2 (en) 2013-05-07
CA2794771C (en) 2016-03-29
EP3550726B1 (en) 2020-11-04
CA2794771A1 (en) 2011-11-24
US20110285557A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN102939719B (zh) 用于在二进制熵编码和解码中减少源的方法和设备
CN102783035B (zh) 并行熵编码方法和设备
CN103597838B (zh) 对末位有效系数的位置进行编码和解码的方法和设备
CN1316433C (zh) 视频信息编码方法和视频信息解码方法
CN104106264B (zh) 元数据辅助的视频解码
CN101448162B (zh) 处理视频图像的方法
KR102003549B1 (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
CN102783154B (zh) 采用双码集的编码和解码方法和设备
EP2561680B1 (en) Methods and devices for reordered parallel entropy coding
CN102098519B (zh) 视频编码方法、解码方法、编码及解码装置
CN103748886A (zh) 支持模式切换的熵编码
CN103797796A (zh) 用于系数矩形块的量化和去量化的方法和装置
CA2799763A1 (en) Methods and devices for data compression using context-based coding order
CN101790096A (zh) 基于二重预测的编解码方法及装置
KR20100089546A (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
CN102783036B (zh) 使用辅码字指示符的编码和解码方法和设备
EP2381686B1 (en) Apparatus for parallel entropy encoding and decoding
KR20180029448A (ko) 프로세서 및 프로세서의 데이터 처리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Voight, Ontario, Canada

Applicant after: BlackBerry Ltd.

Address before: Voight, Ontario, Canada

Applicant before: Research In Motion Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right