CN102075753B - 一种视频编解码中去块滤波方法 - Google Patents

一种视频编解码中去块滤波方法 Download PDF

Info

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
Application number
CN 201110007133
Other languages
English (en)
Other versions
CN102075753A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201110007133 priority Critical patent/CN102075753B/zh
Publication of CN102075753A publication Critical patent/CN102075753A/zh
Application granted granted Critical
Publication of CN102075753B publication Critical patent/CN102075753B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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多个视频的去块滤波测试结果
Figure BDA0000043748610000051
Figure BDA0000043748610000061
表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所述的方法,其特征在于,所述条件矩阵存储在多核/众核处理器中处理单元的共享内存中。
CN 201110007133 2011-01-13 2011-01-13 一种视频编解码中去块滤波方法 Expired - Fee Related CN102075753B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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