CN103188495B - 译码视频数据的方法 - Google Patents
译码视频数据的方法 Download PDFInfo
- Publication number
- CN103188495B CN103188495B CN201310059414.7A CN201310059414A CN103188495B CN 103188495 B CN103188495 B CN 103188495B CN 201310059414 A CN201310059414 A CN 201310059414A CN 103188495 B CN103188495 B CN 103188495B
- Authority
- CN
- China
- Prior art keywords
- block
- smooth
- filter
- macro block
- video data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000003860 storage Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 47
- 238000001914 filtration Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 230000036961 partial effect Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 abstract 1
- 230000006837 decompression Effects 0.000 description 26
- 238000007906 compression Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 21
- 230000009471 action Effects 0.000 description 14
- 239000000872 buffer Substances 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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 block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种译码视频数据的方法,包含:接收块变换处理的视频数据的至少一个第一宏块;平滑和解块该宏块内的被选择的像素数据以产生至少一个第一部分过滤的块和至少一个第一完成的块;以及在第二宏块内存储用于平滑和解块被选择的像素数据的该第一部分过滤的块。在此种方法下,可将较小容量的内建存储器用于该视频译码硬件块的环路内过滤操作。藉由将该等分段处理操作管线化,即隐藏该等过滤操作的等待时间,且平滑了过滤输出,因而无须块的提取及储存之丛发。
Description
本申请是申请号为200680002803.4,申请日为2006年1月17日,发明名称为“重叠平滑与环路内解块之分段处理”的中国专利申请的分案申请。
技术领域
本发明是有关视频处理技术。在一个态样中,本发明是有关数字视频信息的解压缩。
背景技术
因为视频信息需要大量的储存空间,所以视频信息通常被压缩。因此,为了显示诸如只读光盘(CD-ROM)或数字激光视盘(DVD)上储存的被压缩之视频信息,而必须将该被压缩之视频信息解压缩,以便提供解压缩后之视频信息。然后以比特流之方式将该解压缩后之视频信息提供给显示器。通常将解压缩后之视频信息比特流以位对映(bit map)之方式储存在与显示器上的各像素位置对应之存储器位置。系将于显示器上呈现单一信息画面所需的视频信息称之为帧(frame)。许多视频系统之目标是要迅速且有效率地将被压缩之视频信息译码,以便藉由显示一序列的帧而提供动作视频。
非常需要有记录媒体、装置、以及数据处理的各方面(譬如视频压缩)之标准化,以供此项技术及其应用的持续成长。用于将视频信息压缩及解压缩的一些压缩/解压缩标准已开发出或正在开发中,这些标准的例子包括诸如用于视频编码及译码的动态图形专家小组(Moving Pictures Expert Group;简称MPEG)标准(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21)或窗口媒体视频(Windows Media Video)压缩标准(例如,WMV9)。本说明书特此引用MPEG及WMV标准中之每一标准的全文以供参照。
一般而言,视频压缩技术包括帧内压缩(intraframe compression)及帧间压缩(interframe compression),这些压缩技术操作时,系减少视频帧中呈现的空间及时间上之冗余,而压缩视频信息。帧内压缩技术只使用帧内所包含的信息,以压缩被称之为I-帧(I-frame)的帧。帧间压缩技术参考之前及/或之后帧(通常称之为预测帧、P-帧(P-frame)或B-帧(B-frame))而压缩帧。帧内及帧间压缩技术通常使用基于空间的或块的编码,由此将视频帧分为若干用于编码的块(亦称之为块转换程序)。例如,I-frame被分为8x8块。使用一种离散余弦转换(Discrete Cosine Transform;简称DCT)编码体系将该等块编码,而该编码体系将各系数编码为特定余弦基函数(cosine basis function)的振幅;或者亦可将某一其它的转换(例如,整数转换(integer transform))用于将该等块编码。然后将该等被转换的系数量化,而产生一些具有非零振幅位准的系数、以及零振幅位准系数的一些束(run)(或子序列(subsequence)。然后对该等被量化的系数进行束位准编码(run-levelencoding)(或束长度编码(run length encoding)),以便压缩零系数之该等长束。然后在可变长度编码器(Variable Length Coder;简称VLC)中对上述结果进行一致性编码(entropy encoding),而该VLC使用一种将字码(codeword)指定给将要被编码的值之统计编码技术,或者使用诸如内容适应性二进制算术编码(Context-based Adaptive BinaryArithmetic Coding;简称CABAC)及内容适应性可变长度编码(Context AdaptiveVariable Length Coding;简称CAVLC)等的某些其它一致性编码技术。将具有高发生频率的那些值指定给短的字码,并将不常发生的那些值指定给长的字码。平均而言,较常出现的较短字码占了大部分,因而字码串(code string)比原始的数据短。因此,基于空间的或块的编码技术压缩了与单一帧相关联的数字信息。为了压缩与序列的帧相关联之数字信息,视频压缩技术使用P-frame及(或)B-frame,以便利用各连续帧之间存在有时间关联性之事实。帧间压缩技术将识别不同帧间之差异,然后使用DCT、量化、束长度及一致性编码技术而对该差异信息进行空间上的编码,但是不同的实施例可使用不同的块组态。例如,将P-frame分为若干16x16宏块(macroblock)(例如,具有四个8x8亮度块以及两个8x8色度块),并压缩该等宏块。不论是使用帧内或帧间压缩技术,将基于空间的或块的编码技术用来将视频数据编码都意指:已对被压缩之视频数据进行可变长度编码,且已使用前所述的基于块的压缩技术压缩了该视频数据。
在接收器或播放装置上,系反向执行该等压缩步骤,以便将先前以块转换处理过的视频数据译码。图1绘示用来将视频信息解压缩的传统系统(30),该系统(30)包含输入比特流译码部分(35)、动作译码器(38)、加法器(39)、帧缓冲器(40)、以及显示器(41)。输入比特流译码器(35)在输入缓冲器(31)上接收被压缩之视频信息比特流,在VLC译码器(32)上执行可变长度译码,在反向量化器(33)上反向执行”之”字形扫描(zig-zag)及量化,在反离散余弦转换器(Inverse DCT,IDCT)(34)上执行反离散余弦转换,并将各块的经静态解压缩后之视频信息提供给加法器(39)。在动作译码部分(38)中,动作补偿单元(37)接收来自VLC译码器(32)的动作信息、以及(先前图像储存缓冲器(36)中储存的)先前图像数据之一拷贝,并将经过动作补偿的像素提供给加法器(39)。加法器(39)接收该经过静态解压缩后之视频信息、及该等经过动作补偿的像素,并将解压缩后之像素提供给帧缓冲器(40),帧缓冲器(40)然后将该信息提供给显示器(41)。
在传统的视频编码器及译码器设计下,可能因基于块的转换、动作补偿、量化、及(或)其它的有损(lossy)处理步骤,而将块赝像(blocking artifact)(各块间之显而易见的不连续)导入帧中。先前为了减少块赝像而作的尝试已使用了重叠平滑(overlapsmoothing)或解块(deblocking)过滤(在环路内执行或在处理之后执行),以便以平滑各块间之边界的方式来处理帧。例如,在WMV9标准下,指定对整个图像进行重叠平滑及环路内(in-loop)解块之处理,以便减少块赝像。在起动WMV9译码时,只对各8x8块的边界执行重叠平滑,其中开始时系沿着垂直方向对整个帧执行平滑,然后沿着水平方向对整个帧执行重叠平滑。然后,在环路内解块中,当环路内解块被起动时,系按照下列顺序执行环路内解块:(i)自最上方水平边界线开始,对该帧中之所有8x8块的水平边界线过滤;(ii)自最上方水平边界线开始,对该帧中之所有8x4子块(sub-block)的水平边界线过滤;(iii)自最左方垂直边界线开始,对所有8x8块的垂直边界线过滤;以及(iv)自最左方垂直边界线开始,对所有4x8子块的垂直边界线过滤。先前的方法对整个帧使用二阶段处理(two passes),其中第一次处理是要执行重叠平滑,而第二步骤系用于环路内解块。虽然可能有也适用的其它要求(例如,涉及参数PQUANT及块类型的要求),但是在决定是否要处理个别的步骤时,这些处理的目标都是要平滑16x16宏块、8x8块、或4x4子块的边缘,且因而去除二维转换及量化时所导入的块赝像。
在用来处理视频解压缩的基于处理器之方法下,平滑或解块功能的加入是一种计算繁复的过滤程序。在有大容量的存储器缓冲器来存放一帧时(例如,在存放640x 480像素的VGA大小时,该容量等于307千字节),可以软件来执行该处理顺序。另一方面,基于硬件的译码方法并不同时执行平滑及解块,且系对整体的帧执行解块,因而需要大容量的区域存储器,且有可观的总线频宽要求,并牺牲了存储器存取时间。
因此,目前非常需要一种减少与解压缩方法相关联的处理要求并改善其中特别包括重叠平滑及(或)解块过滤操作的解压缩操作之方法。熟悉此项技术者在检视本申请案的其余部分,并参阅各图式及下文中的详细说明之后,将可易于了解传统系统的进一步限制及缺点。
发明内容
藉由将软件及硬件的组合用来执行视频解压缩,而提供了一种可适于迅速且有效率地处理各种不同的视频压缩体系之具有弹性之解压缩系统。该具弹性之解压缩系统包含:用来执行前端解压缩步骤之处理器、以及用来执行后端解压缩步骤之视频加速器。为了减少视频加速器中在对视频帧数据执行重叠平滑及环路内解块过滤操作时对存储器容量及/或频宽的要求,环路内过滤器系以一种基于宏块的方式而执行重叠平滑及环路内解块之分段处理。藉由使用对像素的分段处理,即可于撷取(accessing)块时,同时执行重叠平滑及环路内解块。藉由将暂存存储器(scratch pad memory)用来储存被部分处理过的数据,即可分解平滑及解块算法,并将该等算法应用于较小的数据块。保留了处理的顺序,就如同按照帧的顺序执行一般,并可以一种管线化的格式执行处理的顺序,以便隐藏等待时间(latency),并平滑过滤器处理能力,以避免提取及储存块的丛发。
本发明涉及一种译码视频数据的方法,包含:接收以块变换处理的视频数据的至少一个第一宏块;平滑和解块该第一宏块内的被选择的像素数据以产生至少一个部分过滤的块和至少一个完成的块;以及存储该部分过滤的块以于平滑和解块第二宏块内的被选择的像素数据时使用。
根据本发明的一个或多个实施例,提供了一种将已利用块转换而被处理成复数个宏块的视频数据译码之视频处理系统、装置、及方法。在每一宏块中,系以环路内过滤器执行分段处理,以便对至少第一块中之被选择的像素数据进行平滑及解块,因而在第一过滤操作中部分地处理该第一块,然后在第二过滤操作中完全地处理该第一块,因而产生一个或多个完成的块以及一个或多个部分过滤的块。例如,该第一过滤操作可以是对第一行宏块执行的平滑及解块过滤,且该第二过滤操作可以是对第二行宏块执行的平滑及解块过滤,或者,该第一过滤操作可以是对该第一块执行的第一组分段重叠平滑及解块过滤,且该第二过滤操作可以是对该第一块执行的第二组分段重叠平滑及解块操作。因此,可对与先前处理的宏块邻接之任何块完全执行重叠平滑及解块过滤,然后于第一过滤操作期间,将该过滤后的块输出为完成的块,同时可对与后续处理的宏块邻接之块部分地执行重叠平滑及解块过滤,然后将作为部分过滤的块之该块储存在暂存存储器中。可将并未被完全处理的任何部分过滤的块储存在暂存存储器中,并稍后在第二过滤操作期间对第二宏块中之被选择的像素数据执行平滑及解块时,撷取该部分过滤的块以完成该块。在选择的实施例中,系以第一过滤操作执行分段处理,该第一过滤操作对所选择的垂直及水平块边界执行一序列的重叠平滑,然后对沿着水平及垂直方向的所选择之块及子块边界执行环路内解块。然后,执行第二过滤操作,而在该第二过滤操作中,对其余的垂直及水平块边界执行重叠平滑,然后对沿着水平及垂直方向的其余之块及子块边界执行环路内解块。藉由一次一个宏块之方式对每一行的宏块执行分段处理,即可将宏块处理管线化。
熟悉此项技术者在参阅下文中之详细说明,并配合最后的申请专利范围及各附图,将可易于了解本发明之目的、优点、及其它新颖特征。
附图说明
图1显示用来解压缩视频信息之系统之方块图;
图2显示根据本发明而建构之例示视频解压缩系统之方块图;
图3绘示根据本发明的所选择之实施例而将暂存存储器用来有效率地以硬件处理重叠平滑及环路内解块的环路内过滤程序之简化说明;
图4绘示在视频编码器或译码器中使用平滑及解块过滤器以减少译码后的帧中之块效应(blockiness)之例示技术;
图5A至5K例示如何可将分段处理用来执行亮度块的平滑及解块程序;以及
图6A至6F例示如何可将分段处理用来执行色度块的平滑及解块程序。
具体实施方式
虽然下文中将说明本发明的一些实施例,但是我们当了解:可在没有该等指定细节之情形下实施本发明,且可对本说明书述及的本发明作出许多与实施例相关的决定,以便达到开发者的特定目标,这些特定的目标包括诸如符合与系统相关的及与商业相关的限制条件,而该等限制将随着各实施例而有所不同。虽然此种开发的工作可能是复杂且耗时的,但是此种开发工作仍然是对此项技术具有一般知识者在参阅本发明揭示事项后所从事的日常工作。例如,并非详细示出,而是以方块图之形式示出一些所选择的态样,以避免模糊了本发明。熟悉此项技术者将这些说明及表示法用来描述其工作之主旨,并将其传递给其它熟悉此项技术者。现在将参照下文中述及的图式而说明本发明。
请参阅图2,该图式提供根据本发明的一例示视频解压缩系统(100)之方块图。如图所示,可在诸如桌上型或膝上型计算机、无线或行动装置、个人数字助理、行动或蜂巢式电话、以及包含视频成像特征的任何其它视频播放装置等的任何视频播放装置中实施视频解压缩系统(100)。如图2中所示,系将视频解压缩系统(100)实施为主机或应用装置处理单元,其中包含被耦接到一个或多个处理器或处理单元(50)之总线(95)、以及视频或媒体加速硬件单元(101)。此外,视频解压缩系统(100)包含主存储器系统,而该主存储器系统包含经由双倍数据率(DDR)控制器(60)而被存取的大容量之双倍数据率同步动态随机存取存储器(DDR SDRAM)(62)、(64)。以额外添加或以替代之方式,经由静态存储器控制器(70)而存取一个或多个存储器(例如,IDE储存装置(72)、闪存单元(74)、及只读存储器(ROM)(76)等)。DDR SDRAM或其它存储器的其中之一或两者可与视频解压缩系统(100)整合,或设于视频解压缩系统(100)之外。当然,可经由个别的控制器(80)、(90)而使用其它的外围装置及显示装置(80)、(82)、(84)、(92)存取。为了清晰及易于了解,将不详细说明构成视频解压缩系统(100)的所有组件。对此项技术具有一般知识者都知晓这些细节,且这些细节将随着特定的计算机供货商及微处理器类型而改变。此外,视频解压缩系统(100)可根据所需之实施情形而包含其它的总线、装置、及(或)子系统。例如,视频解压缩系统(100)可包含快取存储器、调制解调器、并联或串联接口、SCSI接口、以及网络适配卡等的项目。在所示实施例中,中央处理单元(CPU)(50)执行闪存(74)及(或)SDRAM(62)、(64)中储存的软件。
在第图2所示之视频解压缩系统(100)中,CPU(50)执行如VLD块(52)所指示之起始可变长度译码功能,而媒体加速硬件单元(101)对被译码的数据执行反向量化(104)、反向转换(106)、动作补偿(108)、环路内过滤(110)、彩色空间转换(112)、缩放(114)、以及过滤(116)。可先将所产生的被译码的数据暂时储存在输出缓冲器(118)及(或)帧缓冲器(图中未示出)中,然后才在显示器(92)上显示。藉由将各译码处理功能分配到处理器(50)及媒体加速硬件(101),即可以软件执行前端译码步骤(例如,可变长度译码),而可适应各种不同的编码体系(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21、及WMV9等的编码体系)。将前端所产生的被译码的数据提供给媒体加速硬件(101),而媒体加速硬件(101)将该被译码的数据进一步地译码,以便以逐一宏块进行之方式将像素值提供给输出缓冲器(118)或帧缓冲器,直到完成一帧为止。
于操作时,视频解压缩系统(100)自诸如只读光盘(CD-ROM)、数字激光视盘(DVD)、或其它储存装置等的视频信号源接收被压缩的视频信号。将该被压缩的视频信号以被压缩之视频信息比特流之方式提供给处理器(50),而处理器(50)执行指令,以便将该被压缩的信号之可变长度编码部分译码,以提供可变长度译码的数据(VLD数据)信号。一旦采用软件协助以执行可变长度译码之后,即直接或以使用数据压缩技术之方式(美国专利申请案11/042,365案名:“输入数据之轻量压缩(Lightweight Compression of Input Data)”中更完整地述及了此种数据压缩技术)将该VLD数据(其中包括标头(header)、矩阵加权值、动作向量、转换之残余系数、以及偶差分动作向量)传送到媒体加速硬件单元(101)。在媒体加速硬件单元(101)上,一旦接收到该VLD数据之后,即将该数据提供给反向”之”字形扫描及量化电路(104),该电路(104)将该VLD数据信号译码,而提供经过”之”字形扫描译码的信号。该反向之字形扫描及量化操作补偿系基于下列事实:当压缩之视频信号以之字形扫描束长度编码方式压缩时,该之字形扫描译码信号系提供给反离散余弦转换电路(106)作为后续块之信息。因此,该经过之字形扫描译码的信号提供了按照在显示器(92)上进行光栅扫描(raster scanning)所需顺序之各块。然后将该经过之字形扫描译码的信号提供给反向转换电路(106)(例如,反离散余弦转换(IDCT)或及整数转换电路),而该电路以一种逐一块进行之方式对该经过之字形扫描译码的视频信号执行反离散余弦转换,以便提供经过静态解压缩的像素值或经过解压缩的误差项(error term)。利用动作补偿单元(108)以一种逐一块进行之方式处理该经过静态解压缩的像素值,而该动作补偿单元(108)提供了帧内预测式双向动作补偿,其中包括对一个、两个、及四个动作向量(16x16、16x8、及8x8块)的支持。环路内过滤器(110)执行重叠平滑及(或)去块,以便根据WMV9压缩标准而减少或消除块赝像,其方式为将暂存存储器(111)用来储存部分完成的宏块过滤数据,其中情形将于下文中更完整地加以说明。彩色空间转换器(112)将一种或多种输入数据格式(例如,YCbCr 4:2:0)转换成一种或多种输出格式(例如,RGB),且在过滤器(116)上对该结果执行过滤及(或)缩放。
如本说明书中所揭示的,平滑及解块环路内过滤器(110)在第一次处理(firstpass)期间对每一行的宏块执行部分地过滤或处理,然后在处理次一行的宏块期间完成对该等被部分处理的块之处理,而去除各相邻块间之边界不连续。使用该技术时,可将小容量的暂存存储器(111)有效率地用来将该等被部分处理的块储存在暂存存储器中,而不是如同传统解块程序中将大容量的存储器用来储存整个帧的影像以供过滤。当以逐行进行之方式完成对每一块的重叠平滑及解块处理之后,可先将完成的块自过滤器(110)输出到先进先出(FIFO)缓冲器(图中未示出),然后才传送到彩色空间转换器(CSC)(112)。
图3绘示根据本发明之选择之实施例而将暂存存储器用来有效率地处理重叠平滑及解块的基于宏块的环路内过滤程序之简化例示。在该过滤程序中,对一行宏块执行的每一次环路内过滤处理都产生了完全完成的块(这些块已被完全过滤,而将该等块平滑及去块)以及部分完成的块(这些块被储存在该暂存存储器中,以供后续用于对次一行的宏块执行之平滑及去块)。如图所示,该环路内过滤程序中之每一单一宏块(例如,其中包含四个亮度块mb4y0、mb4y1、mb4y2、及mb4y3的例示宏块4或”mb4”)都要历经下列顺序的处理:
(i)完全完成对邻接先前宏块(例如,宏块1)的8x8块(例如,mb4y0、mb4y1)的平滑及解块,且部分完成对邻接次一宏块(例如,宏块7)的8x8块(例如,mb4y2、mb4y3)的平滑及去块;
(ii)输出完成的8x8块(例如,mb4y0、mb4y1),并将部分完成的8x8块(例如,mb4y2、mb4y3)储存在该暂存存储器;
(iii)于处理次一宏块(例如,宏块7)时,自该暂存存储器提取该等部分完成的8x8块(例如,mb4y2、mb4y3),并完成对所提取的该等8x8块(例如,mb4y2、mb4y3)之处理;以及
(iv)连同该次一个宏块的完成之8x8块(例如,mb7y0、mb7y1)而输出该等完成的8x8块(例如,mb4y2、mb4y3)。
虽然实施例的细节可随着应用而改变,但是图3示出由若干宏块(例如,宏块mb0、mb1、mb2、mb3、mb4、mb5、mb6、mb7、mb8等)构成由环路内过滤器(110)处理的影像帧(150)且该影像帧(150)被配置在多行(例如,第一行(151)系由mb0、mb1、及mb2所构成)之一个实施例。如图3之3A部分所示,环路内过滤器(110)已经对第一行宏块(151)作了第一次处理。由于对第一行(151)的该第一次处理,已对上方块(mb0y0、mb0y1、mb1y0、mb1y1、mb2y0、mb2y1)进行了重叠平滑及解块的完全处理(如交叉影线所示),而只对下方块(mb0y2、mb0y3、mb1y2、mb1y3、mb2y2、mb2y3)进行了重叠平滑及解块的部分处理。为了在对宏块的下一次处理期间完成该第一行(151)的该等被部分处理的块,系将该第一行(151)的该等被部分处理的块储存在暂存存储器(111)中(如点图样所示)。
如其它绘示于图3之3A部分,环路内过滤器(110)已开始处理第二行宏块(152),其会完成第一行(151)的该等被部分处理的块。结果,mb0y2及mb3y块已完全经平滑及解块处理,且mb3y2块只进行了部分处理(且mb3y2块被储存在暂存存储器中)。至于在图3之3A部分中将由过滤器(110)处理的块(已被过滤的块(154)且以斜影线示出),mb0y3、mb3y1、及mb3y3块已进行了平滑及解块的部分处理(且保留在过滤器(110)中),mb1y2块是自该暂存存储器提取的已部分完成的块,且从目前的宏块(例如,宏块4)取得其余的块(mb4y0及mb4y2)。当环路内过滤器(110)处理该等被过滤的块(154)时,完成了对该等被部分处理的块中之一个或多个块(例如,mb0y3、mb3y1)的平滑及解块,同时只部分完成了其余的块(mb1y2、mb4y0、mb4y2、及mb3y3)。
在处理了该等被过滤的块(154)之后,将环路内过滤器(110)移至新的数据。系以图3之3B部分中所示之帧(155)示出此情况,而图中示出藉由输出任何完成的块(例如,mb0y3、mb3y1),藉由将一个或多个部分完成的块(例如,mb3y3)储存在该暂存存储器中,藉由将其余部分完成的块(例如,mb1y2、mb4y0、mb4y2)移入该过滤器中一个块位置,藉由自先前行的宏块提取一个部分完成的块(例如,mb1y3),且自目前的宏块加载新的块(例如,mb4y1、mb4y3),而由过滤器(110)取得被过滤的块(156)。当环路内过滤器(110)处理该等被过滤的块(156)时,完成了对该等被部分处理的块中之一或多个块(例如,mb1y2、mb4y0)的平滑及解块,同时只部分完成了其余的块(mb1y3、mb4y1、mb4y3、及mb4y2)。
在处理了该等被过滤的块(156)之后,再度将环路内过滤器(110)移至新的数据,且系以图3C所示之帧(157)示出此情况。尤系藉由输出任何完成的块(例如,mb1y2、mb4y0),藉由将一个或多个部分完成的块(例如,mb4y2)储存在该暂存存储器中,藉由将其余部分完成的块(例如,mb1y3、mb41、mb4y3)移入该过滤器中一个块位置,藉由自先前行的宏块提取一个部分完成的块(例如,mb2y2),且自目前的宏块加载新的块(例如,mb5y0、mb5y2),而由过滤器(110)取得被过滤的块(158)。当环路内过滤器(110)处理该等被过滤的块(158)时,完成了对该等被部分处理的块中之一或多个块(例如,mb1y3、mb4y1)的平滑及解块,同时只部分完成了其余的块(mb2y2、mb5y0、mb5y2、及mb4y3)。此时,已完成了对宏块4中之上方块(mb4y0、mb4y1)的平滑及解块,但是只部分完成了下方块(mb4y2、mb4y3)。藉由将部分储存的下方块储存在该暂存存储器中,即可在过滤器(110)处理次一行宏块时,完成该过滤操作。
图4中示出本发明的一替代实施例之额外细节,该图标出一种在视频编码器或译码器中使用平滑及解块过滤器以减少译码后的帧中之块效应(块瑕疵;blockiness)之方法(200)。我们将可了解,可将所示之技术用来处理亮度块或色度块,但是在每一帧的周围可能有特殊角落的情形,此时熟悉此项技术者将视需要而调整并应用本发明。然而,为了简化,本发明的揭示主要将重点放在对每一帧的内部宏块执行的环路内过滤步骤。
请参阅图4,在步骤(201)中,一旦该视频编码器/译码器至少产生了该帧的第一宏块之后,该环路内过滤程序即以一次一个宏块之方式处理最上方行的宏块,以便对每一块与其邻近块间之边界过滤。我们当了解,因为并未对该帧的周围执行平滑及解块,所以该帧之外部并无用于过滤程序的任何部分完成的块。然而,当对第一行宏块过滤时,一些部分完成的块填满了该暂存存储器。在步骤(201)中,自第一宏块开始,该编码器/译码器加载所需的块,并自该暂存存储器撷取(除了第一行宏块以外的)来自上方的任何部分完成的邻接块。当一宏块包含四个亮度块(y0、y1、y2、y3)以及两个色度块(Cb、Cr)时,该等块按照下列顺序进入该编码器/译码器硬件:y0、y1、y2、y3、Cb、Cr。
然后在步骤(210)中,该视频编码器/译码器将被加载该过滤器的该等块与邻接块或子块间之预定边界过滤。在所选择的实施例中,可使用分段处理技术,以便部分地处理该过滤器中之每一块。例如,在步骤(211)中,在将亮度或色度平面中之一8x8块译码之后,使左及(或)右(垂直)边缘的全部或部分接受平滑过滤程序。在步骤(212)中,以额外添加或以替代之方式,使该块的上及(或)下(水平)边缘的全部或部分接受平滑过滤程序。除了重叠平滑之外,在步骤(213)中,可将解块过滤程序施加到该等8x8块的所选择之水平边界线之全部或部分,且(或)在步骤(214)中,将该解块过滤程序施加到各8x4子块的所选择之水平边界线之全部或部分。以额外添加或以替代之方式,在步骤(215)中,可将该解块过滤程序施加到该等8x8块的所选择之垂直边界线之全部或部分,且(或)在步骤(216)中,将该解块过滤程序施加到各4x8子块的所选择之垂直边界线之全部或部分。
一旦分段处理了该过滤器中之该等块之后,储存结果或将结果移入该过滤器中,以供其它的处理。尤其为了让该过滤器处理新的数据,在步骤(217)中自该过滤器输出该过滤器中任何完成的块。此外,在判定步骤(218)中决定尚未处理最后一行的宏块时,在步骤(219)中将不连同新块而处理的任何部分完成的块储存在暂存存储器中,以供后续的使用以及连同次一行宏块而进行另外的处理,而在判定步骤(218)中判定正在处理最后一行的宏块(其结果是否定的)之情形中,可略过该暂存存储器储存步骤(219)。
在步骤(217)、(219)中储存所选择的块而在该过滤器中产生了空间之后,该过滤器现在可处理新的数据。尤其在判定步骤(220)中判定该帧中还有额外的块(其结果是肯定的)时,在步骤(222)中将其余的部分过滤的块向左移入该过滤器。在判定步骤(224)判定该等块行是在最上方行之下(其结果是否定的)之情形中,在步骤(226)中自该暂存存储器撷取次一部分完成的块,而填入该过滤器中的可用空间,并在步骤(228)中以新的块填入该过滤器中之任何剩下的空间。一旦将新的数据加载该过滤器之后,即对该组新的过滤块重复该块过滤程序(210)。藉由重复该序列的操作,而依序将该帧中之每一宏块过滤,以便自该暂存存储器撷取于处理前一行的宏块期间产生的部分完成的块,并将被部分地过滤的块储存在该暂存存储器中,以供在处理次一行的宏块期间之后续使用。另一方面,如果在判定步骤(222)中判定没有将要过滤的任何剩余块(其结果是否定的)之情形中,即完成对目前帧的平滑及解块处理。此时,在步骤(230)中撷取次一帧,且自该新帧的第一宏块开始,而重复该过滤程序。
现在请参阅图5A至第5K,图中示出了本发明的一实施例,以便示出如何利用分段处理技术而对宏块4(“mb4”)中之亮度块执行WMV9平滑及解块程序。图5A中示出该过滤程序的起点,此时已将经过重叠平滑(请参阅诸如椭圆形标示(322))及解块(请参阅诸如线标示(323))的部分处理之块(例如,mb0y3、mb3y1、及mb3y3)加载了过滤器(320)。
然后如图5B所示,以额外的块填入过滤器(320)。尤其自该暂存存储器撷取部分完成的块(例如,mb1y2),并将该块加载该过滤器中。此外,将来自目前宏块(例如,mb4)的选择之块(例如,mb4y0、mb4y2)加载该编码器/译码器,然而如(321)所示,该宏块加载序列(例如,mb4y0、mb4y1、mb4y2、及mb4y3)要求:此时至少一个块被加载,旦不被移入过滤器(320)。
如图5C所示,一旦加载了该等过滤块之后,过滤器(320)即执行分段重叠平滑。尤其系对所选择的内部垂直边缘(301)、(302)执行垂直重叠平滑(V)。然后,对所选择的内部水平边缘(例如,303、304、305、及306)执行水平重叠平滑(H)。
如图5D所示,在部分平滑了该等过滤块之后,过滤器(320)执行分段解块。首先,对所选择的8x8块边界(例如,307、308、309、310)执行水平环路内解块(HD),然后对所选择的子块边界(例如,311、312、313、314)执行水平环路内解块(HDH)。然后,该过滤器对所选择的8x8块边界(例如,315、316)执行垂直环路内解块(VD),然后对所选择的子块边界(例如,317、318)执行垂直环路内解块(VDH)。
在每一上述的平滑及解块步骤内,对该等边界段(boundary piece)的过滤顺序并无关紧要,这是因为该等边界段之间并无相依性。除了图5C及5D所示之分段处理的特定顺序之外,亦可根据本发明而实施其它的顺序及(或)过滤步骤。例如,可过滤不同顺序的边界边缘。此外,可施加一种以上类型的平滑及解块模式,且该过滤操作可根据过滤体系而施加到边界的任一侧上的多达三个或更多的像素。例如,MPEG-4标准使用两种解块模式,以便在第一种模式中将短过滤施加到块边缘的任一侧上的一个像素,并在第二种模式中将较长过滤施加到任一侧上的两个像素。在其它的实施例中,可调整过滤定义、不同的过滤器数目、及(或)适当过滤条件,以便符合特定的要求。
如图5E所示,一旦该等平滑及解块过滤操作结束之后,即储存并移出被处理过的过滤块。尤其然后可输出任何完成的块(例如,mb0y3、mb3y1),这是因为该等块已是完成的。此外,可将一个或多个部分完成的块(例如,mb3y3)移到该暂存存储器,以便在处理下方的邻接宏块时提供作后续的使用(请参阅例如图3所示与mb3y3相关的宏块6)。然后可将该过滤器中任何剩余的部分完成的块(例如,mb1y2、mb4y0、mb4y2)在该过滤器中动作,以便让出空间给新的数据。图5F中示出该等输出、储存、及动作步骤的结果。
如图5G所示,现在可以新的数据填入过滤器(320)。尤其自该暂存存储器撷取部分完成的块(例如,mb1y3),并将该块加载该过滤器中。此外,将来自目前宏块(例如,mb4)的剩余块(例如,mb4y1、mb4y3)加载过滤器(320)。
如图5H所示,一旦加载了该等过滤块之后,过滤器(320)即执行分段重叠平滑。尤其系对所选择的内部垂直边缘执行垂直重叠平滑(V1,V2)。然后,对所选择的内部水平边缘执行水平重叠平滑(H1、H2、H3、H4)。
如第5I图所示,在部分平滑了该等过滤块之后,过滤器(320)即执行分段解块。首先,对所选择的8x8块边界执行水平环路内解块(HD1、HD2、HD3、HD4),然后对所选择的子块边界执行水平环路内解块(HDH1、HDH2、HDH3、HDH4)。然后,过滤器对所选择的8x8块边界执行垂直环路内解块(VD1、VD2),然后对所选择的子块边界执行垂直环路内解块(VDH1、VDH2)。
如图5J所示,一旦该等平滑及解块过滤操作结束之后,即储存并移出被处理过的过滤块。尤其然后可输出任何完成的块(例如,mb1y2、mb4y0),这是因为该等块已是完成的。此外,可将一个或多个部分完成的块(例如,mb4y2)移到该暂存存储器,以便在处理下方的邻接宏块时提供作后续的使用。然后可将该过滤器中任何剩余的部分完成的块(例如,mb1y3、mb4y1、mb4y3)在该过滤器中动作,以便让出空间给新的数据。图5K中示出该等输出、储存、及动作步骤的结果,且该结果正对应于图5A所示之起始过滤器状态。因此,可重复图5A至5K所示之步骤序列,以便继续对其中包括次一宏块(例如,宏块5或mb5)的该等过滤块进行过滤。
现在请参阅图6A至6F,图中示出本发明的一个实施例,以便显示如何可用分段处理技术而在宏块中之Cb或Cr块上实施WMV9平滑及解块程序。因为Cb及Cr宏块是类似的,所以将参照以指针卷标Cb(x,y)识别的目前Cb宏块而提供该例子。图6A中示出该过滤程序的起点,此时业已将经过重叠平滑(请参阅例如椭圆形标示(422))及解块(请参阅例如线标示(423))的部分处理之块(例如,Cb(x-1,y-1)及Cb(x-1,y))加载了过滤器(420)。
然后如图6B所示,以额外的块填入过滤器(420)。尤其自该暂存存储器撷取部分完成的块(例如,Cb(x,y-1)),并将该块加载该过滤器中。此外,将来自目前宏块的块(例如,Cb(x,y))加载该过滤器。如图6C所示,一旦加载了该等过滤块之后,过滤器(420)即执行分段重叠平滑。尤其系对所选择的内部垂直边缘执行垂直重叠平滑(V)。然后,对所选择的内部水平边缘执行水平重叠平滑(H1,H2)。
如图6D所示,在部分地平滑了该等过滤块之后,过滤器(420)执行分段解块。首先,对所选择的8x8块边界执行水平环路内解块(HD1,HD2),然后对所选择的子块边界执行水平环路内解块(HDH1,HDH2)。然后,该过滤器对所选择的8x8块边界执行垂直环路内解块(VD),然后对所选择的子块边界执行垂直环路内解块(VDH)。
如图6E所示,一旦该等平滑及解块过滤操作结束之后,即储存并移出被处理过的过滤块。尤其然后可输出任何完成的块(例如,Cb(x-1,y-1)),这是因为该块已是完成的。此外,可将部分完成的块(例如,Cb(x-1,y))移到该暂存存储器,以便在处理下方的邻接宏块时提供作后续的使用。然后可将该过滤器中任何剩余的部分完成的块(例如,Cb(x,y-1)、Cb(x,y))在该过滤器中动作,以便让出空间给新的数据。图6F中示出该等输出、储存、及动作步骤的结果,且该结果正对应于图6A所示之起始过滤器状态。因此,可重复图6A至6F所示之步骤序列,以便对次一宏块进行过滤。
从上述可知,在硬件译码器单元中提供小容量的暂存存储器,环路内过滤器可将来自目前宏块(表示为MB(x,y))的亮度块及色度块的任何部分完成的过滤结果暂时储存在该暂存存储器中。然后可将该等被储存的过滤结果用于对与该宏块邻接的且在该行之下的块之处理。尤其当过滤器正在处理正下方的宏块(亦即,MB(x,y+1))时,自该暂存存储器提取被储存的MB(x,y)之数据,并将该数据用于对MB(x,y+1)之处理。
虽然该暂存存储器中储存的该等部分完成的过滤结果应至少包含8x8像素数据,但是在选择的实施例中,该暂存存储器也储存了用来判定该块是否需要进行边界过滤的控制数据。例如,该控制数据可包括目前宏块中的六个块之每一块的一组标头,该组标头包括1毫伏(mv)或4毫伏的选择码、块地址、块在帧中之位置、宏块模式(mbmode)、转换大小、系数(零或非零)、以及若干动作向量(沿着x及y方向的两个向前动作向量、以及沿着x及y方向的两个向后动作向量)。可以一种有效率地使用丛发数据段大小之方式封装(pack)该等数据。
因为该暂存存储器的小容量,所以可将存储器设于与视频加速器相同的芯片中,然而对于典型的帧大小而言,可将该暂存存储器设于诸如DDR存储器或其它外部存储器等的不同之芯片中。然而,藉由将该暂存存储器设于视频加速器硬件单元(101)中,而可得到更佳的存储器存取效能。与设有大容量的存储器缓冲器以储存整个帧的数据块相比时,本发明藉由尽量减少该暂存存储器的容量,而可降低该媒体加速硬件单元的制造成本。例如,可以下式计算用来储存其中包括控制数据及像素数据的部分完成的过滤结果之暂存存储器的容量:
暂存存储器的容量=(576字节)×(帧中沿着水平方向的宏块数目)。
自上式可看出:当帧在垂直方向有较大尺寸时,该暂存存储器的容量是相对较小的。换言之,该暂存存储器的容量系取决于帧在水平方向的尺寸。
我们当了解,可配合用来存放整个帧的较大容量之存储器而有利地使用本说明书中述及的该分段处理技术,此时只要在将整个帧译码之前,先开始对第一宏块过滤,即可改善过滤操作的速度。然而,分段处理容许以小容量的内建(on-board)暂存存储器而执行该过滤操作,因而比将较大容量的存储器用来储存整个帧之方式有成本及速度上的优势。此外,使用分段过滤时,与基于帧的硬件实施例之情形相比下,并无用于存取块的额外负担,且保留了如同传统基于帧的过滤操作一般整体处理顺序。在选择的实施例中,可将分段处理管线化,以便隐藏等待时间。管线化也平滑了过滤器处理能力,因而避免提取及储存块的丛发。
前文所揭示的特定实施例只是供例示之用,且不应将该等特定实施例视为对本发明的限制,这是因为熟悉此项技术者在参阅本发明的揭示之后,将可易于以不同但等效之方式修改及实施本发明。因此,前文中说明的用意并非将本发明限制在所述之特定形式,相反地,本发明将涵盖包含在最后的权利要求书所界定的本发明的精神及范围内之此种替代、修改、及等效方式,因而熟悉此项技术者当可了解:可在不脱离本发明的广义形式之精神及范围下,作出各种改变、替代、及改变。
Claims (9)
1.一种译码视频数据的方法,包含:
接收以块变换处理的视频数据的至少一个第一宏块;
平滑和解块该第一宏块内的被选择的像素数据以产生至少一个部分过滤的块和至少一个完成的块;以及
存储该部分过滤的块以于平滑和解块第二宏块内的被选择的像素数据时使用。
2.如权利要求1所述的译码视频数据的方法,进一步包含从暂存存储器获取第二部分过滤的块以用于该平滑和解块步骤,该第二部分过滤的块在先前的宏块的处理过程中已先被产生。
3.如权利要求1所述的译码视频数据的方法,其中,该平滑和解块的步骤通过在视频译码器的环路内过滤器执行。
4.如权利要求1所述的译码视频数据的方法,其中,该方法在多个宏块上以流水线方式执行。
5.如权利要求1所述的译码视频数据的方法,其中,该平滑和解块的步骤包括:
完全地将至少第一块过滤,该第一块邻接用于重叠平滑及解块的先前被处理的宏块;以及
部分地将至少第二块过滤,该第二块邻接用于重叠平滑及解块的后续被处理的宏块。
6.如权利要求5所述的译码视频数据的方法,进一步包含:
输出该完全过滤的第一块;以及
在暂存存储器中存储该部分过滤的第二块。
7.如权利要求5所述的译码视频数据的方法,其中,完全地过滤至少第一块的步骤包括:从暂存存储器获取用于完成该第一块的过滤的部分完成的块。
8.如权利要求5所述的译码视频数据的方法,进一步包含:当将用于重叠平滑及解块的该后续被处理的宏块被过滤时,获取该部分过滤的第二块。
9.如权利要求1所述的译码视频数据的方法,其中,该平滑和解块步骤包括:
对该第一宏块内的被选择的垂直块边界执行重叠平滑;
对该第一宏块内的被选择的水平块边界执行重叠平滑;
对该第一宏块内的被选择的水平块边界执行环路内解块;
对该第一宏块内的被选择的水平子块边界执行环路内解块;
对该第一宏块内的被选择的垂直块边界执行环路内解块;以及
对该第一宏块内的被选择的垂直子块边界执行环路内解块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/042,366 US8576924B2 (en) | 2005-01-25 | 2005-01-25 | Piecewise processing of overlap smoothing and in-loop deblocking |
US11/042,366 | 2005-01-25 | ||
CN2006800028034A CN101107861B (zh) | 2005-01-25 | 2006-01-17 | 重叠平滑与环路内解块之分段处理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800028034A Division CN101107861B (zh) | 2005-01-25 | 2006-01-17 | 重叠平滑与环路内解块之分段处理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103188495A CN103188495A (zh) | 2013-07-03 |
CN103188495B true CN103188495B (zh) | 2016-12-28 |
Family
ID=36282870
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310059414.7A Active CN103188495B (zh) | 2005-01-25 | 2006-01-17 | 译码视频数据的方法 |
CN2006800028034A Active CN101107861B (zh) | 2005-01-25 | 2006-01-17 | 重叠平滑与环路内解块之分段处理 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800028034A Active CN101107861B (zh) | 2005-01-25 | 2006-01-17 | 重叠平滑与环路内解块之分段处理 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8576924B2 (zh) |
JP (1) | JP5390773B2 (zh) |
KR (1) | KR101227667B1 (zh) |
CN (2) | CN103188495B (zh) |
DE (1) | DE112006000271T5 (zh) |
GB (1) | GB2441188B (zh) |
TW (1) | TWI461065B (zh) |
WO (1) | WO2006081097A1 (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060013315A1 (en) * | 2004-07-19 | 2006-01-19 | Samsung Electronics Co., Ltd. | Filtering method, apparatus, and medium used in audio-video codec |
US7792385B2 (en) * | 2005-01-25 | 2010-09-07 | Globalfoundries Inc. | Scratch pad for storing intermediate loop filter data |
US7965773B1 (en) | 2005-06-30 | 2011-06-21 | Advanced Micro Devices, Inc. | Macroblock cache |
JP2007060627A (ja) * | 2005-07-27 | 2007-03-08 | Victor Co Of Japan Ltd | 再生装置および再生方法 |
CN100370834C (zh) * | 2005-08-08 | 2008-02-20 | 北京中星微电子有限公司 | 多模图像编解码芯片中的系数缩放计算模块 |
US7636497B1 (en) | 2005-12-27 | 2009-12-22 | Advanced Micro Devices, Inc. | Video rotation in a media acceleration engine |
US20070223591A1 (en) * | 2006-03-22 | 2007-09-27 | Metta Technology, Inc. | Frame Deblocking in Video Processing Systems |
JP4797853B2 (ja) * | 2006-07-19 | 2011-10-19 | ソニー株式会社 | 映像信号処理装置及び方法、並びに映像信号復号装置 |
JP4830691B2 (ja) * | 2006-07-26 | 2011-12-07 | ソニー株式会社 | 映像信号処理方法及び装置、並びに映像信号復号方法 |
KR100771879B1 (ko) * | 2006-08-17 | 2007-11-01 | 삼성전자주식회사 | 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치 |
JP4848892B2 (ja) * | 2006-08-25 | 2011-12-28 | ソニー株式会社 | 映像信号処理装置及び方法、並びに映像信号復号装置 |
US7760964B2 (en) * | 2006-11-01 | 2010-07-20 | Ericsson Television Inc. | Method and architecture for temporal-spatial deblocking and deflickering with expanded frequency filtering in compressed domain |
KR100903863B1 (ko) | 2007-01-25 | 2009-06-24 | 주식회사 씬멀티미디어 | Wmv 디코더의 오버랩 변환부와 디블록킹 필터 사이의인터페이스 방법 |
US8462841B2 (en) * | 2007-12-31 | 2013-06-11 | Netlogic Microsystems, Inc. | System, method and device to encode and decode video data having multiple video data formats |
US8923384B2 (en) * | 2007-12-31 | 2014-12-30 | Netlogic Microsystems, Inc. | System, method and device for processing macroblock video data |
US20090285308A1 (en) * | 2008-05-14 | 2009-11-19 | Harmonic Inc. | Deblocking algorithm for coded video |
US20100053181A1 (en) * | 2008-08-31 | 2010-03-04 | Raza Microelectronics, Inc. | Method and device of processing video |
US8867605B2 (en) * | 2008-10-14 | 2014-10-21 | Nvidia Corporation | Second deblocker in a decoding pipeline |
US8861586B2 (en) * | 2008-10-14 | 2014-10-14 | Nvidia Corporation | Adaptive deblocking in a decoding pipeline |
US20100111166A1 (en) * | 2008-10-31 | 2010-05-06 | Rmi Corporation | Device for decoding a video stream and method thereof |
US9179166B2 (en) * | 2008-12-05 | 2015-11-03 | Nvidia Corporation | Multi-protocol deblock engine core system and method |
CN102484701A (zh) * | 2009-07-06 | 2012-05-30 | 汤姆逊许可证公司 | 用于空间变化残差编码的方法和设备 |
US8589942B2 (en) | 2010-05-07 | 2013-11-19 | Qualcomm Incorporated | Non-real time thread scheduling |
US8873637B2 (en) * | 2010-05-14 | 2014-10-28 | Qualcomm Incorporated | Hardware pixel processing pipeline and video processing instructions |
US9143793B2 (en) * | 2010-05-27 | 2015-09-22 | Freescale Semiconductor, Inc. | Video processing system, computer program product and method for managing a transfer of information between a memory unit and a decoder |
US8787443B2 (en) | 2010-10-05 | 2014-07-22 | Microsoft Corporation | Content adaptive deblocking during video encoding and decoding |
US9042458B2 (en) * | 2011-04-01 | 2015-05-26 | Microsoft Technology Licensing, Llc | Multi-threaded implementations of deblock filtering |
US20130027748A1 (en) * | 2011-07-29 | 2013-01-31 | Canon Kabushiki Kaisha | Image processing apparatus |
US9460495B2 (en) * | 2012-04-06 | 2016-10-04 | Microsoft Technology Licensing, Llc | Joint video stabilization and rolling shutter correction on a generic platform |
JP6763664B2 (ja) * | 2012-10-01 | 2020-09-30 | ジーイー ビデオ コンプレッション エルエルシー | エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化 |
US9854252B2 (en) | 2013-05-20 | 2017-12-26 | Texas Instruments Incorporated | Method and apparatus of HEVC de-blocking filter |
US9471995B2 (en) * | 2014-01-14 | 2016-10-18 | Vixs Systems Inc. | Codec engine with inline image processing |
CN106062779B (zh) | 2014-03-03 | 2019-09-20 | 索尼公司 | 针对rext中的强帧内平滑 |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
US20190005709A1 (en) * | 2017-06-30 | 2019-01-03 | Apple Inc. | Techniques for Correction of Visual Artifacts in Multi-View Images |
TWI729477B (zh) * | 2018-08-31 | 2021-06-01 | 聯發科技股份有限公司 | 視訊編解碼中的子塊去塊及裝置 |
US11381845B2 (en) * | 2018-10-30 | 2022-07-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Deblocking between block boundaries and sub-block boundaries in a video encoder and/or video decoder |
US11134275B2 (en) * | 2019-06-04 | 2021-09-28 | Tencent America LLC | Method and apparatus for performing primary transform based on filtering of blocks |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
US11917144B2 (en) * | 2021-09-29 | 2024-02-27 | Mediatek Inc. | Efficient in-loop filtering for video coding |
US11714620B1 (en) | 2022-01-14 | 2023-08-01 | Triad National Security, Llc | Decoupling loop dependencies using buffers to enable pipelining of loops |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185339B1 (en) * | 1997-09-24 | 2001-02-06 | Sony Corporation | Bit stream analyzing method and apparatus |
CN1535019A (zh) * | 2004-01-14 | 2004-10-06 | 华中科技大学 | 一种环路滤波方法和环路滤波器 |
US6901170B1 (en) * | 2000-09-05 | 2005-05-31 | Fuji Xerox Co., Ltd. | Image processing device and recording medium |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631750A (en) * | 1980-04-11 | 1986-12-23 | Ampex Corporation | Method and system for spacially transforming images |
US5097518A (en) * | 1990-02-27 | 1992-03-17 | Eastman Kodak Company | Technique for performing digital image scaling by logically combining or replicating pixels in blocks of differing groupsizes |
DE69232345T2 (de) * | 1991-07-16 | 2002-07-04 | Sharp Kk | Verfahren zur Bestimmung der Neigung eines Schriftzeichen enthaltenden Bildes |
US5872866A (en) * | 1995-04-18 | 1999-02-16 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics |
US5903313A (en) * | 1995-04-18 | 1999-05-11 | Advanced Micro Devices, Inc. | Method and apparatus for adaptively performing motion compensation in a video processing apparatus |
US6075918A (en) * | 1995-10-26 | 2000-06-13 | Advanced Micro Devices, Inc. | Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance |
DE69712676T2 (de) * | 1996-07-08 | 2003-01-02 | Hyundai Curitel, Inc. | Verfahren zur Videokodierung |
US5923782A (en) * | 1996-08-01 | 1999-07-13 | Nynex Science & Technology, Inc. | System for detecting and identifying substantially linear horizontal and vertical lines of engineering drawings |
US5859651A (en) * | 1996-08-19 | 1999-01-12 | International Business Machines Corporation | Method and apparatus for block data transfer to reduce on-chip storage for interpolative video resizing |
KR100213089B1 (ko) * | 1997-01-29 | 1999-08-02 | 윤종용 | 루프필터링 방법 및 루프필터 |
US6188799B1 (en) * | 1997-02-07 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for removing noise in still and moving pictures |
US6259734B1 (en) * | 1998-04-03 | 2001-07-10 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus, and data storage media |
EP1145218B1 (en) * | 1998-11-09 | 2004-05-19 | Broadcom Corporation | Display system for blending graphics and video data |
US6614930B1 (en) * | 1999-01-28 | 2003-09-02 | Koninklijke Philips Electronics N.V. | Video stream classifiable symbol isolation method and system |
US6441754B1 (en) * | 1999-08-17 | 2002-08-27 | General Instrument Corporation | Apparatus and methods for transcoder-based adaptive quantization |
KR100335055B1 (ko) * | 1999-12-08 | 2002-05-02 | 구자홍 | 압축 영상신호의 블럭현상 및 링현상 제거방법 |
US6771196B2 (en) * | 1999-12-14 | 2004-08-03 | Broadcom Corporation | Programmable variable-length decoder |
JP2001285863A (ja) * | 2000-03-30 | 2001-10-12 | Sony Corp | 画像情報変換装置及び方法 |
DE10048438A1 (de) * | 2000-09-29 | 2002-04-18 | Siemens Ag | Referenzbilddrehung |
JP4620901B2 (ja) * | 2001-06-04 | 2011-01-26 | キヤノン株式会社 | 2次元光走査装置、及び該2次元光走査装置の駆動方法 |
US6819803B2 (en) * | 2001-07-02 | 2004-11-16 | International Business Machines Corporation | Faster lossless rotation of JPEG images |
GB0124882D0 (en) * | 2001-10-17 | 2001-12-05 | Koninkl Philips Electronics Nv | Improved variable length decoder |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
TW563343B (en) * | 2002-03-15 | 2003-11-21 | Via Tech Inc | Image frame scaling method |
EP1351513A3 (en) * | 2002-04-01 | 2005-08-03 | Broadcom Corporation | Method of operating a video decoding system |
US6907079B2 (en) * | 2002-05-01 | 2005-06-14 | Thomson Licensing S.A. | Deblocking filter conditioned on pixel brightness |
MXPA05000335A (es) * | 2002-07-09 | 2005-03-31 | Nokia Corp | Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video. |
US7084929B2 (en) * | 2002-07-29 | 2006-08-01 | Koninklijke Philips Electronics N.V. | Video data filtering arrangement and method |
US7379496B2 (en) * | 2002-09-04 | 2008-05-27 | Microsoft Corporation | Multi-resolution video coding and decoding |
JP3680845B2 (ja) * | 2003-05-28 | 2005-08-10 | セイコーエプソン株式会社 | 圧縮動画像の伸張装置及びそれを用いた画像表示装置 |
US20050013494A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | In-loop deblocking filter |
US7254272B2 (en) * | 2003-08-21 | 2007-08-07 | International Business Machines Corporation | Browsing JPEG images using MPEG hardware chips |
JP5280003B2 (ja) * | 2003-09-07 | 2013-09-04 | マイクロソフト コーポレーション | 映像コーデックにおけるスライス層 |
US7590059B2 (en) * | 2004-05-21 | 2009-09-15 | Broadcom Corp. | Multistandard video decoder |
US7680351B2 (en) * | 2004-05-21 | 2010-03-16 | Broadcom Corporation | Video deblocking method and apparatus |
US20050281339A1 (en) * | 2004-06-22 | 2005-12-22 | Samsung Electronics Co., Ltd. | Filtering method of audio-visual codec and filtering apparatus |
-
2005
- 2005-01-25 US US11/042,366 patent/US8576924B2/en active Active
-
2006
- 2006-01-17 JP JP2007553130A patent/JP5390773B2/ja active Active
- 2006-01-17 CN CN201310059414.7A patent/CN103188495B/zh active Active
- 2006-01-17 DE DE112006000271T patent/DE112006000271T5/de active Pending
- 2006-01-17 GB GB0713744A patent/GB2441188B/en active Active
- 2006-01-17 KR KR1020077017291A patent/KR101227667B1/ko active IP Right Grant
- 2006-01-17 CN CN2006800028034A patent/CN101107861B/zh active Active
- 2006-01-17 WO PCT/US2006/001598 patent/WO2006081097A1/en active Application Filing
- 2006-01-19 TW TW095102015A patent/TWI461065B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185339B1 (en) * | 1997-09-24 | 2001-02-06 | Sony Corporation | Bit stream analyzing method and apparatus |
US6901170B1 (en) * | 2000-09-05 | 2005-05-31 | Fuji Xerox Co., Ltd. | Image processing device and recording medium |
CN1535019A (zh) * | 2004-01-14 | 2004-10-06 | 华中科技大学 | 一种环路滤波方法和环路滤波器 |
Non-Patent Citations (1)
Title |
---|
《A platform-based architecture of loop filter for AVS》;Bin Sheng,Wen Gao,Di Wu;《Signal Processing, 2004. Proceedings. ICSP '04. 2004 7th International Conference》;20040831;第571-574页 * |
Also Published As
Publication number | Publication date |
---|---|
US8576924B2 (en) | 2013-11-05 |
JP5390773B2 (ja) | 2014-01-15 |
DE112006000271T5 (de) | 2007-12-13 |
CN101107861B (zh) | 2013-03-27 |
GB0713744D0 (en) | 2007-08-22 |
GB2441188B (en) | 2010-08-25 |
KR20070104568A (ko) | 2007-10-26 |
KR101227667B1 (ko) | 2013-01-29 |
CN103188495A (zh) | 2013-07-03 |
GB2441188A (en) | 2008-02-27 |
TW200704197A (en) | 2007-01-16 |
US20060165181A1 (en) | 2006-07-27 |
JP2008529411A (ja) | 2008-07-31 |
WO2006081097A1 (en) | 2006-08-03 |
CN101107861A (zh) | 2008-01-16 |
TWI461065B (zh) | 2014-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103188495B (zh) | 译码视频数据的方法 | |
TWI382764B (zh) | 用於儲存中間迴路過濾資料之暫存記憶體(scratch pad) | |
TWI330042B (zh) | ||
KR101184244B1 (ko) | 비디오 블록들의 병렬 배치 디코딩 | |
CN103891277B (zh) | 回路滤波方法及其装置 | |
US10681363B2 (en) | Lossless compression method and system applied to hardware video decoding | |
US7965773B1 (en) | Macroblock cache | |
US20060133504A1 (en) | Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same | |
CN1794814A (zh) | 流水线化解块滤波器 | |
JP2007295423A (ja) | 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 | |
JP2000175201A (ja) | 画像処理装置及び方法、並びに提供媒体 | |
JP2002118853A (ja) | 画像復号装置及び画像復号方法 | |
TWI520618B (zh) | 影像資料處理方法以及影像處理裝置 | |
JP5206070B2 (ja) | 復号装置および復号方法 | |
KR100636911B1 (ko) | 색도 신호의 인터리빙 기반 동영상 복호화 방법 및 그 장치 | |
WO2010095181A1 (ja) | 可変長復号化装置 | |
JP3861317B2 (ja) | 可変長復号装置 | |
JP2019532578A (ja) | 処理装置及びその制御方法 | |
JP4888224B2 (ja) | 画像処理装置およびその方法、並びにプログラム | |
JP3637259B2 (ja) | 動画像解析処理方法及び装置 | |
KR100672376B1 (ko) | 움직임 보상 방법 | |
JP2009049460A (ja) | 画像処理装置およびその方法、並びにプログラム | |
JP2007265130A (ja) | 画像処理装置及び画像処理方法 | |
JP2007295333A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |