[go: up one dir, main page]

HK1232703B - Image processing device and image processing method - Google Patents

Image processing device and image processing method Download PDF

Info

Publication number
HK1232703B
HK1232703B HK17106032.8A HK17106032A HK1232703B HK 1232703 B HK1232703 B HK 1232703B HK 17106032 A HK17106032 A HK 17106032A HK 1232703 B HK1232703 B HK 1232703B
Authority
HK
Hong Kong
Prior art keywords
horizontal
vertical
section
filtering
boundaries
Prior art date
Application number
HK17106032.8A
Other languages
Chinese (zh)
Other versions
HK1232703A (en
HK1232703A1 (en
Inventor
池田优
田中润一
森上义崇
Original Assignee
索尼公司
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 索尼公司 filed Critical 索尼公司
Publication of HK1232703A publication Critical patent/HK1232703A/en
Publication of HK1232703A1 publication Critical patent/HK1232703A1/en
Publication of HK1232703B publication Critical patent/HK1232703B/en

Links

Description

图像处理设备和图像处理方法Image processing device and image processing method

本申请是同一申请人的申请日为2011年12月2日的、申请号为201180057796.9(PCT/JP2011/077954)、发明名称为“图像处理设备和图像处理方法”的中国发明专利申请的分案申请。This application is a divisional application of the Chinese invention patent application filed by the same applicant on December 2, 2011, with application number 201180057796.9 (PCT/JP2011/077954) and invention name “Image processing device and image processing method”.

技术领域Technical Field

本公开涉及图像处理设备和图像处理方法。The present disclosure relates to an image processing device and an image processing method.

背景技术Background Art

H.264/AVC(图像编码方案的标准规范之一),以均包含4×4像素的块为单位,将去块滤波器应用于块边界,以便避免在编码图像的时候,由块失真引起的图像质量降低。去块滤波器需要大量的处理,可能占到图像解码中的总处理量的50%。H.264/AVC (a standard specification for image coding schemes) applies a deblocking filter to block boundaries, each containing 4×4 pixels, to prevent image quality degradation caused by block artifacts when encoding images. Deblocking filters require extensive processing, potentially accounting for up to 50% of the total processing required for image decoding.

高效视频编码(HEVC)(下一代图像编码方案)的标准化工作提出按照JCTVC-A119(参见非专利文献1),以均包含8×8像素或者更多像素的块为单位,应用去块滤波器。在JCTVC-A119中提出的技术把块大小增大到允许应用去块滤波器的最小单位,以便对一个宏块内的相同方向的块边界,并行地进行滤波处理。The standardization work for High Efficiency Video Coding (HEVC), a next-generation image coding scheme, proposes applying a deblocking filter to blocks of 8×8 pixels or more, as per JCTVC-A119 (see Non-Patent Document 1). The technique proposed in JCTVC-A119 increases the block size to the minimum unit that allows the deblocking filter to be applied, allowing filtering to be performed in parallel on block boundaries in the same direction within a macroblock.

引文列表Citation List

非专利文献Non-patent literature

非专利文献1:K.Ugur(Nokia),K.R.Andersson(LM Ericsson),A.Fuldseth(Tandberg Telecom),“JCTVC-A119:Video coding technology proposal by Tandberg,Nokia,and Ericsson”,Documents of the first meeting of the Joint CollaborativeTeam on Video Coding(JCT-VC),Dresden,Germany,15-23April,2010。Non-patent document 1: K. Ugur (Nokia), K. R. Andersson (LM Ericsson), A. Fuldseth (Tandberg Telecom), "JCTVC-A119: Video coding technology proposal by Tandberg, Nokia, and Ericsson", Documents of the first meeting of the Joint Collaborative Team on Video Coding(JCT-VC),Dresden,Germany,15-23April,2010.

发明内容Summary of the Invention

即使使用在JCTVC-A119中提出的技术,在对垂直块边界的处理和对水平块边界的处理之间仍然存在依存关系。具体地说,对一个宏块的垂直边界的处理要等到进行对邻近宏块的水平边界的处理为止。对一个宏块的水平边界的处理要等到进行对相同宏块的垂直边界的处理为止。上述技术只能程度非常有限地提供去块滤波器的并行处理。因而,上述技术不能成功解决由在应用去块滤波器时的较大处理量引起的延迟和数据速率的降低的问题。Even using the techniques proposed in JCTVC-A119, there remains a dependency between the processing of vertical block boundaries and horizontal block boundaries. Specifically, processing of a vertical boundary of one macroblock must wait until the horizontal boundary of an adjacent macroblock is processed. Processing of a horizontal boundary of one macroblock must wait until the vertical boundary of the same macroblock is processed. This technique only provides for a very limited degree of parallel processing of the deblocking filter. Consequently, it does not successfully address the issues of delay and reduced data rate caused by the large amount of processing required when applying the deblocking filter.

按照本公开的技术目的在于提供一种能够在应用去块滤波器时,提供进一步的并行处理的图像处理设备和图像处理方法。The technical object according to the present disclosure is to provide an image processing device and an image processing method capable of providing further parallel processing when applying a deblocking filter.

按照本公开的实施例,提供一种图像处理设备,包括解码部分,所述解码部分被配置成从编码流中解码图像,水平滤波部件,所述水平滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的水平块边界,和控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界。According to an embodiment of the present disclosure, there is provided an image processing apparatus including a decoding portion configured to decode an image from a coded stream, a horizontal filtering section configured to apply a deblocking filter to a vertical block boundary within an image to be decoded by the decoding portion, a vertical filtering section configured to apply a deblocking filter to a horizontal block boundary within the image to be decoded by the decoding portion, and a control section configured to cause the horizontal filtering section to filter a plurality of vertical block boundaries included in a processing unit including a plurality of coding units in parallel, and to cause the vertical filtering section to filter a plurality of horizontal block boundaries included in the processing unit in parallel.

典型地,该图像处理设备可被实现成对图像解码的图像解码设备。Typically, the image processing device can be implemented as an image decoding device that decodes an image.

按照本公开的实施例,提供一种图像处理方法,包括从编码流中解码图像,进行水平滤波,以把去块滤波器应用于在待解码的图像内的垂直块边界,进行垂直滤波,以把去块滤波器应用于在待解码的图像内的水平块边界,和控制水平滤波和垂直滤波,以致并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界。According to an embodiment of the present disclosure, there is provided an image processing method, including decoding an image from a coded stream, performing horizontal filtering to apply a deblocking filter to vertical block boundaries within the image to be decoded, performing vertical filtering to apply a deblocking filter to horizontal block boundaries within the image to be decoded, and controlling the horizontal filtering and the vertical filtering so as to filter a plurality of vertical block boundaries included in a processing unit including a plurality of coding units in parallel, and filter a plurality of horizontal block boundaries included in the processing unit in parallel.

按照本公开的实施例,提供一种图像处理设备,包括水平滤波部件,所述水平滤波部件被配置成当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成把去块滤波器应用于所述图像内的水平块边界,控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界,和编码部件,所述编码部件被配置成利用由水平滤波部件和垂直滤波部件滤波的图像,编码所述待编码图像。According to an embodiment of the present disclosure, there is provided an image processing apparatus including a horizontal filtering unit configured to, when encoding an image to be encoded, apply a deblocking filter to a vertical block boundary within an image to be locally decoded, a vertical filtering unit configured to apply a deblocking filter to a horizontal block boundary within the image, a control section configured to cause the horizontal filtering unit to filter in parallel a plurality of vertical block boundaries included in a processing unit including a plurality of coding units, and to cause the vertical filtering unit to filter in parallel a plurality of horizontal block boundaries included in the processing unit, and an encoding unit configured to encode the image to be encoded using the images filtered by the horizontal filtering unit and the vertical filtering unit.

典型地,该图像处理设备可被实现成对图像编码的图像编码设备。Typically, the image processing device can be implemented as an image encoding device that encodes an image.

按照本公开的实施例,提供一种图像处理方法,包括进行水平滤波,以便当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,进行垂直滤波,以便把去块滤波器应用于所述图像内的水平块边界,控制水平滤波和垂直滤波,以便并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界,和利用借助水平滤波和垂直滤波所滤波的图像,编码所述待编码图像。According to an embodiment of the present disclosure, there is provided an image processing method, comprising performing horizontal filtering so as to apply a deblocking filter to vertical block boundaries within an image to be locally decoded when encoding an image to be encoded, performing vertical filtering so as to apply a deblocking filter to horizontal block boundaries within the image, controlling horizontal filtering and vertical filtering so as to filter in parallel a plurality of vertical block boundaries included in a processing unit including a plurality of coding units, and filtering in parallel a plurality of horizontal block boundaries included in the processing unit, and encoding the image to be encoded using the image filtered by means of horizontal filtering and vertical filtering.

如上所述,按照本公开的图像处理设备和图像处理方法还改善应用去块滤波器时的并行处理。As described above, the image processing apparatus and the image processing method according to the present disclosure also improve parallel processing when applying a deblocking filter.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是表示按照实施例的图像编码设备的结构的例子的方框图。FIG1 is a block diagram showing an example of the structure of an image encoding device according to an embodiment.

图2是表示按照实施例的图像解码设备的结构的例子的方框图。FIG2 is a block diagram showing an example of the structure of an image decoding device according to the embodiment.

图3是表示边界周围的邻近像素的例子的说明图。FIG. 3 is an explanatory diagram showing an example of neighboring pixels around a boundary.

图4是图解说明按照现有技术的滤波需要判定处理期间的参考像素的说明图。FIG. 4 is an explanatory diagram illustrating reference pixels during filtering necessity determination processing according to the related art.

图5是图解说明利用滤波处理更新的像素的说明图。FIG. 5 is an explanatory diagram illustrating pixels updated by filtering processing.

图6是图解说明用于说明实施例的边缘的标识的说明图。FIG. 6 is an explanatory diagram illustrating identification of edges for explaining the embodiment.

图7是图解说明按照现有技术的并行处理的说明图。FIG. 7 is an explanatory diagram illustrating parallel processing according to the prior art.

图8是图解说明按照现有技术的处理之间的依存关系的第一说明图。FIG. 8 is a first explanatory diagram illustrating dependency relationships between processes according to the prior art.

图9是图解说明按照现有技术的处理之间的依存关系的第二说明图。FIG. 9 is a second explanatory diagram illustrating dependency relationships between processes according to the prior art.

图10是图解说明按照现有技术的处理序列的说明图。FIG. 10 is an explanatory diagram illustrating a processing sequence according to the prior art.

图11是图解说明按照第一示例的处理序列的说明图。FIG. 11 is an explanatory diagram illustrating a processing sequence according to the first example.

图12是图解说明按照第一实施例的去块滤波器的详细结构的方框图。FIG12 is a block diagram illustrating a detailed structure of the deblocking filter according to the first embodiment.

图13是图解说明判定部分的详细结构的方框图。FIG13 is a block diagram illustrating a detailed structure of a determination section.

图14是图解说明切片边界周围的邻近块的说明图。FIG. 14 is an explanatory diagram illustrating neighboring blocks around a slice boundary.

图15是图解说明每个切片的处理序列的第一个例子的说明图。FIG. 15 is an explanatory diagram illustrating a first example of a processing sequence for each slice.

图16是图解说明每个切片的处理序列的第二个例子的说明图。FIG. 16 is an explanatory diagram illustrating a second example of the processing sequence for each slice.

图17是图解说明由变形例提供的判定技术的第一个和第二个例子的说明图。FIG. 17 is an explanatory diagram illustrating first and second examples of the determination technique provided by the modification.

图18是图解说明由变形例提供的判定技术的第三个和第四个例子的说明图。FIG. 18 is an explanatory diagram illustrating third and fourth examples of the determination technique provided by the modification.

图19是图解说明由变形例提供的判定技术的第五个和第六个例子的说明图。FIG. 19 is an explanatory diagram illustrating fifth and sixth examples of the determination technique provided by the modification.

图20是图解说明按照第一示例的去块滤波器的处理流程的流程图。FIG20 is a flowchart illustrating the processing flow of the deblocking filter according to the first example.

图21是图解说明滤波需要判定处理的流程的流程图。FIG21 is a flowchart illustrating the flow of filtering necessity determination processing.

图22是图解说明按照第二示例的处理序列的说明图。FIG. 22 is an explanatory diagram illustrating a processing sequence according to the second example.

图23是图解说明按照第二示例的去块滤波器的详细结构的方框图。FIG23 is a block diagram illustrating a detailed structure of a deblocking filter according to the second example.

图24是图解说明按照第二示例的去块滤波器的处理流程的流程图。FIG24 is a flowchart illustrating the processing flow of the deblocking filter according to the second example.

图25是图解说明每个CLU的处理序列的说明图。FIG. 25 is an explanatory diagram illustrating the processing sequence of each CLU.

图26是图解说明每个LCU的处理流程的流程图。FIG26 is a flowchart illustrating the processing flow of each LCU.

图27是图解说明第三示例的概况的说明图。FIG27 is an explanatory diagram illustrating the overview of the third example.

图28是图解说明按照第三示例的去块滤波器的详细结构的方框图。FIG28 is a block diagram illustrating a detailed structure of a deblocking filter according to the third example.

图29是图解说明加权平均值的权重的确定的说明图。FIG. 29 is an explanatory diagram illustrating determination of weights of a weighted average.

图30是图解说明加权平均值的权重的例子的说明图。FIG30 is an explanatory diagram illustrating an example of weights of a weighted average value.

图31是图解说明按照第三示例的计算部分的输出像素值的说明图。FIG31 is an explanatory diagram illustrating output pixel values of a calculation section according to the third example.

图32是图解说明用于比较的处理序列的第一个例子的说明图。FIG32 is an explanatory diagram illustrating a first example of a processing sequence for comparison.

图33是图解说明由第三示例提供的处理序列的第一个例子的说明图。FIG. 33 is an explanatory diagram illustrating a first example of a processing sequence provided by the third example.

图34是图解说明用于比较的处理序列的第二个例子的说明图。FIG34 is an explanatory diagram illustrating a second example of the processing sequence for comparison.

图35是图解说明由第三示例提供的处理序列的第二个例子的说明图。FIG35 is an explanatory diagram illustrating a second example of the processing sequence provided by the third example.

图36是图解说明按照第三示例的去块滤波器的处理流程的第一个例子的流程图。FIG36 is a flowchart illustrating a first example of the processing flow of the deblocking filter according to the third example.

图37是图解说明图36中所示的像素值计算处理的流程的流程图。FIG37 is a flowchart illustrating the flow of the pixel value calculation processing shown in FIG36 .

图38是图解说明多视图编解码器的说明图。FIG38 is an explanatory diagram illustrating a multi-view codec.

图39是图解说明按照实施例的应用于多视图编解码器的图像编码处理的说明图。FIG39 is an explanatory diagram illustrating an image encoding process applied to a multi-view codec according to an embodiment.

图40是图解说明按照实施例的应用于多视图编解码器的图像解码处理的说明图。FIG40 is an explanatory diagram illustrating an image decoding process applied to a multi-view codec according to an embodiment.

图41是图解说明可扩展编解码器的说明图。FIG41 is an explanatory diagram illustrating a scalable codec.

图42是图解说明按照实施例的应用于可扩展编解码器的图像编码处理的说明图。FIG42 is an explanatory diagram illustrating an image encoding process applied to a scalable codec according to an embodiment.

图43是图解说明按照实施例的应用于可扩展编解码器的图像解码处理的说明图。FIG43 is an explanatory diagram illustrating an image decoding process applied to a scalable codec according to an embodiment.

图44是图解说明电视机的示意结构的方框图。FIG44 is a block diagram illustrating a schematic structure of a television set.

图45是图解说明移动电话机的示意结构的方框图。FIG45 is a block diagram illustrating a schematic structure of a mobile phone.

图46是图解说明记录/再现设备的示意结构的方框图。FIG46 is a block diagram illustrating a schematic structure of a recording/reproducing apparatus.

图47是图解说明摄像设备的示意结构的方框图。FIG47 is a block diagram illustrating a schematic structure of an image pickup apparatus.

具体实施方式DETAILED DESCRIPTION

下面参考附图,详细说明本发明的优选实施例。注意在说明书和附图中,功能和结构基本相同的元件用相同的附图标记表示,重复的说明被省略。Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that in the specification and the drawings, elements having substantially the same function and structure are denoted by the same reference numerals, and repeated descriptions are omitted.

将按照以下顺序说明具体实施方式。Specific embodiments will be described in the following order.

1.设备概况1. Equipment Overview

1-1.图像编码设备1-1. Image Coding Device

1-2.图像解码设备1-2. Image Decoding Device

2.现有技术2. Existing Technology

2-1.去块滤波器的基本结构2-1. Basic structure of deblocking filter

2-2.按照现有技术的处理之间的依存关系2-2. Dependencies between processes according to existing technologies

3.第一实施例3. First embodiment

3-1.去块滤波器结构例子3-1. Deblocking filter structure example

3-2.判定条件变形例3-2. Modification of Judgment Conditions

3-3.处理流程3-3. Processing Flow

4.第二实施例4. Second embodiment

4-1.去块滤波器结构例子4-1. Deblocking filter structure example

4-2.处理流程4-2. Processing Flow

4-3.每个LCU的处理例子4-3. Processing Example for Each LCU

5.第三实施例5. Third embodiment

5-1.概况5-1. Overview

5-2.去块滤波器结构例子5-2. Deblocking filter structure example

5-3.处理序列例子5-3. Processing sequence example

5-4.处理流程5-4. Processing Flow

6.对各种编解码器的应用6. Application of various codecs

6-1.多视图编解码器6-1. Multi-view codec

6-2.可扩展编解码器6-2. Scalable Codec

7.例证应用7. Example Application

8.总结8. Summary

1.设备概况1. Equipment Overview

参见图1和2,下面说明在本说明书中公开的技术适用于的设备的概况。在本说明书中公开的技术适用于图像编码设备和图像解码设备。1 and 2 , the following describes an overview of devices to which the technology disclosed in this specification is applicable. The technology disclosed in this specification is applicable to an image encoding device and an image decoding device.

[1-1.图像编码设备][1-1. Image Coding Device]

图1是表示按照实施例的图像编码设备10的结构的例子的方框图。参见图1,图像编码设备10包括A/D(模-数)转换部分11、重排缓冲器12、减法部分13、正交变换部分14、量化部分15、无损编码部件16、累积缓冲器17、速率控制部分18、逆量化部分21、逆正交变换部分22、加法部分23、去块滤波器24a、帧存储器25、选择器26、帧内预测部分30、运动估计部分40和模式选择部分50。FIG1 is a block diagram showing an example of the structure of an image encoding device 10 according to an embodiment. Referring to FIG1 , the image encoding device 10 includes an A/D (Analog-Digital) conversion section 11, a rearrangement buffer 12, a subtraction section 13, an orthogonal transform section 14, a quantization section 15, a lossless encoding unit 16, an accumulation buffer 17, a rate control section 18, an inverse quantization section 21, an inverse orthogonal transform section 22, an addition section 23, a deblocking filter 24 a, a frame memory 25, a selector 26, an intra-frame prediction section 30, a motion estimation section 40, and a mode selection section 50.

A/D转换部分11把按模拟格式输入的图像信号转换成数字格式的图像数据,然后把一系列的数字图像数据输出给重排缓冲器12。The A/D conversion section 11 converts an image signal input in an analog format into image data in a digital format, and then outputs a series of digital image data to the reordering buffer 12 .

重排缓冲器12重排包含在从A/D转换部分11输入的一系列图像数据中的图像。在按照与编码处理相应的GOP(图像组)结构,重排图像之后,重排缓冲器12把已重排的图像数据输出给减法部分13、帧内预测部分30和运动估计部分40。The reordering buffer 12 reorders images included in a series of image data input from the A/D conversion section 11. After reordering the images according to a GOP (Group of Pictures) structure corresponding to the encoding process, the reordering buffer 12 outputs the reordered image data to the subtraction section 13, the intra prediction section 30, and the motion estimation section 40.

从重排缓冲器12输入的图像数据和由后面说明的模式选择部分50选择的预测图像数据被提供给减法部分13。减法部分13计算预测误差数据,预测误差数据是从重排缓冲器12输入的图像数据和从模式选择部分50输入的预测图像数据之间的差分,并把计算的预测误差数据输出给正交变换部分14。The image data input from the reordering buffer 12 and the predicted image data selected by the mode selection section 50 described later are supplied to the subtraction section 13. The subtraction section 13 calculates prediction error data, which is the difference between the image data input from the reordering buffer 12 and the predicted image data input from the mode selection section 50, and outputs the calculated prediction error data to the orthogonal transform section 14.

正交变换部分14对从减法部分13输入的预测误差数据进行正交变换。正交变换部分14进行的正交变换例如可以是离散余弦变换(DCT)或者Karhunen-Loeve变换。正交变换部分14把通过正交变换处理获得的变换系数数据,输出给量化部分15。The orthogonal transform section 14 performs an orthogonal transform on the prediction error data input from the subtraction section 13. The orthogonal transform performed by the orthogonal transform section 14 may be, for example, a discrete cosine transform (DCT) or a Karhunen-Loeve transform. The orthogonal transform section 14 outputs the transform coefficient data obtained by the orthogonal transform process to the quantization section 15.

从正交变换部分14输入的变换系数数据和来自后面说明的速率控制部分18的速率控制信号被提供给量化部分15。量化部分15量化变换系数数据,把已被量化的变换系数数据(下面称为量化数据)输出给无损编码部件16和逆量化部分21。另外,量化部分15根据来自速率控制部分18的速率控制信号,切换量化参数(量化规模),从而改变将输入无损编码部件16的量化数据的比特率。The transform coefficient data input from the orthogonal transform section 14 and the rate control signal from the rate control section 18 described later are supplied to the quantization section 15. The quantization section 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding section 16 and the inverse quantization section 21. In addition, the quantization section 15 switches the quantization parameter (quantization scale) based on the rate control signal from the rate control section 18, thereby changing the bit rate of the quantized data to be input to the lossless encoding section 16.

从量化部分15输入的量化数据,和后面说明的由帧内预测部分30或运动估计部分40产生,并由模式选择部分50选择的关于帧内预测或帧间预测的信息被提供给无损编码部件16。关于帧内预测的信息可包括指示每个块的最佳帧内预测模式的预测模式信息。另外,关于帧间预测的信息例如可包括用于预测每个块的运动矢量的预测模式信息,差分运动矢量信息,参考图像信息等等。The quantized data input from the quantization section 15 and the information on intra-frame prediction or inter-frame prediction generated by the intra-frame prediction section 30 or the motion estimation section 40 described later and selected by the mode selection section 50 are supplied to the lossless encoding section 16. The information on intra-frame prediction may include prediction mode information indicating the optimal intra-frame prediction mode for each block. In addition, the information on inter-frame prediction may include, for example, prediction mode information for predicting the motion vector of each block, differential motion vector information, reference image information, and the like.

无损编码部件16通过对量化数据进行无损编码处理,产生编码流。无损编码部件16的无损编码例如可以是变长编码或算术编码。此外,无损编码部件16把上面提及的关于帧内预测的信息,或者关于帧间预测的信息多路复用到编码流的报头(例如,块报头、切片报头等)。随后,无损编码部件16把产生的编码流输出给累积缓冲器17。The lossless encoding section 16 generates a coded stream by performing lossless encoding on the quantized data. The lossless encoding performed by the lossless encoding section 16 may be, for example, variable-length coding or arithmetic coding. Furthermore, the lossless encoding section 16 multiplexes the above-mentioned information regarding intra-frame prediction or inter-frame prediction into the header of the coded stream (e.g., block header, slice header, etc.). The lossless encoding section 16 then outputs the generated coded stream to the accumulation buffer 17.

累积缓冲器17利用诸如半导体存储器之类的存储介质,临时保存从无损编码部件16输入的编码流。随后,累积缓冲器17以与传输线路(或者出自图像编码设备10的输出线路)的频带相应的速率,输出累积的编码流。The accumulation buffer 17 temporarily stores the encoded stream input from the lossless encoding section 16 using a storage medium such as a semiconductor memory. Then, the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the frequency band of the transmission line (or the output line from the image encoding device 10).

速率控制部分18监测累积缓冲器17的空闲空间。随后,速率控制部分18按照累积缓冲器17上的空闲空间,产生速率控制信号,把产生的速率控制信号输出给量化部分15。例如,当在累积缓冲器17上没有大量的空闲空间时,速率控制部分18产生降低量化数据的比特率的速率控制信号。另外,例如,当累积缓冲器17上的空闲空间足够大时,速率控制部分18产生增大量化数据的比特率的速率控制信号。The rate control section 18 monitors the free space of the accumulation buffer 17. Subsequently, the rate control section 18 generates a rate control signal according to the free space in the accumulation buffer 17, and outputs the generated rate control signal to the quantization section 15. For example, when there is not much free space in the accumulation buffer 17, the rate control section 18 generates a rate control signal to reduce the bit rate of the quantized data. Alternatively, for example, when the free space in the accumulation buffer 17 is sufficiently large, the rate control section 18 generates a rate control signal to increase the bit rate of the quantized data.

逆量化部分21对从量化部分15输入的量化数据,进行逆量化处理。随后,逆量化部分21把通过逆量化处理获得的变换系数数据输出给逆正交变换部分22。The inverse quantization section 21 performs inverse quantization processing on the quantized data input from the quantization section 15. Then, the inverse quantization section 21 outputs transform coefficient data obtained by the inverse quantization processing to the inverse orthogonal transform section 22.

逆正交变换部分22对从逆量化部分21输入的变换系数数据,进行逆正交变换处理,从而恢复预测误差数据。随后,逆正交变换部分22把恢复的预测误差数据输出给加法部分23。The inverse orthogonal transform section 22 performs an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization section 21 , thereby restoring the prediction error data.

加法部分23相加从逆正交变换部分22输入的恢复的预测误差数据,和从模式选择部分50输入的预测图像数据,从而产生解码图像数据。随后,加法部分23把产生的解码图像数据输出给去块滤波器24a和帧存储器25。The addition section 23 adds the restored prediction error data input from the inverse orthogonal transform section 22 and the predicted image data input from the mode selection section 50, thereby generating decoded image data. Subsequently, the addition section 23 outputs the generated decoded image data to the deblocking filter 24a and the frame memory 25.

去块滤波器24a进行滤波处理,以减小在图像编码期间发生的块失真。例如,去块滤波器24a对于从加法部分23供给的解码图像数据的每个块边界,判定滤波的必要性,把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24a还被供给用于判定滤波必要性的信息(例如,模式信息、变换系数信息和运动矢量信息),以及来自加法部分23的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24a把解码图像数据输出给帧存储器25。去块滤波器24a的处理将在后面详细说明。The deblocking filter 24a performs filtering to reduce block distortion that occurs during image encoding. For example, the deblocking filter 24a determines the necessity of filtering for each block boundary of the decoded image data supplied from the addition section 23, and applies the deblocking filter to the boundary determined to require filtering. The deblocking filter 24a is also supplied with information used to determine the necessity of filtering (e.g., mode information, transform coefficient information, and motion vector information), as well as the decoded image data from the addition section 23. After filtering, block distortion is removed from the decoded image data, and the deblocking filter 24a outputs the decoded image data to the frame memory 25. The processing of the deblocking filter 24a will be described in detail later.

帧存储器25利用存储介质,保存从加法部分23输入的解码图像数据,和从去块滤波器24a输入的滤波后的解码图像数据。The frame memory 25 stores the decoded image data input from the adding section 23 and the decoded image data after filtering input from the deblocking filter 24 a using a storage medium.

选择器26从帧存储器25读取将用于帧内预测的滤波前的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给帧内预测部分30。另外,选择器26从帧存储器25读取将用于帧间预测的滤波后的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给运动估计部分40。The selector 26 reads the decoded image data before filtering to be used for intra-frame prediction from the frame memory 25, and supplies the read decoded image data as reference image data to the intra-frame prediction section 30. In addition, the selector 26 reads the decoded image data after filtering to be used for inter-frame prediction from the frame memory 25, and supplies the read decoded image data as reference image data to the motion estimation section 40.

帧内预测部分30根据从重排缓冲器12输入的待编码图像数据,和经选择器26供给的解码图像数据,按照每种帧内预测模式进行帧内预测处理。例如,帧内预测部分30利用预定的成本函数,评估每种帧内预测模式的预测结果。随后,帧内预测部分30选择使成本函数值最小的帧内预测模式,即,使压缩比最高的帧内预测模式,作为最佳的帧内预测模式。此外,帧内预测部分30把指示最佳的帧内预测模式的预测模式信息,预测图像数据,和诸如成本函数值之类的关于帧内预测的信息,输出给模式选择部分50。The intra-frame prediction section 30 performs intra-frame prediction processing according to each intra-frame prediction mode based on the image data to be encoded input from the reordering buffer 12 and the decoded image data supplied via the selector 26. For example, the intra-frame prediction section 30 evaluates the prediction results of each intra-frame prediction mode using a predetermined cost function. The intra-frame prediction section 30 then selects the intra-frame prediction mode that minimizes the cost function value, that is, the intra-frame prediction mode that maximizes the compression ratio, as the optimal intra-frame prediction mode. Furthermore, the intra-frame prediction section 30 outputs prediction mode information indicating the optimal intra-frame prediction mode, the predicted image data, and information regarding the intra-frame prediction, such as the cost function value, to the mode selection section 50.

运动估计部分40根据从重排缓冲器12供给的编码用图像数据,和经选择器26供给的解码图像数据,进行帧间预测处理(帧间的预测处理)。例如,运动估计部分40利用预定的成本函数,评估每种预测模式的预测结果。随后,运动估计部分40选择最佳的预测模式,即,使成本函数值达到最小,或者使压缩比达到最大的预测模式。运动估计部分40按照最佳预测模式,产生预测图像数据。运动估计部分40把诸如指示最佳的帧内预测模式的预测模式信息、预测图像数据和成本函数值之类的关于帧间预测的信息,输出给模式选择部分50。The motion estimation section 40 performs inter-frame prediction processing (inter-frame prediction processing) based on the encoding image data supplied from the reordering buffer 12 and the decoded image data supplied via the selector 26. For example, the motion estimation section 40 evaluates the prediction results of each prediction mode using a predetermined cost function. The motion estimation section 40 then selects the optimal prediction mode, that is, the prediction mode that minimizes the cost function value or maximizes the compression ratio. The motion estimation section 40 generates predicted image data according to the optimal prediction mode. The motion estimation section 40 outputs information about inter-frame prediction, such as prediction mode information indicating the optimal intra-frame prediction mode, predicted image data, and the cost function value, to the mode selection section 50.

模式选择部分50比较从帧内预测部分30输入的与帧内预测相关的成本函数值,和从运动估计部分40输入的与帧间预测相关的成本函数值。随后,模式选择部分50从帧内预测和帧间预测中,选择成本函数值较小的预测方法。在选择帧内预测的情况下,模式选择部分50把关于帧内预测的信息输出给无损编码部件16,另外,把预测图像数据输出给减法部分13和加法部分23。此外,在选择帧间预测的情况下,模式选择部分50把上面说明的关于帧间预测的信息输出给无损编码部件16,另外把预测图像数据输出给减法部分13和加法部分23。The mode selection section 50 compares the cost function value related to intra-frame prediction input from the intra-frame prediction section 30 with the cost function value related to inter-frame prediction input from the motion estimation section 40. The mode selection section 50 then selects the prediction method with the smaller cost function value from the intra-frame prediction and the inter-frame prediction. If intra-frame prediction is selected, the mode selection section 50 outputs information about the intra-frame prediction to the lossless encoding section 16 and outputs predicted image data to the subtraction section 13 and the addition section 23. Furthermore, if inter-frame prediction is selected, the mode selection section 50 outputs the information about the inter-frame prediction described above to the lossless encoding section 16 and outputs predicted image data to the subtraction section 13 and the addition section 23.

[1-2.图像解码设备][1-2. Image decoding device]

图2是表示按照实施例的图像解码设备60的结构例子的方框图。参见图2,图像解码设备60包括累积缓冲器61、无损解码部分62、逆量化部分63、逆正交变换部分64、加法部分65、去块滤波器24b、重排缓冲器67、D/A(数-模)转换部分68、帧存储器69、选择器70和71、帧内预测部分80和运动补偿部分90。FIG2 is a block diagram showing a structural example of an image decoding device 60 according to an embodiment. Referring to FIG2 , the image decoding device 60 includes an accumulation buffer 61, a lossless decoding section 62, an inverse quantization section 63, an inverse orthogonal transform section 64, an addition section 65, a deblocking filter 24 b, a rearrangement buffer 67, a D/A (digital-to-analog) conversion section 68, a frame memory 69, selectors 70 and 71, an intra-frame prediction section 80, and a motion compensation section 90.

累积缓冲器61利用存储介质,临时保存经传输线路输入的编码流。The accumulation buffer 61 temporarily stores the encoded stream input via the transmission line using a storage medium.

无损解码部分62按照在编码时使用的编码方法,解码从累积缓冲器61输入的编码流。另外,无损解码部分62解码多路复用到编码流的报头区的信息。多路复用到编码流的报头区的信息例如可包括块报头中的关于帧内预测的信息和关于帧间预测的信息。无损解码部分62把关于帧内预测的信息输出给帧内预测部分80。另外,无损解码部分62把关于帧间预测的信息输出给运动补偿部分90。The lossless decoding section 62 decodes the coded stream input from the accumulation buffer 61 according to the encoding method used during encoding. Furthermore, the lossless decoding section 62 decodes information multiplexed into the header area of the coded stream. This information multiplexed into the header area of the coded stream may include, for example, information regarding intra-frame prediction and information regarding inter-frame prediction in a block header. The lossless decoding section 62 outputs the information regarding intra-frame prediction to the intra-frame prediction section 80. Furthermore, the lossless decoding section 62 outputs the information regarding inter-frame prediction to the motion compensation section 90.

逆量化部分63逆量化已由无损解码部分62解码的量化数据。逆正交变换部分64通过按照在编码时使用的正交变换方法,对从逆量化部分63输入的变换系数数据进行逆正交变换,产生预测误差数据。随后,逆正交变换部分64把产生的预测误差数据输出给加法部分65。The inverse quantization section 63 inversely quantizes the quantized data decoded by the lossless decoding section 62. The inverse orthogonal transform section 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization section 63 according to the orthogonal transform method used at the time of encoding. Subsequently, the inverse orthogonal transform section 64 outputs the generated prediction error data to the addition section 65.

加法部分65相加从逆正交变换部分64输入的预测误差数据和从选择器71输入的预测图像数据,从而产生解码图像数据。随后,加法部分65把产生的解码图像数据输出给去块滤波器24b和帧存储器69。The addition section 65 adds the prediction error data input from the inverse orthogonal transform section 64 and the predicted image data input from the selector 71, thereby generating decoded image data.

去块滤波器24b进行滤波处理,以减小出现在解码图像上的块失真。去块滤波器24b例如对于从加法部分65输入的解码图像数据,确定在每个块边界滤波的必要性,并把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24b还被供给用于滤波必要性的确定的信息,以及来自加法部分65的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24b把解码图像数据输出给重排缓冲器67和帧存储器69。去块滤波器24b的处理将在后面详细说明。The deblocking filter 24b performs filtering to reduce block distortion that appears in the decoded image. For example, the deblocking filter 24b determines the necessity of filtering at each block boundary for the decoded image data input from the adding section 65, and applies the deblocking filter to the boundaries where filtering is determined to be necessary. The deblocking filter 24b is also supplied with information used to determine the necessity of filtering, as well as the decoded image data from the adding section 65. After filtering, block distortion is removed from the decoded image data, and the deblocking filter 24b outputs the decoded image data to the reordering buffer 67 and the frame memory 69. The processing of the deblocking filter 24b will be described in detail later.

重排缓冲器67通过重排从去块滤波器24b输入的图像,按照时间顺序产生一系列的图像数据。随后,重排缓冲器67把产生的图像数据输出给D/A转换部分68。The rearrangement buffer 67 generates a series of image data in time sequence by rearranging the image input from the deblocking filter 24b. Then, the rearrangement buffer 67 outputs the generated image data to the D/A conversion section 68.

D/A转换部分68把从重排缓冲器67输入的数字格式的图像数据转换成模拟格式的图像信号。随后,例如通过把模拟图像信号输出给连接到图像解码设备60的显示器(未示出),D/A转换部分68使图像被显示。The D/A conversion section 68 converts the image data in digital format input from the rearrangement buffer 67 into an image signal in analog format. Then, the D/A conversion section 68 causes the image to be displayed, for example, by outputting the analog image signal to a display (not shown) connected to the image decoding device 60.

帧存储器69利用存储介质保存从加法部分65输入的滤波前的解码图像数据,和从去块滤波器24b输入的滤波后的解码图像数据。The frame memory 69 stores the decoded image data before filtering input from the adding section 65 and the decoded image data after filtering input from the deblocking filter 24 b using a storage medium.

选择器70按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间切换来自帧存储器69的图像数据的输出目的地。例如,在指定帧内预测模式的情况下,选择器70把从帧存储器69供给的滤波前的解码图像数据,作为参考图像数据输出给帧内预测部分80。另外,在指定帧间预测模式的情况下,选择器70把从帧存储器69供给的滤波后的解码图像数据,作为参考图像数据输出给运动补偿部分90。The selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction section 80 and the motion compensation section 90 for each block in the image according to the mode information obtained by the lossless decoding section 62. For example, when the intra prediction mode is specified, the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 as reference image data to the intra prediction section 80. On the other hand, when the inter prediction mode is specified, the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 as reference image data to the motion compensation section 90.

选择器71按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间,切换待供给加法部分65的预测图像数据的输出源。例如,在指定帧内预测模式的情况下,选择器71把从帧内预测部分80输出的预测图像数据提供给加法部分65。在指定帧间预测模式的情况下,选择器71把从运动补偿部分90输出的预测图像数据提供给加法部分65。The selector 71 switches the output source of the predicted image data to be supplied to the addition section 65 between the intra prediction section 80 and the motion compensation section 90 for each block in the image in accordance with the mode information obtained by the lossless decoding section 62. For example, in the case where the intra prediction mode is specified, the selector 71 supplies the predicted image data output from the intra prediction section 80 to the addition section 65. In the case where the inter prediction mode is specified, the selector 71 supplies the predicted image data output from the motion compensation section 90 to the addition section 65.

帧内预测部分80根据从无损解码部分62输入的关于帧内预测的信息,和来自帧存储器69的参考图像数据,进行像素值的画面中(in screen)预测,产生预测图像数据。随后,帧内预测部分80把产生的预测图像数据输出给选择器71。The intra prediction section 80 performs in-screen prediction of pixel values based on the information on intra prediction input from the lossless decoding section 62 and the reference image data from the frame memory 69, thereby generating predicted image data. The intra prediction section 80 then outputs the generated predicted image data to the selector 71.

运动补偿部分90根据从无损解码部分62输入的关于帧间预测的信息,和来自帧存储器69的参考图像数据,进行运动补偿处理,产生预测图像数据。随后,运动补偿部分90把产生的预测图像数据输出给选择器71。The motion compensation section 90 performs motion compensation processing based on the information on inter-frame prediction input from the lossless decoding section 62 and the reference image data from the frame memory 69 to generate predicted image data. The motion compensation section 90 then outputs the generated predicted image data to the selector 71.

<2.现有技术><2. Prior Art>

[2-1.去块滤波器的基本结构][2-1. Basic structure of deblocking filter]

通常,诸如H.264/AVC或者HEVC之类的现有图像编码方案中的利用去块滤波器的处理包括两种处理,即,滤波需要判定处理和滤波处理。例如,下面说明HEVC中的这两种处理。Generally, the process of using a deblocking filter in existing image coding schemes such as H.264/AVC or HEVC includes two processes: a filtering necessity determination process and a filtering process. For example, these two processes in HEVC are described below.

(1)滤波需要判定处理(1) Filtering requires judgment processing

滤波需要判定处理判定是否需要对输入图像内的各个块的每个边界应用去块滤波器。块边界包括彼此水平相邻的各个块之间的垂直边界,和彼此垂直相邻的各个块之间的水平边界。JCTVC-A119利用8×8像素的块大小作为最小处理单位。例如,16×16像素的宏块包括8×8像素的4个块。对每个块的一个(左)垂直边界和一个(上)水平边界,即,4个边界加上4个边界合计等于8个边界,应用该处理。本说明书假定作为技术术语的宏块包括在HEVC的上下文中的编码单位(CU)。The filtering need determination process determines whether it is necessary to apply a deblocking filter to each boundary of each block within the input image. Block boundaries include vertical boundaries between blocks that are horizontally adjacent to each other, and horizontal boundaries between blocks that are vertically adjacent to each other. JCTVC-A119 uses a block size of 8×8 pixels as the minimum processing unit. For example, a macroblock of 16×16 pixels includes 4 blocks of 8×8 pixels. This process is applied to one (left) vertical boundary and one (top) horizontal boundary of each block, that is, 4 boundaries plus 4 boundaries totaling 8 boundaries. This specification assumes that macroblocks, which are technical terms, include coding units (CUs) in the context of HEVC.

图3是表示在边界周围,彼此相邻的两个块(邻近块)Ba和Bb中的像素的例子的说明图。下面举例说明垂直边界,该说明显然适用于水平边界。图3中的例子利用符号pij表示块Ba中的像素。在该符号中,i表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从右到左)把列索引i编号为0、1、2和3。从上到下,把行索引j编号为0、1、2、…、7。图中省略了块Ba的左半部。符号qkj用于表示块Bb中的像素。在该符号中,k表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从左到右)把列索引k编号为0、1、2和3。图中省略了块Bb的右半部。FIG3 is an illustrative diagram showing an example of pixels in two adjacent blocks (adjacent blocks) Ba and Bb around a boundary. The following example illustrates a vertical boundary, but the explanation is clearly applicable to horizontal boundaries. The example in FIG3 uses the symbol p ij to represent pixels in block Ba. In this symbol, i represents a column index and j represents a row index. Starting from the column closest to the vertical boundary, the column index i is numbered sequentially (from right to left) as 0, 1, 2, and 3. From top to bottom, the row index j is numbered as 0, 1, 2, ..., 7. The left half of block Ba is omitted in the figure. The symbol q kj is used to represent pixels in block Bb. In this symbol, k represents a column index and j represents a row index. Starting from the column closest to the vertical boundary, the column index k is numbered sequentially (from left to right) as 0, 1, 2, and 3. The right half of block Bb is omitted in the figure.

可以利用以下条件来确定把去块滤波器应用于图3中所示的块Ba和Bb之间的垂直边界的必要性。The necessity of applying the deblocking filter to the vertical boundary between blocks Ba and Bb shown in FIG. 3 can be determined using the following conditions.

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。Decision conditions for the luminance component (Luma)... If conditions A and B are both true, then apply the deblocking filter.

条件A:Condition A:

(A1)块Ba或Bb进入帧内预测模式;(A1) Block Ba or Bb enters intra prediction mode;

(A2)块Ba或Bb具有非零正交变换系数;或者(A2) block Ba or Bb has a non-zero orthogonal transform coefficient; or

(A3)|MVAx-MVBx|≥4或者|MVAy-MVBy|≥4(A3) |MVAx-MVBx|≥4 or |MVAy-MVBy|≥4

条件B:Condition B:

|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|<β|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |<β

条件A3按照Qpel(1/4像素)精度,假定块Ba的运动矢量为(MVAx,MVAy),块Bb的运动矢量为(MVBx,MVBy)。条件B利用β作为边缘判定阈值。按照量化参数,给出β的初始值。用户可利用在切片报头内的参数,指定β的值。Condition A3 assumes the motion vector of block Ba is (MVAx, MVAy) and the motion vector of block Bb is (MVBx, MVBy) using Qpel (1/4 pixel) precision. Condition B uses β as the edge determination threshold. The initial value of β is given according to the quantization parameter. The user can specify the value of β using parameters in the slice header.

色度分量(Chroma)的判定条件…如果条件A1为真,那么应用去块滤波器。Decision conditions for chroma components (Chroma) ... If condition A1 is true, then apply the deblocking filter.

条件A1:块Ba或Bb进入帧内预测模式。Condition A1: Block Ba or Bb enters intra prediction mode.

如用图4中的虚线框L3和L6所示,对于一般的垂直边界的滤波需要判定处理(特别是按照亮度分量的判定条件B)参考在每个块中的第三行和第六行(假定最上面的一行是第一行)上的像素。类似地,对水平边界的滤波需要判定处理参考在每个块中的第三列和第六列上的像素(图4中未示出)。上述判定条件被用于确定去块滤波器需要被应用于对其进行下述滤波处理的边界。As shown by the dotted boxes L3 and L6 in FIG4 , the filtering of general vertical boundaries requires determination processing (particularly according to determination condition B of the luminance component) with reference to pixels on the third and sixth rows (assuming the top row is the first row) in each block. Similarly, the filtering of horizontal boundaries requires determination processing with reference to pixels on the third and sixth columns (not shown in FIG4 ) in each block. The above determination conditions are used to determine the boundaries on which the deblocking filter needs to be applied to perform the filtering processing described below.

(2)滤波处理(2) Filtering

如果确定需要对边界应用去块滤波器,那么对在垂直边界左右两侧的像素,和在水平边界上下两侧的像素进行滤波处理。关于亮度分量,按照像素值,在强滤波器和弱滤波器之间切换滤波器强度。If it is determined that a deblocking filter needs to be applied to the boundary, the pixels on the left and right sides of the vertical boundary and the pixels above and below the horizontal boundary are filtered. Regarding the luminance component, the filter strength is switched between strong and weak filters according to the pixel value.

滤波亮度分量Filtering the luminance component

选择强度…为每行或每列选择滤波器强度。如果以下条件C1-C3都被满足,那么选择强滤波器。如果以下条件任意之一不被满足,那么选择弱滤波器。Select Strength... Select the filter strength for each row or column. If all of the following conditions C1-C3 are met, then a strong filter is selected. If any of the following conditions are not met, then a weak filter is selected.

(C1)d<(β>>2)(C1)d<(β>>2)

(C2)(|p3j-p0j|+|q0j-q3j|)<(β>>3)(C2)(|p 3j -p 0j |+|q 0j -q 3j |)<(β>>3)

(C3)|p0j-q0j|<((5tC+1)>>1)(C3)|p 0j -q 0j |<((5t C +1)>>1)

其中j表示垂直边界的行索引,或者水平边界的列索引。d=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|。Where j represents the row index of the vertical boundary or the column index of the horizontal boundary. d = |p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |.

弱滤波Weak filtering

△=Clip(-tC,tC,(13(q0j-p0j)+4(q1j-p1j)-5(q2j-p2j)+16)>>5))△=Clip(-t C ,t C ,(13(q 0j -p 0j )+4(q 1j -p 1j )-5(q 2j -p 2j )+16)>>5))

p0j=Clip0-255(p0j+△)p 0j =Clip 0-255 (p 0j +△)

q0j=Clip0-255(q0j-△)q 0j =Clip 0-255 (q 0j -△)

p1j=Clip0-255(p1j+△/2)p 1j =Clip 0-255 (p 1j +△/2)

q1j=Clip0-255(q1j-△/2)q 1j =Clip 0-255 (q 1j -△/2)

强滤波Strong filtering

p0j=Clip0-255((p2j+2p1j+2p0j+2q0j+q1j+4)>>3)p 0j =Clip 0-255 ((p 2j +2p 1j +2p 0j +2q 0j +q 1j +4)>>3)

q0j=Clip0-255((p1j+2p0j+2q0j+2q1j+q2j+4)>>3)q 0j =Clip 0-255 ((p 1j +2p 0j +2q 0j +2q 1j +q 2j +4)>>3)

p1j=Clip0-255((p2j+p1j+p0j+q0j+2)>>2)p 1j =Clip 0-255 ((p 2j +p 1j +p 0j +q 0j +2)>>2)

q1j=Clip0-255((p0j+q0j+q1j+q2j+2)>>2)q 1j =Clip 0-255 ((p 0j +q 0j +q 1j +q 2j +2)>>2)

p2j=Clip0-255((2p3j+3p2j+p1j+p0j+q0j+4)>>3)p 2j =Clip 0-255 ((2p 3j +3p 2j +p 1j +p 0j +q 0j +4)>>3)

q2j=Clip0-255((p0j+q0j+q1j+3q2j+2q3j+4)>>3)q 2j =Clip 0-255 ((p 0j +q 0j +q 1j +3q 2j +2q 3j +4)>>3)

其中,Clip(a,b,c)表示将值c箝位在范围a≤c≤b内的处理,Clip0-255(c)表示将值c箝位在范围0≤c≤255内的处理。Here, Clip(a,b,c) indicates a process of clamping the value c within the range of a≤c≤b, and Clip 0-255 (c) indicates a process of clamping the value c within the range of 0≤c≤255.

滤波色度分量Filtering chroma components

△=Clip(-tC,tC,((((q0j-p0j)<<2)+p1j-q1j+4)>>3))△=Clip(-t C ,t C ,((((q 0j -p 0j )<<2)+p 1j -q 1j +4)>>3))

p0j=Clip0-255(p0j+△)p 0j =Clip 0-255 (p 0j +△)

q0j=Clip0-255(q0j-△)q 0j =Clip 0-255 (q 0j -△)

如用图5中的虚线框C6-C8和C1-C3所示,对于一般的垂直边界的滤波处理(尤其是对于亮度分量的强滤波)更新在每个块中的第一列到第三列,和第六列到第八列上的像素值。类似地,对于水平边界的滤波处理更新在每个块中的第一行到第三行,和第六行到第八行上的像素值。As shown by the dashed boxes C6-C8 and C1-C3 in Figure 5, the filtering process for general vertical boundaries (especially the strong filtering for the luminance component) updates the pixel values on the first to third columns and the sixth to eighth columns in each block. Similarly, the filtering process for horizontal boundaries updates the pixel values on the first to third rows and the sixth to eighth rows in each block.

[2-2.按照现有技术的处理之间的依存关系][2-2. Dependencies between Processes According to Conventional Technology]

