CN102783035B - 并行熵编码方法和设备 - Google Patents

并行熵编码方法和设备 Download PDF

Info

Publication number
CN102783035B
CN102783035B CN201180010285.1A CN201180010285A CN102783035B CN 102783035 B CN102783035 B CN 102783035B CN 201180010285 A CN201180010285 A CN 201180010285A CN 102783035 B CN102783035 B CN 102783035B
Authority
CN
China
Prior art keywords
subsequence
symbol
encoded
context model
probability
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
CN201180010285.1A
Other languages
English (en)
Other versions
CN102783035A (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 CN102783035A publication Critical patent/CN102783035A/zh
Application granted granted Critical
Publication of CN102783035B publication Critical patent/CN102783035B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请描述了使用并行熵编码器来对数据进行熵编码以将输入序列编码为多个编码子序列,然后所述多个编码子序列组合以形成输出比特流的方法。基于上下文模型将输入序列分为子序列。本申请还描述了一种通过从输入比特流提取多个编码子序列来对编码数据进行熵解码并对编码子序列进行并行熵解码以产生多个解码子序列,然后基于上下文模型来对所述多个解码子序列进行交织以产生重构序列的方法。

Description

并行熵编码方法和设备
相关申请的交叉引用
本申请要求2010年2月18日提交的题为“PARALLEL ENTROPY CODING AND DECODING METHODS AND DEVICES”的欧洲专利申请No.10154032.6的优先权。
上述专利申请的内容通过引入明确并入这里的详细描述中。
技术领域
本申请总体涉及数据压缩,具体地涉及编码器、解码器和用于对有限字母表源进行熵编码的方法。
背景技术
不论有损还是无损,数据压缩通常使用熵编码来将解相关信号编码为比特序列,即比特流。高效数据压缩具有广泛应用,如图像、音频和视频编码。视频编码的当前最新技术是ITU-T H.264/MPEG AVC视频编码标准。该标准定义了针对不同应用的多个不同简档,包括主简档、基线简档等等。
存在用于编码/解码图像和视频的多个标准(包括H.264),采用有损压缩过程来产生二进制数据。例如,H.264包括预测操作以获得残差数据,接着进行DCT变换和DCT系数的量化。然后,对得到的数据(包括量化系数,运动矢量、编码模式和其他相关数据)进行熵编码,以产生数据比特流,从而发送或存储在计算机可读介质上。
已经开发了多个编码方案来编码二进制数据。例如,可以使用Huffman码来编码JPEG。H.264标准允许两种可能的熵编码过程:上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。CABAC得到比CAVLC更大的压缩,但是CABAC计算要求更高。在任一这些情况下,编码方案对二进制数据操作,以产生编码 数据的连续比特流。在解码器处,解码方案接收比特流,并对序列比特流进行熵解码,以重构二进制数据。
有利地,提供一种改进的编码器、解码器和熵编码方法。
发明内容
本申请描述了用于编码和解码数据的架构、方法和处理。具体地,本申请描述了使用并行熵编码器来对数据进行熵编码以将输入序列编码为多个编码子序列,然后所述多个编码子序列组合以形成输出比特流的方法。本申请还描述了一种通过从输入比特流提取多个编码子序列并对编码子序列进行并行熵解码来对编码数据进行熵解码以产生多个解码子序列,然后基于上下文模型来对所述多个解码子序列进行交织以产生重构序列的方法。
一方面,本申请描述了一种对输入符号序列进行编码的方法,所述符号属于有限字母表。所述方法包括:针对输入序列中的每个符号,基于上下文模型给出的估计概率,将符号分配给N个符号子序列之一;使用N个相应熵编码器来对N个子序列进行并行编码,以产生N个相应编码子序列;以及输出比特流,其中所述比特流包括N个编码子序列和用于定位N个编码子序列中的每个编码子序列的信息。
另一方面,本申请描述了一种用于对编码数据的比特流进行解码以重构符号序列的方法,所述符号属于有限字母表。所述方法包括:从比特流中提取N个编码子序列;对于N个编码子序列中的每个编码子序列,对该编码子序列进行熵解码,以产生包含符号的相应解码子序列,其中,对至少两个编码子序列进行并行熵解码;以及基于上下文模型,对N个编码子序列中的符号进行交织,以产生重构符号序列。
另一方面,本申请描述了一种在数据压缩过程中对符号子序列进行合并以形成合并子序列的方法,其中,所述符号属于有限字母表,每个符号子序列从输入符号序列导出,每个符号子序列具有由上下文模型给出的关联估计概率,所述上下文模型定义估计概率的有限集合。所述方法包括:确定与第一符号子序列相关联的开销,其中第一符号子序列与第一估计概率相关联;计算所述开销与第一子序列中的符号数目的比值, 并确定所述比值大于第一符号子序列与第二符号子序列之间的相对熵,其中第二符号子序列与第二估计概率相关联;以及将第一和第二符号子序列合并,以形成合并子序列,并将合并子序列与第二估计概率相关联。
另一方面,本申请描述了一种用于对编码数据的比特流进行解码以重构符号序列的方法,所述符号属于有限字母表,所述比特流包括多个编码符号子序列,其中至少一个编码符号子序列是通过对第一子序列和第二子序列的合并进行编码得到的编码合并子序列,其中第一子序列与第一估计概率相关联,第二子序列与第二估计概率相关联。所述方法包括:从比特流中提取多个编码子序列;对每个编码子序列进行熵解码,以产生包含符号的相应解码子序列,其中对至少两个编码子序列进行并行熵解码,根据第二估计概率对编码合并子序列进行熵解码;以及基于上下文模型,对解码子序列中的符号进行交织,以产生重构符号序列。
另一方面,本申请描述了一种用于对输入符号序列进行编码的编码器。所述编码器包括:处理器;存储器;以及编码应用,存储在存储器中,包含用于将处理器配置为根据这里描述的一个或多个方法来对输入序列进行编码的指令。
另一方面,本申请描述了一种用于对编码数据的比特流进行解码以重构符号序列的解码器。所述解码器包括:处理器;存储器;以及解码应用,存储在存储器中,包含用于将处理器配置为根据这里描述的一个或多个方法来对比特流进行解码的指令。
结合附图,通过阅读以下示例的描述,本领域普通技术人员将理解本申请的其他方面和特征。
附图说明
现在参照附图作为示例,附图示出了本申请的示例实施例,其中:
图1以框图形式示出了用于对视频进行编码的编码器;
图2以框图形式示出了用于对视频进行解码的解码器;
图3示出了编码过程的框图;
图4以框图形式示出了根据本申请一方面的示例编码器;
图5以框图形式示出了根据本申请一方面的示例解码器;
图6以流程图形式示出了使用并行熵编码器对输入符号序列进行编码的示例方法;
图7以流程图形式示出了使用并行熵解码器对编码数据的比特流进行解码的示例方法;
图8示出了编码器的示例实施例的简化框图;以及
图9示出了解码器的示例实施例的简化框图。
在不同图中可以使用相似参考标号来表示相似组件。
具体实施方式
以下描述总体涉及数据压缩,具体地,涉及有限字母表源(如二进制源)的高效并行编码。在以下给出的许多示例中,给出这种编码和解码方案的特定应用。例如,以下许多示意参照视频编码。可以认识到,本申请不限于视频编码或图像编码。
在以下描述中,参照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中使用)中使用的技术之一是上下文建模。对于上下文建模,输入序列的每个比特具有上下文,其中上下文由该比特之前的比特给出。在一阶上下文模型中,上下文可以完全依赖于先前比特(符号)。在许多情况下,上下文模型可以是自适应的,使得在处理序列的其他比特时,可以改变与给定上下文的符号相关联的概率。
参照图3,图3示出了编码过程100的框图。编码过程100包括上下文建模组件104和熵编码器108。上下文建模组件104接收输入序列x 102, 在本示例中,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的当前上下文进行的概率估计的索引或其他指示符。该索引或其他指示符指示与其对应比特相关联的概率估计。
根据一方面,本申请提出具有用于熵编码和解码的并行处理架构的编码器和解码器。该架构包括:上下文建模组件,针对输入序列的每个比特,基于上下文模型来确定估计概率。上下文建模组件基于每个比特的估计概率向其分配N个“源”之一。按照这种方式,N个源中的每一个建立向其分配的比特子序列。然后,N个子序列中的每一个由其自身熵编码器进行并行熵编码,以产生比特流。然后,将N个比特流组合以形成单一比特流。向单一比特流添加索引数据,以使得解码器能够将单一比特流解复用为N个比特流。
在解码器处,对单一比特流进行解复用,以获得N个比特流,然后,对N个比特流进行并行熵解码,以恢复N个子序列。然后,根据上下文模型对N个子序列的比特进行交织,以重构输入序列。
现在参照图4,图4以框图形式示出了示例编码器200。编码器200接收输入序列x 102,在本示例中x为二进制序列。编码器200输出编码数据 的比特流208。
编码器200包括上下文建模组件和解复用器204。上下文建模组件和解复用器204使用上下文模型来产生N个子序列(b1,b2,...bn)。具体地,对于输入序列x 102的每个比特,使用上下文模型来确定其上下文,并且基于其上下文来确定估计概率并将估计概率与该比特相关联。然后,基于每个比特的相关联估计概率,将每个比特分配给N个子序列之一。在一个示例实施例中,存在上下文模型定义的N个概率pi(i=0,1,..,N-1)和N个子序列;然而,在一些示例实施例中,存在比概率更小的子序列,这意味着与一些概率相关联的比特可以被分配给相同的子序列。在一些实施例中,可以存在比概率更多的子序列,这意味着具有相同关联概率的一些比特可以分到两个或更多子序列中。
N个子序列可以被认为是单独的“源”。相应地,这里可互换地使用术语“源”和“子序列”。在本申请所称比特“分派”或“分配”给源的程度上,其指示该比特被添加至或附加至与特定概率估计相关联的子序列。
上下文模型可以是静态的或者可以是自适应的。将理解,在一些序列的情况下,尤其是二进制序列,自适应上下文模型可能得到比静态模型更好的性能。
编码器200包括N个并行熵编码器206(分别标为206-1,206-2,...,206-N)。每个熵编码器206对子序列之一进行编码,以产生编码子序列比特流210(分别标为210-1,210-2,...,210-N)。然后,例如使用复用器207,将编码子序列比特流210组合为单一比特流208。在本示例中,通过将子序列比特流210连接,并向比特流208添加索引信息以使解码器能够标识单一比特流208中每个编码子序列比特流210的起始,来将编码子序列比特流210复用在一起,以创建比特流208。
熵编码器206可以使用任意熵编码方案来编码子序列。在一个示例中,熵编码器可以是0阶无损编码器。在另一示例中,熵编码器206可以采用二进制算术编码方案。在另一示例中,熵编码器206可以采用静态k比特Huffman码方案。本领域技术人员可以认识到其他可能性。
在其他示例实施例中,熵编码器206可以不都采用相同编码方案。 例如,熵编码器206之一可以使用静态Huffman码,而另一熵编码器206可以使用二进制算术编码方案。在这一意义上,熵编码器206是独立的。在一些实例中,有利地,可以利用一个编码方案对与特定概率相关联的特定子序列进行编码,而利用不同的编码方案对与不同概率相关联的其他子序列进行编码。
现在参照图5,图5以框图形式示出了示例解码器300。解码器300接收编码数据的单一比特流208,并输出重构序列310。
解码器300包括:解复用器302,用于解析比特流208并提取编码子序列比特流304(分别标为304-1,304-2,...,304-N)。在比特流208被格式化为包括连接的所有子序列比特流304的实施例中,解复用器302可以使用比特流208内的索引来标识子序列比特流304的起始和结束位置。
解码器300还包括N个熵解码器306(分别标为306-1,306-2,...,306-N)。每个熵解码器306接收编码子序列比特流304之一,并对编码子序列比特流304进行熵解码,以输出子序列比特流bi,i=1,2,...,N。来自N个熵解码器306的N个子序列比特流输入上下文建模组件和复用器308。上下文建模组件和复用器308对N个子序列比特流的符号(比特)进行交织,以产生重构序列310。交织基于上下文模型(编码器200使用的相同上下文模型),并使用上下文模型来确定给定上下文的估计概率。基于估计概率,上下文建模组件和复用器308能够标识从哪个子序列选择下一比特以添加至重构序列310。基于此,创建与输入序列x 102匹配的重构序列310。
现在参照图6,图6以流程图形式示出了对输入序列x进行熵编码的示例方法400。方法400从接收输入序列x的步骤402开始。输入序列x是具有概率估计Pi(bi=0)和Pi(bi=1)=1-Pi(0)的二进制符号的二进制序列B=b1,b2,...。最小可能符号(LPS)的概率估计形成有限集合:
S={Pk|1≤k≤N,0<Pk≤0.5}
输入序列x可以被认为是以任意顺序使用二进制符号的相应概率来输出二进制符号的N个源。
在示例方法400中,初始化具有N个元素的数组。该数组可以是具有针对N个源中每个源的元素(即用于收集比特以建立N个子序列中的每个 子序列的元素)的存储器或寄存器的分配。在一个实施例中,每个元素可以包括两个字段:第一字段收集与其源相关联的符号,第二字段包含指向相同源的下一元素的指针。当第一字段填充有比特时,针对该源向数组添加另一元素。在一个实施例中,第一字段是32比特寄存器,用于收集与源相关联的符号。
方法400的步骤406示意了上下文建模和解复用操作。在步骤406中,对于输入序列x的每个符号(比特),例如基于输入序列x中的一个或多个先前比特来确定其上下文,并基于其上下文和上下文模型来确定比特的估计概率。然后,基于比特的估计概率,将比特分配给N个源之一。换言之,将比特保存在与估计概率相关联的源/子序列相对应的元素中。
在步骤408,在步骤406中处理每个符号之后,如果上下文模型是自适应的,则可以更新上下文模型。
步骤406和408逐比特重复,以串行处理输入序列x,基于其比特的估计概率将其比特分配到N个子序列。在步骤410中,如果检测到转储清除(flush)事件,则步骤406和408的循环结束。转储清除事件可以是适于应用的任何触发事件。例如,在视频编码中,转储清除事件可以是帧结束或片结束。在图像处理中,转储清除事件可以是图像结束。在一个实施例中,转储清除事件甚至可以是宏块结束。转储清除事件还可以基于一个或多个子序列满足的阈值或准则。例如,如果至少一个子序列超过阈值符号数目,则可以发生转储清除事件。本领域技术人员可以认识到其他可能的转储清除事件。
在步骤410中发生转储清除事件时,将子序列提供给其相应熵编码器,在相应熵编码器中,对子序列分别进行熵编码,以产生相应编码子序列,如步骤412所示。在一个示例实施例中,熵编码器被配置为使用静态8比特Huffman编码来编码子序列。备选地,可以使用其他编码方案,包括二进制算术编码。还可以使用编码方案的组合,例如针对每个子序列使用不同的编码方案。可以认识到,由于熵编码器的并行架构,步骤412中子序列的熵编码并行进行。
在步骤414,通过对N个编码子序列进行复用来构造单一比特流。在本实施例中,通过以已知顺序将比特流的有效载荷部分中的编码比特流 连接,并向比特流提供前缀字段来构造单一比特流,该前缀字段包含用于标识每个编码子序列在比特流中的位置的索引信息。
将认识到,在视频编码的情况下,针对多个帧或片,可以重复步骤406、408、410、412和414,以产生编码多个帧的比特流。
将认识到,当转储清除事件发生时,编码子序列可以具有不同长度。相应地,可以提供前缀字段中的索引信息,以精确定位每个编码子序列在比特流有效载荷部分中的位置。在一些实施例中,长度可以被编码并置于前缀字段中。例如,每个编码子序列k的长度(以字节为单位)可以由L(k)给出。前缀码可以定义为:
If n<128,then C(n)=n<<1;
Else if n<16512,then C(n)=((n-128)<<2)|1;
Else if n<2113664,then C(n)=((n-16512)<<3)|3;
Else C(n)=((n-2113664)<<3)|7;
其中“<<”是右移,“|”是按比特或。
可以认识到,可能存在“n”的上限,在本示例中为“L(k)”。在任何给定实施例中,该上限可以依赖于实施方式。该上限可以由可以用于给定子序列的最大字节数目或者由可以用于指定子序列长度的最大字节数目来设置。在一个实例中,L(k)的限制是其必须在4个字节之内表示,这意味着L(k)的大小限于大约216+2113664。
使用以上定义的前缀码,输出比特流的首部部分由C(L(k))给出。前缀码的上述结果确保字节对齐。可以理解,上述前缀码定义采用指数golomb码。可以认识到,可以使用其他合适的编码方案来将索引信息置于首部中,包括例如Elias码。在另一示例中,将索引信息置于前缀中而不进行编码。
在解码器处,首先对前缀码进行解码,以标识每个子序列的长度。可以认识到,通过知道子序列的长度,解码器能够标识有效载荷中每个子序列的起始和结尾。然后,解码器能够解析有效载荷字段以将有效载荷解复用为各个编码子序列。在不同的示例实施例中,首部中的索引信息可以指定每个子序列的起始比特的位置,尽管位置信息的表示可能导致大于长度信息从而需要首部中的更多比特。
现在参照图7,图7以流程图形式示出了用于对编码数据的比特流进行解码的方法500。
方法500包括在步骤502中接收编码数据的比特流。在一些实例中,比特流可以从计算机可读存储介质中读取,如例如致密光盘(CD)、数字视频光盘(DVD)、蓝光光盘等等。在一些实例中,可以在有线或无线连接上通过与一个或多个网络(可能包括因特网)的通信链路来接收比特流。
在步骤504中,解码器读取比特流的前缀字段,以提取索引信息。例如,在本实施例中,解码器提取N个编码子序列比特流的编码长度信息L(k)。基于提取和解码的长度信息,解码器标识比特流的有效载荷部分中N个编码子序列比特流的位置。相应地,在步骤506中,解码器从比特流的有效载荷字段中提取编码子序列。
在步骤508,利用N个并行熵解码器对编码子序列进行并行熵解码。每个熵解码器接收编码子序列之一,对其进行熵解码,并输出解码符号子序列。
在步骤510,对N个解码子序列进行交织,以形成重构符号序列。基于上下文模型对解码子序列进行交织。具体地,解码器基于上下文模型确定每个比特的估计概率,并基于估计概率从与该估计概率相关联的解码子序列中选择符号。
然后,在步骤512,输出重构符号序列。可以理解,步骤512可以包括向视频或图像解码器的其余部分提供重构符号序列,如这种解码器内的解量化和反变换过程。
在本实施例中,在步骤506/508,解码器能够基于以预定顺序置于有效载荷字段中的“源”来确定与有效载荷字段内的每个编码子序列比特流相关联的“源”。在这种示例实施例中,不具有符号的源在编码器处输出空(NULL)码;或者编码器确保前缀针对该源指定“0”长度编码子序列。
在另一实施例中,该顺序不是预定的。在一个示例中,编码器指定该顺序,并标识与每个编码子序列相关联的概率,例如通过将这种信息置于前缀字段中。在另一实施例中,可以将概率信息置于有效载荷字段 内,作为编码子序列的前缀或后缀。在另一示例实施例中,可以使用索引方案来传送序列的顺序,而不发送显式概率。例如,每个编码器/解码器可以具有索引,子序列可以均具有指定其编码器/解码器索引的首部部分,这允许比特流全部避免首部部分。本领域技术人员可以认识到其他可能性。
在一些实例中,并行编码或解码处理单元的数目d,即并行熵编码器206(图4)或解码器306(图5)的数目,可以不同于不同估计概率的数目N。在一种情况下,解码器可以具有比N个概率更少的并行解码器306。解码器可以采用调度来使一个或多个解码器处理多个子序列,从而将并行度减少一定程度。然而,在一种情况下,如果编码器知道解码器具有d<N个解码器306,编码器可以将一些源/概率合并,使得编码器产生的子序列数目不大于d。
在另一场景中,如果解码器具有d>N个解码器306,则编码器可以对一些源/概率进行划分,以最大化可用并行解码器306的使用。
在另一场景中,编码器预先不知道在解码器中有多少并行解码器306可用。在这种情况下,如果解码器具有的并行解码器306少于编码器产生的子序列,则解码器不能并行处理所有子序列,解码器可以调度解码器306在子序列中的使用。
对于并行解码处理单元的数目d不同于N的实例,有利地,具有用于对源输出进行组合(对于d<N)或划分(对于d>N)的机制。对于该示例机制,编码器在编码时知道值d。然而,如果解码器不具有d个解码单元,仍能够实现无损解码。
在本示例中,令p为源k的LPS概率。输出序列k的开销被认为是OH(k)=8*|C(L(k))|-4*log(1-p)+4,其中C|(v)是使用上述前缀码表示值v的字节数目。如果存在具有LPS概率q的源m,对于序列m,OH(k)>N(k)*[p*log(p/q)+(1-p)log((1-p)/(1-q))],其中N(k)是源k的输出中的二进制符号的数目,则将源k的输出与源m的输出合并,并对于合并序列使用LPS=q。只要OH(k)/N(k)大于一些源k和m之间的相对熵,可以重复该过程。
现在参照图8,图8示出了编码器900的示例实施例的简化框图。编 码器900包括:处理器902、存储器904和编码应用906。编码应用906可以包括存储在存储器904中并包含指令的计算机程序或应用,所述指令用于将处理器902配置为执行这里描述的步骤或操作。例如,编码应用906可以编码并输出根据这里描述的并行熵编码过程编码的视频比特流。编码应用906可以包括:熵编码器26,被配置为使用这里描述的一个或多个过程,对输入序列进行熵编码,并输出比特流。可以理解,编码应用906可以存储在计算机可读介质上,如致密光盘、闪存设备、随机存取存储器、硬盘等等。
在一些实施例中,编码器900中的处理器902可以是单一处理单元,被配置为实现编码应用906的指令。在一些其他实施例中,处理器902可以包括能够并行执行指令的多于一个处理单元。多个处理单元可以是逻辑上或物理上单独的处理单元。在一些实例中,编码器900可以包括N个或更多处理单元,其中编码应用906将处理单元中的N个处理单元配置作为并行熵编码器操作,以实现这里描述的方法。还可以认识到,在一些实例中,编码应用906的一些或全部操作以及一个或多个处理单元可以通过专用集成电路(ASIC)等等来实现。
参照还参照图9,图9示出了解码器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 (18)

