JP6519185B2 - Video encoder - Google Patents

Video encoder Download PDF

Info

Publication number
JP6519185B2
JP6519185B2 JP2015004532A JP2015004532A JP6519185B2 JP 6519185 B2 JP6519185 B2 JP 6519185B2 JP 2015004532 A JP2015004532 A JP 2015004532A JP 2015004532 A JP2015004532 A JP 2015004532A JP 6519185 B2 JP6519185 B2 JP 6519185B2
Authority
JP
Japan
Prior art keywords
processing
block
pixels
pixel
specific
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015004532A
Other languages
Japanese (ja)
Other versions
JP2016131300A (en
Inventor
渡部 康弘
康弘 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015004532A priority Critical patent/JP6519185B2/en
Publication of JP2016131300A publication Critical patent/JP2016131300A/en
Application granted granted Critical
Publication of JP6519185B2 publication Critical patent/JP6519185B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動画像符号化技術に関するものである。   The present invention relates to video coding technology.

動画像符号化・動画像復号の規格化された技術として、H.264|MPEG-4 Advanced Video Coding標準(以下、「AVC」と称することとする。)やH.265|MPEG-H High Efficiency Video Coding標準(以下、「HEVC」と称することとする。)が知られている。これらの技術では、符号化によるブロック歪み等による画質の劣化を低減するために、符号化ループ内にフィルタを設ける技術が採用されている。このループ内フィルタに関し、幾つかの技術が知られている。   H.264 | MPEG-4 Advanced Video Coding Standard (hereinafter referred to as "AVC") and H. 265 | MPEG-H High Efficiency as standardized techniques for video coding and video decoding. The Video Coding standard (hereinafter referred to as "HEVC") is known. In these techniques, a technique of providing a filter in a coding loop is employed in order to reduce the deterioration of image quality due to block distortion and the like due to coding. Several techniques are known for this in-loop filter.

例えば、ループ内フィルタ処理で用いるメモリのメモリ容量を削減するという技術が知られている。この技術は、右側ブロック境界に対して直交する水平方向のタップ数が最小であるフィルタサイズで右側ブロック境界から所定範囲内の画像のフィルタ演算を行う場合を前提としている。この技術では、メモリが、フィルタ演算に用いられる所定範囲に含まれていない領域の画像データを記憶する。ここで、水平方向のタップ数が最小でないフィルタサイズが選択されている場合、フィルタ制御部が、フィルタ処理対象画素の位置に基づき所定範囲内に位置するタップおよびメモリに画像データが記憶されていないタップを判別する。そして、所定範囲内およびメモリに記憶されていない画像データを用いることなくフィルタ演算を行うように、フィルタ制御部が、判別されたタップに対して画像データの複写またはフィルタ演算で用いる係数セットの変更を行う。   For example, there is known a technique for reducing the memory capacity of a memory used for in-loop filtering. This technique is premised on the case where the filter operation of an image within a predetermined range from the right block boundary is performed with a filter size in which the number of taps in the horizontal direction orthogonal to the right block boundary is minimum. In this technique, a memory stores image data of an area not included in the predetermined range used for the filter operation. Here, when the filter size in which the number of taps in the horizontal direction is not the smallest is selected, the filter control unit does not store image data in the tap and memory located within the predetermined range based on the position of the filter processing target pixel. Determine the tap. Then, the filter control unit changes the set of coefficients used for copying or filtering the image data for the determined tap so that the filter operation is performed without using the image data which is not stored in the memory and within the predetermined range. I do.

また、低速動作のフィルタ処理手段でループ内フィルタ処理を可能にするという技術が知られている。この技術は、フィルタ処理を施した画像を参照して符号化する動画像符号化および復号化方法を前提としている。この技術では、フィルタ処理を行う際に、画像を2以上の部分領域に分けて部分領域毎に独立に処理し、当該部分領域のうち隣接する部分領域のフィルタ処理結果の影響を受ける範囲については当該隣接する部分領域のフィルタ処理終了後にフィルタ処理を行う。   There is also known a technique for enabling in-loop filtering by low-speed filtering means. This technique is premised on a moving picture coding and decoding method of coding with reference to a filtered image. In this technique, when performing filter processing, an image is divided into two or more partial areas and processed independently for each partial area, and the range affected by the filter processing result of adjacent partial areas among the partial areas is After the end of the filtering process of the adjacent partial area, the filtering process is performed.

更に、ループ内フィルタ処理として実行されるデブロッキングフィルタ処理を、符号化処理を並列に実施したときにも実施し、且つ、符号化処理を並列に実施する際の処理遅延を小さくするという技術が知られている。この技術は、AVCの動画像符号化装置を前提としている。この技術では、互いに隣接するスライスの境界エッジのデブロッキングフィルタ処理を含む第1フィルタ処理と第1フィルタ処理以外のデブロッキングフィルタ処理である第2フィルタ処理とにデブロッキングフィルタ処理を分割する。そして、少なくとも第2フィルタ処理を並列に実施可能な複数の画像符号化部を備える。この技術では、更に、画像符号化部により生成されたデータを可変長符号化する少なくとも1つの可変長符号化部を備える。なお、画像符号化部は、第2フィルタ処理を実施するフィルタ部を有している。ここで、少なくとも1つの画像符号化部のフィルタ部は、第2フィルタ処理を実施してから第1フィルタ処理を実施する。   Furthermore, the deblocking filter process executed as the in-loop filter process is also performed when the encoding process is performed in parallel, and the processing delay when performing the encoding process in parallel is reduced. Are known. This technology is premised on a moving picture coding apparatus of AVC. In this technique, deblocking filter processing is divided into first filter processing including deblocking filter processing of boundary edges of slices adjacent to each other and second filter processing as deblocking filter processing other than the first filter processing. A plurality of image encoding units capable of performing at least the second filter processing in parallel are provided. This technique further includes at least one variable length coding unit that performs variable length coding on the data generated by the image coding unit. The image encoding unit has a filter unit that performs the second filter process. Here, the filter unit of the at least one image encoding unit performs the second filtering process and then performs the first filtering process.

特開2013−98873号公報JP, 2013-98873, A 特開2007−235886号公報Unexamined-Japanese-Patent No. 2007-235886 特開2012−114637号公報JP, 2012-114637, A

HEVCでは、ループ内フィルタ処理として、AVCにおいても採用されていたデブロッキングフィルタ(以下、「DF」と称する。)の処理に加えて、サンプルアダプティブオフセット(以下、「SAO」と称する。)の処理が新たに追加される。このSAO処理は、DF処理に後続して処理される。このような、2段階のフィルタ処理では、多くの画素がフィルタ処理に関与するようになる。このため、画面を複数の領域に分割して各分割領域を複数の処理装置の各々に分担させるようにしてループ内フィルタを処理する場合には、処理装置間でのデータ転送量が非常に多くなってしまう。   In HEVC, in addition to the processing of the deblocking filter (hereinafter referred to as “DF”) that is also adopted in AVC as in-loop filter processing, the processing of sample adaptive offset (hereinafter referred to as “SAO”). Is newly added. This SAO process is processed subsequent to the DF process. In such a two-stage filtering process, many pixels are involved in the filtering process. Therefore, when processing the in-loop filter in such a manner that the screen is divided into a plurality of areas and each divided area is allocated to each of the plurality of processing devices, the amount of data transfer between the processing devices is very large. turn into.

本発明の1つの側面に係わる目的は、画面を分割して符号化処理を行う場合のSAO処理のために隣接した分割領域を処理する処理装置より受け取るデータ量を減らすことである。   An object according to one aspect of the present invention is to reduce the amount of data received from a processing apparatus that processes adjacent divided areas for SAO processing when dividing a screen and performing encoding processing.

本明細書で後述する動画像符号化装置のひとつに、符号化部、局部復号部、画像処理部、及び予測部を備えるというものがある。ここで、符号化部は、入力画像と当該入力画像についての予測画像との差分を符号化する。局部復号部は、符号化部から出力される符号化データを復号し、当該復号の結果と前述の予測画像とに基づいて局部復号画像を得る。画像処理部は、局部復号画像に対して画像処理を行う。予測部は、当該画像処理後の局部復号画像に基づいて前述の予測画像を得る。この構成において、画像処理部は、第1モジュールと第2モジュールとを備えている。第1モジュールは、第1フィルタ処理部と、第2フィルタ処理部と、転送部とを備えている。第1フィルタ処理部は、複数の矩形のブロックに分割されている局部復号画像の画面における各ブロックに対する第1フィルタ処理を、当該各ブロックに含まれる画素及び当該各ブロックに隣接するブロックに含まれる画素の画素値に基づいて行う。第2フィルタ処理部は、第1フィルタ処理が行われた後の各ブロックに対する第2フィルタ処理を、当該各ブロックに含まれる画素及び当該各ブロックに隣接する画素の画素値に基づいて行う。転送部は、複数の矩形のブロックのうちの特定の境界線に接する特定ブロックに当該境界線とは反対側で隣接する特定隣接ブロックに含まれる画素のうちの当該特定ブロックに隣接する画素対する第1フィルタ処理が行われた後の画素の画素値を格納する。第2モジュールは、特定ブロックに対する第1フィルタ処理を行った後、第2フィルタ処理を、第1モジュールから受け取った、特定隣接ブロック内の画素のうちの特定ブロックに隣接する画素であって且つ特定隣接ブロックに対する第1フィルタ処理が行われた後の画素の画素値を用いて行う。当該動画像符号化装置は、第1フィルタ処理が、特定ブロックに含まれる画素のうちの、特定隣接ブロックと隣接する特定隣接画素の画素値を変化させる可能性を有しているか否かを判定し、変化させる可能性を有していると判定した場合には、第2フィルタ処理部を制御して、特定隣接ブロックに対する第2フィルタ処理を、特定隣接画素以外の画素に基づくものに制限して行わせ、変化させないと判定した場合には、特定隣接ブロックに対する第2フィルタ処理への当該制限を行わないように第2フィルタ処理部を制御する制御部を更に備えている。 One of the moving picture coding devices described later in this specification includes a coding unit, a local decoding unit, an image processing unit, and a prediction unit. Here, the encoding unit encodes the difference between the input image and the predicted image of the input image. The local decoding unit decodes the encoded data output from the encoding unit, and obtains a local decoded image based on the result of the decoding and the above-described predicted image. The image processing unit performs image processing on the local decoded image. The prediction unit obtains the above-described predicted image based on the locally decoded image after the image processing. In this configuration, the image processing unit includes a first module and a second module. The first module includes a first filter processing unit, a second filter processing unit, and a transfer unit. The first filter processing unit includes a first filtering process on each block in the screen of the local decoded image divided into a plurality of rectangular blocks, the pixels included in the blocks and the blocks adjacent to the blocks. It does based on the pixel value of a pixel. The second filter processing unit performs a second filter process on each block after the first filter process is performed, based on the pixels included in the block and the pixel values of the pixels adjacent to the block. The transfer unit is configured to select a pixel adjacent to the specific block among pixels included in a specific adjacent block adjacent to the specific block on the opposite side to the specific block in contact with the specific boundary of the plurality of rectangular blocks. 1) Store the pixel value of the pixel after the filter processing is performed. The second module performs the first filtering process on the specific block, and then specifies the second filtering process on the pixels adjacent to the specific block among the pixels in the specific adjacent block, which are received from the first module and are specified It carries out using the pixel value of the pixel after performing the 1st filter processing with respect to an adjacent block. The video encoding apparatus determines whether or not the first filtering process has a possibility of changing the pixel value of a specific adjacent pixel adjacent to a specific adjacent block among the pixels included in the specific block. If it is determined that there is a possibility of changing, the second filter processing unit is controlled to limit the second filter processing for the specific adjacent block to one based on pixels other than the specific adjacent pixel. The control unit further includes a control unit that controls the second filter processing unit not to perform the restriction to the second filtering process on the specific adjacent block when it is determined that the second filtering process is not to be performed.

上述の態様によれば、画面を分割して符号化処理を行う場合のSAO処理のために隣接した分割領域を処理する処理装置より受け取るデータ量が削減される。   According to the above-described aspect, the amount of data received from the processing device that processes adjacent divided areas for SAO processing when the screen is divided to perform encoding processing is reduced.

動画像符号化装置の一例の構成図である。It is a block diagram of an example of a moving picture encoding device. デブロッキングフィルタの説明図(その1)である。It is explanatory drawing (the 1) of a deblocking filter. デブロッキングフィルタの説明図(その2)である。It is explanatory drawing (the 2) of a deblocking filter. デブロッキングフィルタ処理の処理内容を表したフローチャートである。It is a flowchart showing the processing content of the deblocking filter processing. ループ内フィルタ処理に関与する画素の説明図(その1)である。It is explanatory drawing (the 1) of the pixel in connection with in-loop filter processing. ループ内フィルタ処理に関与する画素の説明図(その2)である。It is explanatory drawing (the 2) of the pixel in connection with the in-loop filter processing. 水平方向のChip分割境界におけるループ内フィルタの処理においてのデータ転送量の削減手法を説明する図(その1)である。FIG. 17 is a diagram (part 1) for explaining a method of reducing the amount of data transfer in the processing of the in-loop filter at the Chip division boundary in the horizontal direction. 水平方向のChip分割境界におけるループ内フィルタの処理においてのデータ転送量の削減手法を説明する図(その2)である。FIG. 17 is a second diagram illustrating a method of reducing the amount of data transfer in in-loop filter processing at the Chip division boundary in the horizontal direction. 垂直方向のChip分割境界におけるループ内フィルタの処理においてのデータ転送量の削減手法を説明する図(その1)である。FIG. 16 is a diagram (part 1) for explaining a method of reducing the amount of data transfer in the processing of the in-loop filter at the chip division boundary in the vertical direction. 垂直方向のChip分割境界におけるループ内フィルタの処理においてのデータ転送量の削減手法を説明する図(その2)である。FIG. 17 is a second diagram illustrating a method of reducing the amount of data transfer in the processing of the in-loop filter at the chip division boundary in the vertical direction; ループ内フィルタの構成の一例である。It is an example of the structure of the in-loop filter. SAO処理制御処理の第1の例の処理内容を図解したフローチャートである。It is the flowchart which illustrated the processing contents of the 1st example of SAO processing control processing. エッジオフセット処理におけるエッジオフセットクラスの説明図である。It is explanatory drawing of the edge offset class in an edge offset process. SAO処理制御処理の第2の例の説明図である。It is explanatory drawing of the 2nd example of SAO process control processing. SAO処理制御処理の第2の例の処理内容を図解したフローチャートである。It is the flowchart which illustrated the processing contents of the 2nd example of SAO processing control processing. 動画像符号化処理を行う大規模集積回路装置の一例の機能ブロック図である。It is a functional block diagram of an example of a large scale integrated circuit device which performs a moving picture coding process. 分割境界領域フィルタ処理のためのデータ転送の手順の説明図である。It is explanatory drawing of the procedure of the data transfer for division | segmentation boundary area | region filter processing. コンピュータのハードウェア構成例である。It is an example of hardware constitutions of a computer. 動画像符号化処理の処理内容を図解したフローチャートである。It is the flowchart which illustrates the processing content of the moving picture coding processing.

図1は動画像符号化装置の一例の構成図である。この動画像符号化装置100はHEVCに準拠した装置である。この動画像符号化装置100の各部の動作を簡単に説明する。   FIG. 1 is a block diagram of an example of a moving picture coding apparatus. The video encoding device 100 is a device compliant with HEVC. The operation of each part of the moving picture coding apparatus 100 will be briefly described.

ブロック分割部101は、入力された動画像における各ピクチャを、符号化ツリーユニット(Coding Tree Unit、CTU)と称されている正方の画素ブロックに分割する。   The block division unit 101 divides each picture in the input moving image into square pixel blocks called a coding tree unit (CTU).

減算器102は、ブロック分割部101から出力されるピクチャと、当該ピクチャについての予測値との差分である予測誤差を求める。   The subtractor 102 obtains a prediction error which is a difference between the picture output from the block division unit 101 and the prediction value for the picture.

変換及び量子化部103は、減算器102から出力される予測誤差を直交変換すると共に、変換により得られた値を量子化し、量子化により得られた量子化データを出力する。   The transform and quantization unit 103 orthogonally transforms the prediction error output from the subtractor 102, quantizes the value obtained by the transform, and outputs the quantized data obtained by the quantization.

以上の減算器102並びに変換及び量子化部103は、入力画像と当該入力画像についての予測画像との差分を符号化する符号化部の一例である。   The above subtractor 102 and the transform and quantization unit 103 are an example of an encoding unit that encodes the difference between an input image and a predicted image of the input image.

逆量子化及び逆変換部104は、変換及び量子化部103から出力される量子化データに対して逆量子化及び逆直交変換を施して予測誤差を求める。   The inverse quantization and inverse transformation unit 104 performs inverse quantization and inverse orthogonal transformation on the quantized data output from the transformation and quantization unit 103 to obtain a prediction error.

加算器105は、逆量子化及び逆変換部104から出力される予測誤差に、減算器102に入力された予測値を加算してピクチャの画素値を求めてピクチャの画像を再構成する。この加算器105から出力される、再構成されたピクチャの画像は局部復号画像などと称される。   The adder 105 adds the prediction value input to the subtractor 102 to the prediction error output from the inverse quantization and inverse transformation unit 104 to obtain the pixel value of the picture, thereby reconstructing the picture of the picture. The image of the reconstructed picture output from the adder 105 is referred to as a local decoded image or the like.

以上の逆量子化及び逆変換部104並びに加算器105は、符号化部から出力される符号化データを復号し、該復号の結果と予測画像とに基づいて局部復号画像を得る局部復号部の一例である。   The above inverse quantization and inverse transformation unit 104 and the adder 105 decode the encoded data output from the encoding unit and obtain a locally decoded image based on the result of the decoding and the predicted image. It is an example.

ループ内フィルタ106は、局部復号画像に発生する、ブロック歪みやリンギングを低減させる。フィルタ制御部107は、ループ内フィルタ106で行われるフィルタリング処理の制御を行う。ループ内フィルタ106及びフィルタ制御部107は、局部復号画像に対して画像処理を行う画像処理部の一例である。なお、このループ内フィルタ106については後で更に説明する。   The in-loop filter 106 reduces block distortion and ringing that occur in the local decoded image. The filter control unit 107 controls the filtering process performed by the in-loop filter 106. The in-loop filter 106 and the filter control unit 107 are an example of an image processing unit that performs image processing on a local decoded image. The in-loop filter 106 will be further described later.

フレームメモリ108は、ループ内フィルタ106によってフィルタリング処理が施されたピクチャの画像を格納する。   The frame memory 108 stores the picture of the picture subjected to the filtering process by the in-loop filter 106.

画面内予測部109は、ピクチャ内の画素の相関関係に基づいて画素の画素値を予測する画面内予測によりピクチャの予測を行う。画面内評価部110は、予測対象のピクチャを評価して、画面内予測部109による予測の処理の制御を行う。   The intra prediction unit 109 predicts a picture by intra prediction that predicts the pixel value of a pixel based on the correlation of pixels in a picture. The in-screen evaluation unit 110 evaluates a picture to be predicted, and controls the processing of prediction by the in-screen prediction unit 109.

動き評価部111は、フレームメモリ108に格納されているピクチャ群に映っている被写体の動きベクトルを求める。動き補償部112は、フレームメモリ108に格納されているピクチャ群と動き評価部111が求めた動きベクトルとに基づいて動き補償を施し、ピクチャの予測を行う。   The motion evaluation unit 111 obtains the motion vector of the subject shown in the picture group stored in the frame memory 108. The motion compensation unit 112 performs motion compensation based on the group of pictures stored in the frame memory 108 and the motion vector obtained by the motion evaluation unit 111, and performs picture prediction.

スイッチ113は、画面内予測部109による予測結果と動き補償部112による予測結果とのうちの一方をピクチャの予測結果として選択して減算器102及び加算器105へ出力する。   The switch 113 selects one of the prediction result by the intra prediction unit 109 and the prediction result by the motion compensation unit 112 as the prediction result of the picture and outputs the result to the subtractor 102 and the adder 105.

以上の画面内予測部109、画面内評価部110、動き評価部111、動き補償部112、及びスイッチ113は、前述の画像処理後の局部復号画像に基づいて予測画像を得る予測部の一例である。   The in-screen prediction unit 109, the in-screen evaluation unit 110, the motion evaluation unit 111, the motion compensation unit 112, and the switch 113 described above are an example of a prediction unit that obtains a predicted image based on the locally decoded image after the image processing described above. is there.

制御部114は、動画像符号化装置100の各部の動作を制御する。
エントロピー符号化部115は、変換及び量子化部103から出力される量子化値に対してエントロピー符号化を施して得られたデータに、動画像符号化装置100の各部から得られる各種の情報を所定のフォーマットで付加して符号化データを生成して出力する。
The control unit 114 controls the operation of each unit of the video encoding device 100.
The entropy coding unit 115 uses data obtained by performing entropy coding on the quantized values output from the transform and quantization unit 103 to generate various types of information obtained from each unit of the moving picture coding apparatus 100. It adds in a predetermined format to generate and output encoded data.