为了说明起见,如图6中所示,都具有16×16像素的大小的宏块MBx(MB0、MB1…)包括表示成Vx,0的左上垂直边界,表示成Vx,1的中上垂直边界,表示成Vx,2的左下垂直边界,表示成Vx,3的中下垂直边界,表示成Hx,0的左上水平边界,表示成Hx,1的右上水平边界,表示成Hx,2的左中水平边界,和表示成Hx,3的右中水平边界。关于边界Z,例如,滤波需要判定处理被表示成JZ,而滤波处理被表示成FZFor the sake of explanation, as shown in FIG6 , macroblocks MBx (MB0, MB1, ...) each having a size of 16×16 pixels include an upper left vertical boundary denoted as Vx,0, an upper middle vertical boundary denoted as Vx,1, a lower left vertical boundary denoted as Vx,2, a lower middle vertical boundary denoted as Vx,3, an upper left horizontal boundary denoted as Hx,0, an upper right horizontal boundary denoted as Hx,1, a left middle horizontal boundary denoted as Hx,2, and a right middle horizontal boundary denoted as Hx,3. Regarding boundary Z, for example, the filtering necessity determination process is denoted as J Z , and the filtering process is denoted as F Z .

上述现有技术导致在一个宏块内,关于相同方向的边界的处理之间,不存在任何依存关系。于是,该技术能够在一个宏块内,对垂直边界和水平边界进行并行滤波。例如,图7清楚地表示在宏块MB0内,在4个滤波处理FV0,0,FV0,1,FV0,2和FV0,3之间,不存在依存关系(没有像素被重复更新),可以并行地进行滤波处理。The above-described prior art results in no dependencies between processes for boundaries in the same direction within a macroblock. Therefore, this technique enables parallel filtering of vertical and horizontal boundaries within a macroblock. For example, Figure 7 clearly shows that within macroblock MB0, there are no dependencies between the four filtering processes F V0,0 , F V0,1 , F V0,2 , and F V0,3 (no pixels are repeatedly updated), allowing the filtering processes to be performed in parallel.

然而,上述现有技术遗留对于垂直边界的滤波处理和对于水平边界的滤波需要判定处理之间的依存关系。该现有技术还遗留对于水平边界的滤波处理和对于垂直边界的滤波需要判定处理之间的依存关系。例如,如果在水平边界之前处理垂直边界,那么需要在终止对于垂直边界的滤波处理之后,对给定宏块内的水平边界进行滤波需要判定处理。例如,图8表示在宏块MB0内,滤波需要判定处理JH0,0取决于滤波处理FV0,0和FV0,1的结果,滤波需要判定处理JH0,1取决于滤波处理FV0,1的结果。类似地,需要在对相邻宏块的水平边界的滤波处理终止之后,对给定宏块内的垂直边界进行滤波需要判定处理。例如,图9表示对于宏块MB1的滤波需要判定处理JV1,0取决于对于宏块MB0的滤波处理FH0,1和FH0,3的结果,对于宏块MB1的滤波需要判定处理JV1,2取决于对于宏块MB0的滤波处理FH0,3的结果。However, the above-mentioned prior art leaves behind a dependency between the filtering process for vertical boundaries and the filtering necessity determination process for horizontal boundaries. This prior art also leaves behind a dependency between the filtering process for horizontal boundaries and the filtering necessity determination process for vertical boundaries. For example, if vertical boundaries are processed before horizontal boundaries, then the filtering necessity determination process for horizontal boundaries within a given macroblock must be performed after the filtering process for vertical boundaries is terminated. For example, Figure 8 shows that within macroblock MB0, the filtering necessity determination process J H0,0 depends on the results of the filtering processes F V0,0 and F V0,1 , and the filtering necessity determination process J H0,1 depends on the result of the filtering process F V0,1 . Similarly, the filtering necessity determination process for vertical boundaries within a given macroblock must be performed after the filtering process for the horizontal boundaries of adjacent macroblocks is terminated. For example, FIG9 shows that the filtering necessity determination process J V1,0 for macroblock MB1 depends on the results of the filtering processes F H0,1 and F H0,3 for macroblock MB0, and the filtering necessity determination process J V1,2 for macroblock MB1 depends on the result of the filtering process F H0,3 for macroblock MB0.

现有技术涉及处理之间的依存关系,于是即使利用在JCTVC-A119中提出的技术,也能够程度非常有限地提供去块滤波器的并行处理。The existing technology involves dependencies between processes, so even with the technology proposed in JCTVC-A119, parallel processing of deblocking filters can be provided to a very limited extent.

图10是图解说明按照现有技术的去块滤波器处理的序列的说明图。本例假定去块滤波器被供给大小为32×32像素的图像。输入的图像包括4个宏块MB0-MB3,每个宏块具有16×16像素的大小。FIG10 is an explanatory diagram illustrating a sequence of deblocking filter processing according to the prior art. This example assumes that the deblocking filter is fed with an image of size 32×32 pixels. The input image includes four macroblocks MB0-MB3, each of which has a size of 16×16 pixels.

在图10中,每个虚线框代表将并行进行的处理。例如,第一步骤对宏块MB0中的4个垂直边界,并行地进行滤波需要判定处理JV0,0,JV0,1,JV0,2和JV0,3。第二步骤对宏块MB0中的4个垂直边界,并行地进行滤波处理FV0,0,FV0,1,FV0,2FV0,3。在第二步骤终止之后,第三步骤对宏块MB0中的4个水平边界,并行地进行滤波需要判定处理JH0,0,JH0,1,JH0,2和JH0,3。第三步骤把在第二步骤关于垂直边界的滤波处理之后的像素值,用于对水平边界的滤波需要判定处理。第四步骤对宏块MB0中的4个水平边界,并行地进行滤波处理FH0,0,FH0,1,FH0,2和FH0,3。在第四步骤终止之后,相继进行对于宏块MB1的处理(第五步骤到第八步骤)。第五步骤把在第四步骤关于宏块MB0水平边界的滤波处理之后的像素值,用于对宏块MB1的垂直边界的滤波需要判定处理。在终止对于宏块MB1的处理之后,相继进行对于宏块MB2的处理(第九步骤到第十二步骤)。在终止对于宏块MB2的处理之后,相继进行对于宏块MB3的处理(第十三步骤到第十六步骤)。In Figure 10, each dotted box represents a process that will be performed in parallel. For example, in the first step, filtering is performed in parallel on the four vertical boundaries of macroblock MB0: J V0,0 , J V0,1 , J V0,2 , and J V0,3 . In the second step, filtering is performed in parallel on the four vertical boundaries of macroblock MB0: F V0,0 , F V0,1 , F V0,2 , and F V0,3 . After the second step is completed, the third step performs filtering in parallel on the four horizontal boundaries of macroblock MB0: J H0,0 , J H0,1 , J H0,2 , and J H0,3 . The third step uses the pixel values after the filtering of the vertical boundaries in the second step to determine the need for filtering on the horizontal boundaries. In the fourth step, filtering is performed in parallel on the four horizontal boundaries of macroblock MB0: F H0,0 , F H0,1 , F H0,2 , and F H0,3 . After the fourth step is terminated, processing is continued for macroblock MB1 (steps 5 to 8). In the fifth step, the pixel values obtained after the filtering process for the horizontal boundary of macroblock MB0 in step 4 are used to determine the need for filtering for the vertical boundary of macroblock MB1. After the processing for macroblock MB1 is terminated, processing is continued for macroblock MB2 (steps 9 to 12). After the processing for macroblock MB2 is terminated, processing is continued for macroblock MB3 (steps 13 to 16).

程度有限的这种并行处理不能令人满意地解决由当应用去块滤波器时的较大处理量引起的延迟或数据速率的降低的问题。下面说明的3个实施例进一步改善当应用去块滤波器时的并行处理。This limited degree of parallel processing cannot satisfactorily solve the problem of delay or data rate reduction caused by the large amount of processing when applying the deblocking filter. The three embodiments described below further improve the parallel processing when applying the deblocking filter.

<3.第一实施例><3. First embodiment>

[3-1.去块滤波器结构例子][3-1. Deblocking filter structure example]

下面说明按照第一实施例,图1中所示的图像编码设备10的去块滤波器24a,和图2中所示的图像解码设备60的去块滤波器24b的例证结构。去块滤波器24a和去块滤波器24b的结构可以彼此相同。在下面的说明中,当不需要相互区分去块滤波器24a和去块滤波器24b时,它们都被统称为去块滤波器24。The following describes exemplary structures of the deblocking filter 24a of the image encoding device 10 shown in FIG. 1 and the deblocking filter 24b of the image decoding device 60 shown in FIG. 2 according to the first embodiment. The structures of the deblocking filter 24a and the deblocking filter 24b may be identical to each other. In the following description, when there is no need to distinguish between the deblocking filter 24a and the deblocking filter 24b, they are collectively referred to as the deblocking filter 24.

(1)新处理之间的依存关系(1) Dependencies between new processes

按照本实施例,利用去块滤波器24的处理还包括两种处理,即,滤波需要判定处理和滤波处理。在关于垂直边界和水平边界之一的滤波需要判定处理中,去块滤波器24跨越多个宏块地把输入去块滤波器的图像的像素值用于所述判定。例如,如果垂直边界在水平边界之前被处理,那么去块滤波器24可以对特定块的垂直边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。如果水平边界在垂直边界之前被处理,那么去块滤波器24可对特定块的水平边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。结果将减轻宏块之间的处理的依存关系。According to this embodiment, the processing using the deblocking filter 24 also includes two processes: filtering necessity determination processing and filtering processing. In the filtering necessity determination processing regarding either vertical or horizontal boundaries, the deblocking filter 24 uses the pixel values of the image input to the deblocking filter across multiple macroblocks for the determination. For example, if vertical boundaries are processed before horizontal boundaries, the deblocking filter 24 can perform filtering necessity determination processing on the vertical boundary of a particular block without having to wait for filtering processing on the horizontal boundary of an adjacent block. If horizontal boundaries are processed before vertical boundaries, the deblocking filter 24 can perform filtering necessity determination processing on the horizontal boundary of a particular block without having to wait for filtering processing on the horizontal boundary of an adjacent block. As a result, processing dependencies between macroblocks are reduced.

减轻宏块之间的处理的依存关系能够在图像内的多个宏块之间,使处理并行。例如,这使得能够对输入图像内的所有块的垂直边界,并行地进行滤波需要判定处理。这还使得能够对输入图像内的所有块的水平边界,并行地进行滤波需要判定处理。Reducing inter-macroblock processing dependencies enables parallel processing across multiple macroblocks within an image. For example, this enables parallel processing of the need for filtering across all vertical boundaries of all blocks within the input image. This also enables parallel processing of the need for filtering across all horizontal boundaries of all blocks within the input image.

图11是图解说明可用于本实施例的处理序列的说明图。本例还假定去块滤波器被供给大小为32×32像素的图像。该输入图像包括大小均为16×16像素的4个宏块MB0-MB3。Figure 11 is an explanatory diagram illustrating a processing sequence that can be used in this embodiment. This example also assumes that the deblocking filter is fed with an image of size 32x32 pixels. The input image includes four macroblocks MB0-MB3, each of size 16x16 pixels.

在图11中,每个虚线框代表将并行进行的处理。虽然对于处理序列,图10中的例子需要16个处理步骤,不过,图11中的例子把相同数目的处理集合成4个处理步骤。第一步骤对所有宏块MB0-MB3的所有垂直边界和所有水平边界,并行地进行滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤对所有宏块MB0-MB3的16个垂直边界,并行地进行滤波处理FV0,0~FV3,3。第三步骤对所有宏块MB0-MB3的所有水平边界,并行地进行滤波需要判定处理FH0,0~FH3,3。第四步骤对所有宏块MB0-MB3的16个水平边界,并行地进行滤波处理FH0,0~FH3,3。如果在垂直边界之前处理水平边界,那么第三步骤和第四步骤可在第一步骤和第二步骤之前。In Figure 11, each dotted box represents a process that will be performed in parallel. While the example in Figure 10 requires 16 processing steps for the processing sequence, the example in Figure 11 combines the same number of processes into four steps. The first step involves performing filtering in parallel on all vertical and horizontal boundaries of all macroblocks MB0-MB3, requiring the decision processing J V0,0 to J V3,3 and J H0,0 to J H3,3 . The second step involves performing filtering in parallel on all 16 vertical boundaries of all macroblocks MB0-MB3, requiring the decision processing F V0,0 to F V3,3 . The third step involves performing filtering in parallel on all horizontal boundaries of all macroblocks MB0-MB3, requiring the decision processing F H0,0 to F H3,3 . The fourth step involves performing filtering in parallel on all 16 horizontal boundaries of all macroblocks MB0-MB3, requiring the decision processing F H0,0 to F H3,3 . If horizontal boundaries are processed before vertical boundaries, the third and fourth steps can precede the first and second steps.

图11提供通过在图像中的所有宏块内使处理并行,使并行度(并行进行的处理)达到最大的例子。然而不限于本例,可在一些宏块内,而不是在图像中的所有宏块中,使处理并行。Figure 11 provides an example of maximizing parallelism (processing performed in parallel) by parallelizing processing in all macroblocks of a picture. However, this example is not limiting and processing may be parallelized in some macroblocks rather than in all macroblocks of a picture.

(2)去块滤波器的详细结构(2) Detailed structure of the deblocking filter

图12是图解说明按照第一实施例的进行上述并行处理的去块滤波器24的详细结构的方框图。参见图12,去块滤波器24包括垂直判定部件110、水平判定部件114、水平滤波部件130、垂直滤波部件140和并行化控制部分150。FIG12 is a block diagram illustrating a detailed structure of the deblocking filter 24 that performs the above-mentioned parallel processing according to the first embodiment. Referring to FIG12 , the deblocking filter 24 includes a vertical determination unit 110, a horizontal determination unit 114, a horizontal filtering unit 130, a vertical filtering unit 140, and a parallelization control unit 150.

(2-1)垂直判定部件(2-1) Vertical determination component

垂直判定部件110包括多个垂直边界判定部分112-1~112-n。每个垂直边界判定部分112被供给输入去块滤波器24的图像,和用于判定是否需要滤波的判定信息。The vertical decision section 110 includes a plurality of vertical boundary decision sections 112-1 to 112-n. Each vertical boundary decision section 112 is supplied with an image input to the deblocking filter 24 and decision information for determining whether filtering is required.

垂直边界判定部分112-1~112-n通过跨图像内的多个宏块地利用输入去块滤波器24的图像的像素值,判定是否把去块滤波器应用于垂直边界。每个垂直边界判定部分112向水平滤波部件130提供指示关于每个垂直边界的判定结果的信息,比如指示值“1”强制去块滤波器的应用的判定结果的二进制信息。The vertical boundary determination sections 112-1 to 112-n determine whether to apply a deblocking filter to a vertical boundary by utilizing pixel values of an image input to the deblocking filter 24 across a plurality of macroblocks within the image. Each vertical boundary determination section 112 supplies information indicating the determination result regarding each vertical boundary, such as binary information indicating a determination result that a value of "1" forces the application of a deblocking filter, to the horizontal filtering section 130.

(2-2)水平滤波部件(2-2) Horizontal filter component

水平滤波部件130包括多个水平滤波部件132-1~132-n。每个水平滤波部件132被供给输入的图像,和来自垂直判定部件110的关于每个垂直边界的判定结果。The horizontal filtering section 130 includes a plurality of horizontal filtering sections 132-1 to 132-n. Each horizontal filtering section 132 is supplied with an input image and a decision result regarding each vertical boundary from the vertical decision section 110.

来自对应的垂直边界判定部分112的判定结果可指示需要应用滤波器。在这种情况下,每个水平滤波部件132把关于该垂直边界的去块滤波器应用于在该垂直边界左右两侧的元素。每个水平滤波部件132向水平判定部件114和垂直滤波部件140提供关于应用滤波器的像素的滤波后像素值,和关于其它像素的输入图像的像素值。The decision result from the corresponding vertical boundary decision section 112 may indicate that a filter needs to be applied. In this case, each horizontal filtering component 132 applies a deblocking filter with respect to the vertical boundary to the elements on the left and right sides of the vertical boundary. Each horizontal filtering component 132 provides the filtered pixel value of the pixel to which the filter is applied and the pixel values of the input image with respect to the other pixels to the horizontal decision component 114 and the vertical filtering component 140.

(2-3)水平判定部件(2-3) Level determination component

水平判定部件114包括多个水平边界判定部分116-1~116-n。每个水平边界判定部分116被供给在由水平滤波部件130进行滤波之后的像素值,和用于判定是否需要滤波的判定信息。The horizontal decision section 114 includes a plurality of horizontal boundary decision portions 116-1 to 116-n. Each horizontal boundary decision portion 116 is supplied with pixel values after filtering by the horizontal filtering section 130 and decision information for determining whether filtering is required.

水平边界判定部分116-1~116-n通过跨图像内的多个宏块,利用在由水平滤波部件130进行滤波之后的像素值,判定是否对水平边界应用去块滤波器。每个水平边界判定部分116把指示关于每个水平边界的判定结果的信息,提供给垂直滤波部件140。Horizontal boundary determination sections 116-1 to 116-n determine whether to apply a deblocking filter to a horizontal boundary across a plurality of macroblocks within an image using pixel values after filtering by horizontal filtering section 130. Each horizontal boundary determination section 116 supplies information indicating the determination result regarding each horizontal boundary to vertical filtering section 140.

(2-4)垂直滤波部件(2-4) Vertical filter components

垂直滤波部件140包括多个垂直滤波部件142-1~142-n。每个垂直滤波部件142被供给在由水平滤波部件130进行滤波之后的像素值,和来自水平判定部件114的关于每个水平边界的判定结果。The vertical filtering section 140 includes a plurality of vertical filtering sections 142 - 1 to 142 - n. Each vertical filtering section 142 is supplied with pixel values after filtering by the horizontal filtering section 130 and a decision result from the horizontal decision section 114 regarding each horizontal boundary.

来自对应的水平边界判定部分116的判定结果可指示需要应用该滤波器。在这种情况下,每个垂直滤波部件142把关于该水平边界的去块滤波器应用于在该水平边界上下两侧的元素。每个垂直滤波部件142向应用滤波器的像素供给滤波后的像素值,向其它像素供给从水平滤波部件130提供的像素值。来自每个垂直滤波部件142的输出可构成来自去块滤波器24的输出图像。The decision result from the corresponding horizontal boundary decision section 116 may indicate that the filter needs to be applied. In this case, each vertical filter component 142 applies the deblocking filter with respect to the horizontal boundary to the elements above and below the horizontal boundary. Each vertical filter component 142 supplies the filtered pixel value to the pixel to which the filter is applied, and supplies the pixel value provided by the horizontal filter component 130 to the other pixels. The output from each vertical filter component 142 may constitute the output image from the deblocking filter 24.

(3)判定部分的更详细结构(3) More detailed structure of the judgment part

图13是图解说明每个垂直边界判定部分112和水平边界判定部分116的详细结构的方框图。参见图13,每个判定部分包括抽头构成部分121、计算部分122、阈值比较部分123、失真评估部分124和滤波判定部分125。13 is a block diagram illustrating a detailed structure of each of the vertical boundary decision section 112 and the horizontal boundary decision section 116. Referring to FIG13, each decision section includes a tap forming section 121, a calculation section 122, a threshold comparison section 123, a distortion evaluation section 124, and a filter decision section 125.

抽头构成部分121从输入图像中的跨越关注的边界相邻的两个块的像素值中,获得参考像素值,并构成确定上述亮度分量的判定条件B的抽头(一组参考像素值)。例如,在大小都为8×8像素的块中,可关注垂直边界。这种情况下,抽头构成部分121根据属于在左右两侧的两个块的第三行和第六行的像素值,构成抽头。如果关注水平边界,那么抽头构成部分121可根据属于在上下两侧的两个块的第三列和第六列的像素值,构成抽头。计算部分122把利用抽头构成部分121构成的抽头赋给判定条件B中的判定表达式的左侧,并计算将与边缘判定阈值β比较的边缘值。阈值比较部分123比较计算部分122计算的值和边缘判定阈值β,并把比较结果输出给滤波判定部分125。The tap formation section 121 obtains reference pixel values from the pixel values of two adjacent blocks straddling a boundary of interest in the input image and forms taps (a set of reference pixel values) that determine the determination condition B for the luminance component. For example, in blocks of 8×8 pixels, the focus may be on the vertical boundary. In this case, the tap formation section 121 forms taps based on the pixel values in the third and sixth rows of the two blocks on the left and right sides. If the focus is on the horizontal boundary, the tap formation section 121 may form taps based on the pixel values in the third and sixth columns of the two blocks on the top and bottom sides. The calculation section 122 assigns the taps formed by the tap formation section 121 to the left side of the determination expression in the determination condition B and calculates the edge value to be compared with the edge determination threshold β. The threshold comparison section 123 compares the value calculated by the calculation section 122 with the edge determination threshold β and outputs the comparison result to the filter determination section 125.

失真评估部分124利用作为判定信息供给的模式信息(MB模式)、变换系数信息和运动矢量信息,评估上述亮度分量的判定条件A。失真评估部分124把评估结果输出给滤波判定部分125。失真评估部分124根据模式信息,只评估色度分量的判定条件A1。The distortion evaluation section 124 evaluates the determination condition A for the luminance component using the mode information (MB mode), transform coefficient information, and motion vector information supplied as determination information. The distortion evaluation section 124 outputs the evaluation result to the filter determination section 125. The distortion evaluation section 124 evaluates only the determination condition A1 for the chrominance component based on the mode information.

滤波判定部分125根据从阈值比较部分123供给的判定条件B的比较结果,和从失真评估部分124供给的判定条件A的评估结果,判定是否对关注的边界应用去块滤波器。滤波判定部分125输出指示判定结果的信息。The filter determination section 125 determines whether to apply a deblocking filter to the boundary of interest based on the comparison result of the determination condition B supplied from the threshold comparison section 123 and the evaluation result of the determination condition A supplied from the distortion evaluation section 124. The filter determination section 125 outputs information indicating the determination result.

(4)并行化控制部分(4) Parallelization control part

图12中所示的并行化控制部分150控制垂直判定部件110和水平判定部件114中的滤波需要判定处理的并行度,以及水平滤波部件130和垂直滤波部件140中的滤波处理的并行度。The parallelization control section 150 shown in FIG. 12 controls the parallelism of the filtering necessity determination processing in the vertical determination section 110 and the horizontal determination section 114 , and the parallelism of the filtering processing in the horizontal filtering section 130 and the vertical filtering section 140 .

例如,并行化控制部分150可根据输入的图像大小,控制每个块的处理的并行度。更具体地,如果输入的图像大小较大,那么并行化控制部分150增大每个块的处理的并行度。这可自适应地防止由与图像大小相应地增大的处理量引起的延迟或数据速率的降低。例如,并行化控制部分150可根据序列参数组、图片参数组、或者包含在切片报头中的参数,控制每个块的处理的并行度。这使得能够按照开发设备的用户的要求,灵活地配置并行度。例如,可按照对安装环境的限制,比如处理器核的数目,或者软件线程的数目,配置并行度。For example, the parallelization control part 150 can control the parallelism of the processing of each block according to the input image size. More specifically, if the input image size is large, the parallelization control part 150 increases the parallelism of the processing of each block. This can adaptively prevent the delay or reduction of the data rate caused by the processing amount increased accordingly with the image size. For example, the parallelization control part 150 can control the parallelism of the processing of each block according to the sequence parameter group, the picture parameter group, or the parameters contained in the slice header. This makes it possible to flexibly configure the parallelism according to the requirements of the user who develops the device. For example, the parallelism can be configured according to the restrictions on the installation environment, such as the number of processor cores or the number of software threads.

本实施例能够使宏块间的处理并行。这意味对于图像内的各个块的任何处理序列对最终的输出结果没有影响。因而,并行化控制部分150能够基于块地控制垂直判定部件110和水平判定部件114中的滤波需要判定处理序列,和水平滤波部件130和垂直滤波部件140中的滤波处理序列。This embodiment enables parallel processing across macroblocks. This means that any processing sequence for each block within an image has no effect on the final output result. Therefore, the parallelization control section 150 can control the filtering need determination processing sequence in the vertical determination unit 110 and the horizontal determination unit 114, and the filtering processing sequence in the horizontal filtering unit 130 and the vertical filtering unit 140 on a block-by-block basis.

更具体地,并行化控制部分150可按照宏块之间的滤波处理的依存关系,控制滤波处理序列。例如,按照现有技术,在切片边界周围的邻近宏块之间的处理的依存关系会延迟对图像内的每个切片的并行处理。然而,按照本实施例的并行化控制部分150能够在其它宏块之前,对在切片边界周围的邻近宏块进行滤波处理。More specifically, the parallelization control section 150 can control the filtering process sequence based on the dependency of filtering processes between macroblocks. For example, according to conventional techniques, the dependency of processing between adjacent macroblocks around a slice boundary can delay the parallel processing of each slice within an image. However, according to this embodiment, the parallelization control section 150 can filter adjacent macroblocks around a slice boundary before other macroblocks.

例如,图14图解说明切片边界周围的8个宏块MB10-MB13和MB20-MB23。宏块MB10-MB13属于切片SL1。宏块MB20-MB23属于切片SL2。就这些宏块来说,对于切片SL2中的宏块MB20上的水平边界的滤波处理取决于对于切片SL1中的宏块MB12上的垂直边界的滤波处理。类似地,对于切片SL2中的宏块MB21上的水平边界的滤波处理取决于对于切片SL1中的宏块MB13上的垂直边界的滤波处理。For example, FIG14 illustrates eight macroblocks MB10-MB13 and MB20-MB23 around a slice boundary. Macroblocks MB10-MB13 belong to slice SL1. Macroblocks MB20-MB23 belong to slice SL2. With respect to these macroblocks, the filtering process for the horizontal boundary of macroblock MB20 in slice SL2 depends on the filtering process for the vertical boundary of macroblock MB12 in slice SL1. Similarly, the filtering process for the horizontal boundary of macroblock MB21 in slice SL2 depends on the filtering process for the vertical boundary of macroblock MB13 in slice SL1.

在这些条件下,按照图15中的例子,并行化控制部分150优先于对其它边界的处理,进行关于切片SL1的滤波处理中的对宏块MB12和MB13的垂直边界的滤波处理。结果将防止在关于切片SL2的滤波处理中的对宏块MB20和MB21的水平边界的滤波处理中,出现较大的延迟。图16中的例子最初对包含在切片SL1中的所有宏块的垂直边界,并行地进行滤波处理。另外在这种情况下,在对于切片SL2中的宏块MB20和MB21的水平边界的滤波处理中,不出现任何延迟。Under these conditions, according to the example in FIG. 15 , the parallelization control unit 150 prioritizes filtering the vertical boundaries of macroblocks MB12 and MB13 in the filtering process for slice SL1 over processing other boundaries. This prevents a significant delay from occurring in the filtering process for the horizontal boundaries of macroblocks MB20 and MB21 in the filtering process for slice SL2. The example in FIG. 16 initially performs filtering on the vertical boundaries of all macroblocks included in slice SL1 in parallel. Furthermore, in this case, no delay occurs in the filtering process for the horizontal boundaries of macroblocks MB20 and MB21 in slice SL2.

[3-2.判定条件变形例][3-2. Modification of Judgment Conditions]

如上所述,类似于在图4中图解说明的现有技术,每个垂直边界判定部分112参考与块中的第三行和第六行对应的像素,并对于每个块的垂直边界,判定是否需要滤波。同样地,每个水平边界判定部分116参考与块中的第三列和第六列对应的像素,并对于每个块的水平边界,判定是否需要滤波。在这种情况下,能够容易地实现按照本实施例的结构,而不改变为现有设备提供的滤波需要判定处理的判定条件。As described above, similar to the prior art illustrated in FIG4 , each vertical boundary determination section 112 refers to the pixels corresponding to the third and sixth rows in a block and determines whether filtering is required for each vertical boundary of the block. Similarly, each horizontal boundary determination section 116 refers to the pixels corresponding to the third and sixth columns in a block and determines whether filtering is required for each horizontal boundary of the block. In this case, the structure according to this embodiment can be easily implemented without changing the determination conditions for the filtering necessity determination process provided in the prior art.

每个垂直边界判定部分112和每个水平边界判定部分116可利用与现有技术不同的判定条件,进行判定。例如,每个垂直边界判定部分112可参考与块中的3列或者更多列对应的像素。每个水平边界判定部分116可参考与块中的3列或者更多列对应的像素。另外,每个垂直边界判定部分112和每个水平边界判定部分116可利用和现有技术不同的判定条件表达式。参见图17-19,下面说明按照本实施例的判定技术的6个例子。Each vertical boundary determination section 112 and each horizontal boundary determination section 116 can perform determinations using different determination conditions than those in the prior art. For example, each vertical boundary determination section 112 can refer to pixels corresponding to three or more columns in a block. Each horizontal boundary determination section 116 can refer to pixels corresponding to three or more columns in a block. Furthermore, each vertical boundary determination section 112 and each horizontal boundary determination section 116 can use different determination condition expressions than those in the prior art. Referring to Figures 17-19, six examples of determination techniques according to this embodiment are described below.

(1)第一个例子(1) First example

图17是图解说明判定技术的第一个和第二个例子的说明图。在第一个和第二个例子中,关于垂直边界的滤波需要判定处理(特别地,把判定条件B用于亮度分量的判定)参考每个块中的从第一行到第八行的所有各行L1-L8的像素。关于水平边界的滤波需要判定处理同样参考每个块中的从第一列到第八列的所有各列的像素。FIG17 is an explanatory diagram illustrating the first and second examples of the determination technique. In the first and second examples, the filtering necessity determination process regarding the vertical boundary (particularly, determination condition B is applied to the determination of the luminance component) refers to the pixels of all rows L1 to L8 from the first row to the eighth row in each block. The filtering necessity determination process regarding the horizontal boundary similarly refers to the pixels of all columns from the first column to the eighth column in each block.

第一个例子可如下定义亮度分量的判定条件。As a first example, the determination condition of the luminance component can be defined as follows.

亮度分量(Luma)的判定条件…如果条件A和条件B都为真,那么应用去块滤波器。Decision conditions for the luminance component (Luma)... If both condition A and condition B are true, then apply the deblocking filter.

条件A:Condition A:

(A1)块Ba或Bb都进入帧内预测模式;(A1) Block Ba or Bb enters intra prediction mode;

(A2)块Ba或Bb具有非零正交变换系数;或者(A2) block Ba or Bb has a non-zero orthogonal transform coefficient; or

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4(A3)|MVAx-MVBx|≥4 or |MVAy-MVBy|≥4

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 27 -2p 17 +p 07 |+|q 27 -2q 17 +q 07 |

iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|iD 1 =|p 21 -2p 11 +p 01 |+|q 21 -2q 11 +q 01 |+|p 26 -2p 16 +p 06 |+|q 26 -2q 16 +q 06 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |

iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|iD 3 =|p 23 -2p 13 +p 03 |+|q 23 -2q 13 +q 03 |+|p 24 -2p 14 +p 04 |+|q 24 -2q 14 +q 04 |

iDave=(iD0+iD1+iD2+iD3)>>2iD ave =(iD 0 +iD 1 +iD 2 +iD 3 )>>2

在该条件下,iDaveUnder this condition, iD ave < β

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算4个判定参数iD0~iD3的平均值iDaveThe determination condition of the chrominance component can be the same as that of the prior art. A weighted average value can be calculated to calculate the average value iD ave of the four determination parameters iD 0 -iD 3 .

(2)第二个例子(2) Second example

第二个例子可如下定义亮度分量的判定条件B。As a second example, the determination condition B of the luminance component can be defined as follows.

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 27 -2p 17 +p 07 |+|q 27 -2q 17 +q 07 |

iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|iD 1 =|p 21 -2p 11 +p 01 |+|q 21 -2q 11 +q 01 |+|p 26 -2p 16 +p 06 |+|q 26 -2q 16 +q 06 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |

iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|iD 3 =|p 23 -2p 13 +p 03 |+|q 23 -2q 13 +q 03 |+|p 24 -2p 14 +p 04 |+|q 24 -2q 14 +q 04 |

按照该条件,iD0<β,iD1<β,iD2<β且iD3According to this condition, iD 0 <β, iD 1 <β, iD 2 <β and iD 3

计算4个判定参数iD0~iD3的等式与第一例子的相同。适用条件不是所有4个判定参数iD0~iD3都小于边缘判定阈值β,而是4个判定参数iD0~iD3中的至少3个、2个或者1个小于边缘判定阈值β。The equations for calculating the four determination parameters iD 0 -iD 3 are the same as those in the first example. The applicable condition is not that all four determination parameters iD 0 -iD 3 are smaller than the edge determination threshold β, but that at least three, two, or one of the four determination parameters iD 0 -iD 3 are smaller than the edge determination threshold β.

(3)第三个例子(3) The third example

图18是图解说明判定技术的第三个和第四个例子的说明图。在第三个和第四个例子中,关于垂直边界的滤波需要判定处理(特别地,把判定条件B用于亮度分量的判定)参考每个块中的L1、L3、L6和L8这4行的像素。关于水平边界的滤波需要判定处理同样参考每个块中的4列的像素。FIG18 is an explanatory diagram illustrating third and fourth examples of the determination technique. In the third and fourth examples, the filtering necessity determination process regarding vertical boundaries (particularly, determination condition B is applied to the luminance component) refers to pixels in four rows, L1, L3, L6, and L8, in each block. Similarly, the filtering necessity determination process regarding horizontal boundaries refers to pixels in four columns in each block.

第三个例子可如下定义亮度分量的判定条件。As a third example, the determination condition of the luminance component may be defined as follows.

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。Decision conditions for the luminance component (Luma)... If conditions A and B are both true, then apply the deblocking filter.

条件A:Condition A:

(A1)块Ba或Bb进入帧内预测模式;(A1) Block Ba or Bb enters intra prediction mode;

(A2)块Ba或Bb具有非零正交变换系数;或者(A2) block Ba or Bb has a non-zero orthogonal transform coefficient; or

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4(A3)|MVAx-MVBx|≥4 or |MVAy-MVBy|≥4

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 27 -2p 17 +p 07 |+|q 27 -2q 17 +q 07 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |

iDave=(iD0+iD2)>>1iD ave = (iD 0 + iD 2 ) >> 1

在该条件下,iDaveUnder this condition, iD ave < β

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算2个判定参数iD0和iD2的平均值iDaveThe determination condition of the chrominance component can be the same as that of the prior art. A weighted average value can be calculated to calculate the average value iD ave of the two determination parameters iD 0 and iD 2 .

(4)第四例子(4) The fourth example

第四例子可如下定义亮度分量的判定条件B。Fourth Example The determination condition B of the luminance component can be defined as follows.

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 27 -2p 17 +p 07 |+|q 27 -2q 17 +q 07 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 25 -2p 15 +p 05 |+|q 25 -2q 15 +q 05 |

在该条件下,iD0<β且iD2Under this condition, iD 0 <β and iD 2

计算2个判定参数iD0和iD2的等式与第三个例子的相同。适用条件不是2个判定参数iD0和iD2都小于边缘判定阈值β,而是2个判定参数iD0和iD2中的任意一个小于边缘判定阈值β。The equations for calculating the two decision parameters iD 0 and iD 2 are the same as those in the third example. The applicable condition is not that both decision parameters iD 0 and iD 2 are less than the edge decision threshold β, but that either one of the two decision parameters iD 0 and iD 2 is less than the edge decision threshold β.

虽然说明了在判定期间,参考块中的第一、第三、第六和第八行(或列)L1、L3、L6和L8的例子,不过可以参考各行和各列的其它组合。Although an example is described in which the first, third, sixth, and eighth rows (or columns) L1, L3, L6, and L8 in a block are referred to during determination, other combinations of rows and columns may be referred to.

(5)第五个例子(5) The fifth example

图19是图解说明判定技术的第五个和第六个例子的说明图。在第五个和第六个例子中,对于垂直边界的滤波需要判定处理参考每个块中的L1、L3、L5和L7这4行的像素。对于水平边界的滤波需要判定处理同样参考每个块中的4列的像素。FIG19 is an explanatory diagram illustrating fifth and sixth examples of the determination technique. In the fifth and sixth examples, the determination process for vertical boundary filtering requires reference to pixels in four rows, L1, L3, L5, and L7, within each block. Similarly, the determination process for horizontal boundary filtering requires reference to pixels in four columns within each block.

第五个例子如下定义亮度分量的判定条件。The fifth example defines the determination condition of the luminance component as follows.

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。Decision conditions for the luminance component (Luma)... If conditions A and B are both true, then apply the deblocking filter.

条件A:Condition A:

(A1)块Ba或Bb进入帧内预测模式;(A1) Block Ba or Bb enters intra prediction mode;

(A2)块Ba或Bb具有非零正交变换系数;或者(A2) block Ba or Bb has a non-zero orthogonal transform coefficient; or

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4(A3)|MVAx-MVBx|≥4 or |MVAy-MVBy|≥4

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 26 -2p 16 +p 06 |+|q 26 -2q 16 +q 06 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 24 -2p 14 +p 04 |+|q 24 -2q 14 +q 04 |

iDave=(iD0+iD2)>>1iD ave = (iD 0 + iD 2 ) >> 1

在该条件下,iDaveUnder this condition, iD ave < β

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算2个判定参数iD0和iD2的平均值iDaveThe determination condition of the chrominance component can be the same as that of the prior art. A weighted average value can be calculated to calculate the average value iD ave of the two determination parameters iD 0 and iD 2 .

(6)第六个例子(6) The sixth example

第六个例子如下定义亮度分量的判定条件B。Sixth Example The determination condition B of the luminance component is defined as follows.

条件B:Condition B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|iD 0 =|p 20 -2p 10 +p 00 |+|q 20 -2q 10 +q 00 |+|p 26 -2p 16 +p 06 |+|q 26 -2q 16 +q 06 |

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|iD 2 =|p 22 -2p 12 +p 02 |+|q 22 -2q 12 +q 02 |+|p 24 -2p 14 +p 04 |+|q 24 -2q 14 +q 04 |

在该条件下,iD0<β且iD2Under this condition, iD 0 <β and iD 2

计算2个判定参数iD0和iD2的等式与第五个例子的相同。适用条件不是2个判定参数iD0和iD2都小于边缘判定阈值β,而是2个判定参数iD0和iD2中的任意一个小于边缘判定阈值β。The equations for calculating the two decision parameters iD 0 and iD 2 are the same as those in the fifth example. The applicable condition is not that both decision parameters iD 0 and iD 2 are less than the edge decision threshold β, but that either one of the two decision parameters iD 0 and iD 2 is less than the edge decision threshold β.

通常,增大判定时待参考的行和列的数目可提高判定精度。于是,参考8行和8列的第一个和第二个例子可以使对最初不是待应用的去块滤波器的目标的块滤波的可能性,和不对最初是待应用的去块滤波器的目标的块滤波的可能性降至最小。结果将改善待编码和解码的图像的质量。另一方面,减小判定时待参考的行和列的数目可降低处理成本。由于在图像质量和处理成本之间存在折衷,因此有利的是根据设备的用途或者对安装的限制,自适应地选择判定时待参考的行和列的数目。同样有利的是自适应地选择待参数的行和列的组合。Generally, increasing the number of rows and columns referenced during decision making improves decision accuracy. Thus, the first and second examples of referencing eight rows and eight columns minimize the likelihood of filtering blocks that were not initially targeted by the deblocking filter, and the likelihood of not filtering blocks that were initially targeted by the deblocking filter. This results in improved image quality for encoding and decoding. On the other hand, reducing the number of rows and columns referenced during decision making reduces processing costs. Because there is a tradeoff between image quality and processing costs, it is advantageous to adaptively select the number of rows and columns referenced during decision making, depending on the device's intended use or installation constraints. It is also advantageous to adaptively select the combination of rows and columns to be referenced.

如在第一个、第三个和第五个例子中所述,可以比较判定参数的平均值iDave和边缘判定阈值β,以便基于块地恰当进行判定,而不受每行或每列的参数变化的过度影响。As described in the first, third, and fifth examples, the average value iD ave of the decision parameter and the edge decision threshold β can be compared to appropriately make decisions on a block basis without being excessively affected by parameter variations for each row or column.

[3-3.处理流程][3-3. Processing Flow]

参考图20和21,说明去块滤波器24的处理流程。20 and 21 , the processing flow of the deblocking filter 24 will be described.

图20是图解说明按照第一实施例的去块滤波器24的处理流程的流程图。参见图20,垂直边界判定部分112-1~112-n对于包含在输入图像内的多个宏块中的所有垂直边界,并行地判定是否需要滤波(步骤S110)。水平滤波部件132-1~132-n并行地把去块滤波器应用于在步骤S110确定的需要应用去块滤波器的所有垂直边界(步骤S120)。水平边界判定部分116-1~116-n对于包含在输入图像内的多个宏块中的所有水平边界,并行地判定是否需要滤波(步骤S130)。垂直滤波部件142-1~142-n并行地把去块滤波器应用于在步骤S130确定的需要应用去块滤波器的所有水平边界(步骤S140)。FIG20 is a flowchart illustrating the processing flow of the deblocking filter 24 according to the first embodiment. Referring to FIG20 , vertical boundary determination sections 112-1 to 112-n concurrently determine whether filtering is required for all vertical boundaries within a plurality of macroblocks included in the input image (step S110). Horizontal filtering components 132-1 to 132-n concurrently apply the deblocking filter to all vertical boundaries determined to require deblocking filtering in step S110 (step S120). Horizontal boundary determination sections 116-1 to 116-n concurrently determine whether filtering is required for all horizontal boundaries within a plurality of macroblocks included in the input image (step S130). Vertical filtering components 142-1 to 142-n concurrently apply the deblocking filter to all horizontal boundaries determined to require deblocking filtering in step S130 (step S140).

上述处理流程仅仅是例子。例如,去块滤波器24可以并行对两个或者更多宏块的处理。处理的序列可被改变。The above processing flow is merely an example. For example, the deblocking filter 24 may process two or more macroblocks in parallel. The processing sequence may be changed.

图21是图解说明与图20中的步骤S110和S130对应的滤波需要判定处理的处理流程的流程图。参见图21,失真评估部分124根据模式信息、变换系数信息和运动矢量信息,就失真对边界进行评估(步骤S150)。如果评估表明存在失真(判定条件A为真),那么处理进入步骤S154。如果评估表明不存在失真,那么处理进入步骤S160(步骤S152)。FIG21 is a flowchart illustrating the flow of the filtering necessity determination process corresponding to steps S110 and S130 in FIG20 . Referring to FIG21 , the distortion evaluation section 124 evaluates the boundary for distortion based on the mode information, transform coefficient information, and motion vector information (step S150). If the evaluation indicates the presence of distortion (determination condition A is true), the process proceeds to step S154. If the evaluation indicates the absence of distortion, the process proceeds to step S160 (step S152).

在步骤S154,计算部分122根据由抽头构成部分121构成的参考像素抽头,计算边缘值(步骤S154)。阈值比较部分123比较计算的值和边缘判定阈值β(步骤S156)。如果边缘值不小于阈值β(判定条件B为真),那么处理进入步骤S158。如果边缘值不小于阈值β,那么处理进入步骤S160。In step S154, the calculation section 122 calculates an edge value based on the reference pixel tap formed by the tap formation section 121 (step S154). The threshold comparison section 123 compares the calculated value with the edge determination threshold β (step S156). If the edge value is not less than the threshold β (determination condition B is true), the process proceeds to step S158. If the edge value is not less than the threshold β, the process proceeds to step S160.

在步骤S158,滤波判定部分125确定把去块滤波器应用于确定的边界(步骤S158)。在步骤S140,滤波判定部分125确定不把去块滤波器应用于确定的边界(步骤S160)。At step S158, the filter determination section 125 determines to apply the deblocking filter to the determined boundary (step S158). At step S140, the filter determination section 125 determines not to apply the deblocking filter to the determined boundary (step S160).

<4.第二实施例><4. Second embodiment>

[4-1.去块滤波器结构例子][4-1. Deblocking filter structure example]

下面说明按照第二实施例的去块滤波器24的例证结构。An exemplary structure of the deblocking filter 24 according to the second embodiment is described below.

(1)新处理之间的依存关系(1) Dependencies between new processes

按照本实施例,去块滤波器24进行对于每个块的垂直边界的滤波需要判定处理,而不等待把去块滤波器应用于该块属于的宏块中的其它块。去块滤波器24进行对于每个块的水平边界的滤波需要判定处理,而不等待把去块滤波器应用于该块属于的宏块中的其它块。这能够减轻宏块内的处理的依存关系。According to this embodiment, the deblocking filter 24 determines whether filtering is necessary for each block's vertical boundary without waiting for the deblocking filter to be applied to other blocks in the macroblock to which the block belongs. The deblocking filter 24 also determines whether filtering is necessary for each block's horizontal boundary without waiting for the deblocking filter to be applied to other blocks in the macroblock to which the block belongs. This can reduce dependencies within the macroblock.

如上所述,减轻处理的依存关系从而能够使宏块中,对于垂直边界和水平边界的滤波需要判定处理并行。As described above, by reducing the dependency of processing, it is possible to parallelize the filtering necessity determination processing for vertical boundaries and horizontal boundaries in a macroblock.

图22是图解说明在去块滤波器24上可用的处理序列的第一个例子的说明图。该例子还假定去块滤波器被供给大小为32×32像素的图像。输入图像包括大小均为16×16像素的4个宏块MB0-MB3。22 is an explanatory diagram illustrating a first example of a processing sequence available on the deblocking filter 24. This example also assumes that the deblocking filter is fed with an image of size 32×32 pixels. The input image includes four macroblocks MB0-MB3, each of size 16×16 pixels.

在图22中,每个虚线框代表要并行进行的处理。虽然对于处理序列,图10中的例子需要16个处理步骤,不过,图22中的例子把相同数目的处理集合成12个处理步骤。第一步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波需要判定处理JV0,0~JV0,3和JH0,0~JH0,3。第二步骤并行地进行对于宏块MB0中的4个垂直边界的滤波处理FV0,0~FV0,3。第三步骤并行地进行对于宏块MB1的4个垂直边界和4个水平边界的滤波需要判定处理JV1,0~JV1,3和JH1,0~JH1,3。第四步骤并行地进行对于宏块MB1中的4个垂直边界的滤波处理FV1,0~FV1,3。第五步骤并行地进行对于宏块MB0中的4个水平边界的滤波处理FH0,0~FH0,3。第六步骤并行地进行对于宏块MB2的4个垂直边界和4个水平边界的滤波需要判定处理JV2,0~JV2,3和JH2,0~JH2,3。第七步骤并行地进行对于宏块MB2中的4个垂直边界的滤波处理FV2,0~FV2,3。第八步骤并行地进行对于宏块MB1中的4个水平边界的滤波处理FH1,0~FH1,3。第九步骤并行地进行对于宏块MB3的4个垂直边界和4个水平边界的滤波需要判定处理JV3,0~JV3,3和JH3,0~JH3,3。第十步骤并行地进行对于宏块MB3中的4个垂直边界的滤波处理FV3,0~FV3,3。第十一步骤并行地进行对于宏块MB2中的4个水平边界的滤波处理FH2,0~FH2,3。第十二步骤并行地进行对于宏块MB3中的4个水平边界的滤波处理FH3,0~FH3,3。这种情况下,去块滤波器24能够利用比现有技术少的处理步骤,进行对于整个输入图像的处理。In Figure 22, each dotted box represents a process to be performed in parallel. While the example in Figure 10 requires 16 processing steps for the processing sequence, the example in Figure 22 combines the same number of processes into 12 steps. The first step performs the filtering required decision processes J V0,0 to J V0,3 and J H0,0 to J H0,3 for the four vertical and four horizontal boundaries of macroblock MB0 in parallel. The second step performs the filtering required decision processes F V0,0 to F V0,3 for the four vertical boundaries of macroblock MB0 in parallel. The third step performs the filtering required decision processes J V1,0 to J V1,3 and J H1,0 to J H1,3 for the four vertical and four horizontal boundaries of macroblock MB1 in parallel. The fourth step performs the filtering required decision processes F V1,0 to F V1,3 for the four vertical boundaries of macroblock MB1 in parallel. The fifth step performs filtering processes F H0,0 to F H0,3 on the four horizontal boundaries of macroblock MB0 in parallel. The sixth step performs filtering necessity determination processes J V2,0 to J V2,3 and J H2,0 to J H2,3 on the four vertical and four horizontal boundaries of macroblock MB2 in parallel. The seventh step performs filtering processes F V2,0 to F V2,3 on the four vertical boundaries of macroblock MB2 in parallel. The eighth step performs filtering processes F H1,0 to F H1,3 on the four horizontal boundaries of macroblock MB1 in parallel. The ninth step performs filtering necessity determination processes J V3,0 to J V3,3 and J H3,0 to J H3,3 on the four vertical and four horizontal boundaries of macroblock MB3 in parallel. The tenth step performs filtering processes F V3,0 to F V3,3 on the four vertical boundaries of macroblock MB3 in parallel. In the eleventh step, filtering processes F H2,0 to F H2,3 are performed in parallel on the four horizontal boundaries of macroblock MB2. In the twelfth step, filtering processes F H3,0 to F H3,3 are performed in parallel on the four horizontal boundaries of macroblock MB3. In this case, the deblocking filter 24 can process the entire input image using fewer processing steps than in the conventional art.

(2)去块滤波器的详细结构(2) Detailed structure of the deblocking filter

图23是图解说明按照第二实施例的进行上述并行处理的去块滤波器24的详细结构的方框图。参见图23,去块滤波器24包括垂直判定部件210、水平判定部件214、水平滤波部件130、垂直滤波部件140和并行化控制部分150。23 is a block diagram illustrating a detailed structure of the deblocking filter 24 that performs the above-mentioned parallel processing according to the second embodiment. Referring to FIG23 , the deblocking filter 24 includes a vertical determination unit 210, a horizontal determination unit 214, a horizontal filtering unit 130, a vertical filtering unit 140, and a parallelization control section 150.

(2-1)垂直判定部件(2-1) Vertical determination component