1.一种在数据压缩过程中对符号子序列进行合并以形成合并子序列的方法,其中,所述符号属于有限字母表,每个符号子序列从输入符号序列导出,每个符号子序列具有由上下文模型给出的关联估计概率,所述上下文模型定义估计概率的有限集合,所述方法包括:
确定与第一符号子序列相关联的开销,其中第一符号子序列与第一估计概率相关联;
计算所述开销与第一子序列中的符号数目的比值,并确定所述比值大于第一符号子序列与第二符号子序列之间的相对熵,其中第二符号子序列与第二估计概率相关联;以及
将第一符号子序列和第二符号子序列合并,以形成合并子序列,并将合并子序列与第二估计概率相关联。
2.根据权利要求1所述的方法,其中,第一估计概率为p,第二估计概率为q,第一符号子序列与第二符号子序列之间的相对熵由下式给出:
p*log(p/q)+(1-p)log((1-p)/(1-q))。
3.根据权利要求2所述的方法,其中,第一子序列为k,确定与第一符号子序列相关联的开销OH(k)计算如下:
OH(k)=8*|C(k)|-4*log(1-p)+4,
其中C(k)是与第一符号子序列有关的比特流的前缀部分的字节数目。
4.一种对输入符号序列进行编码以便由具有多个处理单元的解码器进行解码的方法,所述符号属于有限字母表,所述方法包括:
针对输入序列中的每个符号,基于由上下文模型给出的估计概率,将符号分配给N个符号子序列之一,其中,所述上下文模型定义了N个概率的有限集合,所述估计概率是所述N个概率之一;
对N个符号子序列中的两个符号子序列进行合并,以形成合并子序列,得到d个子序列,其中所述合并是根据权利要求1至3中任一项所述的方法来执行的;
使用d个相应熵编码器来对d个子序列并行编码,以产生d个相应编码子序列;以及
输出比特流,其中所述比特流包括d个编码子序列和用于定位d个编码子序列中的每个编码子序列的信息。
5.根据权利要求4所述的方法,其中,将符号分配给N个子序列之一包括:
基于上下文模型,确定与该符号相关联的估计概率;以及
将该符号附加至所述N个子序列之一中的符号。
6.根据权利要求5所述的方法,其中,上下文模型包括自适应上下文模型,将符号分配给N个子序列之一还包括:在每次附加操作之后,更新自适应上下文模型。
7.根据权利要求4至6中任一项所述的方法,其中,输出比特流包括:输出前缀和有效载荷,其中所述前缀包含所述用于定位的信息,所述有效载荷包含所述d个编码子序列。
8.根据权利要求7所述的方法,其中,所述用于定位的信息包括:d个编码子序列中的每个编码子序列的长度值。
9.一种在数据压缩过程中对符号子序列进行合并以形成合并子序列的编码器,其中,所述符号属于有限字母表,每个符号子序列从输入符号序列导出,每个符号子序列具有由上下文模型给出的关联估计概率,所述上下文模型定义估计概率的有限集合,所述编码器包括:
用于确定与第一符号子序列相关联的开销的装置,其中第一符号子序列与第一估计概率相关联;
用于计算所述开销与第一子序列中的符号数目的比值,并确定所述比值大于第一符号子序列与第二符号子序列之间的相对熵的装置,其中第二符号子序列与第二估计概率相关联;以及
用于将第一符号子序列和第二符号子序列合并,以形成合并子序列,并将合并子序列与第二估计概率相关联的装置。
10.根据权利要求9所述的编码器,其中,第一估计概率为p,第二估计概率为q,第一符号子序列与第二符号子序列之间的相对熵由下式给出:
p*log(p/q)+(1-p)log((1-p)/(1-q))。
11.根据权利要求10所述的编码器,其中,第一子序列为k,确定与第一符号子序列相关联的开销OH(k)计算如下:
OH(k)=8*|C(k)|-4*log(1-p)+4,
其中C(k)是与第一符号子序列有关的比特流的前缀部分的字节数目。
12.根据权利要求9至11中任一项所述的编码器,其中,所述编码器包括:
上下文建模组件和解复用器,被配置为将输入符号序列分为N个符号子序列,并将两个或更多个子序列合并以形成d个符号子序列,
d个熵编码器,被配置为对d个相应符号子序列进行并行编码,并输出d个相应编码子序列;以及
复用器,被配置为产生比特流。
13.一种对输入符号序列进行编码以便由具有多个处理单元的解码器进行解码的编码器,所述符号属于有限字母表,所述编码器包括:
用于针对输入序列中的每个符号,基于由上下文模型给出的估计概率,将符号分配给N个符号子序列之一的装置,其中,所述上下文模型定义了N个概率的有限集合,所述估计概率是所述N个概率之一;
用于对N个符号子序列中的两个符号子序列进行合并,以形成合并子序列,得到d个子序列的装置,其中所述合并是根据权利要求1至3中任一项所述的方法来执行的;
用于使用d个相应熵编码器来对d个子序列并行编码,以产生d个相应编码子序列的装置;以及
用于输出比特流的装置,其中所述比特流包括d个编码子序列和用于定位d个编码子序列中的每个编码子序列的信息。
14.根据权利要求13所述的编码器,其中,将符号分配给N个子序列之一包括:
用于基于上下文模型,确定与该符号相关联的估计概率的装置;以及
用于将该符号附加至所述N个子序列之一中的符号的装置。
15.根据权利要求14所述的编码器,其中,上下文模型包括自适应上下文模型,将符号分配给N个子序列之一还包括:在每次附加操作之后,更新自适应上下文模型。
16.根据权利要求13至15中任一项所述的编码器,其中,输出比特流包括:输出前缀和有效载荷,其中所述前缀包含所述用于定位的信息,所述有效载荷包含所述d个编码子序列。
17.根据权利要求16所述的编码器,其中,所述用于定位的信息包括:d个编码子序列中的每个编码子序列的长度值。
18.根据权利要求13至15中任一项所述的编码器,其中,所述编码器包括:
上下文建模组件和解复用器,被配置为将输入符号序列分为N个符号子序列,并将两个或更多个子序列合并以形成d个符号子序列,
d个熵编码器,被配置为对d个相应符号子序列进行并行编码,并输出d个相应编码子序列;以及
复用器,被配置为产生比特流。
CN201180010285.1A 2010-02-18 2011-01-21 并行熵编码方法和设备 Active CN102783035B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10154032.6 2010-02-18
EP20100154032 EP2362657B1 (en) 2010-02-18 2010-02-18 Parallel entropy coding and decoding methods and devices
PCT/CA2011/050034 WO2011100837A1 (en) 2010-02-18 2011-01-21 Parallel entropy coding and decoding methods and devices