次に、ループ内フィルタ106について更に説明する。HEVCでは、ループ内フィルタ106は、前述したDFとSAOとにより構成される。   Next, the in-loop filter 106 will be further described. In HEVC, the in-loop filter 106 is configured of the above-described DF and SAO.

まず、DFについて、図2A及び図2B並びに図3を用いて説明する。
DFは局部復号画像に発生するブロック歪みを低減させるフィルタである。DFは、図2Aにおいて「フィルタ対象境界」として表した、ブロックの境界の近傍の8画素を対象とするものである。より具体的には、図2Bに表されているように、DFは、フィルタ対象境界から最大4画素の範囲までに位置している画素の画素値を参照して、フィルタ対象境界から最大3画素の範囲までに位置している画素の画素値を変更する処理である。
First, DF will be described with reference to FIGS. 2A and 2B and FIG.
DF is a filter that reduces block distortion that occurs in the local decoded image. DF targets eight pixels in the vicinity of the block boundary, which is represented as “filter target boundary” in FIG. 2A. More specifically, as shown in FIG. 2B, DF refers to the pixel value of the pixel located within the range of up to 4 pixels from the border of the filter, and up to 3 pixels from the border of the filter Is a process of changing the pixel value of the pixel located within the range of.

DF処理は、局部復号画像を分割した4画素×4画素の矩形のブロックを単位として処理が行われる。従って、DF処理は、複数の矩形のブロックに分割されている局部復号画像の画面における各ブロックに対して行われる、各ブロックの画素及びフィルタ対象境界を挟んで各ブロックに隣接するブロックに含まれる画素の画素値に基づいたフィルタ処理といえる。つまり、DF処理は第1フィルタ処理の一例である。   In the DF processing, processing is performed in units of rectangular blocks of 4 pixels × 4 pixels obtained by dividing the local decoded image. Therefore, DF processing is performed on each block in the screen of the local decoded image divided into a plurality of rectangular blocks, and is included in a block adjacent to each block across the pixel of the block and the filter target boundary It can be said that the filtering process is based on the pixel value of the pixel. That is, the DF process is an example of the first filter process.

なお、図2Aにおいて「CTB」と表示されている16画素×16画素のブロックは、符号化ツリーブロック(Coding Tree Block)と称されるブロックであり、前述したCTUを構成するブロックである。フィルタ対象境界は8画素×8画素単位のブロックであり、CTBの境界線はフィルタ対象境界となる。   Note that the block of 16 pixels × 16 pixels indicated as “CTB” in FIG. 2A is a block called a coding tree block (Coding Tree Block), and is a block constituting the above-mentioned CTU. The filter target boundary is a block of 8 pixels × 8 pixels, and the CTB boundary line is the filter target boundary.

図3は、DF処理の処理内容を表したフローチャートである。この処理は、例えば演算処理装置によって実行される。   FIG. 3 is a flowchart showing the processing content of the DF processing. This process is performed by, for example, an arithmetic processing unit.

図3において、まず、S101では、フィルタパラメータ算出処理が行われる。この処理は、DFの制御のための各種のパラメータを算出する処理である。このフィルタパラメータとしては、例えば、フィルタ対象境界を挟む両側のブロックに関する情報から算出されるブロック境界強度(Boundary Strength、Bs)値や、ブロック境界領域の画素値の変動量などがある。   In FIG. 3, first, in S101, filter parameter calculation processing is performed. This process is a process of calculating various parameters for controlling the DF. As this filter parameter, there are, for example, a value of Block Boundary Strength (Bs) value calculated from information on blocks on both sides of the filter target boundary, a variation of pixel value of the block boundary area, and the like.

S102では、S101の処理で算出されたパラメータに基づいて、画面における垂直エッジのフィルタ対象境界におけるDFの処理方式を決定する処理が行われる。この処理では、輝度信号に対するDF処理の適用・非適用、色差信号に対するDF処理の適用・非適用、及び、輝度信号に適用する場合におけるDF処理の種類の選択(強フィルタ処理若しくは弱フィルタ処理)についての決定が行われる。   In S102, based on the parameter calculated in the process of S101, a process of determining a DF processing method at the filter target boundary of the vertical edge on the screen is performed. In this process, application / non-application of DF processing to luminance signals, application / non-application of DF processing to color difference signals, and selection of types of DF processing when applied to luminance signals (strong filtering or weak filtering) A decision about is made.

S103では、S102の処理による決定の内容が判定され、決定内容がDF処理の適用と判定された場合には、S104において、垂直エッジのフィルタ対象境界におけるDFの処理が行われる。一方、決定内容がDF処理の非適用と判定された場合には、S104の処理を行うことなく、S105に処理が進む。なお、S103の判定処理は、輝度信号と色差信号とで別々に行われる。また、輝度信号についてのS104の処理では、輝度信号についてのDF処理のうちS102の処理で選択された種類のものが行われ、色差信号についてのS104の処理では、色差信号についてのDF処理が行われる。   In S103, the content of the determination by the process of S102 is determined, and when it is determined that the determination content is the application of the DF process, in S104, the process of DF in the filter target boundary of the vertical edge is performed. On the other hand, when it is determined that the determined content is not applied to the DF process, the process proceeds to S105 without performing the process of S104. The determination process of S103 is performed separately for the luminance signal and the color difference signal. Further, in the process of S104 for the luminance signal, the type of the DF process for the luminance signal selected in the process of S102 is performed, and in the process of S104 for the color difference signal, the DF process for the color difference signal is performed. It will be.

S105では、S101の処理で算出されたパラメータに基づいて、画面における水平エッジのフィルタ対象境界におけるDFの処理方式を決定する処理が行われる。この処理では、輝度信号に対するDF処理の適用・非適用、色差信号に対するDF処理の適用・非適用、及び、輝度信号に適用する場合におけるDF処理の種類の選択(強フィルタ処理若しくは弱フィルタ処理)についての決定が行われる。   In S105, based on the parameter calculated in the process of S101, a process of determining the processing method of the DF at the filter target boundary of the horizontal edge on the screen is performed. In this process, application / non-application of DF processing to luminance signals, application / non-application of DF processing to color difference signals, and selection of types of DF processing when applied to luminance signals (strong filtering or weak filtering) A decision about is made.

S106では、S105の処理による決定の内容が判定され、決定内容がDF処理の適用と判定された場合には、S107において、水平エッジのフィルタ対象境界におけるDFの処理が行われ、その後、処理が終了する。一方、決定内容がDF処理の非適用と判定された場合には、S107の処理を行うことなく、処理が終了する。なお、S106の判定処理は、輝度信号と色差信号とで別々に行われる。また、輝度信号についてのS107の処理では、輝度信号についてのDF処理のうちS105の処理で選択された種類のものが行われ、色差信号についてのS107の処理では、色差信号についてのDF処理が行われる。   In S106, the content of the determination by the processing of S105 is determined, and when it is determined that the determination content is the application of the DF processing, processing of DF in the filter target boundary of the horizontal edge is performed in S107, and then the processing is performed. finish. On the other hand, when it is determined that the determination content is not the application of the DF process, the process ends without performing the process of S107. The determination process of S106 is performed separately for the luminance signal and the color difference signal. Further, in the process of S107 for the luminance signal, the type of the DF process for the luminance signal selected in the process of S105 is performed, and in the process of S107 for the color difference signal, the DF process for the color difference signal is performed. It will be.

以上までの処理がDF処理である。このように、DF処理は、画面における垂直エッジのフィルタ対象境界における処理が先に行われ、その後で、画面における水平エッジのフィルタ対象境界における処理が行われる。   The above processing is the DF processing. Thus, in the DF processing, processing on the filter target boundary of the vertical edge on the screen is performed first, and then processing on the filter target boundary of the horizontal edge on the screen is performed.

次にSAOについて説明する。SAO処理は、局部復号画像におけるエッジの周辺に発生するリンギングを低減させるエッジオフセット処理と、局部復号画像における特定の階調の劣化を低減させるバンドオフセット処理とを含む。   Next, SAO will be described. The SAO processing includes edge offset processing that reduces ringing that occurs around edges in a locally decoded image, and band offset processing that reduces degradation of specific tones in the locally decoded image.

エッジオフセット処理は、処理対象の画素と、当該処理対象の画素を囲む8個の隣接画素のうちの2個との相対的な位置関係及び画素値の大小関係に基づいて、当該処理対象の画素にオフセットを与えるというものである。従って、エッジオフセット処理は、処理対象画素から1画素の範囲に位置している画素に基づいて、処理対象画素の画素値を変更する。   The edge offset processing is performed on the basis of the relative positional relationship between the pixel to be processed and two of eight adjacent pixels surrounding the pixel to be processed and the pixel to be processed based on the relative magnitude of the pixel value. Give an offset to Therefore, in the edge offset processing, the pixel value of the processing target pixel is changed based on the pixel located in the range of one processing pixel from the processing target pixel.

一方、バンドオフセット処理は、処理対象の画素の画素値が、特定の範囲の画素値のバンドに含まれる場合にのみ、そのバンドに応じたオフセットを当該処理対象の画素の画素値に与えるというものである。従って、バンドオフセット処理は、処理対象画素に基づいて、当該処理対象画素自身の画素値を変更するものである。   On the other hand, in the band offset process, an offset according to the band is given to the pixel value of the processing target pixel only when the pixel value of the processing target pixel is included in the band of the pixel value of the specific range. It is. Therefore, the band offset process changes the pixel value of the processing target pixel itself based on the processing target pixel.

以上のエッジオフセット処理とバンドオフセット処理とをまとめると、SAO処理は、処理対象画素から1画素の範囲までに位置している画素を参照し、これらの画素に基づいて当該処理対象画素の画素値を変更する処理であるといえる。ここで、DF処理の処理単位である矩形のブロックを考慮する。この場合、SAO処理は、第1フィルタ処理の一例であるDF処理が行われた後の各ブロックに対して行われる、当該各ブロックに含まれる画素及び当該各ブロックに隣接する画素の画素値に基づいて行うフィルタ処理といえる。つまり、SAO処理は第2フィルタ処理の一例である。   Summarizing the above-mentioned edge offset processing and band offset processing, the SAO processing refers to the pixels located within the range of one pixel from the processing target pixel, and based on these pixels, the pixel value of the processing target pixel Is a process to change Here, a rectangular block which is a processing unit of the DF processing is considered. In this case, the SAO process is performed on each block after the DF process, which is an example of the first filter process, performed on the pixels included in the block and the pixel values of the pixels adjacent to the block. It can be said that it is a filtering process performed based on it. That is, the SAO process is an example of the second filter process.

ところで、画面を複数の領域に分割して各分割領域を複数の処理装置の各々に分担させるようにして図1の動画像符号化装置100を構成する場合を想定する。この場合において、分割領域の境界に対してループ内フィルタ106の処理を行うには、当該境界に隣接している分割領域の処理を担う処理装置から、当該境界近傍の、ループ内フィルタ106の処理に関与する画素の画素値の情報を転送してもらうことになる。ところが、前述したように、図1の動画像符号化装置100は、ループ内フィルタ106として、DFとSAOという2段階のフィルタ処理を行うため、フィルタ対象境界から遠く離れた画素までもがループ内フィルタ106の処理に関与する。このため、ループ内フィルタ106の処理に関与する画素の画素値の情報の処理装置間での転送量が非常に多くなってしまう。   By the way, it is assumed that the moving picture coding apparatus 100 of FIG. 1 is configured such that the screen is divided into a plurality of areas and each divided area is allocated to each of a plurality of processing devices. In this case, in order to process the in-loop filter 106 on the boundary of the divided area, the processing device in charge of processing the divided area adjacent to the boundary processes the in-loop filter 106 in the vicinity of the boundary. Information of the pixel values of the pixels involved in the However, as described above, the moving picture coding apparatus 100 of FIG. 1 performs two-stage filter processing of DF and SAO as the in-loop filter 106, so that even pixels far from the filter target boundary are in the loop. It is involved in the processing of the filter 106. For this reason, the transfer amount of the information of the pixel value of the pixel involved in the processing of the in-loop filter 106 between the processing devices becomes very large.

ここで、ループ内フィルタ106の処理に関与する画素について、図4A及び図4Bを用いて説明する。   Here, the pixels involved in the processing of the in-loop filter 106 will be described using FIGS. 4A and 4B.

図4A及び図4Bでは、フィルタ対象境界のうちの「Chip分割境界」として表されているフィルタ対象境界についてのDF処理及びSAO処理を行う場合を想定している。   In FIGS. 4A and 4B, it is assumed that the DF processing and the SAO processing are performed on the filter target boundary represented as “Chip division boundary” among the filter target boundaries.

図4Aの場合はChip分割境界が画面における水平方向の場合を想定しており、図4BはChip分割境界が画面における垂直方向の場合を想定している。このChip分割境界を、画面を複数の領域に分割して各分割領域を複数の処理装置の各々に分担させるようにして図1の動画像符号化装置100を構成する場合における、画面分割領域の境界とする。   In the case of FIG. 4A, the case where the chip division boundary is in the horizontal direction on the screen is assumed, and in FIG. 4B, the case where the chip division boundary is in the vertical direction on the screen is assumed. In the case where the moving image coding apparatus 100 of FIG. 1 is configured by dividing the screen into a plurality of areas and dividing each of the divided areas into a plurality of areas, the chip division boundary of Be a boundary.

なお、図4A及び図4Bにおいて丸印で表されている画素のうち、黒丸印で表されている画素は、Chip分割境界に対してDF処理及びSAO処理を行った場合に画素値が変更される可能性のある画素を表している。   Of the pixels represented by circles in FIGS. 4A and 4B, the pixels represented by black circles are changed in pixel value when the DF processing and the SAO processing are performed on the Chip division boundary. Represents possible pixels.

まず、水平方向であるChip分割境界を対象としてループ内フィルタ106の処理を行う場合について説明する。   First, the case where the processing of the in-loop filter 106 is performed on the chip division boundary in the horizontal direction will be described.

図2を用いて説明したように、DF処理は、フィルタ対象境界から最大3画素の範囲までに位置している画素の画素値を変更する。図4Aに表されている矢印[A]は、Chip分割境界から3画素以内の範囲を表しており、水平方向のChip分割境界に対してDF処理を行った場合に画素値が変更される可能性を有している画素の存在範囲を表している。   As described with reference to FIG. 2, the DF processing changes the pixel values of the pixels located within the range of maximum 3 pixels from the filter target boundary. The arrow [A] shown in FIG. 4A represents a range within 3 pixels from the chip division boundary, and the pixel value may be changed when DF processing is performed on the chip division boundary in the horizontal direction. It represents the range of existence of pixels having a property.

一方、前述したように、SAO処理は、処理対象画素から1画素の範囲までに位置している画素を参照し、これらの画素に基づいて当該処理対象画素の画素値を変更する処理であるといえる。従って、水平方向のChip分割境界に対してDF処理に続いてSAO処理を行った場合には、画素値が変更される可能性がある画素の範囲は、当該Chip分割境界から最大4画素の範囲へと拡大する。   On the other hand, as described above, it is assumed that the SAO process is a process of referring to the pixels located in the range from the processing target pixel to the range of one pixel and changing the pixel value of the processing target pixel based on these pixels. It can be said. Therefore, when the SAO processing is performed following the DF processing on the chip division boundary in the horizontal direction, the range of pixels in which the pixel value may be changed is the range of up to 4 pixels from the chip division boundary. To expand.

図4Aに表されている矢印[B]は、水平方向のChip分割境界から4画素以内の範囲を表している。つまり、矢印[B]で表されている範囲は、水平方向のChip分割境界に対してDF処理に続いてSAO処理を行った場合に画素値がDF処理前のものから変更される可能性を有している画素の存在範囲を表している。   The arrow [B] shown in FIG. 4A represents a range of four pixels or less from the chip division boundary in the horizontal direction. That is, in the range represented by the arrow [B], the pixel value may be changed from that before the DF processing when the SAO processing is performed following the DF processing on the chip division boundary in the horizontal direction. It represents the existing range of the pixels it has.

また、図4Aに表されている矢印[C]は水平方向のChip分割境界から5画素以内の範囲を表している。この範囲は、水平方向のChip分割境界から4画素以内の範囲(すなわち矢印[B]の範囲)に位置している画素の各々を処理対象画素としてSAO処理が行われる場合に参照される画素の存在範囲を表している。   Also, the arrow [C] shown in FIG. 4A represents a range of 5 pixels or less from the chip division boundary in the horizontal direction. This range is the pixel referred to in the case where the SAO process is performed with each of the pixels located within the range of four pixels (that is, the range of the arrow [B]) from the Chip division boundary in the horizontal direction. It represents the range of existence.

なお、以下の説明では、ある処理が行われる場合に参照される画素を「参照対象画素」と称することとする。   In the following description, a pixel to be referred to when a certain process is performed is referred to as a “reference target pixel”.

ここで、矢印[C]の範囲に含まれる、水平方向のChip分割境界から5画素目の位置の画素に注目する。この位置の画素は、水平方向のChip分割境界に対してのDF処理においての処理対象画素ではないが、他の、水平方向及び垂直方向のフィルタ対象境界に対してのDF処理においての処理対象画素となっている画素を含んでいる。つまり、これらの画素の画素値は、これらの画素を処理対象画素とする、他のフィルタ対象境界に対してのDF処理を行った結果の画素値である。   Here, the pixel at the position of the fifth pixel from the chip division boundary in the horizontal direction included in the range of the arrow [C] is noted. The pixel at this position is not the processing target pixel in the DF processing for the chip division boundary in the horizontal direction, but the processing target pixel in the DF processing for the other filtering target boundaries in the horizontal direction and the vertical direction Contains pixels that are That is, the pixel values of these pixels are the pixel values of the result of performing the DF processing on the other filter target boundaries, which set these pixels as processing target pixels.

図4Aに表されているように、DF処理はフィルタ対象境界を基準の境界とする4画素×4画素の画像ブロック単位で処理が行われる。従って、水平方向のChip分割境界から5画素目の位置の画素を処理対象画素とする、他のフィルタ対象境界に対してのDF処理では、当該Chip分割境界から8画素までの範囲の画素が参照対象画素となる。以上のことから、水平方向のChip分割境界に対してDF処理に続いてSAO処理を行う場合には、当該Chip分割境界から8画素以内の範囲の画素がこの組み合わせの処理における参照対象画素となる。   As shown in FIG. 4A, the DF processing is performed in units of image blocks of 4 pixels × 4 pixels having the filter target boundary as a reference boundary. Therefore, in the DF process on another filter target boundary where the pixel at the fifth pixel position from the chip division boundary in the horizontal direction is the processing target pixel, the pixels in the range from the chip division boundary to 8 pixels are referenced It becomes a target pixel. From the above, when performing the SAO process following the DF process on the chip division boundary in the horizontal direction, the pixels within a range of eight pixels from the chip division boundary become the reference target pixels in the processing of this combination. .

図4Aにおける矢印[D]は水平方向のChip分割境界から8画素以内の範囲を表しており、当該Chip分割境界に対してDF処理に続いてSAO処理を行う場合における参照対象画素の存在範囲を表している。これらの参照対象画素が、水平方向のChip分割境界におけるループ内フィルタ106の処理に関与することとなる。   Arrow [D] in FIG. 4A represents a range within 8 pixels from the chip division boundary in the horizontal direction, and the presence range of the reference target pixel in the case of performing the SAO processing following the DF processing on the chip division boundary It represents. These reference target pixels are involved in the processing of the in-loop filter 106 at the chip division boundary in the horizontal direction.

次に、垂直方向であるChip分割境界を対象としてループ内フィルタ106の処理を行う場合について説明する。   Next, the case where the processing of the in-loop filter 106 is performed on the chip division boundary in the vertical direction will be described.

図2を用いて説明したように、DF処理は、フィルタ対象境界から最大3画素の範囲までに位置している画素の画素値を変更する。また、図3を用いて説明したように、DF処理は、垂直方向のフィルタ対象境界における処理が先に行われ、その後で、水平方向のフィルタ対象境界における処理が行われる。従って、垂直方向であるChip分割境界を対象としてDF処理を行う場合には、フィルタ対象境界から最大4画素の範囲までに位置している画素の画素値が変更される可能性を有している。   As described with reference to FIG. 2, the DF processing changes the pixel values of the pixels located within the range of maximum 3 pixels from the filter target boundary. Further, as described with reference to FIG. 3, in the DF processing, processing in the filter target boundary in the vertical direction is performed first, and then processing in the filter target boundary in the horizontal direction is performed. Therefore, there is a possibility that the pixel value of the pixel located within the range of up to 4 pixels from the filter target boundary may be changed when performing the DF processing on the chip division boundary which is the vertical direction. .

図4Bに表されている矢印[A]は、Chip分割境界から4画素以内の範囲を表しており、垂直方向のChip分割境界に対してDF処理を行った場合に画素値が変更される可能性を有している画素の存在範囲を表している。   The arrow [A] shown in FIG. 4B represents a range within 4 pixels from the chip division boundary, and the pixel value may be changed when DF processing is performed on the chip division boundary in the vertical direction. It represents the range of existence of pixels having a property.

また、前述したように、SAO処理は、処理対象画素から1画素の範囲までに位置している画素を参照し、これらの画素に基づいて当該処理対象画素の画素値を変更する処理であるといえる。従って、垂直方向のChip分割境界に対してDF処理に続いてSAO処理を行った場合には、画素値が変更される可能性がある画素の範囲は、当該Chip分割境界から最大5画素の範囲へと拡大する。   In addition, as described above, it is assumed that the SAO process refers to a pixel located within a range from the processing target pixel to one pixel, and changes the pixel value of the processing target pixel based on these pixels. It can be said. Therefore, when the SAO processing is performed following the DF processing on the chip division boundary in the vertical direction, the range of pixels in which the pixel value may be changed is a range of up to 5 pixels from the chip division boundary. To expand.

図4Bに表されている矢印[B]は、垂直方向のChip分割境界から5画素以内の範囲を表している。つまり、矢印[B]で表されている範囲は、垂直方向のChip分割境界に対してDF処理に続いてSAO処理を行った場合に画素値がDF処理前のものから変更される可能性を有している画素の存在範囲を表している。   The arrow [B] represented in FIG. 4B represents a range of 5 pixels or less from the chip division boundary in the vertical direction. That is, in the range represented by the arrow [B], the pixel value may be changed from that before the DF processing when the SAO processing is performed following the DF processing on the chip division boundary in the vertical direction. It represents the existing range of the pixels it has.

また、矢印[C]は垂直方向のChip分割境界から6画素以内の範囲を表している。この範囲は、垂直方向のChip分割境界から5画素以内の範囲(すなわち矢印[B]の範囲)に位置している画素の各々を処理対象画素としてSAO処理が行われる場合における参照対象画素の存在範囲を表している。   Also, the arrow [C] represents a range within 6 pixels from the chip division boundary in the vertical direction. This range is the presence of the reference target pixel in the case where the SAO processing is performed with each of the pixels located within the range of 5 pixels or less (that is, the range of the arrow [B]) from the chip division boundary in the vertical direction. It represents the range.

ここで、矢印[C]の範囲に含まれる、水平方向のChip分割境界から6画素目の位置の画素に注目する。これらの画素の画素値は、これらの画素を処理対象画素とする、他のフィルタ対象境界に対してのDF処理を行った結果の画素値であることは、図4Aにおける水平方向のChip分割境界から5画素目の位置の画素と同様である。   Here, the pixel at the position of the sixth pixel from the chip division boundary in the horizontal direction included in the range of the arrow [C] is noted. The pixel values of these pixels are the pixel values as a result of performing DF processing on the other filter target boundaries with these pixels as processing target pixels. To the fifth pixel position.

図4Bに表されているように、DF処理はフィルタ対象境界を基準の境界とする4画素×4画素のブロック単位で処理が行われる。また、DF処理は、フィルタ対象境界から最大3画素の範囲までに位置している画素の画素値を変更する可能性がある。従って、垂直方向のChip分割境界から6画素目の位置の画素を処理対象画素とする、他のフィルタ対象境界に対してのDF処理では、Chip分割境界から8画素内側のフィルタ対象境界のDF処理結果も必要となるため、当該Chip分割境界から12画素までの範囲の画素が参照対象画素となる。つまり、垂直方向のChip分割境界に対してDF処理に続いてSAO処理を行う場合では、当該Chip分割境界から12画素以内の範囲の画素がこの組み合わせの処理における参照対象画素となる。   As shown in FIG. 4B, the DF processing is performed in units of blocks of 4 pixels × 4 pixels having the filter target boundary as a reference boundary. Also, the DF processing may change the pixel values of the pixels located within the range of maximum 3 pixels from the filter target boundary. Therefore, in the DF processing on another filter target boundary in which the pixel at the position of the sixth pixel from the chip division boundary in the vertical direction is a processing target pixel, the DF processing of the filter target boundary eight pixels inside of the Chip division boundary Since the result is also required, the pixel in the range from the chip division boundary to 12 pixels is the reference target pixel. That is, in the case where the SAO processing is performed following the DF processing on the chip division boundary in the vertical direction, pixels within a range of 12 pixels from the chip division boundary become a reference target pixel in the processing of this combination.

図4Bにおける矢印[D]は垂直方向のChip分割境界から12画素以内の範囲を表しており、当該Chip分割境界に対してDF処理に続いてSAO処理を行う場合における参照対象画素の存在範囲を表している。これらの参照対象画素が、垂直方向のChip分割境界におけるループ内フィルタ106の処理に関与することとなる。   The arrow [D] in FIG. 4B represents the range within 12 pixels from the chip division boundary in the vertical direction, and the presence range of the reference target pixel in the case of performing the SAO processing following the DF processing on the chip division boundary It represents. These reference target pixels are involved in the processing of the in-loop filter 106 at the chip division boundary in the vertical direction.

以上のように、Chip分割境界が水平方向、垂直方向の場合、それぞれChip分割境界から8画素、12画素以内の広い範囲に位置する画素が、Chip分割境界におけるループ内フィルタ106の処理における参照対象画素として関与するのである。   As described above, when the Chip division boundary is in the horizontal direction and in the vertical direction, the pixels located within a wide range of 8 pixels or 12 pixels within the Chip division boundary are referred to in the processing of the in-loop filter 106 in the Chip division boundary. It is involved as a pixel.

ところで、画面を分割して各分割領域を複数の処理装置に各々分担させて画面全体の動画像符号化処理を実現する場合、各処理装置は、自身が処理を担当する分割領域外の画素についての画素値データの管理は通常は行っていない。従って、各処理装置は、Chip分割境界におけるループ内フィルタ106の処理を行うには、処理担当の分割領域に隣接する分割領域を担当する処理装置から、Chip分割境界から8画素または12画素以内の範囲に位置する画素の画素値データを転送してもらう必要がある。   By the way, when the screen is divided and each divided area is shared by a plurality of processing devices to realize the moving image encoding process of the whole screen, each processing device operates on pixels outside the divided area for which it is in charge of processing. Management of the pixel value data of is usually not performed. Therefore, in order to process the in-loop filter 106 at the Chip division boundary, each processing unit takes within 8 pixels or 12 pixels from the Chip division boundary from the processing unit in charge of the division area adjacent to the processing divided area. It is necessary to have the pixel value data of the pixels located in the range transferred.

そこで、ループ内フィルタ106をこれより説明するように構成することによって、Chip分割境界のループ内フィルタ106の処理のために隣接の分割領域を担当する処理装置から受け取るデータ転送量を削減する。   Therefore, the in-loop filter 106 is configured as described above to reduce the amount of data transfer received from the processing unit in charge of the adjacent divided area for the processing of the in-loop filter 106 of the Chip division boundary.

まず、水平方向であるChip分割境界におけるループ内フィルタ106の処理においてのデータ転送量の削減手法について、図5A及び図5Bを用いて説明する。   First, a method for reducing the amount of data transfer in the processing of the in-loop filter 106 at the Chip division boundary in the horizontal direction will be described using FIGS. 5A and 5B.

図5Aは、画素の位置とDF処理による画素値の変化との関係を表している。
図5Aにおいて、黒丸印の位置の画素及び網掛けが付されている丸印の位置の画素は、どちらも、水平方向であるChip分割境界におけるDF処理を行った場合に画素値が変更される可能性のある画素を表している。このうち、黒丸印の位置の画素は、水平エッジであるChip分割境界におけるDF処理を行った場合に画素値が変更される可能性のある画素を表している。
FIG. 5A shows the relationship between the position of a pixel and the change in pixel value due to the DF processing.
In FIG. 5A, the pixel at the position of the black circle and the pixel at the shaded circle are both changed in pixel value when DF processing is performed in the chip division boundary in the horizontal direction. It represents possible pixels. Among these, the pixel at the black circle mark represents a pixel whose pixel value may be changed when the DF process is performed on the Chip division boundary which is a horizontal edge.

一方、図5Aにおいて、斜線が付されている丸印の位置の画素及び白丸印の位置の画素は、どちらも、水平方向エッジのフィルタ対象境界におけるDF処理を行っても画素値が変更されない画素を表している。このうち、斜線が付されている丸印の位置の画素は、垂直エッジのフィルタ対象境界におけるDF処理を行った場合には画素値が変更される可能性のある画素を表している。そして、白丸印の位置の画素は、垂直エッジのフィルタ対象境界におけるDF処理を行っても画素値が変更されない画素を表している。   On the other hand, in FIG. 5A, both the pixel at the shaded circle and the pixel at the white circle are pixels whose pixel values are not changed even if DF processing is performed on the filter target boundary of the horizontal direction edge Represents Among these, the shaded pixels at the circled positions indicate pixels in which the pixel values may be changed when the DF processing at the filter target boundary of the vertical edge is performed. The pixel at the white circle mark indicates a pixel whose pixel value is not changed even if the DF processing at the filter target boundary of the vertical edge is performed.

ここで、以下の説明で用いる用語を定義しておく。
前述したように、DF処理は、画面におけるブロックに対して行われる、フィルタ対象境界を挟んで当該ブロックに隣接するブロックに含まれる画素の画素値に基づいたフィルタ処理である。そこで、Chip分割境界についてのDF処理における処理対象のブロックを「特定ブロック」と称することとし、特定ブロックにChip分割境界とは反対側で隣接するブロックを「特定隣接ブロック」称することとする。図5Aにおいて、[A]の範囲に含まれるブロックが特定ブロックであり、[B]の範囲に含まれるブロックが特定隣接ブロックである。
Here, terms used in the following description are defined.
As described above, the DF process is a filter process performed on a block on the screen based on the pixel values of the pixels included in the block adjacent to the block across the filter target boundary. Therefore, a block to be processed in DF processing on a chip division boundary is referred to as a "specific block", and a block adjacent to the specific block on the opposite side to the chip division boundary is referred to as a "specific adjacent block". In FIG. 5A, a block included in the range of [A] is a specific block, and a block included in the range of [B] is a specific adjacent block.

図5Aを参照すると、水平方向のChip分割境界から4画素以上離れている画素は、当該Chip分割境界である水平エッジにおけるDF処理による影響を受けないことが分かる。また、前述したように、ループ内フィルタ106の処理においてDF処理後に行われるSAO処理は、処理対象画素から1画素の範囲までに位置している画素を参照し、これらの画素に基づいて当該処理対象画素の画素値を変更する処理である。   Referring to FIG. 5A, it can be seen that pixels separated by four or more pixels from the chip division boundary in the horizontal direction are not affected by the DF processing at the horizontal edge which is the chip division boundary. In addition, as described above, the SAO processing performed after the DF processing in the processing of the in-loop filter 106 refers to the pixels located within the range of one pixel from the processing target pixel, and the processing is performed based on these pixels. This is processing of changing the pixel value of the target pixel.

そこで、特定隣接ブロック内の画素を含む、水平方向のChip分割境界から5画素以上の範囲の画素については、図5Aに表されているDF処理の後に通常のSAO処理を行ってループ内フィルタ106の処理を完了させる。   Therefore, the normal SAO processing is performed after the DF processing illustrated in FIG. 5A for the pixels in the range of 5 pixels or more from the horizontal chip division boundary including the pixels in the specific adjacent block, and the in-loop filter 106 is performed. Complete the process of

一方、特定ブロックに含まれる、水平方向のChip分割境界から4画素までの範囲の画素についてのループ内フィルタ106の処理については、以下のようにして行う。   On the other hand, the processing of the in-loop filter 106 for pixels in the range from the chip division boundary in the horizontal direction to the four pixels included in the specific block is performed as follows.

まず、特定ブロックに含まれる、水平方向のChip分割境界から4画素までの範囲の画素について、DF処理を施す。このDF処理においては、参照対象画素として、当該Chip分割境界に接する分割領域の処理を担当する他の処理装置より、当該Chip分割境界から4画素までの範囲の画素についてのDF処理前の画素値データの転送を受ける。   First, DF processing is performed on pixels in the range from the chip division boundary in the horizontal direction to four pixels included in the specific block. In this DF processing, pixel values before DF processing for pixels in the range from the chip division boundary to the four pixels from another processing device in charge of processing the division region in contact with the chip division boundary as a reference target pixel Receive data transfer.

なお、このDF処理は、水平方向のChip分割境界に接する特定ブロックに対し、特定ブロックに含まれる画素及び当該Chip分割境界を挟んで当該特定ブロックに対向するブロックに含まれる画素の画素値に基づいて行われるフィルタ処理であるといえる。つまり、このDF処理においては、参照対象画素として、当該対向するブロックを含む画像領域の処理を担当する他の処理装置より、当該対向するブロックに含まれる画素についてのDF処理前の画素値データの転送を受ける。以降、水平方向であるChip分割境界においてのDF処理を「水平境界DF処理」と称することとする。   Note that this DF processing is based on the pixel values of the pixels included in the specific block and the pixels included in the block facing the specific block across the chip division boundary with respect to the specific block in contact with the chip division boundary in the horizontal direction. It can be said that the filtering process is performed. That is, in this DF process, the pixel value data before the DF process for the pixels included in the opposing block is processed by another processing device in charge of processing the image area including the opposing block as a reference target pixel. Receive a transfer. Hereinafter, DF processing in the chip division boundary in the horizontal direction is referred to as “horizontal boundary DF processing”.

次に、受け取った画素値データを用いて水平境界DF処理を施した後の画素に対してSAO処理を施す。このSAO処理においては、参照対象画素として、当該Chip分割境界に接する分割領域の処理を担当する他の処理装置より、当該Chip分割境界から5画素目の範囲の画素についてのDF処理後の画素値データの転送を受ける。つまり、このSAO処理においては、参照対象画素として、前述の対向するブロックを含む領域の処理を担当する他の処理装置より、当該対向するブロックにChip分割境界とは反対側で隣接する画素についてのDF処理後の画素値データの転送を受ける。   Next, SAO processing is performed on the pixels after horizontal boundary DF processing using the received pixel value data. In this SAO process, a pixel value after DF processing for a pixel in a range of the fifth pixel from the chip division boundary from another processing device in charge of processing the division region in contact with the chip division boundary as a reference target pixel. Receive data transfer. That is, in this SAO process, the pixel adjacent to the opposing block on the opposite side to the chip division boundary is further connected to the opposing block than the other processing apparatus in charge of processing the area including the opposing block described above as a reference target pixel. It receives transfer of pixel value data after DF processing.

図5Bは、水平方向のChip分割境界から4画素までの範囲の画素についてのループ内フィルタ106の処理を上述のようにして行う場合に、当該Chip分割境界に接する分割領域の処理を担当する処理装置から転送を受ける画素の位置を表したものである。   FIG. 5B is a process in charge of processing the divided area in contact with the chip division boundary in the case where the processing of the in-loop filter 106 for pixels in the range from the chip division boundary in the horizontal direction to 4 pixels is performed as described above. It represents the position of a pixel to be transferred from the device.

図5Bにおいて、[A]の範囲に位置する画素、すなわち、水平方向のChip分割境界から4画素までの範囲に位置する画素(前述の対向するブロックに含まれる画素)は、水平境界DF処理のための参照対象画素として転送を受ける画素である。これらの画素についてはDF処理前の画素値データを転送対象のデータとする。また、図5Bにおいて、[B]の範囲に位置する画素、すなわち、水平方向のChip分割境界から5画素目の画素(当該Chip分割境界とは反対側で前述の対向するブロックに隣接する画素)は、SAOのための参照対象画素として転送を受ける画素である。これらの画素についてはDF処理後の画素値データを転送対象のデータとする。   In FIG. 5B, the pixels located in the range of [A], that is, the pixels located in the range from the chip division boundary in the horizontal direction to the four pixels (pixels included in the above-mentioned opposing block) Pixels to be transferred as reference target pixels. For these pixels, pixel value data before DF processing is used as data to be transferred. Further, in FIG. 5B, the pixel located in the range of [B], that is, the fifth pixel from the chip division boundary in the horizontal direction (the pixel adjacent to the above-mentioned opposing block on the opposite side to the chip division boundary) Is a pixel to be transferred as a reference target pixel for SAO. For these pixels, pixel value data after DF processing is used as data to be transferred.

水平方向のChip分割境界に対してのループ内フィルタ106の処理をこのようにすることで、画素値データの転送対象となる画素する範囲が、Chip分割境界から8画素までの範囲から5画素までの範囲へと狭くなり、結果としてデータ転送量が削減される。   By performing the processing of the in-loop filter 106 on the chip division boundary in the horizontal direction in this way, the pixel range to which pixel value data is to be transferred is from the range from the chip division boundary to 8 pixels to 5 pixels Narrow to the range of, resulting in a reduction in the amount of data transfer.

次に、垂直方向であるChip分割境界においてのループ内フィルタ106の処理におけるデータ転送量の削減手法について、図6A及び図6Bを用いて説明する。   Next, a method of reducing the amount of data transfer in the processing of the in-loop filter 106 at the Chip division boundary in the vertical direction will be described with reference to FIGS. 6A and 6B.

図6Aは、画素の位置とDF処理による画素値の変化との関係を表している。
図6Aにおいて、黒丸印の位置の画素は、垂直方向であるChip分割境界におけるDF処理を行った場合に画素値が変更される可能性のある画素を表している。
FIG. 6A shows the relationship between the position of a pixel and the change in pixel value due to the DF processing.
In FIG. 6A, the pixel at the black circle mark indicates a pixel whose pixel value may be changed when the DF processing is performed in the chip division boundary which is the vertical direction.

一方、また、網掛けが付されている丸印の位置の画素、斜線が付されている丸印の位置の画素、及び白丸印の位置の画素は、いずれも、垂直方向であるChip分割境界におけるDF処理を行っても画素値が変更されない画素を表している。このうち、網掛けが付されている丸印の位置の画素は、水平エッジのフィルタ対象境界におけるDF処理を行った場合に画素値が変更される可能性のある画素を表している。また、斜線が付されている丸印の位置の画素及び白丸印の位置の画素は、どちらも、水平エッジのフィルタ対象境界におけるDF処理を行っても画素値が変更されない画素を表している。このうち、斜線が付されている丸印の位置の画素は、垂直エッジであるフィルタ対象境界におけるDF処理を行った場合には画素値が変更される可能性のある画素を表している。そして、白丸印の位置の画素は、垂直エッジであるフィルタ対象境界におけるDF処理を行っても画素値が変更されない画素を表している。   On the other hand, the shaded pixel, the shaded circle, and the white circle are all in the vertical direction of the chip division boundary. Represents a pixel whose pixel value is not changed even when DF processing is performed. Among these, the shaded pixels at the circled positions indicate pixels that may change in pixel value when the DF process is performed on the filter target boundary of the horizontal edge. In addition, the pixel at the shaded circle and the pixel at the white circle both represent pixels whose pixel values are not changed even if the DF processing is performed on the filtering target boundary of the horizontal edge. Among these, the shaded pixel at the position of the circle represents a pixel whose pixel value may be changed when the DF processing at the filter target boundary which is the vertical edge is performed. The pixel at the white circle mark indicates a pixel whose pixel value is not changed even if the DF process is performed on the filter target boundary which is a vertical edge.

図6Aを参照すると、垂直方向のChip分割境界から5画素以上離れている画素は、Chip分割境界におけるDF処理による影響を受けないことが分かる。但し、前述したように、ループ内フィルタ106の処理においてDF処理後に行われるSAO処理は、処理対象画素から1画素の範囲までに位置している画素を参照し、これらの画素に基づいて当該処理対象画素の画素値を変更する処理である。このため、垂直方向のChip分割境界から5画素目の位置の画素を処理対象画素とするSAO処理では、当該Chip分割境界から4画素目の位置の画素が参照される。この4画素目の位置の画素には、図6Aにおいて黒丸印で表されている画素、すなわち、垂直方向であるChip分割境界におけるDF処理を行った場合に画素値が変更される可能性のある画素が含まれている。   Referring to FIG. 6A, it can be seen that pixels which are separated by 5 or more pixels from the vertical chip division boundary are not affected by the DF processing at the chip division boundary. However, as described above, the SAO processing performed after the DF processing in the processing of the in-loop filter 106 refers to the pixels located in the range from the processing target pixel to the range of one pixel, and the processing is performed based on these pixels. This is processing of changing the pixel value of the target pixel. For this reason, in the SAO process in which the pixel at the position of the fifth pixel from the chip division boundary in the vertical direction is the processing target pixel, the pixel at the fourth pixel position from the chip division boundary is referred to. The pixel represented by the black circle in FIG. 6A, that is, the pixel value may be changed in the pixel at the position of the fourth pixel, that is, when the DF processing is performed at the chip division boundary in the vertical direction. Pixel is included.