垂直判定部件210包括多个垂直边界判定部分212-1~212-n。每个垂直边界判定部分212判定是否把去块滤波器应用于每个块的垂直边界,而不等待把去块滤波器应用于该块属于的宏块中的其它块。每个垂直边界判定部分212向水平滤波部件130供给指示关于每个垂直边界的判定结果的信息,比如指示值“1”强制去块滤波器的应用的判定结果的二进制信息。The vertical determination section 210 includes a plurality of vertical boundary determination sections 212-1 to 212-n. Each vertical boundary determination section 212 determines whether to apply a deblocking filter to the vertical boundary of each block without waiting for the deblocking filter to be applied to other blocks in the macroblock to which the block belongs. Each vertical boundary determination section 212 supplies information indicating the determination result regarding each vertical boundary, such as binary information indicating a determination result of forcing the application of the deblocking filter, to the horizontal filtering section 130.

(2-2)水平判定部件(2-2) Level determination component

水平判定部件214包括多个水平边界判定部分216-1~216-n。每个水平边界判定部分216判定是否把去块滤波器应用于每个块的水平边界,而不等待把去块滤波器应用于该块属于的宏块中的其它块。每个水平边界判定部分216向垂直滤波部件140供给指示关于每个水平边界的判定结果的信息。The horizontal determination section 214 includes a plurality of horizontal boundary determination sections 216-1 to 216-n. Each horizontal boundary determination section 216 determines whether to apply a deblocking filter to the horizontal boundary of each block without waiting for the deblocking filter to be applied to other blocks in the macroblock to which the block belongs. Each horizontal boundary determination section 216 supplies information indicating the determination result for each horizontal boundary to the vertical filtering section 140.

另外,按照本实施例,每个垂直边界判定部分212和每个水平边界判定部分216可通过类似于现有技术,参考在各个位置的像素,对于每个边界判定是否需要滤波。事实上,每个垂直边界判定部分212和每个水平边界判定部分216可按照在“3-2.判定条件变形例”中描述的技术,对于每个边界判定是否需要滤波。Furthermore, according to this embodiment, each vertical boundary determination section 212 and each horizontal boundary determination section 216 can determine whether filtering is required for each boundary by referring to pixels at various positions, similar to conventional techniques. In fact, each vertical boundary determination section 212 and each horizontal boundary determination section 216 can determine whether filtering is required for each boundary using the technique described in "3-2. Modification of Determination Conditions."

[3-2.处理流程][3-2. Processing Flow]

图24是图解说明按照第二实施例的去块滤波器24的处理流程的流程图。参见图24,垂直边界判定部分212-1~212-n对于包含在输入图像内的关注宏块中的所有垂直边界,并行地判定是否需要滤波(步骤S202)。水平边界判定部分214-1~214-n对于包含在关注宏块中的所有水平边界,并行地判定是否需要滤波(步骤S204)。步骤S202和S204也可并行地进行。FIG24 is a flowchart illustrating the processing flow of the deblocking filter 24 according to the second embodiment. Referring to FIG24 , vertical boundary determination sections 212-1 through 212-n concurrently determine whether filtering is required for all vertical boundaries within the macroblock of interest within the input image (step S202). Horizontal boundary determination sections 214-1 through 214-n concurrently determine whether filtering is required for all horizontal boundaries within the macroblock of interest (step S204). Steps S202 and S204 can also be performed in parallel.

水平滤波部件132-1~132-n把去块滤波器并行地应用于在步骤S202中,确定需要应用去块滤波器的关注宏块中的垂直边界(步骤S210)。The horizontal filtering sections 132 - 1 to 132 - n apply the deblocking filter in parallel to the vertical boundary in the macroblock of interest to which the deblocking filter is determined to be applied in step S202 (step S210 ).

步骤S220的处理针对最近的循环中的关注宏块。对于第一个关注宏块,可以跳过在步骤S220的处理。垂直滤波部件142-1~142-n把去块滤波器并行地应用于在最近的循环中的步骤S204,确定需要应用去块滤波器的水平边界(步骤S220)。The processing of step S220 is for the macroblock of interest in the most recent cycle. For the first macroblock of interest, the processing of step S220 can be skipped. Vertical filtering components 142-1 to 142-n apply the deblocking filter in parallel to step S204 in the most recent cycle, determining the horizontal boundary to which the deblocking filter should be applied (step S220).

如果在输入图像中,存在未被处理的关注宏块,那么对新关注的宏块,重复步骤S202-S220的处理(步骤S230)。If there is an unprocessed macroblock of interest in the input image, the processing of steps S202 to S220 is repeated for a new macroblock of interest (step S230).

如果没有遗留未被处理的关注宏块,那么垂直滤波部件142-1~142-n把去块滤波器并行地应用于最后的循环的关注宏块中的,确定需要应用去块滤波器的水平边界(步骤S240)。If no unprocessed macroblock of interest remains, the vertical filtering sections 142 - 1 ˜ 142 - n apply deblocking filters in parallel to the macroblock of interest in the final cycle, and determine the horizontal boundary to which the deblocking filter needs to be applied (step S240 ).

上述处理的流程也仅仅是例子。处理的并行度和顺序可被改变。此外,并行化控制部分150可控制处理的并行度和顺序。The above-mentioned processing flow is also only an example. The parallelism and order of the processing can be changed. In addition, the parallelization control part 150 can control the parallelism and order of the processing.

[4-3.每个LCU的处理例子][4-3. Example of processing per LCU]

如上所述,可以基于HEVC编码单位(CU)的处理的形式,提供按照在本说明书中说明的各个实施例的技术。按照HEVC,具有最大大小的编码单位被称为最大编码单位(LCU),例如,它可被选择为64×64像素。最小的可选CU大小为8×8像素。通常,从在图像(或者切片)的左上侧的LCU开始,按照光栅扫描顺序,对应于每个LCU地编码和解码图像。下面说明去块滤波器24中的对应于LCU的处理例子。As described above, the technology according to the various embodiments described in this specification can be provided in the form of processing based on HEVC coding units (CUs). According to HEVC, the coding unit with the maximum size is called the largest coding unit (LCU), for example, it can be selected as 64×64 pixels. The smallest optional CU size is 8×8 pixels. Typically, starting from the LCU on the upper left side of the image (or slice), the image is encoded and decoded corresponding to each LCU in a raster scan order. The following describes an example of processing corresponding to the LCU in the deblocking filter 24.

图25是图解说明按照上述第二实施例的每个LCU的处理序列的说明图。本例假定LCU大小为16×16像素,CU大小为8×8像素。Fig. 25 is an explanatory diagram illustrating a processing sequence for each LCU according to the above-described second embodiment. This example assumes that the LCU size is 16×16 pixels and the CU size is 8×8 pixels.

参见图25,表示在图的左上侧的第一阶段指出一直到第(n-1)个LCU,完成了对于LCU的滤波。对于垂直边界的滤波的目标像素是阴影像素。对于水平边界的滤波的目标像素是实心像素。Referring to FIG. 25 , the first stage in the upper left side of the figure indicates that filtering is completed for the (n-1)th LCU. The target pixels for filtering at vertical boundaries are shaded pixels. The target pixels for filtering at horizontal boundaries are solid pixels.

在图25中,右上侧的第二处理和左下侧的第三处理以第n个LCU为目标。在第二处理之前,对于属于第n个LCU的所有垂直边界和水平边界,平行地进行滤波需要判定处理。即,进行对于属于第n个LCU中的CU的边界的滤波需要判定处理,而不等待把去块滤波器应用于第n个LCU中的其它CU。第二处理对属于第n个LCU,并且被确定需要应用去块滤波器的垂直边界,并行地进行滤波处理。第二处理对属于第n个LCU,并且被确定需要应用去块滤波器的水平边界,并行地进行滤波处理。In Figure 25, the second processing on the upper right side and the third processing on the lower left side target the n-th LCU. Before the second processing, filtering needs to be determined for all vertical boundaries and horizontal boundaries belonging to the n-th LCU in parallel. That is, filtering needs to be determined for the boundaries of the CU belonging to the n-th LCU without waiting for the deblocking filter to be applied to other CUs in the n-th LCU. The second processing performs filtering in parallel on the vertical boundaries that belong to the n-th LCU and are determined to require the application of the deblocking filter. The second processing performs filtering in parallel on the horizontal boundaries that belong to the n-th LCU and are determined to require the application of the deblocking filter.

在图25的右下侧的第四阶段的处理以第(n+1)个LCU为目标。在第四阶段,在对属于第(n+1)个LCU中的所有CU的边界并行地进行滤波需要判定处理之后,对被判定需要应用去块滤波器的垂直边界并行地进行滤波处理。The fourth stage of processing on the lower right side of Figure 25 targets the (n+1)th LCU. In the fourth stage, after the boundaries of all CUs belonging to the (n+1)th LCU are subjected to filtering necessity determination processing in parallel, the vertical boundaries determined to require application of the deblocking filter are filtered in parallel.

虽然本例假定LCU大小为16×16像素,不过它可被设定成32×32像素或64×64像素。依照并行化而缩短处理时间的效果被进一步提高,因为增大待选择的LCU的大小还增大属于一个LCU的垂直边界和水平边界的数目。Although this example assumes that the LCU size is 16×16 pixels, it can be set to 32×32 pixels or 64×64 pixels. The effect of shortening the processing time according to parallelization is further improved because increasing the size of the LCU to be selected also increases the number of vertical boundaries and horizontal boundaries belonging to one LCU.

图26是图解说明每个LCU的去块滤波器24的处理流程的流程图。FIG26 is a flowchart illustrating the processing flow of the deblocking filter 24 for each LCU.

参见图26,垂直边界判定部分212-1~212-n对于包含在输入图像中的关注LCU中的所有垂直边界,并行地判定是否需要滤波(步骤S252)。水平边界判定部分216-1~216-n对于包含在关注LCU中的所有水平边界,并行地判定是否需要滤波(步骤S254)。步骤S252和S254也可并行地进行。26 , the vertical boundary determination sections 212-1 to 212-n concurrently determine whether filtering is required for all vertical boundaries within the LCU of interest in the input image (step S252). The horizontal boundary determination sections 216-1 to 216-n concurrently determine whether filtering is required for all horizontal boundaries within the LCU of interest (step S254). Steps S252 and S254 may also be performed in parallel.

水平滤波部件132-1~132-n对在步骤S252中,被确定需要应用去块滤波器的关注LCU中的垂直边界,并行地应用去块滤波器(步骤S260)。The horizontal filtering sections 132 - 1 to 132 - n apply deblocking filters in parallel to the vertical boundaries in the LCU of interest determined to require application of the deblocking filters in step S252 (step S260 ).

垂直滤波部件142-1~142-n对在步骤S254中,被确定需要应用去块滤波器的关注LCU中的水平边界,并行地应用去块滤波器(步骤S270)。The vertical filtering sections 142 - 1 to 142 - n apply the deblocking filter in parallel to the horizontal boundary in the LCU of interest determined to need application of the deblocking filter in step S254 (step S270 ).

如果在输入图像中,遗留有未被处理的LCU,那么对新关注的LCU,重复在步骤S252-S270的处理(步骤S280)。如果不存在未被处理的LCU,那么处理终止。If there is an unprocessed LCU left in the input image, the process in steps S252 to S270 is repeated for a new LCU of interest (step S280). If there is no unprocessed LCU, the process is terminated.

<5.第三实施例><5. Third embodiment>

[5-1.概况][5-1. Overview]

第一和第二实施例改变去块滤波器的现有处理序列,以提高处理的并行度。特别地,第一实施例通过在判定滤波的必要性时,扩大提供给去块滤波器的输入图像的像素值的范围,减轻处理的依存关系。下面说明的第三实施例增强该发明构思。第三实施例通过在对于垂直边界和水平边界的滤波处理中,对提供给去块滤波器的输入像素值滤波,进一步使处理并行。The first and second embodiments modify the existing processing sequence of the deblocking filter to increase processing parallelism. Specifically, the first embodiment reduces processing dependencies by expanding the range of pixel values in the input image provided to the deblocking filter when determining the need for filtering. The third embodiment, described below, further enhances this inventive concept. The third embodiment further parallelizes processing by filtering the input pixel values provided to the deblocking filter during filtering of vertical and horizontal boundaries.

图27是图解说明本实施例的概况的说明图。在图27的左下侧,表示了代表在由去块滤波器处理之前的输入像素(也称为重构像素)的形状。本实施例允许从关于垂直边界和水平边界的滤波需要判定处理,以及关于垂直边界的滤波处理和关于水平边界的滤波处理参照输入去块滤波器的像素值。因而,这使得能够解决两个滤波需要判定处理之间的依存关系,以及两个滤波处理之间的依存关系。FIG27 is an explanatory diagram illustrating an overview of this embodiment. The lower left side of FIG27 shows the shape of an input pixel (also referred to as a reconstructed pixel) before being processed by the deblocking filter. This embodiment allows reference to the pixel values input to the deblocking filter for both the filtering necessity determination process for vertical and horizontal boundaries, as well as the filtering process for vertical boundaries and the filtering process for horizontal boundaries. This allows for resolution of the dependency between the two filtering necessity determination processes, as well as the dependency between the two filtering processes.

对于垂直边界的滤波处理和对于水平边界的滤波处理可更新重复像素的值。图27中的实心像素图解说明可能被重复的像素的位置。就被并行工作的两个滤波器重复更新的像素来说,按照本实施例的去块滤波器根据两个滤波器输出,计算一个输出像素值。The filtering process for vertical boundaries and the filtering process for horizontal boundaries may update the values of repeated pixels. The solid pixels in FIG27 illustrate the locations of pixels that may be repeated. For pixels that are repeatedly updated by two filters operating in parallel, the deblocking filter according to this embodiment calculates a single output pixel value based on the two filter outputs.

[5-2.去块滤波器结构例子][5-2. Deblocking filter structure example]

图28是图解说明按照第三实施例的去块滤波器24的详细结构的方框图。参见图28,去块滤波器24包括行存储器308、判定部件310、水平滤波部件330、垂直滤波部件340、并行化控制部分150和计算部分360。28 is a block diagram illustrating a detailed structure of the deblocking filter 24 according to the third embodiment. Referring to FIG28 , the deblocking filter 24 includes a line memory 308, a decision section 310, a horizontal filtering section 330, a vertical filtering section 340, a parallelization control section 150, and a calculation section 360.

行存储器308保存提供给去块滤波器24的输入图像的像素值。水平滤波部件330和垂直滤波部件340中的滤波处理并不更新保存在行存储器308中的像素值。由判定部件310中的下述部分进行的滤波需要判定处理参考保存在行存储器308中的像素值。设备包括用于和去块滤波器24的处理不同的目的的另一个存储器。该存储器可被重用(共用)为行存储器308。Line memory 308 stores pixel values of the input image supplied to deblocking filter 24. Filtering processing in horizontal filtering section 330 and vertical filtering section 340 does not update the pixel values stored in line memory 308. Filtering performed by the following sections in decision section 310 requires decision processing to refer to the pixel values stored in line memory 308. The device includes another memory for a purpose different from the processing of deblocking filter 24. This memory can be reused (shared) as line memory 308.

判定部件310包括垂直边界判定部分312-1~312-n,和水平边界判定部分314-1~314-n。垂直边界判定部分312和水平边界判定部分314被供给保存在行存储器308中的输入去块滤波器24的图像的像素值,和用于判定是否需要滤波的判定信息。The determination unit 310 includes vertical boundary determination sections 312-1 to 312-n and horizontal boundary determination sections 314-1 to 314-n. The vertical boundary determination section 312 and the horizontal boundary determination section 314 are supplied with the pixel values of the image input to the deblocking filter 24 stored in the line memory 308 and determination information for determining whether filtering is required.

垂直边界判定部分312利用输入去块滤波器24的像素值,判定是否对每个垂直边界应用去块滤波器。垂直边界判定部分312把指示关于每个垂直边界的判定结果的信息,输出给水平滤波部件330。The vertical boundary decision section 312 decides whether to apply the deblocking filter to each vertical boundary using the pixel values input to the deblocking filter 24. The vertical boundary decision section 312 outputs information indicating the decision result on each vertical boundary to the horizontal filtering section 330.

水平边界判定部分314还利用输入去块滤波器24的像素值来判定是否对每个水平边界应用去块滤波器。水平边界判定部分314与垂直边界判定部分312进行的判定处理并行地进行判定处理。水平边界判定部分314把指示关于每个水平边界的判定结果的信息,输出给垂直滤波部件340。The horizontal boundary determination section 314 also determines whether to apply the deblocking filter to each horizontal boundary using the pixel values input to the deblocking filter 24. The horizontal boundary determination section 314 performs determination processing in parallel with the determination processing performed by the vertical boundary determination section 312. The horizontal boundary determination section 314 outputs information indicating the determination result regarding each horizontal boundary to the vertical filtering section 340.

另外,按照本实施例,每个垂直边界判定部分312和每个水平边界判定部分314可通过类似于现有技术,参考在各个位置的像素,对于每个边界判定是否需要滤波。每个垂直边界判定部分312和每个水平边界判定部分314可改为按照在“3-2.判定条件变形例”中描述的技术,对于每个边界判定是否需要滤波。Furthermore, according to this embodiment, each vertical boundary determination section 312 and each horizontal boundary determination section 314 may determine whether filtering is required for each boundary by referring to pixels at various positions, similar to the conventional technique. Alternatively, each vertical boundary determination section 312 and each horizontal boundary determination section 314 may determine whether filtering is required for each boundary using the technique described in "3-2. Modification of Determination Conditions."

水平滤波部件330包括水平滤波部件332-1~332-n。水平滤波部件332被供给来自行存储器308的输入图像值,和来自判定部件310的关于每个垂直边界的判定结果。Horizontal filtering section 330 includes horizontal filtering sections 332-1 to 332-n. Horizontal filtering section 332 is supplied with the input image value from line memory 308 and the decision result regarding each vertical boundary from decision section 310.

如果来自垂直边界判定部分312的判定结果指出需要应用滤波器,那么水平滤波部件332对在对应垂直边界周围的左右像素,应用关于垂直边界的去块滤波器。水平滤波部件332把就滤波像素来说的滤波后的像素值,或者就其它像素来说的输入像素值,输出给计算部分360。If the decision result from the vertical boundary decision section 312 indicates that a filter needs to be applied, the horizontal filtering component 332 applies a deblocking filter for the vertical boundary to the left and right pixels around the corresponding vertical boundary. The horizontal filtering component 332 outputs the filtered pixel value for the filtered pixel or the input pixel value for other pixels to the calculation section 360.

垂直滤波部件340包括垂直滤波部件342-1~342-n。垂直滤波部件342被供给来自行存储器308的输入像素值,和来自判定部件310的关于每个水平边界的判定结果。The vertical filtering section 340 includes vertical filtering sections 342-1 to 342-n. The vertical filtering section 342 is supplied with the input pixel value from the line memory 308 and the decision result from the decision section 310 regarding each horizontal boundary.

如果来自水平边界判定部分314的判定结果指出需要应用滤波器,那么垂直滤波部件342对在对应水平边界周围的上下像素,应用关于水平边界的去块滤波器。垂直滤波部件342-1~342-n的滤波处理是与水平滤波部件332-1~332-n的滤波处理并行地进行的。垂直滤波部件342把就滤波像素来说的滤波后的像素值,或者就其它像素来说的输入像素值,输出给计算部分360。If the determination result from horizontal boundary determination section 314 indicates that a filter is required, vertical filtering section 342 applies a deblocking filter for the horizontal boundary to the upper and lower pixels surrounding the corresponding horizontal boundary. The filtering process of vertical filtering sections 342-1 through 342-n is performed in parallel with the filtering process of horizontal filtering sections 332-1 through 332-n. Vertical filtering section 342 outputs the filtered pixel value for the filtered pixel or the input pixel value for the other pixels to calculation section 360.

计算部分360被并行地供给来自水平滤波部件330的输出像素值,和来自垂直滤波部件340的输出像素值。此外,计算部分360被供给来自垂直边界判定部分312和水平边界判定部分314的判定结果。按照判定结果,计算部分360根据来自水平滤波部件330和垂直滤波部件340的滤波器输出,计算从水平滤波部件330和垂直滤波部件340滤波的像素的输出像素值。The calculation section 360 is supplied in parallel with the output pixel value from the horizontal filtering section 330 and the output pixel value from the vertical filtering section 340. In addition, the calculation section 360 is supplied with the determination results from the vertical boundary determination section 312 and the horizontal boundary determination section 314. In accordance with the determination results, the calculation section 360 calculates the output pixel values of the pixels filtered by the horizontal filtering section 330 and the vertical filtering section 340 based on the filter outputs from the horizontal filtering section 330 and the vertical filtering section 340.

按照本实施例,例如,对于重复滤波的像素,计算部分360计算两个滤波器输出的平均值。计算部分360可计算两个滤波器输出的简单平均值。计算部分360可改为计算两个滤波器输出的加权平均值。例如,计算部分360可按照每个像素到垂直边界和到水平边界的距离,确定用于像素的加权平均值的权重。According to this embodiment, for example, for pixels that are repeatedly filtered, the calculation section 360 calculates the average of the two filter outputs. The calculation section 360 may calculate a simple average of the two filter outputs. Alternatively, the calculation section 360 may calculate a weighted average of the two filter outputs. For example, the calculation section 360 may determine the weight for the weighted average of each pixel based on its distance from the vertical boundary and the horizontal boundary.

图29是图解说明用于利用计算部分360计算的加权平均值的权重的确定的说明图。图29用黑色表示与在图27中图解所示的重复位置之一对应的关注像素PZ。在关注像素PZ和最近的垂直边界VZ之间,存在与距离DV对应的3个像素。在关注像素PZ和最近的水平边界HZ之间,存在与距离DH对应的2个像素。距离DH小于距离DV。这种情况下,计算部分360可把来自应用于水平边界HZ的去块滤波器的输出的权重设定成大于来自应用于垂直边界VZ的去块滤波器的输出的权重。图29中的例子假定关于垂直边界VZ的滤波器输出Vout与关于水平边界HZ的滤波器输出Hout之比为2:3。FIG29 is an explanatory diagram illustrating the determination of weights for the weighted average calculated by the calculation section 360. FIG29 shows the pixel of interest PZ corresponding to one of the repetition positions illustrated in FIG27 in black. Three pixels corresponding to the distance DH exist between the pixel of interest PZ and the nearest vertical boundary VZ . Two pixels corresponding to the distance DH exist between the pixel of interest PZ and the nearest horizontal boundary HZ . Distance DH is smaller than distance DH. In this case, the calculation section 360 may set the weight of the output of the deblocking filter applied to the horizontal boundary HZ to be greater than the weight of the output of the deblocking filter applied to the vertical boundary VZ . The example in FIG29 assumes that the ratio of the filter output Vout for the vertical boundary VZ to the filter output Hout for the horizontal boundary HZ is 2:3.

从图29中可看出,计算两个滤波器输出的加权平均值从而可向每个关注的像素,提供与应用具有沿着水平方向的滤波器抽头和沿着垂直方向的滤波器抽头的1个二维滤波器的情况类似的输出像素值。使对于垂直边界和水平边界的滤波处理并行还可适当减小在垂直边界和水平边界出现的块失真。作为另一个实施例,去块滤波器24可包括同时计算水平滤波、垂直滤波和加权平均值的1个二维滤波器。不过在这种情况下,安装极其复杂,因为需要对应于像素不同地改变滤波器系数。另一方面,第三实施例并行地进行2个一维滤波,随后计算加权平均值。这能够容易地提供大体与二维滤波器相同的处理,同时确保现有的去块滤波器的功能。As can be seen from Figure 29, calculating the weighted average of the outputs of the two filters can provide each pixel of interest with an output pixel value similar to the case of applying a two-dimensional filter with filter taps along the horizontal direction and filter taps along the vertical direction. Parallelizing the filtering process for vertical and horizontal boundaries can also appropriately reduce the block distortion that occurs at the vertical and horizontal boundaries. As another embodiment, the deblocking filter 24 may include a two-dimensional filter that simultaneously calculates horizontal filtering, vertical filtering, and a weighted average. However, in this case, the installation is extremely complicated because the filter coefficients need to be changed differently depending on the pixel. On the other hand, the third embodiment performs two one-dimensional filters in parallel and then calculates the weighted average. This can easily provide processing that is roughly the same as that of a two-dimensional filter while ensuring the functionality of the existing deblocking filter.

图30是图解说明根据图29中的例子计算的加权平均值的权重的例子的说明图。图30表示在垂直边界和水平边界的交点周围的36个像素(6×6)。这些像素对应于上面说明的重复位置。对于位于距垂直边界和水平边界距离相等的位置的像素,滤波器输出Vout的权重与滤波器输出Hout的权重之比为1:1(2:2或者3:3)。对更接近垂直边界的像素来说,滤波器输出Vout的权重大于滤波器输出Hout的权重。例如,像素P1的权重之比为Vout:Hout=3:1。对更接近水平边界的像素来说,滤波器输出Vout的权重小于滤波器输出Hout的权重。例如,像素P2的权重之比为Vout:Hout=1:3。FIG30 is an explanatory diagram illustrating an example of the weights of the weighted average calculated based on the example in FIG29 . FIG30 shows 36 pixels (6×6) around the intersection of the vertical and horizontal boundaries. These pixels correspond to the repeated positions described above. For pixels located at equal distances from the vertical and horizontal boundaries, the ratio of the weight of the filter output V out to the weight of the filter output H out is 1:1 (2:2 or 3:3). For pixels closer to the vertical boundary, the weight of the filter output V out is greater than the weight of the filter output H out . For example, the weight ratio of pixel P1 is V out : H out = 3:1. For pixels closer to the horizontal boundary, the weight of the filter output V out is less than the weight of the filter output H out . For example, the weight ratio of pixel P2 is V out : H out = 1:3.

