CN107005697B - 用于视频编解码的使用基于查找表的概率更新的熵编解码的方法与系统 - Google Patents

用于视频编解码的使用基于查找表的概率更新的熵编解码的方法与系统 Download PDF

Info

Publication number
CN107005697B
CN107005697B CN201580064539.6A CN201580064539A CN107005697B CN 107005697 B CN107005697 B CN 107005697B CN 201580064539 A CN201580064539 A CN 201580064539A CN 107005697 B CN107005697 B CN 107005697B
Authority
CN
China
Prior art keywords
probability
candidate
update
probabilities
value
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
CN201580064539.6A
Other languages
English (en)
Other versions
CN107005697A (zh
Inventor
付方文
吴海华
T-T.L.皮尔
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107005697A publication Critical patent/CN107005697A/zh
Application granted granted Critical
Publication of CN107005697B publication Critical patent/CN107005697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

技术涉及用于视频译码的采用基于查找表的概率更新的熵译码。

Description

用于视频编解码的使用基于查找表的概率更新的熵编解码的 方法与系统
背景技术
由于不断增加的视频分辨率,以及日益增长的对于高质量视频图像的预期,存在对于视频的高效图像数据压缩的高需求,而性能由于采用现有视频编解码(coding)标准,诸如H.264、H.265/HEVC (高效率视频编解码)标准以及VP8/VP9,来编解码而被限制。前面所提及的标准使用传统手段的扩展形式来解决不足够的压缩/质量难题,而结果仍然是不足够的。
这些典型视频编解码系统中的每个系统使用编码器(encoder),编码器生成与视频帧有关的数据,其能够在比特流中高效地传送到解码器,并且然后用来重构视频帧。此数据可包含图像亮度以及颜色像素值,以及提供有损压缩的帧内和帧间(intra and inter)预测数据、过滤数据、残差等,使得所有帧中的各个以及每个像素的亮度和颜色数据不需要被放置在比特流中。一旦全部这些有损压缩值被确立,则可应用一个或更多熵编解码方法(其为无损压缩)。熵编解码规程对于在比特流中以及针对在解码器的重构显著减少表示每个符号串、或者每个语句(syntax)或符号(例如,每个数字或字母)的比特数是重要的。
自适应熵编解码系统使用每个符号存在于要在每个帧上编解码的给定序列中的概率的列表。这些概率在一些系统中每帧或其它时间间隔地被更新,并且该列表能够由于对于成千上万个可能符号的成千上万个概率而变得相当大。用来更新概率的更加高效的方法是期望的。
附图说明
本文中所描述的素材在附图中是作为示例而不是作为限制来说明的。为了说明的简单和清楚,图中示出的要素不一定成比例绘制。例如,为清楚起见,一些要素的尺寸可相对于其它要素被夸大。此外,在被考虑是恰当的地方,参考标号已在图中被重复,以指示对应或相似的要素。在图中:
图1是用于视频编解码系统的编码器的说明性示图;
图2是用于视频编解码系统的解码器的说明性示图;
图3是熵编解码单元的说明性示图;
图4是用于视频编解码的采用基于查找表的概率更新的熵编解码方法的流程图;
图5A-D是使用查找表的熵编解码概率更新过程的详细流程图;
图6是示例熵编解码树的示意图;
图7A-7B是用于使用查找表的熵编解码概率更新过程的示例查找表;
图8是用于提供使用查找表的熵编解码概率更新过程的运转中的示例系统的说明性示图;
图9是示例系统的说明性示图;
图10是另一示例系统的说明性示图;以及
图11示出完全依照本公开的至少一些实现来布置的另一示例装置。
具体实施方式
现在参考附上的图来对一个或更多实现进行描述。尽管讨论了特定配置和布置,但应当理解这只是出于说明性目的而进行的。有关领域中的技术人员将认识到,在不偏离本描述的精神和范围的情况下,可采用其它配置和布置。对于有关领域中的那些技术人员而言将是显而易见的是,本文中所描述的技术和/或布置还可用在除了本文中所描述的以外的各种其它系统以及应用中。
尽管以下描述提出了可例如在诸如片上系统(SoC)架构的架构中显现的各种实现,但本文中所描述的技术和/或布置的实现不限于具体架构和/或计算系统,并且可由任何架构和/或计算系统实现以用于类似的目的。 比如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算装置和/或消费电子(CE)装置(诸如机顶盒、智能电话等)可实现本文中所描述的技术和/或布置。此外,尽管以下描述可提出众多的特定细节,诸如逻辑实现、系统组件的类型以及相互关系、逻辑划分/集成选择等,但要求保护的主题可在没有此类特定细节的情况下被实践。在其它实例中,一些素材,诸如例如控制结构以及全软件指令序列,可没有被详细地示出,以便不混淆本文中所公开的素材。
本文中所公开的素材可在硬件、固件、软件或其任何组合中实现。本文中所公开的素材还可实现为机器可读介质上所存储的指令,指令可被一个或更多处理器读取和执行。机器可读介质可包含用于采用被机器(例如,计算装置)可读的形式来存储或传送信息的任何介质和/或机制。例如,机器可读介质可包含只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒体;光存储媒体;闪速存储器装置;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)以及其它。在其它形式中,非暂时性制品,诸如非暂时性计算机可读介质,可与以上所提及的任何示例或其它示例一起使用,它不包含暂时性信号自身除外。它确实包含除信号自身以外的那些要素,其可以诸如RAM等的“暂时性”方式来暂时地保持数据。
本说明书中对“一个实现”、“实现”、“示例实现”等的引用指示所描述的实现可包含具体特征、结构或特性,但每一实现可能不一定包含该具体特征、结构或特性。此外,此类短语不一定指相同的实现。此外,在结合实现描述具体特征、结构或特性时,要主张的是,结合其它实现(无论是否在本文中明确地描述)来实施此类特征、结构或特性在本领域技术人员的知识之内。
在下面描述与用于视频编解码的采用基于查找表的概率更新的熵编解码有关的系统、制品、以及方法。
如以上所提及的,改善视频编解码的一个方式是通过提高熵编解码的效率或速度。对于视频编解码标准VP9,熵编解码使用8比特算术布尔编解码器(coder)作为编解码引擎,使得每个布尔(每个一或零)一次一个地进行编码(encode)。一般地,给定来自任何n元字母表的符号,静态二进制树采用n-1个内部节点构造,并且在遍历该树对具体符号进行编码时二进制算术编码器在每个此类节点上运行。为了横过该树,二进制树中表示零在每个节点处的发生频率的概率被用来编码序列中二进制化符号的每个比特。这些概率使用8比特的精度。
该概率模型对于整个帧是固定的,使得概率在帧正被编解码时对于帧不改变。所有概率在帧的熵编码和解码二者的执行之前是已知的。作为一个计数,对于每个帧存在1625个概率,其包含1582个变换和量化系数概率、3个跳跃概率、12个变换大小概率以及28个帧间模式概率。每个概率具有已知的基础或默认值,并且被每帧更新(在概率已改变时)。在后向适配或更新中,来自先前帧的概率用来在当前帧的熵编码之前为当前帧的概率计算修改的状态。在帧中编码的所有符号然后使用修改的编解码状态来编解码。在帧的结尾处,编码器和解码器都被预期具有在该帧上实际编码或解码的各种符号的累计计数。
使用这些实际的分布或计数,应用前向更新或适配来更新当前帧的概率,因而适配当前帧的熵编解码上下文供作为下一个帧的基线(baseline)使用。对于常规VP9编解码,对1625个概率中的每个概率执行搜索,以确定它们新的最优值。换言之,当前帧的概率值由于当前帧中符号的使用和编解码而被更新。搜索空间是可能的概率值0到255的范围,并且对于1625个概率中的每个概率,搜索典型地分析100到150个可能的概率值。对于所有概率,此常规系统使用强力(brute force)方法来找到最优值,其是通过在从基础概率值到直接从当前帧的计数器计算的概率值的范围中探索所有可能值来进行的。这可生成相对大的计算成本,因而降低编码性能或提高功率消耗。
为了解决这些问题,目前公开的熵编解码方法显著地减少了搜索空间,比如减少到每概率三个搜索点而不是平均100-150个搜索点。这提高了熵编解码的概率更新部分的速度,其提高了编解码的综合性能。这是通过执行基于语句计数器搜索来完成的,基于语句计数器搜索针对符号的基于算术二进制树的编解码使用左和右计数(0或1)。来自给定帧上下文的基础概率以及语句计数被用来限制概率搜索范围的大小以及形成第一概率候选。因而,正确的概率候选基于查找表来选择,与常规系统中相比查找表具有小得多数量的候选概率。查找表是通过探索常规VP9规范中定义的delta概率(在最优概率和基础概率之间)的结构而生成的。查找表包含:(1)各自具有不同概率更新成本的概率候选;以及(2)给定相同概率更新成本下对于第一概率候选是最接近概率的概率候选。通过一个途径,对于每个正被追踪的概率存在仅三个候选,并且不是所有三个概率可能甚至需要被校验,以找到最终概率以供使用,如下面所解释的。
参考图1-2,为了在上下文中放置本文中熵编解码的方法和系统,示例的简化的视频编解码系统100布置有本公开的至少一些实现,以执行基于查找表的概率更新。在各种实现中,视频编解码系统100可依据一个或更多标准配置成采取视频编解码和/或实现视频编解码器。进一步地,在各种形式中,视频编解码系统100可实现为图像处理器、视频处理器和/或媒体处理器的部分,并采取帧间预测、帧内预测、预测性编解码以及残差预测。在各种实现中,系统100可依据一个或更多标准或规范,诸如例如VP9或其它基于VP#的标准,来采取视频压缩和解压缩,并且/或者实现视频编解码器,但还能够应用到H.264(MPEG-4)、H.265(高效率视频编解码或HEVC)以及有关的或在经修改以与基于VP的熵编解码相兼容的其它标准。尽管系统100和/或其它系统、方案或过程可在本文中进行描述,但是本公开的特征不一定完全一直受限于任何具体的视频编码标准或规范或其扩展。
在本文中使用时,术语“编解码器(coder)”可指代编码器(encoder)和/或解码器(decoder)。类似地,在本文中使用时,术语“编解码”可指代经由编码器进行编码和/或经由解码器进行解码。编解码器、编码器或解码器可具有编码器和解码器二者的组件。
在一些示例中,视频编解码系统100可包含为了清楚起见在图1中尚未示出的额外项目。例如,视频编解码系统100可包含处理器、射频类型(RF)收发器、分路器和/或多路复用器、显示器和/或天线。进一步地,视频编解码系统100可含有诸如扬声器、麦克风、加速计、存储器、路由器、网络接口逻辑等的额外项目。
对于示例的视频编解码系统100,该系统可以是编解码器,在该编解码器中可接收采用与视频帧的序列有关的数据的形式的当前视频信息以供压缩。系统100可将每个帧划分成更小的更加可管理的单元,并然后将帧进行比较以计算预测。如果差或残差在初始块和预测之间被确定,则那个得到的残差经过变换和量化,并且然后进行熵编解码和在比特流中向外传送到解码器或存储装置。为了执行这些操作,系统100可包含帧组织器和划分单元102、减法单元104、变换和量化单元106、执行本文中所描述的许多操作的熵编解码单元110以及与这些不同单元通信和/或管理它们的编码控制器108。控制器108管理编码中的许多方面,包含速率失真、划分大小的选择或编解码、预测参考类型、对预测和其它模式的选择以及管理综合比特率,以及其它方面。
变换和量化单元110的输出还可被提供到在编码器处提供的解码回路120,以生成与将在解码器处生成的相同的参考或重构块、帧或其它帧划分。因而,解码回路120使用逆量化和变换单元112来重构帧,以及使用加法器114连同未示出的其它装配器单元来在每个帧内重构块。解码回路120然后提供用过滤回路单元116来提高重构图像的质量,以更好地匹配对应的初始帧。这可包含解锁过滤器、样本自适应偏移(SAO)过滤器以及质量恢复(QR)过滤器。解码回路120还可具有带有解码图片缓冲器以保持参考帧的预测单元118以及使用运动向量以用于帧间预测和帧内预测模块的运动估计和补偿单元。预测单元118可既对加法单元104提供最佳预测块以生成残差,也可在解码回路中对加法器114提供最佳预测块来添加预测到来自逆变换的残差以重构帧。可提供其它模块或单元用于编解码,但为了清楚起见而在此不进行描述。
更特定地,采用像素数据的帧的形式的视频数据可被提供到帧组织器和划分单元102。这个单元以输入视频序列顺序来保持帧,并且所述帧可以它们需要被编解码的顺序进行检索。帧可被指派诸如以下的分类:I-帧(帧内编解码的)、P-帧(帧间编解码的、从先前参考帧预测的)以及基于来自两个向量的平均的复合帧。当使用VP9标准时,帧可分割成64 x64超级块,并且向下分割到例如8x8、4x8、和4x4划分以及能够是只水平的或只垂直的递归四叉树细分,超级块能够以多种不同方式,诸如32x32、32x16、16x16、8x16,进行细分,。诸如256 x 4096的大片(tile)可被用来定义编解码相关性的分割。将理解的是,本文中所使用的熵编解码方法可被用于针对VP9或其它标准,包含例如LCU、CU、PU以及用于HEVC的其它树块布置或其对于MPEG、H.264/AVC 等的宏块或分割,的基于其它帧划分的编解码。帧还可被分割成不同大小(32x32、16x16、8x8和4x4)以用于变换和量化。
可将当前块从来自预测单元118的预测块减除,并且得到的差或残差按照以上所声明的那样划分并提供到变换和量化单元106。使用用来命名一些示例的离散余弦变换(DCT)和/或离散正弦变换(DST)将有关块或单元变换成系数。量化然后对系数使用受损重取样或量化。生成的量化变换系数的集合可被记录并然后准备用于熵编解码。
变换和量化单元106的输出也可被提供到解码回路120中的逆量化和变换单元112,使得残差能够被重构和添加到来自预测单元118的预测块,以生成粗糙的重构块,其可被重组装到更大的块单元。经重构的帧的质量然后通过使帧穿过过滤器116来得以改善。经过滤的帧然后被提供到预测单元106,预测单元106执行确定用于块从参考帧运动到当前帧的运动向量的帧间预测,并对单个帧执行帧内预测或空间预测。结果是运动向量和预测的块。
熵编解码单元110生成压缩比特流的部分。如下面详细描述的,VP9熵编码与VP8的熵编解码很相同,诸如对所有数据类型进行交织而不是使用数据划分的某些修改除外。对于VP9,熵编解码可在每个帧的三个部分,包含可保持图片大小、回路过滤器强度等的相对小的未压缩报头中执行。第二未压缩报头部分可被用作布尔编解码部分,布尔编解码部分传送被用于整个帧的概率。作为一个示例,概率可作为与它们的默认值的偏差进行传送。第三部分是压缩帧数据,其包含布尔编解码数据和用于重构帧的数据。此处的熵编解码系统可使用基于二进制的算术编解码(其中,只有0和1形成字母表),并使用采用用于更新符号的概率的前向适配和后向适配二者的固定概率更新(其中概率在帧的编解码期间不改变)。熵编解码单元110能够执行下面所详细描述的非常高效的基于查找表的后向更新或适配。在各种实现中,由视频编解码系统100所提供的比特流除了用于解码每个块的侧面(side)信息(例如,预测模式、量化参数、运动向量信息、划分信息、回路中过滤信息、熵编解码概率等)以外还可包含经熵编解码的系数,并且可被提供到如本文中描述其它系统和/或装置,用于传送或存储。
参考图2,示例的简化系统200可具有或可以是解码器,并且可接收采用比特流的形式的编解码的视频数据。系统200可采用熵解码单元202来处理比特流,以提取量化的残差系数以及运动向量、预测模式、划分、量化参数、过滤器信息、熵编解码概率等。这里有关的是,熵解码单元202接收熵编解码概率作为默认值和残差或偏差以便重建每个帧的概率,并且包含用于每个帧的更新的概率值。当解码单元接收了已知概率以及符号的代码时,解码单元202能够反转布尔编解码的二进制树算术编解码操作,以及重构编解码的符号。
系统200可然后使用逆量化模块204和逆变换模块206来重构残差像素数据。其后,系统200可使用加法器208将组装的残差添加到预测的块,以准许预测块的重建。在这些块被传递到预测单元212用于帧间预测(包含运动估计和补偿)前,根据在比特流的语句中所指示的且经由预测模式开关或选择器实现的编解码模式,这些块可被传递到预测单元212用于帧内预测,或首先可被传递到过滤单元210来提高块的质量,并进而提高帧的质量。预测单元212可在块被提供到加法器208之前为每个块设置正确模式。本文中对于系统100和200所描述的单元,在下面详细描述的熵编解码单元110以外的功能性在本领域中被充分地认识,并且在本文中将不以任何更多的细节进行描述。
参考图3,可与熵编解码单元110相同或类似的熵编解码单元300可具有基础概率存储装置302、前向概率更新单元304、后向概率更新单元306以及熵代码计算单元308和默认概率存储装置318。准备好进行熵编码的图像数据由熵编解码单元300接收,并且可包含用来重构帧的数据,诸如预测模式、运动向量、系数语句数据以及变换和量化系数计数器等。图像数据被提供到前向概率更新单元304、后向概率更新单元306、以及熵代码计算单元308。后向概率单元306从基础概率存储装置302或在基础概率存储装置302不可用时从默认概率存储装置318获得对先前帧使用的基础概率,并为图像数据中提供的语句中的至少一些计算更新。所计算的修改的所更新概率然后被提供到熵代码计算单元308,熵代码计算单元308使用修改的概率来执行诸如算术编解码类型算法的熵算法,以对语句进行编解码,并且在一个形式中使用二进制树。此类过程由常规VP9操作规定。计算的代码然后被提供到其它单元供放置在比特流中,以便传送到解码器或存储装置。而且,来自二进制树结构的二进制计数以及概率被提供到前向概率更新单元304。
提供后向概率更新单元306来对于所提供的概率分类(或提供的概率),诸如每个帧的1625个概率,中的每个概率分类搜索最优概率(尽管根据哪些帧重构数据和哪些标准正被使用等,可存在其它计数,但可应用许多不同的因素)。这里,最优指代使用于指示用来执行概率更新的更新动作的比特的数量最小化。可应用其它目标,诸如降低比特率、功率消耗、计算负载等。这里,对用于传送概率更新的比特大小的优化对于提高计算负载可忽略不计。
后向概率更新单元306可具有搜索范围生成器单元,搜索范围生成器单元通过考虑使用的先前概率和基于如下面所描述的语句计数器的新概率来设置对于候选概率搜索的限制。候选概率选择器单元312然后可在算法中使用这些范围设置值,来从由查找表单元314存储和管理的查找表选择候选概率。采用从基础概率计算的索引以及作为一个示例形式而单纯从计数器计算的概率来从查找表选择候选概率。根据基础概率和来自计数器的概率,候选概率的数量可变化。一旦选择了候选概率,自适应概率检查单元316可在所选择的候选之中并根据执行和指示更新的比特大小来选择最佳的候选概率。将要理解的是,在比特大小计算中可存在其它的考虑。一旦选择了最佳概率,最佳概率将被馈送到熵代码计算单元308,以对当前帧进行编码。然而,将要理解的是,后向概率更新单元306可不被用于视频序列中的每个帧,并且可对于只选择的帧,诸如在某些间隔(诸如每20或100个帧)的帧或诸如仅I-帧(帧内编解码的)的某些类型的帧,或通过比较更新成本值与阈值,来自适应地执行,作为一个示例如果成本大于或等于阈值,则执行更新;否则,不执行更新。存在其它示例。
对于一个示例的实现,如下描述了使用基于查找表的概率更新的高效熵过程。
参考图4,流程图示出了依照本公开的至少一些实现布置的示例过程400。一般地,过程400可提供如以上所提及的用于视频编解码的使用基于查找表的概率更新的熵编解码的计算机实现的方法。在所示出的实现中,过程400可包含一个或更多操作、功能或动作,如按偶数编号的操作402到412中的一个或更多操作所示出的。作为非限制性示例,过程400将在本文中参考关于图1-3和8讨论的操作来描述,图1-3和8可关于下面讨论的示例系统100、200、300或800来讨论。
过程400可包括“接收包括具有要进行熵编解码的符号序列的语句的图像数据”,并且如所提及的,图像数据可以是可能需要来重构视频帧的任何数据并准备好要进行熵编解码。
过程400还可包含“更新符号将出现在序列之一中的先前概率”404。 如以上所提及的,VP9具有关于每个帧的1625个概率,不过可存在其它计数,并且可执行针对那些概率中每个概率的最优概率的搜索。作为一个示例,这对于后向概率更新来执行,使得更新的概率能够被用来对当前帧进行高效地编码。
过程400还可包括“在可能的更新概率值的集合之中设置搜索范围”406。如下面详细描述的,这可包含将搜索范围的末端设置在涉及一个末端上的先前概率(从先前帧使用的且被称作为旧概率)的值处以及在涉及基于单个比特的语句计数器(对来自二进制树的左和右(0和1)的计数)的新概率的值处。
过程400还可包含“设置用于更新先前概率的第一候选概率”408,并且这可包含使用涉及新概率的值作为第一候选概率。
过程400还可包含“在查找表上的候选概率集合中搜索至少再多一个的候选概率”410。在一个形式中,除了第一候选概率以外,还可考虑多达再多三个的候选概率。在此示例中,对于查找表给确立的范围以及新旧概率值考虑索引号,并且每个索引号(或范围概率值)具有与其相关联的并在查找表中列出的一个或更多候选概率值。作为一个示例,查找表至少包含,以及作为一个形式只包含全部具有不同的概率更新成本且最接近于从符号(或语句)计数器计算的第一候选概率的那些候选概率值。所述候选概率值自身通过使用如下面所解释的符号计数器来计算。下面所详细解释的多个算法被用来确定应当考虑哪些来自查找表的候选概率。
过程400还可包含“选择候选概率值之一来更新先前概率以便对符号进行编解码,并且选择至少部分地基于与采用候选概率中至少之一来更新先前概率相关联的比特成本”412。如下面所解释的,这可既包含用于提供用于指示更新要被执行的数据的概率比特成本,还包含实际执行更新所需要的数据。对于一个示例,选择在来自查找表的少数所选择候选之中具有最低比特成本的候选概率,只要它低于省略更新的比特成本且对正被考虑的具体概率没有影响。
现在参考图5A-5D,依照本公开的至少一些实现布置了一个详细的示例熵编解码过程500。一般地,过程500可提供用于熵编解码的概率更新的另一计算机实现的方法,作为视频编解码的部分。在示出的实现中,过程500可包含如由按偶数编号的操作502到546中的一个或更多操作所示出的一个或更多操作、功能或动作。作为非限制性示例,过程500将在本文中参考关于图1-3和8所讨论的操作来描述,并且可参考下面讨论的示例系统100、200、300和/或800来讨论。
如以上所提及的,后向概率更新或适配可对按帧计算的(1625个或其它数量的概率中的)每个概率来实现。另外,后向更新可只对通过帧间隔、帧类型、自适应算法或所期望的任何其它先决条件的所选择帧来实现。
第一操作中之一是要计算概率搜索范围以及第一概率候选。因而,过程500可包含将P_old设置为基础概率。基础概率(作为此算法的输入)从给定的帧上下文获得,使得基础概率是先前(或正好是前一)帧中编解码和使用的实际概率。
参考图6,过程500还包含设置“总和=左计数器+右计数器”502。 语句计数器(作为此算法的输入)通过累积语句来收集。更特定地,算术编解码使用诸如示例树600的二进制树来执行。语句的每个符号是叶中之一,并且要被放置在代码中的每个比特的概率被放置在树的节点上。因而,比方说来自集合{EoB、C0、C1、Cx}的符号C1正被编解码。通过对二进制树从根部进行遍历,符号C1能够通过二进制串110(假定树的右边缘表示1)来表示。在树中,每个节点与用来编解码0或1关联的概率。在此示例中,P0用来编解码第一二进制1,P1用来编解码第二二进制1,并且P2用来编解码第三二进制数字0。概率P0、P1或P2可以是概率0.5,并且实际被放置在分数P/256中,使得P为本文中讨论起见被处理为P=128(0.5 = 128/256)。计算每个节点的概率的一个方法可如下:左分枝的计数器除以左分枝和右分枝的计数器的总和。例如:
P2 = Counter_Cl / (Counter_Cl+CounterCx),
P1 = Counter_C0/(Counter_C0 +Counter_Cl+CounterCx ),以及
P0=Counter_EoB/(Counter_EoB+Counter_CO + Counter_Cl+CounterCx)。
过程500可包含设置“总和>0
Figure DEST_PATH_IMAGE001
如果真,则P_new=左计数器*255+(总和/2))/总和;如果假,则P_new=128”506。这里,初始P_new被设置为左分枝的计数器除以左分枝和右分枝的计数器的总和。P_new,如下面所解释的,是第一候选概率P。它在不考虑用于在这个点执行更新的成本的情况下是基于语句的。
过程500可包含设置508从P_old到P_new的搜索范围,其中较小的概率被设置为该范围的较低端(或该范围的第一值),并且较高的概率被设置为该范围的较高端。
紧接的操作涉及基于查找表选择正确的(或精确的)概率候选。为了初始化该过程,过程500可执行多个变量的设置510。这包含设置基于先前概率的值m0=P_old-1,以便校验接近或最接近于先前基础概率的概率。 同样地,基于新概率的值v0=P_new-1校验靠近或接近新概率P_new的概率)。而且,P_candidate[0]被设置为P_new,或换言之,被设置为第一候选概率。 如以上所解释的,这个值基于语句同时忽略成本。候选概率的最大数量(MaxnumCand)被设置,并且作为一个示例被设置在3或4。出于如下面所解释的流程图的目的,MaxnumCand可被设置到比要被分析的候选的数量大的数量。 NumCand(当前候选概率的数量)可设置在1,以开始候选的分析。而且,bm0small可设置在m0的倍数(这里是2 x m0),作为范围的较低界限的测试。将注意的是,尽管讨论了乘法操作,但实际代码可设置为比特移位(m0<<l)。得到的值设置在255或小于255。将理解的是,对于过程500中使用倍数或除法的任何地方,而是可使用比特移位但为了清楚起见而被示为乘法或除法。
过程500然后通过询问是否bm0small=0来进行校验512以确定是否P_old=1。因而,如果P_old=1,则m0=0。如果m0=0 ,则m0和v0的值关于可能的255个概率值进行改变。例如,如操作514,v0=254-v0,并且m0=254-m0。
接着,做出关于以下的确定:范围在v0和m0(且进而P_new和P_old值)之间有多宽,以及范围在值上是否从旧上升到新或者是否在值上从旧下降到新。候选概率将根据范围的大小和方向不同地确定。因此,做出关于是否v0大于m0大小的两倍“v0>(2*m0)”的校验516,并且乘法可再次采用比特移位来代替。如果不是,则另一校验可被执行以确定是否v0全然大于m0(操作530)。
参考图7A-7B,在进一步解释选择候选的操作之前,必须描述查找表。示出的示例查找表700采用表内三列来提供,并出于显示且顺序上从左到右并逐页(其中表从一个部分的底部继续到下一个部分的顶部)地分成5个部分。而且,查找表中的每个行对应于索引概率值1到254,并且沿着列向下以及开始于图7A的左部分并结束于图7B的右部分地从1编号到254,尽管没有示出行号。这些索引概率值对应于P_old和P_new的概率值(以及因此对应于v0和m0),以在查找表上设置搜索范围。每个行可具有一个或更多候选概率值(这里,提供了三个),使得对于每个索引概率可测试三个候选概率值。然后被声明的另一方式,查找表具有254*3个条目的大小。由于表大小是254*3个条目,因此对于每个概率,只有3个候选被选择用于下一个步骤的候选测试。
作为一个示例,候选概率值通过诸如对于帧序列中的第一帧在初始P_old和P_new的范围中搜索(或确立)所有概率且只选择第一预定数量,这里是前三个,的概率来计算,所述第一预定数量的概率具有不同的更新成本并最接近(在值上)于要与确立的范围上的每个概率相关联的概率P_new(称为更新概率或索引概率)。因而,查找表反映了如VP9规范中所定义的delta概率(在最优概率和基础概率之间)的结构。具体地,P_old和P_new被用来生成查找表的第一索引。然而,查找表自身对于帧的概率(例如,1625个概率)的每个概率的所有其它随后可能的P_old和P_new提前生成。初始的P_old和P_new组合能够只生成从0-253(查找表中总共254行)的索引。 给定查找表的第一索引,形成一行三个概率,其充当候选概率以用于进一步检查。
声明以上先决条件的另一方式是构建查找表使得仅包含满足下面两个条件的概率。条件1:概率候选具有采用选择的概率来替代基础概率的不同概率更新成本。因而,查找表上没有概率候选具有与查找表上同一行中的任何其它候选概率相同的成本。因此,最佳概率在查找表中,并且被考虑为次优的概率不在表中。然后,作为一个形式,在查找表中仅这些概率而不是所有可能的概率需要被检查。
对于条件2:查找表上列出的候选概率是第一概率候选P_new的最接近概率(其忽略概率更新成本是最优概率),给定相同的概率更新成本。
现在继续过程500,在v0大于两倍m0时,过程500可包含关于是否“numCand <MaxnumCand”且“ProbLut[v0-1][numCand] > 0”的校验518。第一个短语只是候选概率的计数。在第二个短语中,ProbLut[v0-1][numCand]是查找表上候选概率的值。第二个短语是明了候选概率是否大于0的校验。当表具有“0”条目时,对于这个概率(索引)值不需要搜索。例如,ProbLut[128][1]将是索引概率值128的行和那个行上的第一候选概率条目,其中在本示例中候选概率[1]到[3]将对于行索引概率值进行检查。如果这两个短语中任一个不是真,则已选择了最大数量的候选概率(或候选概率值为0),并且过程继续到候选概率的检查。
如果二者都是真,则过程500继续“设置Tmp=v0-1- ProbLut[v0- 1] [numCand]”520。Tmp是中间值,其是在基于新概率的值(这里v0-1)与通过使用基于新概率的值作为索引值来查找查找表上的候选概率而确定的候选概率之间的差。执行这个来匹配VP9规范中候选概率值的映射。因而,其它阈值或值能够被用作tmp。
过程500然后可包含校验是否tmp大于m0的倍数,并且这里“tmp > (2*m0)
Figure 101513DEST_PATH_IMAGE001
”522。如果这为真,尽管没有被示出,但在使用计算来调整候选概率之前,如果必要则能够测试tmp以确保其是偶数。这与操作528相同,并且对于下面讨论的操作536和548明确地被提供。
然后,基于tmp和候选概率值是否等于两倍m0(两倍的接近P_old值))来设置候选概率。特定地,是否“P_candidate[numCand]=bm0small
Figure 80970DEST_PATH_IMAGE001
”524。如果这是真,则P_candidate[numCand]修改为tmp+2。如果这是假,则P_candidate[numCand]修改为254-tmp。其后,过程500包含“设置numCand=numCand+1”526,以分析ProbLut[v0-1]的同一行上的下一个候选概率。
如果tmp等于或小于 (2*m0),则针对P_candidate[numCand] = bm0small
Figure 860708DEST_PATH_IMAGE001
执行相同测试528。如果真,则P_candidate[numCand]修改为 (tmp + l)/2 + m0 + 1。如果它是假,则P_candidate[numCand]修改为255 - ((tmp + l)/2 + m0。候选概率数然后如之前所提及地递增1 (526)。重复这些操作,直到如以上所提及的,抵达候选概率的最大值(或候选概率具有0值且不需要对于那个概率(索引值)的搜索),并且检查候选概率,如下面所进一步描述的。
返回到操作530,当v0不大于两倍m0时,做出校验以确定“v0>m0”是否仍然为真530。如果真,过程500继续如下操作:对于候选概率计数和大于零的候选概率的值测试相同的两个阶段。然而,在这里,代替查找涉及P_old值(v0-1)的查找表行,现在对行的选择基于涉及整个范围的值,使得“ProbLut[v0 – m0] [numCand] > 0”532作为测试中的第二短语进行校验,因为在v0比m0大得多时,如果在表中找到零,则对于那个概率索引值搜索不是必需的。
如同操作518一样,如果在这里任一个短语非真,则过程继续到候选概率检查。在两个短语都真时,过程500包含“设置tmp = (2*(v0 – m0)) -1 - ProbLut[(2*(v0 – m0))- 1] [numCand]”534。如同操作520一样,差值tmp基于索引概率值(例如,(2*(v0 – m0)) -1)以及通过使用索引概率值确定获得候选概率值的行而确定的候选概率)。如同操作530一样,这些值的基础是关于整个范围(v0-m0),而不是靠近P_new值(v0-1)。
过程500可通过测试对于候选概率设置计算tmp是否是偶数而继续(536)。如果是这样,过程继续到操作540。如果否,则不调整候选概率且获得下一个候选概率以用于选择。
过程500然后继续,在与操作528(对于在v0大于两倍m0而tmp不大于两倍m0时)相同或类似的操作540处调整P_candidate[numCand]值。过程500然后使候选概率计数器numCand递增1,并且过程按环行进,直到如以上所解释的,选择了最大数量的候选概率(或候选概率等于0)。
类似地,现在,在v0小于m0(新值低于旧值的范围被反转)时,然后过程500继续与操作532类似的操作544,除外的是这里候选概率ProbLut[(2*(v0 – m0)) - 2] [numCand]具有(加倍)减去2而不是1的范围。
过程500然后可包含设置与操作534的差值类似的差值“tmp = (2*(v0 – m0)) -1 -ProbLut[(2*(v0 – m0)) - 1] [numCand]”546,再次除外的是,从索引概率值减去二而不是仅一,以在查找表中找到候选概率的行。tmp值然后如之前一样进行校验548,以确保其是偶数值,并且然后候选概率值可与操作540一样进行修改550,这里再次除外的是,在算法中把二而不是一添加到tmp来调整候选概率值。候选概率数量numCand递增552,并且过程如之前所解释的一样进行,以按环行进直到最大数量的候选值被设置。
一旦候选值被选择和设置,作为一个示例,通过计算更新概率的成本和指示更新的成本来执行检查,并且然后这些成本还可与没有更新的成本进行比较。选择具有最小成本的最佳候选。为了进一步降低要被检查的候选的数量,如果第二概率候选的成本大于或等于第一概率候选的成本,则可对这个检查执行早期退出操作。在那个情况中,停止检查,并且第一概率候选被选择为最佳概率。存在能够被用于比较更新成本的许多不同的过程和操作的顺序,并且过程500仅仅提供一个可能的过程。
更特定地,过程500可包含“设置idx = 0”544以用于检查并作为用来计数候选概率的索引数。然后,执行测试“idx < numCand”556。NumCand当前被设置在来自操作618、632或644的最大值。当这个短语是真时,检查继续“计算概率P_candidate[idx]的更新成本C[idx]”558。这包含基于语句计数来计算作为第一概率候选的P_candidate[0]的成本以及省略成本考虑。然后,如果idx为零(第一候选概率),则对它进行测试560。如果是这样,过程将idx计数器向上递增666一,并获得候选概率P_candidate[1]。
现在,在确定成本C[1]之后,过程进行到“如果概率P_candidate[idx]具有比成本C[idx-1]更低的成本C[idx],则设置P_candidate[idx]以用于更新”562。因而,每个候选概率针对候选概率进行测试,然后确定哪一个具有更低的成本。结果最终将是,正被校验的所有候选概率中具有最低成本的候选概率将被设置为用于更新的候选概率。
可选择地,早期退出操作可包含用来确定“更新成本大于概率P_candidate[0]的更新成本[0]”564的测试。如果真,则P_candidate[0],或换言之在没有成本考虑情况下基于语句计数器的第一候选概率P_new,要被用作概率。如果假(P_candidate[0]具有更大的更新成本),则过程通过将idx数向上递增1并按环行进到操作556来确定是否存在要校验的更多候选概率。最终选择或修改的概率被提供到熵代码计算单元,例如以执行对于当前帧的编解码。概率和计数然后被提供到前向更新单元,前向更新单元可然后使用所修改的概率来更新基础概率数据库,以便用于更新下一个帧的概率,如以上所解释的。
给定以上的算法,只有多达3个概率候选被选择,并且平均而言,大约2个候选,平均而言,被校验。与多于要求每概率分类(每帧1625个概率)搜索100-150个候选的强力方法相比较,这个算法的性能已得以改善超过20x,而编码效率只降低小于可忽略的的0.5%。
关于解码,1625个中每个的概率可被存储为四个不同的帧上下文或概况,其各自具有不同的二次取样方案。解码器维持帧上下文以及上下文中用作用于解码的帧上下文的比特流信号。
现在参考图8,系统900可用于具有使用查找表的且在操作中示出的概率更新的示例熵编解码过程800,并依照本公开的至少一些实现来布置。在所示出的实现中,过程800可包含如由按偶数编号的动作802到804中的一个或更多所示出的且可交替地或在任何组合中使用的一个或更多操作、功能或动作。作为非限制性示例,本文中将参考关于本文中所描述的任何实现进行讨论的操作来描述过程800。
在所示出的实现中,系统900可包含处理单元920,处理单元920具有逻辑单元或者逻辑电路或模块950、类似物和/或其组合。对于一个示例,逻辑电路或模块950可包含具有熵编解码单元952的视频编码器100且可选择地包含视频解码器200。熵编解码单元952可具有搜索范围生成器单元954、候选概率选择器单元956以及自适应概率检查单元958。尽管系统900如图9中所示可包含与具体模块或单元相关联的操作或动作的一个具体集合,但这些操作或动作可和与这里示出的具体模块或单元不同的模块关联。
过程800可包含“获得编解码帧的概率以及语句计数”802,并且具体地,从具有来自通过一个示例被编解码的先前帧的概率的基础概率存储装置获得。
过程800可包含“基于语句计数器设置new_prob以设置为第一候选概率”804,并且如以上所解释的,新概率可在不考虑任何成本的情况下设置。
过程800可包含“设置帧的new_prob和old_prob之间的范围以设置搜索范围”806,并且其中旧概率old_prob是实际在先前帧(或获得数据的编解码帧)上编解码的基础概率。
操作可然后移位808到候选概率选择器单元,并且过程800可包含“比较old_prob值与new_prob值”810,并且其中值指代如以上通过一个示例定义的v0和m0。比较这些值,以确定应用哪些算法来选择和调整候选概率值。例如,v0是否大于两倍m0,是否仅是大于m0,或是否小于m0。
如果v0比m0要大得多,则过程800可包含“确定是否最靠近的new_prob值的候选概率大于0”812。如果是0,则没有进一步的候选被选择。这是对提供高达最大数量的候选概率(诸如在本示例中是3个)的补充。
如果v0不是比m0要大得多或小于m0,则过程800可包含“确定是否范围值new_prob值的倍数的候选概率大于0”814。再次,如果是0,则不选择更多的候选。这是对提供高达最大数量的候选概率(如以上对于一个示例所提及的三个)的补充。
过程800可包含“确定查找表上new_prob值和在new_prob值索引的候选概率之间的差”816。这个操作指代找到如以上所定义的tmp。这可以是在设置索引概率用于计算差并基于v0-1或v0-m0(以及是否添加一或二来加倍v0-m0的范围)查找表上确定行的同时。
过程800可包含“依赖来自查找表的候选概率值与old_prob的倍数的比较和差,来调整候选概率值”800。换言之,作为一个示例,差是tmp,其可在以上记载的算法中以及过程500中使用,并且作为一个示例,比较是比较候选概率与bm0small。
一旦候选概率被选择和调整,过程800然后可转到820检查候选概率以供成本分析。因而,过程800可包含“确定具有最低比特成本的候选概率”822,并且可包含以上所描述的过程。
过程800可包含“如果与没有更新相比成本更低,则使用具有最低成本的候选概率(包含第一候选概率)”822。因而,具有最低成本的概率被用来更新基础概率数据库,以用于将来的前向更新和用于编解码。这包含可选的早期退出步骤,如果没有其他候选具有更低成本,所述步骤将设置第一候选概率为最终更新概率。
尽管示例过程400、500和/或800的实现可包含采取以所示顺序示出的所有操作,但本公开不被限制在这一点上,并且在各种示例中,本文中任何过程的实现可包含所示操作的仅子集的采取,和/或与所示出的相比以不同的顺序的采取。
在实现中,可响应于由一个或更多计算机程序产品所提供的指令而采取本文中所描述的特征。此类程序产品可包含提供指令的信号承载媒体,指令在被例如处理器执行时,可提供本文中所描述的功能性。计算机程序产品可采用一个或更多计算机可读媒体的任何形式来提供。因而,例如,包含一个或更多处理器核的处理器可响应于由一个或更多计算机可读媒体传达到处理器的程序代码和/或指令或指令集,来采取本文中所描述的一个或更多特征。一般地,机器可读介质可采用程序代码和/或指令或指令集(其可引起本文中所描述的任何装置和/或系统实现本文中所描述的特征中的至少部分)的形式来传达软件。如先前所提及的,在另一形式中,非暂时性制品,诸如非暂时性计算机可读介质,可和以上所提及的任何示例或其它示例一起使用,它不包含暂时性信号本身除外。它确实包含可采用“暂时性”方式临时保持数据的信号自身以外的那些元件,比如RAM等。
在本文中描述的任何实现中使用时,术语“模块”指代配置成提供本文中所描述的功能性的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可体现为软件包、代码和/或指令集或指令,并且在本文中描述的任何实现中使用时,“硬件”可例如单独地或以任何组合的方式包含硬布线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同地或各自地体现为形成更大系统,例如集成电路(IC)、片上系统(SoC)等,的部分的电路。例如,模块可在用于经由本文中所讨论的编解码系统的软件、固件、或硬件实现的逻辑电路中体现。
在本文中描述的任何实现中使用时,术语“逻辑单元”指代配置成提供本文中描述的功能性的固件逻辑和/或硬件逻辑的任何组合。在本文中描述的任何实现中使用时,“硬件”可例如单独地或以任何组合的方式包含硬布线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。逻辑电路可共同地或各自地体现为形成更大系统(例如集成电路(IC)、片上系统(SoC)等)的部分的电路。例如,逻辑单元可在用于实现本文中所讨论的编解码系统的软件、固件、或硬件的逻辑电路中体现。本领域中的普通技术人员将领会到,通过硬件和/或固件执行的操作可备选地经由可体现为软件包、代码和/或指令集或指令的软件来实现,并且还领会到,逻辑单元也可利用软件的部分来实现其功能性。
在本文中描述的任何实现中使用时,术语“组件”可指代模块或逻辑单元,这些术语在上文进行了描述。相应地,术语“组件”可指代配置成提供本文中所描述的功能性的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域中的普通技术人员将领会到,通过硬件和/或固件执行的操作可备选地经由可体现为软件包、代码和/或指令集的软件模块来实现,并且还领会到,逻辑单元也可利用软件的部分来实现其功能性。
参考图9,用于提供采用基于查找表的概率更新的熵编解码的示例视频编解码系统900可依照本公开的至少一些实现布置。在所示出的实现中,系统900可包含一个或更多中央处理单元或处理器903、显示器装置905以及一个或更多存储器存储904。中央处理单元903、存储器存储904和/或显示器装置905可能够经由例如总线、接线或其它访问来彼此通信。在各种实现中,显示器装置905可集成在系统900中或与系统900分立地实现。
如图9中所示和以上所讨论的,处理单元920可具有带有编码器100和/或解码器200的逻辑电路950。视频编码器100可具有熵编解码单元952,熵编解码单元952具有搜索范围生成器单元954、候选概率选择器单元956以及自适应概率检查单元958,以提供本文中所描述的以及如采用本文中所描述的过程来解释的许多功能。
如将领会到的,图9中示出的模块可包含各种软件和/或硬件模块和/或可经由软件或硬件或其组合来实现的模块。例如,模块可经由处理单元920实现为软件,或模块可经由专用硬件部分来实现。此外,所示的存储器存储904可例如是处理单元920的共享存储器。概率更新数据可存储在以上所提及的任何选项上,或可存储在这些选项的组合上,或可存储在其它地方。而且,系统900可用各种方式实现。例如,系统900(显示器装置905除外)可实现为具有图形处理器、四核中央处理单元和/或存储器控制器输入/输出(I/O)模块的单个芯片或装置。在其它示例中,系统900(显示器装置905再次除外)可实现为芯片集。
处理器903可包含任何适合的实现,其包含例如微处理器、多核处理器、专用集成电路、芯片、芯片集、可编程逻辑器件、图形卡、集成图形、通用图形处理单元等。另外,存储器存储904可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪速存储器等)等。在非限制性示例中,存储器存储904还可经由高速缓存存储器来实现。在各种示例中,系统900可实现为芯片集或片上系统。
参考图10,依照本公开和各种实现的示例系统1000可以是媒体系统,尽管系统1000并不受限制于此上下文。例如,系统1000可结合到以下装置中:个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助手(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视、智能装置(例如智能电话、智能平板或智能电视)、移动互联网装置(MID)、消息传送(messaging)装置、数据通信装置等。
在各种实现中,系统1000包含通信地耦合到显示器1020的平台1002。平台1002可从诸如内容服务装置1030或内容传递装置1040或其它类似内容源的内容装置接收内容。包含一个或更多导航特征的导航控制器1050可用来与例如平台1002和/或显示器1020进行交互。在下面对这些组件中的每个进行更加详细的描述。
在各种实现中,平台1002可包含芯片集1005、处理器1010、存储器1012、存储装置1014、图形子系统1015、应用1016和/或无线电1018以及天线1010的任何组合。芯片集1005可提供处理器1010、存储器1012、存储装置1014、图形子系统1015、应用1016和/或无线电1018间的相互通信。例如,芯片集1005可包含能够提供与存储装置1014进行相互通信的存储装置适配器(未示出)。
处理器1010可实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器1010可以是双核处理器、双核移动处理器等。
存储器1012可实现为易失性存储器装置,诸如但不受限制于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置1014可实现为非易失性存储装置,诸如但不受限制于磁盘驱动、光盘驱动、磁带驱动、内部存储装置、附连的存储装置、闪速存储器、电池备用的SDRAM(同步DRAM)和/或网络可访问的存储装置。在各种实现中,存储装置1014可例如包含用于以下的技术:在包含多硬驱动时,为有价值数据媒体提高存储性能增强保护。
图形子系统1015可执行诸如静止或视频的图像的处理以用于显示。图形子系统1015可例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可被用来通信地耦合图形子系统1015和显示器1020。例如,接口可以是以下中的任一个:高清晰度多媒体接口、显示器端口、无线HDMI和/或无线HD兼容技术。图形子系统1015可集成到处理器1010或芯片集1005中。在一些实现中,图形子系统1015可以是通信地耦合到芯片集1005的独立卡。
本文中描述的图形和/或视频处理技术可实现在各种硬件架构中。 例如,图形和/或视频功能性可集成在芯片集内。备选的是,可使用离散图形和/或视频处理器。作为又一实现,图形和/或视频功能可由包含多核处理器的通用处理器提供。在其它实现中,功能可在消费电子装置中实现。
无线电1018可包含一个或更多无线电,其能够使用适合的无线通信技术来传送和接收信号。此类技术可涉及跨一个或更多无线网络的通信。示例无线网络包含(但不受限制于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨此类网络通信时,无线电1018可依照一个或更多可应用标准以任何版本来操作。
在各种实现中,显示器1020可包含任何电视类型的监视器或显示器。显示器1020可包含例如计算机显示器屏、触摸屏显示器、视频监视器、类电视显示器和/或电视。显示器1020可以是数字的和/或模拟的。在各种实现中,显示器1020可以是全息显示器。而且,显示器1020可以是可接收视觉投影的透明表面。此类投影可传达各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或更多软件应用1016的控制下,平台1002可在显示器1020上显示用户界面。
在各种实现中,内容服务装置1030可由任何本国的、国际的和/或独立的服务托管,并且因而例如经由因特网对平台1002可访问。内容服务装置1030可耦合到平台1002和/或显示器1020。平台1002和/或内容服务装置1030可耦合到网络1060,以传递(例如,发送和/或接收)媒体信息向并从网络1060传递(例如,发送和/或接收)媒体信息。内容输送装置1040还可耦合到平台1002和/或显示器1020。
在各种实现中,内容服务装置1030可包含能够输送数字信息和/或内容的有线电视盒、个人计算机、网络、电话、因特网使能的装置或设备,以及能够在内容提供商与平台1002和/显示器1020之间经由网络1060或直接地单向或双向传递内容的任何其它类似的装置。将领会到的是,可经由网络1060单向和/或双向地向并从系统1000中的任何一个组件和内容提供商传递内容。内容的示例可包含任何媒体信息,包含例如视频、音乐、医疗和游戏信息等。
内容服务装置1030可接收诸如有线电视节目的内容,包含媒体信息、数字信息和/或其它内容。内容提供商的示例可包含任何有线或卫星电视或无线电或因特网内容提供商。所提供的示例不意在以任何方式限制依照本公开的实现。
在各种实现中,平台1002可从具有一个或更多导航特征的导航控制器1050接收控制信号。控制器1050的导航特征可被用来与例如用户界面1022进行交互。在实现中,导航控制器1050可以是点指装置,点指装置可以是允许用户将空间(例如,连续和多维的)数据输入到计算机的计算机硬件组件(特定地,人机界面装置))。诸如图形用户界面(GUI)以及电视和监视器的许多系统允许用户使用物理姿势来控制和提供数据到计算机或电视。
控制器1050的导航特征的运动可通过显示在显示器上指针、光标、聚焦环或其它视觉指示的运动来在显示器(例如,显示器1020)上重复。例如,在软件应用1016的控制下,位于导航控制器1050上的导航特征可映射到例如显示在用户界面1022上的虚拟导航特征。在实现中,控制器1050可以不是分离的组件,而是可以集成到平台1002和/或显示器1020中。但是,本公开不限于本文中所示或所述的元件或上下文。
在各种实现中,驱动器(未示出)可例如在启动时,包含使用户能够在初始引导后采用按钮触摸来像电视一样立即打开和关闭平台1002的技术。程序逻辑可允许平台1002在甚至该平台被关闭时,将内容流播到媒体适配器或其它内容服务装置1030或内容输送装置1040。另外,芯片集1005可包含对例如7.1环绕声音频和/或高清晰度(7.1)环绕声视频的硬件和/或软件支持。驱动器可包含用于集成图形平台的图形驱动器。在实现中,图形驱动器可包括外围组件互连(PCI)高速图形卡。
在各种实现中,可集成系统1000中示出的组件中的任何一个或更多组件。例如,可集成平台1002和内容服务装置1030,或可集成平台1002和内容输送装置1040,或例如可集成平台1002、内容服务装置1030和内容输送装置1040。在各种实现中,平台1002和显示器1020可以是集成单元。例如,可集成显示器1020和内容服务装置1030,或可集成显示器1020和内容输送装置1040。这些示例不意在限制本公开。
在各种实现中,系统1000可被实现为无线系统、有线系统或二者的组合。在被实现为无线系统时,系统1000可包含适合通过无线共享媒体进行通信的组件和接口,诸如一个或更多天线、传送器、接收器、收发器、放大器、过滤器、控制逻辑等。无线共享媒体的示例可包含无线频谱的部分,诸如RF频谱等。在被实现为有线系统时,系统1000可包含适合于通过有线通信媒体进行通信的组件和接口,诸如输入/输出(I/O)适配器、连接I/O适配器与对应有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信媒体的示例可包含接线、线缆、金属引线、印刷电路板(PCB)、背板、开关结构(switchfabric)、半导体材料、双绞线、同轴线缆、光纤等。
平台1002可建立用来传递信息的一个或更多逻辑或物理信道。信息可包含媒体信息和控制信息。媒体信息可指代表示意在用于用户的内容的任何数据。内容的示例可包含例如来自以下的数据:语音会话、视频会议、流播视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音会话的数据可以例如是话语信息、沉默周期、背景噪声、舒适噪声、语调等。控制信息可指代表示意在用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可被用来通过系统路由媒体信息,或指导节点以预定义方式处理媒体信息。然而,实现不被限制于图10中描述或示出的元件和上下文。
如以上所描述的,系统900或1000可采用变化的物理类型或形状因素来实现。图11示出在其中可实现系统900或1000的小形状因素装置1100的实现。在实现中,例如,装置1100可实现为具有无线能力的移动计算装置。移动计算装置可指代例如具有处理系统以及诸如一个或更多电池的移动功率源或供应的任何装置。
如以上所描述的,移动计算装置的示例可包含个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助手(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动互联网装置(MID)、消息传送装置、数据通信装置等。
移动计算装置的示例还可包含被布置成由人穿戴的计算机,诸如手腕计算机、手指计算机、环状计算机、眼镜计算机、带状夹子计算机、臂带计算机、鞋式计算机、衣物计算机以及其他可穿戴计算机。在各种实现中,例如,移动计算装置可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管作为示例一些实现可采用实现为智能电话的移动计算装置来描述,但可被领会到的是,也可使用其它无线移动计算装置来实现其它实现。实现不限制在这个上下文中。
如图11中所示出的,装置1100可包含外壳1102、显示器1104、输入/输出(I/O)装置1106以及天线1108。装置1100还可包含导航特征1112。显示器1104可包含在显示器单元上的任何适合的屏1110,以用于显示适于移动计算装置的信息。I/O装置1106可包含任何适合的I/O装置,以用于将信息输入到移动计算装置。I/O装置1106的示例可包含字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关(rocker switch)、麦克风、扬声器、语音识别装置和软件等。信息还可通过麦克风(未示出)输入到装置1400。实现不限制在这个上下文中。
各种实现可使用硬件元件、软件元件或其二者的组合来实现。硬件元件的示例可包含处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等。软件的示例可包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、规程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定实现是否使用硬件元件和/或软件元件来实现可依照任何数量的因素,诸如期望的计算速率、功率水平、热量容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束,而变化。
以上所描述的一个或更多方面可由存储在机器可读介质上的典型指令来实现,机器可读介质呈现处理器内的各种逻辑,这些逻辑在被机器读时,引起机器制作执行本文中所描述的技术的逻辑。称为“IP核”的此类呈现可被存储在有形、机器可读介质上,并且被供应到各种客户或制造设备,以加载到实际制成逻辑或处理器的制作机器中。
尽管已参考各种实现描述本文中陈述的某些特征,但该描述不旨在以限制性的意义进行解释。因此,本文中描述的实现的各种修改以及对于本公开所属的领域中的技术人员是显而易见的其它实现,被视为处于本公开的精神和范围之内。
以下示例关于另外的实现。
作为一个示例,一种接收包括语句的图像数据的计算机实现的方法,语句具有要熵编解码的符号的序列;且更新符号将出现在序列之一中的先前概率,包括:在可能的更新概率值的集合之中设置搜索范围;设置第一候选概率用于更新先前概率;在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及选择候选概率值之一来更新先前概率以用于符号的编解码,并且选择至少部分基于与采用候选概率中的至少一个来更新先前概率相关联的比特成本。
作为另一个实现,方法可包括,通过使用语句计数器来确定搜索范围,语句计数器对在语句已被二进制化之后被用来编解码语句的单个比特的0的数量和1的数量进行计数;其中设置第一候选概率包括使用语句计数器的计数来设置第一候选概率;且其中第一候选概率在不考虑采用第一候选概率来更新先前概率的比特成本的情况下被设置。该方法包括通过将一个或更多潜在候选概率与多个候选概率值的每个更新概率值关联来生成查找表,其中更新概率值形成查找表的索引;其中搜索范围是通过将先前概率和第一候选概率与对查找表进行索引的相应更新概率值进行关联而设置的。而且,该方法包括:通过使用初始先前概率和对应的初始第一候选概率而确立更新概率的范围作为查找表的索引,来生成查找表;通过从初始范围的概率选择概率用于放置在查找表上而为索引查找表的每个更新概率选择候选概率,来生成查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的更新成本且(2)具有与是初始第一候选概率的更新候选值最靠近的概率值;作为对第一候选概率的补充并且对于语句的每单个比特,将搜索限制到三个候选概率的最大者;以及至少部分基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率。
方法还可包括至少部分地根据以下步骤之一的结果来选择候选概率: (1)确定基于新概率的值与候选概率之间的差,候选概率从查找表通过使用基于新概率的值作为索引数字来查找候选概率而被选择以及(2)确定(a)至少部分地基于新概率和先前概率之间的差的改变值与(b)候选概率之间的差,候选概率从查找表通过使用该改变值作为索引数字来查找该候选概率来选择;根据初始值与基于先前概率的值之间的比较,对来自查找表的概率候选的初始值进行调整,并通过在计算中使用该差来设置概率候选的值;以及执行早期退出,包括在作为从查找表选择的第一概率候选的第二概率候选具有比第一概率候选的比特成本更大或与之相等的比特成本时,使用第一候选概率来用于更新;其中比特成本包括执行更新的比特成本或指示更新要被执行的比特成本或二者,以及在比特流中。
通过进一步的实现,一种用于视频编解码的熵解码的计算机实现的方法包括:接收与语句相关联的熵编解码的图像数据,语句具有要熵解码的符号的序列;以及接收更新的概率,更新的概率用于执行熵解码且由以下步骤形成:更新符号将出现在序列之一中的先前概率,包括:在可能的更新概率值的集合之中设置搜索范围;设置第一候选概率用于更新先前概率;在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及选择候选概率值之一,来更新先前概率以用于符号的编解码,并且选择至少部分地基于与采用候选概率中的至少一个来更新先前概率相关联的比特成本。
通过又一个实现,更新先前概率可包括通过使用语句计数器来确定搜索范围,语句计数器对在语句已被二进制化后被用来对语句的单个比特进行编解码的0的数量和1的数量进行计数;其中设置第一候选概率包括使用语句计数器的计数来设置第一候选概率;且其中第一候选概率在不考虑对采用第一候选概率对先前概率进行更新的比特成本的情况下被设置。更新包括通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值相关联来生成查找表,其中更新概率值形成查找表的索引;其中通过将先前概率和第一候选概率与对查找表进行索引的相应更新概率值进行关联来设置搜索范围。而且,更新包括:通过使用初始先前概率和对应的初始第一候选概率而确立更新概率的范围作为查找表的索引,来生成查找表;通过从初始范围的概率选择概率用于放置在查找表上而为索引查找表的每个更新概率选择候选概率,来生成查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有最靠近更新候选值(初始第一候选概率)的概率值;作为对第一候选概率的补充以及对于语句的每个单比特,将搜索限制到三个候选概率的最大者;以及至少部分基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率。
先前概率的更新还可包括至少部分地根据以下步骤之一的结果来选择候选概率:(1)确定基于新概率的值与候选概率之间的差,候选概率从查找表通过使用基于新概率的值作为索引数字来查找候选概率而被选择以及(2)确定(a)至少部分地基于新概率和先前概率之间的差的改变值与(b)候选概率之间的差,候选概率从查找表通过使用该改变值作为索引数字查找该候选概率来选择;根据初始值与基于先前概率的值之间的比较,对来自查找表的概率候选的初始值进行调整,并通过在计算中使用该差来设置概率候选的值;以及执行早期退出,包括在作为从查找表选择的第一概率候选的第二概率候选具有比第一概率候选的比特成本更大或与之相等的比特成本时,使用第一候选概率用于更新;其中比特成本包括执行更新的比特成本或指示更新要被执行的比特成本或二者,以及在比特流中。
作为又一个实现,一种计算机实现的系统具有显示器、通信地耦合到显示器的至少一个处理器、至少一个存储器以及至少一个熵编解码单元,所述至少一个存储器通信地耦合到至少一个处理器并存储视频序列的至少一个帧的图像捕获数据或至少一个静止图片,所述至少一个熵编解码单元通信地耦合到所述至少一个处理器且布置成:接收包括语句的图像数据,语句具有要进行熵编解码的符号的序列;以及更新符号将出现在序列之一中的先前概率,包括:在可能的更新概率值的集合之中设置搜索范围;设置第一候选概率用于更新先前概率;在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及选择候选概率值之一,来更新先前概率以用于符号的编解码,并且选择至少部分地基于与采用候选概率中的至少一个来更新先前概率相关联的比特成本。
通过另一个实现,通过使用语句计数器来确定搜索范围,语句计数器对在语句已被二进制化后被用来对语句的单个比特进行编解码的0的数量和1的数量进行计数;其中设置第一候选概率包括使用语句计数器的计数来设置第一候选概率;且其中第一候选概率在不考虑采用第一候选概率更新先前概率的比特成本的情况下被设置。熵编解码单元通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值相关联,来生成查找表,其中更新概率值形成查找表的索引;其中通过将先前概率与第一候选概率与对查找表进行索引的相应更新概率值进行关联来设置搜索范围。而且,熵编解码单元通过使用初始先前概率和对应的初始第一候选概率而确立更新概率的范围作为查找表的索引,来生成查找表;通过从初始范围的概率选择概率用于放置在查找表上而为索引查找表的每个更新概率选择候选概率,来生成查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有最靠近更新候选值(初始第一候选概率)的概率值;作为对第一候选概率的补充以及对于语句的每个单比特,将搜索限制到三个候选概率中的最大者;以及至少部分基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率。
熵编解码单元至少部分地根据以下步骤之一的结果来选择候选概率: (1)确定基于新概率的值与候选概率之间的差,候选概率从查找表通过使用基于新概率的值作为索引数字来查找候选概率而被选择以及(2)确定(a)至少部分地基于新概率和先前概率之间的差的改变值与(b)候选概率之间的差,候选概率从查找表通过使用该改变值作为索引数字来查找该候选概率来选择;根据对初始值与基于先前概率的值之间的比较,对来自查找表的概率候选的初始值进行调整,并通过在计算中使用该差来设置概率候选的值;以及执行早期退出,包括在作为从查找表被选择的第一概率候选的第二概率候选具有比第一概率候选的比特成本更大或与之相等的比特成本时,使用第一候选概率来用于更新;其中比特成本包括执行更新的比特成本或指示更新要被执行的比特成本或二者,以及在比特流中。
作为一种途径,至少一种计算机可读介质,具有存储在其上的指令,指令在被执行时引起计算装置:接收包括语句图像数据,语句具有要熵编解码的符号的序列;以及更新符号将出现在序列之一中的先前概率,包括:在可能的更新概率值的集合之中设置搜索范围;设置第一候选概率用于更新先前概率;在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及选择候选概率值之一,来更新先前概率以用于符号的编解码,并且选择至少部分地基于与采用候选概率中的至少一个来更新先前概率相关联的比特成本。
通过另一个实现,通过使用语句计数器来确定搜索范围,其中语句计数器对在语句已被二进制化后被用来对语句的单个比特进行编解码的0的数量和1的数量进行计数;其中设置第一候选概率包括使用语句计数器的计数来设置第一候选概率;且其中第一候选概率在不考虑采用第一候选概率更新先前概率的比特成本的情况下被设置。指令引起计算装置:通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值相关联,来生成查找表,其中更新概率值形成查找表的索引;其中通过将先前概率和第一候选概率与对查找表进行索引的相应更新概率值进行关联来设置搜索范围。而且,指令引起计算装置:通过使用初始先前概率和对应的初始第一候选概率而确立更新概率的范围作为查找表的索引,来生成查找表;通过从初始范围的概率选择概率用于放置在查找表上而为索引查找表的每个更新概率选择候选概率,来生成查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有最靠近更新候选值(初始第一候选概率)的概率值;作为对第一候选概率的补充以及对于语句的每个单比特,将搜索限制到三个候选概率中的最大者;以及至少部分基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率。
指令引起计算装置至少部分地根据以下步骤之一的结果来选择候选概率: (1)确定基于新概率的值与候选概率之间的差,候选概率从查找表通过使用基于新概率的值作为索引数字来查找候选概率而被选择以及(2)确定(a)至少部分地基于新概率和先前概率之间的差的改变值与(b)候选概率之间的差,候选概率从查找表通过使用该改变值作为索引数字查找该候选概率来选择;根据对初始值与基于先前概率的值之间的比较,对来自查找表的概率候选的初始值进行调整,并通过在计算中使用该差来设置概率候选的值;以及执行早期退出,包括在作为从查找表被选择的第一概率候选的第二概率候选具有比第一概率候选的比特成本更大或与之相等的比特成本时,使用第一候选概率来用于更新;其中比特成本包括执行更新的比特成本或指示更新要被执行的比特成本或二者,以及在比特流中。
在另一个示例中,至少一种机器可读介质可包括多个指令,所述多个指令响应于在计算装置上被执行而引起计算装置执行依据以上示例的任何一个的方法。
在又一个示例中,一种设备可包含用于执行依据以上示例的任何一个的方法。
以上示例可包含特征的特定组合。然而,以上示例不被限制在这一点,并且在各种实现中,以上示例可包含只采取此类特征的子集、采取此类特征的不同顺序、采取此类特征的不同组合和/或采取比所明确列出的那些特征之外的另外特征。例如,关于示例方法所描述的所有特征可关于示例设备、示例系统和/或示例制品来实现,并且反之亦然。

Claims (43)

1.一种用于视频编解码的熵编解码的计算机实现的方法,包括:
接收包括语句的图像数据,所述语句具有要进行熵编解码的符号的序列;以及
更新符号将出现在所述序列之一中的先前概率,包括:
在可能的更新概率值的集合之中设置搜索范围;
设置第一候选概率用于更新所述先前概率;
在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及
选择所述候选概率值之一来更新所述先前概率以用于所述符号的编解码,并且选择至少部分地基于与采用所述候选概率中至少一个来更新所述先前概率相关联的比特成本。
2.如权利要求1所述的方法,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在已将语句二进制化后用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数。
3.如权利要求2所述的方法,其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率。
4.如权利要求3所述的方法,其中设置所述第一候选概率而不考虑用于采用所述第一候选概率来更新所述先前概率的比特成本。
5.如权利要求1所述的方法,包括通过将一个或更多潜在候选概率与多个所述更新概率值的每个更新概率值相关联来生成所述查找表,其中所述更新概率值形成所述查找表的索引。
6.如权利要求5所述的方法,其中通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值相关联来设置所述搜索范围。
7.如权利要求5所述的方法,包括:通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表。
8.如权利要求1所述的方法,包括:通过从初始范围的概率选择概率用于放置在所述查找表上而为索引所述查找表的每个更新概率选择所述候选概率,来生成所述查找表,其中指派到更新概率的所选候选概率(1)相对于彼此各自具有不同的概率更新成本,并且(2)具有最靠近作为初始第一候选概率的更新候选值的概率值。
9.如权利要求1所述的方法,包括:作为对所述第一候选概率的补充以及对于语句的每个单比特,将所述搜索限制到三个候选概率中的最大者。
10.如权利要求1所述的方法,包括:至少部分基于将基于新概率的值和基于先前概率的值进行比较,来选择候选概率。
11.如权利要求10所述的方法,包括至少部分地根据以下之一的结果来选择候选概率:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择。
12.如权利要求11所述的方法,包括:根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值。
13.如权利要求1所述的方法,包括:
执行早期退出,包括:在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新。
14.如权利要求1所述的方法,其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
15.如权利要求1所述的方法,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在语句已被二进制化后用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数;
其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率;
其中所述第一候选概率在不考虑用于采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置;
所述方法包括通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值关联来生成所述查找表,其中所述更新概率值形成所述查找表的索引;
其中所述搜索范围通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值关联而被设置;
所述方法包括:
通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表;
通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值;
作为对所述第一候选概率的补充并且对于语句的每单个比特,将所述搜索限制到三个候选概率的最大者;
至少部分地基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率;
至少部分地根据以下步骤之一的结果来选择候选概率:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择;
根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值;以及
执行早期退出,包括:在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新;
其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
16.一种用于视频编解码的熵解码的计算机实现的方法,包括:
接收与语句关联的熵编解码的图像数据,所述语句具有要进行熵解码的符号的序列;以及
接收更新的概率,所述更新的概率用于执行所述熵解码且由以下步骤形成:
更新符号将出现在所述序列之一中的先前概率,包括:
在可能的更新概率值的集合之中设置搜索范围;
设置第一候选概率用于更新所述先前概率;
在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及
选择所述候选概率值之一来更新所述先前概率以用于所述符号的编解码,并且选择至少部分地基于与采用所述候选概率中的至少一个来更新所述先前概率相关联的比特成本。
17.如权利要求16所述的方法,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在语句已被二进制化后被用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数;
其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率;
其中所述第一候选概率在不考虑采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置;
更新概率通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值关联而生成所述查找表来形成,其中所述更新概率值形成所述查找表的索引;
其中所述搜索范围通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值进行关联而设置;
更新的概率由以下步骤形成:
通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表;
通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值;
作为对所述第一候选概率的补充并且对于语句的每单个比特,将所述搜索限制到三个候选概率的最大者;
至少部分地基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率;
至少部分地根据以下步骤之一的结果来选择候选概率:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择;
根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值;以及
执行早期退出,包括:在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新;
其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
18.一种计算机实现的系统,包括:
至少一个显示器;
至少一个存储器;
至少一个处理器,通信地耦合到所述存储器和显示器;以及
至少一个熵编解码单元,通信地耦合到所述至少一个处理器且布置成:
接收包括语句的图像数据,所述语句具有要进行熵编解码的符号的序列;以及
更新符号将出现在所述序列之一中的先前概率,包括:
在可能的更新概率值的集合之中设置搜索范围;
设置第一候选概率用于更新所述先前概率;
在查找表上的候选概率的集合中搜索至少再多一个的候选概率;以及
选择所述候选概率值之一来更新所述先前概率以用于所述符号的编解码,并且选择至少部分地基于与采用所述候选概率中的至少一个来更新所述先前概率相关联的比特成本。
19.如权利要求18所述的系统,其中所述搜索范围通过使用语句计数器来确定,所述语句计数器对在语句已被二进制化后被用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数。
20.如权利要求19所述的系统,其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率。
21.如权利要求20所述的系统,其中所述第一候选概率在不考虑采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置。
22.如权利要求18所述的系统,包括通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本,并且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值。
23.如权利要求18所述的系统,其中所述熵编解码单元用于:
至少部分地根据以下步骤之一的结果来选择候选概率:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择。
24.如权利要求18所述的系统,还包括:运动估计单元,所述运动估计单元被布置成:
其中所述搜索范围通过使用语句计数器来确定,所述语句计数器对在语句已被二进制化后被用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数;
其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率;
其中所述第一候选概率在不考虑采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置;
所述熵编解码单元布置成:
通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值关联来生成所述查找表,其中所述更新概率值形成所述查找表的索引;
其中所述搜索范围通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值进行关联而被设置;
所述熵编解码单元布置成:
通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表;
通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值;
作为对所述第一候选概率的补充并且对于语句的每单个比特,将所述搜索限制到三个候选概率的最大者;
至少部分地基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率;
至少部分地根据以下步骤之一的结果来选择候选概率:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择;
根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值;以及
执行早期退出,包括:在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新;
其中所述比特成本包括执行更新的比特成本或指示更新要被执行的比特成本或二者。
25.一种设备,包括用于执行如权利要求1-15中任一项所述的方法的部件。
26.一种用于视频编解码的熵编解码的计算机实现的设备,包括:
用于接收包括语句的图像数据的部件,所述语句具有要进行熵编解码的符号的序列;以及
用于更新符号将出现在所述序列之一中的先前概率的部件,包括:
用于在可能的更新概率值的集合之中设置搜索范围的部件;
用于设置第一候选概率用于更新所述先前概率的部件;
用于在查找表上的候选概率的集合中搜索至少再多一个的候选概率的部件;以及
用于选择所述候选概率值之一来更新所述先前概率以用于所述符号的编解码,并且选择至少部分地基于与采用所述候选概率中至少一个来更新所述先前概率相关联的比特成本的部件。
27.如权利要求26所述的设备,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在已将语句二进制化后用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数。
28.如权利要求27所述的设备,其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率。
29.如权利要求28所述的设备,其中设置所述第一候选概率而不考虑用于采用所述第一候选概率来更新所述先前概率的比特成本。
30.如权利要求26所述的设备,包括用于通过将一个或更多潜在候选概率与多个所述更新概率值的每个更新概率值相关联来生成所述查找表的部件,其中所述更新概率值形成所述查找表的索引。
31.如权利要求30所述的设备,其中通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值相关联来设置所述搜索范围。
32.如权利要求30所述的设备,包括:用于通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表的部件。
33.如权利要求26所述的设备,包括:用于通过从初始范围的概率选择概率用于放置在所述查找表上而为索引所述查找表的每个更新概率选择所述候选概率,来生成所述查找表的部件,其中指派到更新概率的所选候选概率(1)相对于彼此各自具有不同的概率更新成本,并且(2)具有最靠近作为初始第一候选概率的更新候选值的概率值。
34.如权利要求26所述的设备,包括:用于作为对所述第一候选概率的补充以及对于语句的每个单比特,将所述搜索限制到三个候选概率中的最大者的部件。
35.如权利要求26所述的设备,包括:用于至少部分基于将基于新概率的值和基于先前概率的值进行比较,来选择候选概率的部件。
36.如权利要求35所述的设备,包括用于至少部分地根据以下之一的结果来选择候选概率的部件:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择。
37.如权利要求36所述的设备,包括:用于根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整的部件,以及用于通过在计算中使用所述差来设置所述候选概率的值的部件。
38.如权利要求26所述的设备,包括:
用于执行早期退出的部件,包括:用于在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新的部件。
39.如权利要求26所述的设备,其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
40.如权利要求26所述的设备,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在语句已被二进制化后用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数;
其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率;
其中所述第一候选概率在不考虑用于采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置;
所述设备包括用于通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值关联来生成所述查找表的部件,其中所述更新概率值形成所述查找表的索引;
其中所述搜索范围通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值关联而被设置;
所述设备包括:
用于通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表的部件;
用于通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表的部件,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值;
用于作为对所述第一候选概率的补充并且对于语句的每单个比特,将所述搜索限制到三个候选概率的最大者的部件;
用于至少部分地基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率的部件;
用于至少部分地根据以下步骤之一的结果来选择候选概率的部件:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择;
用于根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值的部件;以及
用于执行早期退出的部件,包括:用于在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新的部件;
其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
41.一种用于视频编解码的熵解码的计算机实现的设备,包括:
用于接收与语句关联的熵编解码的图像数据的部件,所述语句具有要进行熵解码的符号的序列;以及
用于接收更新的概率的部件,所述更新的概率用于执行所述熵解码且由以下部件形成:
用于更新符号将出现在所述序列之一中的先前概率的部件,包括:
用于在可能的更新概率值的集合之中设置搜索范围的部件;
用于设置第一候选概率用于更新所述先前概率的部件;
用于在查找表上的候选概率的集合中搜索至少再多一个的候选概率的部件;以及
用于选择所述候选概率值之一来更新所述先前概率以用于所述符号的编解码,并且选择至少部分地基于与采用所述候选概率中的至少一个来更新所述先前概率相关联的比特成本的部件。
42.如权利要求41所述的设备,其中通过使用语句计数器来确定所述搜索范围,所述语句计数器对在语句已被二进制化后被用来对所述语句的单个比特进行编解码的0的数量和1的数量进行计数;
其中设置第一候选概率包括使用所述语句计数器的计数来设置所述第一候选概率;
其中所述第一候选概率在不考虑采用所述第一候选概率来更新所述先前概率的比特成本的情况下被设置;
更新概率通过将一个或更多潜在候选概率与多个更新概率值的每个更新概率值关联而生成所述查找表来形成,其中所述更新概率值形成所述查找表的索引;
其中所述搜索范围通过将所述先前概率和所述第一候选概率与对所述查找表进行索引的相应更新概率值进行关联而设置;
更新的概率由以下部件形成:
用于通过使用初始先前概率和对应的初始第一候选概率确立更新概率的范围作为所述查找表的索引,来生成所述查找表的部件;
用于通过从初始范围的概率选择概率用于放置在所述查找表上而为对所述查找表进行索引的每个更新概率选择所述候选概率,来生成所述查找表的部件,其中指派到更新概率的所选择候选概率(1)相对彼此各具有不同的概率更新成本且(2)具有与作为初始第一候选概率的更新候选值最靠近的概率值;
用于作为对所述第一候选概率的补充并且对于语句的每单个比特,将所述搜索限制到三个候选概率的最大者的部件;
用于至少部分地基于对基于新概率的值和基于先前概率的值进行比较,来选择候选概率的部件;
用于至少部分地根据以下步骤之一的结果来选择候选概率的部件:
(1)确定所述基于新概率的值与候选概率之间的差,所述候选概率从所述查找表通过使用所述基于新概率的值作为索引数字来查找所述候选概率而被选择;以及
(2)确定(a)至少部分地基于所述新概率和所述先前概率之间的差的改变值与(b)候选概率之间的差,所述候选概率从所述查找表通过使用所述改变值作为索引数字查找所述候选概率来选择;
用于根据来自所述查找表的候选概率的初始值与所述基于先前概率的值之间的比较,对所述初始值进行调整,并通过在计算中使用所述差来设置所述候选概率的值的部件;以及
用于执行早期退出的部件,包括:用于在作为从所述查找表选择的首个候选概率的第二候选概率具有比所述第一候选概率的比特成本更大或与之相等的比特成本时,使用所述第一候选概率来进行更新的部件;
其中所述比特成本包括执行所述更新的比特成本或指示更新要被执行的比特成本或二者。
43.一种计算机可读介质,其上存储有指令,所述指令在被执行时,促使计算装置执行根据权利要求1-17中的任一项所述的方法。
CN201580064539.6A 2014-12-26 2015-11-25 用于视频编解码的使用基于查找表的概率更新的熵编解码的方法与系统 Active CN107005697B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/583,534 US10097833B2 (en) 2014-12-26 2014-12-26 Method and system of entropy coding using look-up table based probability updating for video coding
US14/583534 2014-12-26
PCT/US2015/062722 WO2016105842A1 (en) 2014-12-26 2015-11-25 Method and system of entropy coding using look-up table based probability updating for video coding

Publications (2)

Publication Number Publication Date
CN107005697A CN107005697A (zh) 2017-08-01
CN107005697B true CN107005697B (zh) 2020-06-09

Family

ID=56151365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580064539.6A Active CN107005697B (zh) 2014-12-26 2015-11-25 用于视频编解码的使用基于查找表的概率更新的熵编解码的方法与系统

Country Status (3)

Country Link
US (1) US10097833B2 (zh)
CN (1) CN107005697B (zh)
WO (1) WO2016105842A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
EP3291094A1 (de) * 2016-08-30 2018-03-07 Airbus Defence and Space GmbH Prozessorsystem und verfahren zur überwachung von prozessoren
US10506258B2 (en) * 2017-07-13 2019-12-10 Google Llc Coding video syntax elements using a context tree
US10484695B2 (en) 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US9992496B1 (en) * 2017-11-15 2018-06-05 Google Llc Bin string coding based on a most probable symbol
US10764590B2 (en) 2017-11-15 2020-09-01 Google Llc Entropy coding primary and secondary coefficients of video data
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
CN112073729B (zh) * 2019-06-11 2024-04-05 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
US11669281B1 (en) * 2021-11-19 2023-06-06 Meta Platforms, Inc. Count circuit for symbol statistics
US20230291935A1 (en) * 2022-03-11 2023-09-14 Tencent America LLC Systems and methods for division-free probability regularization for arithmetic coding
US11876620B1 (en) * 2022-08-23 2024-01-16 Hewlett Packard Enterprise Development Lp Error correction for decoding frames

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
US6677868B2 (en) 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
CN1209925C (zh) * 2003-01-10 2005-07-06 李春林 基于信源高阶熵的数据压缩方法
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
US7573405B2 (en) 2006-12-29 2009-08-11 Texas Instruments Incorporated System updating accumulated statistics coding variable values after multiple encodings
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US9654138B2 (en) 2009-08-21 2017-05-16 Thomson Licensing Dtv Methods and apparatus for explicit updates for symbol probabilities of an entropy encoder or decoder
CN102055483B (zh) * 2009-10-29 2013-05-08 鸿富锦精密工业(深圳)有限公司 熵解码装置
US9094691B2 (en) 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof
CN101820549B (zh) * 2010-03-19 2011-10-19 西安电子科技大学 基于jpeg2000标准的高速实时处理算术熵编码系统
US8410959B2 (en) 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
EP2721820A1 (en) 2011-06-16 2014-04-23 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Context initialization in entropy coding
GB2516422A (en) * 2013-07-09 2015-01-28 Sony Corp Data encoding and decoding
CN103428502B (zh) * 2013-09-08 2017-02-01 上海高清数字科技产业有限公司 一种解码方法及解码系统
US9641854B2 (en) * 2014-05-19 2017-05-02 Mediatek Inc. Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method
US10455244B2 (en) * 2014-11-14 2019-10-22 Lg Electronics Inc. Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
EP3269141B1 (en) * 2015-05-19 2021-06-23 MediaTek Inc. Method and apparatus for multi-table based context adaptive binary arithmetic coding

Also Published As

Publication number Publication date
CN107005697A (zh) 2017-08-01
US20160191917A1 (en) 2016-06-30
WO2016105842A1 (en) 2016-06-30
US10097833B2 (en) 2018-10-09

Similar Documents

Publication Publication Date Title
CN107005697B (zh) 用于视频编解码的使用基于查找表的概率更新的熵编解码的方法与系统
US11432011B2 (en) Size based transform unit context derivation
KR102587638B1 (ko) 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
US10827186B2 (en) Method and system of video coding with context decoding and reconstruction bypass
US10440366B2 (en) Method and system of video coding using content based metadata
US10574999B2 (en) Method and system of video coding with a multi-pass prediction mode decision pipeline
US9503719B2 (en) Inter-layer coding unit quadtree pattern prediction
CN106664409B (zh) 视频编码中黄金帧选择的方法、系统、设备和介质
US9532048B2 (en) Hierarchical motion estimation employing nonlinear scaling and adaptive source block size
US20170264904A1 (en) Intra-prediction complexity reduction using limited angular modes and refinement
US20170006303A1 (en) Method and system of adaptive reference frame caching for video coding
CN107113435B (zh) 分区模式和变换尺寸确定方法、装置、系统及介质
US20150016530A1 (en) Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation
US20160021369A1 (en) Video coding including a stage-interdependent multi-stage butterfly integer transform
US10341664B2 (en) Configurable intra coding performance enhancements
US10021387B2 (en) Performance and bandwidth efficient fractional motion estimation
WO2014107183A1 (en) Coding unit bit number limitation
EP2885914A1 (en) Size based transform unit context derivation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant