CN105874774A - 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法 - Google Patents

用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法 Download PDF

Info

Publication number
CN105874774A
CN105874774A CN201580003704.7A CN201580003704A CN105874774A CN 105874774 A CN105874774 A CN 105874774A CN 201580003704 A CN201580003704 A CN 201580003704A CN 105874774 A CN105874774 A CN 105874774A
Authority
CN
China
Prior art keywords
count table
data
count
enumeration data
storage device
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.)
Granted
Application number
CN201580003704.7A
Other languages
English (en)
Other versions
CN105874774B (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Priority to CN201711000335.3A priority Critical patent/CN107801044B/zh
Publication of CN105874774A publication Critical patent/CN105874774A/zh
Application granted granted Critical
Publication of CN105874774B publication Critical patent/CN105874774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/423Methods 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 characterised by memory arrangements

Landscapes

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

Abstract

一种计数表保持装置,用于保持计数表,其中该计数表在应用后向适应至概率表时被参考。该计数表爆出装置包含计数数据存取界面、至少一个缓冲器、以及至少一计数数据更新电路。计数数据储存界面决定该储存装置的读取地址以及写入地址用于储存该计数表中的计数数据。至少一个缓冲器来缓冲至少一个输入计数数据,其中至少一个输入计数数据是从该计数表依据该读取地址获得的计数数据。至少一计数数据更新电路,配置为更新从至少一缓冲器中读出的至少一输入计数数据,以产生至少一个更新的计数数据,并且依据该写入地址储存该至少一更新的计数数据至该储存装置。

Description

用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保 持方法
优先权声明
本申请请求2014年5月19日提交的申请号为62/000,174的美国临时专利申请、2014年12月12日提交的申请号为62/091,082的美国临时专利申请的优先权。相关的专利申请的全文被本申请引用。
技术领域
本发明有关于视频编码/解码,更具体来说,有关于一种计数表保持装置(count table maintenance apparatus)在帧处理的过程中在一个储存装置中保持(例如动态更新)一个计数表,以及相关的计数表保持方法。
背景技术
传统的视频编码标准通常采用基于区块的编码技术来应用空间以及时间的冗余。举例来说,基本的途径是将整个来源帧分割为多个区块,在每一区块上执行帧内预测/帧间预测,每一区块执行冗余转换,以及执行量化以及熵编码。此外,在编码循环中产生一个重建帧,来提供参考像素数据以编码后续区块。对于一些视频编码标准来说,环内滤波是用来增强重建帧的图像质量。
视频解码器是用来执行视频编码器所执行的视频编码的逆操作。举例来说,视频编码器中的熵编码器是用来产生一个编码的比特流,视频解码器中的熵解码器是用来解码该编码的比特流。熵编码器实施算术编码。因此,熵编码器参考一个概率表(probability table)来执行熵编码,并且视频解码器也参考相同的概率表来执行熵解码。由于视频内容是在本质上是非定态的,使用概率表来视作改变统计在视频编码器与视频解码器中都是关键的。
发明内容
本发明的目的之一是提供一种计数表保持装置来在帧的处理过程中保持(例如动态更新)储存装置中的计数表,以及相关的方法。
依据本发明的第一方面,提供一种计数表保持装置,在帧的处理过程中在储存装置中保持计数表,其中该计数表在应用后向适应(backward adaptation)至概率表时被参考。该计数表保持装置包含计数数据储存界面、至少一个缓冲器以及至少一计数数据更新电路。计数数据储存界面决定该储存装置的读取地址以及写入地址用于储存该计数表中的计数数据。至少一个缓冲器缓冲至少一个输入计数数据,其中至少一个输入计数数据是从该计数表依据该读取地址获得的计数数据。至少一计数数据更新电路更新从至少一缓冲器中读出的至少一输入计数数据,以产生至少一个更新的计数数据,并且依据该写入地址储存该至少一更新的计数数据至该储存装置。
本发明的第二方面提供一种计数表保持方法,在帧的处理过程中在储存装置中保持计数表,其中该计数表应用后向适应至概率表时被参考。该计数表保持方法包含:决定该储存装置的读取地址以及写入地址用于储存该计数表中的计数数据;缓冲至少一个输入计数数据,其中至少一个输入计数数据是从该计数表依据该读取地址获得的计数数据;以及更新从至少一缓冲器中读出的至少一输入计数数据,以产生至少一个更新的计数数据,并且依据该写入地址储存该至少一更新的计数数据至该储存装置。
本发明的第三方面提供一种后向适应装置。该后向适应装置包含第一储存装置、计数表保持装置以及后向概率更新电路。第一储存装置包含第一缓冲器以及第二缓冲器。第一缓冲器,配置在该第一储存装置中,并且用来储存在第一帧的处理中使用的第一概率表。第二缓冲器,配置在该第一储存装置中,并且用来储存在第一帧之后的第二帧的处理中选择使用的第二概率表。计数表保持装置,用来保持计数表,其中该计数表保持装置包含至少一计数数据更新电路,该至少一计数数据更新电路在处理该第一帧的过程中共享来动态更新该计数表。后向概率更新电路,配置来在该第一帧的处理的结尾时,参考该计数表的信息以及该第一概率表的信息来计算该第二缓冲器中的该第二概率表。
在本领域的技术人员阅读了如下的本发明的细节说明与举例的附图之后,可了解本发明的其他目的。
附图说明
图1是依据本发明的一实施例的熵引擎的方框示意图。
图2是依据本发明的一实施例的为一组符号创造的二进制树的示意图。
图3是依据本发明的一实施例的计数表更新单元的方框示意图。
图4是依据本发明的一实施例的第一后向适应设计的方框示意图。
图5是依据本发明的一实施例的第二后向适应设计的方框示意图。
图6是依据本发明的一实施例的第三后向适应设计的方框示意图。
图7是依据本发明的一实施例的熵处理方法的流程图。
具体实施方式
整个说明书和权利要求书采用确定的术语来指代特定的部件。正如本领域的技术人员将理解的是,制造商可以使用不同的名称来指代某一部件。本文件无意于区分那些名称不同但功能相同的部件。在下面的说明书和权利要求书中,用开放式方式使用术语“包含”和“包括”,因此应当被解释为“包含,但是不限于……”。同样地,术语“耦合”既可以表示间接电气连接也可以表示直接电气连接。因此,如果一个设备与另一个设备耦合,其连接可以是通过直接电气连接或者是通过其他设备和连接件的间接电气连接。
图1是依据本发明的一实施例的熵引擎的区块示意图。熵编码引擎100在一个视频编码器中实现以进行熵编码,或者在一个视频解码器中实现以进行熵解码。VP9是一个由开发的公开的并且免版税的视频编码标准。为了简便与清楚地说明,假设熵编码引擎100依照VP9编码标准执行熵编码/解码。然而,这仅仅作为举例说明,而并非本发明的限制。任何使用熵编码引擎100(具体来说,所提出的计数表更新单元)的视频编码器/解码器都落入本发明的范围。所提出的计数表更新单元作为一个计数表保持装置来保持(例如动态更新)一个计数表,该计数表是在一帧的编码/解码的结束时概率表的后向适应所使用的。所提出的计数表更新单元的更进一步的细节将如下详述。
如图1所示,熵编码引擎100包含电路,例如模式处理单元102、运动向量差(MVD)处理单元104、标记处理单元106、概率表更新单元108、相邻数据更新单元110、相邻数据储存装置112、概率表存取单元114、概率表储存装置116、计数表更新单元118、计数表储存装置120、多个直接记忆体存取(DMA)单元122与124、外部储存装置126、以及后向概率更新单元128。在这个实施例中,外部储存装置126可以使用芯片外(off-chip)储存器,例如动态随机存取记忆体(DRAM)来实现,并且相邻数据储存装置112、概率表储存装置116与计数表储存装置120中每一个可以使用芯片上(on-chip)(内部)记忆体,例如静态随机存取记忆体(SRAM)来实现。此外,外部储存装置126可以使用芯片外记忆体,例如DRAM,并且相邻数据储存装置112、概率表储存装置116与计数表储存装置120中的一个可以使用设置在外部储存装置(例如DRAM)126中的缓冲器实现。
概率表储存装置116是用来储存用来语法编码/解码的概率表。相邻数据储存装置112用来储存上相邻区块的信息,其供在概率表中选择概率模型参考。计数表储存装置120用来储存计数表,计数表用来记录每一语法的实际计数值,其中由当前帧的多种语法的计数数据组成的计数表是被概率表的后向适应所参考。外部储存装置126用来储存熵编码引擎100中的电路元件所需的数据。举例来说,DMA单元122传输储存在一个内部储存装置(例如计数表储存装置120)中并且计数表更新单元118所保持的计数表至外部储存装置126。另举一例,DMA单元124可传输储存在外部储存装置126中的由后向概率更新单元128计算的概率表至内部储存装置(例如概率表储存装置116)中。外部储存装置126具有工作缓冲器设置其中,从而后向概率更新单元128可使用工作缓冲器来基于一个旧的概率表(即当前概率表)以及一个计数表计算一个新的概率表(即一个更新的概率表)。此外,后向概率更新单元128可从计数表储存装置120中直接读取所需的计数表,以及/或者直接写入新的概率表至概率表储存装置116。因此,DMA单元122与124中的一个或者两个可以在一些替代设计中省略。
概率表存取单元114是一个界面模块(interface module),用来存取储存在概率表储存装置116中的概率表。相邻数据更新单元110用来依据当前区块的语法类型(syntax type)以及一些解码的语法元素(syntax element)来执行相邻数据选择。概率表更新单元108用来参考由相邻数据更新单元110提供的相邻信息,来执行概率模型选择,来决定语法熵编码/解码(例如模式处理、MVD处理以及标记处理)中使用的概率模型。模式处理单元102用来编码/解码与模式相关的语法元素。MVD处理单元104用来编码/解码运动向量差。标记处理单元106用来执行系数编码/解码,因此来编码/解码标记,例如单独的数字{0、1、2、3、4}、数字范围{5-6、7-10、11-8、19-34、35-66、67+}以及区块结束(End of Block,EOB)。计数表更新单元118用来读取在计数表储存装置120中的记录的计数表中的计数数据,依据由模式处理单元102、MVD处理单元104以及标记处理单元106所执行的语法编码/解码来更新计数数据,并且将更新的计数数据写入计数表储存装置120中记录的计数表。在计数表储存装置120中保持的计数表是在一帧中的多种语法的计数数据的集合。因此,计数表更新单元118是用来在帧的编码/解码过程中执行读取-修改-写入操作来动态地更新计数表。后向概率更新单元128是基于硬件的元件(例如单纯硬件,专用来执行后向概率更新)、或者基于软件元件(例如一个通用的处理器来执行代码以执行后向概率更新),并且是用来依据边侧信息(side information),例如语法类型以及语法值,一个旧的概率表(即当前概率表)以及一个计数表产生一个新的概率表(即一个更新的概率表)。
除了很少一部分标头比特是以原始值直接编码的,压缩的VP9数据值的大部分是使用布尔算术编码器(boolean arithmetic encoder)来作为基本的二进制算术编码器。通常来说,假如一个符号来自n元字母表,一个静态二进制树是以(n-1)非叶节点(或称为父节点)以及(n)叶节点构建的,并且由于该树被贯穿(traverse)以编码一个特定符号,二进制算术编码器在每一个非叶结点上执行。图2是依据本发明的实施例的为一组符号创建的二进制树的示意图。在这个例子中,具有4个以圆圈代表的非叶节点NP_0、NP_1、NP_2、NP_3,以及5个以方形代表的叶节点NL_0、NL_1、NL_2、NL_3、NL_4。在字母表中的任意符号可由一系列二进制值代表,该些二进制值是通过从根节点NP_0穿越至一个相对应的叶节点来产生的。在二进制树中的每一非叶节点具有一个概率(例如P0、P1、P2、P3),依据采用左(0)通道来贯穿的可能性来指派。来编码一个特定语法的可能的符号的概率P0-P3的集合被参考来作为特定符号的熵编码内容(或者称为概率模型)。视频内容本质上是非固定不变的,并且任意视频编码器/解码器的一个关键元素是用来追踪多种符号的统计的机制以及更新在概率表中的符号的熵编码内容(概率模型)来匹配符号的实际分布的机制。举例来说,在每一帧的编码/解码的结尾使用后向适应(backwardadaptation)来更新熵编码内容(概率模型)。换言之,一旦一个帧的所有的符号都被处理的(例如编码或者解码),则执行一个后向适应步骤来进一步依据该帧中的每一符号的实际计数来更新在下一帧中使用的概率。依据实际的计数值,在一个对应的二进制树中的多种非叶节点能够获得。以图2中所示的二进制树为例。对于非叶节点NP_0-NP_3中的每一个,产生一个计数数据来指示0的发生次数,并且产生其他的计数数据来指示1的发生次数。因此,依据所有的非叶节点NP_0-NP_3的计数数据,概率P0-P3的集合的新的值能够被获取,并且被后向适应步骤使用来设定选择用来编码/解码下一帧的概率P0-P3的集合的值。
在这个实施例中,计数表更新单元118作为一个计数表保持装置来保持(例如动态更新)在一帧的处理过程中(例如编码或者解码)计数表储存装置120中的计数表,其中计数表被参考,以应用后向适应至概率表。图3是依据本发明的一个实施例的计数表更新单元的方块示意图。图1中的计数表更新单元118可使用图3中的计数表更新单元300来实现。如图3所示,计数表更新单元300包含计数数据存取界面302、至少一个缓冲器304、至少一个计数数据更新电路(例如至少一个加法器,标示为“加法器[n]”)306,计数数据队列电路308、以及多个多工器310_1与310_2。需注意的是,依据实际的设计考量,缓冲器304的数量可以等于1或者大于1,以及/或者计数数据更新电路(例如加法器)的数量可以等于1或者大于1。如上所述,计数表储存装置120是用来储存一帧中的多种语法类型的符号的计数数据。举例来说,计数表储存装置120可以是一个内部SRAM,并且每一储存输入可储存多个计数数据(例如计数数据x4)。
计数数据存取界面302是一个界面模组,安排来存取(读取或者写入)计数表储存装置120中的计数表。举例来说,计数数据存取界面302决定计数表储存装置120的读取地址sram_raddr以及写入地址,来存取在计数表中的计数数据。在这个实施例中,计数数据存取界面302包含地址产生器312、地址队列电路314、地址比较器316以及冲突检查电路318。地址产生器312用来实行一个地址导出算法,依据边侧信息count_data_side_info(其可包含语法类型以及其他的参考信息)、控制信号count_data_req(其触发计数数据存取)、以及二进制/符号结果(如图1所示的熵编码引擎100产生的),来产生一个计数数据存取地址设定addr_in,包含读取地址sram_raddr以及写入地址sram_waddr。举例来说,地址产生器312实施的地址导出算法可从一个解码的二进制值(或者解码的符号值)以及解码的语法类型获取读取地址与写入地址中的一个或者两个。另举一例来说,地址产生器312实施的地址导出算法可进一步参考其他的边侧信息,例如一个或者多个图像类型、参考类型、转换尺寸、系数带等等。地址队列电路314是用来排队(queue)先前的计数数据存取地址来进行流水线式的计数数据更新。地址比较器316是用来检查地址队列电路314中的地址相等,并且产生一个比较结果cmp_result至多工器(MUX)310_1,其中多工器310_1是控制来选择在计数数据队列电路308中的先前计数数据队列来进行流水线式计数数据更新,或者从至少一个计数数据更新电路(标示为“加法器[n]”)306产生的更新计数数据,或者选择从计数表储存装置120中读取的计数数据sram_rdata。需注意的是,地址队列电路314以及计数数据队列电路308是可选的。举例来说,计数数据更新单元300可修正为不具有流水线式计数数据更新功能。因此,地址队列电路314与计数数据队列电路308可以省略。
冲突检查电路318用来检测读取存取与写入存取是否同时指向相同的地址,并且依据冲突检查结果设定读取存取使能信号sram_rcs与写入存取使能信号sram_wcs。当读取-写入冲突被检测到时,冲突检查电路318设定写入存取使能信号sram_wcs来使得写入存取不使能,并且设定读取存取使能信号sram_rcs来使能读取存取。然而,当读取-写入冲突没有被检测到时,冲突检查电路318设定写入存取使能信号sram_wcs来使能写入存取,并且设定读取存取使能信号sram_rcs来使能读取操作。
在计数表储存装置120中的计数数据sram_rdata从读取地址sram_raddr中读出,并传输给计数表更新单元300。换言之,计数表储存装置120响应于由计数表更新单元300决定的读取地址输出至少一个储存的计数数据sram_rdata。在这个实施例中,多工器310_1用来从多个候选计数数据更新源中选择一个目标计数数据更新源,其中该候选计数数据更新源包含至少一个从储存装置120中读出的当前计数数据(即sram_rdata)、在计数数据队列电路308中的排队列的至少一个先前计数数据、以及由至少一个计数数据更新电路306产生的至少一个先前更新的计数数据。
至少一个缓冲器304是用来缓冲至少一个输入计数数据,其中在至少一个缓冲器304中缓冲的至少一个输入计数数据是从计数表中依据一个读取地址获得的计数数据。当选择的计数数据更新源是从储存装置120中读出的至少一个当前计数数据(即sram_rdata),多工器310_1输出至少一个当前计数数据(其是依据一个当前读取地址从计数表中读取)至至少一个缓冲器304。当所选择的计数数据更新源是在计数数据队列电路308中的排队的至少一个先前计数数据时,多工器310_1输出至少一个先前计数数据(其是依据一个先前的读取地址从计数表中读出的)至至少一个缓冲器304。当所选择的计数值更新源是至少一个先前更新计数数据时,多工器310_1输出至少一个先前更新计数值(其是由至少一个计数数据更新电路306依据一个从计数表中根据一个先前读取地址读出的先前计数数据)至至少一个缓冲器304。
需注意的是,候选计数数据更新源的数量可以依据实际设计需要而调整。在第一替代型设计中,候选计数数据更新源包含至少一个从储存装置120中读出的当前计数数据(即sram_rdata)以及在计数数据队列电路308中的至少一个先前计数数据。在第二替代型设计中,候选计数数据更新源包含至少一个从储存装置120中读出的当前计数数据(即sram_rdata)以及由至少一个计数数据更新电路306产生的先前更新的计数数据。在第三替代型设计中,候选计数数据更新源包含计数数据队列电路308中的至少一个先前计数数据以及由至少一个计数数据更新电路306产生的先前更新的计数数据。
当缓冲器304的数量大于计数数据更新电路(例如加法器)306的数量时,设置多工器310_2使其选择哪个缓冲的计数数据输出给至少一个计数数据更新电路306。在这个实施例中,多工器310_2被计数数据存取界面302控制,并且每一数据更新电路306是使用一个加法器实现。因此,加法器可增加一个增量值(increment value)(例如1)至一个缓冲的计数数据来产生一个更新的计数数据。简单来说,至少一个计数数据更新电路306是用来更新从至少一个缓冲304读出的至少一个输入计数数据,因此产生至少一个更新的计数数据,并且依据由计数数据存取界面302设置的写入地址sram_waddr储存该至少一个更新的计数数据sram_wdata至计数表储存装置120。
在另一个例子中,当缓冲器304的数量等于计数数据更新单元(例如加法器)306的数量,多工器310_2可被省略。举例来说,计数表更新单元300可设置为具有仅仅一个单独的缓冲器304,用来缓冲一个单独的输入计数数据,并且进一步包含仅仅一个计数数据更新电路(例如一个单独的加法器)306来更新该单独的输入计数数据。在另一个例子中,计数表更新单元300配置为具有多个缓冲器304,用来缓冲多个输入计数数据,并且进一步具有多个计数数据更新电路(例如多个加法器)306,用来分别更新多个输入计数数据。
在一个帧的编码/解码的过程中,所提出的计数表更新单元300写入每一符号的计数数据至计数表储存装置120,并且从计数表储存120中的读出储存的每一符号。不同的符号的计数数据可在编码/解码一帧的开始时通过初始值(例如0)设定。在这个实施例中,计数数据更新电路306执行读取-修正-写入操作来动态更新计数表中的计数数据。具体来说,该至少一个计数数据更新电路306,在该帧的编码/解码过程中,被共享来更新不同的符号的计数数据。因此,该至少一个计数数据更新电路306的数量小于针对该帧中的不同的符号的在计数表中的记录的计数数据的数量。
概率表的后向适应是在一帧的编码/解码的结尾处执行的,基于一个旧的概率表(例如当前概率表)以及一个计数表来计算一个新的概率表(即一个更新的概率表)。一些用来更新该概率表的后向适应设计如下所示。
图4是依据本发明的第一后向适应设计的方块示意图。在计数表储存装置120(其可以是一个芯片上SRAM)中保持的计数表Count_table经由DMA单元122传输给位于外部储存装置126(其可以是一个芯片外DRAM)中的缓冲器401。一个旧的概率表Prob_table_old储存在位于外部储存装置126中的缓冲器402。旧的概率表Prob_table_old通过DMA单元124定位于概率表储存装置116中,用于在先前帧的编码/解码中。在先前帧的编码/解码结束时,后向概率更新单元128读取缓冲器401中的计数表Count_table的信息与缓冲器402中的旧的概率表Prob_table_old的信息,并且参考计数表Count_table与旧的概率表Prob_table_old的信息来计算一个新的概率表Prob_table_new,在当前帧的编码/解码中使用。外部储存装置126更进一步具有一个缓冲器403位于其中,作为后向概率更新单元128所需的工作缓冲器,来储存中间计算结果以及新的概率表Prob_table_new的最终计算结果。
图5是依据本发明的第二后向适应设计的区块图。图4与图5之间的主要区别是图5中后向适应设计的后向概率更新单元128从计数表储存装置120(可以是一个片上SRAM)中直接读出计数表Count_table的信息。
图6是依据本申请的第三后向适应设计的区块图。图5与图6中的主要不同之处在于上述计数表储存装置120可以使用位于外部储存装置126(例如是芯片外DRAM)中的缓冲器601实现。即计数表储存装置120是外部储存装置126的一部分。因此,在这个实施例中,DMA单元122可以省略,并且计数表更新单元118被安排来存取外部储存装置126来保持概率表后向适应所需的计数表。
图7是依据本发明的熵处理方法的流程图。如果获得的结果相同,则不限于图7中的步骤顺序。该熵处理方法可以由图1中的熵编码引擎100实施,并且简单总结如下:
步骤702:执行语法布尔编码/解码(bool encoding/deconding)。
步骤704:依据计数数据边侧信息与二进制值/符号结果,从一个计数表储存装置中读取相关的计数数据。
步骤706:更新该计数数据。
步骤708:写入更新的计数数据至计数表储存装置。
步骤710:检查是否当前帧的所有的符号已编码/解码,如果是,则进行步骤712,否则,进行步骤702来处理下一符号。
步骤712:依据边侧信息、一个旧的概率表(即编码/解码当前帧所使用的一个当前概率表)、以及在计数表储存装置中保持的一个计数表来计算一个新的概率表(即,一个更新的概率表,其被选择进行下一帧的编码/解码)。
步骤714:储存新的概率表(即更新的概率表)至概率表储存装置。
步骤702可由模式处理单元102、MVD处理单元104、以及标记处理单元106中的一个执行。步骤704-708由计数表更新单元118/300执行。当在视频编码端执行时,所提出的计数表保持方法(步骤704-708)是视频编码程序的一部分。步骤710-714由后向概率更新单元128所执行。本领域的技术人员在阅读了上述段落之后,能够理解图7所示的每一步骤,进一步的描述被省略,以简化说明。
本发明通过上述实施例进行举例说明,本发明并非局限于上述举例说明。本发明应理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安排。因此,本发明的权利要求书应该理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安排的较广范围。

Claims (26)

1.一种计数表保持装置,来在帧的处理过程中在储存装置中保持计数表,该计数表保持装置包含:
计数数据储存界面,配置来决定该储存装置的读取地址以及写入地址用于储存该计数表中的计数数据,其中该计数表在应用后向适应至概率表时被参考;
至少一个缓冲器,配置来缓冲至少一个输入计数数据,其中至少一个输入计数数据是从该计数表依据该读取地址获得的计数数据;以及
至少一计数数据更新电路,配置为更新从至少一缓冲器中读出的至少一输入计数数据,以产生至少一个更新的计数数据,并且依据该写入地址储存该至少一更新的计数数据至该储存装置。
2.根据权利要求1所述的计数表保持装置,其特征在于,该至少一计数数据更新电路的数量小于针对该帧中的不同的符号的该计数表中的记录的计数数据的数量。
3.根据权利要求1所述的计数表保持装置,其特征在于,该计数表保持装置具有多个缓冲器,分别来缓冲多个输入计数数据。
4.根据权利要求3所述的计数表保持装置,其特征在于,该计数表保持装置具有多个计数数据更新电路,来分别更新多个输入计数数据。
5.根据权利要求1所述的计数表保持装置,其特征在于,进一步包含:
计数数据队列电路,来排队至少一个先前计数数据;以及
多工器,配置为接收从该储存装置中读出的至少一当前计数数据以及在该计数数据队列电路中的至少一先前计数数据,并且输出该至少一当前计数数据或者该至少一先前计数数据作为该至少一输入计数数据。
6.根据权利要求1所述的计数表保持装置,其特征在于,进一步包含:
多工器,配置为接收由该至少一计数数据更新电路产生的至少一先前更新计数数据以及从该储存装置中读出的至少一当前计数数据,并且输出该至少一当前计数数据或者该至少一先前更新的计数数据作为该至少一输入计数数据。
7.根据权利要求1所述的计数表保持装置,其特征在于,进一步包含:
计数数据队列电路,配置为排队至少一先前计数数据;以及
多工器,配置为接收由该至少一计数数据更新电路产生的至少一先前更新计数数据以及在该计数数据队列电路排队列中的至少一先前计数数据,并且输出该至少一先前计数数据或者该至少一先前更新的计数数据作为该至少一输入计数数据。
8.根据权利要求1所述的计数表保持装置,其特征在于,其中该计数表保持装置是视频解码器的一部分。
9.根据权利要求1所述的计数表保持装置,其特征在于,该计数表保持装置时视频编码器的一部分。
10.根据权利要求1所述的计数表保持装置,其特征在于,该后向适应遵循VP9编码标准。
11.根据权利要求1所述的计数表保持装置,其特征在于,该计数数据存取界面依据语法类型、二进制值、以及符号结果来决定该读取地址与该写入地址的至少一个。
12.一种计数表保持方法,来在帧的处理过程中在储存装置中保持计数表,该计数表保持方法包含:
决定该储存装置的读取地址以及写入地址用于储存该计数表中的计数数据,其中该计数表应用后向适应至概率表时被参考;
缓冲至少一个输入计数数据,其中至少一个输入计数数据是从该计数表依据该读取地址获得的计数数据;以及
更新从至少一缓冲器中读出的至少一输入计数数据,以产生至少一个更新的计数数据,并且依据该写入地址储存该至少一更新的计数数据至该储存装置。
13.根据权利要求12所述的计数表保持方法,其特征在于,其中该更新该至少一输入计数数据的步骤包含:
利用至少一计数数据更新电路来更新至少一输入计数数据,来产生至少一更新的计数数据,其中该至少一计数数据更新电路的数量小于针对该帧中的不同的符号的该计数表中的记录的计数数据的数量。
14.根据权利要求12所述的计数表保持方法,其特征在于,该缓冲该至少一输入计数数据的步骤包含:
利用多个缓冲器来分别缓冲多个输入计数数据。
15.根据权利要求14所述的计数表保持方法,其特征在于,其中更新至少输入计数数据的步骤包含:
利用多个计数数据更新电路来分别更新多个输入计数数据。
16.根据权利要求12所述的计数表保持方法,其特征在于,进一步包含:
排队至少一个先前计数数据;以及
执行多工操作至从该储存装置中读出的至少一当前计数数据以及至少一先前计数数据,并且输出该至少一当前计数数据或者该至少一先前计数数据作为该至少一输入计数数据。
17.根据权利要求12所述的计数表保持方法,其特征在于,进一步包含:
执行多工操作至从该储存装置中读出的至少一当前计数数据以及在至少一先前更新的计数数据,并且输出该至少一当前计数数据或者该至少一先前更新的计数数据作为该至少一输入计数数据。
18.根据权利要求12所述的计数表保持方法,其特征在于,进一步包含:
排队至少一先前计数数据;以及
执行多工操作至至少一先前更新计数数据以及至少一先前计数数据,并且输出该至少一先前计数数据或者该至少一先前更新的计数数据作为该至少一输入计数数据。
19.根据权利要求12所述的计数表保持方法,其特征在于,其中该计数表保持方法是视频解码程序的一部分。
20.根据权利要求12所述的计数表保持方法,其特征在于,其中该计数表保持方法是视频编码程序的一部分。
21.根据权利要求12所述的计数表保持方法,其特征在于,该后向适应遵循VP9编码标准。
22.根据权利要求12所述的计数表保持方法,其特征在于,其中决定该储存装置的该读取地址与该写入地址的步骤包含:
依据语法类型、二进制值、以及符号结果来决定该读取地址与该写入地址的至少一个。
23.一种后向适应装置,包含:
第一储存装置,包含:
第一缓冲器,配置在该第一储存装置中,并且用来储存在第一帧的处理中使用的第一概率表;以及
第二缓冲器,配置在该第一储存装置中,并且用来储存在第一帧之后的第二帧的处理中选择使用的第二概率表;
计数表保持装置,用来保持计数表,其中该计数表保持装置包含至少一计数数据更新电路,该至少一计数数据更新电路在处理该第一帧的过程中共享来动态更新该计数表;以及
后向概率更新电路,配置来在该第一帧的处理的结尾时,参考该计数表的信息以及该第一概率表的信息来计算该第二缓冲器中的该第二概率表。
24.根据权利要求23所述的后向适应装置,其特征在于,该第一储存装置进一步包含位于该第一储存装置中的第三缓冲器,并且该后向适应装置进一步包含:
第二储存装置,在该第一储存装置的外部,并且配置来储存由该计数表保持装置爆出的该计数表;以及
直接记忆体存取电路,配置来讲该计数表从该第二储存装置传输至该第三缓冲器,其中该后向概率更新电路从该第三缓冲器中获得该计数表的信息。
25.根据权利要求23所述的后向适应装置,其特征在于,进一步包含:
第二储存装置,在该第一储存装置的外部,并且配置来储存由该计数表保持装置保持的该计数表;
其中该后向概率更新电路从该第二储存装置中直接获得该计数表的信息。
26.根据权利要求23所述的后向适应装置,其特征在于,其中该第一储存装置进一步包含:
第三缓冲器,在该第一储存装置中,并且配置为储存由该计数表保持装置保持的该计数表。。
CN201580003704.7A 2014-05-19 2015-05-19 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法 Active CN105874774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711000335.3A CN107801044B (zh) 2014-05-19 2015-05-19 后向适应装置与相关方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462000174P 2014-05-19 2014-05-19
US62/000,174 2014-05-19
US201462091082P 2014-12-12 2014-12-12
US62/091,082 2014-12-12
US14/712,900 US9641854B2 (en) 2014-05-19 2015-05-14 Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method
US14/712,900 2015-05-14
PCT/CN2015/079254 WO2015176638A1 (en) 2014-05-19 2015-05-19 Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201711000335.3A Division CN107801044B (zh) 2014-05-19 2015-05-19 后向适应装置与相关方法

Publications (2)

Publication Number Publication Date
CN105874774A true CN105874774A (zh) 2016-08-17
CN105874774B CN105874774B (zh) 2017-12-05

Family

ID=54539579

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580003704.7A Active CN105874774B (zh) 2014-05-19 2015-05-19 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法
CN201711000335.3A Active CN107801044B (zh) 2014-05-19 2015-05-19 后向适应装置与相关方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201711000335.3A Active CN107801044B (zh) 2014-05-19 2015-05-19 后向适应装置与相关方法

Country Status (3)

Country Link
US (2) US9641854B2 (zh)
CN (2) CN105874774B (zh)
WO (1) WO2015176638A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513138A (zh) * 2016-02-24 2018-09-07 联发科技股份有限公司 视频处理装置及相应视频处理方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10097833B2 (en) * 2014-12-26 2018-10-09 Intel Corporation Method and system of entropy coding using look-up table based probability updating for video coding
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216686A (ja) * 1998-07-09 2000-08-04 Ricoh Co Ltd 符号化装置および情報機器
CN1359232A (zh) * 1993-04-12 2002-07-17 松下电器产业株式会社 图像信号处理装置及其处理方法
CN1783144A (zh) * 2004-10-29 2006-06-07 微软公司 使用后向自适应规则进行整数数据的无损自适应Golomb/Rice编码和解码

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UA74323C2 (uk) * 1999-01-07 2005-12-15 Конінклійке Філіпс Електронікс Н.В. Пристрій (варіанти) та спосіб (варіанти) кодування цифрового інформаційного сигналу та носій запису
US7536054B2 (en) * 2003-02-19 2009-05-19 Ishikawajima-Harima Heavy Industries Co., Ltd. Image compression device, image compression method, image compression program, compression encoding method, compression encoding device, compression encoding program, decoding method, decoding device, and decoding program
JP2005191856A (ja) 2003-12-25 2005-07-14 Konica Minolta Business Technologies Inc 画像処理装置及び画像データ転送方法
KR20060119736A (ko) * 2005-05-19 2006-11-24 엘지전자 주식회사 영상 신호의 인코딩 방법
US20060269227A1 (en) 2005-05-27 2006-11-30 Yu-Ching Hsieh Subpicture display device utilizing micro-processor created subpicture address table and related method
CN102763136B (zh) * 2010-02-11 2015-04-01 诺基亚公司 用于提供多线程视频解码的方法和设备
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
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
US10057599B2 (en) * 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium
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
WO2016041507A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
US20160360236A1 (en) * 2015-06-04 2016-12-08 Mediatek Inc. Method and Apparatus for Entropy Transcoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359232A (zh) * 1993-04-12 2002-07-17 松下电器产业株式会社 图像信号处理装置及其处理方法
JP2000216686A (ja) * 1998-07-09 2000-08-04 Ricoh Co Ltd 符号化装置および情報機器
CN1783144A (zh) * 2004-10-29 2006-06-07 微软公司 使用后向自适应规则进行整数数据的无损自适应Golomb/Rice编码和解码

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513138A (zh) * 2016-02-24 2018-09-07 联发科技股份有限公司 视频处理装置及相应视频处理方法
CN108513138B (zh) * 2016-02-24 2020-11-20 联发科技股份有限公司 视频处理装置及相应视频处理方法

Also Published As

Publication number Publication date
CN107801044A (zh) 2018-03-13
US20150334387A1 (en) 2015-11-19
WO2015176638A1 (en) 2015-11-26
US9641854B2 (en) 2017-05-02
US20170195693A1 (en) 2017-07-06
CN107801044B (zh) 2019-11-12
US9813739B2 (en) 2017-11-07
CN105874774B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
US10067901B2 (en) Methods and apparatuses for providing data received by a state machine engine
CN105874774A (zh) 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法
KR101908768B1 (ko) 상태 기계 엔진에 의해 수신된 데이터를 핸들링하기 위한 방법들 및 시스템들
CN107609644B (zh) 用于状态机中的数据分析的方法及系统
CN106852185B (zh) 基于字典的并行压缩编码器
CN102033728B (zh) 图形处理系统
CN101951516B (zh) 基于h.264/avc中cabac的并行编码实现电路及编码方法
CN104011736A (zh) 用于状态机中的检测的方法及系统
CN103988212A (zh) 用于在状态机中路由的方法及系统
KR102165134B1 (ko) 상태 기계 엔진에서 상태 벡터 데이터를 사용하기 위한 방법들 및 시스템들
KR20150052110A (ko) 상태 기계 엔진들에 대한 결과들 생성
CN104067282A (zh) 状态机晶格中的计数器操作
CN102176750B (zh) 高性能自适应二进制算术编码器
CN103914404B (zh) 一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
CN105187845B (zh) 视频数据解码装置及解码方法
CN103699442A (zh) MapReduce计算框架下的可迭代式数据处理方法
CN100508604C (zh) 算术编码电路和算术编码控制方法
US9570125B1 (en) Apparatuses and methods for shifting data during a masked write to a buffer
US20240281253A1 (en) Compressing instructions for machine-learning accelerators
CN108572787A (zh) 一种数据存储、读取的方法及装置
KR20220100030A (ko) 패턴 기반 캐시 블록 압축
CN108769697B (zh) 基于时间交织流水线架构的jpeg-ls压缩系统及方法
CN104918048B (zh) 适用于hevc标准的熵编码上下文概率模型建模模块设计方法
US11928134B1 (en) Medoid-based data compression
CN117874426A (zh) 一种基于phm芯片的信号处理方法及装置、介质

Legal Events

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