通过根据每个像素和边界之间的距离,改变加权平均值的权重,能够更有效地抑制块失真,从而能够改善图像质量。By changing the weight of the weighted average according to the distance between each pixel and the boundary, block distortion can be suppressed more effectively, thereby improving image quality.

上面说明的权重仅仅是例子。例如,代替或者除了每个像素和边界之间的距离之外,计算部分360可按照对应于每个像素的垂直边界和水平边界的边缘强度,确定像素的加权平均值的权重。边缘强度可用诸如从如图13中所示的计算部分122计算的边缘值之类的参数表示。在这种情况下,关于具有较强边缘的边界的滤波器输出的权重可被设定成大于关于具有较弱边缘的边界的滤波器输出的权重。按照边缘强度,改变加权平均值的权重能够自适应地改善去块滤波器对显著导致块失真的边界的效果。The weights described above are merely examples. For example, instead of or in addition to the distance between each pixel and the boundary, the calculation section 360 may determine the weight of the weighted average of the pixels according to the edge strength of the vertical and horizontal boundaries corresponding to each pixel. The edge strength may be represented by a parameter such as the edge value calculated from the calculation section 122 as shown in Figure 13. In this case, the weight of the filter output for boundaries with stronger edges may be set to be greater than the weight of the filter output for boundaries with weaker edges. Changing the weight of the weighted average according to the edge strength can adaptively improve the effect of the deblocking filter on boundaries that significantly cause block distortion.

就由水平滤波部件330和垂直滤波部件340之一滤波的像素来说,计算部分360选择来自实际被滤波的块的输出。就未被水平滤波部件330或垂直滤波部件340滤波的像素来说,计算部分360直接输出待输出给去块滤波器24的输入像素值。图31中的表格列举了按照是否需要滤波的判定的结果,来自计算部分360的输出像素值。For pixels filtered by one of the horizontal filtering section 330 and the vertical filtering section 340, the calculation section 360 selects the output from the block actually filtered. For pixels not filtered by the horizontal filtering section 330 or the vertical filtering section 340, the calculation section 360 directly outputs the input pixel value to be output to the deblocking filter 24. The table in FIG31 lists the output pixel values from the calculation section 360 according to the results of the determination of whether filtering is required.

[5-3.处理序列例子][5-3. Processing sequence example]

下面说明可供按照本实施例的去块滤波器24利用的处理序列的两个例子。本例还假定去块滤波器被供给大小为32×32像素的图像。输入图像包括大小均为16×16像素的4个宏块MB0-MB3。Two examples of processing sequences that can be used by the deblocking filter 24 according to this embodiment are described below. This example also assumes that the deblocking filter is fed with an image of size 32×32 pixels. The input image includes four macroblocks MB0-MB3, each of size 16×16 pixels.

(1)第一个例子(1) First example

为比较起见,图32图解说明当在对于垂直边界的滤波处理和对于水平边界的滤波处理之间,仍有依存关系时的处理序列。在图32中,第一步骤并行地进行对于所有4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤进行4个宏块MB0-MB3的16个垂直边界的滤波处理FV0,0~FV3,3。第三步骤进行4个宏块MB0-MB3的16个水平边界的滤波处理FH0,0~FH3,3。第四步骤把在对于水平边界的滤波处理之后的像素值保存在用于来自去块滤波器24的输出的存储器中。For comparison purposes, FIG32 illustrates a processing sequence when a dependency still exists between filtering for vertical boundaries and filtering for horizontal boundaries. In FIG32 , the first step performs filtering necessity determination processes (J V0,0 to J V3,3 and J H0,0 to J H3,3 ) on all vertical boundaries and all horizontal boundaries of all four macroblocks MB0-MB3 in parallel. The second step performs filtering processes (F V0,0 to F V3,3) on the 16 vertical boundaries of the four macroblocks MB0-MB3. The third step performs filtering processes (F H0,0 to F H3,3) on the 16 horizontal boundaries of the four macroblocks MB0-MB3. The fourth step stores the pixel values after filtering for horizontal boundaries in the memory for the output from the deblocking filter 24.

图33图解说明本实施例提供的处理序列的第一个例子。在图33中,第一步骤并行地进行对于4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤并行地进行对于4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波处理FV0,0~FV3,3和FH0,0~FH3,3。实际上,第二步骤只对确定需要滤波的边界滤波。第三步骤把像素值保存在用于来自去块滤波器24的输出的存储器中。就利用水平滤波部件330和垂直滤波部件340滤波的像素来说,可以计算两个滤波器输出的加权平均值,作为输出像素值。FIG33 illustrates a first example of a processing sequence provided by this embodiment. In FIG33 , the first step performs filtering necessity determination processing (J V0,0 to J V3,3 and J H0,0 to J H3,3 ) on all vertical and horizontal boundaries of the four macroblocks MB0-MB3 in parallel. The second step performs filtering processing (F V0,0 to F V3,3 and F H0,0 to F H3,3 ) on all vertical and horizontal boundaries of the four macroblocks MB0-MB3 in parallel. In practice, the second step only filters boundaries determined to require filtering. The third step stores pixel values in the memory used for the output from the deblocking filter 24. For pixels filtered by the horizontal filtering component 330 and the vertical filtering component 340, a weighted average of the two filter outputs is calculated as the output pixel value.

(2)第二个例子(2) Second example

虽然第一个例子使并行度达到最大,不过,按照第二个例子的去块滤波器24也能够进行每个宏块的处理。While the first example maximizes parallelism, the deblocking filter 24 according to the second example can also perform processing on a per-macroblock basis.

为比较起见,图34图解说明当在对于垂直边界的滤波处理和对于水平边界的滤波处理之间,仍有依存关系时,对于每个宏块的处理序列。图34中的处理序列与按照第一实施例的图22中的处理序列大体相同。图36明确地表示了把像素值保存在存储器中,以便输出,并且为了简单起见,从图22中省略的4个处理步骤(第6、第10、第14和第16)。包括这4个处理步骤的16个处理步骤构成图34中的处理。For comparison purposes, FIG34 illustrates the processing sequence for each macroblock when a dependency still exists between the filtering processes for vertical boundaries and the filtering processes for horizontal boundaries. The processing sequence in FIG34 is substantially the same as the processing sequence in FIG22 according to the first embodiment. FIG36 explicitly illustrates the four processing steps (the 6th, 10th, 14th, and 16th) that are omitted from FIG22 for simplicity, and that store pixel values in memory for output. The 16 processing steps, including these four, constitute the processing in FIG34.

图35图解说明本实施例提供的处理序列的第二个例子。在图35中,第一步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波需要判定处理JV0,0~JV0,3和JH0,0~JH0,3。第二步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波处理FV0,0~FV0,3和FH0,0~FH0,3。第三步骤把宏块MB0的像素值保存在用于来自去块滤波器24的输出的存储器中。就被两个滤波器重复滤波的像素来说,可以计算两个滤波器输出的加权平均值,作为输出像素值。第四步骤到第六步骤类似地处理宏块MB1。第七步骤到第九步骤类似地处理宏块MB2。第十步骤到第十二步骤类似地处理宏块MB3。图35中的处理包括与图34中的处理的步骤相比,较少的12个处理步骤。FIG35 illustrates a second example of a processing sequence provided by this embodiment. In FIG35 , the first step performs filtering necessity determination processing (J V0,0 to J V0,3 and J H0,0 to J H0,3 ) on the four vertical and four horizontal boundaries of macroblock MB0 in parallel. The second step performs filtering processing (F V0,0 to F V0,3 and F H0,0 to F H0,3 ) on the four vertical and four horizontal boundaries of macroblock MB0 in parallel. The third step stores the pixel values of macroblock MB0 in a memory for the output from deblocking filter 24. For pixels repeatedly filtered by two filters, a weighted average of the two filter outputs is calculated as the output pixel value. Steps 4 through 6 process macroblock MB1 in a similar manner. Steps 7 through 9 process macroblock MB2 in a similar manner. Steps 10 through 12 process macroblock MB3 in a similar manner. The processing in FIG35 includes 12 fewer processing steps than the processing in FIG34 .

第三实施例消除了对于垂直边界的滤波处理和对于水平边界的滤波处理之间的依存关系。可以利用与第一和第二实施例相比,较少的处理步骤进行去块滤波器24的处理。允许滤波处理仅仅参考给去块滤波器的像素输入的优点之一在于滤波器抽头的任意结构不会导致对于垂直边界的滤波处理和对于水平边界的滤波处理之间的任何依存关系。通过利用与现有技术相比,更多的像素构成滤波器抽头,第三实施例能够改善图像质量。例如,现有技术把3个像素的滤波器抽头用于各个边界的每一侧,如上参考图7所述。即使在每个边界使用5个像素或者更多像素的滤波器抽头,本实施例也不会在处理之间导致任何依存关系。通过进一步减小作为去块滤波器的处理单位的块大小,甚至在处理之间也不会出现任何依存关系。The third embodiment eliminates the dependency between the filtering processes for vertical boundaries and horizontal boundaries. Deblocking filter 24 can be processed using fewer processing steps than in the first and second embodiments. One advantage of allowing filtering to refer solely to the pixel inputs to the deblocking filter is that any arbitrary configuration of filter taps does not result in any dependency between the filtering processes for vertical boundaries and horizontal boundaries. By utilizing more pixels to form filter taps than in the prior art, the third embodiment can improve image quality. For example, the prior art uses filter taps of three pixels on each side of each boundary, as described above with reference to FIG7 . Even when filter taps of five or more pixels are used at each boundary, this embodiment does not result in any dependencies between the processes. By further reducing the block size, which serves as the processing unit for the deblocking filter, no dependencies between the processes arise.

另外,在第三实施例以及第一和第二实施例中,并行化控制部分150可控制去块滤波器24中的处理的并行度和顺序。In addition, in the third embodiment as well as the first and second embodiments, the parallelization control portion 150 can control the degree of parallelism and the order of processing in the deblocking filter 24 .

[5-4.处理流程][5-4. Processing Flow]

图36是图解说明按照第三实施例的去块滤波器的处理流程的例子的流程图。图37是图解说明图36中所示的像素值计算处理的流程的流程图。Fig. 36 is a flowchart illustrating an example of the processing flow of the deblocking filter according to the third embodiment. Fig. 37 is a flowchart illustrating the flow of the pixel value calculation process shown in Fig. 36 .

参见图36,垂直边界判定部分312-1~312-n对于输入图像或宏块内的所有垂直边界,并行地判定是否需要滤波(步骤S302)。水平边界判定部分314-1~314-n对于输入图像或宏块内的所有水平边界,并行地判定是否需要滤波(步骤S304)。步骤S302和S304也可并行地进行。36 , vertical boundary determination units 312-1 to 312-n concurrently determine whether filtering is required for all vertical boundaries within the input image or macroblock (step S302). Horizontal boundary determination units 314-1 to 314-n concurrently determine whether filtering is required for all horizontal boundaries within the input image or macroblock (step S304). Steps S302 and S304 can also be performed in parallel.

水平滤波部件332-1~332-n把去块滤波器并行地应用于在步骤S302,确定需要应用去块滤波器的所有垂直边界(步骤S306)。垂直滤波部件342-1~342-n把去块滤波器并行地应用于在步骤S304,确定需要应用去块滤波器的所有水平边界(步骤S308)。步骤S306和S308也可并行地进行。The horizontal filtering components 332-1 to 332-n apply the deblocking filters in parallel to the process performed at step S302, and determine all vertical boundaries to which the deblocking filters are to be applied (step S306). The vertical filtering components 342-1 to 342-n apply the deblocking filters in parallel to the process performed at step S304, and determine all horizontal boundaries to which the deblocking filters are to be applied (step S308). Steps S306 and S308 may also be performed in parallel.

计算部分360随后进行如图37中所示的像素值计算处理(步骤S310)。参见图37,随后为待处理的每个像素,循环从步骤S314-步骤S326的处理(步骤S312)。The calculation section 360 then performs the pixel value calculation processing (step S310) as shown in Fig. 37. Referring to Fig. 37, the processing from step S314 to step S326 is then looped for each pixel to be processed (step S312).

在步骤S314,计算部分360判定用于垂直边界和水平边界的两个滤波器是否已对关注像素滤波(步骤S314)。如果这两个滤波器已对关注像素滤波,那么处理进入步骤S322。如果这两个滤波器还未对关注像素滤波,那么处理进入步骤S316。In step S314, the calculation section 360 determines whether the two filters for the vertical boundary and the horizontal boundary have filtered the pixel of interest (step S314). If the two filters have filtered the pixel of interest, the process proceeds to step S322. If the two filters have not filtered the pixel of interest, the process proceeds to step S316.

在步骤S316,计算部分360判定用于垂直边界和水平边界的两个滤波器之一是否已对关注像素滤波(步骤S316)。如果这两个滤波器之一已对关注像素滤波,那么处理进入步骤S320。如果这两个滤波器一个也没有对关注像素滤波,那么处理进入步骤S318。In step S316, the calculation section 360 determines whether one of the two filters for the vertical boundary and the horizontal boundary has filtered the pixel of interest (step S316). If one of the two filters has filtered the pixel of interest, the process proceeds to step S320. If neither of the two filters has filtered the pixel of interest, the process proceeds to step S318.

在步骤S318,计算部分360获得给去块滤波器24的输入像素值(步骤S318)。在步骤S320,计算部分360获得来自对关注像素进行实际滤波的滤波器的滤波器输出(步骤S320)。At step S318, the calculation section 360 obtains the input pixel value to the deblocking filter 24 (step S318). At step S320, the calculation section 360 obtains the filter output from the filter that actually performs filtering on the pixel of interest (step S320).

在步骤S322,计算部分360按照从关注像素到垂直边界和水平边界的距离,或者对应于关注像素的垂直边界和水平边界的边缘强度,确定用于计算来自涉及关注像素的两个滤波器的滤波器输出的加权平均值的权重值(步骤S322)。计算部分360利用确定的权重,计算来自两个滤波器的滤波器输出的加权平均值(步骤S324)。In step S322, the calculation section 360 determines a weight value for calculating a weighted average of the filter outputs from the two filters related to the pixel of interest, based on the distance from the pixel of interest to the vertical and horizontal boundaries, or the edge strength of the vertical and horizontal boundaries corresponding to the pixel of interest (step S322). The calculation section 360 calculates the weighted average of the filter outputs from the two filters using the determined weights (step S324).

在步骤S318或S320获得像素值,或者在步骤S324计算像素值的同时,计算部分360把关注像素的像素值保存在存储器中(步骤S326)。当对所有待处理像素都进行了处理时,终止如在图36和37中所示的处理序列。When the pixel value is obtained in step S318 or S320, or when the pixel value is calculated in step S324, the calculation section 360 stores the pixel value of the pixel of interest in the memory (step S326). When all pixels to be processed have been processed, the processing sequence shown in Figures 36 and 37 is terminated.

<6.对各种编解码器的应用><6. Application of various codecs>

按照本公开的技术适用于与图像编码和解码相关的各种编解码器。下面说明把按照本公开的技术应用于多视图编解码器和可扩展编解码器的例子。The technology according to the present disclosure is applicable to various codecs related to image encoding and decoding. An example of applying the technology according to the present disclosure to a multi-view codec and a scalable codec is described below.

[6-1.多视图编解码器][6-1. Multi-view codec]

多视图编解码器是编码和解码多视点视频的图像编码方案。图38是图解说明多视图编解码器的说明图。图38图解说明在3个视点拍摄的3个视图的帧序列。每个视图具备视图ID(view_id)。视图之一被指定为基本视图。除基本视图外的视图被称为非基本视图。图38中的例子表示具有视图ID“0”的基本视图,和具有视图ID“1”或“2”的两个非基本视图。编码多视图图像数据可通过根据关于基本视图的各帧的编码信息,编码非基本视图的各帧,整体压缩编码流的数据大小。A multi-view codec is an image coding scheme for encoding and decoding multi-viewpoint videos. FIG38 is an explanatory diagram illustrating a multi-view codec. FIG38 illustrates a frame sequence of three views captured at three viewpoints. Each view has a view ID (view_id). One of the views is designated as a base view. Views other than the base view are referred to as non-base views. The example in FIG38 shows a base view having a view ID of "0", and two non-base views having view IDs of "1" or "2". Encoding multi-view image data can compress the data size of the encoded stream as a whole by encoding each frame of the non-base view based on encoding information about each frame of the base view.

在按照上述多视图编解码器的编码处理和解码处理期间,可对每个视图应用去块滤波器。对每个视图应用去块滤波器可按照本公开的技术,以包含每个视图的多个CU的处理为单位,使水平滤波和垂直滤波并行。上述处理单位可代表几个CU、LCU或图像。可以为每个视图设定控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。对于基本视图设定的参数可以重新用于非基本视图。During the encoding and decoding processes according to the multi-view codec described above, a deblocking filter may be applied to each view. The deblocking filter applied to each view may be performed in parallel with horizontal filtering and vertical filtering, using the processing of multiple CUs comprising each view as a unit, according to the techniques disclosed herein. The processing unit may represent several CUs, LCUs, or images. Parameters for controlling parallel processing may be set for each view (such as those described in the second paragraph of the preceding "(4) Parallelization Control Section"). Parameters set for the base view may be reused for non-base views.

可在多个视图内,使水平滤波和垂直滤波并行。所述多个视图可共用控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。有利的是另外指定指示多个视图是否共用该参数的标记。Horizontal filtering and vertical filtering can be performed in parallel within multiple views. The multiple views can share parameters for controlling parallel processing (such as the parameters described in the second paragraph of the "(4) Parallelization Control Section" above). It is advantageous to additionally specify a flag indicating whether the multiple views share the parameters.

图39是图解说明应用于上述多视图编解码器的图像编码处理的说明图。图39举例表示多视图编码设备710的结构。多视图编码设备710包括第一编码部件720、第二编码部件730和多路复用部分740。Fig. 39 is an explanatory diagram illustrating an image encoding process applied to the above-described multi-view codec. Fig. 39 shows an example of the structure of a multi-view encoding device 710. The multi-view encoding device 710 includes a first encoding unit 720, a second encoding unit 730, and a multiplexing section 740.

第一编码部件720对基本视图图像编码,产生基本视图的编码流。第二编码部件730对非基本视图图像编码,产生非基本视图的编码流。多路复用部分740多路复用从第一编码部件720产生的基本视图的编码流,和从第二编码部件730产生的非基本视图的一个或多个编码流,从而产生多视图的多路复用流。The first encoding component 720 encodes the base view image to generate an encoded stream of the base view. The second encoding component 730 encodes the non-base view images to generate encoded streams of the non-base views. The multiplexing section 740 multiplexes the encoded stream of the base view generated by the first encoding component 720 with one or more encoded streams of the non-base views generated by the second encoding component 730 to generate a multiplexed stream of multiple views.

图39中图解说明的第一编码部件720和第二编码部件730是类似于按照上述实施例的图像编码设备10构成的。对视图应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波和垂直滤波并行。控制这些处理的参数可被插入每个视图的编码流的报头区中,或者插入多路复用流中的公共报头区中。The first encoding section 720 and the second encoding section 730 illustrated in FIG39 are configured similarly to the image encoding device 10 according to the above-described embodiment. Applying a deblocking filter to a view enables parallel processing of horizontal and vertical filtering in units of processing including multiple CUs. Parameters controlling these processes can be inserted into the header area of the coded stream for each view, or into the common header area of the multiplexed stream.

图40是图解说明应用于上面说明的多视图编解码器的图像解码处理的说明图。图40举例表示多视图解码设备760的结构。多视图解码设备760包括多路分解部分770、第一解码部分780和第二解码部分790。Fig. 40 is an explanatory diagram illustrating an image decoding process applied to the multi-view codec described above. Fig. 40 shows an example of the structure of a multi-view decoding device 760. The multi-view decoding device 760 includes a demultiplexing section 770, a first decoding section 780, and a second decoding section 790.

多路分解部分770把多视图的多路复用流多路分解成基本视图的编码流,和一个或多个非基本视图的编码流。第一解码部分780从基本视图的编码流中,解码基本视图图像。第二解码部分790从非基本视图的编码流中,解码非基本视图图像。The demultiplexing section 770 demultiplexes the multi-view multiplexed stream into a base view coded stream and one or more non-base view coded streams. The first decoding section 780 decodes the base view image from the base view coded stream. The second decoding section 790 decodes the non-base view images from the non-base view coded streams.

图40中图解说明的第一解码部分780和第二解码部分790是类似于按照上述实施例的图像解码设备60构成的。对视图应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可以从每个视图的编码流的报头区获得,或者从多路复用流的公共报头区获得。The first decoding section 780 and the second decoding section 790 illustrated in FIG40 are configured similarly to the image decoding device 60 according to the above-described embodiment. Applying a deblocking filter to a view enables parallelization of horizontal filtering and parallelization of vertical filtering in units of processing involving multiple CUs. Parameters controlling these processes can be obtained from the header area of the coded stream for each view, or from the common header area of the multiplexed stream.

[6-2.可扩展编解码器][6-2. Scalable Codec]

可扩展编解码器是提供分级编码的图像编码方案。图41是图解说明可扩展编解码器的说明图。图41图解说明空间分辨率、时间分辨率或图像质量不同的3层的帧序列。每一层具有层ID(layer_id)。这些层包括具有最低分辨率(或图像质量)的基本层。除基本层外的各层被称为增强层。图41中的例子表示具有层ID“0”的基本层,和具有层ID“1”或“2”的两个增强层。编码多层图像数据可通过根据关于基本层的各帧的编码信息,编码增强层的各帧,整体压缩编码流的数据大小。Scalable codec is an image coding scheme that provides hierarchical coding. Figure 41 is an explanatory diagram illustrating the scalable codec. Figure 41 illustrates a frame sequence of three layers with different spatial resolutions, temporal resolutions, or image qualities. Each layer has a layer ID (layer_id). These layers include a base layer with the lowest resolution (or image quality). Each layer other than the base layer is called an enhancement layer. The example in Figure 41 shows a base layer with a layer ID of "0", and two enhancement layers with layer IDs of "1" or "2". Encoding multi-layer image data can compress the data size of the encoded stream as a whole by encoding each frame of the enhancement layer based on the encoding information about each frame of the base layer.

在按照上述可扩展编解码器的编码处理和解码处理期间,可对每层应用去块滤波器。对每层应用去块滤波器可按照本公开的技术,以包含每个视图的多个CU的处理为单位,使水平滤波和垂直滤波并行。上述处理单位可代表几个CU、LCU或图像。可以为每层设定控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。对于基本层视图设定的参数可以重新用于增强层。During the encoding and decoding processes according to the scalable codec described above, a deblocking filter may be applied to each layer. The deblocking filter applied to each layer may be performed in parallel, using the processing of multiple CUs per view as a unit, according to the techniques disclosed herein. The processing unit may represent several CUs, LCUs, or images. Parameters for controlling parallel processing (such as those described in the second paragraph of the "(4) Parallelization Control Section") may be set for each layer. Parameters set for base layer views may be reused for enhancement layers.

可在多层内,使水平滤波和垂直滤波并行。所述多层可共用控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。有利的是另外指定指示多层是否共用该参数的标记。Horizontal filtering and vertical filtering can be performed in parallel within multiple layers. The multiple layers can share parameters for controlling parallel processing (such as the parameters described in the second paragraph of the previous "(4) Parallelization Control Section"). It is advantageous to additionally specify a flag indicating whether the multiple layers share the parameters.

图42是图解说明应用于上述可扩展编解码器的图像编码处理的说明图。图42举例表示可扩展编码设备810的结构。可扩展编码设备810包括第一编码部件820、第二编码部件830和多路复用部分840。Fig. 42 is an explanatory diagram illustrating the image encoding process applied to the above-mentioned scalable codec. Fig. 42 shows an example of the structure of a scalable encoding device 810. The scalable encoding device 810 includes a first encoding unit 820, a second encoding unit 830, and a multiplexing section 840.

第一编码部件820对基本层图像编码,产生基本层的编码流。第二编码部件830对增强层图像编码,产生增强层的编码流。多路复用部分840多路复用从第一编码部件820产生的基本层的编码流,和从第二编码部件830产生的增强层的一个或多个编码流,从而产生多层的多路复用流。The first encoding component 820 encodes the base layer image to generate a base layer coded stream. The second encoding component 830 encodes the enhancement layer image to generate a coded stream for the enhancement layer. The multiplexing section 840 multiplexes the base layer coded stream generated by the first encoding component 820 with one or more coded streams of the enhancement layer generated by the second encoding component 830, thereby generating a multi-layer multiplexed stream.

