CN101198983B - 生成用于去块滤波器的边缘掩码的设备和方法 - Google Patents
生成用于去块滤波器的边缘掩码的设备和方法 Download PDFInfo
- Publication number
- CN101198983B CN101198983B CN2006800210130A CN200680021013A CN101198983B CN 101198983 B CN101198983 B CN 101198983B CN 2006800210130 A CN2006800210130 A CN 2006800210130A CN 200680021013 A CN200680021013 A CN 200680021013A CN 101198983 B CN101198983 B CN 101198983B
- Authority
- CN
- China
- Prior art keywords
- edge
- index
- video data
- masks
- equipment
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000001914 filtration Methods 0.000 claims description 43
- 238000003860 storage Methods 0.000 claims description 2
- 230000008030 elimination Effects 0.000 claims 4
- 238000003379 elimination reaction Methods 0.000 claims 4
- 238000002372 labelling Methods 0.000 claims 1
- 230000014759 maintenance of location Effects 0.000 claims 1
- 230000009471 action Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 3
- 238000007514 turning Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 241001354504 Dracophyllum latifolium Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- RSXXGWGVKBYFGH-UHFFFAOYSA-N grandone Natural products CC(=CCC1=C(O)C(CC=C(C)C)(CC=C(C)C)C(=C(C(=O)c2ccccc2)C1=O)O)C RSXXGWGVKBYFGH-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G06T5/70—
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种去块单元可以包括缓冲器、边缘掩码发生器和去块滤波器。缓冲器可以存储包括块的视频数据。这些块可以对应于宏块的至少一部分。边缘掩码发生器可以生成特定的边缘掩码,该边缘掩码定义将要去块的块间边缘。边缘掩码发生器可以包括用于存储多个边缘掩码的边缘掩码存储器和用于在这些边缘掩码中选择特定边缘掩码的逻辑。该逻辑可以基于缓冲器中的视频数据的类型和宏块的位置偏移量进行选择。去块滤波器可以基于来自边缘掩码发生器的特定边缘掩码对缓冲器中的视频数据块之间的边缘去块。
Description
技术领域
所要求权利的本发明的实现一般可以涉及用于编码和/或解码视频信息的方案,更具体地说,涉及在它们的视频处理中采用去块滤波器的这些方案。
背景技术
可以在帧或其它视频对象(如视频对象平面(VOP))内分块组织视频信息。在一些视频编码/解码方案中,一个块可以包括一组(2×2、4×4、8×8等)例如亮度(即,Y)象素。在色度(即,U/V或Cr/Cb)象素中也可以反映类似的数据组织。在一些方案中,还可将亮度和色度视频信息块集合成所谓的宏块。但是,应注意,上述块和宏决大小只是示例性的,在各种视频编码/解码方案中也可采用其它大小和数量。
某些视频编码/解码方案可以采用去块滤波器来使相邻块之间的边缘平滑。这些去块滤波器可以改善解码后的视频数据的外观,并且可以改善编码后的视频数据的压缩性能。这种滤波可以应用于亮度和/或色度分量的相邻块的垂直和/或水平边缘。采用去块滤波器的一些视频方案可以包括但不限于高级视频编码(AVC)(如MPEG-4第10部分和ITU-T建议H.264)、Windows Media Video 9(WMV-9)和/或SMPTE的VC-1。
但是,对于一些宏块,去块滤波器可能不能对宏块内的所有可能的垂直和水平边缘进行操作。在这些情况下,可以利用边缘掩码来精确地指定将对哪些垂直边缘和哪些水平边缘滤波。为不同的宏块(或宏块的若干部分)生成这样的边缘掩码可能在给定的解码和/或编码过程中占用过长的时间。
附图说明
附图并入本说明书中并构成本说明书的一部分,它们示出和本发明的原理一致的一个或多个实现,并且与本描述一起说明这些实现。附图不一定按比例绘制,而是将重点放在说明本发明的原理上。
图中:
图1示出视频编码系统的一部分;
图2示出图1的系统中的示例性去块滤波器;
图3A和3B在概念上示出示例性数据缓冲器和边缘掩码;
图4示出图2的滤波器中的示例性边缘掩码发生器;
图5A和5B示出宏块位置偏移量;以及
图6示出视频数据的示例性去块过程。
具体实施方式
以下详细描述参照附图。不同的图中可以使用相同的附图标记来标识相同或类似的元件。在以下描述中,为了说明而不是限制的目的,阐述了诸如特定结构、架构、接口、技术等具体细节,以便充分理解所要求的发明的各个方面。但是,从本公开获益的本领域的技术人员将明白,所要求的发明的各个方面可以在不背离这些具体细节的其它示例中实现。在某些情况下,省略了对众所周知的装置、电路和方法的描述,以免让不必要的细节混淆对本发明的描述。
图1示出视频编码系统100的一部分。系统100可以包括解码器或编码器,任何一个都可包括其它部分,为了清楚地说明,图1中没有示出这些其它部分。例如,如图所示的系统100部分可以在熵解码和重新排序之后设置在解码器中,或者可以将它设置在编码器的重建路径中。
如图1所示的系统100部分可以包括逆量化器(Q-1)110、逆变换器(T-1)120和去块滤波器130。逆量化器110可以缩放系数。该缩放可以在量化之后在编码器中执行,或在熵解码和重新排序之后 在解码器中执行。
逆变换器120可以对由逆量化器110输出的缩放系数执行逆变换。在一些实现中,逆变换器120可以执行离散余弦逆变换(IDCT)。但是,在一些实现中,逆变换器120可以执行另一逆变换,如逆哈达玛(Hadamard)变换、逆小波变换或其它目前已知或以后开发的逆变换。逆变换器120可以产生重建的视频数据块或差异决,这些差异块可以添加到预测块(未示出)中以便产生重建的视频数据块。通过任一种方法,逆变换器120可以为去块滤波器130输出重建的数据决(以及因此的宏块)用于操作。
去块滤波器130可以对视频数据宏块中的块进行操作。去块滤波器130可以对宏块中的各块之间的垂直和/或水平边缘应用滤波。尽管去块滤波器130可以进行操作以便使宏块中的各块之间的边缘平滑,但它不一定对正好是一个宏块的块进行操作。例如,去块滤波器130可以对大于一个宏块的块集合作用,或者可以对小于一个宏块的块集合作用。
图2示出去块滤波器130的实现。去块滤波器130可以包括缓冲器210、边缘掩码发生器220和滤波器部分230。尽管为便于说明而示为以某一方式连接,但图2中的去块滤波器130可以按其它配置连接。例如,可以从缓冲器210直接输出经过滤波的视频数据,而不是如图所示那样经由滤波器230输出。其它变化也是可能且可设想其它变化。
缓冲器210可以包括用于在执行边缘滤波时(例如,在此之前、在此过程中等)存储多个视频数据块的存储器。例如,缓冲器210可以包括同步或异步随机存取存储器(RAM)。在一些实现中,缓冲器210的大小可以设计成用于容纳约一个宏块(如8×8、4×8、8×4、4×4个块)的视频数据。在一些实现中,缓冲器210的大小可以设计成用于容纳大于一个宏块的视频数据。例如,缓冲器210还可以包括用于存储与宏决相邻的一个或多个块的空间,如6×6块布 置,这将在下文参照图3A和3B进行更详细地描述。在一些实现中,缓冲器210可以容纳更多的数据,如两个或两个以上宏块。
可以将边缘掩码发生器220设置成用于生成边缘掩码,该边缘掩码定义缓冲器210中的各块内待由滤波器部分230去块-滤波的特定边缘。边缘掩码发生器220可以生成对应于缓冲器210中的块数量的边缘掩码,但由于滤波器部分230的带宽和/或其它处理限制,可能不能对所有可能的边缘进行滤波。例如,在一些实现中,边缘掩码发生器220可以为缓冲器210中的给定量的数据的多达6个水平边缘和/或多达6个垂直边缘生成掩码(例如,可以指导对它们进行滤波)。但是,在掩码中标识为去块的更少或更多数量的水平和垂直边缘也是可以的。这些概念将参照图3A和3B更详细地说明。
图3A在概念上示出包括块310和将要滤波的水平边缘320以及对应的水平边缘掩码330的示例性数据缓冲器210。为便于说明,图3A示出缓冲器210的将要滤波的水平边缘,且图3B示出缓冲器中的同一数据的垂直边缘。在如图3A和3B所示的示例中,缓冲器210可以包括6×6个视频数据块310。而且,在这6×6个块内,宏块可以位于缓冲器210的最右下面的4×4个块中,但宏块也可以位于缓冲器210内的其它位置。
如图所示,缓冲器210中的这6×6个块可以包括块中的5组水平边缘(如hedge 0-hedge 4)和块中的5组垂直边缘(如vedge 0-vedge4)。在图3A中,将待滤波(如“待去块”)的6个水平边缘320相对于其它水平边缘示为粗体。图3A中还示出不滤波的水平边缘,但它们不是粗体。
水平边缘掩码330对应于图3A中的缓冲器210内的指定边缘。掩码330的大小(如5×5)表示缓冲器210中的6×6个块内的水平边缘的总数。掩码330中将要滤波的边缘示为“1”,而不滤波的边缘示为“0”。尽管可以如图所示表示边缘掩码330(例如,表示成5个由0和1的组成的组),但它也可以用更紧凑的格式表示,如一 个词或两个十六进制字符。这些字符可以表示将经由滤波器230对哪些边缘行以及那些行内的哪些位置/边缘去块。
图3B在概念上示出包括块310和将要滤波的垂直边缘340以及对应的垂直边缘掩码350的示例性数据缓冲器210。与图3A中的六个水平边缘320相比,图3B中只存在两个将要滤波的垂直边缘340。在垂直边缘掩码350中,将这些将要滤波的垂直边缘340示为“1”,而不滤波的垂直边缘由“0”表示。
尽管图3A和图3B中分开介绍了边缘掩码330和350,但它们在实现中不一定分开。例如,可以使用包括将要滤波的水平和垂直边缘的组合式边缘掩码。但是,在一些实现中,独立的水平掩码330和垂直掩码350可以从边缘掩码发生器220输出到滤波器部分230。例如,这样分段可以允许用单个词表示将要滤波的所有水平边缘320或将要滤波的所有垂直边缘340,从而允许用两个词来将一个完整的边缘掩码传输给滤波器部分230。
图4示出边缘掩码发生器220的一个实现。图4中的发生器220可以基于以下三个标准来生成边缘掩码:1)视频数据是亮度还是色度类型的数据;2)是想要重叠还是环内滤波;以及3)相关宏块在它的视频对象内的位置。下文将对这些标准进一步说明。边缘掩码发生器220可以包括索引存储器410、复用器420-440、组合器450和掩码存储器460。
索引存储器410可以包括用于存储多个索引的存储元件,如只读存储器(ROM)或RAM。如图所示,索引存储器410可以存储亮度重叠(overlapping OV)表索引、亮度环内(in-loop IL)表索引、色度重叠表索引和色度环内表索引。索引存储器410中的索引可以概念化为不同边缘掩码类别的组的数量。在图4的发生器220中,可以基于索引存储器410中的索引选择四种类别的边缘掩码,但是在其它实现中,这个数字可以更小或更大。
复用器420-440可以在OV/IL和亮度/色度选择线的基础上从索 引存储器410选择其中一个索引。复用器420和430可以基于所指定的是IL还是OV滤波来选择合适的亮度和色度索引。该滤波可以由缓冲器210中的视频数据的参数来指定,如数据序列层中的INLOOP和/或OVERLAP标记。复用器440可以基于缓冲器210中的视频数据是亮度数据还是色度数据来在这些亮度和色度索引之间进行选择。在一些实现中,OV/IL和亮度/色度选择线可以与复用器420和430的输入一起交换,以便从复用器440产生相同的输出。
可以利用由复用器440输出的“表索引”来选择掩码存储器460中的某个表。如下文将说明,可以利用图4中的“宏块位置偏移量”来选择由来自复用器440的表索引所指定的表中的某一项。将参照图5A和5B进一步说明宏块位置偏移量。
图5A和5B示出宏块位置偏移量。去块滤波器130可以按照到达顺序对宏块进行处理,如MB0、MB1、...、MBn-1,其中n=视频对象(如帧)中宏块的总数。每个宏块可以位于对象/帧中的九个一般位置之一处,并且该位置可以由视频数据中的宏块报头参数字段定义。
图5A示出视频数据帧510和宏块在帧510内的九个可能的位置。这些位置中的四个位置可以位于帧510的“拐角”处,在这些“拐角”处,一个宏块与帧510的两个边界毗邻。如图所示,可以将这些位置表示成“左上”、“右上”、“左下”和“右下”。这些位置中的四个位置可以沿着帧510的排除拐角以外的边界,在这些边界处,一个宏块只和帧510的一个边界毗邻。如图所示,可以将这些位置表示成“内上”、“内右”、“内下”和“内左”。可以将不和帧510的任何边界毗邻的宏块归类为“内-内”。
图5B示出宏块位置/定位和对应的十六进制值的表520。这些十六进制值可以在宏块的报头信息中找到。例如,表520中的特定值可以在用VC1方案编码的视频数据宏块的m_bBoundary字段中找到。但是,也可以在按照其它视频编码方案编码的宏块中找到类似 的位置值。表520中的这些位置值可以用于图4中的边缘掩码发生器220中的宏块位置偏移量。
返回到图4,组合器450可以将宏块位置偏移量和表索引,以便输出所得索引值组合。在一些实现中,组合器450可以包括用于将宏块位置偏移量加到表索引中的加法器。在一些实现中,适当时,组合器450可以包括用于在算术上(例如,减法器等)和/或在逻辑上(例如,“与”、“异或”等)将宏块位置偏移量和表索引组合的其它逻辑。所得索引值可以指向掩码存储器460中的位置。
掩码存储器460可以包括适合存储例如索引表470和掩码表480的存储元件,如ROM或RAM或任何类型的基于栅极的存储设备。索引表470可以由来自组合器450的所得索引值标引。尽管为了便于说明,图4中只示出一个索引表470,但应注意,这个表对应于由复用器440输出的表索引。实际上,索引表470的数量可以对应于索引存储器410中的表索引的数量(如四)。
宏块位置偏移量与表索引的组合可以确定所得索引值选择索引表470中的哪个项。例如,如果宏块索引值指示所述的宏块是内左宏块,那么所得索引值可以标引表470中的“内左”项。索引表470中的这个项可以包含指向掩码表480的指针或索引。
掩码表480可以对应于给定的索引表470(例如,也可以存在多个如上所述的表),并且可以包括将供去块滤波器130的滤波器部分230使用的对应水平和垂直边缘掩码。例如,索引表470中的“内左”项可以指向掩码表480中的水平边缘掩码MaskIL(H)。表470中的该项还可能隐含地指向掩码表480中的垂直边缘掩码MaskIL(v),因为该垂直边缘掩码可以是例如表480中紧跟在MaskIL(H)之后的项。因此,边缘掩码发生器220可以从掩码表480中输出指定将由滤波器部分230去块的水平边缘的水平边缘掩码和指定将由滤波器部分230去块的垂直边缘的垂直边缘掩码。
在一些实现(未示出)中,掩码表480中的各项可以同时指定 将要滤波的水平和垂直边缘。例如,索引表470中的“内左”项可以指向掩码表480中给定的水平和垂直编号边缘n(n=0、...4;见图3A和3B,编号的Hedge和Vedge值)的组合垂直和水平边缘掩码MasknIL(V_H)。因此,例如,Mask3IL(V_H)可以指定将沿水平边缘3去块的所有水平边缘以及将沿垂直边缘3去块的所有垂直边缘。表470中的该项还可以隐含地指向表480中的其它编号边缘n的一个或多个额外MasknIL(V_H)值。对于掩码表480,涉及那些本文明确描述的项的不同编号和排列的其它方案和实现也是可以的。因此,边缘掩码发生器220可以从掩码表480中输出为给定编号边缘指定将由滤波器部分230去块的水平和垂直边缘的一个或多个边缘掩码。
尽管为方便起见将要素470和480作为“表”进行描述,但也可以将它们实现为链接列表、一系列指针或任何其它合适的数据结构。此外,在一些实现中,可以在存储器460中的单个数据结构内布置边缘掩码Maskxx。例如,可以将发生器450、表索引和宏块位置偏移量设计成使得所得索引值指向该结构中的每隔一个值,以便同时标引水平边缘掩码和(隐含地)垂直边缘掩码。此外,其它实现可以涉及同时指定宏块内将要滤波的水平和垂直边缘的单个边缘掩码。或者,可以为给定宏块采用多于两个边缘掩码(如水平和垂直)。对于和本文的公开一致的边缘掩码发生器220,其它实现也是可以的。
返回到图2,滤波器部分230可以基于来自边缘掩码发生器220的一个或多个边缘掩码对缓冲器210中的块之间的水平和/或垂直边缘执行去块。对于由边缘掩码指定用于去块的每个边缘,滤波器部分230可以影响所述的边缘的任一边上多达约三个样本。滤波器部分230所施加的滤波的强度可以取决于例如当前的量化器、相邻块的编码模式和/或边缘上的样本的梯度。这些因素及其应用于去块通常已知,这里不再赘述。
在一些实现中,滤波器部分230可以从缓冲器210读取所有或 大部分将要滤波的样本。滤波器部分230可以在执行去决之后执行相应的将滤波后的样本写入到缓冲器210中的操作。但是,在一些实现中,滤波器部分230也可以在每个边缘的基础上执行往来于缓冲器210的去块读取和替换操作。
图6示出视频数据的示例去块过程600。尽管为方便和清楚地说明可以参照图2中的去块滤波器130描述图6,但应了解,过程600可以由其它滤波器执行。
处理可以从在缓冲器210中加载视频数据[动作610]开始。如前所述,缓冲器210可以保存多于或少于一个宏块的视频数据。缓冲器210还可以在任何时间存储亮度和/或色度视频数据。
基于缓冲器210中的视频数据的类型,边缘掩码发生器220可以生成用于指定缓冲器210中的块之间的将要去块的边缘的一个或多个边缘掩码[动作620]。例如,逻辑(如元件410-440)可以指定特定表470,可以在该特定表470中查找将要滤波的边缘。其它逻辑(如组合器450)可以利用来自缓冲器210中的宏块的信息来指定表470内进一步指定边缘的位置。在一些实现中,发生器220可以为将要去块-滤波的水平边缘和垂直边缘产生独立的掩码。但是,在一些实现中,发生器220可以产生标识水平和垂直边缘的单个掩码。
处理可以继续,滤波器部分230基于来自发生器220的一个或多个边缘掩码对缓冲器210中的视频数据去块-滤波[动作630]。该处理的顺序很大程度上取决于加载在缓冲器210中的数据,并且可以遵循某些惯例,如先处理亮度数据再处理色度数据。也可以遵循其它惯例,如先对水平边缘去块-滤波再对垂直边缘去块-滤波,或者先对垂直边缘去块-滤波再对水平边缘去块-滤波。在对视频数据滤波之后,可以将它写入到缓冲器210中,以便可以替换相应的未经滤波的数据。
在对缓冲器210中的数据执行完所有滤波之后,可以将该数据卸载到它的处理链中的下一个目的地[动作640]。如之前所提到的, 该下一个目的地可以取决于滤波器130是位于解码器中还是位于编码器中而改变。在一些实现中,当对数据去块时,可以依序卸载缓冲器210,并且当移除经过滤波的数据时,可以将新数据写入到缓冲器210中[动作610]。在一些实现中,动作640可能只有在滤波器部分230处理完缓冲器210中的所有数据之后才发生(例如,当对缓冲器210中的数据完全去块时)。
以上对一个或多个实现的描述提供了图解和描述,但不希望它们是独占性的或将本发明的范围限制在所公开的确切形式。根据以上教导,修改和改变是可能的,或者可以从本发明的各种实现的实践中获得修改和改变。
例如,尽管描述成分立的功能单元,但图2和图4中的元件也可以在硬件和/或固件的任意组合中(例如,在寄存器传送逻辑(RTL)或类似设计方案中)实现。此外,图6中的动作不需要按所示顺序实现;也不一定要执行所有动作。而且,那些与其它动作无关的动作可以和那些其它动作并行执行。此外,可以将该图中的至少一些动作实现为可以在机器可读介质中实现的指令或指令组。
除非明确描述,否则不应将本申请的描述中所用的任何元件、动作或指令理解为对于本发明至关重要或必需。而且,本文所用的冠词“一”用于包括一个或多个项。在基本不背离本发明的精神和原理的情况下,可以对所要求的发明的上述一个(或多个)实现做出改变和修改。希望所有这些修改和改变都在本文中包含在本公开的范围内并受随附权利要求的保护。
Claims (19)
1.一种生成用于去块滤波器的边缘掩码的设备,包括:
存储器,包括多个表,所述多个表包括标识将要去块滤波的边缘的、用于至少两种不同类型的边缘的边缘掩码信息;
第一模块,用于基于边缘的类型在所述多个表中指定一个边缘掩码信息表;以及
第二模块,用于指定一个所述表内的特定项,所述特定项对应于至少一组边缘掩码信息。
2.如权利要求1所述的设备,其特征在于,所述第一模块包括:
复用器,用于基于将要去块滤波的视频数据是亮度数据还是色度数据来输出表索引。
3.如权利要求1所述的设备,其特征在于,所述第一模块包括:
复用器,用于基于将要去块滤波的视频数据是环内数据还是重叠数据来输出表索引。
4.如权利要求1所述的设备,其特征在于,所述第二模块包括:
组合器,用于将来自所述第一模块的表索引和与将要去块滤波的视频数据关联的宏块位置偏移量组合。
5.如权利要求1所述的设备,其特征在于,一个所述表内的所述特定项包括指向所述至少一组边缘掩码信息的指针。
6.如权利要求5所述的设备,其特征在于,所述至少一组边缘掩码信息包括水平边缘掩码和垂直边缘掩码。
7.如权利要求1所述的设备,还包括:
索引存储器,连接到所述第一模块且包括指向包括所述多个表的存储器的多个索引。
8.一种生成用于去块滤波器的边缘掩码的设备,包括:
缓冲器,用于存储包括对应于宏块的至少一部分的块的视频数据;
边缘掩码发生器,用于生成定义将要去块的块间边缘的特定边缘掩码,所述边缘掩码发生器包括:
用于存储多个边缘掩码的边缘掩码存储器,和
用于基于所述缓冲器中的所述视频数据的类型和所述宏块的位置偏移量在所述多个边缘掩码中选择所述特定边缘掩码的模块;以及
去块滤波器,用于基于来自所述边缘掩码发生器的所述特定边缘掩码对所述缓冲器中的视频数据块之间的边缘进行去块。
9.如权利要求8所述的设备,其特征在于,所述边缘掩码发生器还包括:
索引存储器,包括指向所述边缘掩码存储器的多个索引。
10.如权利要求9所述的设备,其特征在于,所述模块还包括:
至少一个复用器,用于基于所述缓冲器中的所述视频数据是亮度数据还是色度数据来从所述索引存储器中的所述多个索引中选择选定的索引;以及
组合器,用于将所述选定的索引和所述宏块的位置偏移量组合,以便产生用于在所述边缘掩码存储器中选择所述特定边缘掩码的所得索引。
11.如权利要求10所述的设备,其特征在于,所述至少一个复用器基于所述缓冲器中的所述视频数据是重叠数据还是环内数据来从所述索引存储器中的所述多个索引中选择所述选定的索引。
12.如权利要求8所述的设备,其特征在于,所述缓冲器存储整个视频数据宏块和不包含在所述宏块中的至少一个相邻视频数据块。
13.如权利要求8所述的设备,其特征在于,所述特定边缘掩码包括一个或多个将要去块的水平边缘。
14.如权利要求8所述的设备,其特征在于,所述特定边缘掩码包括一个或多个将要去块的垂直边缘。
15.一种生成用于去块滤波器的边缘掩码的方法,包括:
将视频数据加载到缓冲器中,所述视频数据包括多个相邻块;
基于所述缓冲器中的所述视频数据的特性从多个存储的索引中选择第一索引;
将所述第一索引和从所述视频数据获得的宏块位置偏移量组合,以便产生组合索引;
根据视频数据的类型,基于所述组合索引生成至少一个边缘掩码;以及
对所述缓冲器中的所述视频数据滤波,以便对由所述至少一个边缘掩码标识的块间边缘去块。
16.如权利要求15所述的方法,还包括:
在所述滤波之后从所述缓冲器卸载所述视频数据。
17.如权利要求15所述的方法,其特征在于,所述选择包括:
基于所述视频数据是亮度数据还是色度数据来选择所述第一索引。
18.如权利要求15所述的方法,其特征在于,所述选择包括:
基于所述视频数据中环内标记或重叠标记的存在来选择所述第一索引。
19.如权利要求15所述的方法,其特征在于,所述生成包括:利用所述组合索引来查找水平边缘掩码和垂直边缘掩码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/103,391 US8149926B2 (en) | 2005-04-11 | 2005-04-11 | Generating edge masks for a deblocking filter |
US11/103,391 | 2005-04-11 | ||
PCT/US2006/013801 WO2006110863A1 (en) | 2005-04-11 | 2006-04-11 | Generating edge masks for a deblocking filter |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210063020.4A Division CN102708542B (zh) | 2005-04-11 | 2006-04-11 | 生成用于去块滤波器的边缘掩码 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101198983A CN101198983A (zh) | 2008-06-11 |
CN101198983B true CN101198983B (zh) | 2012-05-16 |
Family
ID=36649651
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210063020.4A Expired - Fee Related CN102708542B (zh) | 2005-04-11 | 2006-04-11 | 生成用于去块滤波器的边缘掩码 |
CN2006800210130A Expired - Fee Related CN101198983B (zh) | 2005-04-11 | 2006-04-11 | 生成用于去块滤波器的边缘掩码的设备和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210063020.4A Expired - Fee Related CN102708542B (zh) | 2005-04-11 | 2006-04-11 | 生成用于去块滤波器的边缘掩码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8149926B2 (zh) |
EP (1) | EP1869636B1 (zh) |
KR (1) | KR100941533B1 (zh) |
CN (2) | CN102708542B (zh) |
TW (1) | TWI366400B (zh) |
WO (1) | WO2006110863A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383421B2 (en) * | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US8149926B2 (en) | 2005-04-11 | 2012-04-03 | Intel Corporation | Generating edge masks for a deblocking filter |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
US9794593B1 (en) * | 2005-12-09 | 2017-10-17 | Nvidia Corporation | Video decoder architecture for processing out-of-order macro-blocks of a video stream |
US9516326B1 (en) | 2005-12-09 | 2016-12-06 | Nvidia Corporation | Method for rotating macro-blocks of a frame of a video stream |
CN101371264A (zh) * | 2006-01-10 | 2009-02-18 | 光明测量公司 | 用于在并行处理系统中处理多媒体数据的子块的方法和装置 |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
US9143803B2 (en) * | 2009-01-15 | 2015-09-22 | Qualcomm Incorporated | Filter prediction based on activity metrics in video coding |
US8363978B2 (en) * | 2009-03-03 | 2013-01-29 | Samsung Electronics Co., Ltd. | System and method for block edge location with varying block sizes and offsets in compressed digital video |
KR101457396B1 (ko) | 2010-01-14 | 2014-11-03 | 삼성전자주식회사 | 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치 |
CN101867704A (zh) * | 2010-05-20 | 2010-10-20 | 苏州新海宜通信科技股份有限公司 | 一种去除视频图像块状噪声的方法 |
KR101438471B1 (ko) | 2011-01-03 | 2014-09-16 | 미디어텍 인크. | 필터 유닛 기반 인-루프 필터링 방법 |
KR101215152B1 (ko) * | 2011-04-21 | 2012-12-24 | 한양대학교 산학협력단 | 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치 |
CN106028050B (zh) * | 2011-05-16 | 2019-04-26 | 寰发股份有限公司 | 用于亮度和色度分量的样本自适应偏移的方法和装置 |
US20120294353A1 (en) | 2011-05-16 | 2012-11-22 | Mediatek Inc. | Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components |
CN106941608B (zh) * | 2011-06-30 | 2021-01-15 | 三菱电机株式会社 | 图像编码装置及方法、图像解码装置及方法 |
US9185404B2 (en) * | 2011-10-07 | 2015-11-10 | Qualcomm Incorporated | Performing transform dependent de-blocking filtering |
US9386326B2 (en) | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
US9294766B2 (en) | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
US11069095B1 (en) * | 2020-06-02 | 2021-07-20 | Nvidia Corporation | Techniques for efficiently sampling an image |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2947136B2 (ja) * | 1995-09-14 | 1999-09-13 | 日本電気株式会社 | 光増幅器 |
JP2792489B2 (ja) | 1995-11-17 | 1998-09-03 | 日本電気株式会社 | 適応フィルタ |
JPH10290368A (ja) | 1997-04-15 | 1998-10-27 | Fuji Photo Film Co Ltd | 輪郭強調方法 |
KR100411348B1 (ko) * | 2001-12-29 | 2003-12-18 | 엘지전자 주식회사 | 에지 검출 방법과 장치 |
US7227901B2 (en) | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
CN101616330B (zh) * | 2003-07-16 | 2012-07-04 | 三星电子株式会社 | 用于色彩图像的视频编码/解码装置和方法 |
US20050013494A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | In-loop deblocking filter |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US8149926B2 (en) | 2005-04-11 | 2012-04-03 | Intel Corporation | Generating edge masks for a deblocking filter |
-
2005
- 2005-04-11 US US11/103,391 patent/US8149926B2/en not_active Expired - Fee Related
-
2006
- 2006-04-10 TW TW095112705A patent/TWI366400B/zh not_active IP Right Cessation
- 2006-04-11 EP EP06749991.3A patent/EP1869636B1/en not_active Not-in-force
- 2006-04-11 CN CN201210063020.4A patent/CN102708542B/zh not_active Expired - Fee Related
- 2006-04-11 CN CN2006800210130A patent/CN101198983B/zh not_active Expired - Fee Related
- 2006-04-11 KR KR1020077025346A patent/KR100941533B1/ko not_active IP Right Cessation
- 2006-04-11 WO PCT/US2006/013801 patent/WO2006110863A1/en active Application Filing
Non-Patent Citations (3)
Title |
---|
JP特开平10-290368A 1998.10.27 |
陆亮,楼剑,虞露.H.264编码环中的去块效应滤波系统.电视技术 7.2003,(7),第12-14页. |
陆亮,楼剑,虞露.H.264编码环中的去块效应滤波系统.电视技术 7.2003,(7),第12-14页. * |
Also Published As
Publication number | Publication date |
---|---|
TW200715866A (en) | 2007-04-16 |
CN102708542B (zh) | 2014-12-17 |
TWI366400B (en) | 2012-06-11 |
US8149926B2 (en) | 2012-04-03 |
KR20080004560A (ko) | 2008-01-09 |
CN101198983A (zh) | 2008-06-11 |
CN102708542A (zh) | 2012-10-03 |
WO2006110863A1 (en) | 2006-10-19 |
EP1869636B1 (en) | 2014-06-18 |
EP1869636A1 (en) | 2007-12-26 |
KR100941533B1 (ko) | 2010-02-10 |
US20060227883A1 (en) | 2006-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101198983B (zh) | 生成用于去块滤波器的边缘掩码的设备和方法 | |
CN103891292B (zh) | 视频数据环路滤波处理方法及其装置 | |
CN104244007B (zh) | 一种图像编码方法和装置及解码方法和装置 | |
CN105704491B (zh) | 图像编码方法、解码方法、编码装置和解码装置 | |
CN105491376B (zh) | 图像编码、解码方法及装置 | |
CN112383781B (zh) | 参考块的位置决定其重构阶段的块匹配编解码方法和装置 | |
CN105120271B (zh) | 视频编解码方法与装置 | |
CN109479138A (zh) | 图像编码/解码方法和装置 | |
CN105794206B (zh) | 用于重建视频的自适应环路滤波方法 | |
CN104885463B (zh) | 编码/解码图像的方法和使用其的设备 | |
CN113068032B (zh) | 图像编解码方法、编码器、解码器以及存储介质 | |
CN104584561A (zh) | 应用于视频译码器中的取样自适应偏移处理方法及装置 | |
CN103997650B (zh) | 一种视频解码的方法和视频解码器 | |
CN106851268A (zh) | 使用列的图像分割方法和系统 | |
US11051045B2 (en) | High efficiency adaptive loop filter processing for video coding | |
CN104754362B (zh) | 使用精细划分块匹配的图像压缩方法 | |
CN101543079B (zh) | 解码电路、解码方法、编码电路以及编码方法 | |
CN110278442A (zh) | 用于对恢复的图像执行滤波的图像处理装置及其滤波方法 | |
CN101472176A (zh) | 基于边界强度因子进行去块效应滤波的解码方法和装置 | |
CN104253998B (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
CN103051892A (zh) | 内嵌式回路滤波方法以及内嵌式回路滤波装置 | |
CN105847842A (zh) | 图像编码方法及装置、图像解码方法及装置 | |
CN104521234A (zh) | 合并去区块处理和取样自适应偏移处理的视频处理方法和装置 | |
CN103702132B (zh) | 滤波方法、装置及设备 | |
WO2016119746A1 (zh) | 图像编码方法及装置、图像解码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120516 Termination date: 20170411 |