+ All Categories
Home > Documents > PAPER Special Section on Circuit, System, and Computer...

PAPER Special Section on Circuit, System, and Computer...

Date post: 14-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
10
1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013 PAPER Special Section on Circuit, System, and Computer Technologies A Dual-Mode Deblocking Filter Design for HEVC and H.264/AVC Muchen LI a) , Jinjia ZHOU , Dajiang ZHOU , Xiao PENG , Nonmembers, and Satoshi GOTO , Fellow SUMMARY As the successive video compression standard of H.264/AVC, High Eciency Video Codec (HEVC) will play an important role in video coding area. In the deblocking filter part, HEVC inherits the basic property of H.264/AVC and gives some new features. Based on this variation, this paper introduces a novel dual-mode deblocking filter archi- tecture which could support both of the HEVC and H.264/AVC standards. For HEVC standard, the proposed symmetric unified-cross unit (SUCU) based filtering scheme greatly reduces the design complexity. As a result, processing a 16 ×16 block needs 24 clock cycles. For H.264/AVC standard, it takes 48 clock cycles for a 16 × 16 macro-block (MB). In synthesis result, the proposed architecture occupies 41.6k equivalent gate count at frequency of 200 MHz in SMIC 65 nm library, which could satisfy the throughput re- quirement of super hi-vision (SHV) on 60 fps. With filter reusing scheme, the universal design for the two standards saves 30% gate counts than the dedicated ones in filter part. In addition, the total power consumption could be reduced by 57.2% with skipping mode when the edges need not be fil- tered. key words: HEVC, H.264/AVC, deblocking filter, dual-mode, low power, SHV, HD 1. Introduction Digital video compression technology has been devel- oped enormously during the last twenty years. At present, there are some common used video coding for- mats such as MPEG-2, H.263, MPEG-4 and H.264/AVC. The H.264/AVC is currently the most powerful video cod- ing scheme and has been deployed widely in various ap- plications [1], [2]. With rising pursuit of visual eects for consumers, high definition (HD), quad full high definition (QFHD), even SHV displaying systems come into our daily life. For example, NHK and BBC have put SHV to use for public screenings during the 2012 London Olympic Games [3]. HEVC is proposed to satisfy this urgent demand and aims to substantially reduce the bit rate by half with com- parable image quality compared to advanced video codec (AVC) High Profile [4]. In the last two years, Joint Collab- orative Team on Video Coding (JCT-VC) has investigated many proposals and adopted promising ones to implement them in HEVC Test Model (HM) for reference. The perfor- mance report shows that HM 5.0 could maintain an average bit rate approximately 50% of AVC with the same subjective quality [5]. Manuscript received September 21, 2012. Manuscript revised February 5, 2013. The authors are with the Graduate School of Information, Production and Systems, Waseda University, Kitakyushu-shi, 808- 0135 Japan. a) E-mail: [email protected] DOI: 10.1587/transfun.E96.A.1366 HEVC inherits the block-based hybrid video coding framework from H.264/AVC and it inevitably introduces block artifacts mainly caused by block-based discrete co- sine transform (DCT) and motion compensation (MC) pro- cess. As in H.264/AVC, deblocking filter is employed in HEVC and adaptively applied to block boundaries to mini- mize block artifacts while preserving the true edges, which could provide better visual quality and bit rate reduction. The use of deblocking filter in H.264/AVC saves 5–10% bit rate with equal objective quality [6]. However, due to the high adaptability and the small 4 × 4 basic processing block, the deblocking filter is one of the most computational inten- sive components and becomes the bottleneck of VLSI de- sign. There are many works focused on ecient deblocking design of H.264/AVC, such as [8]–[11]. In these works, par- allelization is the most common technique to enhance the throughput. Together with a certain processing order and memory update structure, some works could achieve high performance. For example, design of [11] organizes 4 filters in 2 groups to simultaneously process vertical and horizon- tal edges. With the proposed zig-zag processing schedule, it takes 48 cycles for one macro-block (MB) in a pipeline, which can support QFHD on 60 fps. For the edges need not to be filtered, design of [8] utilizes clocking gating tech- niques to save the power dissipation. The design of [10] applies two skipping patterns in the MB level to avoid un- necessary memory access and filtering. All the aforementioned works are designed for H.264/AVC. There is no literature for HEVC deblocking filter yet. After comparing the deblocking filter in HEVC and H.264/AVC, we find that the filters for H.264/AVC and HEVC are very similar in the filtering computations. It is feasible to design a dual-standard deblocking filter to sup- port both of them. Since the devices and media contents with current popular H.264/AVC standard would not be re- placed immediately, HEVC should be backward compatible with H.264/AVC. In implementation, it is obvious that sim- ply combining individual designs dedicated to each standard will lead to high power and unworthy hardware cost. Thus it is necessary to design a universal decoder capable of sup- porting multiple video coding standards. This paper pro- poses dual-mode architecture based on this idea. In order to achieve real time performance for videos with larger frame dimension, HEVC significantly reduces the complexity mainly from the use of larger processing unit of 8 × 8 block. Firstly, it eectively reduces the amount of de-blocked pixels. Samsung’s report shows that the num- Copyright c 2013 The Institute of Electronics, Information and Communication Engineers
Transcript
Page 1: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

1366IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013

PAPER Special Section on Circuit, System, and Computer Technologies

A Dual-Mode Deblocking Filter Design for HEVC and H.264/AVC

Muchen LI†a), Jinjia ZHOU†, Dajiang ZHOU†, Xiao PENG†, Nonmembers, and Satoshi GOTO†, Fellow

SUMMARY As the successive video compression standard ofH.264/AVC, High Efficiency Video Codec (HEVC) will play an importantrole in video coding area. In the deblocking filter part, HEVC inherits thebasic property of H.264/AVC and gives some new features. Based on thisvariation, this paper introduces a novel dual-mode deblocking filter archi-tecture which could support both of the HEVC and H.264/AVC standards.For HEVC standard, the proposed symmetric unified-cross unit (SUCU)based filtering scheme greatly reduces the design complexity. As a result,processing a 16×16 block needs 24 clock cycles. For H.264/AVC standard,it takes 48 clock cycles for a 16×16 macro-block (MB). In synthesis result,the proposed architecture occupies 41.6k equivalent gate count at frequencyof 200 MHz in SMIC 65 nm library, which could satisfy the throughput re-quirement of super hi-vision (SHV) on 60 fps. With filter reusing scheme,the universal design for the two standards saves 30% gate counts than thededicated ones in filter part. In addition, the total power consumption couldbe reduced by 57.2% with skipping mode when the edges need not be fil-tered.key words: HEVC, H.264/AVC, deblocking filter, dual-mode, low power,SHV, HD

1. Introduction

Digital video compression technology has been devel-oped enormously during the last twenty years. Atpresent, there are some common used video coding for-mats such as MPEG-2, H.263, MPEG-4 and H.264/AVC.The H.264/AVC is currently the most powerful video cod-ing scheme and has been deployed widely in various ap-plications [1], [2]. With rising pursuit of visual effects forconsumers, high definition (HD), quad full high definition(QFHD), even SHV displaying systems come into our dailylife. For example, NHK and BBC have put SHV to use forpublic screenings during the 2012 London Olympic Games[3]. HEVC is proposed to satisfy this urgent demand andaims to substantially reduce the bit rate by half with com-parable image quality compared to advanced video codec(AVC) High Profile [4]. In the last two years, Joint Collab-orative Team on Video Coding (JCT-VC) has investigatedmany proposals and adopted promising ones to implementthem in HEVC Test Model (HM) for reference. The perfor-mance report shows that HM 5.0 could maintain an averagebit rate approximately 50% of AVC with the same subjectivequality [5].

Manuscript received September 21, 2012.Manuscript revised February 5, 2013.†The authors are with the Graduate School of Information,

Production and Systems, Waseda University, Kitakyushu-shi, 808-0135 Japan.

a) E-mail: [email protected]: 10.1587/transfun.E96.A.1366

HEVC inherits the block-based hybrid video codingframework from H.264/AVC and it inevitably introducesblock artifacts mainly caused by block-based discrete co-sine transform (DCT) and motion compensation (MC) pro-cess. As in H.264/AVC, deblocking filter is employed inHEVC and adaptively applied to block boundaries to mini-mize block artifacts while preserving the true edges, whichcould provide better visual quality and bit rate reduction.The use of deblocking filter in H.264/AVC saves 5–10% bitrate with equal objective quality [6]. However, due to thehigh adaptability and the small 4×4 basic processing block,the deblocking filter is one of the most computational inten-sive components and becomes the bottleneck of VLSI de-sign. There are many works focused on efficient deblockingdesign of H.264/AVC, such as [8]–[11]. In these works, par-allelization is the most common technique to enhance thethroughput. Together with a certain processing order andmemory update structure, some works could achieve highperformance. For example, design of [11] organizes 4 filtersin 2 groups to simultaneously process vertical and horizon-tal edges. With the proposed zig-zag processing schedule,it takes 48 cycles for one macro-block (MB) in a pipeline,which can support QFHD on 60 fps. For the edges neednot to be filtered, design of [8] utilizes clocking gating tech-niques to save the power dissipation. The design of [10]applies two skipping patterns in the MB level to avoid un-necessary memory access and filtering.

All the aforementioned works are designed forH.264/AVC. There is no literature for HEVC deblockingfilter yet. After comparing the deblocking filter in HEVCand H.264/AVC, we find that the filters for H.264/AVC andHEVC are very similar in the filtering computations. It isfeasible to design a dual-standard deblocking filter to sup-port both of them. Since the devices and media contentswith current popular H.264/AVC standard would not be re-placed immediately, HEVC should be backward compatiblewith H.264/AVC. In implementation, it is obvious that sim-ply combining individual designs dedicated to each standardwill lead to high power and unworthy hardware cost. Thusit is necessary to design a universal decoder capable of sup-porting multiple video coding standards. This paper pro-poses dual-mode architecture based on this idea.

In order to achieve real time performance for videoswith larger frame dimension, HEVC significantly reducesthe complexity mainly from the use of larger processing unitof 8 × 8 block. Firstly, it effectively reduces the amount ofde-blocked pixels. Samsung’s report shows that the num-

Copyright c© 2013 The Institute of Electronics, Information and Communication Engineers

Page 2: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

LI et al.: A DUAL-MODE DEBLOCKING FILTER DESIGN1367

ber of de-blocked pixels is reduced by 41% on average for1080p sequences [12]. On the other hand, HEVC employsthe coding block tree (CBT) structure and frame-based loopfiltering. Under the synergy of the novel processing orderand 8 × 8 filtering block, HEVC removes some data de-pendency and reduces the design complexity to some ex-tends. However, these changes bring problems as well. Theframe-based processing is not suitable for hardware designand flexible coding unit (CU) size also adds difficulty to thearchitecture design. All the aforementioned works are MB-based design and could not simply apply to the HEVC spec-ification.

In this paper, 4 filters are utilized to process pixels in4 lines simultaneously to enhance the throughput. By care-fully studying the data dependency of the processing orderof HEVC, symmetric unified-cross unit (SUCU) based pro-cessing scheme is introduced to solve the problems broughtby the new features of HEVC. We also implement skip-ping mode to avoid unnecessary memory accesses and fil-tering operations, which could save the power consumptionby up to 57.2%. This design is a dual-mode architecturethat also supports H.264/AVC. The filter is fully reused, and30% gate counts are saved compared with the individual im-plementations for the two standards. Finally, the proposedarchitecture processes one 16 × 16 block with 24 cycles forHEVC and 48 cycles for H.264/AVC. In synthesis result, theproposed architecture occupies 41.6k equivalent gate countsat 200 MHz in SMIC 65 nm library, which could satisfy thethroughput requirement of QFHD on 60 fps for H.264/AVCand SHV on 60 fps for HEVC.

The rest of this paper is organized as follows. Sec-tion 2 introduces and compares the deblocking filter algo-rithm defined in HEVC and H.264/AVC standard. Section 3presents the system architecture and function module de-sign. In Sect. 4, the implementation results and power anal-ysis discussion are addressed. Finally, Sect. 5 draws the con-clusion.

2. Deblocking Filter Algorithm in HEVC

In HEVC, each frame is divided into a sequence of largestcoding units (LCUs), which are processed in raster scan or-der as shown in an example frame in Fig. 1(a). Each LCUcan be further split into CUs based on quad-tree structureand the size of each CU is not less than 8 × 8. The leaf CUswithin an LCU is processed in Z scan order, as shown in theright part of Fig. 1(a). Each CU can be subdivided into pre-diction units (PUs) and transform units (TUs) that are dottedin dashed line. Deblocking filter takes place on a CU basis.For every CU, all the edges of 8 × 8 blocks are checked andthe edges of PUs, TUs or the CU are involved in the de-blocking filter except the boundary of picture or slice.

A CU consists of luma and chroma (Cb, Cr) compo-nents as shown in Fig. 1(b). Vertical edges (V0-3) and hori-zontal edges (H0-3) need to be filtered in the 16 × 16 CU arebolded. For each minimum unit of edge, 4 pixels (p0-3, q0-3

or p′0-3, q′0-3) on each side are involved in the filtering. For

Fig. 1 Two scan orders and two kinds of filtering in HEVC.

the vertical edge, the filtering is horizontally performed oneach row of pixels, which is so-called horizontal filtering.For the horizontal edge, filtering is vertically performed oneach column of pixels, which is so-called vertical filtering.Basically, the vertical edges in the block are processed fromleft to right and the horizontal edges are processed from topto bottom. Deblocking filter is applied to luma and chromi-nance components (Cb, Cr) successively.

The algorithm of deblocking filtering of H.264/AVChas been described in details in previous literature [6]. Thissection mainly states the different filter orders and data de-pendency for the two standards based on HEVC draft 6 [14]and HM6.0 [15]. The filter on/off decision in HEVC thatrelated to the proposed skipping mode is also presented.

2.1 Frame-Based Loop Filtering and Data Dependency

The basic filter orders of HEVC and H.264/AVC are illus-trated by the neighboring LCUs and MBs in Fig. 2, wherethe symbol Vn represents all the vertical edges in #n MB or#n LCU, while Hn represents all the horizontal edges in #nMB or #n LCU.

HEVC has already adopted the frame-based filteringproposed by Sony Corporation [14]. As illustrated in theupper part of Fig. 2, vertical edges in the whole frame are fil-tered firstly, and then the horizontal edges are filtered later.Filtering in each direction obeys the raster scan and Z scanorder mentioned before. The filtering in H.264/AVC is MB-based loop processing. As illustrated in lower part of Fig. 2,the vertical edges in one MB are filtered prior to the hori-

Page 3: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

1368IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013

Fig. 2 Basic filter order and data dependency for two standards.