Publications (2)

Publication Number Publication Date
CN102783035A CN102783035A (zh) 2012-11-14
CN102783035B true CN102783035B (zh) 2015-07-22

Family

ID=42199046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180010285.1A Active CN102783035B (zh) 2010-02-18 2011-01-21 并行熵编码方法和设备

Country Status (4)

Country Link
EP (1) EP2362657B1 (zh)
CN (1) CN102783035B (zh)
CA (1) CA2788754C (zh)
WO (1) WO2011100837A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2492394B (en) * 2011-06-30 2014-11-05 Canon Kk Method of entropy encoding and decoding an image, and corresponding devices
US9491023B2 (en) 2012-08-21 2016-11-08 Ali Europe Sarl Soft metrics compressing method
US9497488B2 (en) 2014-01-10 2016-11-15 Sony Corporation Conditional golomb based adaptive entropy coding
CN104485967B (zh) * 2015-01-08 2017-10-03 中山大学 由序列通项表达式驱动的并行计算传输列表实时压缩方法
US20170019679A1 (en) * 2015-07-15 2017-01-19 Mediatek Inc. Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method
US20170026648A1 (en) * 2015-07-24 2017-01-26 Mediatek Inc. Hybrid video decoder and associated hybrid video decoding method
JP6336524B2 (ja) * 2016-07-25 2018-06-06 株式会社高速屋 データ圧縮符号化方法、その装置、及び、そのプログラム
WO2018071055A1 (en) * 2016-10-11 2018-04-19 Genomsys Sa Method and apparatus for the compact representation of bioinformatics data
US10938415B2 (en) * 2017-07-14 2021-03-02 Gottfried Wilhelm Leibniz Universität Hannover Method for encoding and decoding of quality values of a data structure
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
CN107770558B (zh) * 2017-09-29 2021-02-02 苏州浪潮智能科技有限公司 Jpeg图像解码的方法、系统、装置及可读存储介质
US10917662B2 (en) 2018-03-08 2021-02-09 Mediatek Inc. Method and apparatus for dealing with compressed bitstream interleaving
CN112446483B (zh) * 2019-08-30 2024-04-23 阿里巴巴集团控股有限公司 一种基于机器学习的计算方法和计算单元
EP4035398A1 (en) * 2019-09-24 2022-08-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding concept for a sequence of information values
CN112560398B (zh) * 2019-09-26 2023-07-04 百度在线网络技术(北京)有限公司 一种文本生成方法及装置
US11398833B2 (en) * 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
CN112290953B (zh) * 2020-10-19 2023-05-23 华南理工大学 多道数据流的阵列编码装置和方法、阵列解码装置和方法