そこで、まず、特定隣接ブロック内の画素を含む、垂直方向のChip分割境界から5画素以上の範囲の画素については、DF処理の後にSAO処理を行うようにする。但し、特定隣接ブロックに含まれる画素へのSAO処理については処理モードを制限し、当該Chip分割境界から4画素目の位置を参照する処理モードのSAO処理を行わないようにする。   Therefore, first, for pixels in a range of 5 pixels or more from the chip division boundary in the vertical direction including the pixels in the specific adjacent block, the SAO processing is performed after the DF processing. However, the processing mode is limited for the SAO processing to the pixels included in the specific adjacent block, and the SAO processing in the processing mode that refers to the position of the fourth pixel from the chip division boundary is not performed.

なお、垂直方向のChip分割境界から4画素目の位置の画素とは、言い換えれば、特定ブロックに含まれる画素のうちの、特定隣接ブロックに隣接する画素といえる。この画素を「特定隣接画素」と称することとする。つまり、特定隣接ブロックに含まれる画素へのSAO処理については処理モードを制限し、特定隣接画素以外の画素を参照対象画素とするSAO処理を行うようにする。   Note that the pixel at the position of the fourth pixel from the Chip division boundary in the vertical direction can be said to be the pixel adjacent to the specific adjacent block among the pixels included in the specific block. This pixel is referred to as a "specified adjacent pixel". That is, with regard to the SAO processing for the pixels included in the specific adjacent block, the processing mode is limited, and the SAO processing is performed in which pixels other than the specific adjacent pixels are the reference target pixels.

但し、特定隣接画素は、垂直方向であるフィルタ対象境界におけるDF処理を行った場合には画素値が変更される可能性はあるものの、実際には当該DF処理によって変更されないこともある。そこで、特定隣接画素の画素値がDF処理によって変更されない場合には、上述したSAO処理における処理モードの制限を行わないようにしてもよい。   However, when DF processing is performed on the filter target boundary in the vertical direction, the specific adjacent pixel may be changed in pixel value, but may not actually be changed by the DF processing. Therefore, when the pixel value of the specific adjacent pixel is not changed by the DF process, the process mode in the above-described SAO process may not be limited.

一方、特定ブロックに含まれる、垂直方向のChip分割境界から4画素までの範囲の画素についてのループ内フィルタ106の処理については、以下のようにして行う。   On the other hand, the processing of the in-loop filter 106 for pixels in the range from the vertical chip division boundary to four pixels included in the specific block is performed as follows.

まず、特定ブロックに含まれる、垂直方向のChip分割境界から4画素までの範囲の画素について、DF処理を施す。このDF処理においては、参照対象画素として、当該Chip分割境界に接する分割領域の処理を担当する他の処理装置より、当該Chip分割境界から4画素までの範囲の画素についてのDF処理前の画素値データの転送を受ける。   First, DF processing is performed on pixels in a range from the vertical chip division boundary to four pixels included in the specific block. In this DF processing, pixel values before DF processing for pixels in the range from the chip division boundary to the four pixels from another processing device in charge of processing the division region in contact with the chip division boundary as a reference target pixel Receive data transfer.

なお、このDF処理は、垂直方向のChip分割境界に接する特定ブロックに対し、当該特定ブロックに含まれる画素及び当該Chip分割境界を挟んで当該特定ブロックに対向するブロックに含まれる画素の画素値に基づいて行われるフィルタ処理であるといえる。つまり、このDF処理においては、参照対象画素として、当該対向するブロックを含む画像領域の処理を担当する他の処理装置より、当該対向するブロックに含まれる画素についてのDF処理前の画素値データの転送を受ける。以降、垂直方向であるChip分割境界においてのDF処理を「垂直境界DF処理」と称することとする。   In the DF processing, for a specific block in contact with the chip division boundary in the vertical direction, the pixel values of the pixels included in the specific block and the pixels included in the block facing the specific block across the chip division boundary are used. It can be said that this is filter processing performed on the basis of this. That is, in this DF process, the pixel value data before the DF process for the pixels included in the opposing block is processed by another processing device in charge of processing the image area including the opposing block as a reference target pixel. Receive a transfer. Hereinafter, DF processing in the chip division boundary in the vertical direction is referred to as “vertical boundary DF processing”.

次に、受け取った画素値データを用いて垂直境界DF処理を施した後の画素に対してSAO処理を施す。このSAO処理においては、参照対象画素として、当該Chip分割境界に接する分割領域の処理を担当する他の処理装置より、Chip分割境界から5画素目の範囲の画素についてのDF処理後の画素値データの転送を受ける。つまり、このSAO処理においても、参照対象画素として、特定隣接ブロックを含む領域の処理を担当する他の処理装置より、当該Chip分割境界とは反対側で特定隣接ブロックに隣接する画素についてのDF処理後の画素値データの転送を受ける。   Next, an SAO process is performed on the pixel after the vertical boundary DF process using the received pixel value data. In this SAO process, pixel value data after DF processing for a pixel in the range of the fifth pixel from the Chip division boundary, from another processing device in charge of processing the division region in contact with the Chip division boundary as a reference target pixel. Receive transfers. That is, also in this SAO process, the DF process is performed on the pixel adjacent to the specific adjacent block on the opposite side to the chip division boundary than the other processing apparatus in charge of processing the area including the specific adjacent block as the reference target pixel. Receives the transfer of pixel value data later.

図6Bは、垂直方向のChip分割境界から4画素までの範囲の画素についてのループ内フィルタ106の処理を上述のようにして行う場合に、当該Chip分割境界に接する分割領域の処理を担当する処理装置から転送を受ける画素の位置を表したものである。   FIG. 6B is a process in charge of processing the divided area in contact with the chip division boundary in the case where the processing of the in-loop filter 106 is performed as described above for pixels ranging from the chip division boundary in the vertical direction to four pixels. It represents the position of a pixel to be transferred from the device.

図6Bにおいて、[A]の範囲に位置する画素、すなわち、垂直方向のChip分割境界から4画素までの範囲に位置する画素(前述の対向するブロックに含まれる画素)は、垂直境界DF処理のための参照対象画素として転送を受ける画素である。これらの画素についてはDF処理前の画素値データを転送対象のデータとする。また、図6Bにおいて、[B]の範囲に位置する画素、すなわち、垂直方向のChip分割境界から5画素目の画素(当該Chip分割境界とは反対側で前述の対向するブロックに隣接する画素)は、SAO処理のための参照対象画素として転送を受ける画素である。これらの画素についてはDF処理後の画素値データを転送対象のデータとする。   In FIG. 6B, the pixels located in the range of [A], that is, the pixels located in the range from the chip division boundary in the vertical direction to the four pixels (pixels included in the above opposing block) Pixels to be transferred as reference target pixels. For these pixels, pixel value data before DF processing is used as data to be transferred. Further, in FIG. 6B, the pixel located in the range of [B], that is, the fifth pixel from the vertical chip division boundary (the pixel adjacent to the above-mentioned opposing block on the opposite side to the chip division boundary) Is a pixel to be transferred as a reference target pixel for SAO processing. For these pixels, pixel value data after DF processing is used as data to be transferred.

垂直方向のChip分割境界に対してのループ内フィルタ106の処理をこのようにすることで、画素値データの転送対象となる画素する範囲が、Chip分割境界から8画素までの範囲から5画素までの範囲へと狭くなり、結果としてデータ転送量が削減される。   By performing the processing of the in-loop filter 106 on the chip division boundary in the vertical direction in this way, the pixel range to which pixel value data is to be transferred is from the range from the chip division boundary to 8 pixels to 5 pixels Narrow to the range of, resulting in a reduction in the amount of data transfer.

なお、以下の説明では、水平境界DF処理と垂直境界DF処理との区別が不要の場合には、単に「境界DF処理」と称することとする。つまり、境界DF処理は、特定の境界線(Chip分割境界)に接する特定ブロックに対して行われる、当該境界線を挟んで当該特定ブロックに隣接する対向ブロックに含まれる画素の画素値に基づいたDF処理であるといえる。   In the following description, when the distinction between the horizontal boundary DF processing and the vertical boundary DF processing is not necessary, it will be referred to simply as the “boundary DF processing”. That is, the boundary DF processing is performed on a specific block in contact with a specific boundary (Chip division boundary), and is based on the pixel values of the pixels included in the opposing block adjacent to the specific block across the boundary. It can be said that this is DF processing.

次に図7について説明する。図7は、図1におけるループ内フィルタ106の構成の一例である。   Next, FIG. 7 will be described. FIG. 7 shows an example of the configuration of the in-loop filter 106 in FIG.

図7のループ内フィルタ106は、フィルタ処理部200−1及び200−2を有している。フィルタ処理部200−1及び200−2は、画像をChip分割境界で2つに分割した分割領域のうちの1つを各々が担当する。   The in-loop filter 106 of FIG. 7 includes filtering units 200-1 and 200-2. Each of the filter processing units 200-1 and 200-2 takes charge of one of divided areas obtained by dividing an image into two at a chip division boundary.

フィルタ処理部200−1及び200−2の各々には、ループ内フィルタ106に入力される、図1の動画像符号化装置100における局部復号画像のうち、自身が処理を担当する分割領域の画像が入力される。この分割領域の画像は、複数の矩形のブロックに分割されている。   Each of the filter processing units 200-1 and 200-2 is an image of a divided area in which the video decoding apparatus 100 of FIG. Is input. The image of this divided area is divided into a plurality of rectangular blocks.

フィルタ処理部200−1とフィルタ処理部200−2とは同一の構成を有している。以下、フィルタ処理部200−1の構成について説明する。   The filter processing unit 200-1 and the filter processing unit 200-2 have the same configuration. The configuration of the filter processing unit 200-1 will be described below.

フィルタ処理部200−1は、DF処理部201、SAO処理部202、SAO処理制御部203、及びメモリ204を有している。   The filter processing unit 200-1 includes a DF processing unit 201, an SAO processing unit 202, an SAO processing control unit 203, and a memory 204.

DF処理部201には分割領域の画像が入力される。この画像を「DF前画像」と称することとする。DF処理部201は、DF前画像に対し、フィルタ制御部107から送られてくるDF処理用パラメータに基づいてDF処理を施す。DF処理用パラメータは、例えば、ブロック境界を挟む両側のブロックについての符号化情報である。DF前画像に対してDF処理が施されてDF処理部201から出力される画像を「DF後画像」と称することとする。   The image of the divided area is input to the DF processing unit 201. This image is referred to as "pre-DF image". The DF processing unit 201 performs DF processing on the pre-DF image based on the DF processing parameters sent from the filter control unit 107. The DF processing parameter is, for example, coded information on blocks on both sides of a block boundary. The image subjected to the DF processing on the pre-DF image and output from the DF processing unit 201 is referred to as a “post-DF image”.

前述したようにDF処理は第1フィルタ処理の一例である。従って、DF処理部201では、複数の矩形のブロックに分割されている局部復号画像の画面における各ブロックに対して、当該各ブロックに含まれる画素及び当該各ブロックに隣接するブロックに含まれる画素の画素に基づいた第1フィルタ処理が行われる。このDF処理部201は第1フィルタ処理部の一例である。   As described above, the DF process is an example of the first filter process. Therefore, in the DF processing unit 201, for each block in the screen of the local decoded image divided into a plurality of rectangular blocks, the pixels included in the blocks and the pixels included in the blocks adjacent to the blocks are A first filter process based on pixels is performed. The DF processing unit 201 is an example of a first filter processing unit.

SAO処理部202には、DF後画像に対し、フィルタ制御部107から送られてくるSAO処理用パラメータに基づいてSAO処理を施す。SAO処理用パラメータは、例えばオフセット量などである。DF後画像に対してSAO処理が施されてSAO処理部202から出力される画像を「SAO後画像」と称することとする。   The SAO processing unit 202 performs SAO processing on the image after DF based on the SAO processing parameter sent from the filter control unit 107. The SAO processing parameter is, for example, an offset amount. An image subjected to SAO processing on the image after DF and output from the SAO processing unit 202 is referred to as “image after SAO”.

フィルタ処理部200−1のSAO処理部202から出力されるSAO後画像はフレームメモリ210−1に格納される。また、フィルタ処理部200−2のSAO処理部202から出力されるSAO後画像はフレームメモリ210−2に格納される。   The image after SAO output from the SAO processing unit 202 of the filter processing unit 200-1 is stored in the frame memory 210-1. Further, the SAO image output from the SAO processing unit 202 of the filter processing unit 200-2 is stored in the frame memory 210-2.

前述したように、SAO処理は第2フィルタ処理の一例である。従って、SAO処理部202では、第1フィルタ処理が行われた後の各ブロックに対して、当該各ブロックに含まれる画素及び当該各ブロックに隣接する画素の画素値に基づいた第2フィルタ処理が行われる。このSAO処理部202は第2フィルタ処理部の一例である。   As described above, the SAO process is an example of the second filter process. Therefore, in the SAO processing unit 202, for each block after the first filter processing is performed, the second filter processing based on the pixel included in the block and the pixel value of the pixel adjacent to the block is performed. To be done. The SAO processing unit 202 is an example of a second filter processing unit.

SAO処理制御部203は、DF処理部によるDF処理が、Chip分割境界に接する特定ブロックに含まれる画素のうちの、特定隣接ブロックと隣接する特定隣接画素の画素値を変化させる可能性を有している場合に、SAO処理部202を制御する。この制御では、当該特定隣接ブロックに対するSAO処理を、特定隣接画素以外の画素に基づくものに制限して行わせるようにする。この制御により、特定ブロックに含まれる画素を常に用いることなく特定隣接ブロックに対するSAO処理が行われる。従って、特定ブロックに含まれる画素のDF処理後の画素値の算出に必要な画素の画素値データの転送を他の処理装置から受けなくて済むようになり、処理装置間で転送されるデータ量が減る。   The SAO processing control unit 203 has a possibility that the DF processing by the DF processing unit changes the pixel value of the specific adjacent pixel adjacent to the specific adjacent block among the pixels included in the specific block in contact with the chip division boundary. If it does, the SAO processing unit 202 is controlled. In this control, the SAO process for the specific adjacent block is limited to one based on pixels other than the specific adjacent pixel. By this control, SAO processing is performed on a specific adjacent block without always using pixels included in the specific block. Therefore, it becomes unnecessary to receive transfer of pixel value data of pixels necessary for calculation of pixel values of pixels included in a specific block after DF processing from another processing device, and the amount of data transferred between processing devices Is reduced.

なお、SAO処理制御部203は、特定ブロックに対するDF処理が特定隣接画素の画素値を変化させるか否かを判定するようにしてもよい。この場合において、SAO処理制御部203は、DF処理が特定隣接画素の画素値を変化させないと判定した場合には、特定隣接ブロックに対するSAO処理への上述の制限を行わないようにSAO処理部202を制御する。   The SAO process control unit 203 may determine whether the DF process on the specific block changes the pixel value of the specific adjacent pixel. In this case, when the SAO process control unit 203 determines that the DF process does not change the pixel value of the specific adjacent pixel, the SAO process unit 202 does not perform the above-described restriction on the SAO process for the specific adjacent block. Control.

メモリ204は、フィルタ処理部200−1から転送するデータを一時的に格納する記憶装置である。このメモリ204には、DF後画像の画素のうち、特定隣接ブロックに含まれる画素であって特定隣接画素に隣接する画素の画素値データが格納される。また、メモリ204には、DF前画像の画素のうちの特定ブロックに含まれる画素の画素値データ、並びに、Chip分割境界についてのDF処理及びSAO処理にそれぞれ用いられるDF処理用パラメータ及びSAO処理用パラメータのデータも格納される。   The memory 204 is a storage device that temporarily stores data transferred from the filter processing unit 200-1. The memory 204 stores pixel value data of pixels adjacent to the specific adjacent pixel that are included in the specific adjacent block among the pixels of the image after DF. The memory 204 also includes pixel value data of pixels included in a specific block among the pixels of the image before DF, DF processing parameters used for DF processing and SAO processing on Chip division boundaries, and SAO processing. Parameter data is also stored.

フィルタ処理部200−1のメモリに一旦格納された上述のデータは、その後、境界処理用データメモリ220−1に転送される。また、フィルタ処理部200−2のメモリに一旦格納された上述のデータは、その後、境界処理用データメモリ220−2に転送される。   The above data temporarily stored in the memory of the filter processing unit 200-1 is then transferred to the boundary processing data memory 220-1. Further, the above-described data temporarily stored in the memory of the filter processing unit 200-2 is thereafter transferred to the boundary processing data memory 220-2.

分割境界フィルタ処理部230はChip分割境界についてのDF処理及びSAO処理を行う。分割境界フィルタ処理部230は、境界DF処理部231及び境界SAO処理部232を備えている。   The division boundary filter processing unit 230 performs DF processing and SAO processing on the chip division boundary. The division boundary filter processing unit 230 includes a boundary DF processing unit 231 and a boundary SAO processing unit 232.

境界DF処理部231は、境界処理用データメモリ220−1及び220−2の各々に格納されている、Chip分割境界を挟む一対の特定ブロックの各々に含まれる画素値に基づいたDF処理を、当該一対の特定ブロックの各々に対して行う。このDF処理では、Chip分割境界についてのDF処理のためのDF処理用パラメータが境界処理用データメモリ220−1及び220−2から読み出されて用いられる。この境界DF処理部231も第1フィルタ処理部の一例である。   The boundary DF processing unit 231 performs DF processing based on pixel values included in each of a pair of specific blocks sandwiching the chip division boundary, stored in each of the boundary processing data memories 220-1 and 220-2. The process is performed on each of the pair of specific blocks. In the DF processing, DF processing parameters for DF processing on the chip division boundary are read from the boundary processing data memories 220-1 and 220-2 and used. The boundary DF processing unit 231 is also an example of the first filter processing unit.

境界SAO処理部232は、境界DF処理部231によるDF処理後の上記一対の特定ブロックの各々に対してSAO処理を行う。このSAO処理は、当該DF処理後の一対の特定ブロックに含まれる画素と、境界処理用データメモリ220−1及び220−2に格納されている、DF後画像の画素のうち特定隣接ブロックに含まれる画素であって特定隣接画素に隣接する画素との画素値に基づく。また、このSAO処理では、Chip分割境界についてのSAO処理のためのSAO処理用パラメータが分割境界処理用データメモリ220−1及び220−2から読み出されて用いられる。この境界SAO処理部232も第2フィルタ処理部の一例である。   The boundary SAO processing unit 232 performs SAO processing on each of the pair of specific blocks after the DF processing by the boundary DF processing unit 231. This SAO process is included in the specific adjacent block among the pixels of the image after DF, which are included in the pair of specific blocks after the DF process and in the boundary processing data memories 220-1 and 220-2. Based on the pixel value of a pixel adjacent to a specific adjacent pixel. Further, in this SAO process, SAO process parameters for SAO process on the chip division boundary are read out from the division boundary processing data memories 220-1 and 220-2 and used. The boundary SAO processing unit 232 is also an example of a second filter processing unit.

境界SAO処理部232によりSAO処理が行われた後の上記一対の特定ブロックに含まれる画素の画素値データは、フレームメモリ210−1及び210−2に格納される。   Pixel value data of pixels included in the pair of specific blocks after the SAO process has been performed by the boundary SAO processing unit 232 is stored in the frame memories 210-1 and 210-2.

フレームメモリ210−1には、フィルタ処理部200−1による処理後のSAO後画像が格納されているので、このうちの特定ブロックの部分を、分割境界フィルタ処理部230による処理後の一対の特定ブロックのうちの対応するものに置き換えて格納する。また、フレームメモリ210−2には、フィルタ処理部200−2による処理後のSAO後画像が格納されており、このうちの特定ブロックの部分を、分割境界フィルタ処理部230による処理後の一対の特定ブロックのうちの対応するものに置き換えて格納する。このフレームメモリ210−1及び210−2は、図1におけるフレームメモリ108に相当するものである。つまり、フレームメモリ210−1及び210−2に各々格納されている画像を結合することで、ループ内フィルタ106によるフィルタリング処理後の画像が得られる。   Since the SA memory after the processing by the filter processing unit 200-1 is stored in the frame memory 210-1, a part of the specific block of the images is processed by the division boundary filter processing unit 230. Replace with the corresponding one of the blocks and store it. The frame memory 210-2 stores the SAO-processed image processed by the filter processing unit 200-2, and a portion of the specific block of the images is processed by the division boundary filter processing unit 230. Replace with the corresponding one of the specific blocks and store. The frame memories 210-1 and 210-2 correspond to the frame memory 108 in FIG. That is, by combining the images respectively stored in the frame memories 210-1 and 210-2, an image after the filtering process by the in-loop filter 106 is obtained.

次に、SAO処理制御部203による制御処理について説明する。図8は、SAO処理制御部203が行うSAO処理制御処理の第1の例の処理内容を図解したフローチャートである。   Next, control processing by the SAO processing control unit 203 will be described. FIG. 8 is a flowchart illustrating the process contents of a first example of the SAO process control process performed by the SAO process control unit 203.