zontal edges. Horizontal and vertical filtering in the sameMB should be completed before moving to the next MB.Compared to the deblocking filter in H.264/AVC, the pro-cess priority of the vertical edges not only exists in the sameLCU but also exits in the frame level.

In both standards, for each minimum edge unit, 4 pixelson each side are involved and finally up to 3 pixels will bemodified. Since the H.264/AVC filter is basically performedon 4 × 4 blocks, the filtering operations on the neighbor-ing edges in the same direction are dependent to each other.For example, v0n, v1n, v2n, v3n in #n MB are dependent toeach other. This kind of dependency is removed in HEVCbecause the filtering is performed on larger 8 × 8 blocks.For example, v0n, v1n in #n LCU are independent to eachother. Moreover, with the frame-based processing, the ver-tical edges in the whole frame re also independent to eachother and it is the same for the horizontal edges.

2.2 Filter Decision for HEVC

Filter decision for an edge includes two levels. The first iswhether the filter is applied; the second is how strong thefilter is applied.

Figure 3 depicts an example of 4-pixel edge and theinvolved pixel samples in the filter decision. Boundary

Fig. 3 Involved pixels in filter decision for HEVC.

strength (BS) is one of the parameters that determine howstrong the filter is applied. BS is valued from 0∼2 accordingto the coding information of the blocks on both sides [15].Compare to the BS valued from 0∼4 in H.264/AVC [6], theBS calculation for HEVC is much simpler [14]. The BS ofany chroma edge is identical to its corresponding luma edge.For chorma edge, when BS is not equal to 2, the edge needsnot be filtered. For luma edge, there are two cases that thefilter will not be applied. Case (1) is BS = 0. Case (2) isBS is non-zero and condition (3) is not satisfied. In con-dition (3), parameter β is based on quantization parameter(QP) value [6], and d0 + d3 is named difference in the fol-lowing paper. The edges need not to be filtered are calledskipped edges and processed with skipping mode proposedin the hardware implementation to reduce dynamic power.

d0 = |p20 − 2p10 + p00| + |q20 − 2q10 + q00| (1)

d3 = |p23 − 2p13 + p03| + |q23 − 2q13 + q03| (2)

d0 + d3 < β (3)

After the filter is determined, strong filter or weak filterwill be conditionally applied [14].

3. System Architecture and Function Module Design

3.1 SUCU- Based Processing

It is impractical to implement the frame-based process di-rectly. Firstly, a mass of intermediate values from horizon-tal filtering need to be stored before the vertical filtering isperformed, which brings high hardware cost. Secondly, theother components in the decoder are usually organized onCU basis. Performing deblocking filter on frame basis willdegrade the performance of the whole decoder.

On the other hand, deblocking filter is not suitable tobe performed based on CU. Because CUs may be of varioussizes but the deblocking filter in HEVC is always performedon 8 × 8 blocks. LCU size is relatively fixed and it could bedownward compatible to H.264/AVC when the LCU size isset to 16× 16. Thus, LCU-based processing seems the mostreasonable method.

In order to make the LCU-based processing realize theresults of frame-based processing, the problems with theLCU-based implementation are considered. Figure 4 givesan example for LCU-based processing. To obey the basicprocessing order, the process of right most horizontal edges

Page 4: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

LI et al.: A DUAL-MODE DEBLOCKING FILTER DESIGN1369

Fig. 4 LCU-based processing order for HEVC.

in the current LCU could not be started before the process ofleft most vertical edges in the next LCU are completed. Forexample, edge 21, 22 should be processed after edge 17, 18,19, 20. From the time slot, it is easy to find that the filter-ing for #n+1, #n, #n-1 LCU is not sequential but alternative,which introduces 3 drawbacks.

1. The control of this order is quite complex, whichleads to significant hardware cost.

2. Filtering of each LCU involves the data from itsupper, left and right neighboring LCUs. It increases the costof buffers or memory accesses too much.

3. There is latency in the processing for each LCU.Because the filtering of current LCU could not be completedbefore the data of next LCU is available. The latency willdecrease the performance of the whole system.

These drawbacks are mainly from the data dependencybetween neighboring processing units. In order to solve thisproblem, it is better to combine the different blocks to con-struct a sequence of new processing units with lower datadependency even no data dependency between them. Asshowed in Fig. 5, a novel processing unit named SUCU isproposed and it consists of blocks from current LCU, leftLCU and upper LCUs. Each SUCU is symmetric and inde-pendent to its neighboring ones, so the SUCUs in the sameframe can be processed sequentially in raster scan order,which could avoid the disadvantage of normal LCU-basedprocessing.

For each SUCU in this proposal, the hybrid processingorder shown in Fig. 6 is used instead of the conventional or-der in Fig. 5. By using this hybrid processing order, SUCUcan be further split into smaller basic units. The filtering onthe larger SUCU is a simple loop of filtering on the smallerbasic units, which greatly reduces the complexity of control.The basic unit shown in Fig. 6 is named cross unit since 4edges are arranged in a cross shape. The cross unit basedprocess can apply to both luma and chroma components nomatter how large the LCU is, which further reduces the con-trol complexity.

