CN103828372B - 用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置 - Google Patents

用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置 Download PDF

Info

Publication number
CN103828372B
CN103828372B CN201280047813.5A CN201280047813A CN103828372B CN 103828372 B CN103828372 B CN 103828372B CN 201280047813 A CN201280047813 A CN 201280047813A CN 103828372 B CN103828372 B CN 103828372B
Authority
CN
China
Prior art keywords
image block
buffer
image
block
pointer
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
CN201280047813.5A
Other languages
English (en)
Other versions
CN103828372A (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
Priority claimed from US13/304,372 external-priority patent/US9497466B2/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN103828372A publication Critical patent/CN103828372A/zh
Application granted granted Critical
Publication of CN103828372B publication Critical patent/CN103828372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于缓冲装置的读取指针暂存的方法,所述缓冲装置用来缓冲多重图像块编码图像的数据,所述多重图像块编码图像具有多个图像块,所述方法包含有以下步骤:判断在解码所述多重图像块编码图像的第一图像块时是否遇到所述第一图像块的图像块边界;以及当判断遇到所述第一图像块的所述图像块边界时,将目前使用中的读取指针储存至指针缓冲器,并且从所述指针缓冲器中载入选取的读取指针来作为所述目前使用中的读取指针。

Description

用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲 装置
相关申请的交叉引用
本申请是2011年11月24日递交的申请号为13/304,372的未决美国案的部分延续案,申请号为13/304,372的未决美国案的申请专利范围要求2012年11月20日递交的申请号为 13/681,426的美国临时案的优先权;并且本申请还要求2011年12月5日递交的申请号为61/566,984的美国临时案的优先权。在此合并参考这些申请案的申请标的。
技术领域
本发明有关于视频/图像处理(video/image processing),尤指一种储存于缓冲装置中的多重图像块编码图像(multi-tile encoded picture)的数据存取方法,以及储存于缓冲装置中的多重图像块编码图像的数据存取装置。
背景技术
VP8是一种由谷歌公司所发表的一种开放的视频压缩格式,如同许多现今的视频压缩机制,VP8也是基于将帧(frame)解构(decomposition)为内含像素的正方形子区块、使用之前重建的区块来对这些子区块进行预测(prediction),并采用离散余弦转换(discrete cosine transform,DCT)来针对这些预测结果进行调整(以及针对未预测的区块(unpredicted block)进行合成(synthesis))。然而,在特定的情况下,VP8则会使用沃尔什-哈达马德转换 (Walsh-Hadamard transform,WHT),而非一般采用的离散余弦转换。
WebP是谷歌公司根据VP8所发展的一种图像格式,进一步来说,WebP是基于VP8的帧内编码(intra-frame coding),并采用基于资源交换档案标准格式(resourceinterchange file format,RIFF)的容器(container)。此外,WebP被公开为一种新的开放标准,其针对摄影图像提供有耗损的压缩(lossy compression)。在90万张网页图像的大规模研究中,在相似的图像品质之下,WebP格式的图像相较于联合图像专家小组(JointPhotographic Experts Group,JPEG) 格式的图像,其档案大小缩小了39.8%,因此,网页管理者、网页开发者以及浏览器开发者便可使用WebP格式来提供更小且更好看的图像,进而改善使用者的网页浏览。
依据VP8/WebP的规格,VP8/WebP解码器的输入会是一连串的压缩帧(compressedframe),而其输入次序会与这些帧在时间轴上的次序一致。此外,每一压缩帧中会具有多个分割(partition)。由于VP8/WebP比特流(bitstream)是用来传送压缩帧(每一压缩帧中会具有多个分割),因此如何有效率地缓冲并解码一个多重分割VP8/WebP比特流中的每一压缩帧便成为此技术领域中的一项重要课题。
如高效率视频编码(High-Efficiency Video Coding,HEVC)标准中所建议的,一个图像可以被划分成多个图像块(tile)。图19为高效率视频编码标准中所采用的图像块的示意图。图20 为图19所示的图像块的一传统解码顺序的示意图。如图19所示,图像10分别被划分成多个图像块T11'~T13'、T21'~T23'以及T31'~T33',其是以行边界(row boundary)(即,水平方向的边界)HB1’、HB2’和列边界(column boundary)(即,垂直方向的边界)VB1’、VB2'来加以区隔 (separated)。如图20所示,在每一图像块当中,多个最大编码单元(largest coding unit,LCU) /树状结构(treeblock,TB)会进行栅状扫描(raster scan),例如,在同一图像块T11'中,依照阿拉伯数字编号的顺序来对最大编码单元/树状结构进行解码。换句话说,如图20所示,在每一多重图像块编码图像当中,以栅状扫描的方式对图像块进行处理,举例来说,图像块T11'~ T13'、T21'~T23'以及T31'~T33'依序被解码。具体而言,一张图像可以均匀地被分割为多个图像块,或均匀地被分割成多个特定的最大编码单元-列-行图像块(LCU-column-row tile)。图像块是具有垂直边界和水平边界的一个区块,且必定是矩形,而所述矩形之中会具有整数数量的最大编码单元/树状结构。
依据高效率视频编码标准,存在有两种类型的图像块:独立图像块(independenttile)和相依图像块(dependent tile)。关于独立图像块,它们被视为子图像(sub-pictures)/子串流 (sub-streams)。因此,独立图像块中最大编码单元/树状结构的编码/解码(例如,运动向量预测(motion vector prediction)、画面内预测(intraprediction)、去区块滤波(deblocking filter, DF)、样本自适应偏移(sample adaptiveoffset,SAO)、自适应性回路滤波(adaptive loop filter, ALF)、熵编码(entropycoding)等)并不需要参考其他图像块当中的数据。此外,假设最大编码单元/树状结构的数据是使用算术编码(例如基于上下文的自适应性二进制算术编码 (context-basedadaptive binary arithmetic coding,CABAC)演算法)来进行编码/解码。此时对于每个独立的图像块来说,在图像块的开始处,所述基于上下文的自适应性二进制算术编码的统计数据会被初始化/重新初始化,并且,所述图像块的所述图像块边界以外的最大编码单元的数据被视为不可使用。举例来说,当开始对图像块T11'解码时,图像块T11'中编号为“1”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将被初始化,当开始对图像块T12'解码时,图像块T12'中编号为“13”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将被重新初始化,当开始对图像块T13' 解码时,图像块T13'中编号为“31”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将被重新初始化,以及当开始对图像块T21'解码时,图像块T21' 中编号为“40”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将被重新初始化。
然而,对相依图像块中最大编码单元/树状结构的编码/解码(例如,运动向量预测、画面内预测、去区块滤波、样本自适应偏移、自适应性回路滤波、熵编码等),则必须要考虑到其他图像块的数据,因此,若要成功地对具有相依图像块在其中的多重图像块编码图像/压缩画面进行解码,则需要垂直缓冲器和水平缓冲器。具体而言,垂直缓冲器用于缓冲位于目前解码图像块的垂直边界(例如,左侧垂直边界)旁的相邻图像块的最大编码单元/树状结构的解码数据,而所述水平缓冲器用于缓冲位于所述目前解码图像块的水平边界(例如,上方水平边界)旁的另一相邻图像块的最大编码单元/树状结构的解码数据。因此,所述多重图像块编码图像/压缩画面进行解码所需的缓冲器尺寸会比较大,进而导致较高的生产成本。此外,假设最大编码单元/树状结构的数据是使用算术编码(例如使用基于上下文的自适应性二进制算术编码演算法)来进行编码/解码,此时对于每个相依图像块来说,在图像块的开始处,基于上下文的自适应性二进制算术编码的统计数据会被初始化,或是继承(inherited)其他图像块的统计数据。例如,当开始对图像块T11'解码时,图像块T11'中编号为“1”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将被初始化,而开始对图像块T12'解码时,图像块T12'中编号为“13”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将继承图像块T11'中编号为“12”的最后一个最大编码单元/ 树状结构的基于上下文的自适应性二进制算术编码的统计数据,当开始对图像块T13'解码时,图像块T13'中编号为“31”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将继承图像块T12'中编号为“30”的最后一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据,当开始对图像块T21'解码时,图像块T21'中编号为“40”的第一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据将继承图像块T13'中编号为“39”的最后一个最大编码单元/树状结构的基于上下文的自适应性二进制算术编码的统计数据。
对于联合图像专家组织延伸范围(Joint Photographic Experts Groupextended range, JPEG-XR)标准来说,一个画面可以分割成多个特定的宏块-列-行(macroblock-column-row tile) 图像块。图像块是具有垂直边界和水平边界的区块,所述区块为矩形且其中包含有整数数量的宏块。每一图像块中依序对多个宏块进行栅状扫描,且在每一多重图像块编码图像中,依序对多个图像块进行栅状扫描。根据联合图像专家组织延伸范围标准,存在有两种类型的图像块:硬式图像块(hard tile)和软式图像块(softtile)。对于硬式图像块来说,其被视为子图像,因此,对硬式图像块的宏块进行编码/解码时,不需要参考其他图像块的数据。然而,对软式图像块的宏块进行编码/解码时,则需要参考其他图像块的数据,例如,在软式图像块中,重叠滤波(overlap filtering)处理可跨越图像块边界。
由于多重图像块高效率视频编码标准/联合图像专家组织延伸范围标准的比特流被定义来传送编码/压缩后的画面,其中每个画面具有包含于其中的多个图像块,因此,如何有效率地缓冲和对多重图像块高效率视频编码标准/联合图像专家组织延伸范围标准的比特流中的每一编码/压缩后的画面进行解码,已成为此领域中一个重要的问题。
发明内容
有鉴于此,本发明揭露了一种存取储存于缓冲装置中的多重图像块编码图像的数据的方法以及相关装置,以解决上述问题。
依据本发明的第一方面,揭示了一种用于缓冲装置的读取指针暂存的方法。所述缓冲装置用来缓冲多重图像块编码图像的数据,所述多重图像块编码图像具有多个图像块。所述方法包含有:判断在解码所述多重图像块编码图像的第一图像块时是否遇到所述第一图像块的图像块边界;以及当判断遇到所述第一图像块的所述图像块边界时,将目前使用中的读取指针储存至指针缓冲器,并且从所述指针缓冲器中载入选取的读取指针来作为所述目前使用中的读取指针。
依据本发明的第二方面,揭示了一种用于缓冲装置的读取指针暂存的缓冲控制器。所述缓冲装置用来缓冲至少一多重图像块编码图像的数据,所述多重图像块编码图像具有多个图像块。所述缓冲控制器包含有判断单元以及控制单元。所述判断单元用来判断在解码所述多重图像块编码图像的第一图像块时是否遇到所述第一图像块的图像块边界。所述控制单元于所述判断单元判断遇到所述第一图像块的所述图像块边界时,将目前使用中的读取指针储存至指针缓冲器,并且从所述指针缓冲器中载入选取的读取指针来作为所述目前使用中的读取指针。
依据本发明的第三方面,揭示了一种缓冲装置,用来缓冲具有多个图像块的至少一多重图像块编码图像的数据。所述缓冲装置包含有第一储存空间以及第二储存空间。所述第一储存空间用来缓冲所述多重图像块编码图像的第一图像块。所述第二储存空间用来缓冲所述多重图像块编码图像的第二图像块。所述第一图像块目前解码中,而所述第二图像块目前并非解码中。
对于已经阅读后续由各图示及内容所显示的较佳实施例的所属领域中具有通常知识者来说,本发明的各目的是明显的。
附图说明
图1为本发明所揭示的缓冲装置所处理的压缩帧中的多个分割(partition)的示意图。
图2为如何将压缩帧中的转换系数封装至4个分割的示意图。
图3为本发明视频/图像解码系统的第一实施例的示意图。
图4为本发明视频/图像解码系统的第二实施例的示意图。
图5为缓冲装置的另一种设计的示意图。
图6为本发明视频/图像解码系统的第三实施例的示意图。
图7为本发明视频/图像解码系统的第四实施例的示意图。
图8为本发明视频/图像解码系统的第五实施例的示意图。
图9为图8所示的熵解码器所执行的示范性熵解码操作的示意图。
图10为本发明缓冲控制器的一实施例的示意图。
图11为本发明多重图像块视频/图像比特流的一实施例的简略示意图。
图12为本发明多个图像块(其中每一个都包含有多个图像切片)的一实施例的示意图。
图13为本发明多重图像块视频/图像比特流的一实施例的另一简略示意图。
图14为示范性缓冲装置的读取指针暂存操作的示意图。
图15为本发明储存装置的第一实施例的示意图。
图16为本发明储存装置的第二实施例的示意图。
图17为本发明储存装置的第三实施例的示意图。
图18为本发明储存装置的第四实施例的示意图。
图19为高效率视频编码标准中所采用的图像块的示意图。
图20为对图19中所示的图像块进行传统解码顺序的示意图。
具体实施方式
在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在权利要求书及说明书中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。另外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表所述第一装置可直接电连接于所述第二装置,或通过其他装置或连接手段间接地电连接至所述第二装置。
依据VP8/WebP的规格,VP8/WebP解码器的输入会是一连串的压缩帧,且每一压缩帧会具有2~9个分割,而这些分割均是开始及结束于字节边界(byte boundary)。压缩帧中的导引分割(即第一个被传送的分割)会具有两个子区段(subsection):适用于整个压缩帧的头信息 (header information)以及关于每一宏块的预测信息(per-macroblockprediction information)(其包含有压缩帧中每一宏块的预测信息)。对于所述压缩帧中的其余分割(1个、2个、4个或8 个分割),其包含残余信号(residue signal)的转换系数(例如DCT/WHT系数)。
参阅图1,其为本发明所揭示的缓冲装置所处理的压缩帧中的多个分割的示意图。压缩帧100是通过VP8/WebP比特流来传送,因此会包含有依序传送的N个分割102_1~102_N,换言之,分割102_1是压缩帧100中的导引分割,以及分割102_N是压缩帧100中的最后一个分割。分割102_1会包含有适用于整个压缩帧100的头信息,且还会包含同一压缩帧100中每一个宏块的预测信息。对于位于分割102_1之后的其余分割102_2~102_N中的每一分割来说,其会包含有残余量的转换系数(例如DCT/WHT系数)。当压缩帧100包含有一个以上的转换系数分割时,除了最后一个分割以外的每一分割的大小(以字节为单位)会出现在紧接于上述的导引分割102_1之后的比特流中。每一个分割大小(partition size)由长度为3个字节的数据来加以记录。举例来说,图1所示的长度为3个字节的分割大小PS2用以指示出分割102_2的大小,以及图1所示的长度为3个字节的分割大小PS3用以指示出分割102_3 的大小。这些分割大小使得解码装置可以直接存取记录着DCT/WHT系数的所有分割,因而致使解码装置可以对这些转换系数进行平行处理(parallel processing)。
然而,VP8/WebP会将宏块行(macroblock row,MB row)的DCT/WHT系数封装于个别的分割(separate partitions)中。请参阅图2,其为如何将压缩帧中的转换系数封装至4个分割的示意图。如图所示,示范性的压缩帧200具有许多宏块行MB_0~MB_15。宏块行MB_0、MB_4、MB_8与MB_12的转换系数会被封装于分割Partition_1中,宏块行MB_1、MB_5、 MB_9与MB_13的转换系数会被封装于分割Partition_2中,宏块行MB_2、MB_6、MB_10 与MB_14的转换系数会被封装于分割Partition_3中,以及宏块行MB_3、MB_7、MB_11与 MB_15的转换系数会被封装于分割Partition_4中。由于连续的两个宏块行的转换系数并不会封装于同一分割之中,一个宏块的解码操作便需要读取来自不同分割的数据。假若所使用的比特流缓冲器并没有足够的储存空间来缓冲整个压缩帧的全部数据,则解码器所需要的一些数据便无法立即从比特流缓冲器中得到。因此,比特流缓冲器便需要先释放一个分割的已缓冲数据,接着再载入解码器所需要的位于另一分割中的数据。
然而,由于所需要的数据的载入需要时间,因此不同分割之间的切换会导致解码速度的降低。因此,为了改善多重分割VP8/WebP比特流中每一压缩帧的解码效率,本发明便揭示了一种创新的缓冲器暂存(maintenance)与控制机制。进一步的细节将于下详述。
图3为本发明视频/图像解码系统的第一实施例的示意图。视频/图像解码系统300包含有缓冲装置302以及解码装置304。缓冲装置302是用以缓冲多重分割视频/图像比特流BS_IN,其传送多个压缩帧,且每一压缩帧具有多个分割。在本实施例中,缓冲装置302包含有多个比特流缓冲器(bitstream buffer)312_1~312_N、缓冲控制器(buffercontroller)314以及多工器 (multiplexer)315。比特流缓冲器312_1~312_N用以分别缓冲图1所示的分割102_1~102_N 的数据。比特流数据是依据写入指针(write pointer)WPTR_1~WPTR_N而储存至比特流缓冲器 312_1~312_N,以及比特流数据是依据读取指针(read pointer)RPTR_1~RPTR_N而自比特流缓冲器312_1~312_N中读取出来。更进一步来说,写入指针WPTR_1会控制头信息/关于每一宏块的预测信息储存至比特流缓冲器312_1的写入地址(write address),以及读取指针 RPTR_1会控制分割102_1的已缓冲的头信息/关于每一宏块的预测信息从比特流缓冲器 312_1中读取出来的读取地址(read address);写入指针WPTR_2会控制分割102_2的转换系数(例如,DCT/WHT系数)储存至比特流缓冲器312_2的写入地址,以及读取指针RPTR_2会控制分割102_2的已缓冲的转换系数从比特流缓冲器312_2中读取出来的读取地址;以及写入指针WPTR_N会控制分割102_N的转换系数(例如,DCT/WHT系数)储存至比特流缓冲器 312_N的写入地址,以及读取指针RPTR_N会控制分割102_N的已缓冲的转换系数从比特流缓冲器312_N中读取出来的读取地址。
在本实施例中,比特流缓冲器312_1~312_N可以是专门用来分别缓冲分割102_1~ 102_N的数据的连续/不连续的环形缓冲器(continuous/discontinuous ringbuffer),以及当环形缓冲器具有可使用的储存空间(即,写入指针尚未追上读取指针)时,可允许数据被馈入至所述环形缓冲器。在一设计范例中,缓冲控制器314是用来同时监控所有的比特流缓冲器 312_1~312_N的写入指针WPTR_1~WPTR_N以及读取指针RPTR_1~RPTR_N。因此,当缓冲控制器314侦测到任一比特流缓冲器具有可用储存空间来缓冲尚未被缓冲的数据时,缓冲控制器314便调整相对应的写入指针,并允许尚未被缓冲的数据可被馈入至所述比特流缓冲器。
在另一设计范例中,缓冲控制器314仅用来监控目前使用中的比特流缓冲器的写入指针与读取指针,目前使用的比特流缓冲器中所缓冲的数据正被进行解码。因此,当缓冲控制器314侦测到目前使用中的比特流缓冲器具有可用储存空间来缓冲尚未被缓冲的数据时,缓冲控制器314便调整相对应的写入指针,并允许尚未被缓冲的数据可被馈入至目前使用中的比特流缓冲器。
在上述的设计范例中,特定比特流缓冲器的读取指针以及写入指针是用以决定/侦测所述特定比特流缓冲器是满的或空的,或者用以决定/侦测所述特定比特流缓冲器中具有多少可用的储存空间。然而,此仅作为范例说明,而非用以作为本发明的限制。采用其它可以决定/侦测特定比特流缓冲器是满的或空的或者决定/侦测特定比特流缓冲器中上具有多少可用的储存空间的手段也是可行的。
对于解码装置304来说,其包含有多个比特流直接存储器存取(direct memoryaccess,DMA) 控制器316、317以及多个桶形移位器(barrel shifter)318、319。比特流直接存储器存取控制器316是通过直接存储器存取的方式,来将已缓冲的比特流数据(即头信息/关于每一宏块的预测信息)由比特流缓冲器312_1传送至桶形移位器318,而桶形移位器318则会分析(parse)由前端的比特流直接存储器存取控制器316所提供的比特流数据。比特流直接存储器存取控制器 317是通过直接存储器存取的方式,来将已缓冲的比特流数据(即转换系数)由多个比特流缓冲器312_2~312_N的其中之一传送至桶形移位器319,而桶形移位器319则会分析由前端的比特流直接存储器存取控制器317所提供的比特流数据。如此一来,图3所示的解码装置304 便可同时对两个分割进行解码。
由于多个系数分割(即分割102_2~102_N)中仅允许一个分割可被解码装置304所解码,因此,缓冲装置302便利用多工器315来选取比特流缓冲器312_2~312_N的其中之一,以作为要被比特流直接存储器存取控制器317所存取的数据来源。举例来说,当分割102_2的系数数据需要在第一时间点被处理时,多工器315便将比特流缓冲器312_2耦接至比特流直接存储器控制器317。然而,当分割102_3的系数数据需要在第二时间点被处理时,多工器315便将比特流缓冲器312_3耦接至比特流直接存储器控制器317。若比特流缓冲器(例如环形缓冲器)312_2~312_N中的每一比特流缓冲器经由适当控制而于具有可用储存空间时便会缓冲要被解码的数据,则需要处理的系数数据便保证会存于比特流缓冲器312_2~312_N之中,因此,缓冲装置302便不需要先释放一个分割的已缓冲的数据并接着载入另一分割的要被处理的数据,换言之,由于数据缓冲机制采用了专门用来缓冲各个分割的部分数据(partial data)的多个比特流缓冲器,因此可避免频繁地释放已缓冲的数据及载入要被处理的数据,故使得解码效能可大幅改善。
请注意,图3所示的电路配置仅是作为本发明的一个实施例,任何不违反本发明精神的设计变化均落入本发明的范畴。举例来说,只要缓冲装置中包含有多个比特流缓冲器来分别缓冲同一压缩帧中不同分割的数据,均符合本发明的精神。例如,在一设计变化中,缓冲装置302可经由修改而包含有:用以缓冲分割102_1的比特流数据的比特流缓冲器312_1、用以缓冲分割102_2~102_N中至少其一的比特流数据的比特流缓冲器312_2~312_N中的至少一比特流缓冲器,以及用以缓冲分割102_2~102_N中其余的分割的比特流数据的单一比特流缓冲器。在另一设计变化中,缓冲装置302可经由修改而包含有:用以缓冲分割102_2~ 102_N中至少两个分割的比特流数据的比特流缓冲器312_2~312_N,以及用以缓冲分割 102_1的比特流数据和分割102_2~102_N中其余的分割的比特流数据的单一比特流缓冲器。这些设计变化同样可达到改善解码装置304的解码效能的目的。
解码装置304的解码效能可通过使用具有预取(prefetch)机制的缓冲装置而得到进一步的改善。请参阅图4,其为本发明视频/图像解码系统的第二实施例的示意图。视频/图像解码系统300与视频/图像解码系统400之间的主要不同点在于:图4所示的缓冲装置402中具有预取电路(prefetch circuit)404。在本实施例中,预取电路404包含有预取单元(prefetch unit)406 以及储存单元(storage unit)408。预取单元406用以当解码装置304正在解码目前分割(current partition)时,从储存待处理的后续分割(next partition)的系数数据的比特流缓冲器中预取数据,并将所预取的数据储存至储存单元408,其中当解码装置304开始解码所述后续分割时,储存于储存单元408中所预取的数据会被解码装置304所读取。储存单元408可以是解码装置 304的内部缓冲器(internal buffer),因此,储存单元408的数据存取速度便会快于比特流缓冲器213_2~312_N中每一比特流缓冲器的数据存取速度。举例来说,储存单元408可以由暂存器(register)或静态随机存取存储器(static random access memory,SRAM)来加以实现。当解码装置304切换至解码所述后续分割时,由于储存单元408中会储存着所预取的数据,因而可节省/降低从比特流缓冲器312_2~312_N的其中之一取得所述后续分割的系数数据的所需时间。换言之,取得所述后续分割的系数数据的所需时间会隐藏于所述目前分割进行解码的时间之中,如此一来,预取电路404的使用确实可以加速整体的解码程序。
在图4所示的实施例中,预取机制是用来预取要被后端的解码装置所解码的后续分割的数据。然而,相同的概念也可应用于预取要被多个比特流缓冲器的其中之一所缓冲的后续分割的数据。请参阅图5,其为图3所示的缓冲装置302的另一种设计的示意图。缓冲装置502 包含有预取电路504以及上述的比特流缓冲器312_1~312_N与多工器315。预取电路504会同时监控比特流缓冲器312_1~312_N之中正在缓冲目前分割的系数数据的比特流缓冲器以及比特流缓冲器312_1~312_N之中用以缓冲后续分割的系数数据的一个或多个比特流缓冲器,并且当比特流缓冲器312_1~312_N之中用以缓冲后续分割的系数数据的一个或多个比特流缓冲器具有可用储存空间来缓冲预取的数据时,预取电路504便会从前一级(例如网络 (Internet)、中间软件(middleware)或磁盘(disk))要求更多的数据。简而言之,当对应目前分割的比特流缓冲器正在缓冲被后端的解码装置所处理的所述目前分割的系数数据时,预取电路 504会预取数据并将所预取的数据储存至对应后续分割的至少一比特流缓冲器。因此,通过所采用的预取机制的辅助,缓冲装置的比特流缓冲效率便可以获得改善。
在上述的实施例中,内含预取机制的缓冲装置具有专门用来缓冲各个分割的数据的N个比特流缓冲器,其中N可以是任何大于1的正整数。然而,本案所揭示的预取机制也可应用于一个具有用以缓冲多个分割的数据的单一比特流缓冲器的缓冲装置。
请参阅图6,其为本发明视频/图像解码系统的第三实施例的示意图。视频/图像解码系统 600包含有缓冲装置602以及解码装置604,其中缓冲装置602具有单一比特流缓冲器612以及上述的预取电路404,此外,解码装置604具有单一比特流直接存储器存取控制器616与单一桶形移位器618。在本实施例中,单一比特流缓冲器612并非是环形缓冲器,此外,压缩帧100的比特流大小(bitstream size)可能很大。因此,假若单一比特流缓冲器612的缓冲器大小(buffer size)小于压缩帧100的比特流大小,则单一比特流缓冲器612仅会缓冲压缩帧100 的一部分数据(即,压缩帧100中的目前分割与后续分割的数据)。虽然单一比特流缓冲器612 可能需要在不同的分割之间进行切换,以便由前一级(例如网络、中间软件或磁盘)载入所要的数据,不过,当后续分割的解码操作开始进行时,由于可立即地将后续分割中的所要数据馈入至解码装置604,故预取电路404的使用仍然可以改善解码装置604的解码效率。
再者,不论单一比特流缓冲器612的缓冲器大小为何(例如小于/大于/等于压缩帧100的比特流大小),预取电路404的使用仍然可以加速整体的解码程序。由于本领域的技术人员在阅读以上的段落说明之后应可轻易地了解解码装置604与预取电路404的操作,故进一步的说明便在此省略以求简洁。
图7为本发明视频/图像解码系统的第四实施例的示意图。视频/图像解码系统700包含有上述的缓冲装置602与解码装置304。进一步来说,缓冲装置602具有单一比特流缓冲器612 以及预取电路404,而解码装置304则具有多个比特流直接存储器存取控制器316、317与多个桶形移位器318、319。相较于图6所示的解码装置604,图7所示的解码装置304可以同时对两个分割进行解码。比特流直接存储器存取控制器316与桶形移位器318的组合是用以处理分割102_1中所包含的头信息与关于每一宏块的预测信息,而比特流直接存储器存取控制器317与桶形移位器319的组合则是用以处理分割102_2~102_N中所包含的系数数据。同样地,虽然单一比特流缓冲器612可能需要于不同的分割之间进行切换,以便由前一级(例如网络、中间软件或磁盘)载入所要的数据,不过,当后续分割的解码操作开始进行时,由于可立即地将后续分割中的所要数据馈入至解码装置304,故预取电路404的使用仍然可以改善解码装置304的解码效率。
再者,不论单一比特流缓冲器612的缓冲器大小为何(例如小于/大于/等于压缩帧100的比特流大小),预取电路404的使用仍然可以加速整体的解码程序。由于本领域的技术人员中阅读以上的段落说明之后应可轻易地了解解码装置304与预取电路404的操作,故进一步的说明便在此省略以求简洁。
请注意,上述的实施例是针对多重分割VP8/WebP比特流的缓冲与解码,然而,此并非是本发明的限制。即,本案所揭示的缓冲机制及/或预取机制也可应用于处理任何基于多重分割的比特流(multi-partition based bitstream)。
图8为本发明视频/图像解码系统的第五实施例的示意图。举例来说,视频/图像解码系统 800也可以用来处理符合高效率视频编码标准或联合图像专家组织延伸范围标准的多重图像块视频/图像比特流(multi-tile video/image bitstream)BS_IN’。由于联合图像专家组织延伸范围比特流(JPEG-XR bitstream)的多重图像块编码图像所具有的图像块配置(tile configuration)类似于高效率视频编码比特流(HEVC bitstream)的多重图像块编码图像的图像块配置,因此同样可以使用所揭示的应用在多重图像块高效率视频编码比特流的缓冲及/或解码方法,来处理多重图像块联合图像专家组织延伸范围比特流。视频/图像解码系统800包含有缓冲装置802和解码装置804。缓冲装置802是用于缓冲多重图像块视频/图像比特流BS_IN’,而多重图像块视频/图像比特流BS_IN’是传送多个压缩/编码帧PIC_IN,其中每一压缩/编码帧PIC_IN都具有多个图像块。在此示范性实施例中,缓冲装置802包含有储存装置812、缓冲控制器814 以及指针缓冲器(pointer buffer)816,其中储存装置812可包含有一个或多个比特流缓冲器,主要是取决于实际的设计考虑。多重图像块视频/图像比特流BS_IN被储存到由缓冲控制器 814所控制的储存装置812中。具体而言,指针缓冲器816可以针对储存装置812中的每一比特流缓冲器储存一个写入指针和一个或多个读取指针,而缓冲控制器814会参考所述写入指针以及所述读取指针以决定是否相对应的比特流缓冲器具有可用的储存空间,以用于容纳多重图像块视频/图像比特流BS_IN’的数据。
解码装置804系被用于对通过多重图像块视频/图像比特流BS_IN'所传送的每个多重图像块编码图像PIC_IN进行解码。在本实施例中,解码装置804包含有比特流直接存储器存取控制器822和熵解码器(entropy decoder)824。除了控制储存装置812中的多重图像块视频/图像比特流BS_IN’的数据缓冲之外,缓冲控制器814还输出一个读取指针PTR_C以将储存装置 812中所请求的数据(例如欲解码的最大编码单元/树状结构/宏块)的存取位置告知比特流直接存储器存取控制器822。因此,比特流直接存储器存取控制器822会参考目前所使用的读取指针PTR_C来将所请求的数据从储存装置812传输至熵解码器824来进行熵解码。应当注意的是,每当一个所请求的数据(即,一个所请求的最大编码单元/树状结构/宏块)从储存装置812中被读取时,读取指针PTR_C便会被更新。
应当注意的是,所揭示的读取指针暂存机制(read pointer maintenancescheme)也可以用于独立图像块或相依图像块的解码操作。在下面的内容中,提出一个解码相依图像块的范例,而此范例仅用于说明的目的,且不意味着是本发明的限制。
请参照图9,图9为图8所示的熵解码器824所执行的一示范性熵解码操作的示意图。假设一个欲解码的多重图像块编码图像PIC_IN来自于多重图像块高效率视频编码比特流,因此,所述多重图像块编码图像PIC_IN被划分成多个图像块(例如,在本实施方式中为9个相依图像块T11~T33)。每一个图像块T11~T33由多个最大编码单元/树状结构所组成。如果采用以往的解码方式,图9所示的多个最大编码单元/树状结构索引值(LCU/TB indexvalue)表示多重图像块编码图像PIC_IN中所包含的最大编码单元/树状结构的传统解码顺序。具体而言,对于传统的解码器设计而言,含有多个图像块的多重图像块编码图像的解码顺序包含有每一图像块中的多个最大编码单元/树状结构的栅状扫描顺序,以及所述多个图像块的栅状扫描顺序。换句话说,传统的解码顺序相同于多重图像块编码图像PIC_IN中的最大编码单元/树状结构的传送顺序,也就是说,在同一图像块中的多个最大编码单元/树状结构会以栅状扫描顺序而连续地传送,以及所述多个图像块也会以栅状扫描顺序而连续地传送。不同于传统的解码器设计,本发明所揭示的解码器设计所具有的熵解码器824是设计用来以栅状扫描的方式对整个多重图像块编码图像PIC_IN之中所有的最大编码单元/树状结构进行解码,其中解码顺序会包含有如图9所示的连续解码序列S1~S8。例如,如解码序列S1所表示,位于图9 所示的第一行并且属于不同图像块T11、T12以及T13的最大编码单元/树状结构会依序从最左边的最大编码单元/树状结构往最右边的最大编码单元/树状结构来解码;如紧接在解码序列 S1之后的解码序列S2所表示,位于图9所示的第二行并且属于不同图像块T11、T12以及T13的最大编码单元/树状结构会依序从最左边的最大编码单元/树状结构往最右边的最大编码单元/树状结构来解码;如紧接在解码序列S2之后的解码序列S3所表示,位于图9所示的第三行并且属于不同图像块T11、T12以及T13的最大编码单元/树状结构会依序从最左边的最大编码单元/树状结构往最右边的最大编码单元/树状结构来解码。换言之,本发明所揭示的熵解码器824的解码顺序和多重图像块编码图像PIC_IN所包含的最大编码单元/树状结构的传输顺序不同。
在本实施例中,使用基于上下文的自适应二进制算术编码演算法来对最大编码单元/树状结构的数据进行编码,因此,上下文模型(context model),其为一个机率模型(probability model),应该要在对多重图像块编码图像PIC_IN进行熵解码的期间被适当地选择以及更新。应注意的是,熵解码器824在操作上会初始化每一图像块的第一个最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据(CABAC statistics),也就是说,目前的图像块的第一个最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据可继承自水平方向上相邻于所述目前图像块的前一图像块的特定最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据,其中所述第一个最大编码单元/树状结构以及所述特定最大编码单元/树状结构互相水平相邻,且分别位于所述目前的图像块和所述前一图像块之间的图像块边界(即,垂直/列边界)的左右两侧。从图9可得知,在图像块T12中编号为“13”的第一个最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据是继承自图像块T11中编号为“4”的最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据;类似地,在图像块T13中编号为“31”的第一个最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据是继承自图像块T12中编号为“18”的最大编码单元/树状结构的基于上下文的自适应二进制算术编码统计数据。图像块T11~T13互相水平邻接的图像块,即水平的分割(horizontal partition)。然而,图像块T11、T21以及T31则是垂直方向上相邻的图像块,即垂直的分割(verticalpartition)。对于图像块T21来说,其为垂直相邻于图像块T11,图像块T21中编号为“40”的第一个最大编码单元/树状结构的初始的基于上下文的自适应二进制算术编码统计数据会继承自图像块T13中编号为“39”的最后一个最大编码单元/树状结构的处所更新的基于上下文的自适应二进制算术编码统计数据。由于其余的图像块的基于上下文的自适应二进制算术编码统计数据的初始设定可以轻易地依此类推,因此为简洁起见,在此将省略更进一步的描述。
熵解码器824所采用的解码顺序包含有连续的解码序列S1~S8,并且由于在熵解码器824 对前一图像块的一部分进行解码之后,便会开始对目前图像块的一部分进行解码,因此在同一图像块中的最大编码单元/树状结构将不会连续地依序解码。从图9中可以看出,在图像块 T11中编号为“1”、“2”、“3”和“4”的最大编码单元/树状结构被连续地解码之后,下一个要被熵解码器824所解码的最大编码单元/树状结构将会是下一图像块T12中编号为“13”的第一个最大编码单元/树状结构,而不是目前图像块T11中编号为“5”的最大编码单元/树状结构;在图像块T12中编号为“13”、“14”、“15”、“16”、“17”以及“18”的最大编码单元/树状结构被依序地解码后,下一个要被熵解码器824所解码的最大编码单元/树状结构将会是下一图像块T13中编号为“31”的第一个最大编码单元/树状结构,而不是目前图像块T12中编号为“19”的最大编码单元/树状结构;在图像块T13中编号为“31”、“32”、以及“33”的最大编码单元/树状结构被依序地解码后,下一个要被熵解码器824所解码的最大编码单元/树状结构将会是先前处理过的图像块T11中编号为“5”的最大编码单元/树状结构,而不是目前图像块T13中编号为“34”的最大编码单元/树状结构。虽然每一图像块具有连续传送且储存至储存装置中的多个最大编码单元/树状结构,然而由图9中所揭示的解码顺序可得知,位于同一图像块的最大编码单元/树状结构并非连续地被解码。因此,应适当地设计缓冲控制器814以提供应用于缓冲装置802的所要的读取指针暂存。
请参照图10,图10为依据本发明的一实施例的缓冲控制器的示意图。图8所示的缓冲控制器814可以通过图10所示的缓冲控制器1000来加以实现。在本实施例中,缓冲控制器1000包含有判断单元1002、控制单元1004以及多工器1006。判断单元1002用于判断多重图像块编码图像PIC_IN的目前图像块的解码是否遇到所述目前图像块的图像块边界(例如,右侧的垂直/列边界),并相对应地产生判断结果JR。例如,判断单元1002可以主动地监控解码装置804所执行的熵解码操作,来判断是否遇到图像块边界,或者可以被动地接收解码装置804所提供的熵解码状况(entropy decoding status),来判断是否遇到图像块边界。
控制单元1004用于储存目前使用中的读取指针PTR_C到指针缓冲器816中,并且在当判断结果JR指示遇到了图像块边界时,会从指针缓冲器816中载入选取的读取指针以作为目前使用中的读取指针PTR_C,其中从指针缓冲器816中所载入的选取的读取指针可以是紧接所述目前图像块之后即将要被解码的下一图像块的读取指针。如图10所示,控制单元1004 产生选择信号SEL至多工器1006,以控制指针缓冲器816中所储存的读取指针RP1、RP2、RP3~RPN中的哪一个要被选取并载入作为目前使用中的读取指针PTR_C。
举例来说(但本发明并非以此为限),在对多重图像块编码图像PIC_IN进行熵解码的期间,保持在指针缓冲器816中的读取指针的数目取决于多重图像块编码图像PIC_IN的图像块分割设定。例如,当多重图像块编码图像PIC_IN具有N个水平相邻的分割时(即,位于同一行的N个水平的分割/图像块),在对多重图像块编码图像PIC_IN进行熵解码的期间,指针缓冲器816中所保持的读取指针的数目会等于N。对于图9所示的例子来说,N等于3,因此,有3个读取指针(例如,RP1~RP3)会同时暂存在指针缓冲器816中,其中,每个读取指针都分别表示储存装置812中的存取位置。
读取指针RP1~RPN可以通过参照经由多重图像块视频/图像比特流BS_IN'所传送的头信息(header information)来初始化。图11为依据本发明的一实施例的多重图像块视频/图像比特流BS_IN'的简略示意图。包含在多重图像块编码图像PIC_IN中的每个图像块尺寸(tile size) 都被记录在头信息的区段中。这些图像块尺寸提供了计算从多重图像块编码图像PIC_IN的起始处算起的第n个图像块的偏移量(例如,进入点偏移量(entry pointoffset))所需的信息。因此,当所述图像块被依序地储存到储存装置812中的一个或是多个比特流缓冲器中时,便可以很容易地获得每一图像块的起始处的储存位置,并且可用来设定指针缓冲器816中的相对应的读取指针的初始值。
依据高效率视频编码标准,图像块中的所有图像切片(slice)应当是完整的,或者图像切片内的所有图像块应该是完整的。图11中的高效率视频编码比特流结构是针对具有多个图像块包含于其中的图像切片。然而,根据高效率视频编码标准,一个图像块有可能会包含有多个图像切片,因此上述针对读取指针RP1~RPN的基于进入点偏移量的初始化方法并不适用于图像块包含有多个图像切片的情况。请连同图13来参照图12。图12为依据本发明的一实施例的多个图像块(其中每一图像块都包含有多个图像切片)的示意图。图13为依据本发明的一实施例的多重图像块视频/图像比特流BS_IN’的另一简略示意图。如图12所示,一个图像块Tile_0包含有多个图像切片Slice_0以及Slice_1,而另一图像块Tile_1包含有多个图像切片Slice_2以及Slice_3。如图13所示,图像切片Slice_0~Slice_3依序传送并且储存到储存装置812中的比特流缓冲器中。在单一图像块中包含有多个图像切片的情况下,本发明提出了通过参考图像切片地址(slice address)来初始化读取指针RP1~RPN。因此,当图像切片被依序储存到储存装置812的比特流缓冲器中,可以很容易地从图像块中所包含的第一个图像切片的切片地址来获得每一图像块的开头的储存地址。例如,图像块Tile_1的图像切片Slice_2 的切片地址可以被用于设定指针缓冲器816中的相对应读取指针的初始值。此作法同样可实现初始化每一图像块的读取指针的目的。
有关于缓冲装置802的示范性读取指针暂存操作一并参考图14来进行叙述。假设多重图像块编码图像PIC_IN具有如图9所示的图像块分割设定,因此暂存的读取指针的数目等于3 (即,N=3)。在一开始时,具有初始值的读取指针RP1会经由多工器1006载入以作为目前使用中的读取指针PTR_C,且比特流直接存储器存取控制器822参考目前使用中的读取指针 PTR_C来从储存装置812中读取编号为“1”的最大编码单元/树状结构。当图像块T11的熵解码在解码编号为“4”的最大编码单元/树状结构之后遇到图像块边界(例如,一个垂直/列边界 VB1)时,指向编号为“5”的下一最大编码单元/树状结构的存取地址的目前使用中的读取指针PTR_C将被储存到指针缓冲器816中,以更新指针缓冲器816中暂存的读取指针RP1,此外,具有初始值的读取指针RP2经由多工器1006载入以作为目前使用中的读取指针PTR_C,且比特流直接存储器存取控制器822会参考目前使用中的读取指针PTR_C来从储存装置812中读取编号为“13”的最大编码单元/树状结构。当图像块T12的熵解码在解码编号为“18”的最大编码单元/树状结构之后遇到图像块边界(例如,一个垂直/列边界VB2)时,指向编号为“19”的下一最大编码单元/树状结构的存取地址的目前使用中的读取指针PTR_C将被储存到指针缓冲器816中,以更新指针缓冲器816中暂存的读取指针RP2,此外,读取指针RP3经由多工器1006载入以作为目前使用中的读取指针PTR_C,且比特流直接存储器存取控制器822 会参考目前使用中的读取指针PTR_C来从储存装置812中读取编号为“31”的最大编码单元/ 树状结构。当图像块T13的熵解码在解码编号为“33”的最大编码单元/树状结构之后遇到图像块边界(例如,一个垂直/列边界VB3)时,指向编号为“34”的下一最大编码单元/树状结构的存取地址的目前使用中的读取指针PTR_C将被储存到指针缓冲器816中,以更新指针缓冲器 816中暂存的读取指针RP3,此外,读取指针RP1会经由多工器1006载入以作为目前使用中的读取指针PTR_C,且比特流直接存储器存取控制器822会参考目前使用中的读取指针 PTR_C来从储存装置812中读取编号为“5”的最大编码单元/树状结构。本领域的技术人员应可通过参考图9来轻易地理解后续需要读取的最大编码单元/树状结构的读取指针的载入和储存,因此为了简洁起见,在此省略更进一步的描述。
储存装置812可以使用单一比特流缓冲器或是多个比特流缓冲器来加以实作。在使用多个比特流缓冲器来实作储存装置812的例子中,可以节省缓冲器的大小。例如,所述多个比特流缓冲器为连续/不连续的环形缓冲器,专门用于分别缓冲不同图像块的最大编码单元/树状结构/宏块的数据,且当所述环形缓冲器有闲置储存空间时(即所述环形缓冲器的写入指针尚未追上所述环形缓冲器的读取指针),最大编码单元/树状结构/宏块的数据可被馈入至所述环形缓冲器进行暂存。
图15为依据本发明的储存装置的第一实施例的示意图。图8所示的储存装置812可以通过图15所示的储存装置1300来实现。在本实施例中,储存装置1300包含有多个比特流缓冲器1302_1、1302_2、1302_3~1302_N以及多工器1304,其中不同的比特流缓冲器1302_1~ 1302_N分别提供了多个不同的(distinct)储存空间以供数据缓冲。举例来说(但本发明并不以此为限),储存装置1300中所具有的比特流缓冲器(即,储存空间)的数目取决于多重图像块片编码图像PIC_IN的图像块分割设定,例如,当多重图像块编码图像PIC_IN具有N个水平相邻的分割时(即,位于同一行的N个水平的分割/图像块),储存装置1300中所具有的比特流缓冲器的数量等于N。对于图9所示的例子来说,N等于3。因此,有三个比特流缓冲器(例如,1302_1~1302_3)分别用来缓冲三个图像块(例如,T11~T13、T21~T23或T31~ T33)的最大编码单元/树状结构/宏块的数据。比特流缓冲器1302_1-1302_N可以是环形缓冲器。
此外,比特流数据根据储存在指针缓冲器816中且由缓冲控制器814所控制/更新的写入指针WPTR_1~WPTR_N,而储存至比特流缓冲器1302_1~1302_N中,且比特流数据根据储存在指针缓冲器816中且由缓冲控制器814所控制/更新的读取指针RPTR_1~RPTR_N,而自比特流缓冲器1302_1~1302_N中读取出来。更具体地说,在第一个图像块到第N个图像块是位于同一行的水平方向上的相邻图像块的情况下,写入指针WPTR_1控制第一个图像块的最大编码单元/宏块数据写入至比特流缓冲器1302_1的写入地址(write address),而读取指针RPTR_1则控制第一个图像块的最大编码单元/宏块数据由比特流缓冲器1302_1读取出来的读取地址(read address);写入指针WPTR_2控制第二个图像块的最大编码单元/宏块数据写入至比特流缓冲器1302_2的写入地址,而读取指针RPTR_2则控制第二个图像块的最大编码单元/宏块数据由比特流缓冲器1302_2读取出来的读取地址;写入指针WPTR_3控制第三个图像块的最大编码单元/宏块数据写入至比特流缓冲器1302_3的写入地址,而读取指针 RPTR_3则控制第三个图像块的最大编码单元/宏块数据由比特流缓冲器1302_3读取出来的读取地址;以及写入指针WPTR_N控制第N个图像块的最大编码单元/宏块数据写入至比特流缓冲器1302_N的写入地址,而读取指针RPTR_N则控制第N个图像块的最大编码单元/宏块数据由比特流缓冲器1302_N读取出来的读取地址。
缓冲控制器814另外会产生选择信号SEL'到多工器1304,以选择比特流缓冲器1302_1~ 1302_N当中的一个比特流缓冲器来作为要被比特流直接存储器存取控制器822所存取的数据源。例如,当熵解码器824要对第一个图像块的最大编码单元/宏块数据进行处理的时候,多工器1304会将比特流缓冲器1302_1耦接至比特流直接存储器存取控制器822,此外,缓冲控制器814会将所选择的比特流缓冲器1302_1的读取指针RPTR_1设定为目前使用中的读取指针PTR_C。然而,当熵解码器824要对第二个图像块的最大编码单元/宏块数据进行处理的时候,多工器1304会将比特流缓冲器1302_2耦接至比特流直接存储器存取控制器822,此外,缓冲控制器814会将所选择的比特流缓冲器1302_2的读取指针RPTR_2设定为目前使用中的读取指针PTR_C。换句话说,当目前解码中的图像块的所请求的最大编码单元/宏块被比特流直接存储器存取控制器822取回的时候,目前并非解码中的其他图像块的最大编码单元/ 宏块会被缓冲在其他的比特流缓冲器中。若比特流缓冲器1302_1-1302_N有闲置的储存空间时便经由适当控制比特流缓冲器1302_1-1302_N来缓冲要被解码的数据,所请求的最大编码单元/宏块的数据便保证可以在比特流缓冲器(例如,环形缓冲器)1302_1~1302_N之中取得,因此,缓冲装置1300并不需要释放一图像块的缓冲数据以及载入另一图像块的所请求的数据。如此一来,由于缓冲机制采用了多个比特流缓冲器来专门缓冲各个图像块的部分数据,从而避免频繁的释放缓冲数据和载入所请求的数据,因此可以大大提高解码效能。
请注意,图15所示的电路配置仅仅作为本发明的一个示范性实施例,举凡任何不脱离本发明精神的其他设计变化也隶属本发明的范畴。例如,只要缓冲装置包含有多个比特流缓冲器用来分别缓冲同一多重图像块编码图像中的不同图像块的缓冲数据,便符合本发明的精神。举例来说,在一个设计变化中,缓冲装置1300可以被修改为包含有多个比特流缓冲器,分别用于缓冲在多重图像块编码图像中的一些图像块的最大编码单元/宏块的数据,以及另包含单一比特流缓冲器,用来缓冲所述多重图像块编码图像中其余图像块的最大编码单元/宏块的数据,也可以达到提升解码装置的解码效能的目的。
解码装置804的解码效能可通过利用具有预取机制的缓冲装置而进一步提升。请参照图 16,图16为依据本发明的储存装置的第二实施例的示意图。图8所示的储存装置812可以由图16所示的储存装置1400来加以实现。储存装置1300和储存装置1400之间的主要差别是缓冲装置1400具有预取电路1401包含于其中。在此示范性实施例中,预取电路1401包含有预取单元1402和储存单元1404。预取单元1402用来在当解码装置804正在解码目前的图像块时,从比特流缓冲器中预先读取数据(其中即将被处理的下一图像块的最大编码单元/树状结构/宏块的数据储存于所述比特流缓冲器中),并且将所述预先读取的数据储存至储存单元 1404中,其中当解码装置804开始对所述下一图像块进行解码时,储存于储存单元1404的所述预先读取数据便会被解码装置804所读取。举例来说,储存单元1404可以是解码装置 804的内部缓冲器(internal buffer),因此,储存单元1404中的数据存取速度可以比每一比特流缓冲器1302_1~1302_N的数据存取速度来的快。例如,储存单元408可以使用一个暂存器或一个静态随机存取存储器(static random access memory,SRAM)来加以实现。当解码装置804切换到解码所述下一图像块时,由于从储存单元1404中可以得到预取的数据,因此节省/减少了从比特流缓冲器1302_1~1302_N的其中之一取出所述下一图像块的最大编码单元/ 宏块的数据的所需时间。换句话说,取出所述下一图像块的最大编码单元/宏块的数据的所需时间被隐藏在所述目前图像块的解码时段中,因此,使用预取电路1401便能够加快整体的解码程序。
在图16所示的示范性实施例中,采用预取机制来预取要被解码装置所解码的下一图像块的数据,然而,同样的概念也可以应用于预取要被比特流缓冲器所缓冲的下一图像块的数据。请参照图17,图17为依据本发明的储存装置的第三实施例的示意图。图8所示的储存装置 812可以采用图17所示的储存装置1500来加以实现。储存装置1500中包含有预取电路1502,以及另包含上述的比特流缓冲器1302_1~1302_N和多工器1304。预取电路1502用来同时监视比特流缓冲器1302_1~1302_N之中用来缓冲目前解码中的图像块的最大编码单元/宏块数据的比特流缓冲器以及比特流缓冲器1302_1~1302_N之中用来缓冲目前并非解码中的图像块的最大编码单元/宏块数据的一个或是多个比特流缓冲器,并且在用来缓冲目前并非解码中的图像块的最大编码单元/宏块数据的比特流缓冲器具有闲置储存空间可以缓冲预取数据的时候,从前一级(例如网络、中间软件或是硬碟)要求更多的数据。简单地说,预取电路1502 用来在目前图像块比特流缓冲器(current tile bitstreambuffer)正在缓冲解码装置804所处理的所述目前图像块的最大编码单元/宏块的数据的时候,进行数据预取并将所预取的数据存入至少一下一图像块比特流缓冲器(next tilebitstream buffer)中。因此,在比特流缓冲器之前配置所述预取机制,可以提高缓冲装置的比特流缓冲效率。
关于图8所示的储存装置812的上述示范性实施方式,图15中的储存装置1300/图16中的储存装置1400/图17中的储存装置1500使用了多个比特流缓冲器(例如连续/不连续的环形缓冲器)来实现,以节省缓冲器的尺寸,然而,这并非用以限制本发明。在一设计变化中,储存装置812可以使用单一比特流缓冲器来加以实现。请参照图18,图18为依据本发明的储存装置的第四实施例的示意图。图15/图16/图17中所示的多个比特流缓冲器以及一个多工器的组合可以使用储存装置1600中的单一比特流缓冲器1602来取代。单一比特流缓冲器1602 中具有多个不同的缓冲器区段(buffer section)1604_1、1604_2、1604_3-1604_N,其中每一个缓冲器区段都提供储存空间来进行数据缓冲。写入指针WPTR控制第一个到第N个图像块的最大编码单元/宏块写入至单一比特流缓冲器1602的写入地址,而读取指针RPTR_1~ RPTR_N中的每一个读取指针则控制相对应的图像块的最大编码单元/宏块的缓冲数据从比特流缓冲器1602的缓冲器区段中被读取出来的读取地址。一开始时,每个读取指针RPTR_1~ RPTR_N指示比特流缓冲器1602中的相对应图像块的ㄧ开头地址。而在开始对一图像块进行解码后,相对应的读取指针将被适当地更新,以指示要被解码的最大编码单元/宏块缓冲数据的读取地址。
举例来说(但本发明并不以此为限),单一比特流缓冲器1602中所配置的缓冲器区段(即,储存空间)的数目取决于多重图像块编码图像PIC_IN的图像块分割设定。例如,当多重图像块编码图像PIC_IN具有N个水平相邻的分割(即,位于同一行的N个水平分割/图像块),在单一比特流缓冲器1602中配置的缓冲器区段的数目会等于N,对于图9中所示的范例来说, N等于3。因此,有三个缓冲器区段(例如,1604_1~1604_3)可用来分别缓冲三个图像块 (例如,T11-T13、T21-T23或T31-T33)的最大编码单元/树状结构/宏块数据。
请注意,上述示范性实施例是针对缓冲和解码多重图像块高效率视频编码/联合图像专家组织延伸范围比特流,然而,这并非本发明的限制。本发明所提出的缓冲机制及/或预取机制可被用来处理任何基于多重图像块的比特流(multi-tile based bitstream)。
以上所述仅为本发明的较佳实施方式,凡依本发明权利要求所做的均等变化和修饰,均应属本发明的涵盖范围。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (10)

1.一种用于缓冲装置的读取指针暂存的方法,所述缓冲装置用来缓冲多重图像块编码图像的数据,所述多重图像块编码图像具有多个图像块,其特征在于,所述用于缓冲装置的读取指针暂存的方法包含有:
判断在解码所述多重图像块编码图像的第一图像块时是否遇到所述第一图像块的图像块边界;以及
当判断遇到所述第一图像块的所述图像块边界时,将目前使用中的读取指针储存至指针缓冲器,并且从所述指针缓冲器中载入选取的读取指针来作为所述目前使用中的读取指针;
其中,所述选取的读取指针为紧接于所述第一图像块之后将要被解码的第二图像块的读取指针,以及第二图像块中的一部分的解码是开始于所述第一图像块中的一部分的解码完成之后。
2.如权利要求1所述的用于缓冲装置的读取指针暂存的方法,其特征在于,所述图像块边界为右侧垂直边界。
3.如权利要求1所述的用于缓冲装置的读取指针暂存的方法,其特征在于,整个的所述多重图像块编码图像以栅状扫描的顺序来进行解码。
4.如权利要求1或3所述的用于缓冲装置的读取指针暂存的方法,其特征在于,所述第一图像块以及所述第二图像块符合高效率视频编码标准或联合图像专家组织延伸范围标准。
5.如权利要求1所述的用于缓冲装置的读取指针暂存的方法,其特征在于,所述多重图像块编码图像具有N个水平相邻的分割,所述指针缓冲器中所储存的读取指针的数目等于N,且N为正整数。
6.一种缓冲控制器,用于缓冲装置的读取指针暂存,所述缓冲装置用来缓冲至少一多重图像块编码图像的数据,所述多重图像块编码图像具有多个图像块,其特征在于,所述缓冲控制器包含有:
判断单元,用来判断在解码所述多重图像块编码图像的第一图像块时是否遇到所述第一图像块的图像块边界;以及
控制单元,用以于所述判断单元判断遇到所述第一图像块的所述图像块边界时,将目前使用中的读取指针储存至指针缓冲器,并且从所述指针缓冲器中载入选取的读取指针来作为所述目前使用中的读取指针;
其中,所述选取的读取指针紧接在所述第一图像块之后将要被解码的第二图像块的读取指针,以及在所述第一图像块中的一部分的解码完成之后,便会开始对第二图像块中的一部分进行解码。
7.如权利要求6所述的缓冲控制器,其特征在于,所述图像块边界为右侧垂直边界。
8.如权利要求6所述的缓冲控制器,其特征在于,整个的所述多重图像块编码图像以栅状扫描的顺序来进行解码。
9.如权利要求6或8所述的缓冲控制器,其特征在于,所述第一图像块以及所述第二图像块符合高效率视频编码标准或联合图像专家组织延伸范围标准。
10.如权利要求7所述的缓冲控制器,其特征在于,所述多重图像块编码图像具有N个水平相邻的分割,所述指针缓冲器中所储存的读取指针的数目等于N,且N为正整数。
CN201280047813.5A 2011-11-24 2012-11-23 用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置 Active CN103828372B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13/304,372 2011-11-24
US13/304,372 US9497466B2 (en) 2011-01-17 2011-11-24 Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US201161566984P 2011-12-05 2011-12-05
US61/566,984 2011-12-05
US13/681,426 2012-11-20
US13/681,426 US8990435B2 (en) 2011-01-17 2012-11-20 Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
PCT/CN2012/085145 WO2013075653A1 (en) 2011-11-24 2012-11-23 Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus

Publications (2)

Publication Number Publication Date
CN103828372A CN103828372A (zh) 2014-05-28
CN103828372B true CN103828372B (zh) 2017-08-29

Family

ID=48469126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280047813.5A Active CN103828372B (zh) 2011-11-24 2012-11-23 用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置

Country Status (4)

Country Link
US (2) US8990435B2 (zh)
EP (1) EP2742686A4 (zh)
CN (1) CN103828372B (zh)
WO (1) WO2013075653A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2744202B1 (en) * 2011-08-11 2020-05-27 Sun Patent Trust Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, and image encoding/decoding apparatus
KR102164698B1 (ko) * 2013-03-25 2020-10-14 광운대학교 산학협력단 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법
JP2014194672A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd メモリ制御装置、及びメモリ制御方法
JP6208993B2 (ja) * 2013-06-28 2017-10-04 ルネサスエレクトロニクス株式会社 画像復号装置及び画像復号装置の復号処理方法
US9349196B2 (en) * 2013-08-09 2016-05-24 Red Hat, Inc. Merging and splitting data blocks
KR20150057790A (ko) * 2013-11-20 2015-05-28 삼성전자주식회사 웨이브-프런트 어프로치에 기초한 비디오 프레임의 병렬 처리 방법
US9973754B2 (en) * 2014-03-18 2018-05-15 Texas Instruments Incorporated Low power ultra-HD video hardware engine
CN105812819B (zh) * 2015-01-21 2019-02-15 寰发股份有限公司 执行混成多重假设移动补偿预测的方法以及装置
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US10034026B2 (en) 2016-04-22 2018-07-24 Akila Subramaniam Device for and method of enabling the processing of a video stream
US20180018999A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system using ring buffer and racing-mode ring buffer access control scheme
US10418002B2 (en) * 2016-10-18 2019-09-17 Mediatek Inc. Merged access units in frame buffer compression
WO2021164781A1 (en) * 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Picture partitioning in video coding
CN115152218A (zh) * 2020-02-28 2022-10-04 华为技术有限公司 简化条带头语法元素指示的编码器、解码器及对应方法
US20240040125A1 (en) * 2022-07-27 2024-02-01 Qualcomm Incorporated Tracking sample completion in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653822A (zh) * 2002-05-17 2005-08-10 通用仪表公司 用于代码转换压缩视频比特流的方法和设备
CN101540910A (zh) * 2008-03-18 2009-09-23 索尼株式会社 信息处理设备和信息处理方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128244B1 (ko) 1992-09-23 1998-04-02 배순훈 병렬 구조를 갖는 부호 화상 데이타의 복호 장치
JP3824678B2 (ja) * 1995-05-09 2006-09-20 株式会社ルネサステクノロジ 画像復号表示装置
US6477086B2 (en) 2000-12-29 2002-11-05 Intel Corporation Local sensing of non-volatile memory
JP2002209215A (ja) 2001-01-09 2002-07-26 Sony Corp 符号量制御装置及び方法、並びに画像情報変換装置及び方法
US6741256B2 (en) 2001-08-27 2004-05-25 Sun Microsystems, Inc. Predictive optimizer for DRAM memory
US7457847B2 (en) 2002-01-02 2008-11-25 International Business Machines Corporation Serial redirection through a service processor
US6791352B2 (en) 2002-02-08 2004-09-14 International Business Machines Corporation Method and apparatus for debugging a chip
US7813431B2 (en) 2002-05-20 2010-10-12 Broadcom Corporation System, method, and apparatus for decoding flexibility ordered macroblocks
US7565006B2 (en) * 2002-08-21 2009-07-21 Gentex Corporation Image acquisition and processing methods for automatic vehicular exterior lighting control
US7656461B2 (en) 2003-03-27 2010-02-02 Sony Corporation Method of and apparatus for utilizing video buffer in a multi-purpose fashion to extend the video buffer to multiple windows
EP1503597A3 (en) * 2003-07-28 2007-01-03 Matsushita Electric Industrial Co., Ltd. Video decoding apparatus
US7418146B2 (en) * 2004-02-10 2008-08-26 Sanyo Electric Co., Ltd. Image decoding apparatus
WO2006051513A2 (en) 2004-11-15 2006-05-18 Koninklijke Philips Electronics, N.V. Cache with prefetch
JP4219887B2 (ja) 2004-12-28 2009-02-04 富士通マイクロエレクトロニクス株式会社 画像処理装置及び画像処理方法
CN100411044C (zh) 2005-06-15 2008-08-13 联发科技股份有限公司 处理光盘的读回数据发生解码错误的数据管理方法及光驱
TWI318758B (en) 2005-06-21 2009-12-21 Avermedia Information Inc Method for adjusting display range of image obtained by document camera
TW200713242A (en) 2005-09-23 2007-04-01 Mediatek Inc Pecording apparatus and recording method
JP4799118B2 (ja) 2005-10-14 2011-10-26 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、通信中継装置および通信制御方法
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
JP4664406B2 (ja) 2006-12-11 2011-04-06 パナソニック株式会社 動画像復号化装置、半導体装置、映像機器および動画像復号化方法
WO2008146455A1 (ja) * 2007-05-22 2008-12-04 Panasonic Corporation 動画像復号化装置及び動画像復号化方法
US8300699B2 (en) 2007-05-31 2012-10-30 Qualcomm Incorporated System, method, and computer-readable medium for reducing required throughput in an ultra-wideband system
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
CN100508604C (zh) 2007-06-21 2009-07-01 北京中星微电子有限公司 算术编码电路和算术编码控制方法
JP4569840B2 (ja) 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
JP4656190B2 (ja) * 2008-06-10 2011-03-23 ソニー株式会社 情報処理装置および方法
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP4962476B2 (ja) 2008-11-28 2012-06-27 ソニー株式会社 算術復号装置
CN101448061A (zh) 2008-12-26 2009-06-03 北京中星微电子有限公司 一种图像处理装置及方法
US20100226441A1 (en) 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
US20100265260A1 (en) * 2009-04-17 2010-10-21 Jerzy Wieslaw Swic Automatic Management Of Buffer Switching Using A Double-Buffer
US8615043B2 (en) 2010-03-04 2013-12-24 Texas Instruments Incorporated Fixed length coding based image data compression
US20120294366A1 (en) 2011-05-17 2012-11-22 Avi Eliyahu Video pre-encoding analyzing method for multiple bit rate encoding system
US9251555B2 (en) * 2012-06-08 2016-02-02 2236008 Ontario, Inc. Tiled viewport composition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653822A (zh) * 2002-05-17 2005-08-10 通用仪表公司 用于代码转换压缩视频比特流的方法和设备
CN101540910A (zh) * 2008-03-18 2009-09-23 索尼株式会社 信息处理设备和信息处理方法

Also Published As

Publication number Publication date
US8990435B2 (en) 2015-03-24
US20130076770A1 (en) 2013-03-28
EP2742686A4 (en) 2015-09-09
CN103828372A (zh) 2014-05-28
WO2013075653A1 (en) 2013-05-30
EP2742686A1 (en) 2014-06-18
US20150155002A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
CN103828372B (zh) 用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置
CN102595240B (zh) 视讯/影像解码系统与相应的视讯/影像解码方法
US9351003B2 (en) Context re-mapping in CABAC encoder
US8068545B2 (en) Method and apparatus for processing image data
CN101836454B (zh) 对有序熵切片执行平行cabac码处理的方法及装置
US10681363B2 (en) Lossless compression method and system applied to hardware video decoding
US9392292B2 (en) Parallel encoding of bypass binary symbols in CABAC encoder
US20090129478A1 (en) Deblocking filter
WO2016032765A1 (en) Chroma cache architecture in block processing pipelines
CN102761739B (zh) 用来动态地调整视频译码复杂度的装置与方法
WO2007024413A2 (en) Transpose buffering for video processing
US20110310958A1 (en) System for entropy decoding of h.264 video for real time hdtv applications
CN107105266A (zh) 一种png图像的解码方法、装置及系统
JP2011077837A (ja) 画像処理装置
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
JP2005102144A (ja) Mpegのデータ処理装置
JP5526641B2 (ja) メモリコントローラ
JP4891335B2 (ja) ハードウェア多標準対応ビデオデコーダ装置
TWI470575B (zh) 用於緩衝裝置之讀取指標暫存的方法、緩衝控制器以及緩衝裝置
CN100576917C (zh) 逆扫描频率系数的方法和系统
US10582207B2 (en) Video processing systems
CN107667529A (zh) 用于有效地对数据进行嵌入式压缩的方法、装置和计算机可读记录介质
KR101063423B1 (ko) 디블록 필터링 방법 및 장치
KR100821922B1 (ko) 미디어 디코딩용 국부 메모리 관리 장치
JP5768631B2 (ja) 動画像処理装置および動画像処理システム

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