HK1229110B - Image processing device and image processing method - Google Patents
Image processing device and image processing method Download PDFInfo
- Publication number
- HK1229110B HK1229110B HK17102716.0A HK17102716A HK1229110B HK 1229110 B HK1229110 B HK 1229110B HK 17102716 A HK17102716 A HK 17102716A HK 1229110 B HK1229110 B HK 1229110B
- Authority
- HK
- Hong Kong
- Prior art keywords
- horizontal
- vertical
- filtering
- unit
- deblocking filter
- Prior art date
Links
Description
本申请是同一申请人的申请日为2011年12月2日的、申请号为 201180057815.8(PCT/JP2011/077953)、发明名称为“图像处理设备和图像处理方法”的中国发明专利申请的分案申请。This application is a divisional application of the Chinese invention patent application filed by the same applicant with application number 201180057815.8 (PCT/JP2011/077953) filed on December 2, 2011, and with the 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像素的块的单位的块边界适用去块滤波器(deblocking filter)。去块滤波器要求大量的处理,并可以占到例如图像解码中整个处理量的50%。H.264/AVC, a standard for image coding schemes, applies a deblocking filter to block boundaries, for example, in units of 4×4 pixels, in order to prevent image quality degradation due to block distortion during image coding. The deblocking filter requires a large amount of processing and can account for, for example, 50% of the total processing load in image decoding.
致力于作为下一代图像编码系统的高效率的视频编码(HEVC) 的标准,根据JCTVC-A119(参见非专利文献1),提出了将去块滤波器适用于每个含有8×8像素以上的块的单位。JCTVC-A119中提出的技术增加了作为适用去块滤波器的最小单位的块尺寸,以在一个宏块内相同的方向的块边界并行执行滤波处理。JCTVC-A119 (see Non-Patent Document 1), a standard for High Efficiency Video Coding (HEVC) as a next-generation image coding system, proposes applying a deblocking filter to each block containing 8×8 pixels or more. The technology proposed in JCTVC-A119 increases the block size, the minimum unit for applying the deblocking filter, so that filtering is performed in parallel across block boundaries in the same direction within a macroblock.
引用列表Reference 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,2010年4月15-23日。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 Collaborative Team on Video Coding (JCT-VC), Dresden, Germany, April 15-23, 2010.
发明内容Summary of the Invention
技术问题Technical issues
然而,JCTVC-A119中提出的技术没有解决在垂直块边界上的处理与在水平块边界上的处理之间的依赖性。依然难以使在一个宏块(或者一个编码单位)内在不同方向的块边界上的并行处理能够进行,以及使宏块之间的并行处理能够进行。从而,上述技术无法成功解决当适用了去块滤波器时由于大处理量导致的延迟的问题和数据率的降低。However, the technology proposed in JCTVC-A119 does not resolve the dependency between processing at vertical block boundaries and processing at horizontal block boundaries. It remains difficult to enable parallel processing at block boundaries in different directions within a macroblock (or coding unit), as well as parallel processing between macroblocks. Consequently, the technology described above fails to successfully address the issues of delay and data rate reduction caused by the large amount of processing required when a deblocking filter is applied.
根据本公开的技术旨在提供一种当适用了去块滤波器时能够提供并行处理的图像处理设备和图像处理方法。The technology according to the present disclosure aims to provide an image processing device and an image processing method capable of providing parallel processing when a deblocking filter is applied.
解决问题的方案Solutions to the Problem
根据本公开的实施例,提供一种图像处理设备,包含:解码部,构成为从编码流解码图像;确定部,构成为执行确定处理,确定是否对在由解码部解码的图像内跨块边界而邻接的邻接块适用去块滤波器;滤波部,构成为对确定部已经确定为适用去块滤波器的邻接块适用去块滤波器;以及控制部,构成为使确定部使用重构图像的邻接块的像素作为参考像素,执行对于垂直块边界和水平块边界的确定处理。According to an embodiment of the present disclosure, there is provided an image processing apparatus comprising: a decoding unit configured to decode an image from a coded stream; a determination unit configured to perform determination processing to determine whether a deblocking filter is applicable to adjacent blocks that are adjacent across block boundaries within the image decoded by the decoding unit; a filtering unit configured to apply a deblocking filter to the adjacent blocks that the determination unit has determined as applicable to the deblocking filter; and a control unit configured to cause the determination unit to perform determination processing for vertical block boundaries and horizontal block boundaries using pixels of adjacent blocks of a reconstructed image as reference pixels.
图像处理设备可以典型地实现为用于对图像解码的图像解码设备。The image processing device may typically be implemented as an image decoding device for decoding an image.
此外,根据本公开的实施例,提供一种图像处理方法,包含:从编码流解码图像;执行确定处理,确定是否对在解码的图像内跨块边界而邻接的邻接块适用去块滤波器;对在确定处理中已被确定为适用去块滤波器的邻接块适用去块滤波器;以及以如下方式控制确定处理:使用重构图像的邻接块的像素作为参考像素,执行对于垂直块边界和水平块边界的确定处理。In addition, according to an embodiment of the present disclosure, there is provided an image processing method, comprising: decoding an image from a coded stream; performing a determination process to determine whether a deblocking filter is applicable to adjacent blocks that are adjacent across block boundaries within the decoded image; applying a deblocking filter to adjacent blocks that have been determined to be applicable to the deblocking filter in the determination process; and controlling the determination process in the following manner: using pixels of adjacent blocks of a reconstructed image as reference pixels, a determination process is performed for vertical block boundaries and horizontal block boundaries.
此外,根据本公开的实施例,提供一种图像处理设备,包含:确定部,构成为执行确定处理,确定在待编码的图像被编码时是否对被局部解码的图像内跨块边界而邻接的邻接块适用去块滤波器;滤波部,构成为对确定部已经确定为适用去块滤波器的邻接块适用去块滤波器;控制部,构成为使确定部使用重构图像的邻接块的像素作为参考像素,执行对于垂直块边界和水平块边界的确定处理;以及编码部,构成为使用由滤波部滤波的图像,将待编码的图像编码。In addition, according to an embodiment of the present disclosure, there is provided an image processing device, comprising: a determination unit configured to perform determination processing to determine whether a deblocking filter is applicable to adjacent blocks adjacent across block boundaries within a locally decoded image when the image to be encoded is encoded; a filtering unit configured to apply a deblocking filter to the adjacent blocks that the determination unit has determined to be applicable for the deblocking filter; a control unit configured to cause the determination unit to perform determination processing for vertical block boundaries and horizontal block boundaries using pixels of adjacent blocks of a reconstructed image as reference pixels; and an encoding unit configured to encode the image to be encoded using the image filtered by the filtering unit.
图像处理设备可以典型地实现为用于对图像编码的图像编码设备。The image processing apparatus may typically be implemented as an image encoding apparatus for encoding an image.
根据本公开的实施例,提供一种图像处理方法,包含:执行确定处理,确定在待编码的图像被编码时是否对被局部解码的图像内跨块边界而邻接的邻接块适用去块滤波器;对在确定处理中已被确定为适用去块滤波器的邻接块适用去块滤波器;以如下方式控制确定处理:使用重构图像的邻接块的像素作为参考像素,执行对于垂直块边界和水平块边界的确定处理;以及使用由去块滤波器滤波的图像,将待编码的图像编码。According to an embodiment of the present disclosure, there is provided an image processing method, comprising: performing a determination process to determine whether a deblocking filter is applicable to adjacent blocks that are adjacent across block boundaries within a locally decoded image when the image to be encoded is encoded; applying the deblocking filter to the adjacent blocks that have been determined to be applicable to the deblocking filter in the determination process; controlling the determination process in the following manner: using pixels of adjacent blocks of a reconstructed image as reference pixels, performing a determination process for vertical block boundaries and horizontal block boundaries; and encoding the image to be encoded using the image filtered by the deblocking filter.
发明的有利效果Advantageous Effects of the Invention
如上所述,根据本公开的图像处理设备和图像处理方法,当适用了去块滤波器时进一步改善了并行处理。As described above, according to the image processing apparatus and the image processing method of the present disclosure, parallel processing is further improved when the deblocking filter is applied.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是示出根据实施例的图像编码设备的配置的示例的框图。FIG. 1 is a block diagram showing an example of the configuration of an image encoding device according to an embodiment.
图2是示出根据实施例的图像解码设备的配置的示例的框图。FIG. 2 is a block diagram showing an example of the configuration of an image decoding device according to an embodiment.
图3是示出在边界周围的邻接像素的示例的说明图。FIG. 3 is an explanatory diagram showing an example of adjacent pixels around a boundary.
图4是示出根据现有技术的在滤波需要确定处理中的参考像素的说明图。FIG. 4 is an explanatory diagram showing reference pixels in filtering necessity determination processing according to the related art.
图5是示出由滤波处理更新的像素的说明图。FIG. 5 is an explanatory diagram showing pixels updated by the filtering process.
图6是示出用于说明实施例的边缘的标识的说明图。FIG. 6 is an explanatory diagram showing identification of edges for explaining the embodiment.
图7是示出根据现有技术的并行处理的说明图。FIG. 7 is an explanatory diagram showing parallel processing according to the related art.
图8是示出根据现有技术的处理之间的依赖性的第一说明图。FIG. 8 is a first explanatory diagram illustrating dependencies between processes according to the related art.
图9是示出根据现有技术的处理之间的依赖性的第二说明图。FIG. 9 is a second explanatory diagram illustrating dependencies between processes according to the related art.
图10是示出根据现有技术的处理的顺序的说明图。FIG. 10 is an explanatory diagram showing the sequence of processing according to the related art.
图11是示出根据第一工作例的在滤波需要确定处理中的参考像素的第一说明图。FIG. 11 is a first explanatory diagram showing reference pixels in filtering necessity determination processing according to the first working example.
图12是示出根据第一工作例的在滤波需要确定处理中的参考像素的第二说明图。FIG. 12 is a second explanatory diagram illustrating reference pixels in the filtering necessity determination process according to the first working example.
图13是示出处理顺序的第一示例的说明图。FIG. 13 is an explanatory diagram showing a first example of the processing sequence.
图14是示出处理顺序的第二示例的说明图。FIG. 14 is an explanatory diagram showing a second example of the processing sequence.
图15是示出根据第一工作例的去块滤波器的详细配置的框图。FIG15 is a block diagram showing a detailed configuration of a deblocking filter according to the first working example.
图16是示出确定部的详细配置的框图。FIG16 is a block diagram showing a detailed configuration of a determination section.
图17是示出片边界周围的邻接块的说明图。FIG. 17 is an explanatory diagram showing adjacent blocks around a slice boundary.
图18是示出对于每个片的处理的顺序的第一示例的说明图。FIG. 18 is an explanatory diagram showing a first example of the order of processing for each slice.
图19是示出对于每个片的处理的顺序的第二示例的说明图。FIG. 19 is an explanatory diagram showing a second example of the order of processing for each slice.
图20是示出根据实施例的去块滤波器的处理流程的第一示例的流程图。FIG. 20 is a flowchart illustrating a first example of a processing flow of a deblocking filter according to an embodiment.
图21是示出根据实施例的去块滤波器的处理流程的第二示例的流程图。FIG. 21 is a flowchart illustrating a second example of the processing flow of the deblocking filter according to the embodiment.
图22是示出根据实施例的滤波需要确定处理的流程的流程图。FIG. 22 is a flowchart illustrating the flow of filtering necessity determination processing according to an embodiment.
图23是示出根据第二工作例的去块滤波器的详细配置的框图。FIG23 is a block diagram showing a detailed configuration of a deblocking filter according to the second working example.
图24是示出由第二工作例提供的确定技术的第一和第二示例的说明图。FIG. 24 is an explanatory diagram showing first and second examples of the determination technique provided by the second working example.
图25是示出由第二工作例提供的确定技术的第三和第四示例的说明图。FIG. 25 is an explanatory diagram showing third and fourth examples of the determination technique provided by the second working example.
图26是示出由第二工作例提供的确定技术的第五和第六示例的说明图。FIG. 26 is an explanatory diagram showing fifth and sixth examples of the determination technique provided by the second working example.
图27是示出对于每个LCU的处理顺序的说明图。FIG. 27 is an explanatory diagram showing the processing order for each LCU.
图28是示出对于每个LCU的处理流程的流程图。FIG28 is a flowchart showing the flow of processing for each LCU.
图29是示出第三工作例的概要的说明图。FIG29 is an explanatory diagram showing an outline of the third operation example.
图30是示出根据第三工作例的去块滤波器的详细配置的框图。FIG30 is a block diagram showing a detailed configuration of a deblocking filter according to the third working example.
图31是示出对于加权平均的加权的确定的说明图。FIG. 31 is an explanatory diagram showing determination of weights for weighted averaging.
图32是示出对于加权平均的加权的示例的说明图。FIG. 32 is an explanatory diagram showing an example of weighting for weighted averaging.
图33是示出根据第三工作例的来自计算部的输出像素值的说明图。FIG33 is an explanatory diagram showing output pixel values from the calculation section according to the third working example.
图34是示出用于比较的处理顺序的第一示例的说明图。FIG. 34 is an explanatory diagram showing a first example of a processing sequence for comparison.
图35是示出由第三工作例提供的处理顺序的第一示例的说明图。FIG35 is an explanatory diagram showing a first example of a processing sequence provided by the third operation example.
图36是示出用于比较的处理顺序的第二示例的说明图。FIG. 36 is an explanatory diagram showing a second example of the processing sequence for comparison.
图37是示出由第三工作例提供的处理顺序的第二示例的说明图。FIG37 is an explanatory diagram showing a second example of the processing sequence provided by the third operation example.
图38是示出根据第三工作例的去块滤波器的处理流程的第一示例的流程图。FIG38 is a flowchart showing a first example of the processing flow of the deblocking filter according to the third working example.
图39是示出图38所示的像素值计算处理的流程的流程图。FIG39 is a flowchart showing the flow of the pixel value calculation processing shown in FIG38 .
图40是示出多视图编解码器(multiview codec)的说明图。FIG40 is an explanatory diagram showing a multiview codec.
图41是示出适用于多视图编解码器的根据实施例的图像编码处理的说明图。FIG. 41 is an explanatory diagram showing an image encoding process according to an embodiment applied to a multi-view codec.
图42是示出适用于多视图编解码器的根据实施例的图像解码处理的说明图。FIG42 is an explanatory diagram showing an image decoding process according to an embodiment applied to a multi-view codec.
图43是示出可扩展编解码器(scalable codec)的说明图。FIG43 is an explanatory diagram showing a scalable codec.
图44是示出适用于可扩展编解码器的根据实施例的图像编码处理的说明图。FIG44 is an explanatory diagram showing an image encoding process according to an embodiment applied to a scalable codec.
图45是示出适用于可扩展编解码器的根据实施例的图像解码处理的说明图。FIG45 is an explanatory diagram showing an image decoding process according to an embodiment applied to a scalable codec.
图46是示出电视装置的概要配置的框图。FIG46 is a block diagram showing a schematic configuration of a television device.
图47是示出移动电话的概要配置的框图。FIG47 is a block diagram showing an outline configuration of a mobile phone.
图48是示出记录/再现设备的概要配置的框图。FIG48 is a block diagram showing an outline configuration of a recording/reproducing apparatus.
图49是示出图像捕获设备的概要配置的框图。FIG49 is a block diagram showing an outline configuration of an image capturing device.
附图标记列表Reference Signs List
10、60 图像处理设备10, 60 Image processing equipment
112-1至112-n,212-1至212-n 第一确定部(垂直边界确定部)112-1 to 112-n, 212-1 to 212-n First determination unit (vertical boundary determination unit)
114-1至114-n,214-1至214-n 第二确定部(水平边界确定部)114-1 to 114-n, 214-1 to 214-n Second determination unit (horizontal boundary determination unit)
132-1至132-n,332-1至332-n 第一滤波部(水平滤波部)132-1 to 132-n, 332-1 to 332-n First filter section (horizontal filter section)
142-1至142-n,342-1至342-n 第二滤波部(垂直滤波部)142-1 to 142-n, 342-1 to 342-n Second filter section (vertical filter section)
150 并行化控制部150 Parallelization Control Unit
208 线存储器(存储器)208 lines of memory (memory)
360 计算部360 Computing Department
实施例的说明Description of the embodiments
以下,将参考附图来详细说明本发明的优选实施例。需要注意的是,在该说明书和附图中,具有实质相同的功能和结构的要素被标注了相同的标号,省略重复的解释。Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in this specification and the accompanying drawings, elements having substantially the same function and structure are labeled with the same reference numerals, and repeated explanations are omitted.
实施例的说明将以下面的顺序说明。The description of the embodiments will be given in the following order.
1.装置概要1. Device Overview
11.图像编码设备11. Image coding equipment
12.图像解码设备12. Image decoding equipment
2.现有技术2. Existing Technology
21.去块滤波器的基本配置21. Basic configuration of deblocking filter
22.根据现有技术的处理之间的依赖性22. Dependencies between processes according to the prior art
3.第一工作例3. First working example
31.去块滤波器配置示例31. Deblocking filter configuration example
32.处理流程32. Processing
4.第二工作例4. Second working example
41.去块滤波器配置示例41. Deblocking filter configuration example
42.处理流程42. Processing
43.对于每个LCU的处理示例43. Processing example for each LCU
5.第三工作例5. Third working example
51.概要51. Summary
52.去块滤波器配置示例52. Deblocking filter configuration example
53.处理顺序示例53. Processing Order Example
54.处理流程54.Processing Flow
6.对各种编解码器的应用6. Application of various codecs
61.多视图编解码器61.Multi-view codec
62.可扩展编解码器62. Scalable Codec
7.示例应用7. Sample Application
8.总结8. Summary
1.装置概要1. Device Overview
参考图1和2,下面说明本说明书公开的技术可适用的装置的概要。本说明书公开的技术能够适用于例如图像编码设备和图像解码设备。1 and 2 , the following describes an overview of a device to which the technology disclosed in this specification is applicable. The technology disclosed in this specification can be applied to, for example, an image encoding device and an image decoding device.
[11.图像编码设备][11. Image Coding Device]
图1是示出根据实施例的图像编码设备的配置的示例的框图。参考图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 configuration of an image encoding device according to an embodiment. Referring to FIG1 , the image encoding device 10 includes an A/D (analog to digital) conversion section 11, a reordering buffer 12, a subtraction section 13, an orthogonal transform section 14, a quantization section 15, a lossless encoding section 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 24a, 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 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 the images included in the series of image data input from the A/D conversion section 11. After reordering the images according to the GOP (Group of Pictures) structure of 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计算预测的误差数据,并将计算的预测的误差数据输出至正交变换部14,该误差数据是从重排缓冲器12输入的图像数据与从模式选择部50输入的预测的图像数据之间的差分。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 predicted 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 predicted error data to the orthogonal transformation section 14.
正交变换部14对从减法部13输入的预测的误差数据执行正交变换。由正交变换部14执行的正交变换例如可以是离散余弦变换(DCT) 或者卡洛南-洛伊变换(Karhunen-Loeve transform)。正交变换部14 将由正交变换处理获取的变换系数数据输出到量化部15。The orthogonal transform section 14 performs an orthogonal transform on the predicted 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 unit 15 and information on intra prediction or inter prediction generated by the intra prediction unit 30 or the motion estimation unit 40 and selected by the mode selection unit 50, as described later, are supplied to the lossless encoding unit 16. The information on intra prediction may include, for example, prediction mode information indicating the optimal intra prediction mode for each block. Furthermore, the information on inter prediction may include, for example, prediction mode information for motion vector prediction for each block, differential motion vector information, reference image information, and the like.
无损编码部16通过对量化数据执行无损编码处理,产生编码流。由无损编码部16进行的无损编码例如可以是可变长度编码或者算术编码。此外,无损编码部16将上述的有关帧内预测的信息或者有关帧间预测的信息复用至编码流的头部(例如块头部、片头部等)。然后,无损编码部16将产生的编码流输出至累加缓冲器17。The lossless encoding unit 16 generates a coded stream by performing lossless encoding on the quantized data. The lossless encoding performed by the lossless encoding unit 16 may be, for example, variable length coding or arithmetic coding. Furthermore, the lossless encoding unit 16 multiplexes the aforementioned information regarding intra-frame prediction or inter-frame prediction into the header of the coded stream (e.g., a block header, a slice header, etc.). The lossless encoding unit 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. The accumulation buffer 17 then outputs the accumulated encoded stream at a code rate corresponding to the frequency band of the transmission line (or output line from the image encoding device 10).
码率控制部18监控累加缓冲器17的可用空间。然后,码率控制部18根据累加缓冲器17的可用空间产生码率控制信号,并将产生的码率控制信号输出至量化部15。例如,当累加缓冲器17没有太多可用空间时,码率控制部18产生使量化数据的比特率降低的码率控制信号。另外,例如,当累加缓冲器17的可用空间充分大时,码率控制部 18产生使量化数据的比特率增加的码率控制信号。The rate control unit 18 monitors the available space in the accumulation buffer 17. It then generates a rate control signal based on the available space in the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, when there is not much available space in the accumulation buffer 17, the rate control unit 18 generates a rate control signal that reduces the bit rate of the quantized data. Alternatively, when there is sufficient available space in the accumulation buffer 17, the rate control unit 18 generates a rate control signal that increases the bit rate of the quantized data.
逆量化部21对从量化部15输入的量化数据执行逆量化处理。然后,逆量化部21将由逆量化处理获取的变换系数数据输出到逆正交变换部22。The inverse quantization section 21 performs an inverse quantization process on the quantized data input from the quantization section 15. Then, the inverse quantization section 21 outputs the transform coefficient data obtained by the inverse quantization process 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 predicted error data.
加法部23将从逆正交变换部22输入的恢复的预测的误差数据、与从模式选择部50输入的预测的图像数据相加,从而产生解码的图像数据。然后,加法部23将产生的解码的图像数据输出至去块滤波器 24a和帧存储器25。The addition unit 23 generates decoded image data by adding the restored predicted error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. The addition unit 23 then 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 processing 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 unit 23, and applies deblocking filtering to the boundaries 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 image data decoded from the addition unit 23. After filtering, block distortion is eliminated 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 unit 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 out the decoded image data before filtering for intra-frame prediction from the frame memory 25, and supplies the decoded image data thus read out as reference image data to the intra-frame prediction unit 30. Furthermore, the selector 26 reads out the decoded image data after filtering for inter-frame prediction from the frame memory 25, and supplies the decoded image data thus read out as reference image data to the motion estimation unit 40.
帧内预测部30基于从重排缓冲器12输入的要编码的图像数据、和经由选择器26提供的解码的图像数据,执行每个帧内预测模式的帧内预测处理。例如,帧内预测部30使用预定的成本函数,评价每个帧内预测模式的预测结果。然后,帧内预测部30选择成本函数值最小的帧内预测模式,即压缩率最高的帧内预测模式作为最佳帧内预测模式。此外,帧内预测部30向模式选择部50输出表明最佳帧内预测模式的预测模式信息、预测的图像数据、和诸如成本函数值等有关帧内预测的信息。The intra-frame prediction unit 30 performs intra-frame prediction processing for each intra-frame prediction mode based on the image data to be encoded input from the reordering buffer 12 and the decoded image data provided via the selector 26. For example, the intra-frame prediction unit 30 uses a predetermined cost function to evaluate the prediction results of each intra-frame prediction mode. The intra-frame prediction unit 30 then selects the intra-frame prediction mode with the smallest cost function value, that is, the intra-frame prediction mode with the highest compression rate, as the optimal intra-frame prediction mode. Furthermore, the intra-frame prediction unit 30 outputs prediction mode information indicating the optimal intra-frame prediction mode, the predicted image data, and information related to the intra-frame prediction, such as the cost function value, to the mode selection unit 50.
运动估计部40基于从重排缓冲器12提供的用于编码的图像数据、和经由选择器26提供的解码的图像数据,执行帧间预测处理(帧之间的预测处理)。例如,运动估计部40使用预定的成本函数,评价每个预测模式的预测结果。然后,运动估计部40选择最佳预测模式,即使成本函数值最小化或者使压缩率最大化的预测模式。运动估计部40 根据最佳预测模式,产生预测的图像数据。运动估计部40将诸如表明最佳帧内预测模式的预测模式信息、预测的图像数据、和成本函数值等有关帧间预测的信息输出至模式选择部50。The motion estimation unit 40 performs inter-frame prediction processing (prediction processing between frames) based on the image data for encoding provided from the reordering buffer 12 and the decoded image data provided via the selector 26. For example, the motion estimation unit 40 uses a predetermined cost function to evaluate the prediction results of each prediction mode. The motion estimation unit 40 then selects the optimal prediction mode, that is, the prediction mode that minimizes the cost function value or maximizes the compression rate. The motion estimation unit 40 generates predicted image data based on the optimal prediction mode. The motion estimation unit 40 outputs information related to 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 unit 50.
模式选择部50将从帧内预测部30输入的帧内预测相关的成本函数值、与从运动估计部40输入的帧间预测相关的成本函数值进行比较。然后,模式选择部50从帧内预测和帧间预测中选择具有较小成本函数值的预测方法。在选择了帧内预测的情况下,模式选择部50将有关帧内预测的信息输出至无损编码部16,并且,将预测的图像数据输出至减法部13和加法部23。在选择了帧间预测的情况下,模式选择部50将有关上述帧间预测的信息输出至无损编码部16,另外,将预测的图像数据输出至减法部13和加法部23。The mode selection unit 50 compares the cost function value related to intra-frame prediction input from the intra-frame prediction unit 30 with the cost function value related to inter-frame prediction input from the motion estimation unit 40. The mode selection unit 50 then selects the prediction method with the smaller cost function value from the intra-frame prediction and inter-frame prediction methods. If intra-frame prediction is selected, the mode selection unit 50 outputs information about the intra-frame prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23. If inter-frame prediction is selected, the mode selection unit 50 outputs information about the inter-frame prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
[12.图像解码设备][12. Image decoding device]
图2是示出根据实施例的图像解码设备60的配置的示例的框图。参考图2,图像解码设备60包含累加缓冲器61、无损解码部62、逆量化部63、逆正交变换部64、加法部65、去块滤波器24b、重排缓冲器67、D/A(数字至模拟)转换部68、帧存储器69、选择器70和71、帧内预测部80和运动补偿部90。2 is a block diagram showing an example of the configuration 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 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 unit 62 decodes the coded stream input from the accumulation buffer 61 according to the coding method used at the time of encoding. Furthermore, the lossless decoding unit 62 decodes information multiplexed into the header region of the coding process. This information multiplexed into the header region of the coding process may include, for example, information regarding intra-frame prediction and information regarding inter-frame prediction in the block header. The lossless decoding unit 62 outputs the intra-frame prediction information to the intra-frame prediction unit 80. Furthermore, the lossless decoding unit 62 outputs the inter-frame prediction information to the motion compensation unit 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 predicted error data by performing an inverse orthogonal transform on the transform coefficient data input from the inverse quantization section 63 according to the orthogonal transform method used in encoding. The inverse orthogonal transform section 64 then outputs the generated predicted error data to the addition section 65.
加法部65将从逆正交变换部64输入的预测的误差数据、与从选择器71输入的预测的图像数据相加,从而产生解码的图像数据。然后,加法部65将产生的解码的图像数据输出至去块滤波器24b和帧存储器 69。The addition unit 65 generates decoded image data by adding the predicted error data input from the inverse orthogonal transform unit 64 and the predicted image data input from the selector 71. The addition unit 65 then outputs the generated decoded image data to the deblocking filter 24b and the frame memory 69.
去块滤波器24b执行减少在解码的图像上出现的块失真的滤波处理。去块滤波器24b确定例如在对于从加法部65输入的解码的图像数据的每个块边界进行滤波的必要性,并对确定为要求滤波的边界适用去块滤波器。去块滤波器24b还被提供有用于确定滤波必要性的信息以及来自加法部65解码的图像数据。在滤波之后,从解码的图像数据消除了块失真,并且去块滤波器24b将解码的图像数据输出至重排缓冲器67和帧存储器69。之后将详细说明去块滤波器24b的处理。The deblocking filter 24b performs filtering processing 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 of the decoded image data input from the addition unit 65, and applies the deblocking filter to the boundaries determined to require filtering. 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 addition unit 65. After filtering, block distortion is eliminated 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 rearranges the image input from the deblocking filter 24 b to generate a time series of image data, and then outputs the generated image data to the D/A conversion unit 68 .
D/A转换部68将从重排缓冲器67输入的数字格式的图像数据转换为模拟格式的图像信号。然后,D/A转换部68通过将模拟图像信号输出至例如与图像解码设备60连接的显示器(未示出),使图像被显示。The D/A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. The D/A converter 68 then displays the image by outputting the analog image signal to a display (not shown) connected to the image decoding device 60, for example.
帧存储器69使用存储介质来存储从加法部65输入的滤波前的解码的图像数据、以及从去块滤波器24b输入的滤波后的解码的图像数据。The frame memory 69 stores the decoded image data before filtering input from the addition unit 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 unit 80 and the motion compensation unit 90 for each block in the image, based on the mode information obtained from the lossless decoding unit 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 to the intra prediction unit 80 as reference image data. Alternatively, when the inter prediction mode is specified, the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the motion compensation unit 90 as reference image data.
选择器71根据由无损解码部62获取的模式信息,对于图像中的每个块,在帧内预测部80与运动补偿部90之间切换要提供给加法部 65的预测的图像数据的输出源。例如,在指定了帧内预测模式的情况下,选择器71向加法部65提供从帧内预测部80输出的预测的图像数据。在指定了帧间预测模式的情况下,选择器71向加法部65提供从运动补偿部90输出的预测的图像数据。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, based on the mode information acquired by the lossless decoding section 62. For example, when 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. When 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 prediction),并产生预测的图像数据。然后,帧内预测部80将产生的预测的图像数据输出至选择器71。The intra prediction unit 80 performs intra-screen prediction of pixel values based on the information on intra prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. The intra prediction unit 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 and generates 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 configuration of deblocking filter]
一般而言,使用在诸如H.264/AVC或者HEVC等现有图像编码系统中的去块滤波器的处理包含两个类型的处理,即滤波需要确定处理和滤波处理。下面说明例如HEVC中的这两个处理。Generally speaking, the deblocking filter used in existing image coding systems such as H.264/AVC or HEVC includes two types of processing: filtering requirement determination processing and filtering processing. The following describes these two types of processing in HEVC, for example.
(1)滤波需要确定处理(1) Filtering requires certain processing
滤波需要确定处理确定是否需要将去块滤波器适用于输入图像内的块的每个边界。块边界包含彼此水平相邻的块之间的垂直边界、和彼此垂直相邻的块之间的水平边界。JCTVC-A119使用8×8像素的块尺寸作为最小处理单位。例如,16×16像素的宏块包含4个8×8像素的块。对于每个块,处理被适用于一个(左)垂直边界和一个(顶部) 水平边界,即4个边界加4个边界共计等于8个边界。说明书假定作为技术术语的宏块包含在HEVC的环境下的编码单位(CU)。The filtering needs to determine whether the deblocking filter needs to be applied to each boundary of the 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 contains 4 blocks of 8×8 pixels. For each block, the processing is applied to one (left) vertical boundary and one (top) horizontal boundary, that is, 4 boundaries plus 4 boundaries equals 8 boundaries in total. The specification assumes that macroblocks, which are technical terms, are included in coding units (CUs) in the environment of HEVC.
图3是示出边界周围彼此相邻的2个块(邻接块)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 blocks (adjacent blocks) Ba and Bb adjacent to each other around a boundary. The vertical boundary is described below as an example, and the description is obviously also applicable to horizontal boundaries. The example in FIG3 uses the symbol p ij to represent the pixels in block Ba. In this symbol, i represents the column index and j represents the row index. The column index i is numbered 0, 1, 2 and 3 (from right to left) from the column closest to the vertical boundary. The row index j is numbered 0, 1, 2 ... 7 from top to bottom. The left half of block Ba is omitted from the figure. The symbol q kj is used to represent the pixels in block Bb. In this symbol, k represents the column index and j represents the row index. The column index k is numbered 0, 1, 2 and 3 (from left to right) from the column closest to the vertical boundary. The right half of block Bb is omitted from 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两者为真,则适用去块滤波器。Determination conditions for the Luma component ... If both conditions A and B are true, the deblocking filter is applied.
条件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 that the motion vector for block Ba is (MVAx, MVAy) and the motion vector for block Bb is (MVBx, MVBy) based on Qpel (1/4 pixel) accuracy. Condition B uses β as the edge determination threshold. The initial value of β is given by the quantization parameter. The value of β can be specified by the user using a parameter in the slice header.
色度(Chroma)分量的确定条件……如果条件A1为真,则适用去块滤波器。Determination conditions for the chroma component...If condition A1 is true, the deblocking filter is applied.
条件A1:块Ba或者Bb进入帧内预测模式。Condition A1: Block Ba or Bb enters intra prediction mode.
如图4中的虚线框L3和L6所示,一般的垂直边界的滤波需要确定处理(尤其是在亮度分量的确定条件B下)参考在每个块中第三和第六行(假定最上面一行是第一)的像素。类似地,水平边界的滤波需要确定处理参考每个块中第三和第六列的像素(图4中未示出)。上述确定条件被用于确定需要向边界适用去块滤波器,对该边界执行下述的滤波处理的。As shown in the dashed boxes L3 and L6 in FIG4 , filtering of a typical vertical boundary requires determining the processing (especially under determination condition B for the luminance component) with reference to pixels in the third and sixth rows (assuming the top row is the first) in each block. Similarly, filtering of a horizontal boundary requires determining the processing with reference to pixels in the third and sixth columns in each block (not shown in FIG4 ). The above determination conditions are used to determine the need to apply the deblocking filter to the boundary, and the filtering process described below is performed on that boundary.
(2)滤波处理(2) Filtering
如果确定了需要向边界适用去块滤波器,那么对垂直边界的右和左的像素、以及对水平边界的上和下的像素执行滤波处理。对于亮度分量,根据像素值在强滤波器和弱滤波器之间切换滤波器强度。If it is determined that a deblocking filter needs to be applied to a boundary, filtering is performed on pixels to the right and left of the vertical boundary and on pixels above and below the horizontal boundary. For the luminance component, the filter strength is switched between a strong filter and a weak filter according to the pixel value.
对亮度分量滤波Filter the luminance component
选择强度...对于每个行或者列选择滤波器强度。如果满足了下面的条件C1至C3的全部,则选择强滤波器。如果其中任何一个条件不满足,则选择弱滤波器。Select Strength... Selects the filter strength for each row or column. If all of the following conditions C1 to C3 are met, a strong filter is selected. If any of these conditions are not met, 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 for the vertical boundary or the column index for 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 filter
△=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 filter
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修整(clip)至a≤c≤b范围内的处理,Clip0-255(c)表示将值c修整至0≤c≤255的范围内的处理。Here, Clip (a, b, c) indicates a process of clipping the value c to within the range of a≤c≤b, and Clip 0-255 (c) indicates a process of clipping the value c to within the range of 0≤c≤255.
对色度分量滤波Filtering the chroma component
△=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 in the dashed boxes C6 to C8 and C1 to C3 in Figure 5, the filtering process at the general vertical boundaries (especially the strong filter for the luminance component) updates the pixel values of the first to third and sixth to eighth columns in each block. Similarly, the filtering process at the horizontal boundaries updates the pixel values of the first to third and sixth to eighth rows in each block.
[22.根据现有技术的处理之间的依赖性][22. Dependencies between processes according to prior art]
为了说明的目的,如图6所示,每个具有16×16像素的尺寸的宏块MBx(MB0,MB1……)包含表示为Vx,0的左上垂直边界,表示为Vx,1的上中垂直边界,表示为Vx,2的左下垂直边界,表示为 Vx,3的下中垂直边界,表示为Hx,0的左上水平边界,表示为Hx, 1的右上水平边界,表示为Hx,2的左中水平边界,以及表示为Hx, 3的右中水平边界。关于边界Z,例如,滤波需要确定处理表示为JZ,滤波处理表示为FZ。For the purpose of explanation, as shown in FIG6 , each macroblock MBx (MB0, MB1, . . . ) having a size of 16×16 pixels includes 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 the boundary Z, for example, the filtering process required is determined 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 does not create dependencies between processing for boundaries in the same direction within a macroblock. Therefore, this technique can, for example, perform parallel filtering on vertical and horizontal boundaries within a macroblock. As an example, FIG7 illustrates 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 redundantly updated), and the filtering processes can 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 a dependency between the filtering process for vertical boundaries and the filtering necessity determination process for horizontal boundaries. The prior art also leaves 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 vertical boundary filtering process is terminated. As an example, Figure 8 shows that within macroblock MB0, the filtering necessity determination process J H0,0 depends on the results of filtering processes F V0,0 and F V0,1 , and the filtering necessity determination process J H0,1 depends on the result of 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. As an example, FIG9 shows that the filtering need 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 need 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 includes dependencies between processes, and thus even using the technology proposed in JCTVC-A119, only very limited parallel processing of deblocking filtering can be provided.
图10是示出根据现有技术的去块滤波器的处理的顺序的说明图。示例假定了去块滤波器被提供了具有32×32像素的尺寸的图像。输入图像包含4个宏块MB0至MB3,每个具有16×16像素的尺寸。FIG10 is an explanatory diagram showing the order of processing of a deblocking filter according to the prior art. The example assumes that the deblocking filter is provided with an image having a size of 32×32 pixels. The input image contains four macroblocks MB0 to MB3, each having a size of 16×16 pixels.
在图10中,每个虚线框代表要并行执行的处理。例如,第一步骤对宏块MB0中的4个垂直边界并行执行滤波需要确定处理JV0,0,JV0,1, JV0,2和JV0,3。第二步骤对宏块MB0中的4个垂直边界并行执行滤波处理FV0,0,FV0,1,FV0,2和FV0,3。在第二步骤终止后,第三步骤对宏块MB0中的4个水平边界并行执行滤波需要确定处理JH0,0,JH01,JH02和JH0,3。第四步骤对宏块MB0中的4个水平边界并行执行滤波处理 FH0,0,FH01,FH02和FH0,3。在第四步骤终止后,相继执行对于宏块MB1 的处理(第五至第八步骤)。在宏块MB1处理终止后,相继执行对于宏块MB2的处理(第九至第十二步骤)。在宏块MB2处理终止后,相继执行对于宏块MB3的处理(第十三至第十六步骤)。In Figure 10, each dotted box represents a process to be performed in parallel. For example, the first step involves performing filtering on the four vertical boundaries of macroblock MB0 in parallel, requiring the determination of the processes J V0,0 , J V0,1 , J V0,2 , and J V0,3 . The second step involves performing filtering on the four vertical boundaries of macroblock MB0 in parallel, requiring the determination of the processes F V0,0 , F V0,1 , F V0,2 , and F V0,3 . After the second step terminates, the third step involves performing filtering on the four horizontal boundaries of macroblock MB0 in parallel, requiring the determination of the processes J H0,0 , J H01 , J H02 , and J H0,3 . The fourth step involves performing filtering on the four horizontal boundaries of macroblock MB0 in parallel, requiring the determination of the processes F H0,0 , F H01 , F H02 , and F H0,3 . After the fourth step terminates, the processes for macroblock MB1 are performed sequentially (steps 5 to 8). After the processing of macroblock MB1 terminates, the processes for macroblock MB2 are performed sequentially (steps 9 to 12). After the processing of the macroblock MB2 is terminated, the processing of the macroblock MB3 is successively performed (the thirteenth to sixteenth steps).
有限程度内的这样的并行处理无法令人满意地解决当适用了去块滤波器时,由于处理量大而导致延迟或者数据码率劣化的问题。当适用了定义时,下述的三个工作例进一步改善了并行处理。Such limited parallel processing cannot satisfactorily solve the problem of delay or data bit rate degradation caused by large processing load when applying a deblocking filter. When the definition is applied, the following three working examples further improve parallel processing.
<3.第一工作例><3. First Working Example>
[3-1.去块滤波器配置示例][3-1. Deblocking filter configuration example]
下面说明根据第一工作例的,用于图1所示的图像编码设备10 的去块滤波器24a、和用于图2所示的图像解码设备60的去块滤波器 24b的示例配置。去块滤波器24a和去块滤波器24b的配置可以彼此相同。在下面的说明中,当不需要在它们之间区分时,去块滤波器24a 和去块滤波器24b还被通称为去块滤波器24。The following describes example configurations of the deblocking filter 24a used in the image encoding device 10 shown in FIG. 1 and the deblocking filter 24b used in the image decoding device 60 shown in FIG. 2 according to the first working example. The configurations of the deblocking filter 24a and the deblocking filter 24b can be identical. In the following description, when there is no need to distinguish between them, the deblocking filter 24a and the deblocking filter 24b are also collectively referred to as the deblocking filter 24.
(1)新的处理之间的依赖性(1) Dependencies between new processes
根据工作例,使用去块滤波器24的处理也包含两个类型的处理,即滤波需要确定处理和滤波处理。然而,去块滤波器24使用不同于现有技术的参考像素的值来确定是否对垂直边界和水平边界适用去块滤波。更具体而言,对于对垂直边界的确定,去块滤波器24使用参考像素,即,包含于在垂直边界周围的相邻的块的像素中,并且属于对于水平边界不适用去块滤波的行的像素。对于对水平边界的确定,去块滤波器24使用另一参考像素,即,包含于在水平边界周围的相邻的块的像素中,并且属于对垂直边界不适用去块滤波的行的像素。另外在下面的说明中,去块滤波器24例如基于8×8像素的块尺寸作为处理单位来执行处理。According to the working example, the processing using the deblocking filter 24 also includes two types of processing, namely, filtering need determination processing and filtering processing. However, the deblocking filter 24 uses the value of the reference pixel, which is different from the prior art, to determine whether deblocking filtering is applicable to the vertical boundary and the horizontal boundary. More specifically, for the determination of the vertical boundary, the deblocking filter 24 uses a reference pixel, that is, a pixel included in the pixels of the adjacent blocks around the vertical boundary and belonging to a row to which deblocking filtering is not applicable for the horizontal boundary. For the determination of the horizontal boundary, the deblocking filter 24 uses another reference pixel, that is, a pixel included in the pixels of the adjacent blocks around the horizontal boundary and belonging to a row to which deblocking filtering is not applicable for the vertical boundary. In addition, in the following description, the deblocking filter 24 performs processing based on a block size of 8×8 pixels as a processing unit, for example.
图11是示出对垂直边界由去块滤波器24执行滤波需要确定处理中的参考像素的说明图。参考图11,宏块MB0具有16×16像素的尺寸。去块滤波器24使用属于每个块的第四和第五行(L4和L5)中的至少一个的参考像素,确定是否向宏块MB0的4个垂直边界适用滤波器。对水平边界的去块滤波不适用于这两行(参见图9)。该配置消除了对水平边界的滤波处理、与对垂直边界的滤波需要确定处理之间的依赖性。FIG11 is an explanatory diagram showing reference pixels in the process of determining the need for filtering performed by the deblocking filter 24 on vertical boundaries. Referring to FIG11 , the macroblock MB0 has a size of 16×16 pixels. The deblocking filter 24 uses reference pixels belonging to at least one of the fourth and fifth rows (L4 and L5) of each block to determine whether to apply the filter to the four vertical boundaries of the macroblock MB0. Deblocking filtering for horizontal boundaries is not applied to these two rows (see FIG9 ). This configuration eliminates the dependency between the filtering process for horizontal boundaries and the process of determining the need for filtering for vertical boundaries.
图12是示出对水平边界由去块滤波器24执行滤波需要确定处理中的参考像素的说明图。图12也示出宏块MB0。去块滤波器24使用属于每个块的第四和第五列(C4和C5)中的至少一个的参考像素,确定是否对宏块MB0的4个水平边界适用滤波。对垂直边界的去块滤波不适用于这两列(参见图7或者8)。该配置消除了对垂直边界的滤波处理、与对水平边界的滤波需要确定处理之间的依赖性。FIG12 is an explanatory diagram illustrating reference pixels used in the process of determining the need for filtering of horizontal boundaries by the deblocking filter 24. FIG12 also illustrates macroblock MB0. The deblocking filter 24 uses reference pixels belonging to at least one of the fourth and fifth columns (C4 and C5) of each block to determine whether filtering is applicable to the four horizontal boundaries of macroblock MB0. Deblocking filtering of vertical boundaries is not applied to these two columns (see FIG7 or 8). This configuration eliminates the dependency between the filtering process for vertical boundaries and the process of determining the need for filtering of horizontal boundaries.
消除处理之间的依赖性于是能够使对一个宏块内的垂直边界和水平边界的滤波需要确定处理并行化。宏块之间的处理可以并行化。滤波需要确定处理能够对输入图像内所有宏块的垂直边界和水平边界并行执行。Eliminating dependencies between processes thus enables parallelization of the filtering need determination process for vertical and horizontal boundaries within a macroblock. Processing between macroblocks can be parallelized. The filtering need determination process can be performed in parallel for vertical and horizontal boundaries of all macroblocks in the input image.
图13是示出在去块滤波器24可用的处理顺序的第一示例的说明图。示例还假定了去块滤波被提供了具有32×32像素的尺寸的图像。输入图像包含4个宏块MB0至MB3,每个具有16×16像素的尺寸。13 is an explanatory diagram showing a first example of a processing sequence that can be used in the deblocking filter 24. The example also assumes that the deblocking filter is provided with an image having a size of 32×32 pixels. The input image contains four macroblocks MB0 to MB3, each having a size of 16×16 pixels.
在图13中,每个虚线框代表要并行执行的处理。图10中的示例对于一系列的处理要求16个处理步骤,图13中的示例将相同的数量的处理聚合为3个处理步骤。第一步骤对所有宏块MB0至MB3的所有垂直边界和所有水平边界并行执行滤波需要确定处理JV0,0至JV3,3和JH0,0至JH3,3。第二步骤对所有宏块的MB0至MB3的16个垂直边界并行执行滤波处理FV0,0至FV3,3。第三步骤对所有宏块MB0至MB3 的16个水平边界并行执行滤波处理FH0,0和FH3,3。第二步骤和第三步骤可以以相反的顺序执行。In Figure 13, each dotted box represents a process to be performed in parallel. The example in Figure 10 requires 16 processing steps for a series of processing, while the example in Figure 13 aggregates the same number of processing steps into three. The first step involves performing filtering in parallel on all vertical and horizontal boundaries of all macroblocks MB0 to MB3, requiring the determination of processes J V0,0 to J V3,3 and J H0,0 to J H3,3 . The second step involves performing filtering processes F V0,0 to F V3,3 in parallel on the 16 vertical boundaries of all macroblocks MB0 to MB3. The third step involves performing filtering processes F H0,0 and F H3,3 in parallel on the 16 horizontal boundaries of all macroblocks MB0 to MB3. The second and third steps can be performed in reverse order.
图13中的示例基于宏块之间的并行处理,使并行度(并行执行的处理的数量)最大化。然而,根据图14中的示例,去块滤波器24能够执行对每个宏块的处理。The example in Fig. 13 maximizes the degree of parallelism (the number of processes performed in parallel) based on parallel processing between macroblocks. However, according to the example in Fig. 14 , the deblocking filter 24 can perform processing for each macroblock.
图14中的示例将图10和13所示的相同数量的处理聚合为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。在这种情况下,虽然并行度低于图13的示例,但去块滤波器24能够使用比现有技术更少的处理步骤对整个输入图像执行处理。The example in Figure 14 aggregates the same number of processes shown in Figures 10 and 13 into 12 processing steps. The first step performs filtering in parallel on the four vertical and four horizontal boundaries in macroblock MB0, requiring the determination of the processes J V0,0 through J V0,3 and J H0,0 through J H0,3 . The second step performs filtering in parallel on the four vertical boundaries in macroblock MB0, requiring the determination of the processes F V0,0 through F V0,3 . The third step performs filtering in parallel on the four vertical and four horizontal boundaries in macroblock MB1, requiring the determination of the processes J V1,0 through J V1,3 and J H1,0 through J H1,3 . The fourth step performs filtering in parallel on the four vertical boundaries in macroblock MB1, requiring the determination of the processes F V1,0 through F V1,3 . The fifth step performs filtering in parallel on the four horizontal boundaries in macroblock MB0, requiring the determination of the processes F H0,0 through F H0,3 . The sixth step performs filtering in parallel on the four vertical and four horizontal boundaries of macroblock MB2, requiring the determination of J V2,0 through J V2,3 and J H2,0 through J H2,3 . The seventh step performs filtering in parallel on the four vertical boundaries of macroblock MB2, requiring the determination of F V2,0 through F V2,3 . The eighth step performs filtering in parallel on the four horizontal boundaries of macroblock MB1, requiring the determination of F H1,0 through F H1,3 . The ninth step performs filtering in parallel on the four vertical and four horizontal boundaries of macroblock MB3, requiring the determination of J V3,0 through J V3,3 and J H3,0 through J H3,3 . The tenth step performs filtering in parallel on the four vertical boundaries of macroblock MB3, requiring the determination of F V3,0 through F V3,3 . The eleventh step performs filtering in parallel on the four horizontal boundaries of macroblock MB2, requiring the determination of F H2,0 through F H2,3 . The twelfth step performs filtering processes F H3,0 to F H3,3 in parallel on four horizontal boundaries in the macroblock MB3. In this case, although the degree of parallelism is lower than the example of FIG13 , the deblocking filter 24 can perform processing on the entire input image using fewer processing steps than in the prior art.
(2)去块滤波器的基本配置(2) Basic configuration of deblocking filter
图15是示出用于执行上述并行处理的、根据第一工作例的去块滤波器24的详细配置的框图。参考图15,去块滤波器24包含确定块110、水平滤波块130、垂直滤波块140、以及并行化控制部150。15 is a block diagram showing a detailed configuration of the deblocking filter 24 according to the first working example for performing the above-described parallel processing.
(2-1)确定块(2-1) Determine the block
确定块110包含垂直边界确定部112-1至112-n以及水平边界确定部114-1至114-n。垂直边界确定部112和水平边界确定部114被提供有输入至去块滤波器24的图像和被用于确定滤波的必要性的确定信息。The determination block 110 includes vertical boundary determination sections 112-1 to 112-n and horizontal boundary determination sections 114-1 to 114-n. The vertical boundary determination section 112 and the horizontal boundary determination section 114 are supplied with an image input to the deblocking filter 24 and determination information used to determine the necessity of filtering.
垂直边界确定部112使用属于如图11所示不适用用于水平边界的去块滤波的行的参考像素的像素值,确定是否对垂直边界适用去块滤波器。在该示例中,参考像素的像素值被输入至去块滤波器24。垂直边界确定部112向水平滤波块130输出表明有关每个垂直边界的确定结果的信息(例如值"1"表明需要适用去块滤波器的确定结果的二进制信息)。The vertical boundary determination section 112 determines whether to apply the deblocking filter to the vertical boundary using the pixel values of the reference pixels belonging to the rows to which the deblocking filter for the horizontal boundary is not applied as shown in FIG11. In this example, the pixel values of the reference pixels are input to the deblocking filter 24. The vertical boundary determination section 112 outputs information indicating the determination result regarding each vertical boundary (e.g., binary information indicating that a value of "1" indicates a determination result that the deblocking filter needs to be applied) to the horizontal filtering block 130.
水平边界确定部114使用属于如图12所示不适用用于垂直边界的去块滤波的列的参考像素的像素值,确定是否对水平边界适用去块滤波器。在该示例中,参考像素的像素值也被输入至去块滤波器24。由每个水平边界确定部114执行的确定处理与由每个垂直边界确定部 112执行的确定处理并行执行。水平边界确定部114向垂直滤波块140 输出表明有关每个水平边界的确定结果的信息。The horizontal boundary determination unit 114 determines whether to apply the deblocking filter to the horizontal boundary using the pixel values of the reference pixels belonging to the columns to which the deblocking filter for the vertical boundary is not applied, as shown in FIG12. In this example, the pixel values of the reference pixels are also input to the deblocking filter 24. The determination process performed by each horizontal boundary determination unit 114 is performed in parallel with the determination process performed by each vertical boundary determination unit 112. The horizontal boundary determination unit 114 outputs information indicating the determination result regarding each horizontal boundary to the vertical filtering block 140.
图16是示出每个垂直边界确定部112和水平边界确定部114的详细配置的框图。参考图16,每个确定部包含抽头构成部121、计算部 122、阈值比较部123、失真评价部124和滤波确定部125。16 is a block diagram showing a detailed configuration of each vertical boundary determination section 112 and horizontal boundary determination section 114. Referring to FIG16 , each determination section includes a tap formation section 121, a calculation section 122, a threshold comparison section 123, a distortion evaluation section 124, and a filter determination section 125.
抽头构成部121从在输入图像中关注边界周围的两个邻接块的像素值获取参考像素值,并构成用于确定对于上述亮度分量的确定条件 B的抽头(参考像素值的集合)。例如,可以关注在每个具有8×8像素的尺寸的块的垂直边界。在这种情况下,抽头构成部121根据属于在左右的两个块的第四和/或第五行的像素值构成抽头。如果关注水平边界,那么抽头构成部121根据属于在上下的两个块的第四和/或第五列的像素值构成抽头。计算部122将由抽头构成部121构成的抽头赋予确定条件B中的确定表达式的左手侧,并计算要与边缘确定阈值β比较的边缘值。阈值比较部123将由计算部122计算的值与边缘确定阈值β比较,并将比较结果输出至滤波确定部125。The tap formation unit 121 obtains reference pixel values from the pixel values of two adjacent blocks around the boundary of interest in the input image and forms taps (a set of reference pixel values) for determining the determination condition B for the above-mentioned luminance component. For example, the vertical boundary of each block having a size of 8×8 pixels can be used for attention. In this case, the tap formation unit 121 forms taps based on the pixel values of the fourth and/or fifth rows belonging to the two blocks on the left and right. If the horizontal boundary is of interest, the tap formation unit 121 forms taps based on the pixel values of the fourth and/or fifth columns belonging to the two blocks above and below. The calculation unit 122 assigns the taps formed by the tap formation unit 121 to the left-hand 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 unit 123 compares the value calculated by the calculation unit 122 with the edge determination threshold β and outputs the comparison result to the filter determination unit 125.
失真评价部124使用作为确定信息提供的模式信息(MB模式)、变换系数信息、以及运动矢量信息,评价上述亮度分量的确定条件A。失真评价部124将评价结果输出至滤波确定部125。失真评价部124 基于模式信息,仅评价色度分量的确定条件A1。The distortion evaluation unit 124 evaluates the determination condition A for the luminance component using the mode information (MB mode), transform coefficient information, and motion vector information provided as the determination information. The distortion evaluation unit 124 outputs the evaluation result to the filter determination unit 125. Based on the mode information, the distortion evaluation unit 124 evaluates only the determination condition A1 for the chrominance component.
滤波确定部125基于从阈值比较部123提供的确定条件B的比较结果、和从失真评价部124提供的确定条件A的评价结果,确定是否向关注边界适用去块滤波器。滤波确定部125输出表明确定结果的信息。The filter determination unit 125 determines whether to apply the deblocking filter to the attention boundary based on the comparison result of the determination condition B supplied from the threshold comparison unit 123 and the evaluation result of the determination condition A supplied from the distortion evaluation unit 124. The filter determination unit 125 outputs information indicating the determination result.
(2-2)水平滤波块(2-2) Horizontal filter block
返回图15,进一步说明去块滤波器24的配置。水平滤波块130 包含水平滤波部132-1至132-n。水平滤波部132被提供有输入图像、和来自确定块110的关于每个垂直边界的确定结果。15 , the configuration of the deblocking filter 24 will be further described. The horizontal filtering block 130 includes horizontal filtering sections 132 - 1 to 132 - n. The horizontal filtering section 132 is supplied with an input image and a determination result from the determination block 110 regarding each vertical boundary.
如果来自垂直边界确定部112的确定结果表明需要适用滤波器,水平滤波部132向对应的垂直边界周围左右的像素适用对于垂直边界的去块滤波。对于被滤波的像素,水平滤波部132向垂直滤波块140 输出滤波后的像素值,对于其它像素,水平滤波部132向垂直滤波块 140输出输入图像的像素值。If the determination result from vertical boundary determination unit 112 indicates that a filter is required, horizontal filtering unit 132 applies a deblocking filter to the pixels surrounding the corresponding vertical boundary. For the filtered pixels, horizontal filtering unit 132 outputs the filtered pixel values to vertical filtering block 140. For the other pixels, horizontal filtering unit 132 outputs the pixel values of the input image to vertical filtering block 140.
(2-3)垂直滤波块(2-3) Vertical filter block
垂直滤波块140包含垂直滤波部142-1至142-n。垂直滤波部142 被提供有输入图像和来自确定块110的关于每个水平边界的确定结果。The vertical filtering block 140 includes vertical filtering sections 142-1 to 142-n. The vertical filtering section 142 is supplied with an input image and a determination result from the determination block 110 regarding each horizontal boundary.
如果来自水平边界确定部114的确定结果表明需要适用滤波器,则垂直滤波部142向对应的水平边界周围的上下像素适用对于水平边界的去块滤波。对于被滤波的像素,垂直滤波部142输出滤波后的像素值,对于其它像素,垂直滤波部142输出从水平滤波块130提供的像素值。来自每个垂直滤波部142的输出可以被包含在来自去块滤波器24的输出图像中。If the determination result from horizontal boundary determination unit 114 indicates that a filter needs to be applied, vertical filtering unit 142 applies deblocking filtering for the horizontal boundary to the upper and lower pixels surrounding the corresponding horizontal boundary. For the filtered pixels, vertical filtering unit 142 outputs the filtered pixel values, and for the other pixels, vertical filtering unit 142 outputs the pixel values provided by horizontal filtering block 130. The output from each vertical filtering unit 142 may be included in the output image from deblocking filter 24.
(2-4)并行化控制部(2-4) Parallelization Control Unit
并行化控制部150控制确定块110中的滤波需要确定处理的并行度、以及水平滤波块130和垂直滤波块140中的滤波处理的并行度。The parallelization control section 150 controls the parallelism of the filtering necessity determination process in the determination block 110 and the parallelism of the filtering processes in the horizontal filtering block 130 and the vertical filtering block 140 .
例如,并行化控制部150可以基于输入图像尺寸控制对于每个块的处理的并行度。更具体而言,如果输入图像尺寸相对大,则并行化控制部150增加对于每个块的处理的并行度。这能够自适应地防止由于根据图像尺寸增加的处理量造成的延迟或者数据码率劣化。例如,并行化控制部150可以基于序列参数集、图画参数集、或者含在片头部的参数,控制对于每个块的处理的并行度。这能使得根据开发装置的用户的要求来灵活配置并行度。例如可以根据诸如处理器核的数量或者软件线程的数量等安装环境的限制来配置并行度。For example, the parallelization control unit 150 can control the degree of parallelism for processing each block based on the input image size. More specifically, if the input image size is relatively large, the parallelization control unit 150 increases the degree of parallelism for processing each block. This can adaptively prevent delays or data bitrate degradation caused by the increased processing volume based on image size. For example, the parallelization control unit 150 can control the degree of parallelism for processing each block based on a sequence parameter set, a picture parameter set, or parameters contained in a slice header. This allows for flexible configuration of the degree of parallelism based on the requirements of the user developing the device. For example, the degree of parallelism can be configured based on installation environment constraints such as the number of processor cores or the number of software threads.
工作例能够使宏块之间的处理并行化。这表明任意的在图像内的块的处理顺序对最终输出结果没有影响。从而,并行化控制部150可以以块为基础,控制确定块110中的滤波需要确定处理的顺序、水平滤波块130和垂直滤波块140中的滤波处理的顺序。The working example enables parallelization of processing across macroblocks. This demonstrates that the order in which blocks are processed within an image has no effect on the final output result. Therefore, the parallelization control unit 150 can control the order in which filtering needs to be determined in the determination block 110, and the order in which filtering is performed in the horizontal filter block 130 and the vertical filter block 140 on a block-by-block basis.
更具体而言,并行化控制部150可以根据宏块之间的滤波处理的依赖性,控制滤波处理的顺序。根据现有技术,例如,片边界周围的邻接宏块之间的处理的依赖性可能使图像内的每个片的并行处理延迟。然而,根据工作例的并行化控制部150能够先于其它宏块对片边界周围的邻接宏块执行滤波处理。More specifically, the parallelization control unit 150 can control the order of filtering based on the dependencies between the filtering processes between macroblocks. According to conventional techniques, for example, the dependencies between adjacent macroblocks near slice boundaries can delay the parallel processing of each slice within an image. However, the parallelization control unit 150 according to the working example can perform filtering on adjacent macroblocks near slice boundaries before other macroblocks.
例如,图17示出片边界周围的8个宏块MB10至MB13、和MB20 至MB23。宏块MB10至MB13属于片SL1。宏块MB20至MB23属于片SL2。关于这些宏块,对于在片SL2中的宏块MB20的水平边界的滤波处理依赖于对于在片SL1中的宏块MB12的垂直边界的滤波处理。类似地,对于在片SL2中的宏块MB21的水平边界的滤波处理依赖于对于在片SL1中的宏块MB13的垂直边界的滤波处理。For example, FIG17 shows eight macroblocks MB10 to MB13 and MB20 to MB23 around a slice boundary. Macroblocks MB10 to MB13 belong to slice SL1. Macroblocks MB20 to 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.
在这些条件下根据图18的示例,并行化控制部150在对于片SL1 的滤波处理中,优先于其它边界的处理,对宏块MB12和MB13的垂直边界执行滤波处理。结果防止了在对于片SL2的滤波处理中,对宏块MB20和MB21的水平边界的滤波处理发生大延迟。图19的示例最初对于包含在片SL1中的所有宏块,对垂直边界并行执行滤波处理。另外在这种情况下,在片SL2中的宏块MB20和MB21的水平边界的滤波处理中不会发生延迟。Under these conditions, according to the example of FIG. 18 , the parallelization control unit 150 prioritizes filtering the vertical boundary between macroblocks MB12 and MB13 over other boundaries in the filtering process for slice SL1. This prevents significant delays in filtering the horizontal boundary between macroblocks MB20 and MB21 during the filtering process for slice SL2. The example of FIG. 19 initially performs filtering on vertical boundaries in parallel for all macroblocks included in slice SL1. Furthermore, in this case, no delay occurs in filtering the horizontal boundary between macroblocks MB20 and MB21 in slice SL2.
[3-2.处理流程][3-2. Processing Flow]
参考图20至22,对去块滤波器24的处理流程进行说明。20 to 22 , the processing flow of the deblocking filter 24 will be described.
(1)第一情形(1) First Scenario
图20是示出根据第一情形的去块滤波器24的处理流程示例的流程图。第一情形对应于如图13所示的大的并行度的示例。Fig. 20 is a flowchart showing an example of a process flow of the deblocking filter 24 according to the first scenario. The first scenario corresponds to an example of a large degree of parallelism as shown in Fig. 13 .
参考图20,垂直边界确定部112-1至112-n并行确定对于所有包含在输入图像内的宏块的垂直边界,是否需要滤波(步骤S102)。水平边界确定部114-1至114-n并行确定对于所有包含在输入图像内的宏块的水平边界,是否需要滤波(步骤S104)。步骤S102和S104也是并行执行的。20 , vertical boundary determination units 112-1 to 112-n concurrently determine whether filtering is required for the vertical boundaries of all macroblocks included in the input image (step S102). Horizontal boundary determination units 114-1 to 114-n concurrently determine whether filtering is required for the horizontal boundaries of all macroblocks included in the input image (step S104). Steps S102 and S104 are also performed in parallel.
水平滤波部132-1至132-n向在步骤S102中确定为要求适用去块滤波器的所有垂直边界,并行适用去块滤波器(步骤S110)。垂直平滤波部142-1至142-n向在步骤S104中确定为要求适用去块滤波器的所有水平边界,并行适用去块滤波器(步骤S120)。The horizontal filtering units 132-1 to 132-n apply deblocking filters in parallel to all vertical boundaries determined to require deblocking filters in step S102 (step S110). The vertical filtering units 142-1 to 142-n apply deblocking filters in parallel to all horizontal boundaries determined to require deblocking filters in step S104 (step S120).
(2)第二情形(2) Second Scenario
图21是示出根据第二情形的去块滤波器24的处理流程示例的流程图。第二情形对应于如图14所示的小的并行度的示例。Fig. 21 is a flowchart showing an example of a process flow of the deblocking filter 24 according to the second scenario. The second scenario corresponds to an example of a small degree of parallelism as shown in Fig. 14 .
参考图21,垂直边界确定部112-1至112-n并行确定对于所有包含在输入图像内的关注宏块的垂直边界,是否需要滤波(步骤S202)。水平边界确定部114-1至114-n并行确定对于所有包含在关注宏块的水平边界,是否需要滤波(步骤S204)。步骤S202和S204也是并行执行的。21 , vertical boundary determination units 112-1 to 112-n concurrently determine whether filtering is required for all vertical boundaries of the macroblock of interest within the input image (step S202). Horizontal boundary determination units 114-1 to 114-n concurrently determine whether filtering is required for all horizontal boundaries of the macroblock of interest (step S204). Steps S202 and S204 are also performed in parallel.
水平滤波部132-1至132-n向在步骤S202中确定为要求适用去块滤波器的关注宏块中的垂直边界,并行适用去块滤波器(步骤S210)。The horizontal filtering units 132 - 1 to 132 - n apply the deblocking filter in parallel to the vertical boundary in the target macroblock determined in step S202 as requiring application of the deblocking filter (step S210 ).
步骤S220的处理针对在上次循环中的关注宏块。可以对于最先关注的宏块跳过步骤S220的处理。垂直平滤波部142-1至142-n向上次循环中在步骤S204确定为要求适用去块滤波器的水平边界,并行适用去块滤波器(步骤S220)。The processing of step S220 is for the macroblock of interest in the previous loop. The processing of step S220 can be skipped for the first macroblock of interest. Vertical flattening filter units 142-1 to 142-n apply deblocking filters in parallel to the horizontal boundaries determined in step S204 in the previous loop as requiring deblocking filters (step S220).
如果在输入图像中还有关注的宏块为未处理,则对于新关注的宏块重复步骤S202至S220的处理(步骤S230)。If there is still a macroblock of interest that has not been processed in the input image, the process of steps S202 to S220 is repeated for the newly-imported macroblock (step S230).
如果没有未处理的关注的宏块,那么垂直滤波部142-1至142-n 向最后的循环的关注宏块中确定为要求适用去块滤波器的水平边界,并行适用去块滤波器(步骤S240)。然后处理终止。If there is no unprocessed macroblock of interest, the vertical filtering units 142 - 1 to 142 - n determine that the macroblock of interest in the final loop is a horizontal boundary requiring application of the deblocking filter, and apply the deblocking filter in parallel (step S240 ). The process then terminates.
虽然已说明了以图像和宏块的单位来并行化处理的两个典型情形,但两个情形只是用于说明的示例。去块滤波器24的处理可以以诸如给定数的宏块(两个或者四个宏块)、或者一群水平或垂直放置的块等各种单位并行化。Although two typical cases of parallel processing in units of images and macroblocks have been described, these two cases are merely examples for illustration. The processing of the deblocking filter 24 can be parallelized in various units, such as a given number of macroblocks (two or four macroblocks), or a group of horizontally or vertically arranged blocks.
(3)滤波需要确定处理(3) Filtering needs to be determined
图22是示出对应于图20的步骤S102和S104、图21的步骤S202 和S204的滤波需要确定处理的流程的流程图。FIG. 22 is a flowchart showing the flow of the filtering necessity determination process corresponding to steps S102 and S104 of FIG. 20 and steps S202 and S204 of FIG. 21 .
参考图22,失真评价部124基于模式信息、变换系数信息和运动矢量信息,评价每个边界的失真(步骤S130)。如果评价结果为存在失真(确定条件A为真),则处理前进至步骤S134。如果评价结果为不存在失真,则处理前进至步骤S140(步骤S132)。22 , the distortion evaluator 124 evaluates the distortion of each boundary based on the mode information, transform coefficient information, and motion vector information (step S130). If the evaluation result indicates that distortion exists (determination condition A is true), the process proceeds to step S134. If the evaluation result indicates that distortion does not exist, the process proceeds to step S140 (step S132).
在步骤S134,计算部122基于由抽头构成部121构成的参考像素,计算边缘值(步骤S134)。阈值比较部123将计算的值与边缘确定阈值β比较(步骤S136)。如果边缘值小于阈值β(确定条件B为真),则处理前进至步骤S138。如果边缘值不小于阈值β,则处理前进至步骤S140。In step S134, the calculation unit 122 calculates an edge value based on the reference pixel constructed by the tap construction unit 121 (step S134). The threshold comparison unit 123 compares the calculated value with the edge determination threshold β (step S136). If the edge value is less than the threshold β (determination condition B is true), the process proceeds to step S138. If the edge value is not less than the threshold β, the process proceeds to step S140.
在步骤S138,滤波确定部125确定向待确定的边界适用去块滤波器(步骤S138)。在步骤S140,滤波确定部125确定不向待确定的边界适用去块滤波器(步骤S140)。In step S138, the filter determination section 125 determines to apply the deblocking filter to the boundary to be determined (step S138). In step S140, the filter determination section 125 determines not to apply the deblocking filter to the boundary to be determined (step S140).
<4.第二工作例><4. Second Working Example>
第一工作例使用未由对其它块的滤波处理更新的像素的像素值,对给定的块执行滤波需要确定处理。与此相反,下述的第二工作例提供存储输入至去块滤波器的像素值的存储器,从而使得能消除滤波需要确定处理的限制,并能够使用更多样的确定条件。The first working example performs filtering necessity determination processing on a given block using pixel values of pixels that have not been updated by filtering processing on other blocks. In contrast, the second working example described below provides a memory for storing pixel values input to the deblocking filter, thereby eliminating limitations on filtering necessity determination processing and enabling the use of a wider variety of determination conditions.
[4-1.去块滤波器配置示例][4-1. Deblocking filter configuration example]
(1)各部的说明(1) Description of each part
图23是示出根据第二工作例的去块滤波器24的详细配置的框图。参考图23,去块滤波器24包含线存储器208、确定块210、水平滤波块130、垂直滤波块140、以及并行化控制部150。23 is a block diagram showing a detailed configuration of the deblocking filter 24 according to the second working example. Referring to FIG23 , the deblocking filter 24 includes a line memory 208 , a determination block 210 , a horizontal filtering block 130 , a vertical filtering block 140 , and a parallelization control section 150 .
线存储器208存储用于提供至去块滤波器24的输入图像的像素值。水平滤波块130和垂直滤波块140中的滤波处理不更新存储在线存储器208中的像素值。由下述的在确定块210中的各部执行的滤波需要确定处理参考存储在线存储器208中的像素值。装置包含用于不同于去块滤波器24的处理的目的的另一存储器。该存储器可以作为线存储器208而再利用(共享)。Line memory 208 stores pixel values of the input image to be supplied to deblocking filter 24. Filtering processing in horizontal filter block 130 and vertical filter block 140 does not update pixel values stored in line memory 208. Filtering necessity determination processing performed by various components in determination block 210, described below, references pixel values stored in line memory 208. The device includes another memory for a purpose other than processing by deblocking filter 24. This memory can be reused (shared) as line memory 208.
确定块210包含垂直边界确定部212-1至212-n、以及水平边界确定部214-1至214-n。垂直边界确定部212和水平边界确定部214被提供有存储在线存储器208中的用于输入至去块滤波器24的图像的像素值、和被用于确定需要滤波的确定信息。The determination block 210 includes vertical boundary determination units 212-1 to 212-n and horizontal boundary determination units 214-1 to 214-n. The vertical boundary determination unit 212 and the horizontal boundary determination unit 214 are supplied with pixel values of an image stored in the line memory 208 for input to the deblocking filter 24 and determination information used to determine the need for filtering.
垂直边界确定部212使用输入至去块滤波器24的像素值来确定是否对每个垂直边界适用去块滤波器。垂直边界确定部212向水平滤波块130输出表明有关每个垂直边界的信息的确定结果。The vertical boundary determination section 212 determines whether to apply the deblocking filter to each vertical boundary using the pixel values input to the deblocking filter 24. The vertical boundary determination section 212 outputs a determination result indicating information about each vertical boundary to the horizontal filtering block 130.
水平边界确定部214还使用输入至去块滤波器24的像素值来确定是否向每个水平边界适用去块滤波器。水平边界确定部214与由垂直边界确定部212执行的确定处理并行地执行确定处理。水平边界确定部214向垂直滤波块140输出表明有关每个水平边界的确定结果的信息。The horizontal boundary determination section 214 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 214 performs determination processing in parallel with the determination processing performed by the vertical boundary determination section 212. The horizontal boundary determination section 214 outputs information indicating the determination result regarding each horizontal boundary to the vertical filtering block 140.
(2)多样的确定条件(2) Various determination conditions
类似于如图4所示的现有技术,根据工作例的垂直边界确定部212 可以参考在块的第三和第六行的像素,来确定对每个块的垂直边界滤波的必要性。然而,在这种情况下要参考的像素值存储在线存储器 208,并属于输入至去块滤波器24的图像。类似地,水平边界确定部 214可以参考在块的第三和第六列的像素,来确定每个块的水平边界滤波的必要性。在这种情况下,能够不用改变对于安装在现有装置的滤波需要确定处理的确定条件而容易地提供根据工作例的配置。Similar to the prior art shown in FIG4 , vertical boundary determination unit 212 according to the working example can refer to the pixels in the third and sixth rows of a block to determine the necessity of vertical boundary filtering for each block. However, in this case, the pixel values to be referenced are stored in line memory 208 and are part of the image input to deblocking filter 24. Similarly, horizontal boundary determination unit 214 can refer to the pixels in the third and sixth columns of a block to determine the necessity of horizontal boundary filtering for each block. In this case, the configuration according to the working example can be easily provided without changing the determination conditions for the filtering necessity determination process installed in the existing device.
垂直边界确定部212可以在确定中参考块中三行以上的像素。类似地,水平边界确定部214可以在确定中参考块中三列以上的像素。垂直边界确定部212和水平边界确定部214可以使用不同于现有技术的确定条件表达式。参考图24至26,下面说明根据工作例的确定技术的6个示例。Vertical boundary determination unit 212 may refer to pixels in more than three rows of a block during its determination. Similarly, horizontal boundary determination unit 214 may refer to pixels in more than three columns of a block during its determination. Vertical boundary determination unit 212 and horizontal boundary determination unit 214 may use determination conditional expressions that differ from those used in the prior art. Six examples of determination techniques according to a working example will be described below with reference to Figures 24 to 26 .
(2-1)第一示例(2-1) First Example
图24是示出确定技术的第一和第二示例的说明图。在第一和第二示例中,垂直边界的滤波需要确定处理(尤其是使用对于亮度分量的确定条件B的确定)参考每个块中的从第一至第八的所有的行L1至 L8的像素。水平边界的滤波需要确定处理也参考每个块中的从第一至第八的所有列的像素。FIG24 is an explanatory diagram illustrating first and second examples of the determination technique. In the first and second examples, the filtering necessity determination process for the vertical boundary (particularly, the determination using determination condition B for the luminance component) refers to the pixels of all the first to eighth rows L1 to L8 in each block. The filtering necessity determination process for the horizontal boundary also refers to the pixels of all the first to eighth columns in each block.
第一示例可以如下定义对于亮度分量的确定条件。First Example The determination condition for the luminance component may be defined as follows.
亮度(Luma)分量的确定条件……如果条件A和B两者为真,则适用去块滤波器。Determination conditions for the Luma component ... If both conditions A and B are true, the deblocking filter is applied.
条件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
在该条件下,iDave<βUnder this condition, iD ave < β
对于色度分量的确定条件可以与上述现有技术相同。可以计算加权平均来计算对于4个确定参数iD0至iD3的平均iDave。The determination conditions for the chrominance component may be the same as those in the prior art described above. A weighted average may be calculated to calculate the average iD ave of the four determination parameters iD 0 to iD 3 .
(2-2)第二示例(2-2) Second Example
第二示例可以如下定义对于亮度分量的确定条件B。Second Example The determination condition B for the luminance component may 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<β,且iD3<βUnder this condition, iD 0 <β, and iD 1 <β, and iD 2 <β, and iD 3 <β
计算4个确定参数iD0至iD3的方程式与第一示例相同。可用条件是不是4个确定参数iD0至iD3的全部,而是其中的至少3个、2个、或者1个小于边缘确定阈值β。The equations for calculating the four determination parameters iD 0 to iD 3 are the same as those in the first example. The applicable condition is that not all of the four determination parameters iD 0 to iD 3 are used, but at least three, two, or one of them is smaller than the edge determination threshold β.
(2-3)第三示例(2-3) Third Example
图25是示出确定技术的第三和第四示例的说明图。在第三和第四示例中,垂直边界的滤波需要确定处理(尤其是使用对于亮度分量的确定条件B的确定)参考每个块中的4行L1,L3,L6和L8的像素。对于水平边界的滤波需要确定处理也参考每个块中的4列像素。FIG25 is an explanatory diagram illustrating third and fourth examples of the determination technique. In the third and fourth examples, the filtering necessity determination process for vertical boundaries (particularly, the determination using determination condition B for the luminance component) refers to pixels in four rows, L1, L3, L6, and L8, in each block. The filtering necessity determination process for horizontal boundaries also refers to pixels in four columns, in each block.
第三示例可以如下定义对于亮度分量的确定条件。Third Example The determination condition for the luminance component may be defined as follows.
亮度(Luma)分量的确定条件……如果条件A和B两者为真,则适用去块滤波器。Determination conditions for the Luma component ... If both conditions A and B are true, the deblocking filter is applied.
条件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
在该条件下,iDave<βUnder this condition, iD ave < β
对于色度分量的确定条件可以与上述现有技术相同。可以计算加权平均来计算对于2个确定参数iD0和iD2的平均iDave。The determination conditions for the chrominance component may be the same as those in the prior art. A weighted average may be calculated to calculate the average iD ave of the two determination parameters iD 0 and iD 2 .
(2-4)第四示例(2-4) Fourth Example
第四示例可以如下定义对于亮度分量的确定条件B。Fourth Example The determination condition B for the luminance component may 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<β,且iD2<βUnder this condition, iD 0 <β, and iD 2 <β
计算2个确定参数iD0和iD2的方程式与第三示例相同。可用条件是并非2个确定参数iD0和iD2的全部,而是其中的一个小于边缘确定阈值β。The equations for calculating the two determination parameters iD 0 and iD 2 are the same as those in the third example. The applicable condition is that not all of the two determination parameters iD 0 and iD 2 but one of them is smaller than the edge determination threshold β.
尽管已说明了在确定中参考块中的第一、第三、第六和第八行(或者列)L1,L3,L6和L8的示例,也可以参考行或者列的其它组合。Although an example has been described in which the first, third, sixth, and eighth rows (or columns) L1, L3, L6, and L8 in a block are referred to in the determination, other combinations of rows or columns may be referred to.
(2-5)第五示例(2-5) Fifth Example
图26是示出确定技术的第五和第六示例的说明图。在第五和第六示例中,对于垂直边界的滤波需要确定处理参考每个块中的4行L1, L3,L5和L7的像素。对于水平边界的滤波需要确定处理也参考每个块中的4列像素。FIG26 is an explanatory diagram illustrating fifth and sixth examples of the determination technique. In the fifth and sixth examples, the determination process for filtering the vertical boundary requires reference to pixels in four rows (L1, L3, L5, and L7) in each block. The determination process for filtering the horizontal boundary also requires reference to pixels in four columns in each block.
第五示例可以如下定义对于亮度分量的确定条件。Fifth Example The determination condition for the luminance component may be defined as follows.
亮度(Luma)分量的确定条件……如果条件A和B两者为真,则适用去块滤波器。Determination conditions for the Luma component ... If both conditions A and B are true, the deblocking filter is applied.
条件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
在该条件下,iDave<βUnder this condition, iD ave < β
对于色度分量的确定条件可以与上述现有技术相同。可以计算加权平均来计算对于2个确定参数iD0和iD2的平均iDave。The determination conditions for the chrominance component may be the same as those in the prior art. A weighted average may be calculated to calculate the average iD ave of the two determination parameters iD 0 and iD 2 .
(2-6)第六示例(2-6) Sixth Example
第六示例可以定义对于亮度分量的确定条件B如下。Sixth Example The determination condition B for the luminance component may be 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<β,且iD2<βUnder this condition, iD 0 <β, and iD 2 <β
计算2个确定参数iD0和iD2的方程式与第五示例相同。可用条件是并非2个确定参数iD0和iD2中的全部而是其中的一个小于边缘确定阈值β。The equations for calculating the two determination parameters iD 0 and iD 2 are the same as those in the fifth example. The applicable condition is that not all but one of the two determination parameters iD 0 and iD 2 is smaller than the edge determination threshold β.
一般而言,增加用于确定而参考的行和列的数量会改善确定精度。因此,参考8行和列的第一和第二示例能够最小化对本来不作为适用去块滤波器的对象的块进行滤波的可能性、以及本来不作为适用去块滤波器对象的的块进行滤波的可能性。结果改善了待编码和解码的图像的质量。另一方面,减少了用于确定的参考的行和列的数量,能够降低处理成本。由于在图像质量和处理成本之间要进行权衡,可以取决于装置的使用或者安装的限制,可以自适应地选择用于确定而参考的行和列的数量是有利的。可以自适应地选择要参考的行和列的组合是有利的。Generally speaking, increasing the number of rows and columns referenced for determination improves determination accuracy. Therefore, the first and second examples of referencing eight rows and columns can minimize the possibility of filtering blocks that are not originally suitable for deblocking filtering, as well as the possibility of filtering blocks that are not originally suitable for deblocking filtering. This results in improved quality of the image to be encoded and decoded. On the other hand, reducing the number of rows and columns referenced for determination can reduce processing costs. Because there is a trade-off between image quality and processing costs, it is advantageous to be able to adaptively select the number of rows and columns referenced for determination, depending on the limitations of device usage or installation. It is also advantageous to be able to adaptively select a combination of rows and columns to be referenced.
如第一、第三、和第五示例说明的,可以将确定参数的平均值iDave与边缘确定阈值β比较,来在没有对每行或者列的参数变化的过度影响下以块基础适当地执行确定。As explained in the first, third, and fifth examples, the average value iD ave of the determination parameters can be compared with the edge determination threshold β to appropriately perform determination on a block basis without excessive influence of parameter variations for each row or column.
[4-2.处理流程][4-2. Processing Flow]
根据第二工作例以及第一工作例,去块滤波器24能够以不同的并行度运行。According to the second working example and the first working example, the deblocking filter 24 can operate with different degrees of parallelism.
在使用大并行度的第一情形中,垂直边界确定部212-1至212-n 并行确定对于包含在输入图像内的宏块的所有垂直边界,是否需要滤波。水平边界确定部214-1至214-n并行确定对于包含在输入图像内的宏块的所有水平边界,是否需要滤波。对于垂直边界和水平边界的确定处理也被并行执行。水平滤波部132-1至132-n和垂直滤波部 142-1至142-n向确定为要求要适用去块滤波器的垂直边界和水平边界适用去块滤波器(参见图20)。In the first scenario using a high degree of parallelism, vertical boundary determination units 212-1 through 212-n determine in parallel whether filtering is required for all vertical boundaries of macroblocks included in the input image. Horizontal boundary determination units 214-1 through 214-n determine in parallel whether filtering is required for all horizontal boundaries of macroblocks included in the input image. Determination of vertical and horizontal boundaries is also performed in parallel. Horizontal filtering units 132-1 through 132-n and vertical filtering units 142-1 through 142-n apply deblocking filters to the vertical and horizontal boundaries determined to require deblocking filters (see FIG. 20 ).
在使用小并行度的第二情形中,垂直边界确定部212-1至212-n 并行确定对于包含在输入图像内的一个关注宏块的所有垂直边界,是否需要滤波。水平边界确定部214-1至214-n并行确定对于包含在关注宏块的所有水平边界,是否需要滤波。对于垂直边界和水平边界的确定处理也被并行执行。随后水平滤波部132-1至132-n向确定为要求适用去块滤波器的垂直边界,并行适用去块滤波器。垂直滤波部 142-1至142-n向确定为要求适用去块滤波器的水平边界,并行适用去块滤波器。该处理对输入图像内的所有宏块重复执行(参见图21)。In the second scenario using a low degree of parallelism, vertical boundary determination units 212-1 through 212-n concurrently determine whether filtering is required for all vertical boundaries of a macroblock of interest within the input image. Horizontal boundary determination units 214-1 through 214-n concurrently determine whether filtering is required for all horizontal boundaries within the macroblock of interest. The vertical and horizontal boundary determination processes are also performed in parallel. Horizontal filtering units 132-1 through 132-n then concurrently apply deblocking filters to the vertical boundaries determined to require deblocking filters. Vertical filtering units 142-1 through 142-n concurrently apply deblocking filters to the horizontal boundaries determined to require deblocking filters. This process is repeated for all macroblocks within the input image (see FIG. 21 ).
这两个情形只是用于说明的示例。另外在第二工作例中,去块滤波器24的处理可以以诸如给定数量的宏块(二个或者四个宏块)或者例如一群水平或者垂直的放置块等各种单位并行化。另外在第二工作例以及第一工作例中,并行化控制部150可以控制去块滤波器24中的处理的并行度和顺序。These two cases are merely examples for illustration. Furthermore, in the second working example, the processing of the deblocking filter 24 can be parallelized in various units, such as a given number of macroblocks (two or four macroblocks) or a group of horizontally or vertically positioned blocks. Furthermore, in both the second working example and the first working example, the parallelization control unit 150 can control the degree of parallelism and order of processing in the deblocking filter 24.
[4-3.对于每个LCU的处理示例[4-3. Processing example for each LCU
如已经提到的,根据在本说明书中说明的各种工作例的技术可以被提供作为基于HEVC编码单位(CU)的处理。根据HEVC,具有最大的尺寸的编码单位被称为最大编码单位(LCU),例如可以选择为64×64像素。最小可选择的CU尺寸是8×8像素。通常,依据从在图画(或者片)的左上的LCU的光栅扫描顺序,对应于每个LCU,图像被编码并解码。下面说明对应于去块滤波器24中的LCU的处理示例。As already mentioned, the technology according to the various working examples described in this specification can be provided as processing based on HEVC coding units (CUs). According to HEVC, the coding unit with the largest size is called the largest coding unit (LCU), which can be selected as 64×64 pixels, for example. The minimum selectable CU size is 8×8 pixels. Generally, an image is encoded and decoded corresponding to each LCU in a raster scan order from the upper left of the picture (or slice). An example of processing corresponding to the LCU in the deblocking filter 24 is described below.
图27是示出根据上述第二工作例的对于每个LCU的处理顺序的说明图。示例假定LCU尺寸为16×16像素,且CU尺寸为8×8像素。Fig. 27 is an explanatory diagram showing the processing order for each LCU according to the second working example described above. This example assumes that the LCU size is 16×16 pixels and the CU size is 8×8 pixels.
参考图27,第一阶段示出在附图的左上,并表明LCU的滤波已经完成至第(n-1)个LCU。阴影的像素是作为垂直边界的滤波的对象。填充像素是作为水平边界的滤波的对象。Referring to Figure 27, the first stage is shown in the upper left of the figure, indicating that the filtering of LCUs has been completed up to the (n-1)th LCU. The shaded pixels are the objects of filtering as vertical boundaries. The padded pixels are the objects of filtering as horizontal boundaries.
在图27的右上的用于第二阶段的处理、和在其左下的用于第三阶段的处理以第n个LCU为对象的。在第二阶段前,输入至去块滤波器24的像素值被用于对属于第n个LCU的所有垂直边界和水平边界并行执行滤波需要确定处理。在第二阶段中,输入至去块滤波器24的像素值被用于对属于第n个LCU并确定为要求适用去块滤波器的垂直边界并行执行滤波处理。在第二阶段被处理的像素值随后被用于对属于第n个LCU并确定为要求适用去块滤波器的水平边界并行执行滤波处理。The processing for the second stage in the upper right of Figure 27 and the processing for the third stage in the lower left are for the nth LCU. Before the second stage, the pixel values input to the deblocking filter 24 are used to perform filtering in parallel on all vertical and horizontal boundaries belonging to the nth LCU to determine the need for filtering. In the second stage, the pixel values input to the deblocking filter 24 are used to perform filtering in parallel on the vertical boundaries belonging to the nth LCU and determined to require the application of the deblocking filter. The pixel values processed in the second stage are then used to perform filtering in parallel on the horizontal boundaries belonging to the nth LCU and determined to require the application of the deblocking filter.
在图27的右下的第四阶段的处理是以第(n+1)个LCU为对象的。在第四阶段中,在对属于第(n+1)个LCU的所有垂直边界和水平边界并行执行滤波需要确定处理后,对确定为要求适用去块滤波器的垂直边界并行执行滤波处理。The fourth stage of processing in the lower right corner of Figure 27 is for the (n+1)th LCU. In the fourth stage, after the filtering necessity determination process is performed in parallel on all vertical and horizontal boundaries belonging to the (n+1)th LCU, the filtering process is performed in parallel on the vertical boundaries determined to require the application of the deblocking filter.
尽管示例中假定LCU尺寸为16×16像素,也可以设定为32×32 或者64×64像素。因为增加要选择的LCU的尺寸也增加了属于一个 LCU的垂直边界和水平边界的数量,所以根据并行化而缩短处理时间的效果被进一步改善。Although the LCU size is assumed to be 16×16 pixels in this example, it can also be set to 32×32 or 64×64 pixels. Since increasing the size of the LCU to be selected also increases the number of vertical and horizontal boundaries belonging to one LCU, the effect of shortening the processing time due to parallelization is further improved.
图28是示出对于每个LCU的去块滤波器24的处理流程的流程图。FIG28 is a flowchart showing the processing flow of the deblocking filter 24 for each LCU.
参考图28,垂直边界确定部212-1至212-n并行确定对于包含在输入图像内的关注LCU的所有垂直边界,是否需要滤波(步骤S252)。水平边界确定部214-1至214-n并行确定对于包含在关注LCU的所有水平边界,是否需要滤波(步骤S254)。步骤S252和S254也是并行执行的。28 , the vertical boundary determination units 212-1 to 212-n concurrently determine whether filtering is required for all vertical boundaries of the LCU of interest contained in the input image (step S252). The horizontal boundary determination units 214-1 to 214-n concurrently determine whether filtering is required for all horizontal boundaries of the LCU of interest (step S254). Steps S252 and S254 are also performed in parallel.
水平滤波部132-1至132-n向在步骤S252中确定为要求适用去块滤波器的关注LCU中的垂直边界,并行适用去块滤波器(步骤S260)。The horizontal filtering units 132 - 1 to 132 - n apply the deblocking filter in parallel to the vertical boundary in the focus LCU determined in step S252 to require application of the deblocking filter (step S260 ).
垂直滤波部142-1至142-n向在步骤S254中确定为要求适用去块滤波器的关注LCU中的水平边界,并行适用去块滤波器(步骤S270)。The vertical filtering units 142 - 1 to 142 - n apply the deblocking filter in parallel to the horizontal boundary in the target LCU determined in step S254 to require application of the deblocking filter (step S270 ).
如果在输入图像中还有关注的LCU为未处理(步骤S280),则对于新关注的LCU重复步骤S252至S270的处理。如果没有LCU未处理,那么处理终止。If there is an unprocessed LCU of interest in the input image (step S280), the process of steps S252 to S270 is repeated for the newly-processed LCU of interest. If there is no unprocessed LCU, the process is terminated.
<5.第三工作例><5. Third Working Example>
[5-1.概要][5-1. Summary]
根据第二工作例,对垂直边界和水平边界的滤波需要确定处理参考输入至去块滤波器的像素值,因而消除了滤波需要确定处理之间的依赖性,并使确定处理的并行化成为可能。下述的第三工作例将第二工作例的概念也适用到滤波处理。对于垂直边界和水平边界的滤波处理还对输入至去块滤波器的像素值滤波。According to the second working example, the filtering process for vertical and horizontal boundaries requires determination of the pixel values input to the deblocking filter, thereby eliminating the dependency between the filtering process and enabling parallelization of the determination process. The third working example described below applies the concepts of the second working example to the filtering process. The filtering process for vertical and horizontal boundaries also filters the pixel values input to the deblocking filter.
图29是示出该工作例的概要的说明图。在图29的左下示出代表在被去块滤波处理之前的输入像素(也被称为重构像素)的形状。工作例使得能够不仅从对于垂直边界和水平边界的滤波需要确定处理参考输入至去块滤波的像素值,而且从对于垂直边界的滤波处理和对于水平边界的滤波处理参考输入至去块滤波的像素值。因此,两个滤波处理之间的依赖性被消除。两个滤波处理被并行执行。FIG29 is an explanatory diagram showing an overview of this working example. The lower left portion of FIG29 shows the shape of an input pixel (also referred to as a reconstructed pixel) before being deblocked. This working example enables the pixel values referenced for deblocking filtering to be determined not only from the filtering needs for vertical and horizontal boundaries, but also from the pixel values referenced for the filtering process for vertical boundaries and the filtering process for horizontal boundaries. Thus, the dependency between the two filtering processes is eliminated. The two filtering processes are performed in parallel.
对于垂直边界的滤波处理和对于水平边界的滤波处理可以更新重复像素的值。图29的被填充像素示出可能是重复像素的位置。根据工作例的去块滤波器对于由两个并行运行的滤波器重复更新的像素,根据两个滤波器输出计算一个输出像素值。The filtering process for vertical boundaries and the filtering process for horizontal boundaries can update the values of repeated pixels. The padded pixels in Figure 29 illustrate the locations of possible repeated pixels. The deblocking filter according to the working example calculates a single output pixel value based on the two filter outputs for pixels that are repeatedly updated by two filters running in parallel.
[5-2.去块滤波配置示例][5-2. Deblocking filter configuration example]
图30是示出根据第三工作例的去块滤波器24的详细配置的框图。参考图30,去块滤波器24包含线存储器208、确定块210、水平滤波块330、垂直滤波块340、并行化控制部150、计算部360。确定块210 包含垂直边界确定部212-1至212-n、以及水平边界确定部214-1至 214-n。垂直边界确定部212和水平边界确定部214可以根据第二工作例中说明的各种确定条件,确定对边界滤波的必要性。FIG30 is a block diagram illustrating the detailed configuration of the deblocking filter 24 according to the third working example. Referring to FIG30 , the deblocking filter 24 includes a line memory 208, a determination block 210, a horizontal filtering block 330, a vertical filtering block 340, a parallelization control unit 150, and a calculation unit 360. The determination block 210 includes vertical boundary determination units 212-1 through 212-n and horizontal boundary determination units 214-1 through 214-n. The vertical boundary determination unit 212 and the horizontal boundary determination unit 214 can determine the necessity of boundary filtering based on the various determination conditions described in the second working example.
水平滤波块330包含水平滤波部332-1至332-n。水平滤波部332 被提供有来自线存储器208的输入图像值和来自确定块210的关于每个垂直边界的确定结果。The horizontal filtering block 330 includes horizontal filtering sections 332 - 1 to 332 - n. The horizontal filtering section 332 is supplied with the input image value from the line memory 208 and the determination result from the determination block 210 regarding each vertical boundary.
如果来自垂直边界确定部212的确定结果表明需要适用滤波器,则水平滤波部332向对应的垂直边界周围的左右像素适用对于垂直边界的去块滤波器。对于被滤波的像素,水平滤波部332向计算部360 输出滤波后的像素值,而对于其它像素,水平滤波部332向计算部360 输出输入像素值。If the determination result from the vertical boundary determination unit 212 indicates that a filter is required, the horizontal filtering unit 332 applies a deblocking filter for the vertical boundary to the left and right pixels surrounding the corresponding vertical boundary. For the filtered pixels, the horizontal filtering unit 332 outputs the filtered pixel values to the calculation unit 360, while for the other pixels, the horizontal filtering unit 332 outputs the input pixel values to the calculation unit 360.
垂直滤波块340包含垂直滤波部342-1至342-n。垂直滤波部342 被提供有来自线存储器208的输入像素值和来自确定块210的关于每个水平边界的确定结果。The vertical filtering block 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 208 and the determination result from the determination block 210 regarding each horizontal boundary.
如果来自水平边界确定部214的确定结果表明需要适用滤波器,则垂直滤波部342向对应的水平边界周围的上下像素适用对于水平边界的去块滤波器。垂直滤波部342-1至342-n的滤波处理并行于水平滤波部332-1至332-n的滤波处理执行。对于被滤波的像素,垂直滤波部342向计算部360输出滤波后的像素值,而对于其它像素,垂直滤波部342向计算部360输出输入像素值。If the determination result from the horizontal boundary determination unit 214 indicates that a filter is required, the vertical filter unit 342 applies a deblocking filter for the horizontal boundary to the upper and lower pixels surrounding the corresponding horizontal boundary. The filtering process by the vertical filter units 342-1 through 342-n is performed in parallel with the filtering process by the horizontal filter units 332-1 through 332-n. For the filtered pixels, the vertical filter unit 342 outputs the filtered pixel values to the calculation unit 360, while for the other pixels, the vertical filter unit 342 outputs the input pixel values to the calculation unit 360.
计算部360被并行提供有来自水平滤波块330的输出像素值和来自垂直滤波块340的输出像素值。此外,计算部360被提供有来自垂直边界确定部212和水平边界确定部214的确定结果。根据确定结果,计算部360基于来自水平滤波块330和垂直滤波块340的滤波器输出,对由水平滤波块330和垂直滤波块340滤波的像素计算输出像素值。The calculation section 360 is supplied in parallel with the output pixel values from the horizontal filtering block 330 and the output pixel values from the vertical filtering block 340. Furthermore, the calculation section 360 is supplied with the determination results from the vertical boundary determination section 212 and the horizontal boundary determination section 214. Based on the determination results, the calculation section 360 calculates output pixel values for the pixels filtered by the horizontal filtering block 330 and the vertical filtering block 340, based on the filter outputs from the horizontal filtering block 330 and the vertical filtering block 340.
根据工作例,例如计算部360对于被重复滤波的像素,计算两个滤波器输出的平均。计算部360可以计算两个滤波器输出的简单平均。作为替代,计算部360可以计算两个滤波器输出的加权平均。例如,计算部360可以根据从每个像素到垂直边界和到水平边界的距离,确定用于像素的加权平均的权重。According to a working example, for example, the calculation unit 360 calculates the average of the two filter outputs for the repeatedly filtered pixels. The calculation unit 360 may calculate a simple average of the two filter outputs. Alternatively, the calculation unit 360 may calculate a weighted average of the two filter outputs. For example, the calculation unit 360 may determine the weight for the weighted average of the pixels based on the distance from each pixel to the vertical boundary and the distance from the horizontal boundary.
图31是示出对于由计算部360计算的加权平均的权重的确定的说明图。图31示出关注的像素PZ为黑色,对应于图29所示的一个重复位置。对应于关注的像素PZ与最接近的垂直边界VZ之间的距离DV有三个像素。对应于关注的像素PZ与并最接近的水平边界HZ之间的距离DH有两个像素。距离DH小于距离DV。在这种情况下,计算部 360可以设定为来自适用于水平边界HZ的去块滤波器的输出的加权大于来自适用于垂直边界VZ的去块滤波器的输出的加权。图31的示例假定垂直边界VZ的滤波器输出Vout相对于水平边界HZ的滤波器输出 Hout的比率为2:3。FIG31 is an explanatory diagram illustrating the determination of weights for the weighted average calculated by the calculation unit 360. FIG31 shows that the pixel of interest PZ is black, corresponding to one of the repetition positions shown in FIG29 . The distance DD between the pixel of interest PZ and the nearest vertical boundary VZ is three pixels. The distance DH between the pixel of interest PZ and the nearest horizontal boundary HZ is two pixels. Distance DH is smaller than distance DD . In this case, the calculation unit 360 may set the weighting of the output of the deblocking filter applied to the horizontal boundary HZ to be greater than the weighting of the output of the deblocking filter applied to the vertical boundary VZ . The example of FIG31 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.
如图31所示,计算两个滤波器输出的加权平均能够给每个关注的像素提供类似于适用具有沿着水平方向的滤波抽头和沿着垂直方向的滤波抽头的一个二维滤波器的情况的输出像素值。对垂直边界和水平边界使滤波处理并行化还可以适当减小在垂直边界和水平边界出现的块失真。作为另一工作例,去块滤波器24可以包含同时计算水平滤波、垂直滤波、和加权平均的一个二维滤波器。然而在这种情况下,安装非常复杂,因为滤波系数需要对应于像素进行各种改变。另一方面,第三工作例并行执行两个一维滤波器,随后计算加权平均。这能够容易地提供实质相当于二维滤波器的处理,并保证现有去块滤波的功能。As shown in Figure 31, calculating the weighted average of the outputs of the two filters can provide each pixel of interest with an output pixel value similar to that of 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 working example, the deblocking filter 24 can include a two-dimensional filter that simultaneously calculates horizontal filtering, vertical filtering, and weighted averaging. However, in this case, the installation is very complicated because the filter coefficients need to be changed in various ways corresponding to the pixels. On the other hand, the third working example executes two one-dimensional filters in parallel and then calculates the weighted average. This can easily provide processing that is essentially equivalent to a two-dimensional filter and ensures the functionality of the existing deblocking filter.
图32是示出用于基于图31的示例计算的加权平均的权重的示例的说明图。图32示出垂直边界和水平边界之间的一个交点周围的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。FIG32 is an explanatory diagram showing an example of weights for weighted averaging calculated based on the example of FIG31 . FIG32 shows 36 pixels (6×6) around one intersection between a vertical boundary and a horizontal boundary. The pixels correspond to the repeated positions described above. For pixels located equidistant from the vertical boundary and the horizontal boundary, 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 ratio of the weight of pixel P 1 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 ratio of the weight of pixel P 2 is V out : H out = 1:3.
通过根据每个像素和边界之间的距离来改变用于加权平均的权重,可以更有效地抑制块失真并可以改善图像质量。By changing the weight used for weighted averaging according to the distance between each pixel and the boundary, block distortion can be more effectively suppressed and image quality can be improved.
上述权重只是示例。例如,计算部360可以根据对应于每个像素的垂直边界和水平边界的边缘强度,代替每个像素和边界之间的距离或者在每个像素和边界之间的距离之外,确定用于像素的加权平均的权重。边缘强度可以由诸如由如图16所示的计算部122计算的边缘值等参数代表。在这种情况下,具有较强边缘的边界的滤波输出的权重可以设定为大于具有较弱边缘的边界的滤波输出的权重。根据边缘强度来改变加权的加权平均,可以自适应地改善在显著造成块失真的边界的去块滤波器的效果。The above weights are merely examples. For example, the calculation unit 360 may determine the weights for the weighted average of the pixels based on the edge strength corresponding to the vertical and horizontal boundaries of each pixel, instead of or in addition to the distance between each pixel and the boundary. The edge strength may be represented by a parameter such as the edge value calculated by the calculation unit 122 as shown in FIG16 . 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. By varying the weighted average according to the edge strength, the effect of the deblocking filter on boundaries that significantly cause block distortion can be adaptively improved.
计算部360对于由水平滤波块330和垂直滤波块340之一滤波的像素,选择来自实际上滤波的块的输出。计算部360对于没有由水平滤波块330或者垂直滤波块340滤波的像素,将要输出的输入像素值直接输出至去块滤波器24。图33的表格根据是否要求滤波的确定的结果,将来自计算部360的输出像素值列于表上。The calculation unit 360 selects the output from the block actually filtered for pixels filtered by one of the horizontal filtering block 330 and the vertical filtering block 340. For pixels not filtered by the horizontal filtering block 330 or the vertical filtering block 340, the calculation unit 360 directly outputs the input pixel value to be output to the deblocking filter 24. The table of FIG33 lists the output pixel values from the calculation unit 360 according to the result of determining whether filtering is required.
[5-3.处理顺序示例][5-3. Processing order example]
下面说明根据工作例的可用于去块滤波器24的处理顺序的两个示例。示例还假定了去块滤波器被提供有32×32像素的尺寸的图像。输入图像包含四个宏块MB0至MB3,每个具有16×16像素的尺寸。Two examples of processing sequences that can be used for the deblocking filter 24 according to a working example are described below. The examples also assume that the deblocking filter is provided with an image of size 32×32 pixels. The input image contains four macroblocks MB0 to MB3, each of size 16×16 pixels.
(1)第一示例(1) First Example
为了比较,图34示出对垂直边界的滤波处理和对水平边界的滤波处理之间保持了依赖性的处理顺序。图34的处理顺序实质相当于根据第一工作例的图13的处理顺序。在图34中,第一步骤对所有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。第四步骤(图13中省略)将对水平边界的滤波处理后的像素值存储在用于来自去块滤波器24的输出的存储器。For comparison, FIG34 illustrates a processing sequence that maintains a dependency between filtering processes for vertical boundaries and filtering processes for horizontal boundaries. The processing sequence of FIG34 is essentially equivalent to the processing sequence of FIG13 according to the first working example. In FIG34 , the first step involves performing filtering operations J V0,0 to J V3,3 and J H0,0 to J H3,3 in parallel on all vertical boundaries and all horizontal boundaries of all four macroblocks MB0 to MB3. The second step involves performing filtering operations F V0,0 to F V3,3 on the 16 vertical boundaries of the four macroblocks MB0 to MB3. The third step involves performing filtering operations F H0,0 to F H3,3 on the 16 horizontal boundaries of the four macroblocks MB0 to MB3. The fourth step (omitted from FIG13 ) stores the pixel values after filtering of the horizontal boundaries in the memory used for the output from the deblocking filter 24.
图35示出由工作例提供的处理顺序的第一示例。在图35中,第一步骤对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滤波的像素,可以计算两个滤波器输出的加权平均作为输出像素值。FIG35 illustrates a first example of the processing sequence provided by the working example. In FIG35 , the first step performs filtering in parallel on all vertical boundaries and all horizontal boundaries of the four macroblocks MB0 to MB3, determining that filtering is required (J V0,0 to J V3,3 and J H0,0 to J H3,3 ). The second step performs filtering in parallel on all vertical and horizontal boundaries of the four macroblocks MB0 to MB3, determining that filtering is required (F V0,0 to F V3,3 and F H0,0 to F H3,3 ). In practice, the second step only filters boundaries determined to require filtering. The third step stores pixel values in the memory used for outputs from the deblocking filter 24. For pixels filtered by the horizontal filter block 330 and the vertical filter block 340, a weighted average of the two filter outputs can be calculated as the output pixel value.
(2)第二示例(2) Second Example
第一示例使并行度最大化,而根据第二示例的去块滤波器24还能够对于每个宏块执行处理。The first example maximizes the degree of parallelism, but the deblocking filter 24 according to the second example is also capable of performing processing for each macroblock.
为了比较,图36示出对垂直边界的滤波处理和对水平边界的滤波处理之间保持了依赖性时,对于每个宏块的处理顺序。图36的处理顺序实质相当于根据第一工作例的图14的处理顺序。图36明确示出了将像素值存储在用于输出的存储器、并为了简洁起见从图14中省略的 4个处理步骤(第6、第10、第14和第16)。包含4个处理步骤的 16个处理步骤构成为图36中的处理。For comparison, Figure 36 shows the processing sequence for each macroblock when the dependency between filtering for vertical and horizontal boundaries is maintained. The processing sequence in Figure 36 is essentially equivalent to the processing sequence in Figure 14 according to the first working example. Figure 36 explicitly shows four processing steps (steps 6, 10, 14, and 16) that store pixel values in output memory and are omitted from Figure 14 for simplicity. The processing in Figure 36 consists of 16 processing steps, including these four steps.
图37示出由工作例提供的处理顺序的第二示例。在图37中,第一步骤对宏块MB0的4个垂直边界和4个水平边界并行执行滤波需要确定处理JV0,0至JV0,3和JH0,0至JH0,3。第二步骤对宏块的4个垂直边界和4个水平边界MB0并行执行滤波处理FV0,0至FV0,3和FH0,0至FH0,3。第三步骤将宏块MB0像素值存储在用于来自去块滤波器24的输出的存储器。对于由两个滤波器重复滤波的像素,可以计算两个滤波器输出的加权平均作为输出像素值。第4至第6步骤类似地处理宏块MB1。第7至第9步骤类似地处理宏块MB2。第10至第12步骤类似地处理宏块MB3。图37中的处理包含12个处理步骤,少于图 36的处理。FIG37 illustrates a second example of the processing sequence provided by the working example. In FIG37 , the first step involves performing filtering operations J V0,0 through J V0,3 and J H0,0 through J H0,3 in parallel on the four vertical and four horizontal boundaries of macroblock MB0. The second step involves performing filtering operations F V0,0 through F V0,3 and F H0,0 through F H0,3 in parallel on the four vertical and four horizontal boundaries of macroblock MB0. The third step stores the pixel values of macroblock MB0 in the memory used 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 process in FIG37 includes 12 processing steps, which is fewer than the process in FIG36 .
第三工作例消除对于垂直边界的滤波处理和对于水平边界的滤波处理之间的依赖性。去块滤波器24的处理能够使用比用于第一、和第二工作例更少的处理步骤来执行。允许滤波处理仅参考输入至去块滤波器的像素的一个优点是,滤波器抽头的任何配置都不会在对于垂直边界的滤波处理和对于水平边界的滤波处理之间产生依赖性。通过使用比现有技术更多的像素来配置滤波器抽头,第三工作例可以改善图像质量。例如,如参考图7说明的对于每个边界的每侧,现有技术使用三个像素的滤波器抽头。即使对每个边界使用了5个像素以上的滤波器抽头,工作例在处理之间也不会产生依赖性。即便进一步减少作为去块滤波器的处理单位的块尺寸,在处理之间也不会产生依赖性。The third working example eliminates the dependency between the filtering process for the vertical boundary and the filtering process for the horizontal boundary. The processing of the deblocking filter 24 can be performed using fewer processing steps than for the first and second working examples. One advantage of allowing the filtering process to refer only to the pixels input to the deblocking filter is that any configuration of the filter taps will not create a dependency between the filtering process for the vertical boundary and the filtering process for the horizontal boundary. By configuring the filter taps using more pixels than the prior art, the third working example can improve image quality. For example, as illustrated in reference FIG7 , the prior art uses filter taps of three pixels on each side of each boundary. Even if filter taps of more than 5 pixels are used for each boundary, the working example will not create a dependency between the processing. Even if the block size as the processing unit of the deblocking filter is further reduced, no dependency will be created between the processing.
另外在第三工作例以及第一和第二工作例中,并行化控制部150 可以控制去块滤波器24中的处理的并行度和顺序。In addition, in the third operation example and the first and second operation examples, the parallelization control unit 150 can control the degree of parallelism and the order of processing in the deblocking filter 24 .
[5-4.处理流程][5-4. Processing Flow]
图38是示出根据第三工作例的对于去块滤波器的处理流程的示例的流程图。图39是示出图38所示的像素值计算处理的流程的流程图。Fig. 38 is a flowchart showing an example of a process flow for a deblocking filter according to the third working example. Fig. 39 is a flowchart showing a flow of a pixel value calculation process shown in Fig. 38 .
参考图38,垂直边界确定部212-1至212-n并行确定对于输入图像或者宏块内的所有垂直边界,是否需要滤波(步骤S302)。水平边界确定部214-1至214-n并行确定对于输入图像的或者宏块内的所有水平边界,是否需要滤波(步骤S304)。步骤S302和S304也是并行执行的。38 , the vertical boundary determination units 212-1 to 212-n concurrently determine whether filtering is required for all vertical boundaries within the input image or macroblock (step S302). The horizontal boundary determination units 214-1 to 214-n concurrently determine whether filtering is required for all horizontal boundaries within the input image or macroblock (step S304). Steps S302 and S304 are also performed in parallel.
水平滤波部332-1至332-n向在步骤S302中确定为要求适用去块滤波器的所有垂直边界,并行适用去块滤波器(步骤S306)。垂直滤波部342-1至342-n向在步骤S304中确定为要求适用去块滤波器的所有水平边界,并行适用去块滤波器(步骤S308)。步骤S306和S308 也是并行执行的。The horizontal filtering units 332-1 to 332-n apply deblocking filters in parallel to all vertical boundaries determined to require deblocking filters in step S302 (step S306). The vertical filtering units 342-1 to 342-n apply deblocking filters in parallel to all horizontal boundaries determined to require deblocking filters in step S304 (step S308). Steps S306 and S308 are also performed in parallel.
然后计算部360执行如图39所示的像素值计算处理(步骤S310)。参考图39,从步骤S314至步骤S326的处理对于每个要处理的像素循环(步骤S312)。The calculation section 360 then performs the pixel value calculation process (step S310) shown in Fig. 39. Referring to Fig. 39, the process from step S314 to step S326 loops for each pixel to be processed (step S312).
在步骤S314,计算部360确定垂直边界和水平边界的两个滤波器是否已将关注的像素进行了滤波(步骤S314)。如果两个滤波器已将关注的像素进行了滤波,那么处理前进至步骤S322。如果两个滤波器尚未将关注的像素进行了波,那么处理前进至步骤S316。In step S314, the calculation unit 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 unit 360 determines whether the pixel of interest has been filtered by one of the two filters for the vertical boundary and the horizontal boundary (step S316). If the pixel of interest has been filtered by one of the two filters, the process proceeds to step S320. If the pixel of interest has not been filtered by either filter, the process proceeds to step S318.
在步骤S318,计算部360获取对去块滤波器24的输入像素值(步骤S318)。在步骤S320,计算部360获取来自实际上对关注像素滤波的滤波器的滤波器输出(步骤S320)。In step S318, the calculation section 360 obtains the input pixel value to the deblocking filter 24 (step S318). In step S320, the calculation section 360 obtains the filter output from the filter that actually filters the pixel of interest (step S320).
在步骤S322,计算部360根据从关注像素到垂直边界和水平边界的距离、或者对应于关注像素的垂直边界和水平边界的边缘强度,确定计算关于关注像素的用于来自两个滤波器的滤波器输出的加权平均的权重值(步骤S322)。计算部360使用确定的权重,计算来自两个滤波器的滤波器输出的加权平均(步骤S324)。In step S322, the calculation unit 360 determines a weight value for calculating a weighted average of the filter outputs from the two filters with respect 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 unit 360 calculates the weighted average of the filter outputs from the two filters using the determined weight (step S324).
计算部360将关注像素的像素值存储在存储器中,其中像素值是在步骤S318或者S320中获取的,或者在步骤S324中计算的(步骤 S326)。当对所有待处理的像素执行处理时,图38和39所示的一系列处理终止。The calculation section 360 stores the pixel value of the pixel of interest in the memory, wherein the pixel value is acquired in step S318 or S320 or calculated in step S324 (step S326). When the processing is performed on all the pixels to be processed, the series of processing shown in Figures 38 and 39 is terminated.
<6.应用于各种编解码器><6. Application to various codecs>
根据本公开的技术能够适用于与图像编码和解码相关的各种编解码器。下面说明将根据本公开的技术适用于多视图编解码器和可扩展编解码器的示例。The technology according to the present disclosure can be applied 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]
多视图编解码器是对多视角的视频进行编码和解码的图像编码系统。图40是示出多视图编解码器的说明图。图40示出在三个观察点捕获的三个视图的帧的序列。每个视图被提供有视图ID(view_id)。这些视图之一被指定为基本视图。基本视图以外的视图被称为非基本视图。图40的示例表示视图ID为“0”的基本视图和视图ID为“1”或者“2”的两个非基本视图。通过基于有关基本视图的帧的编码信息来将非基本视图的帧进行编码,将多视图图像数据编码可以将作为整体的编码流的数据尺寸压缩。A multi-view codec is an image encoding system that encodes and decodes multi-view videos. Figure 40 is an explanatory diagram showing a multi-view codec. Figure 40 shows a sequence of frames of three views captured at three observation points. Each view is provided with a view ID (view_id). One of these views is designated as a base view. Views other than the base view are referred to as non-base views. The example of Figure 40 shows a base view with a view ID of "0" and two non-base views with a view ID of "1" or "2". By encoding the frames of the non-base views based on the encoding information about the frames of the base view, encoding the multi-view image data can compress the data size of the encoded stream as a whole.
在根据上述的多视图编解码器的编码处理和解码处理中,去块滤波器可以适用于每个视图。当去块滤波器被适用于每个视图时,在垂直块边界和水平块边界的对每个视图的滤波需要确定处理可以基于根据本公开的技术而并行化。对于每个视图的滤波需要确定处理和滤波处理可以并行化。可以对每个视图提供控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。提供给基本视图的参数可以重新用于非基本视图。In the encoding and decoding processes of the multi-view codec described above, a deblocking filter can be applied to each view. When a deblocking filter is applied to each view, the filtering need determination process for each view at vertical block boundaries and horizontal block boundaries can be parallelized based on the technology according to the present disclosure. The filtering need determination process and the filtering process for each view can be parallelized. Parameters controlling the filtering need determination process or the filtering process (such as the one described in the previous paragraph 0094) can be provided for each view. The parameters provided to the base view can be reused for non-base views.
滤波需要确定处理或者滤波处理可以在多个视图上并行化。视图可以共享控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。追加指定表明视图是否共享参数的标志可以是有利的。The filtering needs determination process or the filtering process can be parallelized on multiple views. The views can share parameters that control the filtering needs determination process or the filtering process (such as the one described in the previous paragraph 0094). It may be advantageous to additionally specify a flag indicating whether the views share parameters.
图41是示出适用于上述多视图编解码器的图像编码处理的说明图。图41示出多视图编码设备710的配置作为一个示例。多视图编码设备710包含第一编码部720、第二编码部730和复用部740。Fig. 41 is an explanatory diagram showing an image encoding process applicable to the multi-view codec described above. Fig. 41 shows the configuration of a multi-view encoding device 710 as an example. The multi-view encoding device 710 includes a first encoding section 720, a second encoding section 730, and a multiplexing section 740.
第一编码部720将基本视图图像编码,并产生基本视图的编码流。第二编码部730将非基本视图图像编码,并产生非基本视图的编码流。复用部740将从第一编码部720产生的基本视图的编码流、和从第二编码部730产生的非基本视图的一个或多个编码流复用,以产生多视图的复用的流。The first encoding unit 720 encodes the base view image and generates a base view coded stream. The second encoding unit 730 encodes the non-base view images and generates non-base view coded streams. The multiplexing unit 740 multiplexes the base view coded stream generated by the first encoding unit 720 and one or more non-base view coded streams generated by the second encoding unit 730 to generate a multi-view multiplexed stream.
图41所示的第一编码部720和第二编码部730配置得类似于根据上述实施例的图像编码设备10。向视图适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以插入至每个视图的编码流的头部区,或者至复用流中的公共头部区。The first encoding unit 720 and the second encoding unit 730 shown in FIG41 are configured similarly to the image encoding device 10 according to the above-described embodiment. Applying a deblocking filter to each view enables parallelization of the filtering necessity determination process for vertical and horizontal block boundaries, or parallelization of the filtering necessity determination process and the filtering process. Parameters controlling these processes can be inserted into the header region of the coded stream for each view, or into the common header region of the multiplexed stream.
图42是示出适用于上述多视图编解码器的图像解码处理的说明图。图42示出多视图解码设备760的配置作为一个示例。多视图解码设备760包含解复用部770、第一解码部780和第二解码部790。Fig. 42 is an explanatory diagram showing an image decoding process applicable to the multi-view codec described above. Fig. 42 shows the configuration of a multi-view decoding device 760 as an example. 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 unit 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 unit 780 decodes the base view image from the base view coded stream. The second decoding unit 790 decodes the non-base view images from the non-base view coded streams.
图42所示的第一解码部780和第二解码部790配置得类似于根据上述实施例的图像解码设备60。向视图适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以从每个视图的编码流程的头部区、或者从复用流中的公共头部区获取。The first decoding unit 780 and the second decoding unit 790 shown in FIG42 are configured similarly to the image decoding apparatus 60 according to the above embodiment. Applying a deblocking filter to each view enables parallelization of the filtering necessity determination process for vertical and horizontal block boundaries, or parallelization of the filtering necessity determination process and the filtering process. Parameters controlling these processes can be obtained from the header area of the encoding process for each view, or from a common header area in the multiplexed stream.
[6-2.可扩展编解码器][6-2. Scalable Codec]
可扩展编解码器是提供分层编码的图像编码系统。图43是示出可扩展编解码器的说明图。图43示出对于不同的空间分辨率、时间分辨率、或者图像质量的三层的帧序列。每个层被提供有层ID(layer_id)。这些层包含具有最低分辨率(或者图像质量)的基本层。基本层以外的层被称为增强层。图43的示例表示层ID为“0”的基本层和层ID 为“1”或者“2”的两个增强层。通过基于有关基本层的帧的编码信息来将增强层的帧编码,将多层图像数据编码可以将作为整体的编码流的数据尺寸压缩。A scalable codec is an image coding system that provides layered coding. FIG43 is an explanatory diagram showing a scalable codec. FIG43 shows a frame sequence of three layers for different spatial resolutions, temporal resolutions, or image qualities. Each layer is provided with a layer ID (layer_id). These layers include a base layer with the lowest resolution (or image quality). Layers other than the base layer are called enhancement layers. The example of FIG43 shows a base layer with a layer ID of "0" and two enhancement layers with a layer ID of "1" or "2". By encoding the frames of the enhancement layer based on the coding information about the frames of the base layer, encoding the multi-layer image data can compress the data size of the coded stream as a whole.
在根据上述的可扩展编解码器的编码处理和解码处理中,去块滤波可以适用于每个层。当去块滤波被适用于每个层时,对垂直块边界和水平块边界的每个层的滤波需要确定处理可以基于根据本公开的技术而并行化。对于每个层的滤波需要确定处理和滤波处理可以并行化。可以对每个层提供控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。提供给基本层的参数可以重新用于增强层。In the encoding and decoding processes of the scalable codec described above, deblocking filtering can be applied to each layer. When deblocking filtering is applied to each layer, the filtering need determination process for each layer at vertical block boundaries and horizontal block boundaries can be parallelized based on the technology disclosed herein. The filtering need determination process and the filtering process for each layer can be parallelized. Parameters controlling the filtering need determination process or the filtering process (such as the one described in the previous paragraph 0094) can be provided for each layer. The parameters provided to the base layer can be reused for the enhancement layer.
滤波需要确定处理或者滤波处理可以在多个层上并行化。多个层可以共享控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。追加指定表明层是否共享参数的标志可以是有利的。The filtering needs determination process or the filtering process can be parallelized on multiple layers. Multiple layers can share parameters that control the filtering needs determination process or the filtering process (such as the one described in the previous paragraph 0094). It may be advantageous to additionally specify a flag indicating whether the layer shares the parameter.
图44是示出适用于上述可扩展编解码器的图像编码处理的说明图。图44示出可扩展编码设备810的配置作为一个示例。可扩展编码设备810包含第一编码部820、第二编码部830和复用部840。Fig. 44 is an explanatory diagram showing an image encoding process applicable to the above-mentioned scalable codec. Fig. 44 shows the configuration of a scalable encoding device 810 as an example. The scalable encoding device 810 includes a first encoding unit 820, a second encoding unit 830, and a multiplexing unit 840.
第一编码部820将基本层图像编码,并产生基本层的编码流。第二编码部830将增强层图像编码,并产生增强层的编码流。复用部840 将从第一编码部820产生的基本层的编码流、和从第二编码部830产生的增强层的一个或多个编码流复用,以产生多层的复用流。The first encoding unit 820 encodes the base layer image and generates a coded stream of the base layer. The second encoding unit 830 encodes the enhancement layer image and generates a coded stream of the enhancement layer. The multiplexing unit 840 multiplexes the coded stream of the base layer generated by the first encoding unit 820 and one or more coded streams of the enhancement layer generated by the second encoding unit 830 to generate a multi-layer multiplexed stream.
图44所示的第一编码部820和第二编码部830配置得类似于根据上述实施例的图像编码设备10。向各层适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以插入至每个层的编码流的头部区、或者至复用流中的公共头部区。The first encoding unit 820 and the second encoding unit 830 shown in FIG44 are configured similarly to the image encoding device 10 according to the above-described embodiment. Applying a deblocking filter to each layer can parallelize the filtering necessity determination process for vertical block boundaries and horizontal block boundaries, or the filtering necessity determination process and the filtering process. 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.
图45是示出适用于上述可扩展编解码器的图像解码处理的说明图。图45示出可扩展解码设备860的配置作为一个示例。可扩展解码设备860包含解复用部870、第一解码部880和第二解码部890。Fig. 45 is an explanatory diagram showing an image decoding process applicable to the scalable codec. Fig. 45 shows an example of a configuration of a scalable decoding device 860. The scalable decoding device 860 includes a demultiplexing unit 870, a first decoding unit 880, and a second decoding unit 890.
解复用部870将多层的复用流解复用为基本层的编码流、和一个或多个增强层的编码流。第一解码部880根据基本层的编码流将基本层图像解码。第二解码部890根据增强层的编码流将增强层图像解码。The demultiplexing unit 870 demultiplexes the multiplexed streams into a base layer coded stream and one or more enhancement layer coded streams. The first decoding unit 880 decodes the base layer image from the base layer coded stream. The second decoding unit 890 decodes the enhancement layer image from the enhancement layer coded stream.
图45所示的第一解码部880和第二解码部890配置得类似于根据上述实施例的图像解码设备60。向各层适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以从每个层的编码流的头部区、或者从复用流中的公共头部区获取。The first decoding unit 880 and the second decoding unit 890 shown in FIG45 are configured similarly to the image decoding device 60 according to the above embodiment. Applying a deblocking filter to each layer can parallelize the filtering necessity determination process for vertical block boundaries and horizontal block boundaries, or the filtering necessity determination process and the filtering process. Parameters controlling these processes can be obtained from the header area of the coded stream of each layer or from the common header area in the multiplexed stream.
<7.示例应用><7. Sample Application>
根据上述实施例的图像编码设备10和图像解码设备60可以适用于各种电子电器,诸如卫星广播、有线电视等有线广播、互联网上的发布、经由蜂窝通信至终端的发布等的发射机和接收机,在诸如光盘、磁盘或者闪存存储器等介质上记录图像的记录设备,从这样的存储介质再现图像的再现设备等。下面说明4个示例应用。The image encoding device 10 and image decoding device 60 according to the above-described embodiments can be applied to various electronic devices, such as transmitters and receivers for satellite broadcasting, cable broadcasting such as cable television, distribution on 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 example applications are described below.
[71.第一示例应用][71. First Example Application]
图46是示出采用上述的实施例的电视的概要配置的示例的框图。电视900包含天线901、调谐器902、解复用器903、解码器904、视频信号处理部905、显示部906、音频信号处理部907、扬声器908、外部接口909、控制部910、用户接口911和总线912。46 is a block diagram showing an example of a schematic configuration of a television using the above-described embodiment. A television 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, and a bus 912.
调谐器902从经由天线901接收的广播信号提取期望的频道的信号,并将提取的信号解调。然后,调谐器902将由解调获得的编码比特流输出至解复用器903。调谐器902用作电视900的传输装置,用于接收图像被编码的编码流。The tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901 and demodulates the extracted signal. The tuner 902 then outputs a coded bit stream obtained by demodulation to the demultiplexer 903. The tuner 902 serves as a transmission device of the television 900 for receiving a coded stream in which an image is coded.
解复用器903从编码的比特流分离出要观看的节目的视频流和音频流,并将已被分离的每个流输出至解码器904。另外,解复用器903 从编码的比特流提取诸如EPG(电子节目指南)等辅助数据,并将提取的数据提供给控制部910。此外,在编码的比特流被加扰的情况下,解复用器903可以执行解扰。The demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control section 910. In addition, in the case where the encoded 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. The decoder 904 then 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 unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video. The video signal processing unit 905 may also cause the display unit 906 to display an application screen provided via the network. Furthermore, the video signal processing unit 905 may perform additional processing, such as noise removal on the video data, according to settings. Furthermore, the video signal processing unit 905 may generate images of GUIs (graphical user interfaces), such as menus, buttons, and cursors, and superimpose these images on the output image.
显示部906由视频信号处理部905提供的驱动信号驱动,并在显示设备的视频屏幕(例如液晶显示器、等离子体显示器、OLED等) 上显示视频或者图像。The display unit 906 is driven by a driving signal provided by the video signal processing unit 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 for connecting the television 900 to an external appliance or a network. For example, a video stream or an audio stream received via 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根据从用户接口911输入的操作信号,例如通过执行程序来控制电视900的运行。The control unit 910 includes a processor such as a CPU (Central Processing Unit) and memory such as RAM (Random Access Memory) and ROM (Read Only Memory). The memory stores programs to be executed by the CPU, program data, EPG data, data acquired via a network, and the like. For example, when the television 900 is turned on, the program stored in the memory is read and executed by the CPU. The CPU controls the operation of the television 900 by, for example, executing the program in response to an operation signal input from the user interface 911.
用户接口911被连接至控制部910。用户接口911例如包含由用户用于操作电视900的按钮和开关、以及用于遥控信号的接收部。用户接口911经由这些构成要素检测用户的操作,产生操作信号,并将产生的操作信号输出至控制部910。The user interface 911 is connected to the control unit 910. The user interface 911 includes, for example, buttons and switches used by the user to operate the television 900, and a receiver for remote control signals. The user interface 911 detects user operations via 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 connects 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 to one another.
在以该方式配置的电视900中,解码器904具有根据上述实施例的图像解码设备60的功能。从而,在电视900中的图像解码的情况下,也可以增强去块滤波器处理的并行度,并保证高速处理。In the television 900 configured in this manner, the decoder 904 has the function of the image decoding device 60 according to the above embodiment. Thus, also in the case of image decoding in the television 900, the parallelism of the deblocking filter processing can be enhanced and high-speed processing can be ensured.
[7-2.第二示例应用][7-2. Second Example Application]
图47是示出采用上述的实施例的移动电话的概要配置的示例的框图。移动电话920包含天线921、通信部922、音频编解码器923、扬声器924、麦克风925、相机部926、图像处理部927、解复用部928、记录/再现部929、显示部930、控制部931、操作部932和总线933。47 is a block diagram showing an example of a schematic configuration of a mobile phone employing the above-described embodiment. The mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording/reproducing unit 929, a display unit 930, a control unit 931, an operation unit 932, and a bus 933.
天线921被连接至通信部922。扬声器924和麦克风925被连接至音频编解码器923。操作部932被连接至控制部931。总线933将通信部922、音频编解码器923、相机部926、图像处理部927、解复用部928、记录/再现部929、显示部930和控制部931互相连接。The antenna 921 is connected to the communication section 922. The speaker 924 and the microphone 925 are connected to the audio codec 923. The operation section 932 is connected to the control section 931. The bus 933 connects 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 to each other.
移动电话920以包含音频通信模式、数据通信模式、图像捕获模式和视频电话模式等各种运行模式执行诸如音频信号的发送/接收、电子邮件或者图像数据的发送/接收、图像捕获、数据的记录等操作。The mobile phone 920 performs operations such as transmission/reception of audio signals, transmission/reception of e-mail or image data, image capture, recording of data, etc. in various operation modes including an audio communication mode, a data communication mode, an image capturing 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 the 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, and performs A/D conversion and compression on the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922. The communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 sends the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies the wireless signal received via the antenna 921, converts the frequency of the wireless signal, and obtains the received signal. Then, the communication unit 922 demodulates and decodes the received signal and generates audio data, and outputs the generated audio data to the audio codec 923. The audio codec 923 expands the audio data and performs D/A conversion and generates an analog audio signal. Then, the audio codec 923 provides the generated audio signal to the speaker 924 and outputs the audio.
另外,在数据通信模式中,控制部931例如根据用户经由操作部 932的操作,产生构成电子邮件的文本数据。此外,控制部931使文本显示在显示部930。此外,控制部931根据用户经由操作部932的发送指令,产生电子邮件数据,并将产生的电子邮件数据输出至通信部922。然后,通信部922将电子邮件数据编码并调制,并产生发送信号。然后,通信部922将产生的发送信号经由天线921发送至基站 (未示出)。另外,通信部922将经由天线921接收的无线信号放大,并转换无线信号的频率,并获取接收的信号。然后,通信部922将接收的信号解调并解码,恢复电子邮件数据,并将恢复的电子邮件数据输出至控制部931。控制部931使显示部930显示电子邮件的内容,另外使电子邮件数据存储在记录/再现部929的存储介质中。In data communication mode, the control unit 931 generates text data constituting an email, for example, based on user operations via the operation unit 932. Furthermore, the control unit 931 causes the text to be displayed on the display unit 930. Furthermore, based on a user transmission instruction via the operation unit 932, the control unit 931 generates email data and outputs the generated email data to the communication unit 922. The communication unit 922 then encodes and modulates the email data and generates a transmission signal. The communication unit 922 then transmits the generated transmission signal to a base station (not shown) via the antenna 921. Furthermore, the communication unit 922 amplifies the wireless signal received via the antenna 921, converts the frequency of the wireless signal, and acquires the received signal. The communication unit 922 then demodulates and decodes the received signal to recover the email data and outputs the recovered email data to the control unit 931. The control unit 931 causes the display unit 930 to display the contents of the email and also stores the email data on the storage medium of the recording/reproducing unit 929.
记录/再现部929包含任意可读并可写的存储介质。例如,存储介质可以是诸如RAM、闪存存储器等内置的存储介质,或者诸如硬盘、磁盘、光磁盘、光盘、USB存储器、存储卡等外部装载的存储介质。The recording/reproducing unit 929 includes any readable and writable storage medium. For example, the storage medium may be a built-in storage medium such as RAM, flash memory, or an externally loaded storage medium such as a hard disk, magnetic disk, optical disk, optical disc, USB memory, or memory card.
此外,在图像捕获模式中,相机部926例如捕获被摄物的图像,产生图像数据,并将产生的图像数据输出至图像处理部927。图像处理部927将从相机部926输入的图像数据编码,并使编码流存储在记录/再现部929的存储介质中。Furthermore, in the image capture 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 and causes the encoded stream to be 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,并使音频输出。In addition, in the video phone mode, the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and outputs the multiplexed stream to the communication unit 922. The communication unit 922 encodes and modulates the stream and generates a transmission signal. The communication unit 922 then sends the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies the wireless signal received via the antenna 921, converts the frequency of the wireless signal, and obtains the received signal. These transmission signals and received signals may include an encoded bit stream. The communication unit 922 then demodulates and decodes the received signal, restores the stream, and outputs the restored stream to the demultiplexing unit 928. The demultiplexing unit 928 separates the video stream and the audio stream from the input stream, outputs the video stream to the image processing unit 927, and outputs the audio stream to the audio codec 923. The image processing unit 927 decodes the video stream and generates video data. The video data is supplied to the display unit 930, and a series of images are displayed on the display unit 930. The audio codec 923 expands and D/A converts the audio stream and generates an analog audio signal. The audio codec 923 then supplies the generated audio signal to the speaker 924 and outputs the audio.
在以该方式配置的移动电话920中,图像处理部927具有根据上述实施例的图像编码设备10和图像解码设备60的功能。从而,在移动电话920中的图像解码和编码的情况下,也能够增强去块滤波器处理的并行度,并保证高速处理。In the mobile phone 920 configured in this manner, the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Thus, even in the case of image decoding and encoding in the mobile phone 920, the parallelism of the deblocking filter processing can be enhanced, and high-speed processing can be ensured.
[7-3.第三示例应用][7-3. Third Example Application]
图48是示出采用上述的实施例的记录/再现设备的概要配置的示例的框图。记录/再现设备940例如对接收的广播节目的音频数据和视频数据编码并记录在记录介质。记录/再现设备940例如还可以对从另一设备获取的音频数据和视频数据编码并记录在记录介质。此外,记录/再现设备940例如根据用户的指令,使用监控器或者扬声器,再现记录在记录介质的数据。此时,记录/再现设备940将音频数据和视频数据解码。Figure 48 is a block diagram showing an example of the schematic configuration of a recording/reproducing device using the above-described embodiment. The recording/reproducing device 940, for example, encodes the audio data and video data of a received broadcast program and records them on a recording medium. The recording/reproducing device 940 can also encode audio data and video data obtained from another device and record them on a recording medium. In addition, the recording/reproducing device 940, for example, reproduces the data recorded on the recording medium using a monitor or speaker in accordance with user instructions. In this case, the recording/reproducing device 940 decodes the audio data and video data.
记录/再现设备940包含调谐器941、外部接口942、编码器943、 HDD(硬盘驱动器)944、盘驱动器945、选择器946、解码器947、 OSD(On-Screen Display,屏幕上显示)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, a disk 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 via 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 functions 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 to an external appliance 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 by the external interface 942 are input to the encoder 943. In other words, the external interface 942 functions 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 the encoded bit stream, various programs, and other items of data as compressed video or audio content data on an internal hard disk. In addition, the HDD 944 reads these items of data from the hard disk when reproducing video or audio.
盘驱动器945在装载的记录介质记录或者读出数据。装载在盘驱动器945的记录介质可以是例如DVD盘(DVD-Video,DVD-RAM、 DVD-R、DVD-RW、DVD+、DVD+RW等)、蓝光(注册商标)盘等。The disk drive 945 records or reads data on a loaded recording medium. The recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+, DVD+RW, etc.), a Blu-ray (registered trademark) disk, or the like.
选择器946在记录视频或者音频时选择从调谐器941或者编码器 943输入的编码的比特流,并将选择的编码的比特流输出至HDD 944 或者盘驱动器945。另外,选择器946在再现视频或者音频时,将从 HDD 944或者盘驱动器945输入的编码的比特流输出至解码器947。The selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video or audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 when reproducing video or audio.
解码器947将编码的比特流解码,并产生视频数据和音频数据。然后,解码器947将产生的视频数据输出至OSD 948。另外,解码器 904将产生的音频数据输出至外部扬声器。The decoder 947 decodes the encoded bit stream and generates video data and audio data. The decoder 947 then 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 and displays the video. In addition, the OSD 948 may superimpose an image of a GUI such as a menu, a button, a cursor, or the like on the displayed video, for example.
控制部949包含诸如CPU等处理器和诸如RAM或者ROM等存储器。存储器存储由CPU执行的程序、程序数据等。例如在记录/再现设备940启动时,存储在存储器的程序被CPU读出并执行。CPU 根据从用户接口950输入的操作信号,例如通过执行程序来控制记录/ 再现设备940的运行。The control unit 949 includes a processor such as a CPU and a memory such as RAM or ROM. The memory stores programs executed by the CPU, program data, and the like. For example, when the recording/reproducing device 940 is activated, the program stored in the memory is read and executed by the CPU. The CPU controls the operation of the recording/reproducing device 940 by, for example, executing the program in response to an operation signal input from the user interface 950.
用户接口950被连接至控制部949。用户接口950例如包含用户用于操作记录/再现设备940的按钮和开关、以及对于遥控信号的接收部。用户接口950经由这些构成要素检测用户的操作,产生操作信号,并将产生的操作信号输出至控制部949。The user interface 950 is connected to the control unit 949. The user interface 950 includes, for example, buttons and switches used by the user to operate the recording/reproducing device 940, and a receiving unit for remote control signals. The user interface 950 detects user operations via these components, generates operation signals, and outputs the generated operation signals to the control unit 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. Thus, even in the case of image decoding and encoding in the recording/reproducing device 940, it is possible to enhance the parallelism of the deblocking filter processing and ensure high-speed processing.
[7-4.第四示例应用][7-4. Fourth Example Application]
图49是示出采用上述的实施例的图像捕获设备的概要配置的示例的框图。图像捕获设备960捕获被摄物的图像,产生图像,对图像数据编码,并将图像数据记录在记录介质。Fig. 49 is a block diagram showing an example of the schematic configuration of an image capturing device employing the above-described embodiment. The image capturing device 960 captures an image of a subject, generates an image, encodes the image data, and records the image data on a recording medium.
图像捕获设备960包含光学块961、图像捕获部962、信号处理部 963、图像处理部964、显示部965、外部接口966、存储器967、介质驱动器968、OSD 969、控制部970、用户接口971和总线972。The image capture device 960 includes an optical block 961, an image capture 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 block 961 is connected to the image capturing section 962. The image capturing 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 block 961 includes a focusing lens, an aperture stop mechanism, and other components. The optical block 961 forms an optical image of the subject on the image capture surface of the image capture unit 962. The image capture unit 962 includes an image sensor such as a CCD or CMOS sensor, and converts the optical image formed on the image capture surface into an electrical image signal through photoelectric conversion. The image capture unit 962 then outputs the image signal to the signal processing unit 963.
信号处理部963对从图像捕获部962输入的图像信号执行诸如拐点校正、伽马校正、颜色校正等各种相机信号处理。信号处理部963 将相机信号处理后的图像数据输出至图像处理部964。The signal processing section 963 performs various camera signal processes such as knee correction, gamma correction, color correction, etc. on the image signal input from the image capturing section 962 . The signal processing section 963 outputs image data after the camera signal process to the image processing section 964 .
图像处理部964将从信号处理部963输入的图像数据编码,并产生编码的数据。然后,图像处理部964将产生的编码的数据至外部接口966或者介质驱动器968。另外,图像处理部964将从外部接口966 或者介质驱动器968输入的编码的数据解码,并产生图像数据。然后,图像处理部964将产生的图像数据输出至显示部965。另外,图像处理部964可以将从信号处理部963输入的图像数据输出至显示部965,并使图像显示。此外,图像处理部964可以在输出至显示部965的图像叠加从OSD 969获取的用于显示的数据。The image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. The image processing unit 964 then transmits the generated encoded data to the external interface 966 or the media drive 968. In addition, the image processing unit 964 decodes the encoded data input from the external interface 966 or the media drive 968 and generates image data. The image processing unit 964 then outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 and display the image. In addition, the image processing unit 964 may superimpose the data for display obtained from the OSD 969 on the image output to the display unit 965.
OSD 969产生诸如菜单、按钮、光标等GUI的图像,并将产生的图像输出至图像处理部964。The OSD 969 generates an image of a GUI such as a menu, a button, a cursor, and the like, and outputs the generated image 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 image capture device 960 to a printer. Furthermore, a drive is connected to the external interface 966 as needed. For example, removable media such as a magnetic disk or optical disk is loaded into the drive, and a program read from the removable media can be installed in the image capture device 960. Furthermore, the external interface 966 can be configured as a network interface connected to a network such as a LAN or the Internet. In other words, the external interface 966 functions as a transmission device for the image capture device 960.
装载在介质驱动器968的记录介质例如可以是任意可读和可写的可移动的介质,诸如磁盘、光磁盘、光盘或半导体存储器等。另外,记录介质例如可以固定地装载在例如配置为诸如内置硬盘驱动器或者 SSD(固态驱动器)等非便携的存储部的介质驱动器968上。The recording medium loaded in the media drive 968 may be, for example, any readable and writable removable medium, such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Alternatively, the recording medium may be fixedly loaded in the media drive 968 configured as a non-portable storage unit 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 unit 970 includes a processor such as a CPU and a memory such as RAM or ROM. The memory stores programs executed by the CPU, program data, and the like. For example, when the image capture device 960 is activated, the program stored in the memory is read and executed by the CPU. The CPU controls the operation of the image capture device 960 by, for example, executing the program in response to an operation signal 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, for example, buttons, switches, and the like for the user to operate the image capturing device 960. The user interface 971 detects user operations via these components, generates an operation signal, and outputs the generated operation signal to the control section 970.
在以该方式配置的图像捕获设备960中,图像处理部964具有根据上述实施例的图像编码设备10和图像解码设备60的功能。从而,在图像捕获设备960中的图像解码和编码的情况下,能够增强去块滤波器处理的并行度,并保证高速处理。In the image capturing device 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. Thus, in the case of image decoding and encoding in the image capturing device 960, it is possible to enhance the parallelism of the deblocking filter processing and ensure high-speed processing.
<8.总结>8. Summary
参考图1至49,已说明了根据实施例的、用于图像编码设备10 和图像解码设备60的去块滤波器的3个工作例。3个工作例使用输入至去块滤波器的像素值来确定是否需要适用对于垂直边界和水平边界的去块滤波器。确定处理能够不依赖于于滤波处理结果而并行执行。宏块之间的处理的依赖性被消除,能使宏块的处理并行化。作为结果,可以避免由于去块滤波的处理量大而造成的延迟或者数据码率劣化,并保证高速处理。可以根据诸如图像尺寸或者安装环境等各种条件而灵活配置去块滤波器处理的并行度和顺序。With reference to Figures 1 to 49, three working examples of the deblocking filter for the image encoding device 10 and the image decoding device 60 according to the embodiment have been described. The three working examples use the pixel values input to the deblocking filter to determine whether it is necessary to apply the deblocking filter for vertical boundaries and horizontal boundaries. The determination process can be performed in parallel without relying on the filtering process results. The dependency of the processing between macroblocks is eliminated, and the processing of the macroblocks can be parallelized. As a result, delays or data bit rate degradation caused by the large amount of processing of the deblocking filter can be avoided, and high-speed processing can be guaranteed. The degree of parallelism and order of the deblocking filter processing can be flexibly configured according to various conditions such as image size or installation environment.
根据第一工作例,确定是否向垂直边界适用去块滤波器使用属于不适用对于水平边界的定义的行的像素的像素值。确定是否向水平边界适用去块滤波器使用属于不适用对于垂直边界的定义的行的像素的像素值。对块的滤波处理不更新用于对另一个块的滤波需要确定处理的像素值。即使对给定的块的滤波需要确定处理在对另一个块的滤波处理之后,输入至去块滤波器的像素值也不需要存储在额外的存储器中。这能够节省需要用于装置安装的硬件成本。According to the first working example, whether to apply a deblocking filter to a vertical boundary is determined using the pixel values of pixels belonging to a row to which the definition of a horizontal boundary does not apply. Whether to apply a deblocking filter to a horizontal boundary is determined using the pixel values of pixels belonging to a row to which the definition of a vertical boundary does not apply. Filtering a block does not update the pixel values used to determine that filtering is required for another block. Even if filtering is required for a given block, the pixel values input to the deblocking filter do not need to be stored in an additional memory after filtering another block. This can save hardware costs required for device installation.
根据第二工作例,不由滤波处理更新的存储器存储输入至去块滤波器的像素值。滤波需要确定处理参考输入像素值。在这种情况下,滤波需要确定处理参考其位置不受限制的像素。这使得能够对诸如滤波必要性的更精确的确定或者以降低的处理成本确定等各种目的适当地使用灵活的确定条件。According to the second working example, a memory that is not updated by the filtering process stores pixel values input to the deblocking filter. The filtering process needs to determine the reference input pixel values. In this case, the filtering process needs to determine the reference pixels whose positions are not restricted. This enables the flexible determination conditions to be appropriately used for various purposes, such as more accurately determining the necessity of filtering or determining the necessity with reduced processing costs.
根据第三工作例,对于垂直边界和水平边界的滤波器处理,对输入至去块滤波器的像素滤波。该配置能够使对于垂直边界和水平边界的滤波处理彼此并行化。这能够进一步加速去块滤波器的处理。对于由两个并行执行的滤波处理更新的像素,基于两个滤波器输出来计算输出像素值。并行化两个滤波处理还能够适当的减小在垂直边界和水平边界出现的块失真。输出像素值可以被计算为两个滤波器输出的加权平均。这能够允许去块滤波更有效消除块失真,并进一步改善图像质量。According to the third working example, for the filter processing of vertical boundaries and horizontal boundaries, the pixels input to the deblocking filter are filtered. This configuration can parallelize the filter processing for vertical boundaries and horizontal boundaries with each other. This can further accelerate the processing of the deblocking filter. For pixels updated by two parallel filter processes, the output pixel value is calculated based on the two filter outputs. Parallelizing the two filter processes can also appropriately reduce the block distortion that occurs at the vertical and horizontal boundaries. The output pixel value can be calculated as a weighted average of the two filter outputs. This can allow the deblocking filter to more effectively eliminate block distortion and further improve image quality.
本说明书主要说明的示例是对于垂直边界的滤波处理先于对于水平边界的滤波处理。此外,在对于水平边界的滤波处理先于对于垂直边界的滤波处理的情况同样能够获得根据本公开的技术的上述效果。去块滤波器处理单位或者宏块可以不同于在说明书中说明的尺寸。可用技术可以省略滤波需要确定处理,并且使对垂直边界和水平边界的去块滤波的应用并行化。This specification primarily describes an example in which filtering of vertical boundaries precedes filtering of horizontal boundaries. However, the aforementioned effects of the techniques disclosed herein can also be achieved when filtering of horizontal boundaries precedes filtering of vertical boundaries. The deblocking filter processing unit, or macroblock, may differ from the size described in this specification. Available techniques can omit the filtering requirement determination process and parallelize the application of deblocking filters to vertical and horizontal boundaries.
从编码侧向解码侧发送用于去块滤波处理并行化的信息的技术不限于将信息复用至编码流头部的技术。例如,信息可能无法复用至编码比特流,但是可以发送或者记录为与编码的比特流关联的分立的数据。术语“关联”表明保证将含在比特流的图像(或者诸如片或者块等图像的部分)与对应于图像的信息链接的可能性。即,信息可以在不同于用于图像(或者比特流)的发送路径上发送。信息可以记录在不同于用于图像(或者比特流)的记录介质(或者相同的记录介质的不同记录区)。信息和图像(或者比特流)可以基于诸如多个帧、一个帧、或者帧的一部分等任意单位互相关联。The technology for sending information for parallelization of deblocking filtering processing from the encoding side to the decoding side is not limited to the technology of multiplexing the information into the header of the coded stream. For example, the information may not be multiplexed into the coded bit stream, but it can be sent or recorded as separate data associated with the coded bit stream. The term "association" indicates the possibility of guaranteeing the linking of the image (or part of the image such as a slice or block) contained in the bit stream with the information corresponding to the image. That is, the information can be sent on a transmission path different from that used for the image (or bit stream). The information can be recorded on a recording medium different from that used for the image (or bit stream) (or a different recording area of the same recording medium). The information and the image (or bit stream) can be associated with each other based on arbitrary units such as multiple frames, one frame, or a part of a frame.
虽然上述已参考附图说明了本发明的优选的实施例,但本发明当然不限于上述示例。本领域的技术人员在所附的权利要求的范围内可以发现各种变更和改良,应该理解的是其自然属于本发明的技术范围。Although the preferred embodiments of the present invention have been described above with reference to the accompanying drawings, the present invention is of course not limited to the above examples. Those skilled in the art may find various changes and improvements within the scope of the appended claims, which should be understood to naturally fall 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." Generally speaking, filtering for vertical boundaries uses horizontally arranged filter taps. Filtering for horizontal boundaries uses vertically arranged filter taps. Therefore, the above nomenclature is used for the filtering processes.
Claims (8)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010-272907 | 2010-12-07 | ||
| JP2011-004391 | 2011-01-12 | ||
| JP2011-045652 | 2011-03-02 | ||
| JP2011-117557 | 2011-05-26 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| HK1229110A HK1229110A (en) | 2017-11-10 |
| HK1229110A1 HK1229110A1 (en) | 2017-11-10 |
| HK1229110B true HK1229110B (en) | 2021-01-15 |
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 | |
| HK1229110B (en) | Image processing device and image processing method | |
| HK1229977B (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 | |
| HK1228620A (en) | Image processing device and image processing method | |
| HK1228620A1 (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 | |
| HK1182865B (en) | Image processing device and image processing method | |
| HK1182865A (en) | Image processing device and image processing method | |
| HK1233094B (en) | Image processing device and image processing method | |
| HK1232703B (en) | Image processing device and image processing method |