Citations (5)

* 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
GB2285374A (en) * 1993-12-23 1995-07-05 Ricoh Kk Parallel encoding and decoding of data
CN1133512A (zh) * 1994-09-30 1996-10-16 株式会社理光 编码与解码数据的方法和装置
CN101099391A (zh) * 2005-01-14 2008-01-02 成均馆大学教 用于可缩放视频编码的自适应熵编码和自适应熵解码的方法和设备
CN101540612A (zh) * 2008-03-19 2009-09-23 华为技术有限公司 编码、解码系统、方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0524983D0 (en) * 2005-12-07 2006-01-18 Imagination Tech Ltd Recompression and decompression of a data stream for rate smoothing
JP4878262B2 (ja) * 2006-10-31 2012-02-15 キヤノン株式会社 エントロピー符号化装置
CA2751803A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos

Patent Citations (5)

* 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
GB2285374A (en) * 1993-12-23 1995-07-05 Ricoh Kk Parallel encoding and decoding of data
CN1133512A (zh) * 1994-09-30 1996-10-16 株式会社理光 编码与解码数据的方法和装置
CN101099391A (zh) * 2005-01-14 2008-01-02 成均馆大学教 用于可缩放视频编码的自适应熵编码和自适应熵解码的方法和设备
CN101540612A (zh) * 2008-03-19 2009-09-23 华为技术有限公司 编码、解码系统、方法及装置