图42中图解所示的第一编码部件820和第二编码部件830是类似于上述实施例的图像编码设备10构成的。对各层应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可被插入每层的编码流的报头区中,或者插入多路复用流中的公共报头区中。The first encoding section 820 and the second encoding section 830 illustrated in FIG42 are configured similarly to the image encoding device 10 of the above-described embodiment. Applying a deblocking filter to each layer enables parallelization of horizontal filtering and parallelization of vertical filtering in units of processing involving multiple CUs. Parameters controlling these processes can be inserted into the header area of the coded stream for each layer, or into the common header area of the multiplexed stream.

图43是图解说明应用于上述可扩展编解码器的图像解码处理的说明图。图43举例表示可扩展解码设备860的结构。可扩展解码设备860包括多路分解部分870、第一解码部分880和第二解码部分890。Fig. 43 is an explanatory diagram illustrating the image decoding process applied to the above-mentioned scalable codec. Fig. 43 shows an example of the structure of a scalable decoding device 860. The scalable decoding device 860 includes a demultiplexing section 870, a first decoding section 880, and a second decoding section 890.

多路分解部分870把多层的多路复用流多路分解成基本层的编码流,和一个或多个增强层的编码流。第一解码部分880从基本层的编码流中,解码基本层图像。第二解码部分890从增强层的编码流中,解码增强层图像。The demultiplexing section 870 demultiplexes the multi-layer multiplexed stream into a base layer coded stream and one or more enhancement layer coded streams. The first decoding section 880 decodes the base layer image from the base layer coded stream. The second decoding section 890 decodes the enhancement layer image from the enhancement layer coded stream.

图43中图解所示的第一解码部分880和第二解码部分890是类似于按照上述实施例的图像解码设备60构成的。对各层应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可以从每层的编码流的报头区获得,或者从多路复用流的公共报头区获得。The first decoding section 880 and the second decoding section 890 illustrated in FIG43 are configured similarly to the image decoding device 60 according to the above-described embodiment. Applying a deblocking filter to each layer enables parallelization of horizontal filtering and vertical filtering in units of processing involving multiple CUs. Parameters controlling these processes can be obtained from the header area of the coded stream for each layer, or from the common header area of the multiplexed stream.

<7.例证应用><7. Example Application>

按照上述实施例的图像编码设备10和图像解码设备60适用于各种电器,比如用于卫星广播、诸如有线电视之类的有线广播、因特网上的分发、借助蜂窝通信对终端的分发等的发射器和接收器,把图像记录在诸如光盘、磁盘或闪存之类的介质中的记录设备,从这样的存储介质再现图像的再现设备,等等。下面说明4种例证应用。The image encoding device 10 and the image decoding device 60 according to the above-described embodiment are applicable to various electronic devices, such as transmitters and receivers used for satellite broadcasting, cable broadcasting such as cable television, distribution over the Internet, distribution to terminals via cellular communications, etc.; recording devices that record images on media such as optical disks, magnetic disks, or flash memory; and reproduction devices that reproduce images from such storage media. Four exemplary applications are described below.

[7-1.第一例证应用][7-1. First Example Application]

图44是表示适用上述实施例的电视机的示意结构的例子的方框图。电视机900包括天线901、调谐器902、多路分解器903、解码器904、视频信号处理部分905、显示部分906、音频信号处理部分907、扬声器908、外部接口909、控制部分910、用户接口911和总线912。Figure 44 is a block diagram showing an example of a schematic structure of a television set to which the above-described embodiment is applicable. A television set 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing section 905, a display section 906, an audio signal processing section 907, a speaker 908, an external interface 909, a control section 910, a user interface 911, and a bus 912.

调谐器902从借助天线901接收的广播信号中,提取所需频道的信号,并解调提取的信号。随后,调谐器902把通过解调获得的编码比特流输出给多路分解器903。即,调谐器902充当电视机900的接收其中编码图像的编码流的电视机900的传输装置。The tuner 902 extracts a signal of a desired channel from the broadcast signal received via the antenna 901 and demodulates the extracted signal. The tuner 902 then outputs the encoded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 serves as a transmission device of the television 900 that receives the encoded stream in which the image is encoded.

多路分解器903从编码比特流中,分离出待观看节目的视频流和音频流,把分离出的每个流输出给解码器904。另外,多路分解器903从编码比特流中,提取诸如EPG(电子节目指南)之类的辅助数据,并把提取的数据提供给控制部分910。另外,在编码比特流被加扰的情况下,多路分解器903可进行解扰。The demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs each of the separated streams to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the coded bit stream, and supplies the extracted data to the control section 910. In addition, if the coded bit stream is scrambled, the demultiplexer 903 can perform descrambling.

解码器904对从多路分解器903输入的视频流和音频流解码。随后,解码器904把利用解码处理产生的视频数据输出给视频信号处理部分905。另外,解码器904把利用解码处理产生的音频数据输出给音频信号处理部分907。The decoder 904 decodes the video stream and the audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing section 905. In addition, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing section 907.

视频信号处理部分905再现从解码器904输入的视频数据,使显示部分906显示视频。视频信号处理部分905还可使显示部分906显示通过网络供给的应用程序画面。此外,视频信号处理部分905可按照设定,对视频数据进行诸如噪声消除之类的附加处理。此外,视频信号处理部分905可产生GUI(图形用户界面)的图像,比如菜单、按钮、光标等,并把产生的图像重叠在输出图像上。The video signal processing section 905 reproduces the video data input from the decoder 904 and causes the display section 906 to display the video. The video signal processing section 905 can also cause the display section 906 to display application screens supplied via the network. Furthermore, the video signal processing section 905 can perform additional processing on the video data, such as noise removal, according to settings. Furthermore, the video signal processing section 905 can generate GUI (Graphical User Interface) images, such as menus, buttons, and cursors, and overlay these generated images on the output image.

显示部分906由视频信号处理部分905供给的驱动信号驱动,把视频或图像显示在显示设备(例如,液晶显示器、等离子体显示器、OLED等)的视频屏幕上。The display portion 906 is driven by the driving signal supplied from the video signal processing portion 905 and displays a video or image on a video screen of a display device (eg, a liquid crystal display, a plasma display, an OLED, etc.).

音频信号处理部分907对从解码器904输入的音频数据,进行诸如D/A转换和放大之类的再现处理,从扬声器908输出音频。另外,音频信号处理部分907可对音频数据进行诸如噪声消除之类的附加处理。The audio signal processing section 907 performs reproduction processing such as D/A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908. In addition, the audio signal processing section 907 may perform additional processing such as noise removal on the audio data.

外部接口909是电视机900和外部设备或网络的接口。例如,外部接口909接收的视频流和音频流可由解码器904解码。即,外部接口909还充当电视机900的传输装置,用于接收其中图像被编码的编码流。The external interface 909 is an interface between the television 900 and an external device or network. For example, the video stream and audio stream received by the external interface 909 can be decoded by the decoder 904. That is, the external interface 909 also serves as a transmission device of the television 900 for receiving a coded stream in which an image is coded.

控制部分910包括诸如CPU(中央处理器)之类的处理器,和诸如RAM(随机存取存储器)、ROM(只读存储器)之类的存储器。存储器保存将由CPU执行的程序、程序数据、EPG数据、通过网络获得的数据等等。在启动电视机900时,CPU读取并执行保存在CPU中的程序。CPU通过执行程序,按照从用户接口911输入的操作信号,控制电视机900的操作。The control section 910 includes a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) or a ROM (Read Only Memory). The memory stores programs to be executed by the CPU, program data, EPG data, data obtained via a network, and the like. When the television set 900 is started, the CPU reads and executes the program stored in the CPU. The CPU controls the operation of the television set 900 according to an operation signal input from the user interface 911 by executing the program.

用户接口911连接到控制部分910。用户接口911包括用户用于操作电视机900的按钮和开关,和遥控信号的接收部分。用户接口911检测用户借助这些构成元件的操作,产生操作信号,把产生的操作信号输出给控制部分910。The user interface 911 is connected to the control unit 910. The user interface 911 includes buttons and switches used by the user to operate the television set 900, and a remote control signal receiving unit. The user interface 911 detects user operations using these components, generates operation signals, and outputs the generated operation signals to the control unit 910.

总线912互连调谐器902、多路分解器903、解码器904、视频信号处理部分905、音频信号处理部分907、外部接口909和控制部分910。The bus 912 interconnects the tuner 902 , the demultiplexer 903 , the decoder 904 , the video signal processing section 905 , the audio signal processing section 907 , the external interface 909 , and the control section 910 .

在按照这种方式构成的电视机900中,解码器904具有按照上述实施例的图像解码设备60的功能。因而,就电视机900中的图像解码来说,也能够增强去块滤波器处理的并行度,从而确保高速处理。In the television set 900 configured in this manner, the decoder 904 has the function of the image decoding device 60 according to the above embodiment. Therefore, also in the case of image decoding in the television set 900, the parallelism of the deblocking filter processing can be enhanced, thereby ensuring high-speed processing.

[7-2.第二例证应用][7-2. Second Example Application]

图45是表示采用上述实施例的移动电话机的示意结构的例子的方框图。移动电话机920包括天线921、通信部分922、音频编解码器923、扬声器924、麦克风925、摄像机部分926、图像处理部分927、多路分解部分928、记录/再现部分929、显示部分930、控制部分931、操作部分932和总线933。45 is a block diagram showing an example of a schematic configuration of a mobile phone using the above-described embodiment. The mobile phone 920 includes an antenna 921, a communication section 922, an audio codec 923, a speaker 924, a microphone 925, a camera section 926, an image processing section 927, a demultiplexing section 928, a recording/reproducing section 929, a display section 930, a control section 931, an operation section 932, and a bus 933.

天线921连接到通信部分922。扬声器924和麦克风925连接到音频编解码器923。操作部分932连接到控制部分931。总线933互连通信部分922、音频编解码器923、摄像机部分926、图像处理部分927、多路分解部分928、记录/再现部分929、显示部分930和控制部分931。An antenna 921 is connected to the communication section 922. A speaker 924 and a microphone 925 are connected to the audio codec 923. An operation section 932 is connected to the control section 931. A bus 933 interconnects the communication section 922, the audio codec 923, the camera section 926, the image processing section 927, the demultiplexing section 928, the recording/reproducing section 929, the display section 930, and the control section 931.

移动电话机920按照包括音频通信模式、数据通信模式、摄像模式和视频电话模式,进行诸如音频信号的传输/接收,电子邮件或图像数据的传输/接收,摄像,数据的记录之类的操作。The mobile phone 920 performs operations such as transmission/reception of audio signals, transmission/reception of e-mail or image data, video recording, and data recording in an audio communication mode, a data communication mode, a camera mode, and a video phone mode.

在音频通信模式下,麦克风925产生的模拟音频信号被提供给音频编解码器923。音频编解码器923把模拟音频信号转换成音频数据,对转换的音频数据进行A/D转换和压缩。随后,音频编解码器923把压缩的音频数据输出给通信部分922。通信部分922编码和调制音频数据,从而产生传输信号。随后,通信部分922通过天线921,把产生的传输信号传送给基站(未示出)。另外,通信部分922放大经天线921接收的无线信号,转换无线信号的频率,从而获得接收信号。随后,通信部分922解调和解码接收的信号,产生音频数据,并把产生的音频数据输出给音频编解码器923。音频编解码器923扩展和D/A转换音频数据,从而产生模拟音频信号。随后,音频编解码器923把产生的音频信号提供给扬声器924,从而使音频被输出。In audio communication mode, the analog audio signal generated by the microphone 925 is provided to the audio codec 923. The audio codec 923 converts the analog audio signal into audio data, performs A/D conversion and compression on the converted audio data. The audio codec 923 then outputs the compressed audio data to the communication section 922. The communication section 922 encodes and modulates the audio data to generate a transmission signal. The communication section 922 then transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication section 922 amplifies the wireless signal received via the antenna 921 and converts the frequency of the wireless signal to obtain a received signal. The communication section 922 then demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923. The audio codec 923 expands and D/A converts the audio data to generate an analog audio signal. The audio codec 923 then provides the generated audio signal to the speaker 924, so that the audio is output.

另外,在数据通信模式下,控制部分931按照用户借助操作部分932的操作,产生构成电子邮件的文本数据。此外,控制部分931使文本被显示在显示部分930上。此外,控制部分931按照借助操作部分932的传输指令,产生电子邮件数据,把产生的电子邮件数据输出给通信部分922。随后,通信部分922编码和调制电子邮件数据,从而产生传输信号。之后,通信部分922把产生的传输信号经天线921,传送给基站(未示出)。另外,通信部分922放大经天线921接收的无线信号,转换无线信号的频率,从而获得接收信号。随后,通信部分922解调和解码接收信号,恢复电子邮件邮件,并把恢复的电子邮件数据输出给控制部分931。控制部分931使显示部分930显示电子邮件的内容,另外,使电子邮件数据被保存在记录/再现部分929的存储介质中。In data communication mode, the control section 931 generates text data constituting an email in response to user operations via the operating section 932. Furthermore, the control section 931 causes the text to be displayed on the display section 930. Furthermore, the control section 931 generates email data in response to a transmission instruction via the operating section 932 and outputs the generated email data to the communication section 922. The communication section 922 then encodes and modulates the email data to generate a transmission signal. The communication section 922 then transmits the generated transmission signal to a base station (not shown) via the antenna 921. Furthermore, the communication section 922 amplifies the wireless signal received via the antenna 921 and converts the frequency of the wireless signal to obtain a received signal. The communication section 922 then demodulates and decodes the received signal to recover the email content and outputs the recovered email data to the control section 931. The control section 931 causes the display section 930 to display the contents of the email and causes the email data to be stored in the storage medium of the recording/reproducing section 929.

记录/再现部分929包括任意的可读和可写存储介质。例如,存储介质诸如RAM、闪存之类的内置存储介质,或者诸如硬盘、磁盘、磁光盘、光盘、USB存储器、存储卡之类的外部安装的存储介质。The recording/reproducing section 929 includes any readable and writable storage medium, for example, a built-in storage medium such as a RAM, a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card.

此外,在摄像模式下,摄像机部分926拍摄被摄物体的图像,产生图像数据,并把产生的图像数据输出给图像处理部分927。图像处理部分927编码从摄像机部分926输入的图像数据,使编码流被保存在记录/再现部分929的存储介质中。Furthermore, in the camera mode, the camera section 926 captures an image of a subject, generates image data, and outputs the generated image data to the image processing section 927. The image processing section 927 encodes the image data input from the camera section 926 so that the encoded stream is stored in the storage medium of the recording/reproducing section 929.

此外,在视频电话模式下,多路分解部分928多路复用利用图像处理部分927编码的视频流,和从音频编解码器923输入的音频流,把多路复用流输出给通信部分922。通信部分922编码和调制所述流,产生传输信号。随后,通信部分922把产生的传输信号经天线921,传送给基站(未示出)。另外,通信部分922放大经天线921接收的无线信号,转换无线信号的频率,从而获得接收信号。这些传输信号和接收信号可包括编码比特流。随后,通信部分922解调和解码接收信号,恢复所述流,把恢复的流输出给多路分解部分928。多路分解部分928从输入流中分离出视频流和音频流,把视频流输出给图像处理部分927,把音频流输出给音频编解码器923。图像处理部分927解码视频流,从而产生视频数据。视频数据被提供给显示部分930,从而利用显示部分930显示一系列的图像。音频编解码器923扩展和D/A转换音频流,产生模拟音频信号。随后,音频编解码器923把产生的音频信号提供给扬声器924,从而使音频被输出。Furthermore, in videophone mode, the demultiplexing section 928 multiplexes the video stream encoded by the image processing section 927 and the audio stream input from the audio codec 923, and outputs the multiplexed stream to the communication section 922. The communication section 922 encodes and modulates the streams to generate a transmission signal. The communication section 922 then transmits the generated transmission signal to a base station (not shown) via the antenna 921. Furthermore, the communication section 922 amplifies the wireless signal received via the antenna 921 and converts the frequency of the wireless signal to obtain a received signal. These transmission and received signals may include an encoded bit stream. The communication section 922 then demodulates and decodes the received signal to restore the streams, and outputs the restored streams to the demultiplexing section 928. The demultiplexing section 928 separates the video stream and the audio stream from the input stream, outputting the video stream to the image processing section 927 and the audio stream to the audio codec 923. The image processing section 927 decodes the video stream to generate video data. The video data is supplied to the display portion 930, so that a series of images are displayed using the display portion 930. The audio codec 923 expands and D/A converts the audio stream, generating an analog audio signal. Subsequently, the audio codec 923 supplies the generated audio signal to the speaker 924, so that the audio is output.

在按照这种方式构成的移动电话机920中,图像处理部分927具有按照上述实施例的图像编码设备10和图像解码设备60的功能。因而,在移动电话机920中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。In the mobile phone 920 configured in this manner, the image processing section 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Therefore, even when encoding and decoding images in the mobile phone 920, the parallelism of the deblocking filter processing can be enhanced, thereby ensuring high-speed processing.

[7-3.第三例证应用][7-3. Third Example Application]

图46是表示采用上述实施例的记录/再现设备的示意结构的例子的方框图。记录/再现设备940编码接收的广播节目的音频数据和视频数据,并记录在记录介质中。记录/再现设备940也可编码从另一个设备获得的音频数据和视频数据,并记录在记录介质中。此外,记录/再现设备940按照用户的指令,利用监视器或扬声器,再现记录在记录介质中的数据。此时,记录/再现设备940解码音频数据和视频数据。FIG46 is a block diagram showing an example of a schematic structure of a recording/reproducing device using the above-described embodiment. The recording/reproducing device 940 encodes the audio and video data of a received broadcast program and records it on a recording medium. The recording/reproducing device 940 can also encode audio and video data obtained from another device and record it on a recording medium. Furthermore, the recording/reproducing device 940 reproduces the data recorded on the recording medium using a monitor or speakers in accordance with user instructions. In this case, the recording/reproducing device 940 decodes the audio and video data.

记录/再现设备940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)944、光盘驱动器945、选择器946、解码器947、OSD(屏幕显示器)948、控制部分949和用户接口950。The recording/reproducing device 940 includes a tuner 941 , an external interface 942 , an encoder 943 , an HDD (Hard Disk Drive) 944 , an optical disc drive 945 , a selector 946 , a decoder 947 , an OSD (On Screen Display) 948 , a control section 949 , and a user interface 950 .

调谐器941从借助天线(未示出)接收的广播信号中,提取所需频道的信号,并解调提取的信号。随后,调谐器941把通过解调获得的编码比特流输出给选择器946。即,调谐器941充当记录/再现设备940的传输装置。The tuner 941 extracts a signal of a desired channel from a broadcast signal received by an antenna (not shown), and demodulates the extracted signal. The tuner 941 then outputs a coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 serves as a transmission device of the recording/reproducing device 940.

外部接口942是用于连接记录/再现设备940和外部设备或网络的接口。例如,外部接口942可以是IEEE 1394接口、网络接口、USB接口、闪存接口等。例如,利用外部接口942接收的视频数据和音频数据被输入编码器943中。即,外部接口942充当记录/再现设备940的传输装置。The external interface 942 is an interface for connecting the recording/reproducing device 940 and an external device or a network. For example, the external interface 942 may be an IEEE 1394 interface, a network interface, a USB interface, a flash memory interface, or the like. For example, video data and audio data received using the external interface 942 are input to the encoder 943. In other words, the external interface 942 serves as a transmission device for the recording/reproducing device 940.

在从外部接口942输入的视频数据和音频数据未被编码的情况下,编码器943编码视频数据和音频数据。随后,编码器943把编码比特流输出给选择器946。In the case where the video data and the audio data input from the external interface 942 are not encoded, the encoder 943 encodes the video data and the audio data, and then outputs the encoded bit stream to the selector 946 .

HDD 944把编码比特流记录在内部硬盘中,编码比特流是视频或音频、各种节目、和其它各项数据的压缩内容数据。另外,在再现视频或音频时,HDD 944从硬盘读出这些数据。The HDD 944 records a coded bit stream, which is compressed content data of video or audio, various programs, and other data, in an internal hard disk. In addition, when reproducing video or audio, the HDD 944 reads this data from the hard disk.

光盘驱动器945把数据记录在安装的记录介质中,或者读取安装的记录介质中的数据。安装在光盘驱动器945中的记录介质可以是DVD光盘(DVD-视频、DVD-RAM、DVD-R、DVD-RW、DVD+、DVD+RW等)、蓝光(注册商标)光盘等等。The optical disc drive 945 records data on a mounted recording medium or reads data from a mounted recording medium. The recording medium mounted in the optical disc drive 945 may be a DVD disc (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+, DVD+RW, etc.), a Blu-ray disc, or the like.

在记录视频或音频时,选择器946选择从调谐器941或编码器943输入的编码比特流,把选择的编码比特流输出给HDD 944或者光盘驱动器945。另外,在再现视频或音频时,选择器946把从HDD 944或者光盘驱动器945输入的编码比特流输出给解码器947。When recording video or audio, the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 and outputs the selected encoded bit stream to the HDD 944 or the optical disc drive 945. In addition, when reproducing video or audio, the selector 946 outputs the encoded bit stream input from the HDD 944 or the optical disc drive 945 to the decoder 947.

解码器947解码编码比特流,产生视频数据和音频数据。随后,解码器947把产生的视频数据输出给OSD 948。另外,解码器904把产生的音频数据输出给外部扬声器。The decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. In addition, the decoder 904 outputs the generated audio data to an external speaker.

OSD 948再现从解码器947输入的视频数据,从而显示视频。另外,OSD 948可把GUI的图像,比如菜单、按钮、光标等,重叠在显示的视频上。The OSD 948 reproduces the video data input from the decoder 947, thereby displaying the video. In addition, the OSD 948 may overlay an image of a GUI such as a menu, a button, a cursor, etc., on the displayed video.

控制部分949包括诸如CPU之类的处理器,和诸如RAM或ROM之类的存储器。存储器保存由CPU执行的程序、程序数据等。当启动记录/再现设备940时,CPU读取并执行保存在存储器中的程序。CPU通过执行程序,按照从用户接口950输入的操作信号,控制记录/再现设备940的操作。The control section 949 includes a processor such as a CPU and a memory such as a RAM or ROM. The memory stores programs executed by the CPU, program data, and the like. When the recording/reproducing device 940 is activated, the CPU reads and executes the program stored in the memory. By executing the program, the CPU controls the operation of the recording/reproducing device 940 in accordance with operation signals input from the user interface 950.

用户接口950连接到控制部分949。用户接口950包括由用户用于操作记录/再现设备940的按钮和开关,和遥控信号的接收部分。用户接口950检测用户借助这些构成元件的操作,产生操作信号,并把产生的操作信号输出给控制部分949。The user interface 950 is connected to the control section 949. The user interface 950 includes buttons and switches used by the user to operate the recording/reproducing device 940, and a remote control signal receiving section. The user interface 950 detects the user's operation through these components, generates an operation signal, and outputs the generated operation signal to the control section 949.

在按照这种方式构成的记录/再现设备940中,编码器943具有按照上述实施例的图像编码设备10的功能。另外,解码器947具有按照上述实施例的图像解码设备60的功能。因而,在记录/再现设备940中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。In the recording/reproducing device 940 configured in this manner, the encoder 943 has the function of the image encoding device 10 according to the above-described embodiment. In addition, the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment. Therefore, even when encoding and decoding images in the recording/reproducing device 940, the parallelism of the deblocking filter processing can be enhanced, thereby ensuring high-speed processing.

[7-4.第四例证应用][7-4. Fourth Example Application]

图47是表示采用上述实施例的摄像设备的示意结构的例子的方框图。摄像设备960拍摄被摄物体的图像,产生图像,编码图像数据,并把图像数据记录在记录介质中。Fig. 47 is a block diagram showing an example of a schematic configuration of an image pickup apparatus according to the above embodiment. The image pickup apparatus 960 captures an image of a subject, generates an image, encodes the image data, and records the image data in a recording medium.

摄像设备960包括光学部件961、摄像部分962、信号处理部分963、图像处理部分964、显示部分965、外部接口966、存储器967、介质驱动器968、OSD 969、控制部分970、用户接口971和总线972。The imaging apparatus 960 includes an optical component 961 , an imaging section 962 , a signal processing section 963 , an image processing section 964 , a display section 965 , an external interface 966 , a memory 967 , a media drive 968 , an OSD 969 , a control section 970 , a user interface 971 , and a bus 972 .

光学部件961连接到摄像部分962。摄像部分962连接到信号处理部分963。显示部分965连接到图像处理部分964。用户接口971连接到控制部分970。总线972互连图像处理部分964、外部接口966、存储器967、介质驱动器968、OSD 969和控制部分970。The optical component 961 is connected to the camera section 962. The camera section 962 is connected to the signal processing section 963. The display section 965 is connected to the image processing section 964. The user interface 971 is connected to the control section 970. The bus 972 interconnects the image processing section 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control section 970.