この図8の処理は、SAO処理部202によるSAO処理の対象である、DF後画像を構成する各画素について行われる。   The process of FIG. 8 is performed for each pixel constituting an image after DF, which is an object of the SAO process by the SAO processing unit 202.

図8において、まず、S201において、SAO処理制御部203は、処理対象のブロックが、前述した特定隣接ブロック(特定ブロックにChip分割境界とは反対側で隣接するブロック)の画素を含むブロックであるか否かを判定する処理を行う。ここで、SAO処理制御部203は、特定隣接ブロックの画素を含むブロックであるとの判定を下したとき(判定結果がYesのとき)にはS202に処理を進める。一方、SAO処理制御部203は、特定隣接ブロックの画素を含むブロックではないとの判定を下したとき(判定結果がNoのとき)にはS204に処理を進める。   In FIG. 8, first, in S201, the SAO processing control unit 203 is a block in which the block to be processed includes the pixels of the above-described specific adjacent block (a specific block adjacent to the chip division boundary on the other side). It is determined whether or not it is. Here, when the SAO process control unit 203 determines that the block includes the pixels of the specific adjacent block (when the determination result is Yes), the process proceeds to S202. On the other hand, when the SAO process control unit 203 determines that the block is not a block including the pixels of the specific adjacent block (when the determination result is No), the process proceeds to S204.

次に、S202において、SAO処理制御部203は、処理対象の画素を含む特定隣接ブロックに隣接している特定ブロックが接しているChip分割境界が、画面における垂直方向であるか否かを判定する処理を行う。ここで、ここで、SAO処理制御部203は、Chip分割境界が画面における垂直方向であるとの判定を下したとき(判定結果がYesのとき)にはS203に処理を進める。一方、SAO処理制御部203は、Chip分割境界が画面における垂直方向ではない(すなわち画面における水平方向である)との判定を下したとき(判定結果がNoのとき)にはS204に処理を進める。   Next, in S202, the SAO processing control unit 203 determines whether or not the Chip division boundary in which the specific block adjacent to the specific adjacent block including the pixel to be processed is in contact with the screen in the vertical direction. Do the processing. Here, when the SAO process control unit 203 determines that the Chip division boundary is in the vertical direction on the screen (when the determination result is Yes), the process proceeds to S203. On the other hand, when the SAO processing control unit 203 determines that the Chip division boundary is not the vertical direction on the screen (that is, the horizontal direction on the screen) (when the determination result is No), the process proceeds to S204. .

S202の判定処理の判定結果がYesとなる場合は、特定ブロックに対するDF処理が特定隣接画素の画素値を変化させる可能性を有している場合である。そこで、SAO処理制御部203は、S203において、SAO処理部202を制御して、特定隣接ブロックに対するSAO処理を、特定隣接画素以外の画素に基づくものに制限して行う処理モードで処理させるようにする処理を行う。そして、その後、SAO処理制御部203はこの図8の処理を終了する。   When the determination result of the determination process of S202 is Yes, it is a case where the DF process on the specific block has a possibility of changing the pixel value of the specific adjacent pixel. Therefore, in S203, the SAO process control unit 203 controls the SAO processing unit 202 so that the SAO process on the specific adjacent block is performed in a processing mode in which the SAO process is limited to those based on pixels other than the specific adjacent pixel. Do the process. Then, after that, the SAO process control unit 203 ends the process of FIG.

一方、S202判定処理の判定結果がNoとなる場合は、特定ブロックに対するDF処理では特定隣接画素の画素値が変化しないことが確実である場合である。S204では、SAO処理制御部203は、SAO処理部202を制御して、SAO処理における処理モードに対する上述した制限を解除して、SAO処理における当該制限を行わないようにする処理を行い、この後はこの図8の処理を終了する。   On the other hand, when the determination result of the S202 determination process is No, it is certain that in the DF process on the specific block, the pixel value of the specific adjacent pixel does not change. In S204, the SAO processing control unit 203 controls the SAO processing unit 202 to release the above-described restriction on the processing mode in the SAO processing, and performs processing for preventing the restriction in the SAO processing from being performed, and thereafter. Ends the process of FIG.

以上までの処理がSAO処理制御処理の第1の例である。
ここで、図8のS203の処理における、SAO処理に対する処理モードの制限について説明する。
The above-described process is a first example of the SAO process control process.
Here, the limitation of the processing mode to the SAO processing in the processing of S203 of FIG. 8 will be described.

前述したように、SAO処理は、エッジオフセット処理とバンドオフセット処理とを含む処理である。このうちのバンドオフセット処理は、処理対象画素に基づいて当該処理対象画素自身の画素値を変更するものであるから、特定隣接ブロックに対するバンドオフセット処理が、特定隣接画素に基づいて行われることはない。一方、エッジオフセット処理は、処理対象の画素と、当該処理対象の画素を囲む8個の隣接画素のうちの2個との相対的な位置関係及び画素値の大小関係に基づいて、当該処理対象の画素にオフセットを与えるというものである。従って、特定隣接ブロックに対するエッジオフセット処理では、特定隣接画素に基づいて行われることがある。   As described above, the SAO processing is processing including edge offset processing and band offset processing. Among these, since the band offset process changes the pixel value of the process target pixel itself based on the process target pixel, the band offset process for the specific adjacent block is not performed based on the specific adjacent pixel. . On the other hand, in the edge offset processing, the processing object is processed based on the relative positional relationship between the pixel to be processed and two of the eight adjacent pixels surrounding the pixel to be processed and the magnitude relationship of the pixel values. The offset is given to the pixel of. Therefore, edge offset processing for a specific adjacent block may be performed based on a specific adjacent pixel.

ここで、図9を用いて、エッジオフセット処理におけるクラスを説明する。HEVCでは、エッジオフセット処理において対象画素に与えるオフセット量の決定のために参照される、処理対象の画素と2個の隣接画素との相対位置関係について、4種類のエッジオフセットクラスが定義されている。このクラスで定義されている画素の配列を図解したものが図9である。   Here, classes in edge offset processing will be described with reference to FIG. In HEVC, four types of edge offset classes are defined for the relative positional relationship between the pixel to be processed and two adjacent pixels, which is referenced to determine the offset amount given to the target pixel in edge offset processing. . FIG. 9 illustrates the arrangement of pixels defined in this class.

図9において、クラス0は、処理対象画素と当該処理対象画素の両側で対向して隣接する一対の隣接画素とが画面における水平方向(0度の方向)に配列されているクラスである。また、クラス1は、処理対象画素と当該処理対象画素の両側で対向して隣接する一対の隣接画素とが画面における垂直方向(90度の方向)に配列されているクラスである。更に、クラス2は、処理対象画素と当該処理対象画素の両側で対向して隣接する一対の隣接画素とが画面における左上から右下の方向(斜め45度の方向)に配列されているクラスである。そして、クラス3は、処理対象画素と当該処理対象画素の両側で対向して隣接する一対の隣接画素とが画面における左下から右上の方向(斜め135度の方向)に配列されているクラスである。   In FIG. 9, class 0 is a class in which a processing target pixel and a pair of adjacent pixels facing and adjacent to each other on both sides of the processing target pixel are arranged in the horizontal direction (direction of 0 degrees) on the screen. Class 1 is a class in which a processing target pixel and a pair of adjacent pixels facing and adjacent to each other on both sides of the processing target pixel are arranged in the vertical direction (90-degree direction) on the screen. Furthermore, class 2 is a class in which the processing target pixel and a pair of adjacent pixels facing and adjacent to each other on both sides of the processing target pixel are arranged in the direction from the upper left to the lower right on the screen (diagonal 45 degrees). is there. The class 3 is a class in which the processing target pixel and a pair of adjacent pixels facing and adjacent to each other on both sides of the processing target pixel are arranged in the direction from the lower left to the upper right on the screen (a direction of 135 degrees diagonally). .

図9に示したエッジオフセットクラスのうち、クラス0、2、及び3は、処理対象の画素に対して水平方向若しくは斜め方向の隣接画素がエッジオフセット処理において参照される。このため、Chip分割境界が画面における垂直方向である場合における特定隣接ブロックに対するエッジオフセット処理においてこれらのクラスを選択すると、処理のために特定隣接画素が参照されてしまう。   Of the edge offset classes shown in FIG. 9, in the classes 0, 2 and 3, adjacent pixels in the horizontal or diagonal direction with respect to the pixel to be processed are referred to in the edge offset processing. For this reason, if these classes are selected in the edge offset processing for the specific adjacent block in the case where the Chip division boundary is in the vertical direction in the screen, the specific adjacent pixel is referred to for processing.

そこで、SAO処理制御部203は、図8のS203の処理において、SAO処理部202を制御して、エッジオフセット処理を実行する場合には、クラス1での処理を行わせるようにする。クラス1は処理対象画素と隣接画素とが画面における垂直方向に配列されているので、このようにすることで、Chip分割境界が画面における垂直方向である場合における特定隣接ブロックに対するエッジオフセット処理において、特定隣接画素が参照されない。   Therefore, the SAO process control unit 203 controls the SAO processing unit 202 in the process of S203 of FIG. 8 to execute the process of class 1 when performing the edge offset process. In class 1, since the pixel to be processed and the adjacent pixels are arranged in the vertical direction on the screen, this makes edge offset processing for a specific adjacent block in the case where the Chip division boundary is in the vertical direction on the screen, Specific adjacent pixels are not referenced.

次に、SAO処理制御部203が行うSAO処理制御処理の第2の例について、図10を用いて説明する。   Next, a second example of the SAO process control process performed by the SAO process control unit 203 will be described with reference to FIG.

前述した第1の例では、特定隣接ブロックに隣接している特定ブロックが接しているChip分割境界が画面における垂直方向である場合に、特定ブロックに対するDF処理が特定隣接画素の画素値を変化させる可能性を有しているとの判定が下される。しかし、この場合に該当しても、実際には特定ブロックに対するDF処理が適用されない場合がある。これより説明する第2の例では、この特定ブロックに対するDF処理が適用されない場合を特定し、この場合には、SAO処理における処理モードに対する前述した制限を行わないようにするものである。   In the first example described above, when the Chip division boundary in which the specific block adjacent to the specific adjacent block is in contact is in the vertical direction on the screen, the DF processing for the specific block changes the pixel value of the specific adjacent pixel It is determined that it has the possibility. However, even if this is the case, DF processing may not actually be applied to a specific block. In the second example to be described below, the case where the DF process is not applied to this specific block is specified, and in this case, the above-mentioned limitation to the process mode in the SAO process is not performed.

図2Bを用いて説明したように、DF処理は、フィルタ対象境界から最大4画素の範囲までに位置している画素の画素値を参照して、フィルタ対象境界から最大3画素の範囲までに位置している画素の画素値を変更する処理である。また、図3を用いて説明したように、DF処理は、画面における垂直エッジのフィルタ対象境界におけるDF処理が先に行われ、その後で、画面における水平エッジのフィルタ対象境界におけるDF処理が行われる。従って、Chip分割境界が画面における垂直方向である場合における特定ブロックに対するDF処理のうちの垂直エッジのフィルタ対象境界におけるDF処理では、特定隣接画素の画素値は変化しない。つまり、この場合において特定隣接画素の画素値を変化させるのは、水平エッジのフィルタ対象境界における特定ブロックに対するDF処理である。   As described with reference to FIG. 2B, the DF processing refers to the pixel value of the pixel located within the range of maximum 4 pixels from the boundary for filtering, and locates the range of maximum 3 pixels from the boundary for filtering It is processing to change the pixel value of the pixel being processed. Further, as described with reference to FIG. 3, in the DF processing, the DF processing in the filter target boundary of the vertical edge in the screen is performed first, and thereafter, the DF processing in the filter target boundary of the horizontal edge in the screen is performed . Therefore, in the DF processing at the filter target boundary of the vertical edge of the DF processing for the specific block in the case where the Chip division boundary is in the vertical direction in the screen, the pixel value of the specific adjacent pixel does not change. That is, in this case, it is the DF process on a specific block at the filter target boundary of the horizontal edge that changes the pixel value of the specific adjacent pixel.

HEVCでは、フィルタ対象境界は、8画素×8画素のブロックの境界であって、且つ、予測ユニット(Prediction Unit:PU)又は変換ユニット(Transform Unit:TU)の境界であると定められている。ここで、PUは、動画像符号化装置100での画面予測の処理における単位ブロックである。また、TUは、動画像符号化装置100での直交変換の処理における単位ブロックである。ここでは、このフィルタ対象境界を「判定対象フィルタ境界」と称することとする。   In HEVC, the filter target boundary is defined as a boundary of a block of 8 pixels × 8 pixels and a boundary of a prediction unit (PU) or a transform unit (TU). Here, PU is a unit block in the process of screen prediction in the moving picture coding apparatus 100. Moreover, TU is a unit block in the process of orthogonal transformation in the moving picture coding apparatus 100. Here, this filter target boundary is referred to as a “determination target filter boundary”.

ここで、後の説明のため、判定対象フィルタ境界を挟んで隣接している一対の特定ブロック内の画素のうち、特定隣接画素とChip分割境界に隣接している画素の各々について、図10に図解しているように、配置に応じた識別名を付しておく。   Here, for the purpose of the following description, FIG. 10 shows each of the pixels adjacent to the specific adjacent pixel and the Chip division boundary among the pixels in the pair of specific blocks adjacent to each other across the judgment target filter boundary. As illustrated, give an identifier according to the placement.

すなわち、一対の特定ブロックのうちの一方である特定ブロックPに含まれている画素のうちChip分割境界に隣接している画素については、判定対象フィルタ境界から近い順に、p_0,0、p_1,0、p_2,0、及びp_3,0と名称を付す。また、当該特定ブロックPに含まれている画素のうち特定隣接画素については、判定対象フィルタ境界から近い順に、p_0,3、p_1,3、p_2,3、及びp_3,3と名称を付す。更に、一対の特定ブロックのうちの他方である特定ブロックQに含まれている画素のうちChip分割境界に隣接している画素については、判定対象フィルタ境界から近い順に、q_0,0、q_1,0、q_2,0、及びq_3,0と名称を付す。そして、当該特定ブロックQに含まれている画素のうち特定隣接画素については、判定対象フィルタ境界から近い順に、q_0,3、q_1,3、q_2,3、及びq_3,3と名称を付す。   That is, among the pixels included in the specific block P which is one of the pair of specific blocks, for the pixels adjacent to the Chip division boundary, p_0, 0, p_1, 0 in the order from the determination target filter boundary. , P_2,0, and p_3,0. Further, among the pixels included in the specific block P, specific adjacent pixels are given names as p_0, 3, p_1, 3, p_2, 3 and p_3, 3 in order of proximity to the determination target filter boundary. Furthermore, among the pixels included in the specific block Q that is the other of the pair of specific blocks, for the pixels adjacent to the Chip division boundary, q_0, q0, q_1, 0 in order of proximity to the determination target filter boundary. , Q_2,0, and q_3,0. Then, among the pixels included in the specific block Q, specific adjacent pixels are given names as q_0, 3, q_1, 3, q_2, 3, and q_3, 3 in order of proximity to the determination target filter boundary.

HEVCでは、以下の2つの条件のどちらかが成立する場合には、判定対象フィルタ境界を挟んで隣接している一対の特定ブロックP及びQに対するDF処理は行われない。
[1]判定対象フィルタ境界についての境界強度値Bsが1以上でない(0である)こと。
[2]特定ブロックP及びQに含まれる画素の画素値について、下記の[式1]が成立しないこと。
In HEVC, when either of the following two conditions is satisfied, DF processing is not performed on a pair of specific blocks P and Q adjacent to each other across the determination target filter boundary.
[1] The boundary strength value Bs for the judgment target filter boundary is not 1 or more (is 0).
[2] The following [Expression 1] does not hold for the pixel values of the pixels included in the specific blocks P and Q.

|p_2.0-2*p_1.0+p_0.0|+|p_2.3-2*p_1.3+p_0.3|+
|q_2.0-2*q_1.0+q_0.0|+|q_2.3-2*q_1.3+q_0.3|<β ………… [式1]
| p_2.0-2 * p_1.0 + p_0.0 | + | p_2.3-2 * p_1.3 + p_0.3 | +
| q_2.0-2 * q_1.0 + q_0.0 | + | q_2.3-2 * q_1.3 + q_0.3 | <β ......... [Expression 1]

なお、境界強度値Bsは、判定対象フィルタ境界におけるブロック歪みの強さを表す指標であり、この値が0である場合とは、判定対象フィルタ境界にはブロック歪みが無いと判定する場合である。より具体的には、特定ブロックP及びQの少なくとも一方のブロックが画面内予測のブロックである場合にはBsは2に設定される。また、特定ブロックP及びQの両方のブロックが画面間予測のブロックである場合には、下記の3つの条件[a]、[b]、及び[c]のうちの少なくとも1つを充たす場合にはBsは1に設定される。そして、この他の場合にはBsは0に設定される。
[a]少なくとも一方の特定ブロックに0ではない直交変換係数含まれている。
[b]特定ブロックPと特定ブロックQとの動きベクトルの差分が1画素以上である。
[c]特定ブロックPと特定ブロックQとで、動き補償における参照画像が異なるか、若しくは、動きベクトルの本数が異なる。
The boundary strength value Bs is an index that represents the strength of block distortion at the judgment target filter boundary, and the case where this value is 0 is a case where it is judged that there is no block distortion at the judgment target filter boundary. . More specifically, Bs is set to 2 when at least one of the specific blocks P and Q is an intra prediction block. Also, in the case where both blocks of the specific blocks P and Q are inter prediction prediction blocks, at least one of the following three conditions [a], [b], and [c] is satisfied: Bs is set to 1. And Bs is set to 0 in other cases.
[A] At least one specific block includes orthogonal transform coefficients that are not zero.
[B] The difference between the motion vectors of the specific block P and the specific block Q is one or more pixels.
[C] The reference image in motion compensation is different between the specific block P and the specific block Q, or the number of motion vectors is different.

また、上記の[式1]の左辺は、元の画像(原画)の平坦度を表す指標を計算するためのものであり、「*」印は乗算を表している。右辺のβは閾値である。つまり、[式1]が成立する場合とは、元々の画像が平坦であると判定する場合である。なお、閾値βの値は、特定ブロックP及びQの各々の量子化パラメータの平均値に所定のオフセットを与えて得られる値に基づいて定められる。   Further, the left side of the above [Equation 1] is for calculating an index representing the flatness of the original image (original image), and the “*” mark represents multiplication. Β on the right side is a threshold. That is, the case where [Expression 1] is established is the case where it is determined that the original image is flat. The value of the threshold β is determined based on the value obtained by giving a predetermined offset to the average value of the quantization parameter of each of the specific blocks P and Q.

SAO処理制御処理の第2の例では、第1の例では特定隣接画素の画素値を変化させる可能性を有しているとの判定が下される場合であっても、上記の[1]及び[2]のどちらかの条件が成立しない場合には、特定隣接画素の画素値は変化しないとの判定を下す。そして、この判定が下された場合には、SAO処理における処理モードに対する前述した制限を行わないようにする。但し、Chip分割境界の垂直エッジに対するDF処理の影響を排除するために、上記の[2]の条件については、[式1]を[式2]に改めて特定隣接画素についての画素値のみで条件判定を行えるようにする。   In the second example of the SAO processing control process, even if it is determined that the first example has the possibility of changing the pixel value of the specific adjacent pixel, the above-mentioned [1] If either of the conditions [2] is not satisfied, it is determined that the pixel value of the specific adjacent pixel does not change. Then, when this determination is made, the above-described restriction on the processing mode in the SAO processing is not performed. However, in order to eliminate the influence of the DF processing on the vertical edge of the chip division boundary, the condition of [2] above is changed to [Equation 1] anew with [Equation 2] as the condition with only the pixel values for specific adjacent pixels Make it possible to make judgments.

|p_2.3-2*p_1.3+p_0.3|+|q_2.3-2*q_1.3+q_0.3|<β ……………… [式2]       | p_2.3-2 * p_1.3 + p_0.3 | + | q_2.3-2 * q_1.3 + q_0.3 | <β ..... [Equation 2]

ここで図11について説明する。図10は、SAO処理制御部203が行うSAO処理制御処理の第2の例の処理内容を図解したフローチャートである。   Here, FIG. 11 will be described. FIG. 10 is a flowchart illustrating the process content of the second example of the SAO process control process performed by the SAO process control unit 203.

図11において、図8に図解した第1の例のフローチャートにおけるものと同一の処理ステップには同一の処理ステップ番号を付しており、これらの処理ステップについては説明を省略する。   In FIG. 11, the same processing steps as those in the flowchart of the first example illustrated in FIG. 8 are assigned the same processing step numbers, and description of these processing steps is omitted.