Fig. 5 SUCU and conventional processing order.

Fig. 6 Proposed hybrid processing order based on SUCU.

The cross units are independent to each other. For across unit, only four 4 × 4 blocks are involved in the fil-ter. The data is fully reused in the cross unit and intermedi-ate data life time is the shortest, which reduces the memorybandwidth and hardware cost.

3.2 Block Diagram

Figure 7 depicts the block diagram of the whole deblockingfilter.

The memory part contains two kinds of memories. TwoSingle-port static random access memories (SRAMs) areused to provide raw pixels of current processing block andstore the final results. Each of them is 128 bits in width toprovide two 4 × 4 blocks at one time. In order to make thedesign adaptive to the largest size of LCU, the depth of eachSRAM is 192. The Line buffer is only for H.264/AVC tohold 4N (N is the frame width) pixels, providing necessarypixels not only for current MB but also for the MBs in thesame line.

Since the neighboring filter operations in the same edge

Page 5: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

1370IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013

Fig. 7 Block diagram of proposed architecture.

are independent with each other, it is feasible to processthem in parallel. In order to achieve high throughput to sat-isfy the application of SHV, 4 filters are employed to process4 lines of pixels simultaneously.

Eight buffers (T0∼T7) in the operation unit are madeup of registers and each can store 16 pixels. The buffersare used to store the temporal data for edge filters. Fourbuffers are enough for the application of HEVC. Anotherfour buffers are arranged to store the left four blocks fromthe previous MB, which are just for H.264/AVC.

The controller is used to control the filter order, and theskipping mode designed for the skipped edges described inSect. 2. The controller detects the skipped edges accordingto the values of BS and difference. With the skipping mode,the memory accesses and operation unit are disabled respec-tively according to the different skip states. The details willbe illustrated in Sect. 3.4.

3.3 Processing Flow for HEVC

For a cross unit, two vertical edges and two horizontal edgesneed to be filtered. Four buffers (T0∼T3) are used to storethe temporal data. The filter order, memory update scenarioand usage of buffer for a cross unit are illustrated in Fig. 8.

In the first clock, the vertical edge V0 is processed.4 × 4 blocks B0 and B1 are read from memory S0 and S1

respectively; B0 and B1 are filtered and the temporal data isstored in buffer T0 and T1. In the second clock, B2 and B3

are fetched and edge V1 is processed. The temporal data isstored in T2 and T3. In the third clock, the horizontal edgeH0 is processed, blocks stored in T0 and T2 are filtered andthe results are written to memory. Finally, H1 is processed.Blocks in T1 and T3 are filtered and written to memory. Across unit can be completed in 4 clocks and 24 clocks areneeded to process a 16× 16 SUCU, among which 16 clocksare for luma component and 8 clocks are for chroma com-ponents.

The purpose of splitting the memory into two banks is

Fig. 8 Processing flow of a cross unit for HEVC.

Table 1 Percentage of skipped edges with HM 5.0.

to arrange the final filtered results in proper sequence. Forexample, B0 and B1 are fetched from data bus and sent tothe filters in pairs. But the process of B0 is completed beforethat of B1 and they could not be written to the SRAM in thesame clock. If there is only one bank, B0 and B1 will bestored in the different address after the filtering. They couldnot be output to the data bus in pairs. In our design, shownas in Fig. 8, final B0 and B1 are stored in different memoriesand it is possible to output them together by selecting theaddresses.

3.4 Skipping Mode for HEVC

As described in Sect. 2, there are some edges need not tobe filtered in several cases. Table 1 lists the percentage ofskipped edges of four sequences from experiments with HM5.0. The results show that skipped ratio is very high. On thissituation, this work proposes the skipping mode for HEVC

Page 6: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

LI et al.: A DUAL-MODE DEBLOCKING FILTER DESIGN1371

Fig. 9 Implementation of the skipping mode.

part based on cross unit.Basically, the skipping scheme for de-blocking filter in-

cludes two parts: edge filter skipping and memory accessskipping. Edge filter skipping can realized by add clock gat-ing, shown in Fig. 9(a). The memory access skipping is justgiving the memory the disable signals, shown in Fig. 9(b).

This design includes both of the edge filter skippingand the memory access skipping. The edge filter skippingpart is almost the same with [8] and [10]. The implementa-tion method for memory access skipping part is also similarwith [10]. The difference is how to generate the control sig-nals and how to make the skipping as efficient as possible.HEVC has less data dependency than H.264/AVC, and itis possible to achieve more efficient memory accesses skip-ping.

Since each edge has two states, skipped or filtered,there are 16 states for a cross unit. The state that all theedges need to be filtered is the normal state. For the nor-mal state, filtering operations on 4-line pixels and memoryaccess for 2 blocks are completed in 4 clocks. The other15 states are called skip states. For each skip state, thereare 1∼3 skipped edges in the cross unit. If skip states couldbe detected in advance, unnecessary filtering and memoryaccesses could be disabled.