光学部件961包括聚焦透镜、孔径光阑机构等。光学部件961在摄像部分962的摄像面上,形成被摄物体的光学图像。摄像部分962包括诸如CCD、CMOS之类的图像传感器,利用光电转换,把在摄像面上形成的光学图像转换成作为电信号的图像信号。随后,摄像部分962把图像信号输出给信号处理部分963。The optical components 961 include a focusing lens, an aperture stop mechanism, and other components. These components form an optical image of the subject on the imaging plane of the imaging section 962. The imaging section 962 includes an image sensor such as a CCD or CMOS sensor, and uses photoelectric conversion to convert the optical image formed on the imaging plane into an electrical image signal. The imaging section 962 then outputs the image signal to the signal processing section 963.

信号处理部分963对从摄像部分962输入的图像信号,进行各种摄像机信号处理,比如拐点校正、γ校正、颜色校正等。信号处理部分963把摄像机信号处理后的图像数据输出给图像处理部分964。The signal processing section 963 performs various camera signal processing such as knee correction, gamma correction, color correction, etc. on the image signal input from the imaging section 962 . The signal processing section 963 outputs image data after the camera signal processing to the image processing section 964 .

图像处理部分964编码从信号处理部分963输入的图像数据,产生编码数据。随后,图像处理部分964把产生的编码数据输出给外部接口966或介质驱动器968。另外,图像处理部分964解码从外部接口966或介质驱动器968输入的编码数据,从而产生图像数据。随后,图像处理部分964把产生的图像数据输出给显示部分965。另外,图像处理部分964可把从信号处理部分963输入的图像数据输出给显示部分965,从而使图像被显示。此外,图像处理部分964可把从OSD 969获得的显示数据重叠在待输出给显示部分965的图像上。The image processing section 964 encodes the image data input from the signal processing section 963 to generate encoded data. The image processing section 964 then outputs the generated encoded data to the external interface 966 or the media drive 968. Furthermore, the image processing section 964 decodes the encoded data input from the external interface 966 or the media drive 968 to generate image data. The image processing section 964 then outputs the generated image data to the display section 965. Furthermore, the image processing section 964 may output the image data input from the signal processing section 963 to the display section 965, causing an image to be displayed. Furthermore, the image processing section 964 may overlay display data obtained from the OSD 969 on the image to be output to the display section 965.

OSD 969产生GUI的图像,比如菜单、按钮、光标等,并把产生的图像输出给图像处理部分964。The OSD 969 generates images of the GUI, such as menus, buttons, cursors, and the like, and outputs the generated images to the image processing section 964 .

外部接口966被配置成例如USB输入/输出端子。例如在打印图像时,外部接口966连接摄像设备960和打印机。另外,酌情把驱动器连接到外部接口966。诸如磁盘、光盘之类的可拆卸介质安装在驱动器中,从可拆卸介质读取的程序可被安装在摄像设备960中。此外,外部接口966可被配置成待连接到诸如LAN、因特网之类的网络的网络接口。即,外部接口966充当摄像设备960的传输装置。The external interface 966 is configured as, for example, a USB input/output terminal. For example, when printing an image, the external interface 966 connects the imaging device 960 and a printer. A drive may also be connected to the external interface 966 as appropriate. Removable media such as magnetic disks and optical disks can be installed in the drive, and programs read from the removable media can be installed in the imaging device 960. Furthermore, the external interface 966 can be configured as a network interface for connecting to a network such as a LAN or the Internet. In other words, the external interface 966 functions as a transmission device for the imaging device 960.

待安装在介质驱动器968上的记录介质可以是任意可读和可写的可拆卸介质,比如磁盘、磁光盘、光盘、半导体存储器等。另外,记录介质可被固定地安装在介质驱动器968上,构成诸如内置硬盘驱动器或SSD(固态驱动器)之类的不可移植存储部分。The recording medium to be mounted on the media drive 968 may be any readable and writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, a semiconductor memory, etc. In addition, the recording medium may be fixedly mounted on the media drive 968, constituting a non-removable storage section such as a built-in hard disk drive or an SSD (Solid State Drive).

控制部分970包括诸如CPU之类的处理器,和诸如RAM或ROM之类的存储器。存储器保存将由CPU执行的程序,程序数据等。在启动摄像设备960时,CPU读取并执行保存在存储器中的程序。CPU通过执行程序,按照从用户接口971输入的操作信号,控制摄像设备960的操作。The control section 970 includes a processor such as a CPU and a memory such as RAM or ROM. The memory stores programs to be executed by the CPU, program data, and the like. When the imaging device 960 is activated, the CPU reads and executes the program stored in the memory. By executing the program, the CPU controls the operation of the imaging device 960 in accordance with operation signals input from the user interface 971.

用户接口971连接到控制部分970。用户接口971包括由用户用于操作摄像设备960的按钮、开关等。用户接口971检测用户借助这些构成元件的操作,产生操作信号,并把产生的操作信号输出给控制部分970。The user interface 971 is connected to the control section 970. The user interface 971 includes buttons, switches, and the like used by the user to operate the imaging device 960. The user interface 971 detects user operations via these constituent elements, generates an operation signal, and outputs the generated operation signal to the control section 970.

在按照这种方式构成的摄像设备960中,图像处理部分964具有按照上述实施例的图像编码设备10和图像解码设备60的功能。因而,在摄像设备960中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。In the camera 960 configured in this manner, the image processing section 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Therefore, even when encoding and decoding images in the camera 960, the parallelism of the deblocking filter processing can be enhanced, thereby ensuring high-speed processing.

<8.总结>8. Summary

参考图1-47,说明了按照实施例的图像编码设备10和图像解码设备60的去块滤波器的3个实施例。这3个实施例减轻了现有技术固有的去块滤波器处理的依存关系。这可改善当应用去块滤波器时的处理的并行度。结果,能够避免由去块滤波器的较大处理量引起的延迟或数据速率的降低,从而确保高速处理。可按照诸如图像大小或安装环境之类的各种条件,灵活地设定去块滤波器处理的并行度和顺序。Referring to Figures 1-47, three embodiments of deblocking filters for an image encoding device 10 and an image decoding device 60 according to the present invention are described. These three embodiments alleviate the dependencies inherent in deblocking filter processing in the prior art. This improves the parallelism of processing when applying the deblocking filter. As a result, delays or data rate reductions caused by the large processing volume of the deblocking filter can be avoided, thereby ensuring high-speed processing. The parallelism and order of deblocking filter processing can be flexibly set according to various conditions such as image size and installation environment.

按照第一实施例,当对于垂直边界和水平边界之一,判定是否需要滤波时,跨越图像内的多个宏块,参考提供给去块滤波器的输入图像的像素值。结果将减轻宏块或编码单位之间的处理的依存关系。于是,能够跨越多个宏块,或者图像内的所有宏块(如果使并行度达到最大的话),并行滤波需要判定处理。According to the first embodiment, when determining whether filtering is required for either a vertical boundary or a horizontal boundary, pixel values of the input image provided to the deblocking filter are referenced across multiple macroblocks within the image. This reduces processing dependencies between macroblocks or coding units. Therefore, it is possible to perform parallel filtering requirement determination processing across multiple macroblocks, or even all macroblocks within the image (if parallelism is maximized).

按照第二实施例,进行对于每个块的垂直边界和水平边界,是否需要滤波的判定,而不等待把去块滤波器应用于该块属于的宏块中的其它块。这减轻宏块或编码单位中的垂直边界和水平边界之间的处理的依存关系。因而,能够在宏块中,并行对于垂直边界和水平边界的滤波需要判定处理。According to the second embodiment, whether filtering is required for each block's vertical and horizontal boundaries is determined without waiting for the deblocking filter to be applied to other blocks in the macroblock to which the block belongs. This reduces the processing dependencies between vertical and horizontal boundaries within a macroblock or coding unit. Consequently, filtering requirement determination processing for vertical and horizontal boundaries can be performed in parallel within a macroblock.

按照第三实施例,对于垂直边界和水平边界的滤波处理对输入去块滤波器的像素滤波。这种结构可以使对于垂直边界和水平边界的滤波处理相互并行。这可进一步加速去块滤波器的处理。就利用并行进行的两个滤波处理更新的像素来说,根据两个滤波器输出,计算输出像素值。使两个滤波处理并行还可适当减小在垂直边界和水平边界出现的块失真。输出像素值可被计算为两个滤波器输出的加权平均值。这可使去块滤波器更有效地消除块失真,从而进一步改善图像质量。According to the third embodiment, the filtering processes for vertical and horizontal boundaries filter the pixels input to the deblocking filter. This structure allows the filtering processes for vertical and horizontal boundaries to be performed in parallel. This further accelerates the deblocking filter processing. For pixels updated by the two parallel filtering processes, the output pixel value is calculated based on the two filter outputs. Parallelizing the two filtering processes can also appropriately reduce block distortion at vertical and horizontal boundaries. The output pixel value can be calculated as a weighted average of the two filter outputs. This allows the deblocking filter to more effectively eliminate block distortion, thereby further improving image quality.

本说明书主要说明了其中对于垂直边界的滤波处理在对于水平边界的滤波处理之前的例子。另外,按照本公开的技术的上述效果同样适用于其中对于水平边界的滤波处理在对于垂直边界的滤波处理之前的情况。可不同于说明书中所述地确定去块滤波器处理单位或宏块的大小。一种可行的技术可以省略滤波需要判定处理,并且并行化对于垂直边界和水平边界的去块滤波器的应用。This specification primarily describes an example in which filtering for vertical boundaries precedes filtering for horizontal boundaries. Furthermore, the aforementioned effects of the techniques disclosed herein also apply to cases in which filtering for horizontal boundaries precedes filtering for vertical boundaries. The size of the deblocking filter processing unit or macroblock may be determined differently from that described in this specification. A feasible technique is to omit the filtering necessity determination process and parallelize the application of the deblocking filter to vertical and horizontal boundaries.

把用于去块滤波器处理并行化的信息从编码方传送给解码方的技术并不局限于把所述信息多路复用到编码流报头中的技术。例如,所述信息可不被多路复用到编码比特流,而是可作为与编码比特流相关的独立数据被传送或记录。术语“关联”意味确保使包含在比特流中的图像(或者图像的一部分,比如切片或块)与对应于该图像的信息相联系的可能性。即,可通过与用于图像(或者比特流)的传输路径不同的传输路径传送所述信息。所述信息可被记录在与用于图像(或者比特流)的记录介质不同的记录介质(或者相同记录介质上的不同记录区域)上。可根据诸如多帧、一帧、一帧的一部分的任何单位,使信息和图像(或者比特流)彼此相关。The technology for transmitting information for parallelizing the deblocking filter process from the encoder to the decoder is not limited to the technology for multiplexing the information into the coded stream header. For example, the information may not be multiplexed into the coded bit stream, but may be transmitted or recorded as independent data related to the coded bit stream. The term "association" means ensuring the possibility of associating an image (or a part of an image, such as a slice or a block) contained in the bit stream with the information corresponding to the image. That is, the information can be transmitted via a transmission path different from the transmission path used for the image (or bit stream). The information can be recorded on a recording medium different from the recording medium used for the image (or bit stream) (or a different recording area on the same recording medium). The information and the image (or bit stream) can be associated with each other based on any unit such as multiple frames, a frame, or a part of a frame.

上面参考附图,说明了本发明的优选实施例,然而,本发明当然并不局限于上述例子。本领域的技术人员可得出在附加权利要求的范围内的各种变更和修改,应理解这些变更和修改自然都在本发明的技术范围之内。The preferred embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is certainly not limited to the above examples. Those skilled in the art may derive various changes and modifications within the scope of the appended claims, and it should be understood that these changes and modifications are naturally within the technical scope of the present invention.

本说明书把对于垂直边界的滤波处理表示成“水平滤波”,把对于水平边界的滤波处理表示成“垂直滤波”。通常,对于垂直边界的滤波处理利用水平布置的滤波器抽头。对于水平边界的滤波处理利用垂直布置的滤波器抽头。因此,对于滤波处理,使用了上述术语。This specification refers to filtering for vertical boundaries as "horizontal filtering," and filtering for horizontal boundaries as "vertical filtering." Typically, filtering for vertical boundaries utilizes horizontally arranged filter taps. Filtering for horizontal boundaries utilizes vertically arranged filter taps. Therefore, the above terminology is used for filtering.

附图标记列表Reference Signs List

10,60 图像处理设备10,60 Image processing equipment

112,212 第一判定部分(垂直边界判定部分)112,212 First judgment part (vertical boundary judgment part)

116,216 第二判定部分(水平边界判定部分)116,216 Second judgment part (horizontal boundary judgment part)

132 第一滤波部分(水平滤波部件)132 first filtering part (horizontal filtering component)

142 第二一滤波部分(垂直滤波部件)142 Second filtering part (vertical filtering component)

150 并行化控制部分150 Parallelization Control Section

Claims (16)

1.一种图像处理装置,包括:1. An image processing apparatus, comprising: 解码部,对比特流进行解码以生成图像;The decoding unit decodes the bitstream to generate an image; 水平滤波部,跨越多个垂直边界,以在针对多个所述垂直边界的水平方向的去块滤波器之间不存在与垂直方向的去块滤波器相伴的处理的依存关系的状态,应用所述水平方向的去块滤波器,所述垂直边界是通过所述解码部生成的图像内的块之间的垂直边界,所述水平方向的去块滤波器以位于所述垂直边界附近的像素为对象;以及A horizontal filtering unit, spanning multiple vertical boundaries, applies the horizontal deblocking filter in a state where there is no processing dependency between the horizontal deblocking filters targeting the multiple vertical boundaries and the vertical deblocking filters in the vertical direction. The vertical boundaries are the vertical boundaries between blocks within the image generated by the decoding unit, and the horizontal deblocking filter targets pixels located near the vertical boundaries. 垂直滤波部,跨越多个水平边界,应用垂直方向的去块滤波器,所述水平边界是包括通过所述水平滤波部被应用了所述水平方向的去块滤波器的像素的图像内的块之间的水平边界,所述垂直方向的去块滤波器以位于所述水平边界附近的像素为对象。A vertical filtering section, spanning multiple horizontal boundaries, applies a vertical deblocking filter. The horizontal boundaries are horizontal boundaries between blocks within an image that include pixels to which the horizontal deblocking filter has been applied by the horizontal filtering section. The vertical deblocking filter targets pixels located near the horizontal boundaries. 2.根据权利要求1所述的图像处理装置,其中2. The image processing apparatus according to claim 1, wherein 所述水平滤波部以在通过所述解码部生成的图像的图片内位于被判定为要被应用所述水平方向的去块滤波器的全部的垂直边界附近的像素为对象,来应用所述水平方向的去块滤波器。The horizontal filtering unit applies the horizontal deblocking filter to pixels located near all vertical boundaries of the image generated by the decoding unit. 3.根据权利要求2所述的图像处理装置,其中3. The image processing apparatus according to claim 2, wherein 所述垂直滤波部以在通过所述水平滤波部被应用了去块滤波器的图像的图片内位于被判定为要被应用所述垂直方向的去块滤波器的全部的水平边界附近的像素为对象,来应用所述垂直方向的去块滤波器。The vertical filtering unit applies the vertical deblocking filter to pixels located near all horizontal boundaries of an image in which the deblocking filter is determined to be applied. 4.根据权利要求3所述的图像处理装置,其中4. The image processing apparatus according to claim 3, wherein 所述水平滤波部以使得对于块之间相邻的多个所述垂直边界的所述水平方向的去块滤波器彼此不产生依存关系的方式,以在作为所述水平方向的去块滤波器的处理对象的多个块之间不存在与垂直方向的去块滤波器相伴的处理的所述依存关系的状态,应用所述水平方向的去块滤波器,The horizontal filtering unit applies the horizontal deblocking filter in a manner that ensures that the horizontal deblocking filters for the multiple adjacent vertical boundaries between blocks do not depend on each other, so that there is no dependency between the processing of the horizontal deblocking filters and the processing of the vertical deblocking filters among the multiple blocks that are the processing targets of the horizontal deblocking filters. 所述垂直滤波部以使得对于块之间相邻的多个所述水平边界的所述垂直方向的去块滤波器彼此不产生依存关系的方式,应用所述垂直方向的去块滤波器。The vertical filtering unit applies the vertical deblocking filter in such a way that the vertical deblocking filters for the multiple adjacent horizontal boundaries between blocks do not depend on each other. 5.根据权利要求4所述的图像处理装置,其中5. The image processing apparatus according to claim 4, wherein 所述水平滤波部在对于块之间相邻的多个所述垂直边界的所述水平方向的去块滤波器彼此间使用不重复的抽头长度来应用所述水平方向的去块滤波器,The horizontal filtering section applies the horizontal deblocking filters to each other using non-repeating tap lengths for the horizontal deblocking filters of the plurality of adjacent vertical boundaries between blocks. 所述垂直滤波部在对于块之间相邻的多个所述水平边界的所述垂直方向的去块滤波器彼此间使用不重复的抽头长度来应用所述垂直方向的去块滤波器。The vertical filtering section applies the vertical deblocking filter to each other using non-repeating tap lengths for the vertical deblocking filters of the plurality of adjacent horizontal boundaries between blocks. 6.根据权利要求1所述的图像处理装置,其中6. The image processing apparatus according to claim 1, wherein 所述水平滤波部并行地应用所述水平方向的去块滤波器,The horizontal filtering section applies the horizontal deblocking filter in parallel. 所述垂直滤波部并行地应用所述垂直方向的去块滤波器。The vertical filtering section applies the vertical deblocking filter in parallel. 7.根据权利要求1所述的图像处理装置,其中7. The image processing apparatus according to claim 1, wherein 所述块的块大小为8×8,The block size is 8×8. 所述垂直边界的长度为8像素,The length of the vertical boundary is 8 pixels. 所述水平边界的长度为8像素。The length of the horizontal boundary is 8 pixels. 8.根据权利要求1所述的图像处理装置,其中8. The image processing apparatus according to claim 1, wherein 所述解码部按照每个从最大编码单位分割的编码单位,对所述比特流进行解码以生成图像。The decoding unit decodes the bitstream according to each encoding unit divided from the largest encoding unit to generate an image. 9.一种图像处理方法,包括:9. An image processing method, comprising: 解码步骤,对比特流进行解码以生成图像;The decoding step involves decoding the bitstream to generate an image; 水平滤波步骤,跨越多个垂直边界,以在针对多个所述垂直边界的水平方向的去块滤波器之间不存在与垂直方向的去块滤波器相伴的处理的依存关系的状态,应用所述水平方向的去块滤波器,所述垂直边界是通过所述解码步骤生成的图像内的块之间的垂直边界,所述水平方向的去块滤波器以位于所述垂直边界附近的像素为对象;以及A horizontal filtering step, spanning multiple vertical boundaries, applies the horizontal deblocking filter in a state where there is no processing dependency between the horizontal deblocking filters applied to the multiple vertical boundaries and the vertical deblocking filters applied to the vertical boundaries. The vertical boundaries are the vertical boundaries between blocks within the image generated by the decoding step, and the horizontal deblocking filter targets pixels located near the vertical boundaries. 垂直滤波步骤,跨越多个水平边界,应用垂直方向的去块滤波器,所述水平边界是包括通过所述水平滤波步骤被应用了所述水平方向的去块滤波器的像素的图像内的块之间的水平边界,所述垂直方向的去块滤波器以位于所述水平边界附近的像素为对象。The vertical filtering step applies a vertical deblocking filter across multiple horizontal boundaries, whereby the horizontal boundaries are horizontal boundaries between blocks within an image that include pixels to which the horizontal deblocking filter has been applied in the horizontal filtering step, and the vertical deblocking filter targets pixels located near the horizontal boundaries. 10.根据权利要求9所述的图像处理方法,其中10. The image processing method according to claim 9, wherein 在所述水平滤波步骤中,以在通过所述解码步骤生成的图像的图片内位于被判定为要被应用所述水平方向的去块滤波器的全部的垂直边界附近的像素为对象,来应用所述水平方向的去块滤波器。In the horizontal filtering step, the horizontal deblocking filter is applied to pixels within the image generated by the decoding step that are located near all the vertical boundaries of the image to which the horizontal deblocking filter is determined to be applied. 11.根据权利要求10所述的图像处理方法,其中11. The image processing method according to claim 10, wherein 在所述垂直滤波步骤中,以在通过所述水平滤波步骤被应用了去块滤波器的图像的图片内位于被判定为要被应用所述垂直方向的去块滤波器的全部的水平边界附近的像素为对象,来应用所述垂直方向的去块滤波器。In the vertical filtering step, the vertical deblocking filter is applied to pixels within the image of the image to which the deblocking filter has been applied in the horizontal filtering step, which are located near all the horizontal boundaries of the image that are determined to be to be applied to the vertical deblocking filter. 12.根据权利要求11所述的图像处理方法,其中12. The image processing method according to claim 11, wherein... 在所述水平滤波步骤中,以使得对于块之间相邻的多个所述垂直边界的所述水平方向的去块滤波器彼此不产生依存关系的方式,以在作为所述水平方向的去块滤波器的处理对象的多个块之间不存在与垂直方向的去块滤波器相伴的处理的所述依存关系的状态,应用所述水平方向的去块滤波器,In the horizontal filtering step, the horizontal deblocking filters are applied in such a way that the horizontal deblocking filters for the multiple adjacent vertical boundaries between blocks do not depend on each other, so that there is no dependency between the multiple blocks that are the processing objects of the horizontal deblocking filters and the processing associated with the vertical deblocking filters. 在所述垂直滤波步骤中,以使得对于块之间相邻的多个所述水平边界的所述垂直方向的去块滤波器彼此不产生依存关系的方式,应用所述垂直方向的去块滤波器。In the vertical filtering step, the vertical deblocking filter is applied in such a way that the vertical deblocking filters for the multiple adjacent horizontal boundaries between blocks do not depend on each other. 13.根据权利要求12所述的图像处理方法,其中13. The image processing method according to claim 12, wherein... 在所述水平滤波步骤中,在对于块之间相邻的多个所述垂直边界的所述水平方向的去块滤波器彼此间使用不重复的抽头长度来应用所述水平方向的去块滤波器,In the horizontal filtering step, the horizontal deblocking filters for the multiple adjacent vertical boundaries between blocks are applied to each other using non-repeating tap lengths. 在所述垂直滤波步骤中,在对于块之间相邻的多个所述水平边界的所述垂直方向的去块滤波器彼此间使用不重复的抽头长度来应用所述垂直方向的去块滤波器。In the vertical filtering step, the vertical deblocking filters for the multiple adjacent horizontal boundaries between blocks are applied to each other using non-repeating tap lengths. 14.根据权利要求9所述的图像处理方法,其中14. The image processing method according to claim 9, wherein 在所述水平滤波步骤中,并行地应用所述水平方向的去块滤波器,In the horizontal filtering step, the horizontal deblocking filter is applied in parallel. 在所述垂直滤波步骤中,并行地应用所述垂直方向的去块滤波器。In the vertical filtering step, the vertical deblocking filter is applied in parallel. 15.根据权利要求9所述的图像处理方法,其中15. The image processing method according to claim 9, wherein 所述块的块大小为8×8,The block size is 8×8. 所述垂直边界的长度为8像素,The length of the vertical boundary is 8 pixels. 所述水平边界的长度为8像素。The length of the horizontal boundary is 8 pixels. 16.根据权利要求9所述的图像处理方法,其中16. The image processing method according to claim 9, wherein 在所述解码步骤中,按照每个从最大编码单位分割的编码单位,对所述比特流进行解码以生成图像。In the decoding step, the bitstream is decoded according to each encoding unit divided from the largest encoding unit to generate an image.
HK17106032.8A 2010-12-07 2013-10-31 Image processing device and image processing method HK1232703B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010-272907 2010-12-07
JP2011-004392 2011-01-12
JP2011-045651 2011-03-02
JP2011-117558 2011-05-26

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
HK13112261.2A Addition HK1184940B (en) 2010-12-07 2011-12-02 Image processing device and image processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
HK13112261.2A Division HK1184940B (en) 2010-12-07 2011-12-02 Image processing device and image processing method

Publications (3)

Publication Number Publication Date
HK1232703A HK1232703A (en) 2018-01-12
HK1232703A1 HK1232703A1 (en) 2018-01-12
HK1232703B true HK1232703B (en) 2020-04-24

Family

ID=

Similar Documents

Publication Publication Date Title
US11381846B2 (en) Image processing device and image processing method
US10931955B2 (en) Image processing device and image processing method that horizontal filtering on pixel blocks
HK1232703B (en) Image processing device and image processing method
HK1233094B (en) Image processing device and image processing method
HK1229110B (en) Image processing device and image processing method
HK1233094A1 (en) Image processing device and image processing method
HK1233094A (en) Image processing device and image processing method
HK1232703A1 (en) Image processing device and image processing method
HK1232703A (en) Image processing device and image processing method
HK1184940B (en) Image processing device and image processing method
HK1184940A (en) Image processing device and image processing method
HK1229110A1 (en) Image processing device and image processing method
HK1229110A (en) Image processing device and image processing method
HK1229977B (en) Image processing device and image processing method
HK1229977A1 (en) Image processing device and image processing method
HK1229977A (en) Image processing device and image processing method
HK1228620A1 (en) Image processing device and image processing method
HK1228620A (en) Image processing device and image processing method
HK1182865B (en) Image processing device and image processing method
HK1182865A (en) Image processing device and image processing method