CN102075753B - 一种视频编解码中去块滤波方法 - Google Patents
一种视频编解码中去块滤波方法 Download PDFInfo
- Publication number
- CN102075753B CN102075753B CN 201110007133 CN201110007133A CN102075753B CN 102075753 B CN102075753 B CN 102075753B CN 201110007133 CN201110007133 CN 201110007133 CN 201110007133 A CN201110007133 A CN 201110007133A CN 102075753 B CN102075753 B CN 102075753B
- Authority
- CN
- China
- Prior art keywords
- macro block
- filtering
- boundary
- block
- coordinate
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频编解码中去块滤波方法,在对宏块进行滤波时,亮度边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;色度边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条。本发明的方法可以利用更多的空闲处理单元,使得同步耗费相比于现有技术明显减少;另外,各个宏块在滤波前,只需要和更少的宏块进行同步通信,减少了额外操作,进一步加快了整体滤波速度。
Description
技术领域
本发明涉及视频处理领域,更具体地,涉及视频编解码领域。
背景技术
H.264是ITU-T/ISO在2003年公布的最新的国际视频压缩编码标准,它大大提高了编码效率,其中一个重要原因是在编解码环路中引入了去块滤波。去块滤波也给视频压缩编码带来了很大的计算量,对于高清视频,去块滤波占用了大约38%的计算时间。在多核/众核处理器上,对去块滤波任务并行化,成为性能提高的重要途径。
目前存在的并行方法,一般是在处理单元比较少的多核处理器上进行宏块级并行,即利用处理器提供的指令,直接将不相关的宏块分配给不同的处理单元。每个宏块在处理之前,需要等待其相关宏块处理完毕,这样就需要一些额外的同步耗费。当在处理单元比较多的众核处理器上采用该并行方案时,并行度比较小,不能充分利用那么多的处理单元,导致多个处理单元空闲,同时宏块之间的同步耗费也大大降低了去块滤波的速度。
为了保证编码和解码中的去块滤波过程完全一致,编解码图像的去块滤波运算必须按照一定顺序进行。首先,对于宏块内部,在分别对每个宏块的亮度边界和色度边界进行处理的过程中,根据现有技术边界处理顺序为由左向右,由上向下,并且先处理竖直边界。图1a示出了16*16亮度数据,如图所示,图中黑色线条所示的亮度边界处理先后顺序依次为左边第1条、第2条、第3条、第4条、上边第1条、第2条、第3条、第4条;图1b示出了8*8色度数据,类似地,图中黑色线条所示的色度边界的处理先后顺序依次为左边第1条、第2条、上边第1条、第2条。其次,每帧图像中的宏块按照光栅扫描顺序进行处理,编码和解码过程都需要按照这个顺序。
由于如上所述的宏块内部边界的滤波顺序以及整个图像的宏块处理顺序,当前的宏块和临近的左宏块、上宏块和右上宏块三个临近宏块相关,如图2所示。由此在对当前宏块滤波前,需要对这三个相关宏块滤波。
在去块滤波的宏块级并行方案中,直接将不相关的宏块分配给不同的处理单元进行同时滤波。图3示出了现有技术中宏块处理时间顺序,其中每个方块代表帧图像中的一个宏块,数字代表该宏块的时间戳,具有相同数字的宏块可以并行处理。如图3所示,在开始滤波时,每过两个时间戳,并行度加一。如果处理单元数目足够多,帧图像高度和宽度上的宏块数分别为H和W,则最大并行度为min(ceil(W/2),H),其中min表示取最小值,ceil表示返回大于或者等于指定表达式的最小整数。如果对于当前宏块,其一个相关宏块所造成的同步耗费为C,那么整个帧图像的同步耗费近似于3*W*H*C。
发明内容
本发明的目的在于克服上述现有技术中的并行度小、同步耗费大以及滤波速度慢的问题。
根据本发明的一个方面,提供了一种视频编解码中去块滤波方法,在对宏块进行滤波时,亮度边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;色度边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条。
在上述方法中,处理器可以动态获取待滤波的宏块,也可以静态获取待滤波的宏块。
根据本发明的另一方面,还提供一种视频编解码中去块滤波方法,所述方法包括下列步骤:
1)将每个宏块的未处理的相关宏块的数量存储到条件矩阵;
2)将所述条件矩阵中数字“0”的对应宏块的坐标放入等待队列,同时将该数字更改为负,其中所述等待队列用于存储待滤波宏块的坐标;
3)空闲的处理单元从所述等待队列获得待滤波宏块的坐标,对待滤波宏块进行滤波,并更新所述条件矩阵,所述滤波时,亮度边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;色度边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条;
4)判断条件矩阵中是否还有数字“0”,如果还有,则转到步骤3,否则结束。
本发明可以利用更多的空闲处理单元,使得同步耗费相比于现有技术明显减少;另外,各个宏块在滤波前,只需要和更少的宏块进行同步通信,减少了额外操作,进一步加快了整体滤波速度。
附图说明
图1a和图1b分别是现有技术中亮度边界和色度边界的处理顺序示意图;
图2是现有技术中相关宏块示意图;
图3是现有技术中宏块处理时间顺序示意图;
图4是根据本发明一个优选实施例的亮度边界和色度边界的处理顺序示意图;
图5是根据本发明一个优选实施例的相关宏块示意图;
图6是根据本发明一个优选实施例的宏块处理时间顺序示意图;
图7是根据本发明一个优选实施例的去块滤波过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明一个优选实施例的视频编解码中去块滤波方法进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中,通过更改宏块内部边界的滤波顺序,来改变宏块之间的相关性,但这样并没有更改整个帧图像中的边界滤波顺序,并且不影响视频的质量。如图4a所示,根据本发明的优选实施例,在对每个宏块的亮度边界进行处理的过程中,边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;如图4b所示,在对每个宏块的色度边界进行处理的过程中,边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条。
由于宏块内部边界的滤波顺序的修改,宏块之间的相关性下降,如图5所示,当前宏块只和临近的左宏块和上宏块相关。在对当前宏块滤波前,需要对这两个相关宏块进行滤波。
图6示出了根据本发明的一个优选实施例减少了宏块之间的相关性之后的宏块处理时间顺序。与图3类似地,每个方块代表帧图像中的宏块,数字代表时间戳,具有相同数字的宏块可以并行处理。如图6所示,在开始滤波时,每过一个时间戳,并行度加一,比现有方法中并行度增加得更快。如果处理单元数目足够多,帧图像高度和宽度上的宏块数分别为H和W,最大并行度为min(W,H),其大于等于现有技术的最大并行度。如果对于当前宏块,其一个相关宏块所造成的同步耗费为C,那么整个帧图像的同步耗费近似于2*W*H*C。
由此,本发明可以允许更多的非相关宏块在处理器上并行滤波,较好地利用空闲处理单元,使得同步耗费相比于现有技术明显减少;另外,各个宏块在滤波前,只需要和更少的宏块进行同步通信,减少了额外操作,加快了整体滤波速度。
下面结合图7详细描述根据本发明优选实施例的视频编解码中去块滤波方法,该方法具体包括如下步骤:
1)初始化条件矩阵,条件矩阵用于记录每个宏块的状态,该矩阵中的每个数字表示其对应的宏块还需要等待多少个宏块处理之后才能进行处理,也就是表示其对应的宏块的未处理的相关宏块数量。条件矩阵可存储在多核/众核处理器中各个处理单元的共享内存中。
2)初始化等待队列为空,其中等待队列用于存储待滤波宏块的坐标。等待队列可存储在多核/众核处理器中各个处理单元的共享内存中。
3)检测条件矩阵,将条件矩阵中数字“0”的对应宏块的坐标放入等待队列,同时数字更改为负,例如将该数字更改为“-1”。
4)空闲的处理单元从等待队列获得待滤波宏块的坐标,根据上述宏块中亮度边界和色度边界处理顺序对宏块进行滤波,并更新条件矩阵。具体地,当坐标为(i,j)的宏块被滤波之后,将条件矩阵中坐标为(i+1,j)和(i,j+1)的宏块所对应的数字减1。
5)判断条件矩阵中是否还有数字“0”,如果还有“0”存在,则跳转到步骤3),否则结束。
在上述优选实施例中,提供了一种多核/众核处理器采用动态方式获取待滤波的宏块的去块滤波方法,本领域普通技术人员可以理解,多核/众核处理器也可以采用静态方式获取待滤波的宏块,例如对宏块进行逐行滤波。
利用本发明的上述方法和现有方法,分别在Tile64平台上对滤波进行实验。
Tile64是Tilera公司推出的一款众核处理器。它的64个处理单元由一个高速2D网络相连,形成一个8x8阵列。每个处理单元单个时钟周期运行三条指令,且具有一个16KB的L1缓存,其中包括8KB的指令缓存和8KB的数据缓存,同时每个处理单元具有自己的存储器直接访问(DMA)***。在Tile64平台上可以运行Tilera多核组件库(TMC)库中所包含的各种线程和处理单元绑定、处理单元之间通信等指令。滤波测试软件取自H.264参考软件JM15.1,测试的视频有“蓝天”、“行人”、“河床”等等,视频的格式包括四种:1280x720(HD),720x576(SD),352x288(CIF)和176x144(QCIF)。
测试结果如表1和表2所示,其中表1是对每个视频的测试结果,表2是对每种格式视频的测试结果的平均统计,在表1和表2中的“JM15.1”列表示串行执行去块滤波所需的时间,“加速比”表示现有方法所需时间除以本发明方法所需的时间得到的比例。从表中可见,本发明的方法有效提高了去块滤波的速度。
表1多个视频的去块滤波测试结果
表2多种格式视频的去块滤波测试统计结果
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
Claims (6)
1.一种视频编解码中去块滤波方法,在对宏块进行滤波时,亮度边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;色度边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条。
2.根据权利要求1所述的方法,其特征在于,处理器动态获取待滤波的宏块。
3.根据权利要求1所述的方法,其特征在于,处理器静态获取待滤波的宏块。
4.一种视频编解码中去块滤波方法,所述方法包括下列步骤:
1)将每个宏块的未处理的相关宏块的数量存储到条件矩阵;
2)将所述条件矩阵中数字“0”的对应宏块的坐标放入等待队列,同时将该数字更改为负,其中所述等待队列用于存储待滤波宏块的坐标;
3)空闲的处理单元从所述等待队列获得待滤波宏块的坐标(i,j),对待滤波宏块进行滤波,所述滤波时,亮度边界处理顺序为右边第4条、右边第3条、右边第2条、上边第1条、上边第2条、上边第3条、上边第4条、右边第1条;色度边界处理顺序为右边第2条、上边第1条、上边第2条、右边第1条;并将条件矩阵中坐标为(i+1,j)和(i,j+1)的宏块所对应的数字减1;
4)判断条件矩阵中是否还有数字“0”,如果还有,则转到步骤3,否则结束。
5.根据权利要求4所述的方法,其特征在于,所述等待队列存储在多核/众核处理器中处理单元的共享内存中。
6.根据权利要求4所述的方法,其特征在于,所述条件矩阵存储在多核/众核处理器中处理单元的共享内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110007133 CN102075753B (zh) | 2011-01-13 | 2011-01-13 | 一种视频编解码中去块滤波方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110007133 CN102075753B (zh) | 2011-01-13 | 2011-01-13 | 一种视频编解码中去块滤波方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102075753A CN102075753A (zh) | 2011-05-25 |
CN102075753B true CN102075753B (zh) | 2012-10-31 |
Family
ID=44034076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110007133 Expired - Fee Related CN102075753B (zh) | 2011-01-13 | 2011-01-13 | 一种视频编解码中去块滤波方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102075753B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253998B (zh) * | 2014-09-25 | 2017-05-10 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
CN104506867B (zh) * | 2014-12-01 | 2017-07-21 | 北京大学 | 采样点自适应偏移参数估计方法及装置 |
US10887622B2 (en) * | 2017-07-05 | 2021-01-05 | Qualcomm Incorporated | Division-free bilateral filter |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921625A (zh) * | 2006-09-15 | 2007-02-28 | 清华大学 | 去块效应滤波器的滤波方法与*** |
CN101076124A (zh) * | 2006-05-18 | 2007-11-21 | 北京大学深圳研究生院 | 去块滤波器 |
JP2009278371A (ja) * | 2008-05-14 | 2009-11-26 | Toshiba Corp | 復号化装置及び符号化装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
US20080159407A1 (en) * | 2006-12-28 | 2008-07-03 | Yang Nick Y | Mechanism for a parallel processing in-loop deblock filter |
-
2011
- 2011-01-13 CN CN 201110007133 patent/CN102075753B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076124A (zh) * | 2006-05-18 | 2007-11-21 | 北京大学深圳研究生院 | 去块滤波器 |
CN1921625A (zh) * | 2006-09-15 | 2007-02-28 | 清华大学 | 去块效应滤波器的滤波方法与*** |
JP2009278371A (ja) * | 2008-05-14 | 2009-11-26 | Toshiba Corp | 復号化装置及び符号化装置 |
Non-Patent Citations (11)
Title |
---|
.一种灵活的去块滤波算法.《电视技术》.2008,(第8期), |
刘玉娜 |
刘玉娜;王晓阳;樊丰;朱维乐;.一种灵活的去块滤波算法.《电视技术》.2008,(第8期), * |
周开伦 |
朱维乐 |
林涛.宏块级帧场自适应的去块效应滤波模块分析与优化.《微型机与应用》.2009,(第20期), |
樊丰 |
王军 |
王军;周开伦;林涛.宏块级帧场自适应的去块效应滤波模块分析与优化.《微型机与应用》.2009,(第20期), * |
王晓阳 |
袁鲲.AVS解码器帧内预测和去块滤波的设计与实现.《山东大学硕士论文》.2009, * |
Also Published As
Publication number | Publication date |
---|---|
CN102075753A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8855191B2 (en) | Parallelization of high-performance video encoding on a single-chip multiprocessor | |
RU2589341C2 (ru) | Размер элемента мозаичного изображения при кодировании видео | |
JP2019208247A5 (zh) | ||
KR101184244B1 (ko) | 비디오 블록들의 병렬 배치 디코딩 | |
CA2760425C (en) | Method and system for parallel encoding of a video | |
US8867606B2 (en) | Multi-core image encoding processing device and image filtering method thereof | |
CN105245897A (zh) | 用于在多核处理器上转码到高效视频编码的高效软件 | |
CN110337002B (zh) | 一种在多核处理器平台上hevc多层次并行解码方法 | |
CN103974081B (zh) | 一种基于多核处理器Tilera的HEVC编码方法 | |
KR20100017645A (ko) | 동적 움직임 벡터 분석방법 | |
CN104604235A (zh) | 用于视频处理的发送装置及其方法 | |
CN102625108B (zh) | 一种基于多核处理器实现的h.264解码方法 | |
KR20110055022A (ko) | 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법 | |
WO2016210177A1 (en) | Parallel intra-prediction | |
US20070279422A1 (en) | Processor system including processors and data transfer method thereof | |
CN102075753B (zh) | 一种视频编解码中去块滤波方法 | |
KR20110038349A (ko) | 멀티프로세서기반의 영상 복호화 장치 및 방법 | |
CN108540797A (zh) | 基于多核平台的hevc帧内/帧间联合wpp编码方法 | |
WO2024098821A1 (zh) | Av1的滤波方法及装置 | |
CN101252691A (zh) | 一种多处理器并行实现高分辨率图像滤波的方法 | |
CN112422986B (zh) | 硬件解码器流水线优化方法及应用 | |
JP6202912B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
CN112422983B (zh) | 通用多核并行解码器***及其应用 | |
Jiang et al. | Highly paralleled low-cost embedded HEVC video encoder on TI KeyStone multicore DSP | |
CN110446043A (zh) | 一种基于多核平台的hevc细粒度并行编码方法 |
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: 20121031 Termination date: 20210113 |