図11において、S202の判定結果がYesのときには、SAO処理制御部203はS211に処理を進める。SAO処理制御部203は、S211において、画面における垂直方向のChip分割境界に接する特定ブロックについての全ての判定対象フィルタ境界の境界強度値Bsを求め、そのいずれかが1以上であるか否かを判定する処理を行う。なお、境界強度値Bsを求めるために使用される各種のパラメータは、フィルタ制御部107(図1)から受け取る。   In FIG. 11, when the determination result in S202 is Yes, the SAO process control unit 203 proceeds with the process to S211. In S211, the SAO processing control unit 203 obtains boundary strength values Bs of all judgment target filter boundaries for a specific block in contact with the chip division boundary in the vertical direction on the screen, and determines whether any of them is 1 or more. Perform processing to judge. The various parameters used to obtain the boundary strength value Bs are received from the filter control unit 107 (FIG. 1).

SAO処理制御部203は、このS211の判定処理において、境界強度値Bsが1以上である判定対象フィルタ境界が存在すると判定したとき(判定結果がYesのとき)には、S212に処理を進める。一方、SAO処理制御部203は、境界強度値Bsが1以上である判定対象フィルタ境界が存在しない(境界強度値Bsが全て0である)と判定したとき(判定結果がNoのとき)には、前述したS204に処理を進める。   When the SAO process control unit 203 determines that the determination target filter boundary whose boundary strength value Bs is 1 or more exists in the determination process of S211 (when the determination result is Yes), the process proceeds to S212. On the other hand, when it is determined that the SAO process control unit 203 determines that the determination target filter boundary whose boundary strength value Bs is 1 or more does not exist (the boundary strength values Bs are all 0) (when the determination result is No) Then, the process proceeds to S204 described above.

次に、SAO処理制御部203は、S212において、上述の全ての判定対象フィルタ境界のいずれかに、前掲した[式2]が成立するものが存在するか否かを判定する処理を行う。なお、式1に使用される各種のパラメータは、フィルタ制御部107(図1)から受け取る。   Next, in S212, the SAO process control unit 203 performs a process of determining whether or not any of the judgment target filter boundaries described above holds the above-mentioned [Expression 2]. The various parameters used in Equation 1 are received from the filter control unit 107 (FIG. 1).

SAO処理制御部203は、このS212の判定処理において、前掲した[式2]が成立する判定対象フィルタ境界が存在すると判定したとき(判定結果がYesのとき)には、前述したS203に処理を進める。一方、SAO処理制御部203は、前掲した[式2]が成立する判定対象フィルタ境界が存在しないと判定したとき(判定結果がNoのとき)には、前述したS204に処理を進める。   When the SAO processing control unit 203 determines that the judgment object filter boundary in which the above-mentioned [Equation 2] is satisfied exists in the judgment processing of S212 (when the judgment result is Yes), the processing is performed in S203 described above. Advance. On the other hand, when the SAO process control unit 203 determines that there is no determination object filter boundary where the above-mentioned [Equation 2] holds (when the determination result is No), the process proceeds to S204 described above.

上述した処理制御処理の第2の例をSAO処理制御部203が行うようにしてもよい。
次に、図12について説明する。図12は、動画像符号化処理を行う大規模集積回路装置の一例の機能ブロック図である。
The SAO process control unit 203 may perform the second example of the process control process described above.
Next, FIG. 12 will be described. FIG. 12 is a functional block diagram of an example of a large scale integrated circuit device that performs moving image encoding processing.

Large Scale Integration(LSI)1000は、HEVCに準拠した動画像符号化処理を行う大規模集積回路装置である。なお、このLSI1000は、画面を複数の領域に分割したときの分割領域のひとつに対する動画像符号化処理を担当する機能を有している。LSI1000は、Synchronous Dynamic Random Access Memory(SDRAM)2000が接続されて称される。   Large Scale Integration (LSI) 1000 is a large scale integrated circuit device that performs moving image coding processing compliant with HEVC. The LSI 1000 has a function in charge of moving image encoding processing for one of the divided areas when the screen is divided into a plurality of areas. The LSI 1000 is referred to as being connected to a synchronous dynamic random access memory (SDRAM) 2000.

LSI1000は、画像入力部1100、符号化処理部1300、分割境界領域フィルタ処理部1400、チップ間データ転送IF1500、メモリ制御部1600、及び全体制御部1700を備えている。   The LSI 1000 includes an image input unit 1100, an encoding processing unit 1300, a divided boundary area filter processing unit 1400, an inter-chip data transfer IF 1500, a memory control unit 1600, and an overall control unit 1700.

画像入力部1100は、入力画像である動画像を受信する。受信された入力画像は、メモリ制御部1600を介してSDRAM2000に格納される。   The image input unit 1100 receives a moving image which is an input image. The received input image is stored in the SDRAM 2000 via the memory control unit 1600.

ストリーム出力部1200は、SDRAM2000に格納されている、動画像符号化処理によって得られた符号化データストリームを、メモリ制御部1600を介して読み出して出力する。   The stream output unit 1200 reads out and outputs, via the memory control unit 1600, the encoded data stream obtained by the moving image encoding process and stored in the SDRAM 2000.

符号化処理部1300は、入力画像である動画像に対して符号化処理を施して符号化データストリームを生成する。入力画像はSDRAM2000からメモリ制御部1600を介して読み出され、生成された符号化データストリームは、メモリ制御部1600を介してSDRAM2000へ格納される。   The encoding processing unit 1300 performs encoding processing on a moving image, which is an input image, to generate an encoded data stream. The input image is read from the SDRAM 2000 via the memory control unit 1600, and the generated encoded data stream is stored in the SDRAM 2000 via the memory control unit 1600.

分割境界領域フィルタ処理部1400は、LSI1000が担当している分割領域における分割境界に接する特定ブロックについてのDF処理及びSAO処理を行うものである。分割境界領域フィルタ処理部1400は、処理に必要な各種のデータを、SDRAM2000における分割境界フィルタ用データ格納メモリ領域2100からメモリ制御部1600を介して取得する。また、分割境界領域フィルタ処理部1400は、処理後のデータを、メモリ制御部1600を介して、SDRAM2000におけるローカルデコード画像格納用フレームメモリ領域2200へ格納する。つまり、分割境界領域フィルタ処理部1400は図7における分割境界フィルタ処理部230の機能を提供する。また、SDRAM2000における分割境界フィルタ用データ格納メモリ領域2100及びローカルデコード画像格納用フレームメモリ領域2200は、それぞれ図7における境界処理用データメモリ220及びフレームメモリ210として機能する。   The division boundary area filter processing unit 1400 performs DF processing and SAO processing on a specific block in contact with the division boundary in the division area that the LSI 1000 is in charge of. The divided boundary area filter processing unit 1400 acquires various data required for processing from the divided boundary filter data storage memory area 2100 in the SDRAM 2000 via the memory control unit 1600. Also, divided boundary area filter processing section 1400 stores the processed data in frame memory area 2200 for storing local decoded image in SDRAM 2000 via memory control section 1600. That is, the divided boundary area filter processing unit 1400 provides the function of the divided boundary filter processing unit 230 in FIG. 7. The divided boundary filter data storage memory area 2100 and the local decoded image storage frame memory area 2200 in the SDRAM 2000 function as the boundary processing data memory 220 and the frame memory 210 in FIG. 7, respectively.

チップ間データ転送IF1500は、このLSI1000が処理を担当している分割領域に隣接している分割領域の動画像符号化処理を担当する他の処理装置との間で各種のデータの授受を行う。   The inter-chip data transfer IF 1500 exchanges various types of data with other processing devices in charge of the moving image encoding processing of the divided region adjacent to the divided region in which the LSI 1000 is in charge of processing.

メモリ制御部1600は、画像入力部1100、符号化処理部1300、分割境界領域フィルタ処理部1400、及びチップ間データ転送IF1500と、SDRAM2000との間での各種のデータの授受の制御を行う。   The memory control unit 1600 controls exchange of various data between the image input unit 1100, the encoding processing unit 1300, the divided boundary area filter processing unit 1400, the inter-chip data transfer IF 1500, and the SDRAM 2000.

全体制御部1700は、LSI1000に備えられている、画像入力部1100、符号化処理部1300、分割境界領域フィルタ処理部1400、チップ間データ転送IF1500、及びメモリ制御部1600の各部の動作の制御を行う。   The overall control unit 1700 controls operations of the image input unit 1100, the encoding processing unit 1300, the division boundary area filter processing unit 1400, the inter-chip data transfer IF 1500, and the memory control unit 1600, which are included in the LSI 1000. Do.

次に、符号化処理部1300の詳細構成について説明する。符号化処理部1300は、データ転送インタフェース部1310、画像前処理部1320、画像符号化処理部1330、可変長符号化処理部1340、隣接画素/隣接情報バッファ1350、及びコーデック制御部1360を備えている。   Next, the detailed configuration of the encoding processing unit 1300 will be described. The encoding processing unit 1300 includes a data transfer interface unit 1310, an image preprocessing unit 1320, an image encoding processing unit 1330, a variable length encoding processing unit 1340, an adjacent pixel / adjacency information buffer 1350, and a codec control unit 1360. There is.

データ転送インタフェース部1310は、メモリ制御部1600を介して、SDRAM2000との間で各種のデータの授受を行う。   The data transfer interface unit 1310 exchanges various data with the SDRAM 2000 via the memory control unit 1600.

画像前処理部1320はイントラ予測部1321及び動きベクトル前段検索部1322を備えている。イントラ予測部1321は、入力画像に基づいて、画面内予測における予測モードの選択を行う。動きベクトル前段検索部1322は、画像符号化処理部1330で行われる動きベクトルの探索の前に動きベクトルの候補の絞込みを行う。   The image pre-processing unit 1320 includes an intra prediction unit 1321 and a motion vector pre-search unit 1322. The intra prediction unit 1321 selects a prediction mode in intra prediction based on the input image. The motion vector pre-stage search unit 1322 narrows down the motion vector candidates before the motion vector search performed by the image coding processing unit 1330.

画像符号化処理部1330は、SDRAM2000に格納されている入力画像を、メモリ制御部1600を介して取得し、当該入力画像に対して符号化処理を施して符号化データを出力する。この画像符号化処理部1330の詳細構成について説明する。   The image coding processing unit 1330 obtains an input image stored in the SDRAM 2000 via the memory control unit 1600, performs coding processing on the input image, and outputs coded data. The detailed configuration of the image coding processing unit 1330 will be described.

減算器(DIFF)1331は、入力画像と、当該入力画像についての予測画像との差分である予測誤差を求める。   A subtractor (DIFF) 1331 obtains a prediction error which is a difference between the input image and a predicted image of the input image.

変換部(T)1332は、減算器1331から出力される予測誤差を直交変換し、得られた変換係数を出力する。   The transform unit (T) 1332 orthogonally transforms the prediction error output from the subtractor 1331 and outputs the obtained transform coefficient.

量子化部(Q)1333は、変換部1332から出力される変換係数を量子化して量子化データを得る。   A quantization unit (Q) 1333 quantizes the transform coefficient output from the transform unit 1332 to obtain quantized data.

逆量子化部(IQ)1334は、量子化部1333から出力される量子化データを逆量子化して変換係数を得る。   The inverse quantization unit (IQ) 1334 inversely quantizes the quantized data output from the quantization unit 1333 to obtain a transform coefficient.

逆変換部(IT)1335は、逆量子化部1334から出力される変換係数を逆直交変換して予測誤差を求める。   The inverse transform unit (IT) 1335 performs inverse orthogonal transform on the transform coefficient output from the inverse quantization unit 1334 to obtain a prediction error.

動きベクトル探索部1336は、画像前処理部1320での処理結果を用いて動きベクトルの探索を行って動きベクトルを決定する。   The motion vector search unit 1336 searches for a motion vector using the processing result of the image preprocessing unit 1320 to determine a motion vector.

予測画生成部1337は、画像前処理部1320での処理結果を用いて画面内予測を行って予測画像を生成する。   The prediction image generation unit 1337 performs in-screen prediction using the processing result of the image preprocessing unit 1320 to generate a prediction image.

動き補償部1339は、逆変換部1335から出力される変換係数、動きベクトル探索部1336によって決定された動きベクトル、予測画生成部1337によって生成された予測画像を用いて局部復号画像を生成する。   The motion compensation unit 1339 generates a local decoded image using the transform coefficient output from the inverse transform unit 1335, the motion vector determined by the motion vector search unit 1336, and the predicted image generated by the predicted image generation unit 1337.

ループ内フィルタ(LF)1339は、局部復号画像に発生する、ブロック歪みやリンギングを低減させ、処理後の画像を、メモリ制御部1600を介して、SDRAM2000におけるローカルデコード画像格納用フレームメモリ領域2200に格納する。ループ内フィルタ1339は、図7におけるフィルタ処理部200の機能を提供する。   The in-loop filter (LF) 1339 reduces block distortion and ringing occurring in the local decoded image, and the processed image is stored in the frame memory area 2200 for storing local decoded image in the SDRAM 2000 via the memory control unit 1600. Store. The in-loop filter 1339 provides the function of the filter processing unit 200 in FIG.

可変長符号化処理部1340は、Context Adaptive Binary Arithmetic Coding(CABAC)処理部1341を備えている。CABAC処理部1341は、量子化部1333から出力される量子化データに対しエントロピー符号化処理を行い、得られたデータを符号化データとして、メモリ制御部1600を介してSDRAM2000に格納する。   The variable-length coding processing unit 1340 includes a Context Adaptive Binary Arithmetic Coding (CABAC) processing unit 1341. The CABAC processing unit 1341 performs entropy coding processing on the quantized data output from the quantization unit 1333, and stores the obtained data as coded data in the SDRAM 2000 via the memory control unit 1600.

隣接画素/隣接情報バッファ1350は、符号化処理部1300内の処理で使用される隣接画素の情報などを格納しておくバッファである。   The adjacent pixel / adjacent information buffer 1350 is a buffer for storing information of adjacent pixels used in the processing in the encoding processing unit 1300.

CODEC制御部1360は、画像符号化処理部1330に備えられている各部の動作の制御を行う。   The CODEC control unit 1360 controls the operation of each unit included in the image coding processing unit 1330.

図12のLSI1000は以上のような構成を有している。
次に、画面を分割したときの各分割領域を図12のLSI1000で分担して動画像符号化処理を行う場合における、隣接した分割領域を各々担当するLSI1000での分割境界領域フィルタ処理のためのデータ転送の手順について、図13を用いて説明する。
The LSI 1000 of FIG. 12 has the above configuration.
Next, in the case where each divided area when the screen is divided is divided by the LSI 1000 of FIG. 12 to perform moving image encoding processing, divided boundary area filter processing in the LSI 1000 that is in charge of adjacent divided areas. The data transfer procedure will be described with reference to FIG.

図13において、LSI1000−1及び1000−2は、画面を分割したときの各分割領域を分担して動画像符号化処理を行う場合における、Chip分割領域を挟んで隣接している一対の分割領域を各々担当する大規模集積回路装置である。なお、LSI1000−1及び1000−2は、どちらも、図12に図解したLSI1000と同一の構成を備えている。なお、チップ間データ転送ブリッジ3000は、LSI1000−1とLSI1000−2との間での各種データの授受の管理を行う。   13, LSIs 1000-1 and 1000-2 are a pair of divided areas adjacent to each other across a Chip divided area in the case where moving image encoding processing is performed by dividing each divided area when the screen is divided. Are large-scale integrated circuit devices in charge of each. The LSIs 1000-1 and 1000-2 both have the same configuration as the LSI 1000 illustrated in FIG. 12. The inter-chip data transfer bridge 3000 manages the exchange of various data between the LSI 1000-1 and the LSI 1000-2.

まず、LSI1000−1及び1000−2は、それぞれ自身が備えているLF1339−1及び1339−2を使用して、自身が担当している分割領域についてのDF処理及びSAO処理を並行して実行する。LSI1000−1及び1000−2は、これらの処理後の各分割領域の画像(SAO処理後画像)を、SDRAM2000−1及び2000−2におけるローカルデコード画像格納用フレームメモリ領域2200−1及び2200−2に各々格納する。(図13における矢印[1])   First, the LSIs 1000-1 and 1000-2 execute the DF processing and the SAO processing on the divided areas they are in charge in parallel, using the LFs 1339-1 and 1339-2 which they respectively have. . The LSIs 1000-1 and 1000-2 carry out the images (SAO-processed images) of the respective divided areas after these processes to the frame memory areas 2200-1 and 2200-2 for storing local decoded images in the SDRAM 2000-1 and 2000-2. Store each in. (Arrow [1] in FIG. 13)

次に、LSI1000−2は、Chip分割境界から4画素までの範囲の画素についてのDF処理前の画素値データと、Chip分割境界から5画素目の範囲の画素についてのDF処理後の画素値データとを、LSI1000−1へ転送する。これらの画素値データは、チップ間データ転送ブリッジ3000を介してLSI1000−1で受信され、SDRAM2000−1における分割境界フィルタ用データ格納メモリ領域2100−1に格納される。(図13における矢印[2])また、LSI1000−2は、これらの転送データを、SDRAM2000−2における分割境界フィルタ用データ格納メモリ領域2100−2に格納しておく。   Next, the LSI 1000-2 calculates pixel value data before DF processing for pixels in the range from the chip division boundary to 4 pixels and pixel value data after DF processing for pixels in the fifth pixel range from the chip division boundary. And to the LSI 1000-1. These pixel value data are received by the LSI 1000-1 via the inter-chip data transfer bridge 3000, and stored in the divided boundary filter data storage memory area 2100-1 in the SDRAM 2000-1. (The arrow [2] in FIG. 13) The LSI 1000-2 also stores these transfer data in the divided boundary filter data storage memory area 2100-2 in the SDRAM 2000-2.

次に、LSI1000−1は、Chip分割境界から4画素までの範囲の画素についてのDF処理前の画素値データと、Chip分割境界から5画素目の範囲の画素についてのDF処理後の画素値データとを、LSI1000−2へ転送する。これらの画素値データは、チップ間データ転送ブリッジ3000を介して、LSI1000−2で受信される。(図13における矢印[3])また、LSI1000−1は、これらの転送データを、SDRAM2000−1における分割境界フィルタ用データ格納メモリ領域2100−1に格納しておく。   Next, the LSI 1000-1 executes pixel value data before DF processing for pixels in the range from the Chip division boundary to 4 pixels and pixel value data after DF processing for pixels in the fifth pixel range from the Chip division boundary. And are transferred to the LSI 1000-2. These pixel value data are received by the LSI 1000-2 through the inter-chip data transfer bridge 3000. (The arrow [3] in FIG. 13) The LSI 1000-1 stores these transfer data in the division boundary filter data storage memory area 2100-1 in the SDRAM 2000-1.

次に、LSI1000−1及び1000−2は、Chip分割境界についての特定ブロックに対するDF処理を各々実行する。このDF処理では、自身が有しているChip分割境界から4画素までの範囲の画素のDF処理前の画素値データと、転送されてきたChip分割境界から4画素までの範囲の画素とのDF処理前の画素値データとが用いられる。その後、LSI1000−1及び1000−2は、このDF処理後の特定ブロックに対するSAO処理を各々実行する。この処理では、このDF処理後の特定ブロックに含まれる画素の画素値データと、自身が有しているChip分割境界から5画素目の画素及び転送されてきたChip分割境界から5画素目の画素のDF処理後の画素値データとが用いられる。LSI1000−1及び1000−2は、このDF処理及びSAO処理に用いられる画素値データを、それぞれ、SDRAM2000−1及び2000−2における分割境界フィルタ用データ格納メモリ領域2100−1及び2100−2から読み出して用いる。(図13における矢印[4])   Next, the LSIs 1000-1 and 1000-2 respectively execute DF processing on a specific block on a chip division boundary. In this DF processing, pixel value data of pixels in the range from the chip division boundary to four pixels before the DF processing of its own and DFs in the range from the chip division boundary to the four pixels transferred The pixel value data before processing is used. Thereafter, the LSIs 1000-1 and 1000-2 respectively execute the SAO process on the specific block after the DF process. In this process, the pixel value data of the pixels included in the specific block after the DF processing, the pixel of the fifth pixel from the chip division boundary which the processor itself has, and the pixel of the fifth pixel from the chip division boundary transferred And pixel value data after DF processing are used. The LSIs 1000-1 and 1000-2 read the pixel value data used for the DF process and the SAO process from the divided boundary filter data storage memory areas 2100-1 and 2100-2 in the SDRAM 2000-1 and 2000-2, respectively. Use. (Arrow [4] in FIG. 13)