For filters, the situation is quite simple. Clock gatingis used to terminate the filtering operations when the edge isskipped.

For memory, different states brings complex situation.These 15 skip states are classified into 3 types accordingto the number of skipped edges. AS shown in Fig. 10, inType1, four edges are skipped. In Type2, three edges areskipped. In Type3, one edge or two edges are skipped.For Type1, 100% memory accesses and filtering operationscould be saved. For Type2, two involved blocks need to beloaded from the memory for single filtered edge. In the rightinstance of Fig. 10, two blocks of B0 and B2 are loaded frommemory for edge H0, 50% memory accesses are saved com-pared to the normal state that four blocks need to be loaded.For Type3, all the blocks in a cross unit are involved. Theyshould be loaded from the memory and written back after

Fig. 10 Three types of skip sates.

the filtering. Memory accesses could not be saved.As described in Sect. 2, the filter is decided by BS and

difference. For vertical edges, the difference is calculatedbased on raw data, while for horizontal edges, the differenceis calculated by the intermediate data of the last filtering.The final state of vertical edges could be decided before thefiltering on cross unit is started. But it is different for hori-zontal edges. For skipping mode design in controller, thesedifferent cases are analyzed in the following way.

The difference for edge V0, V1, H0 and H1 is marked asD0, D1, D2 and D3 respectively. D0, D1, D2 and D3 are pre-calculated based on raw data and recorded before a crossunit is processed. Thus, the states of edge V0 and V1 isdetermined by their BS values and D0, D1, which is knownby controller before filtering on the cross unit is started. Thestates of H0 and H1 are listed in Fig. 11 according to differentsituations. Figure 11 illustrates three kinds of conditions.Solid edge is filtered edge and dash edge is skipped edge.(BS0 BS1) represent BS situation of H0 and H1, where 0represents zero value while 1 represents non-zero value.

1. Both V0 and V1 are skipped. Values of pixels willnot be changed and D2 and D3 are valid to decide the stateof H0 and H1. Together with their BS values, the mem-ory accesses could be determined before the whole filtering.For example, the BS situation of H0 and H1 is (0 1), if D3

does not satisfy the condition (3) in Sect. 2, all the edges areskipped and 100% memory accesses will be saved, other-wise, 50% will be saved.

2. Either V0 or V1 is skipped. For (0 0), the final stateis Type2. For (0 1), (1 0), (1 1), the final state could notbe decided and all the blocks needs to be loaded to filters.These conditions could be taken as Type3 and the memoryaccesses could not be saved. D2 and D3 will be corrected af-ter the horizontal filtering and used to determine the filteringoperations of H0 and H1.

3. Neither V0 nor V1 is skipped. These conditions arealso taken as Type3 and the memory accesses will not besaved. But the filtering operations of H0 and H1 could besaved if the BS values and corrected D2 and D3 satisfy theskip conditions.

Page 7: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

1372IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013

Fig. 11 Early decision of memory accesses.

Fig. 12 Filtering order for H.264/AVC.

3.5 Filtering Order for H.264/AVC

Figure 12 shows the filtering order and buffer arrangementfor H.264/AVC. The proposed architecture is compatiblewith H.264/AVC and the basic processing unit is MB. Theintermediate results of the MB should be stored in thebuffers. In order to minimize the amount of such buffers,the order should release the data in one buffer as fast as pos-sible. Based on this principle, the consideration of the orderfor H.264/AVC is as follows: Buffer T4 ∼T7 are used to storethe blocks of rightmost column from the previous MB. Inorder to release these 4 buffers, edge 0∼3 should be filtered

first. Then T0 should be released in the next step, thus it isbetter to filter the edges around T0 as early as possible. Hor-izontal filtering is prior than the vertical filtering, so edge 4is then filtered. One clock cycle is needed for data updateof T0 and T4, thus we cannot immediately go to edge 6, andinstead edge 5 is filtered next. After edge 6, for the samereason, the next edge is not edge 8 but edge 7. When all theedges around T0 are finished, the data could be written tothe memory and this buffer is released for the next unit.

Based on the above consideration, the following orderis decided in the same way. It looks irregular for some part,but the order is basically from left to right and from top tobottom. Moreover, it should guarantee that blocks of right-most column should be stored by T4∼T7 for the use of nextMB.

Finally, the proposed order takes 32 clock cycles forluma filtering and 8 clock cycles for chroma filtering. Thus,48 clock cycles are needed for each MB in H.264/AVC onaverage.

3.6 Filter Reusing Scheme

Because of the inheritance property between H.264/AVCand HEVC, the filtering equations for two standards are sim-ilar. The proposed architecture explores this similarity andgives the reusing scheme in structure of edge filter.

According to the filtering equations listed in the twostandards [7], [14], all the reused components are listed inFig. 13. There are two kinds of reusing:

1. Some parts of the equations are the same and thesame parts are extracted as the intermediate results, whichcould be reused for several outputs. The inter1 and inter2 inFig. 13 are the examples of this type.

2. The final equations of outputs are exactly the same.The p′1 and p′2 in Fig. 13 are the examples of this type.