Also Published As

Publication number Publication date
EP2362657B1 (en) 2013-04-24
CN102783035A (zh) 2012-11-14
CA2788754A1 (en) 2011-08-25
CA2788754C (en) 2015-12-08
EP2362657A1 (en) 2011-08-31
WO2011100837A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
CN102783035B (zh) 并行熵编码方法和设备
US8487791B2 (en) Parallel entropy coding and decoding methods and devices
CN102783154B (zh) 采用双码集的编码和解码方法和设备
CN102845065A (zh) 用于重排并行熵编码和解码的方法和设备
JP5937206B2 (ja) ビデオデータをコンテキスト適応型コーディングすること
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
EP2572455B1 (en) Methods and devices for reducing sources in binary entropy coding
KR101874945B1 (ko) 향상된 엔트로피 인코딩 및 디코딩을 위한 방법 및 장치
EP2622744B1 (en) Methods and devices for parallel encoding and decoding using a bitstream structured for reduced delay
JP2021520087A (ja) Cabacのニューラルネットワーク実装に基づくビデオの符号化及び復号のための方法及び機器
CN103597838A (zh) 对末位有效系数的位置进行编码和解码的方法和设备
US20120314760A1 (en) Method and system to reduce modelling overhead for data compression
CA2799763A1 (en) Methods and devices for data compression using context-based coding order
US10455244B2 (en) Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
CN101569203A (zh) 代码转换器、代码转换方法、解码器以及解码方法
CN102783036B (zh) 使用辅码字指示符的编码和解码方法和设备
CA2791793A1 (en) Methods and devices for load balancing in parallel entropy coding and decoding
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
EP2381686B1 (en) Apparatus for parallel entropy encoding and decoding
CN105007486A (zh) 编码和解码图像的方法、编码和解码设备、计算机程序
WO2022193386A1 (zh) 系数编解码方法、编解码设备、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
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

Free format text: CORRECT: ADDRESS; FROM:

Free format text: CORRECT: APPLICANT; FROM: RESEARCH IN MOTION LTD. TO: BLACKBERRY LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
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