その後、LSI1000−1は、上述のSAO処理が実行された後の画素値データを、SDRAM2000−1におけるローカルデコード画像格納用フレームメモリ領域2200−1における特定ブロックの画素についての格納位置に格納する。また、LSI1000−2も、上述のSAO処理が実行された後の画素値データを、SDRAM2000−2におけるローカルデコード画像格納用フレームメモリ領域2200−2における特定ブロックの画素についての格納位置に格納する。(図13における矢印[5])
以上のようにして処理を行うことにより、LSI1000−1とLSI1000−2との間でループ内フィルタ処理のために転送されるデータ量が少なくなる。
After that, the LSI 1000-1 stores the pixel value data after the above-mentioned SAO processing is performed in the storage position for the pixel of the specific block in the frame memory area for local decoded image storage 2200-1 in the SDRAM 2000-1. The LSI 1000-2 also stores the pixel value data after the above-described SAO processing is performed in the storage position for the pixel of the specific block in the frame memory area 2200-2 for storing the local decoded image in the SDRAM 2000-2. (Arrow [5] in FIG. 13)
By performing the processing as described above, the amount of data transferred for in-loop filter processing between the LSI 1000-1 and the LSI 1000-2 decreases.

一例として、Chip分割境界におけるループ内フィルタ処理を行うときの境界8画素当たりのデータ転送量の削減効果について説明する。   As an example, the reduction effect of the data transfer amount per eight boundary pixels when performing the in-loop filter processing at the Chip division boundary will be described.