We have synthesized the reused design and the designthat simply putting HEVC and H.264/AVC filters together.The reused design saves 30% gate counts in the implemen-tation.

4. Implementation and Analysis

4.1 Synthesis Results

The proposed dual-mode deblocking filter architecture forHEVC-H.264/AVC is synthesized with SMIC 65 nm 1.08 Vlibrary. It is implemented with equivalent gate counts of41.6k at the frequency of 200 MHz. To the best of ourknowledge, there is no implementation for HEVC deblock-ing filter in the open literatures. In order to clarify its per-formance and specification, the comparison with the state-of-art work for H.264/AVC [11] is listed in Table 2.

As shown in Table 2, the major advantages of our de-sign are supporting two standards and realizing the skippingmode. The cost of these advantages is that the gate countsare 37.7% higher than [11]. This hardware cost increase in-cludes three aspects:

Page 8: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

LI et al.: A DUAL-MODE DEBLOCKING FILTER DESIGN1373

Fig. 13 Filter reusing scheme.

Table 2 Comparison with conventional deblocking filter.

1. The operation units are much more complex. Al-though the filter reuse can reduce the gate counts of edgefilter by about 30% than simply stacking two filters for twostandards, the edge filter of this design is more complex thanthe design [11].

2. The eight register based buffers are another hardwareconsuming part. As explained in previous sections, thesebuffers are used to store the temporary data. However, the

memory accesses are greatly reduced on this way.3. The controller becomes bigger because of the skip-

ping mode control.On throughput, our proposed architecture needs 24

clock cycles for a 16 × 16 block for HEVC mode. Thus,it realizes 2.13× 109 pixels per second that could easily sat-isfy the requirement of SHV (7680× 4320) with 60 fps case[16]. For H.264/AVC, the throughput is half because of dou-ble edges to be filtered and it still can satisfy the requirementof QFHD (4096 × 2160). Some SHV and QFHD frames aretested in formal verification with the synthesized netlist inModelsim, which guarantees that the function is correct andthe required timing is satisfied.

4.2 Power Analysis in Skipping Mode

As described in Sect. 2, when BS is 0 or the difference islarger than the threshold, skipping mode is triggered by thecontroller. Under the skipping situation, the power con-sumption could be greatly reduced in two aspects:

1. The memory accesses are eliminated through send-ing disable signal from controller to memory.

Page 9: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

1374IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE 2013

Fig. 14 Power analysis of skip mode.

2. The edge filters are terminated by clock gating tech-nique.

In Sect. 3.4, the different skipping situations have beendiscussed. Taking the sequence (3) in Table 1 as an example,the power analysis for skipping mode is carried out in theVCS and Power Compiler after synthesis. Figure 14 showsthe power reduction brought by memory accesses elimina-tion and filter clock gating.

As shown in Fig. 14, in the case of 86% edges areskipped, the memory accesses elimination and the clock gat-ing could bring 30.0% and 38.9% power reduction respec-tively. In total, the power reduction could achieve 57.2%.

5. Conclusion

This paper introduces a novel dual-mode deblocking filterarchitecture which could support both of the HEVC andH.264/AVC standards. For H.264/AVC standard, it takes32 clock cycles for luminance component and 16 clocks cy-cles for chrominance component in one 16 × 16 MB. Forthe HEVC standard, the proposed SUCU filtering schemegreatly reduces the design complexity. As a result, 16 × 16coding unit needs 16 and 8 clock cycles for luminance com-ponent and chrominance component respectively. In the im-plementation, the proposed design occupies 41.6k equiva-lent gate counts at frequency of 200 MHz in SMIC 65 nm li-brary, which could easily satisfy the throughput requirementof SHV. In addition, the total power consumption could bereduced by 57.2% with skipping mode when the edges neednot be filtered.

Acknowledgments

This research is partly supported by Grants-in-Aid for Sci-entific Research 〈KAKENHI〉.References