Chip分割境界から8画素以内の範囲に位置する画素のDF処理前の画素値データを転送して行う場合は、8画素×8画素=64画素分の画素値データが転送される。これに対し、Chip分割境界から8画素以内の範囲に位置する画素のDF処理前の画素値データと当該境界から5画素目に位置するDF処理後の画素値データとを転送する場合は、(4+1)画素×8画素=40画素分となる。従って画素値データの転送量は37.5パーセント削減される。これに加え、前者の場合にはDF処理用のパラメータを4ブロック分転送するのに対し、後者の場合には2ブロック分のDF処理用のパラメータの転送で済むので、DF処理用のパラメータの転送量が50パーセント削減される。(なお、DF処理用パラメータ(予測モード(画面内・画面間)フラグ、動きベクトル、参照画像識別情報、係数有無フラグ、TUエッジフラグ、量子化パラメータ等)は、1ブロック当たり約14Byteである。)なお、SAO処理パラメータについては、前者の場合と後者の場合とで転送量は変わらない。(なお、SAO処理パラメータ(SAOオフセット値等)は、CTB当たり約14Byteである。)以上を纏めると、前者の場合と後者の場合とで、データ転送量が全体として約40パーセント削減される。   When pixel value data before DF processing of a pixel located within a range of 8 pixels from the chip division boundary is transferred and performed, pixel value data of 8 pixels × 8 pixels = 64 pixels is transferred. On the other hand, when transferring pixel value data of a pixel located within a range of eight pixels from the Chip division boundary before DF processing and pixel value data after DF processing located at the fifth pixel from the boundary, 4 + 1) pixels × 8 pixels = 40 pixels. Therefore, the transfer amount of pixel value data is reduced by 37.5%. In addition to this, in the case of the former, parameters for DF processing are transferred by 4 blocks, while in the case of the latter, transfer of parameters for DF processing of 2 blocks is sufficient. Transfer volume is reduced by 50%. (DF process parameters (prediction mode (within screen / between screens) flag, motion vector, reference image identification information, coefficient presence / absence flag, TU edge flag, quantization parameter, etc.) are about 14 bytes per block. The transfer amount of the SAO processing parameter does not change between the former case and the latter case. (Note that the SAO processing parameter (SAO offset value, etc.) is about 14 Bytes per CTB.) If the above are combined, the data transfer amount is reduced by about 40% as a whole between the former case and the latter case.

次に動画像符号化処理をコンピュータで実行する場合について説明する。図14は、コンピュータ3000のハードウェア構成例を図解したものである。   Next, the case where a moving image encoding process is executed by a computer will be described. FIG. 14 illustrates an example of the hardware configuration of the computer 3000.

Micro Processing Unit(MPU)3001は、コンピュータ3000全体の動作を制御する演算処理装置である。   A micro processing unit (MPU) 3001 is an arithmetic processing unit that controls the overall operation of the computer 3000.

Read Only Memory(ROM)3002は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU3001は、この基本制御プログラムをコンピュータ3000の起動時に読み出して実行することによって、コンピュータ3000の各構成要素の動作制御を行うようになる。   The Read Only Memory (ROM) 3002 is a read only semiconductor memory in which a predetermined basic control program is prerecorded. The MPU 3001 performs operation control of each component of the computer 3000 by reading out and executing this basic control program when the computer 3000 is started.

Random Access Memory(RAM)3003は、MPU3001が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。   The Random Access Memory (RAM) 3003 is a semiconductor memory that can be written and read as needed, which is used as a working storage area as needed when the MPU 3001 executes various control programs.

ハードディスク装置3004は、MPU3001によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。MPU3001は、ハードディスク装置34に記憶されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようになる。なお、ハードディスク装置3004は、例えば、半導体メモリを用いたSolid State Drive(SSD)であってもよい。   The hard disk drive 3004 is a storage device for storing various control programs executed by the MPU 3001 and various data. The MPU 3001 performs various control processes by reading out and executing a predetermined control program stored in the hard disk device 34. The hard disk drive 3004 may be, for example, a solid state drive (SSD) using a semiconductor memory.

入力装置3005は、例えばキーボード装置やマウス装置であり、例えば使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をMPU3001に送付する。   The input device 3005 is, for example, a keyboard device or a mouse device. When operated by the user, for example, the input device 3005 acquires an input of various information from the user associated with the operation content, and acquires the acquired input information as the MPU 3001 Send to

表示装置3006は例えば液晶ディスプレイであり、MPU3001から送付される表示データに応じて各種のテキストや画像を表示する。   The display device 3006 is, for example, a liquid crystal display, and displays various texts and images according to display data sent from the MPU 3001.

インタフェース装置3007は、このコンピュータ3000に接続される各種機器との間での各種情報の授受の管理を行う。   The interface device 3007 manages exchange of various information with various devices connected to the computer 3000.

記録媒体駆動装置3008は、可搬型記録媒体3010に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU3001は、可搬型記録媒体3010に記録されている所定の制御プログラムを、記録媒体駆動装置3008を介して読み出して実行することによって、後述する各種の制御処理を行うようにしてもよい。なお、可搬型記録媒体3010としては、例えばCompact Disc Read Only Memory(CD−ROM)やDigital Versatile Disc Read Only Memory(DVD−ROM)などがある。また、可搬型記録媒体3010として、例えば、Universal Serial Bus(USB)規格のコネクタが備えられているフラッシュメモリなどでもよい。   The recording medium drive device 3008 is a device that reads various control programs and data recorded on a portable recording medium 3010. The MPU 3001 may perform various control processes to be described later by reading out and executing a predetermined control program recorded in the portable recording medium 3010 via the recording medium drive device 3008. The portable recording medium 3010 may be, for example, a compact disc read only memory (CD-ROM) or a digital versatile disc read only memory (DVD-ROM). Furthermore, as the portable recording medium 3010, for example, a flash memory provided with a connector of Universal Serial Bus (USB) standard may be used.

なお、コンピュータ3000が備えている各構成要素はバスライン3009を介して接続されており、MPU3001の管理の下で各種のデータの授受が相互に行われる。   The components included in the computer 3000 are connected via a bus line 3009, and exchange of various data is performed mutually under the control of the MPU 3001.

このようなコンピュータ3000に動画像符号化処理を行わせるには、例えば、これより説明する動画像符号化処理をMPU3001に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置3004若しくは可搬型記録媒体3010に予め格納しておき、MPU3001に所定の指示を与えてこの制御プログラムを読み出させて実行させるようにしておく。こうすることで、コンピュータ3000による動画像符号化処理が実現される。   In order to cause the computer 3000 to perform the moving image encoding process, for example, a control program for causing the MPU 3001 to perform the moving image encoding process described below is created. The created control program is stored in advance in the hard disk drive 3004 or the portable recording medium 3010, and the MPU 3001 is given a predetermined instruction to read out the control program for execution. In this way, the moving picture encoding process by the computer 3000 is realized.

次に図15について説明する。図15は、動画像符号化処理の処理内容を図解したフローチャートである。   Next, FIG. 15 will be described. FIG. 15 is a flowchart illustrating the processing content of the moving picture coding process.

図15の処理が開始されると、MPU3001は、まず、S301において入力画像取得処理を行う。この処理は、動画像である入力画像を取得してRAM3003に一時的に格納する処理である。   When the process of FIG. 15 is started, the MPU 3001 first performs an input image acquisition process in S301. This process is a process of acquiring an input image which is a moving image and temporarily storing it in the RAM 3003.

次に、MPU3001は、S302において符号化処理を行う。この処理は、RAM3003に格納しておいた入力画像を読み出し、当該入力画像と該入力画像についての予測画像との差分を符号化して符号化データを生成してRAM3003に一時的に格納する処理である。なお、このS302の処理は、図1の動画像符号化装置100では画面内予測部109と、画面内評価部110と、動き評価部111と、動き補償部112と、スイッチ113、減算器102と変換及び量子化部103とによって行われる処理である。   Next, the MPU 3001 performs encoding processing in S302. In this processing, the input image stored in the RAM 3003 is read, the difference between the input image and the predicted image of the input image is encoded to generate encoded data, and the encoded data is temporarily stored in the RAM 3003. is there. In the process of S302, in the moving picture coding apparatus 100 of FIG. 1, the in-screen prediction unit 109, the in-screen evaluation unit 110, the motion evaluation unit 111, the motion compensation unit 112, the switch 113, and the subtractor 102. And the transformation and quantization unit 103.

次に、MPU3001は、S303において局部復号処理を行う。この処理は、RAM3003に格納しておいた符号化データを読み出して復号し、当該復号の結果と前述の予測画像とに基づいて局部復号画像を形成する処理である。なお、このS303の処理は、図1の動画像符号化装置100では逆量子化及び逆変換部104と加算器105とにより行われる処理である。   Next, the MPU 3001 performs local decoding processing in S303. This process is a process of reading out and decoding the encoded data stored in the RAM 3003, and forming a locally decoded image based on the result of the decoding and the above-described predicted image. The process of S303 is a process performed by the inverse quantization and inverse transformation unit 104 and the adder 105 in the moving picture coding apparatus 100 of FIG.

次に、MPU3001は、S304においてDF処理を行う。このDF処理は、局部復号画像の画面における各ブロックに対して、当該各ブロックに含まれる画素及び当該各ブロックに隣接するブロックに含まれる画素の画素に基づいて行う処理である。なお、MPU3001は、処理後の画素値データをRAM3003に格納する処理も行う。なお、このS304の処理は図7の構成におけるDF処理部201により行われる処理である。   Next, the MPU 3001 performs a DF process in S304. The DF process is a process performed on each block in the screen of the local decoded image based on the pixels included in the block and the pixels of the pixels included in the blocks adjacent to the block. The MPU 3001 also performs processing of storing the pixel value data after processing in the RAM 3003. The process of S304 is a process performed by the DF processing unit 201 in the configuration of FIG.

次に、MPU3001は、S305においてSAO処理制御処理を行う。この制御処理は、S304による処理が、Chip分割境界に接する特定ブロックに含まれる画素のうちの、特定隣接ブロックと隣接する特定隣接画素の画素値を変化させる可能性を有している場合に、S306のSAO処理の処理内容を制御する処理である。この制御では、当該特定隣接ブロックに対するSAO処理を、特定隣接画素以外の画素に基づくものに制限して行わせるようにする。より具体的には、MPU3001は、このS305の処理として、図8及び図11に図解したSAO処理制御処理の第1の例及び第2の例のどちらかの処理を行う。なお、このS305の処理は図7の構成におけるSAO処理制御部203により行われる処理である。   Next, the MPU 3001 performs SAO processing control processing in S305. This control process has a possibility of changing the pixel value of the specific adjacent pixel adjacent to the specific adjacent block among the pixels included in the specific block in contact with the chip division boundary in the processing in S304. It is a process which controls the processing content of the SAO process of S306. In this control, the SAO process for the specific adjacent block is limited to one based on pixels other than the specific adjacent pixel. More specifically, the MPU 3001 performs one of the first example and the second example of the SAO process control process illustrated in FIGS. 8 and 11 as the process of S305. The process of S305 is a process performed by the SAO process control unit 203 in the configuration of FIG.

次に、MPU3001は、S306においてSAO処理を行う。このSAO処理は、S304のDF処理が行われた後の各ブロックに対して、当該各ブロックに含まれる画素及び当該各ブロックに隣接する画素の画素値に基づいて行う処理であり、S305のSAO処理制御処理による制御の下で行われる処理である。なお、MPU3001は、処理後の画素値データをRAM3003に格納する処理も行う。なお、このS306の処理は図7の構成におけるSAO処理部202により行われる処理である。   Next, the MPU 3001 performs SAO processing in S306. This SAO process is a process performed on each block after the DF process of S304 based on the pixels included in the block and the pixel values of the pixels adjacent to the block, and the SAO of S305. It is processing performed under control by processing control processing. The MPU 3001 also performs processing of storing the pixel value data after processing in the RAM 3003. The process of S306 is a process performed by the SAO processing unit 202 in the configuration of FIG.

次に、MPU3001は、S307において符号化データ出力処理を行う。この処理は、RAM3003に格納しておいた符号化データを読み出してエントロピー符号化を施し、得られたデータに各種の情報を所定のフォーマットで付加して符号化データストリームを生成して出力する処理である。なお、このS307の処理は、図1の動画像符号化装置100ではエントロピー符号化部115によって行われる処理である。   Next, the MPU 3001 performs encoded data output processing in S307. In this process, encoded data stored in the RAM 3003 is read and subjected to entropy coding, and various information is added to the obtained data in a predetermined format to generate and output a coded data stream. It is. The process of S307 is a process performed by the entropy coding unit 115 in the moving picture coding apparatus 100 of FIG.

次に、MPU3001は、S308において分割境界処理用データ送信処理を行う。この処理は、Chip分割境界から4画素までの範囲の画素についてのS304のDF処理前の画素値データと、Chip分割境界から5画素目の範囲の画素についてのS304のDF処理後の画素値データとをRAM3003から読み出して送信する処理である。これらのデータの送信先は、入力画像における、コンピュータ3000が処理を担当している分割領域と、Chip分割境界を挟んで隣接している分割領域の動画像符号化処理を担当している他の処理装置である。   Next, the MPU 3001 performs divided boundary processing data transmission processing in S308. This processing includes pixel value data before DF processing in S304 for pixels in the range from the chip division boundary to 4 pixels and pixel value data after DF processing in S304 for the pixels in the fifth pixel range from the chip division boundary. Are read from the RAM 3003 and transmitted. The destination of these data is the moving image encoding process of the divided area in which the computer 3000 is in charge of processing the input image, and the divided area adjacent to each other across the Chip division boundary. It is a processing device.

次に、MPU3001は、S309において分割境界処理用データ送信処理を行う。この処理は、Chip分割境界から4画素までの範囲の画素についてのS304のDF処理前の画素値データと、Chip分割境界から5画素目の範囲の画素についてのS304のDF処理後の画素値データとを受信してRAM3003に格納する処理である。なお、これらのデータの送信元は、S308の処理におけるデータの送信先の処理装置である。   Next, the MPU 3001 performs divided boundary processing data transmission processing in S309. This processing includes pixel value data before DF processing in S304 for pixels in the range from the chip division boundary to 4 pixels and pixel value data after DF processing in S304 for the pixels in the fifth pixel range from the chip division boundary. And is stored in the RAM 3003. Note that the transmission source of these data is the processing device of the transmission destination of the data in the process of S308.

次に、MPU3001は、S310において分割境界DF処理を行う。この処理は、RAM3003に格納されている、Chip分割境界を挟む一対の特定ブロックの各々に含まれる画素値に基づいたDF処理を、当該一対の特定ブロックの各々に対して行う処理である。なお、このS310の処理は図7の構成における境界DF処理部231により行われる処理である。   Next, the MPU 3001 performs division boundary DF processing in S310. This process is a process of performing a DF process based on pixel values included in each of a pair of specific blocks sandwiching a chip division boundary, stored in the RAM 3003, on each of the pair of specific blocks. The process of S310 is a process performed by the boundary DF processing unit 231 in the configuration of FIG.

次に、MPU3001は、S311において分割境界SAO処理を行う。この処理は、S310の境界DF処理後の上記一対の特定ブロックの各々に対して行われるSAO処理である。この分割境界SAO処理は、S310の境界DF処理後の一対の特定ブロックに含まれる画素と、RAM3003に格納されている、DF後画像の画素のうち特定隣接ブロックに含まれる画素であって特定隣接画素に隣接する画素との画素値に基づく処理である。なお、このS311の処理は図7の構成における境界SAO処理部232により行われる処理である。   Next, the MPU 3001 performs division boundary SAO processing in S311. This process is an SAO process performed on each of the pair of specific blocks after the boundary DF process of S310. In this division boundary SAO processing, the pixels included in the pair of specific blocks after the boundary DF processing in S310 and the pixels in the specific adjacent block among the pixels of the image after DF stored in the RAM 3003 are specific adjacent This processing is based on the pixel value of the pixel adjacent to the pixel. The process of S311 is a process performed by the boundary SAO processing unit 232 in the configuration of FIG.

MPU3001は、このS311の処理を終えた後には、S301へ処理を戻して上述した処理を繰り返す。   After finishing the process of S311, the MPU 3001 returns the process to S301 and repeats the above-described process.

以上までの処理が図15にフローチャートで図解した動画像符号化処理である。この処理がコンピュータ3000で実行されることにより、コンピュータ3000を用いての動画像符号化が実現される。   The above process is the moving picture coding process illustrated by the flowchart in FIG. This process is executed by the computer 3000 to realize moving picture coding using the computer 3000.

以上記載した各実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
入力画像と該入力画像についての予測画像との差分を符号化する符号化部と、
前記符号化部から出力される符号化データを復号し、該復号の結果と前記予測画像とに基づいて局部復号画像を得る局部復号部と、
前記局部復号画像に対して画像処理を行う画像処理部と、
前記画像処理後の前記局部復号画像に基づいて前記予測画像を得る予測部と、
を備え、
前記画像処理部は、
複数の矩形のブロックに分割されている前記局部復号画像の画面における各ブロックに対する第1フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接するブロックに含まれる画素の画素値に基づいて行う第1フィルタ処理部と、
前記第1フィルタ処理が行われた後の各ブロックに対する第2フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接する画素の画素値に基づいて行う第2フィルタ処理部と、
前記複数の矩形のブロックのうちの特定の境界線に接する特定ブロックに該境界線とは反対側で隣接する特定隣接ブロックに含まれる画素のうちの前記特定ブロックに隣接する画素に対する前記第1フィルタ処理が行われた後の画素の画素値を格納するメモリと、
を備え、
前記第2フィルタ処理部は、前記第1フィルタ処理が行われた後の前記特定ブロックに対する前記第2フィルタ処理を、前記メモリに格納されている、前記特定隣接ブロック内の画素のうちの前記特定ブロックに隣接する画素であって且つ前記特定隣接ブロックに対する前記第1フィルタ処理が行われた後の画素の画素値を用いて行う、
ことを特徴とする動画像符号化装置。
(付記2)
前記第1フィルタ処理が、前記特定ブロックに含まれる画素のうちの、前記特定隣接ブロックと隣接する特定隣接画素の画素値を変化させる可能性を有している場合に、前記第2フィルタ処理部を制御して、該特定隣接ブロックに対する前記第2フィルタ処理を、前記特定隣接画素以外の画素に基づくものに制限して行わせる制御部を更に備えることを特徴とする付記1に記載の動画像符号化装置。
(付記3)
前記制御部は、前記特定ブロックに対する前記第1フィルタ処理が前記特定隣接画素の画素値を変化させるか否かを判定し、前記第1フィルタ処理が前記特定隣接画素の画素値を変化させないと判定した場合には、前記特定隣接ブロックに対する前記第2フィルタ処理への前記制限を行わないように前記第2フィルタ処理部を制御することを特徴とする付記2に記載の動画像符号化装置。
(付記4)
前記第1フィルタ処理は、H.265|MPEG-H High Efficiency Video Coding(HEVC)標準におけるデブロッキングフィルタ処理であり、
前記第2フィルタ処理は、前記HEVC標準におけるサンプルアダプティブオフセット(SAO)処理である、
ことを特徴する付記1から3のうちのいずれか一項に記載の動画像符号化装置。
(付記5)
前記第1フィルタ処理は、H.265|MPEG-H High Efficiency Video Coding(HEVC)標準におけるデブロッキングフィルタ処理であり、
前記第2フィルタ処理は、前記HEVC標準におけるサンプルアダプティブオフセット(SAO)処理であり、
前記制御部は、前記SAO処理におけるエッジオフセットクラスとして、垂直方向に隣接する画素配列のクラスを選択することによって、前記特定隣接ブロックに対する前記第2フィルタ処理への前記制限を行うことを特徴とする付記2又は3に記載の動画像符号化装置。
(付記6)
前記第1フィルタ処理は、H.265|MPEG-H High Efficiency Video Coding(HEVC)標準におけるデブロッキングフィルタ処理であり、
前記制御部は、前記境界線の向きが前記画面における垂直方向でない場合には、前記特定ブロックに対する前記第1フィルタ処理が前記特定隣接画素の画素値を変化させないとの判定を下す、
ことを特徴とする付記3に記載の動画像符号化装置。
(付記7)
前記制御部は、前記境界線の向きが前記画面における垂直方向である場合であっても、前記境界線に接する特定ブロックが互いに隣接する境界についての境界強度値に、1以上であるものが存在しない場合には、前記特定ブロックに対する前記第1フィルタ処理が前記特定隣接画素の画素値を変化させないとの判定を下すことを特徴とする付記6に記載の動画像符号化装置。
(付記8)
前記制御部は、前記境界線の向きが前記画面における垂直方向である場合であって、且つ、前記境界線に接する特定ブロックが互いに隣接する境界についての境界強度値に1以上であるものが存在する場合において、該境界を挟んで隣接する一対の特定ブロックの一方に含まれる特定隣接画素のうちの該境界から近い順の3つの画素の画素値をそれぞれp_0,3、p_1,3、p_2,3とし、該一対の特定ブロックの他方に含まれる特定隣接画素のうちの該境界から近い順の3つの画素の画素値をq_0,3、q_1,3、q_2,3とし、βを所定の閾値とした場合における下記の式、
|p_2.3-2*p_1.3+p_0.3|+|q_2.3-2*q_1.3+q_0.3|<β
が成立するか否かを判定し、成立しないと判定した場合に、前記特定ブロックに対する前記第1フィルタ処理が前記特定隣接画素の画素値を変化させないとの判定を下すことを特徴とする付記7に記載の動画像符号化装置。
(付記9)
動画像符号化装置が行う動画像符号化方法であって、
入力画像と該入力画像についての予測画像との差分を符号化して符号化データを生成し、
前記符号化データを復号し、該復号の結果と前記予測画像とに基づいて局部復号画像を形成し、
前記局部復号画像に対して画像処理を行い、
前記画像処理後の前記局部復号画像に基づいて前記予測画像を生成し、
前記画像処理では、
複数の矩形のブロックに分割されている前記局部復号画像の画面における各ブロックに対する第1フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接するブロックに含まれる画素の画素値に基づいて行い、
前記複数の矩形のブロックのうちの特定の境界線に接する特定ブロックに該境界線とは反対側で隣接する特定隣接ブロックに含まれる画素のうちの前記特定ブロックに隣接する画素に対する前記第1フィルタ処理が行われた後の画素の画素値を、前記動画像符号化装置が備えているメモリに格納し、
前記第1フィルタ処理が行われた後の各ブロックに対する第2フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接する画素の画素値に基づいて行い、
前記第1フィルタ処理が行われた後の前記特定ブロックに対する前記第2フィルタ処理については、前記メモリに格納されている、前記特定隣接ブロック内の画素のうちの前記特定ブロックに隣接する画素であって且つ前記特定隣接ブロックに対する前記第1フィルタ処理が行われた後の画素の画素値を用いて行う、
ことを特徴とする動画像符号化方法。
(付記10)
動画像符号化処理をコンピュータに実行させるプログラムであって、
入力画像と該入力画像についての予測画像との差分を符号化して符号化データを生成し、
前記符号化データを復号し、該復号の結果と前記予測画像とに基づいて局部復号画像を形成し、
前記局部復号画像に対して画像処理を行い、
前記画像処理後の前記局部復号画像に基づいて前記予測画像を生成する
処理をコンピュータに実行させ、
前記画像処理では、
複数の矩形のブロックに分割されている前記局部復号画像の画面における各ブロックに対する第1フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接するブロックに含まれる画素の画素値に基づいて行い、
前記複数の矩形のブロックのうちの特定の境界線に接する特定ブロックに該境界線とは反対側で隣接する特定隣接ブロックに含まれる画素のうちの前記特定ブロックに隣接する画素に対する前記第1フィルタ処理が行われた後の画素の画素値を、前記コンピュータが備えているメモリに格納し、
前記第1フィルタ処理が行われた後の各ブロックに対する第2フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接する画素の画素値に基づいて行い、
前記第1フィルタ処理が行われた後の前記特定ブロックに対する前記第2フィルタ処理については、前記メモリに格納されている、前記特定隣接ブロック内の画素のうちの前記特定ブロックに隣接する画素であって且つ前記特定隣接ブロックに対する前記第1フィルタ処理が行われた後の画素の画素値を用いて行う、
ことを特徴とするプログラム。
The following appendices will be further disclosed regarding the embodiment including each example described above.
(Supplementary Note 1)
An encoding unit that encodes a difference between an input image and a predicted image of the input image;
A local decoding unit that decodes the encoded data output from the encoding unit and obtains a local decoded image based on the result of the decoding and the predicted image;
An image processing unit that performs image processing on the local decoded image;
A prediction unit for obtaining the predicted image based on the local decoded image after the image processing;
Equipped with
The image processing unit
The first filtering process for each block in the screen of the local decoded image divided into a plurality of rectangular blocks is based on the pixels included in the block and the pixel values of the pixels included in the block adjacent to the block. A first filter processing unit, and
A second filter processing unit that performs second filter processing on each block after the first filter processing is performed based on pixels included in each block and pixel values of pixels adjacent to each block;
The first filter for the pixels adjacent to the specific block among the pixels included in the specific adjacent block adjacent to the specific block on the opposite side to the specific block among the plurality of rectangular blocks on the opposite side to the specific line A memory for storing pixel values of pixels after the processing has been performed;
Equipped with
The second filter processing unit stores, in the memory, the second filtering process for the specific block after the first filtering process is performed, the specification of the pixels in the specific adjacent block. It is performed using the pixel value of the pixel adjacent to the block and after the first filtering process is performed on the specific adjacent block.
A moving picture coding apparatus characterized in that.
(Supplementary Note 2)
When the first filter processing has a possibility of changing the pixel value of a specific adjacent pixel adjacent to the specific adjacent block among the pixels included in the specific block, the second filter processing unit The moving image according to Additional Note 1, further comprising: a control unit configured to control the second filter process on the specific adjacent block to be performed based on pixels other than the specific adjacent pixel. Encoding device.
(Supplementary Note 3)
The control unit determines whether the first filter process for the specific block changes the pixel value of the specific adjacent pixel, and determines that the first filter process does not change the pixel value of the specific adjacent pixel The moving picture coding apparatus according to claim 2, wherein the second filter processing unit is controlled such that the restriction to the second filtering process on the specific adjacent block is not performed in the case where the second filtering process is performed.
(Supplementary Note 4)
The first filtering process is a deblocking filtering process in the H. 265 | MPEG-H High Efficiency Video Coding (HEVC) standard,
The second filtering process is a sample adaptive offset (SAO) process in the HEVC standard.
The video encoding apparatus according to any one of appendices 1 to 3, characterized in that:
(Supplementary Note 5)
The first filtering process is a deblocking filtering process in the H. 265 | MPEG-H High Efficiency Video Coding (HEVC) standard,
The second filter processing is sample adaptive offset (SAO) processing in the HEVC standard,
The control unit performs the restriction to the second filter process on the specific adjacent block by selecting a class of a pixel array adjacent in the vertical direction as an edge offset class in the SAO process. The moving picture coding device according to supplementary note 2 or 3.
(Supplementary Note 6)
The first filtering process is a deblocking filtering process in the H. 265 | MPEG-H High Efficiency Video Coding (HEVC) standard,
The control unit determines that the first filtering process for the specific block does not change the pixel value of the specific adjacent pixel when the direction of the boundary is not the vertical direction on the screen.
The moving picture coding apparatus according to claim 3, characterized in that
(Appendix 7)
Even when the direction of the boundary is the vertical direction of the screen, the control unit has a boundary strength value of 1 or more in the boundary where the specific blocks in contact with the boundary are adjacent to each other. The moving image encoding apparatus according to claim 6, wherein, in the case of not being performed, it is determined that the first filter process on the specific block does not change the pixel value of the specific adjacent pixel.
(Supplementary Note 8)
The control unit is configured such that the direction of the boundary is the vertical direction on the screen, and there are one or more boundary strength values for boundaries between specific blocks adjacent to the boundary. In such a case, pixel values of three pixels in order of proximity from the boundary among specific adjacent pixels included in one of a pair of specific blocks adjacent to each other across the boundary are p_0, 3, p_1, 3, p_2, respectively. Let the pixel values of three pixels in order of proximity from the boundary among the specific adjacent pixels included in the other of the pair of specific blocks be q_0, 3, q_1, 3, q_2, 3, and β is a predetermined threshold. If the following equation,
| p_2.3-2 * p_1.3 + p_0.3 | + | q_2.3-2 * q_1.3 + q_0.3 | <β
It is determined whether the first filter process on the specific block does not change the pixel value of the specific adjacent pixel when it is determined that the first block process does not change. The moving picture coding apparatus according to claim 1.
(Appendix 9)
A moving picture coding method performed by a moving picture coding apparatus, comprising:
Encoding the difference between the input image and the predicted image for the input image to generate encoded data;
The encoded data is decoded, and a locally decoded image is formed based on the result of the decoding and the predicted image,
Perform image processing on the local decoded image;
Generating the predicted image based on the local decoded image after the image processing;
In the image processing,
The first filtering process for each block in the screen of the local decoded image divided into a plurality of rectangular blocks is based on the pixels included in the block and the pixel values of the pixels included in the block adjacent to the block. Done,
The first filter for the pixels adjacent to the specific block among the pixels included in the specific adjacent block adjacent to the specific block on the opposite side to the specific block among the plurality of rectangular blocks on the opposite side to the specific line The pixel value of the pixel after the processing is stored in a memory included in the video encoding device,
Performing a second filtering process on each block after the first filtering process based on pixels included in the block and pixel values of pixels adjacent to the block;
The second filtering process for the specific block after the first filtering process is a pixel adjacent to the specific block among the pixels in the specific adjacent block stored in the memory. And using the pixel value of the pixel after the first filtering process is performed on the specific adjacent block,
A moving picture coding method characterized in that.
(Supplementary Note 10)
A program that causes a computer to execute a moving image encoding process, and
Encoding the difference between the input image and the predicted image for the input image to generate encoded data;
The encoded data is decoded, and a locally decoded image is formed based on the result of the decoding and the predicted image,
Perform image processing on the local decoded image;
Making a computer execute a process of generating the predicted image based on the locally decoded image after the image processing;
In the image processing,
The first filtering process for each block in the screen of the local decoded image divided into a plurality of rectangular blocks is based on the pixels included in the block and the pixel values of the pixels included in the block adjacent to the block. Done,
The first filter for the pixels adjacent to the specific block among the pixels included in the specific adjacent block adjacent to the specific block on the opposite side to the specific block among the plurality of rectangular blocks on the opposite side to the specific line Storing the pixel value of the pixel after the processing is performed in a memory provided in the computer,
Performing a second filtering process on each block after the first filtering process based on pixels included in the block and pixel values of pixels adjacent to the block;
The second filtering process for the specific block after the first filtering process is a pixel adjacent to the specific block among the pixels in the specific adjacent block stored in the memory. And using the pixel value of the pixel after the first filtering process is performed on the specific adjacent block,
A program characterized by

100 動画像符号化装置
101 ブロック分割部
102 減算器
103 変換及び量子化部
104 逆量子化及び逆変換部
105 加算器
106 ループ内フィルタ
107 フィルタ制御部
108、210−1、210−2 フレームメモリ
109 画面内予測部
110 画面内評価部
111 動き評価部
112 動き補償部
113 スイッチ
114 制御部
115 エントロピー符号化部
200−1、200−2 フィルタ処理部
201 DF処理部
202 SAO処理部
203 SAO処理制御部
204 メモリ
220−1、220−2 境界処理用データメモリ
230 分割境界フィルタ処理部
231 境界DF処理部
232 境界ASO処理部
1000 LSI
1100 画像入力部
1200 ストリーム出力部
1300 符号化処理部
1400 分割境界領域フィルタ処理部
1500 チップ間データ転送IF
1600 メモリ制御部
1700 全体制御部
2000 SDRAM
2100 分割境界フィルタ用データ格納メモリ領域
2200 ローカルデコード画像格納用フレームメモリ領域
3000 コンピュータ
3001 MPU
3002 ROM
3003 RAM
3004 ハードディスク装置
3005 入力装置
3006 表示装置
3007 インタフェース装置
3008 記録媒体駆動装置
3009 バスライン
3010 可搬型記録媒体
DESCRIPTION OF SYMBOLS 100 Video encoding device 101 Block division part 102 Subtractor 103 Transformation and quantization part 104 Inverse quantization and inverse transformation part 105 Adder 106 In-loop filter 107 Filter control part 108, 210-1, 210-2 Frame memory 109 Intra prediction unit 110 In-screen evaluation unit 111 Motion evaluation unit 112 Motion compensation unit 113 Switch 114 Control unit 115 Entropy coding unit 200-1 and 200-2 Filter processing unit 201 DF processing unit 202 SAO processing unit 203 SAO processing control unit 204 memories 220-1 and 220-2 boundary processing data memory 230 division boundary filter processing unit 231 boundary DF processing unit 232 boundary ASO processing unit 1000 LSI
1100 image input unit 1200 stream output unit 1300 encoding processing unit 1400 division boundary area filter processing unit 1500 data transfer between chips
1600 memory control unit 1700 overall control unit 2000 SDRAM
2100 Data storage memory area for division boundary filter 2200 Frame memory area for storing locally decoded image 3000 computer 3001 MPU
3002 ROM
3003 RAM
3004 hard disk drive 3005 input device 3006 display device 3007 interface device 3008 recording medium drive device 3009 bus line 3010 portable recording medium

Claims (1)

入力画像と該入力画像についての予測画像との差分を符号化する符号化部と、
前記符号化部から出力される符号化データを復号し、該復号の結果と前記予測画像とに基づいて局部復号画像を得る局部復号部と、
前記局部復号画像に対して画像処理を行う画像処理部と、
前記画像処理後の前記局部復号画像に基づいて前記予測画像を得る予測部と、
を備える動画像符号化装置であって
前記画像処理部は、第1モジュールと第2モジュールとを備え、
前記第1モジュールは、
複数の矩形のブロックに分割されている前記局部復号画像の画面における各ブロックに対する第1フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接するブロックに含まれる画素の画素値に基づいて行う第1フィルタ処理部と、
前記第1フィルタ処理が行われた後の各ブロックに対する第2フィルタ処理を、該各ブロックに含まれる画素及び該各ブロックに隣接する画素の画素値に基づいて行う第2フィルタ処理部と、
前記複数の矩形のブロックのうちの特定の境界線に接する特定ブロックに該境界線とは反対側で隣接する特定隣接ブロックに含まれる画素のうちの前記特定ブロックに隣接する画素に対する前記第1フィルタ処理が行われた後の画素の画素値を前記第2モジュールに受け渡す転送部と、
を備え、
前記第2モジュールは、前記特定ブロックに対する前記第1フィルタ処理を行った後、前記第2フィルタ処理を、前記第1モジュールから受け取った、前記特定隣接ブロック内の画素のうちの前記特定ブロックに隣接する画素であって且つ前記特定隣接ブロックに対する前記第1フィルタ処理が行われた後の画素の画素値を用いて行
前記動画像符号化装置は、前記第1フィルタ処理が、前記特定ブロックに含まれる画素のうちの、前記特定隣接ブロックと隣接する特定隣接画素の画素値を変化させる可能性を有しているか否かを判定し、変化させる可能性を有していると判定した場合には、前記第2フィルタ処理部を制御して、前記特定隣接ブロックに対する前記第2フィルタ処理を、前記特定隣接画素以外の画素に基づくものに制限して行わせ、変化させないと判定した場合には、前記特定隣接ブロックに対する前記第2フィルタ処理への前記制限を行わないように前記第2フィルタ処理部を制御する制御部を更に備える、
ことを特徴とする動画像符号化装置。
An encoding unit that encodes a difference between an input image and a predicted image of the input image;
A local decoding unit that decodes the encoded data output from the encoding unit and obtains a local decoded image based on the result of the decoding and the predicted image;
An image processing unit that performs image processing on the local decoded image;
A prediction unit for obtaining the predicted image based on the local decoded image after the image processing;
A video encoding apparatus Ru provided with,
The image processing unit includes a first module and a second module,
The first module is
The first filtering process for each block in the screen of the local decoded image divided into a plurality of rectangular blocks is based on the pixels included in the block and the pixel values of the pixels included in the block adjacent to the block. A first filter processing unit, and
A second filter processing unit that performs second filter processing on each block after the first filter processing is performed based on pixels included in each block and pixel values of pixels adjacent to each block;
The first filter for the pixels adjacent to the specific block among the pixels included in the specific adjacent block adjacent to the specific block on the opposite side to the specific block among the plurality of rectangular blocks on the opposite side to the specific line A transfer unit for transferring the pixel value of the pixel after processing to the second module;
Equipped with
The second module is adjacent to the specific block among the pixels in the specific adjacent block, which has received the second filtering process from the first module after performing the first filtering process on the specific block. there row using the pixel values of the pixels after the first filtering and for the specific adjacent block a pixel is made to be,
The video encoding apparatus has a possibility that the first filtering process has a possibility of changing the pixel value of a specific adjacent pixel adjacent to the specific adjacent block among the pixels included in the specific block. If it is determined that the second filter processing unit is determined to have the possibility of changing the second filter processing unit, the second filter processing for the specific adjacent block is performed by using the second filter processing unit other than the specific adjacent pixel. A control unit that controls the second filter processing unit so as not to perform the restriction to the second filter processing on the specific adjacent block when it is determined that the restriction is performed based on pixels and is not changed Further comprising
A moving picture coding apparatus characterized in that.
JP2015004532A 2015-01-13 2015-01-13 Video encoder Active JP6519185B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015004532A JP6519185B2 (en) 2015-01-13 2015-01-13 Video encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015004532A JP6519185B2 (en) 2015-01-13 2015-01-13 Video encoder

Publications (2)

Publication Number Publication Date
JP2016131300A JP2016131300A (en) 2016-07-21
JP6519185B2 true JP6519185B2 (en) 2019-05-29

Family

ID=56414849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015004532A Active JP6519185B2 (en) 2015-01-13 2015-01-13 Video encoder

Country Status (1)

Country Link
JP (1) JP6519185B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118091B1 (en) * 2009-06-04 2012-03-09 주식회사 코아로직 Apparatus and Method for Processing Video Data
WO2012081609A1 (en) * 2010-12-14 2012-06-21 シャープ株式会社 Image filter device, decoder, encoder, and data structure
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
KR101567467B1 (en) * 2011-05-10 2015-11-09 미디어텍 인크. Method and apparatus for reduction of in-loop filter buffer
US10484693B2 (en) * 2011-06-22 2019-11-19 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation for image and video coding
JP2013118605A (en) * 2011-06-28 2013-06-13 Sony Corp Image processing device and image processing method
JP2013098873A (en) * 2011-11-02 2013-05-20 Sony Corp Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2016131300A (en) 2016-07-21

Similar Documents

Publication Publication Date Title
US11973954B2 (en) CCLM-based intra-prediction method and device
JP6563079B2 (en) Encoding method, decoding method, encoding device, decoding device, and program
TW201926995A (en) Line buffer reduction for adaptive loop filtering in video coding
JP2023103292A (en) Encoder, decoder and corresponding intra prediction method
US11805244B2 (en) CCLM-based intra-prediction method and apparatus therefor
US8483496B2 (en) Image encoding/decoding system
KR20210077799A (en) Coding apparatus, coding method and program
CN111327904B (en) Image reconstruction method and device
JP6648753B2 (en) Image encoding apparatus and method
JPWO2009037828A1 (en) Image coding apparatus and image decoding apparatus
CN112771866A (en) Method, device and system for encoding and decoding a tree of blocks of video samples
JP7314281B2 (en) Deblocking Filter for Subpartition Boundaries Caused by Intra-Subpartition Coding Tools
US11812060B2 (en) Method and device for deblocking filtering a boundary within an intra predicted block
CN116208773B (en) Encoder, decoder and corresponding methods for adaptive loop filtering
JP2023139106A (en) Padding process in adaptive loop filtering
JP2023145666A (en) Adaptive loop filtering between different video units
CN113557731A (en) Method, apparatus and system for encoding and decoding a block tree of video samples
KR20160064419A (en) Data processing system modifying motion compensation information, and data processing method thereof
CN114830665B (en) Affine motion model restriction
JP2010098633A (en) Prediction coding apparatus, and prediction coding method
JP2007258882A (en) Image decoder
CN112425162A (en) Wide-angle intra prediction and position-dependent intra prediction combination
JP6519185B2 (en) Video encoder
US11831872B2 (en) Video encoding and decoding using multiple transform selection
US9219926B2 (en) Image encoding apparatus, image encoding method and program, image decoding apparatus, image decoding method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6519185

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150