[1] Draft ITU-T recommendation and final draft international standardof joint video specification (ITU-T Rec. H.264/ISO/IEC 14 496-10 AVC, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T

VCEG, JVTG050, 2003.[2] T. Wiegand, G.J. Sullivan, G. Bjøntegaard, and A. Luthra,

“Overview of the H.264/AVC video coding standard,” IEEE Trans.Circuits Syst. Video Technol., vol.13, no.7, pp.560–576, July 2003.

[3] [Online].http://www.engadget.com/2011/11/13/2012-london-olympics-super-hi-vision-broadcast-coming-to-se/

[4] [Online]. http://www.itu.int/en/ITU-T/studygroups/com16/video/Pages/jctvc.aspx

[5] F. Kossentini, N. Mahdi, H. Guermazi, M. Horowitz, S. Xu, B. Li,G.J. Sullivan, and J. Xu, “Informal subjective quality comparison ofcompression performance of HEVC working draft 5 with AVC highprofile,” JCTVC-H0562 JCTVC 8th Meeting: San Jose, CA, USA,1–10 Feb. 2012.

[6] P. List, A. Joch, J. Lainema, G. Bjøntegaard, and M. Karczewicz,“Adaptive deblocking filter,” IEEE Trans. Circuits Syst. Video Tech-nol., vol.13, no.7, pp.614–619, July 2003.

[7] M. Ikeda, J. Tanaka, and T. Suzuki, “Parallel deblocking filter,”JCTVC-E181, JCTVC 5th Meeting: Geneva, CH, March, 2011.

[8] K. Xu and C.-S. Choy, “A five-stage pipeline, 204 cycles/MB,single-port SRAM-based deblocking filter for H.264/AVC,” IEEETrans. Circuits Syst. Video Technol., vol.18, no.3, pp.363–374,March 2008.

[9] F. Tobajas, G.M. Callico, P.A. Perez, V. de Armas, and R. Sarmiento,“An efficient double-filter hardware architecture for H.264/AVC de-blocking filtering,” IEEE Trans. Consum. Electron., vol.54, no.1,Feb. 2008

[10] Y.-C. Lin and Y.-L. Lin, “A two-result-per-cycle deblocking filter ar-chitecture for QFHD H.264/AVC decoder,” IEEE Trans. Very LargeScale Integr. (VLSI) Syst., vol.17, no.6, pp.838–843, June 2009.

[11] D. Zhou, J. Zhou, J. Zhu, and S. Goto, “A48 cycles/MB H.264/AVCdeblocking filter architecture for ultra high definition applications,”IEICE Trans. Fundamentals, vol.E92-A, no.12, pp.3203–3210, Dec.2009.

[12] K. McCann, W.-J. Han, and I.-K. Kim, “Samsung’s response to thecall for proposals on video compression technology,” JCTVC-A124,JCTVC 1st Meeting: Dresden, DE, April, 2010.

[13] K. Ugur, K. Andersson, A. Fuldseth, G. Bjøntegaard, L.P. Endresen,J. Lainema, A. Hallapuro, J. Ridge, D. Rusanovskyy, C. Zhang, A.Norkin, C. Priddle, T. Rusert, J. Samuelsson, R. Sjoberg, and Z. Wu,“High performance, low complexity video coding and the emergingHEVC standard,” IEEE Trans. Circuits Syst. Video Technol., vol.20,no.12, pp.1688–1697, Dec. 2010

[14] B. Bross, W. Han, J.-R. Ohm, G.J. Sullivan, and T. Wiegand, “Highefficiency video coding (HEVC) text specification draft 6,” JCTVC-H1003, JCTVC 7th Meeting: Geneva, CH, 21–30 Nov. 2011.

[15] [Online]. https://hevc.hhi.fraunhofer.de/svn/svn HEVCSoftware/tags/

[16] D. Zhou, J. Zhou, J. Zhu, P. Liu, and S. Goto, “A 2 Gpixel/sH.264/AVC HP/MVC video decoder chip for super Hi-vision and3DTV/FTV applications,” ISSCC Dig. Tech. Papers, pp.224–225,2012.

Muchen Li received B.S and M.S. degreesin Physics Department of East China NormalUniversity and Waseda University respectively.She is currently a Ph.D. candidate in GraduateSchool of Information, Production and Systems,Waseda University, Japan. Her research inter-ests include video processing and compression.

Page 10: PAPER Special Section on Circuit, System, and Computer ...pdfs.semanticscholar.org/86f4/58d4bac7af29749a278b6665b3eccd79a690.pdf1366 IEICE TRANS. FUNDAMENTALS, VOL.E96–A, NO.6 JUNE

LI et al.: A DUAL-MODE DEBLOCKING FILTER DESIGN1375

Jinjia Zhou received the B.E. degree inelectronic engineering from Shanghai Jiao TongUniversity, China, in 2007, and the M.E. degreefrom Waseda University, Japan, in 2010, whereshe is currently a Ph.D. candidate. Her researchinterests are in algorithms and VLSI architec-tures for video coding.

Dajiang Zhou received the B.E. and M.E.degrees from Shanghai Jiao Tong University,China. He received the Ph.D. degree in engi-neering from Waseda University, Japan, in 2010,where he is currently a researcher. His inter-ests are in algorithms and VLSI architectures formultimedia and communication signal process-ing.

Xiao Peng received the B.S. and M.S.degrees in Electronic Science and Technologyfrom Tsinghua University in 2005 and 2008, re-spectively. He received the Ph.D. degree in engi-neering from Waseda University in 2011. He iscurrently a postdoc in Graduate School of Infor-mation, Production and Systems, Waseda Uni-versity, Japan. His research interests includewireless communication, error correcting code,and video coding.

Satoshi Goto was born on January 3rd,1945 in Hiroshima, Japan. He received the B.E.degree and the M.E. degree in Electronics andCommunication Engineering from Waseda Uni-versity in 1968 and 1970, respectively. He alsoreceived the Dr. of Engineering from the sameuniversity in 1981. He is IEEE fellow, Memberof Academy Engineering Society of Japan andprofessor of Waseda University. His research in-terests include LSI System and Multimedia Sys-tem.


Recommended