JP5698629B2 - Image processing apparatus, filter processing method, and program - Google Patents

Image processing apparatus, filter processing method, and program Download PDF

Info

Publication number
JP5698629B2
JP5698629B2 JP2011196445A JP2011196445A JP5698629B2 JP 5698629 B2 JP5698629 B2 JP 5698629B2 JP 2011196445 A JP2011196445 A JP 2011196445A JP 2011196445 A JP2011196445 A JP 2011196445A JP 5698629 B2 JP5698629 B2 JP 5698629B2
Authority
JP
Japan
Prior art keywords
block
value
motion vector
unit
threshold
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
JP2011196445A
Other languages
Japanese (ja)
Other versions
JP2013058935A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2011196445A priority Critical patent/JP5698629B2/en
Publication of JP2013058935A publication Critical patent/JP2013058935A/en
Application granted granted Critical
Publication of JP5698629B2 publication Critical patent/JP5698629B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、デブロッキングフィルタ機能を有する画像処理装置、フィルタ処理方法及びプログラムに関する。   The present invention relates to an image processing apparatus having a deblocking filter function, a filter processing method, and a program.

近年マルチメディア化が進み、動画像を扱う機会が多くなってきている。画像データは情報量が大きく、画像の集合である動画像は、テレビ放送の主流であるハイビジョン(1920×1080)放送で1Gbit/secを超える情報量である。   In recent years, with the advance of multimedia, there are many opportunities to handle moving images. Image data has a large amount of information, and a moving image, which is a set of images, has an information amount exceeding 1 Gbit / sec in high-definition (1920 × 1080) broadcasting, which is the mainstream of television broadcasting.

そのため、動画像データは、H.264/AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)などに代表される符号化標準技術によって、情報量を圧縮して伝送・蓄積が行われている。   Therefore, the moving image data is H.264. Information is compressed and transmitted and stored by an encoding standard technique represented by H.264 / AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding).

符号化標準技術であるH.264/AVCは、直交変換やフレーム間予測、フレーム内予測、算術符号化、デブロッキングフィルタなどのツールを利用して、動画像の1/100程度までの圧縮を実現している。ツールの一つであるデブロッキングフィルタは、マクロブロック単位の符号化によるブロック歪を抑える働きがあり、特に圧縮率を上げた場合の画質劣化を低く抑える効果がある。   H., an encoding standard technology. H.264 / AVC uses a tool such as orthogonal transform, inter-frame prediction, intra-frame prediction, arithmetic coding, and deblocking filter to achieve compression of about 1/100 of a moving image. A deblocking filter, which is one of the tools, has a function of suppressing block distortion due to encoding in units of macroblocks, and has an effect of suppressing image quality deterioration particularly when the compression rate is increased.

デブロッキングフィルタ処理では、はじめに2つの隣接ブロックに対して、Bs値(Boundary Strength:ブロック境界強度)を設定する。Bs値の設定では、図1に示す定義が用いられる。図1は、Bs値の定義を示す図である。図1に基づいて設定されたBs値を用いてデブロッキングフィルタ処理が行われる(非特許文献1)。   In the deblocking filter process, first, Bs values (Boundary Strength) are set for two adjacent blocks. In setting the Bs value, the definition shown in FIG. 1 is used. FIG. 1 is a diagram showing the definition of the Bs value. Deblocking filter processing is performed using the Bs value set based on FIG. 1 (Non-Patent Document 1).

また、このデブロッキングフィルタ処理に関して、隣接ブロックの境界にある画素の差分値が符号化歪であるか否かを、Qp値に基づいて判定する技術がある。Qp値は、符号化時の符号化クオリティ設定値である(特許文献1)。   In addition, regarding this deblocking filter processing, there is a technique for determining whether or not the difference value of pixels at the boundary between adjacent blocks is coding distortion based on the Qp value. The Qp value is an encoding quality setting value at the time of encoding (Patent Document 1).

特開2007−336468号公報JP 2007-336468 A

大久保榮監修,「改訂三版 H.264/AVC 教科書」,インプレス R&D,p.144−148,2009Supervised by Satoshi Okubo, “Revised Third Edition H.264 / AVC Textbook”, Impress R & D, p. 144-148, 2009

従来技術では、2つの隣接ブロックp、qのいずれかがイントラ・マクロブロックに属するか、マクロブロック境界に位置するか、直交変換係数を持つか、参照ピクチャや動きベクトル値が異なるかなどに基づきBs値が設定される。図1に示すように、Bs値は、ブロックp、qのいずれかがイントラ・マクロブロックに属さない場合、低い値に設定される。   In the prior art, based on whether one of two adjacent blocks p and q belongs to an intra macroblock, is located at a macroblock boundary, has an orthogonal transform coefficient, or has a different reference picture or motion vector value A Bs value is set. As shown in FIG. 1, the Bs value is set to a low value when either of the blocks p and q does not belong to the intra macroblock.

よって、ブロックp、qがともにインター・マクロブロックの場合には、動きベクトル予測に関する符号化歪が存在するにも関わらず、Bs値が低くなる。そして動きベクトル予測に関する符号化歪は、大きな動きぼやけや多くの動オブジェクトを含む高解像度画像ほど大きくなる。   Therefore, when both the blocks p and q are inter macroblocks, the Bs value becomes low despite the presence of coding distortion related to motion vector prediction. The coding distortion related to motion vector prediction becomes larger as a high-resolution image including large motion blur and many moving objects.

従って、従来技術では、ブロックp、qがともにインター・マクロブロックの場合にはBs値が低く設定され、動きベクトル予測に関する符号化歪を十分に除去することができないという問題点があった。   Therefore, the conventional technique has a problem that when both the blocks p and q are inter macroblocks, the Bs value is set low, and the coding distortion related to motion vector prediction cannot be sufficiently removed.

そこで、本発明は、上記課題に鑑みてなされたものであり、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる画像処理装置、フィルタ処理方法及びプログラムを目的とする。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to provide an image processing apparatus, a filter processing method, and a program that can appropriately remove coding distortion related to motion vector prediction existing at a block boundary. .

本発明の一態様における画像処理装置は、画像のブロック境界の歪を除去するフィルタ処理を行う画像処理装置であって、隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定部と、前記設定部により設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタ部と、を備え、前記設定部は、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出部と、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出部と、前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出部と、前記差分値及び前記平均値に基づき閾値を設定する閾値設定部と、前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定部とを備える。
An image processing apparatus according to an aspect of the present invention is an image processing apparatus that performs filter processing to remove distortion at a block boundary of an image, and is based on the direction and magnitude of motion vectors of adjacent first blocks and second blocks. A setting unit that sets parameters used for deblocking filter processing, and a filter unit that performs deblocking filter processing at a boundary between the first block and the second block using the parameters set by the setting unit; The setting unit includes: a difference value calculation unit that calculates a horizontal and vertical difference value between the motion vector of the first block and the motion vector of the second block; the motion vector of the first block; An average value calculating unit for calculating an average value in the horizontal and vertical directions with the motion vector of the second block; the first block and the second block; A difference absolute value calculation unit that calculates a difference absolute value of each pixel adjacent to the boundary between the threshold, a threshold setting unit that sets a threshold based on the difference value and the average value, and the difference absolute value and the threshold based on the comparison result, Ru and a parameter setting unit configured to set the parameters.

また、前記閾値設定部は、前記差分値、前記平均値、及び前記第1ブロック又は前記第2ブロックのサイズに基づき前記閾値を設定してもよい。
The threshold setting unit may set the threshold based on the difference value, the average value, and the size of the first block or the second block.

また、本発明の他の態様におけるフィルタ処理方法は、画像のブロック境界の歪を除去するフィルタ処理を行う画像処理装置が実行するフィルタ処理方法であって、隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定ステップと、前記設定ステップにより設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタステップと、を有し、前記設定ステップは、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出ステップと、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出ステップと、前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出ステップと、前記差分値及び前記平均値に基づき閾値を設定する閾値設定ステップと、前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定ステップとを有する。
A filter processing method according to another aspect of the present invention is a filter processing method executed by an image processing apparatus that performs filter processing for removing distortion at a block boundary of an image, and includes a first block and a second block adjacent to each other. Based on the direction and magnitude of the motion vector, a setting step for setting parameters used for the deblocking filter process, and a parameter set by the setting step is used to delimit the boundary between the first block and the second block. a filter step of performing a blocking filter, was closed, the setting step, the horizontal motion vector of the second block and the motion vector of the first block, the difference value calculation step of calculating a difference value in the vertical direction , Horizontal and vertical of the motion vector of the first block and the motion vector of the second block An average value calculating step of calculating an average value of the direction, a difference absolute value calculating step of calculating a difference absolute value of each pixel adjacent to a boundary between the first block and the second block, the difference value, and the average a threshold setting step of setting a threshold value based on a value based on the comparison result of the difference absolute value and the threshold to have a parameter setting step of setting the parameters.

また、本発明の他の態様におけるプログラムは、画像のブロック境界の歪を除去するフィルタ処理を行うためのプログラムであって、コンピュータに、隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定ステップと、前記設定ステップにより設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタステップを実行させ、前記設定ステップは、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出ステップと、前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出ステップと、前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出ステップと、前記差分値及び前記平均値に基づき閾値を設定する閾値設定ステップと、前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定ステップとを有する。 According to another aspect of the present invention, there is provided a program for performing a filtering process for removing distortion at a block boundary of an image, wherein the direction of motion vectors of the first block and the second block adjacent to the computer and A deblocking filter process is performed at the boundary between the first block and the second block using a setting step for setting parameters used in the deblocking filter process based on the size and the parameters set in the setting step A filter step is executed, and the setting step includes a difference value calculating step for calculating a horizontal and vertical difference value between the motion vector of the first block and the motion vector of the second block, and the motion of the first block Horizontal and vertical average values of the vector and the motion vector of the second block An average value calculating step for calculating, a difference absolute value calculating step for calculating a difference absolute value of each pixel adjacent to a boundary between the first block and the second block, a threshold value based on the difference value and the average value a threshold setting step of setting, based on the comparison result of the difference absolute value and the threshold value, that having a parameter setting step of setting the parameters.

本発明によれば、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる。   According to the present invention, it is possible to appropriately remove coding distortion related to motion vector prediction existing at a block boundary.

Bs値の定義を示す図。The figure which shows the definition of Bs value. 実施例1における画像符号化装置の概略構成の一例を示すブロック図。1 is a block diagram illustrating an example of a schematic configuration of an image encoding device according to Embodiment 1. FIG. 実施例1におけるデブロッキングフィルタ部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a deblocking filter unit according to the first embodiment. 実施例1における設定部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a setting unit according to the first embodiment. 実施例1におけるパラメータ設定部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a parameter setting unit according to the first embodiment. ブロックpとブロックqとの隣接関係の一例を示す図。The figure which shows an example of the adjacent relationship of the block p and the block q. 水平方向に隣接するブロックが水平方向に大きな動きベクトルを持つ場合を示す図。The figure which shows the case where the block adjacent to a horizontal direction has a big motion vector in a horizontal direction. 動きベクトル平均値と閾値との関係テーブルの一例を示す図。The figure which shows an example of the relationship table of a motion vector average value and a threshold value. 動きベクトル平均値、ブロックサイズ、閾値の関係テーブルの一例を示す図。The figure which shows an example of the relationship table of a motion vector average value, block size, and a threshold value. 閾値判定に用いる隣接画素の一例を示す図。The figure which shows an example of the adjacent pixel used for threshold value determination. 実施例1におけるフィルタ処理(その1)の一例を示すフローチャート。6 is a flowchart illustrating an example of filter processing (part 1) in the first embodiment. 実施例1におけるフィルタ処理(その2)の一例を示すフローチャート。9 is a flowchart illustrating an example of filter processing (part 2) in the first embodiment. 実施例2におけるパラメータ設定部の構成の一例を示すブロック図。FIG. 9 is a block diagram illustrating an example of a configuration of a parameter setting unit according to a second embodiment. 実施例2におけるフィルタ処理の一例を示すフローチャート。10 is a flowchart illustrating an example of filter processing according to the second embodiment. 実施例3におけるパラメータ設定部の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a parameter setting unit according to a third embodiment. 実施例3におけるフィルタ処理の一例を示すフローチャート。10 is a flowchart illustrating an example of filter processing according to the third embodiment. 実施例4における画像符号化装置の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of an image encoding device according to a fourth embodiment.

以下、添付図面を参照しながら実施例について詳細に説明する。   Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

[実施例1]
<構成>
図2は、実施例1における画像符号化装置10の概略構成の一例を示すブロック図である。図2に示す画像符号化装置10は、前処理部101、予測誤差信号生成部102、直交変換部103、量子化部104、エントロピー符号化部105、逆量子化部106、逆直交変換部107、復号画像生成部108、デブロッキングフィルタ部109、フレームメモリ110、動き予測部111、動き補償部112を有する。
[Example 1]
<Configuration>
FIG. 2 is a block diagram illustrating an example of a schematic configuration of the image encoding device 10 according to the first embodiment. 2 includes a preprocessing unit 101, a prediction error signal generation unit 102, an orthogonal transformation unit 103, a quantization unit 104, an entropy coding unit 105, an inverse quantization unit 106, and an inverse orthogonal transformation unit 107. A decoded image generation unit 108, a deblocking filter unit 109, a frame memory 110, a motion prediction unit 111, and a motion compensation unit 112.

前処理部101は、ピクチャタイプに合わせてピクチャを並べ替え、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部101は、縮小画像を生成し、動きの方向などを調査する処理などを行ってもよい。   The preprocessing unit 101 rearranges the pictures according to the picture type, and sequentially outputs the picture type and the frame image for each frame. Further, the preprocessing unit 101 may perform a process of generating a reduced image and investigating the direction of movement and the like.

予測誤差信号生成部102は、入力された動画像データの符号化対象画像が16×16ピクセル(画素)のブロック(MacroBlock)に分割されたマクロブロックデータ(以降、MBデータともいう)を取得する。   The prediction error signal generation unit 102 obtains macroblock data (hereinafter also referred to as MB data) obtained by dividing an encoding target image of input moving image data into blocks (MacroBlock) of 16 × 16 pixels (pixels). .

予測誤差信号生成部102は、MBデータと、動き補償部112から出力される予測画像のMBデータとにより、予測誤差信号を生成する。予測誤差信号生成部102は、生成された予測誤差信号を直交変換部103に出力する。   The prediction error signal generation unit 102 generates a prediction error signal from the MB data and the MB data of the prediction image output from the motion compensation unit 112. The prediction error signal generation unit 102 outputs the generated prediction error signal to the orthogonal transformation unit 103.

直交変換部103は、入力された予測誤差信号を8×8単位や4×4単位でDCT(Discrete Cosine Transform)変換する。なお、DCT変換以外にもアダマール(Hadamard)変換などの直交変換を行ってもよい。   The orthogonal transform unit 103 performs DCT (Discrete Cosine Transform) transform on the input prediction error signal in units of 8 × 8 or 4 × 4. In addition to the DCT transform, orthogonal transform such as Hadamard transform may be performed.

直交変換部103は、直交変換処理により、水平及び垂直方向の周波数成分に分離された直交変換係数を取得する。この直交変換処理は、画像の空間相関性を用いて周波数成分に変換する事により、低周波成分にデータが集まり情報量圧縮を行う事が可能となる。   The orthogonal transform unit 103 acquires orthogonal transform coefficients that are separated into frequency components in the horizontal and vertical directions by orthogonal transform processing. In this orthogonal transformation process, data is collected in the low frequency component and the information amount can be compressed by converting the frequency component using the spatial correlation of the image.

量子化部104は、直交変換されたデータ(直交変換係数とも呼ぶ)を量子化することによって、データの符号量を低減し、この量子化された値をエントロピー符号化部105及び逆量子化部106に出力する。   The quantization unit 104 reduces the code amount of the data by quantizing the orthogonally transformed data (also referred to as orthogonal transformation coefficient), and the quantized value is converted into the entropy coding unit 105 and the inverse quantization unit. It outputs to 106.

エントロピー符号化部105は、量子化部104から出力されたデータや動き予測部111から出力された動きベクトル情報をエントロピー符号化してビットストリームを出力する。エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。   The entropy encoding unit 105 entropy encodes the data output from the quantization unit 104 and the motion vector information output from the motion prediction unit 111, and outputs a bitstream. Entropy coding is a method of assigning variable-length codes according to the appearance frequency of symbols.

エントロピー符号化部105は、例えば、基本的には出現頻度の高い係数の組合せにはより短い符号を、出現頻度の低い係数の組合せにはより長い符号を割当てる。これにより、全体的に符号長を短くしようとする。例えば、H.264では、CAVLC(Context-Adaptive Variable Length Coding)やCABAC(Context-Adaptive Binary Arithmetic Coding)と呼ばれる方式のエントロピー符号化を選択することができる。   For example, the entropy encoding unit 105 basically assigns a shorter code to a combination of coefficients having a high appearance frequency, and assigns a longer code to a combination of coefficients having a low appearance frequency. This attempts to shorten the code length as a whole. For example, H.M. In H.264, entropy coding of a method called CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding) can be selected.

逆量子化部106は、量子化部104から出力されたデータを逆量子化する。逆量子化部106は、逆量子化したデータを逆直交変換部107に出力する。   The inverse quantization unit 106 inversely quantizes the data output from the quantization unit 104. The inverse quantization unit 106 outputs the inversely quantized data to the inverse orthogonal transform unit 107.

逆直交変換部107は、逆量子化されたデータに対して、逆直交変換を行って、周波数成分から画素成分へ変換する。逆直交変換部107は、変換後のデータを復号画像生成部108に出力する。逆直交変換処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。   The inverse orthogonal transform unit 107 performs inverse orthogonal transform on the inversely quantized data to convert the frequency component into a pixel component. The inverse orthogonal transform unit 107 outputs the transformed data to the decoded image generation unit 108. By performing the inverse orthogonal transform process, a signal comparable to the prediction error signal before encoding is obtained.

復号画像生成部108は、動き補償部112で動き補償された画像のMBデータと、逆直交変換部107により復号処理された予測誤差信号とを加算する。これにより、復号化側と同等の処理画像を符号化側でも生成することができる。   The decoded image generation unit 108 adds the MB data of the image subjected to motion compensation by the motion compensation unit 112 and the prediction error signal decoded by the inverse orthogonal transform unit 107. Thereby, the processing image equivalent to the decoding side can also be generated on the encoding side.

符号化側で生成された画像を局所復号画像と呼び、符号化側に復号化側と同一の処理画像を生成することで、次ピクチャ以降の差分符号化を行うことが可能となる。復号画像生成部108は、加算して生成した局所復号画像のMBデータを、デブロッキングフィルタ部109に出力する。   An image generated on the encoding side is referred to as a locally decoded image, and by generating the same processed image on the encoding side as that on the decoding side, it is possible to perform differential encoding on and after the next picture. The decoded image generation unit 108 outputs the MB data of the locally decoded image generated by the addition to the deblocking filter unit 109.

デブロッキングフィルタ部109は、デブロッキングフィルタ条件を満たす場合に、デブロッキングフィルタ処理を行う。デブロッキングフィルタ条件は、H.264/AVCの符号化技術では次の通りである。
Bs>0 ・・・条件1
|p0−q0|<α ・・・条件2
|p1−q0|<β ・・・条件3
|q1−q0|<β ・・・条件4
この条件1〜4を全て満たす場合に、デブロッキングフィルタ処理が行われる。
The deblocking filter unit 109 performs deblocking filter processing when the deblocking filter condition is satisfied. The deblocking filter condition is H.264. The H.264 / AVC encoding technique is as follows.
Bs> 0 Condition 1
| P0−q0 | <α ... Condition 2
| P1-q0 | <β (Condition 3)
| Q1-q0 | <β (Condition 4)
A deblocking filter process is performed when all of these conditions 1 to 4 are satisfied.

なお、Bs値は、H.264/AVCで定義されているブロック境界強度であり、0以上4以下の値を持つ。0の場合はデブロッキングフィルタ処理を行わないことを意味する。ブロックpとブロックqが水平方向に隣接する場合、p0は、ブロックqとの境界にあるブロックpの画素であり、p1は、p0に対して水平方向に隣接するブロックp内の画素である。q0は、ブロックpとの境界にあるブロックqの画素であり、q1は、q0に対して水平方向に隣接するブロックq内の画素である。また、ブロックpとqとが垂直方向に隣接する場合は、上述した説明の水平方向を垂直方向に読み替えればよい。   The Bs value is H.264. This is the block boundary strength defined by H.264 / AVC and has a value of 0 or more and 4 or less. A case of 0 means that deblocking filter processing is not performed. When the block p and the block q are adjacent to each other in the horizontal direction, p0 is a pixel of the block p at the boundary with the block q, and p1 is a pixel in the block p that is adjacent to p0 in the horizontal direction. q0 is a pixel of the block q at the boundary with the block p, and q1 is a pixel in the block q adjacent to q0 in the horizontal direction. When the blocks p and q are adjacent in the vertical direction, the horizontal direction described above may be read as the vertical direction.

ここで、動きベクトルが大きい方向では、大きな動きぼやけが発生し、エッジ成分が減少する。よって、動いている方向に隣接する2つのブロックの動きベクトルが、同じ方向を示し、その大きさが大きい場合、隣接するブロックの境界にある画素値の差分は小さいはずである。   Here, in the direction in which the motion vector is large, a large motion blur occurs and the edge component decreases. Therefore, when the motion vectors of two blocks adjacent in the moving direction indicate the same direction and the size is large, the difference between the pixel values at the boundary of the adjacent blocks should be small.

そこで、デブロッキングフィルタ部109は、ブロックpとブロックqとが、動きベクトルを有する場合、その動きベクトルの方向及び大きさに基づいて、デブロッキングフィルタに用いるパラメータを設定し、フィルタ処理を行う。デブロッキングフィルタ部109の詳細は後述する。   Therefore, when the block p and the block q have a motion vector, the deblocking filter unit 109 sets parameters used for the deblocking filter based on the direction and magnitude of the motion vector, and performs a filtering process. Details of the deblocking filter unit 109 will be described later.

フレームメモリ110は、デブロッキングフィルタ処理された局所復号画像のMBデータを記憶する。フレームメモリ110に記憶される局所復号画像は、参照画像となりうる。   The frame memory 110 stores MB data of a locally decoded image that has been subjected to deblocking filtering. The locally decoded image stored in the frame memory 110 can be a reference image.

動き予測部111は、符号化対象画像におけるMBデータと、フレームメモリ110から取得する参照画像のMBデータとを用いて動き探索を行い、適切な動きベクトルを求める。   The motion prediction unit 111 performs a motion search using the MB data in the encoding target image and the MB data of the reference image acquired from the frame memory 110, and obtains an appropriate motion vector.

動きベクトルとは、ブロック単位で参照画像から符号化対象画像のMBに最も類似している位置を探索するブロックマッチング技術を用いて求められるブロック単位の空間的なずれを示す値である。   The motion vector is a value indicating a spatial deviation in units of blocks obtained by using a block matching technique for searching for a position most similar to the MB of the encoding target image from the reference image in units of blocks.

動きベクトルの符号化は、動きベクトルの成分そのものでなく周辺MBの動きベクトルとの差分ベクトルを符号化する。動き予測部111は、探索した動きベクトルを動き補償部112に出力し、動きベクトル、参照画像の情報などを含む動きベクトル情報をエントロピー符号化部105に出力する。   In the motion vector encoding, not the motion vector component itself but the difference vector with the motion vector of the surrounding MB is encoded. The motion prediction unit 111 outputs the searched motion vector to the motion compensation unit 112, and outputs motion vector information including information on the motion vector and the reference image to the entropy encoding unit 105.

動き補償部112は、参照画像のデータを、動き予測部111から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのMBデータが生成される。動き補償されたMBデータは、参照画像として予測誤差信号生成部102及び復号画像生成部108に出力される。   The motion compensation unit 112 performs motion compensation on the reference image data with the motion vector provided from the motion prediction unit 111. As a result, MB data as a motion-compensated reference image is generated. The motion-compensated MB data is output to the prediction error signal generation unit 102 and the decoded image generation unit 108 as a reference image.

(デブロッキングフィルタ部)
次に、デブロッキングフィルタ部109の構成について説明する。図3は、実施例1におけるデブロッキングフィルタ部109の構成の一例を示すブロック図である。図3に示すように、デブロッキングフィルタ部109は、設定部201、フィルタ部202を有する。
(Deblocking filter part)
Next, the configuration of the deblocking filter unit 109 will be described. FIG. 3 is a block diagram illustrating an example of the configuration of the deblocking filter unit 109 according to the first embodiment. As illustrated in FIG. 3, the deblocking filter unit 109 includes a setting unit 201 and a filter unit 202.

設定部201は、隣接するブロックpとブロックqとの動きベクトルの方向及び大きさに基づいて、デブロッキングフィルタに用いるパラメータを設定する。このパラメータとして、例えばBs値がある。隣接するブロックpとブロックqとをまとめて隣接ブロックとも呼ぶ。設定部201の詳細は、図4を用いて説明する。なお、設定部201は、過去に符号化されたブロックの動きベクトルなどのデータについてはフレームメモリ110から取得する。   The setting unit 201 sets parameters used for the deblocking filter based on the direction and magnitude of the motion vectors of the adjacent blocks p and q. An example of this parameter is a Bs value. Adjacent blocks p and q are collectively referred to as adjacent blocks. Details of the setting unit 201 will be described with reference to FIG. Note that the setting unit 201 acquires data such as motion vectors of previously encoded blocks from the frame memory 110.

フィルタ部202は、設定部201により設定されたパラメータを用いてデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理については、非特許文献1を参照されたい。   The filter unit 202 performs deblocking filter processing using the parameters set by the setting unit 201. Refer to Non-Patent Document 1 for deblocking filter processing.

図4は、実施例1における設定部201の構成の一例を示すブロック図である。図4に示す設定部201は、動きベクトル差分値算出部301、動きベクトル平均値算出部302、隣接画素差分絶対値算出部303、パラメータ設定部304を有する。   FIG. 4 is a block diagram illustrating an example of the configuration of the setting unit 201 according to the first embodiment. The setting unit 201 illustrated in FIG. 4 includes a motion vector difference value calculation unit 301, a motion vector average value calculation unit 302, an adjacent pixel difference absolute value calculation unit 303, and a parameter setting unit 304.

動きベクトル差分値算出部301は、ブロックpの動きベクトル、及びブロックqの動きベクトルを取得する。動きベクトル差分値算出部301は、ブロックpの動きベクトルと、ブロックqの動きベクトルとの水平、垂直方向それぞれの差分値を算出する。動きベクトル差分値算出部301は、算出した動きベクトルの差分値をパラメータ設定部304に出力する。差分値は、絶対値を求めてもよい。   The motion vector difference value calculation unit 301 acquires the motion vector of the block p and the motion vector of the block q. The motion vector difference value calculation unit 301 calculates difference values in the horizontal and vertical directions between the motion vector of the block p and the motion vector of the block q. The motion vector difference value calculation unit 301 outputs the calculated motion vector difference value to the parameter setting unit 304. The difference value may be an absolute value.

動きベクトル平均値算出部302は、ブロックpの動きベクトル、及びブロックqの動きベクトルを取得する。動きベクトル平均値算出部302は、ブロックpの動きベクトルと、ブロックqの動きベクトルとの水平、垂直方向それぞれの平均値を算出する。動きベクトル平均値算出部302は、算出した動きベクトルの平均値をパラメータ設定部304に出力する。   The motion vector average value calculation unit 302 acquires the motion vector of the block p and the motion vector of the block q. The motion vector average value calculation unit 302 calculates average values in the horizontal and vertical directions of the motion vector of the block p and the motion vector of the block q. The motion vector average value calculation unit 302 outputs the calculated average value of the motion vectors to the parameter setting unit 304.

なお、動きベクトル平均値算出部302は、ブロックpとブロックqの隣接方向と同じ方向の動きベクトル成分の平均値のみを算出してもよい。例えば、ブロックpとブロックqとが水平方向に隣接する場合、動きベクトル平均値算出部302は、ブロックpの動きベクトルの水平成分と、ブロックqの動きベクトルの水平成分との平均値のみを算出してもよい。   Note that the motion vector average value calculation unit 302 may calculate only the average value of motion vector components in the same direction as the adjacent direction of the block p and the block q. For example, when the block p and the block q are adjacent to each other in the horizontal direction, the motion vector average value calculation unit 302 calculates only the average value of the horizontal component of the motion vector of the block p and the horizontal component of the motion vector of the block q. May be.

隣接画素差分絶対値算出部303は、ブロックpの画素値及びブロックqの画素値を取得する。隣接画素差分絶対値算出部303は、例えばp0とq0との差分絶対値を算出する。   The adjacent pixel difference absolute value calculation unit 303 acquires the pixel value of the block p and the pixel value of the block q. The adjacent pixel difference absolute value calculation unit 303 calculates the difference absolute value between p0 and q0, for example.

また、隣接画素差分絶対値算出部303は、p1とq1との差分絶対値、又はp0及びp1の平均とq0及びq1の平均との差分絶対値などのブロックpとブロックqとに隣接する画素間の差分絶対値を求めればよい。隣接画素差分絶対値算出部303は、算出した差分絶対値をパラメータ設定部304に出力する。ブロック境界に隣接するブロックpとブロックqの画素を隣接画素と呼ぶ。   The adjacent pixel difference absolute value calculation unit 303 is a pixel adjacent to the block p and the block q such as the difference absolute value between p1 and q1 or the difference absolute value between the average of p0 and p1 and the average of q0 and q1. What is necessary is just to obtain | require the difference absolute value between. The adjacent pixel difference absolute value calculation unit 303 outputs the calculated difference absolute value to the parameter setting unit 304. Pixels of block p and block q adjacent to the block boundary are referred to as adjacent pixels.

パラメータ設定部304は、取得した動きベクトルの差分値、平均値、隣接画素間の差分絶対値に基づき、デブロッキングフィルタに用いるパラメータを設定する。パラメータ設定部304については、図5を用いて説明する。   The parameter setting unit 304 sets parameters used for the deblocking filter based on the obtained difference value, average value of motion vectors, and the absolute difference value between adjacent pixels. The parameter setting unit 304 will be described with reference to FIG.

図5は、実施例1におけるパラメータ設定部304の構成の一例を示すブロック図である。図5に示すパラメータ設定部304は、閾値設定部401、ブロック境界強度設定部402を有する。   FIG. 5 is a block diagram illustrating an example of the configuration of the parameter setting unit 304 according to the first embodiment. The parameter setting unit 304 illustrated in FIG. 5 includes a threshold setting unit 401 and a block boundary strength setting unit 402.

閾値設定部401は、動きベクトルの差分値、平均値に基づき、水平、垂直方向の画素値の差分絶対値との判定に用いる閾値を設定する。閾値設定部401は、例えば、水平方向に隣接するブロックが、水平方向に大きな動きベクトルを持つ場合、水平方向の閾値を小さく設定する。これは、水平方向は、動きぼやけによる水平エッジ成分が低下していると判断できるため、隣接する画素値の差分絶対値に対する閾値を小さくするためである。   The threshold value setting unit 401 sets a threshold value used for the determination of the absolute difference value between the horizontal and vertical pixel values based on the difference value and average value of the motion vectors. For example, when a block adjacent in the horizontal direction has a large motion vector in the horizontal direction, the threshold setting unit 401 sets a small threshold in the horizontal direction. This is because in the horizontal direction, it can be determined that the horizontal edge component due to motion blur is reduced, and thus the threshold value for the absolute difference between adjacent pixel values is reduced.

図6は、ブロックpとブロックqとの隣接関係の一例を示す図である。図6(A)は、ブロックpとブロックqとが水平方向に隣接する場合を示す。閾値設定部401は、図6(A)に示すように、ブロックが水平方向に隣接する場合は、水平方向の閾値を設定する。   FIG. 6 is a diagram illustrating an example of the adjacent relationship between the block p and the block q. FIG. 6A shows a case where the block p and the block q are adjacent to each other in the horizontal direction. As illustrated in FIG. 6A, the threshold setting unit 401 sets a horizontal threshold when the blocks are adjacent in the horizontal direction.

図6(B)は、ブロックpとブロックqとが垂直方向に隣接する場合を示す。閾値設定部401は、図6(B)に示すように、ブロックが垂直方向に隣接する場合は、垂直方向の閾値を設定する。   FIG. 6B shows a case where the block p and the block q are adjacent in the vertical direction. As shown in FIG. 6B, the threshold setting unit 401 sets a vertical threshold when the blocks are adjacent in the vertical direction.

図7は、水平方向に隣接するブロックが水平方向に大きな動きベクトルを持つ場合を示す図である。閾値設定部401は、図7に示すように、水平方向に隣接するブロックが水平方向に大きな動きベクトルを持つ場合、水平方向の閾値を小さく設定する。   FIG. 7 is a diagram illustrating a case where blocks adjacent in the horizontal direction have a large motion vector in the horizontal direction. As illustrated in FIG. 7, the threshold setting unit 401 sets a small horizontal threshold when blocks adjacent in the horizontal direction have a large motion vector in the horizontal direction.

閾値の設定については、閾値設定部401は、まず、隣接するブロックの動きベクトルが、ブロックの隣接方向と同じ方向を指すかどうかの判定を行う。例えば、閾値設定部401は、2つの動きベクトルの水平成分、垂直成分それぞれの大きい方の10%の値を水平閾値、垂直閾値に決定しておく。閾値設定部401は、動きベクトルの水平成分の差分値が、水平閾値よりも小さく、動きベクトルの垂直成分の差分値が、垂直閾値よりも小さい場合に、2つの動きベクトルは、同じ方向を指すと判定する。   Regarding threshold setting, the threshold setting unit 401 first determines whether or not the motion vector of an adjacent block points in the same direction as the adjacent direction of the block. For example, the threshold setting unit 401 determines 10% of the larger one of the horizontal and vertical components of the two motion vectors as the horizontal threshold and the vertical threshold. When the difference value of the horizontal component of the motion vector is smaller than the horizontal threshold value and the difference value of the vertical component of the motion vector is smaller than the vertical threshold value, the threshold setting unit 401 indicates the two motion vectors in the same direction. Is determined.

また、閾値設定部401は、隣接するブロックが水平方向に隣接する場合、2つの動きベクトルは水平方向を指すかどうかを判定する。閾値設定部401は、隣接するブロックが垂直方向に隣接する場合、2つの動きベクトルは垂直方向を指すかどうかを判定する。閾値設定部401は、2つの動きベクトルが水平又は垂直のどちらを指すかは、水平成分、垂直成分のどちらが大きいかを判断すればよい。閾値設定部401は、2つの動きベクトルが、ブロック間の隣接方向と同じ方向を指していない場合は、その旨をブロック境界強度設定部402に通知する。   Further, the threshold setting unit 401 determines whether two motion vectors indicate the horizontal direction when adjacent blocks are adjacent in the horizontal direction. The threshold value setting unit 401 determines whether two motion vectors indicate the vertical direction when adjacent blocks are adjacent in the vertical direction. The threshold value setting unit 401 may determine whether the two motion vectors indicate horizontal or vertical and which of the horizontal component and the vertical component is larger. If the two motion vectors do not point in the same direction as the adjacent direction between the blocks, the threshold setting unit 401 notifies the block boundary strength setting unit 402 to that effect.

閾値設定部401は、2つの動きベクトルが、ブロック間の隣接方向と同じ方向を指す場合、2つの動きベクトルの大きさに応じて、画素値の差分絶対値との比較に用いる閾値を設定する。   When the two motion vectors point in the same direction as the adjacent direction between the blocks, the threshold setting unit 401 sets a threshold used for comparison with the absolute difference value of the pixel values according to the magnitudes of the two motion vectors. .

図8は、動きベクトル平均値と閾値との関係テーブルの一例を示す図である。図8に示す例では、閾値設定部401は、動きベクトル平均値が4以下の場合、閾値を例えば32に設定し、動きベクトルが4より大きく8以下の場合、閾値を例えば16に設定する。   FIG. 8 is a diagram illustrating an example of a relationship table between motion vector average values and threshold values. In the example illustrated in FIG. 8, the threshold setting unit 401 sets the threshold to 32, for example, when the motion vector average value is 4 or less, and sets the threshold to 16, for example, when the motion vector is greater than 4 and 8 or less.

この閾値は、例えば画像解像度が1920×1080、階調数が256の場合の例である。また、画像解像度が上がった場合は、図8に示す閾値の数値を線形的な数式で表現することも可能である。   This threshold is an example when the image resolution is 1920 × 1080 and the number of gradations is 256, for example. Further, when the image resolution is increased, the threshold value shown in FIG. 8 can be expressed by a linear mathematical expression.

閾値設定部401は、隣接するブロックが水平方向である場合は、水平方向の画素値の差分絶対値に対する閾値を設定する。また、閾値設定部401は、隣接するブロックが垂直方向である場合は、垂直方向の画素値の差分絶対値に対する閾値を設定する。閾値設定部401は、設定した閾値をブロック境界強度設定部402に出力する。   The threshold value setting unit 401 sets a threshold value for the absolute difference value of pixel values in the horizontal direction when adjacent blocks are in the horizontal direction. Further, the threshold setting unit 401 sets a threshold for the absolute difference value of the pixel values in the vertical direction when adjacent blocks are in the vertical direction. The threshold setting unit 401 outputs the set threshold to the block boundary strength setting unit 402.

なお、閾値設定部401は、閾値を設定する際に、ブロックp及び/又はブロックqのブロックサイズを考慮して閾値を設定してもよい。一般に動きベクトルが大きくなると、小さなサイズのブロックで動き検出を行った場合、動き検出確度が下がる。   The threshold setting unit 401 may set the threshold in consideration of the block size of the block p and / or the block q when setting the threshold. In general, when the motion vector increases, the motion detection accuracy decreases when motion detection is performed with a small-sized block.

これは、動きベクトルが大きくなると、動きぼやけが大きくなり、小さなサイズのブロックでは画像の特徴を正しく捉えることができないからである。   This is because as the motion vector increases, the motion blur increases, and the feature of the image cannot be correctly captured with a small-sized block.

小さなサイズのブロックで大きな動きベクトルを検出した場合、その動き検出結果は誤りである可能性が高い。よって、ブロック境界に存在する画素値の差分が大きい場合は、画像のエッジではなくて、ブロック歪である可能性が高くなる。そこで、小さなサイズのブロックで大きな動きベクトルを検出した場合ほど、強いデブロッキングフィルタをかけるようにする。   When a large motion vector is detected in a small size block, the motion detection result is likely to be erroneous. Therefore, when the difference between the pixel values existing at the block boundary is large, the possibility of block distortion is increased instead of the edge of the image. Therefore, a stronger deblocking filter is applied as a large motion vector is detected in a small-sized block.

以上の考えを踏まえ、閾値設定部401は、図9に示す関係テーブルを用いて閾値を設定してもよい。図9は、動きベクトル平均値、ブロックサイズ、閾値の関係テーブルの一例を示す図である。   Based on the above idea, the threshold setting unit 401 may set a threshold using the relation table shown in FIG. FIG. 9 is a diagram illustrating an example of a relationship table of motion vector average values, block sizes, and threshold values.

図9に示す例では、閾値設定部401は、動きベクトルの平均値とブロックサイズとに応じて閾値を適応的に設定する。ブロックサイズが小さいほど、閾値を小さく設定することで、強いデブロッキングフィルタがかかるようにする。   In the example illustrated in FIG. 9, the threshold setting unit 401 adaptively sets a threshold according to the average value of motion vectors and the block size. A stronger deblocking filter is applied by setting the threshold value smaller as the block size is smaller.

図5に戻り、ブロック境界強度設定部402は、H.264/AVCの符号化技術に従い、Bs値を設定しておく。ブロック境界強度設定部402は、閾値設定部401から、2つの動きベクトルが隣接する方向と同じ方向を指していないことを通知されると、H.264/AVCに従って設定したBs値を出力する。   Returning to FIG. The Bs value is set in accordance with the H.264 / AVC encoding technique. When the block boundary strength setting unit 402 is notified from the threshold setting unit 401 that the two motion vectors do not point in the same direction as the adjacent direction, the H.D. The Bs value set according to H.264 / AVC is output.

ブロック境界強度設定部402は、閾値設定部401から水平方向又は垂直方向に対する閾値を取得し、隣接画素差分絶対値算出部303から隣接画素の差分絶対値を取得した場合、以下の判定を行い、Bs値を再設定する。   When the block boundary strength setting unit 402 acquires the threshold value for the horizontal direction or the vertical direction from the threshold value setting unit 401 and acquires the absolute difference value of the adjacent pixel from the adjacent pixel difference absolute value calculation unit 303, the following determination is performed. Reset the Bs value.

ブロック境界強度設定部402は、例えば水平方向の差分絶対値が、水平方向に対する閾値よりも大きい場合、Bs値に1を加算して、Bs値を再設定する。これにより、より強いデブロッキングフィルタがかかるようになる。   For example, when the absolute difference value in the horizontal direction is larger than the threshold value in the horizontal direction, the block boundary strength setting unit 402 adds 1 to the Bs value and resets the Bs value. Thereby, a stronger deblocking filter is applied.

差分絶対値が閾値を超える場合、動きぼやけによるエッジ成分が減少しているにもかかわらず、符号化歪により、ブロック境界の画素値の差分が大きくなっていると考えられる。よって、このブロック境界の画素に対し、より強いデブロッキングフィルタをかけるとよい。   When the difference absolute value exceeds the threshold value, it is considered that the difference between the pixel values of the block boundary is increased due to the encoding distortion, although the edge component due to motion blur is reduced. Therefore, it is preferable to apply a stronger deblocking filter to the pixels at the block boundary.

図10は、閾値判定に用いる隣接画素の一例を示す図である。図10に示す例では、ブロック境界強度設定部402は、p0とq0(n=1〜8)との画素値の差分絶対値と、水平方向の閾値とを比較する。図10に示す例では、8個の隣接画素に対してそれぞれ閾値と比較する。閾値はブロックに対して1つ設定され、ブロック境界強度(Bs)は、隣接画素ごとに設定される。 FIG. 10 is a diagram illustrating an example of adjacent pixels used for threshold determination. In the example illustrated in FIG. 10, the block boundary strength setting unit 402 compares the absolute difference value between the pixel values of pn 0 and q n 0 (n = 1 to 8) and the horizontal threshold value. In the example illustrated in FIG. 10, each of eight adjacent pixels is compared with a threshold value. One threshold is set for each block, and the block boundary strength (Bs) is set for each adjacent pixel.

なお、ブロック境界強度は、ブロックに対して1つ設定されるようにしてもよい。このとき、ブロック境界強度設定部402は、p0〜p0の平均値及びq0〜q0の平均値の差分値と、閾値とを比較してブロック境界強度を再設定するようにしてもよい。 Note that one block boundary strength may be set for each block. At this time, the block boundary strength setting unit 402 is reset and the differential value of the average value of the average value and the q 1 0~q 8 0 of p 1 0 to p 8 0, the block boundary strength is compared with a threshold value You may do it.

また、ブロック境界強度設定部402は、Bs値を再設定するのではなく、Bs値を設定するようにしてもよい。この場合、ブロック境界強度設定部402は、ブロックpとブロックqとがインター・マクロブロックに属する場合、例えば、以下の定義1に基づいてBs値を設定してもよい。
差分絶対値≦閾値+4であればBs=0
閾値+4<差分絶対値≦閾値+8であればBs=1
閾値+8<差分絶対値≦閾値+16であればBs=2
閾値+16<差分絶対値≦閾値+32であればBs=3
閾値+32<差分絶対値であればBs=4
これにより、ブロックpとブロックqとがインター・マクロブロックに属する場合であっても、強いデブロッキングフィルタをかけることができるようになる。
The block boundary strength setting unit 402 may set the Bs value instead of resetting the Bs value. In this case, when the block p and the block q belong to the inter macroblock, the block boundary strength setting unit 402 may set the Bs value based on the following definition 1, for example.
If difference absolute value ≦ threshold value + 4, Bs = 0
If threshold + 4 <absolute difference value ≦ threshold + 8, Bs = 1
If threshold + 8 <difference absolute value ≦ threshold + 16, Bs = 2
If threshold + 16 <difference absolute value ≦ threshold + 32, Bs = 3
If threshold + 32 <difference absolute value, Bs = 4
Thereby, even when the block p and the block q belong to the inter macroblock, a strong deblocking filter can be applied.

なお、ブロック境界強度設定部402は、ブロックpとブロックqの少なくとも一方がイントラ・マクロブロックに属する場合は、H.264/AVCの定義に従ってBs値を設定すればよい。   It should be noted that the block boundary strength setting unit 402 determines that the H.264 or H.H. The Bs value may be set according to the H.264 / AVC definition.

<動作>
次に、実施例1における画像符号化装置10の動作について説明する。図11は、実施例1におけるフィルタ処理(その1)の一例を示すフローチャートである。図11に示すフローは、フィルタに用いるパラメータであるBs値を再設定してフィルタ処理を行う例である。
<Operation>
Next, the operation of the image encoding device 10 in the first embodiment will be described. FIG. 11 is a flowchart illustrating an example of filter processing (part 1) in the first embodiment. The flow shown in FIG. 11 is an example in which the filter process is performed by resetting the Bs value, which is a parameter used for the filter.

図11に示すステップS101で、設定部201は、隣接ブロックがインター・マクロブロックに属するか否かを判定する。隣接ブロックがインター・マクロブロックに属する場合(ステップS101−YES)、ステップS102に進み、隣接ブロックがインター・マクロブロックに属さない場合(ステップS101−NO)、ステップS107に進む。   In step S101 shown in FIG. 11, the setting unit 201 determines whether or not the adjacent block belongs to the inter macroblock. When the adjacent block belongs to the inter macroblock (step S101-YES), the process proceeds to step S102, and when the adjacent block does not belong to the inter macroblock (step S101-NO), the process proceeds to step S107.

ステップS102で、動きベクトル差分値算出部301は、隣接ブロックの動きベクトルの差分値を算出する。   In step S102, the motion vector difference value calculation unit 301 calculates a difference value between motion vectors of adjacent blocks.

ステップS103で、動きベクトル平均値算出部302は、隣接ブロックの動きベクトルの平均値を算出する。   In step S103, the motion vector average value calculation unit 302 calculates the average value of motion vectors of adjacent blocks.

ステップS104で、隣接画素差分絶対値算出部303は、隣接ブロックの境界に位置する画素に対し、画素値の差分絶対値を算出する。ステップS102〜S104の処理は順不同であり、並列に処理されてもよい。   In step S <b> 104, the adjacent pixel difference absolute value calculation unit 303 calculates a difference absolute value of the pixel values for the pixels located at the boundaries of the adjacent blocks. The processes of steps S102 to S104 are out of order and may be processed in parallel.

ステップS105で、閾値設定部401は、隣接ブロックそれぞれの2つの動きベクトルの方向及び大きさに基づいて閾値を設定する。閾値は、例えば図8や図9に示すテーブルに基づいて設定される。   In step S105, the threshold setting unit 401 sets a threshold based on the direction and magnitude of two motion vectors of each adjacent block. The threshold is set based on, for example, the tables shown in FIGS.

ステップS106で、ブロック境界強度設定部402は、画素値の差分絶対値が閾値よりも大きい場合にBs値を再設定する。   In step S106, the block boundary strength setting unit 402 resets the Bs value when the absolute difference value of the pixel value is larger than the threshold value.

ステップS107で、フィルタ部202は、ブロック境界強度設定部402により設定又は再設定されたBs値を用いてデブロッキングフィルタ処理を行う。   In step S <b> 107, the filter unit 202 performs deblocking filter processing using the Bs value set or reset by the block boundary strength setting unit 402.

これにより、動きぼやけによりエッジ成分が低下している隣接ブロックに対し、隣接ブロックの境界にBs値が大きいデブロッキングフィルタをかけることができ、符号化歪を除去することができる。   As a result, a deblocking filter having a large Bs value can be applied to the boundary between adjacent blocks for the adjacent block whose edge component is reduced due to motion blur, and coding distortion can be removed.

図12は、実施例1におけるフィルタ処理(その2)の一例を示すフローチャートである。図12に示すフローは、フィルタに用いるパラメータであるBs値を設定してフィルタ処理を行う例である。   FIG. 12 is a flowchart illustrating an example of filter processing (part 2) in the first embodiment. The flow shown in FIG. 12 is an example in which a filter process is performed by setting a Bs value that is a parameter used for a filter.

図12に示すステップS201〜S205の処理は、図11に示すステップS101〜S105の処理と同様であるため、その説明を省略する。   The processes in steps S201 to S205 shown in FIG. 12 are the same as the processes in steps S101 to S105 shown in FIG.

ステップS206で、ブロック境界強度設定部402は、画素値の差分絶対値と閾値とにより、Bs値を設定する。ブロック境界強度設定部402は、例えば、上述した定義1に基づいてBs値を設定する。   In step S206, the block boundary strength setting unit 402 sets the Bs value based on the absolute difference value of the pixel value and the threshold value. For example, the block boundary strength setting unit 402 sets the Bs value based on the definition 1 described above.

ステップS207で、ブロック境界強度設定部402は、H.264/AVCやHEVCなどの定義に基づいてBs値を設定する。   In step S207, the block boundary strength setting unit 402 determines whether the H.264 The Bs value is set based on the definition of H.264 / AVC or HEVC.

ステップS208で、フィルタ部202は、ブロック境界強度設定部402に設定されたBs値を用いてデブロッキングフィルタ処理を行う。   In step S <b> 208, the filter unit 202 performs deblocking filter processing using the Bs value set in the block boundary strength setting unit 402.

以上、実施例1によれば、ブロックpとブロックqとがインター・マクロブロックに属する場合に、動きベクトルを基準にして、隣接ブロックの境界の画素値差分が符号化歪であるか否かを判定し、Bs値を設定することができる。Bs値の設定により、動きぼやけによるエッジ成分が減少している境界で、画素値差分が大きい境界に対して、強いデブロッキングフィルタをかけることができるようになる。よって、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる。   As described above, according to the first embodiment, when the block p and the block q belong to the inter macroblock, it is determined whether or not the pixel value difference at the boundary between adjacent blocks is coding distortion based on the motion vector. Judgment can be made and the Bs value can be set. By setting the Bs value, a strong deblocking filter can be applied to a boundary where a pixel value difference is large at a boundary where an edge component due to motion blur is reduced. Therefore, it is possible to appropriately remove coding distortion related to motion vector prediction existing at the block boundary.

[実施例2]
次に、実施例2における画像符号化装置について説明する。実施例2では、デブロッキングフィルタに用いるパラメータとして、フィルタオフセット値(FilterOffset)を設定する。実施例2によれば、隣接ブロックの動きベクトルの方向及び大きさに基づいて、フィルタオフセット値を適切に設定することで、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる。
[Example 2]
Next, an image coding apparatus according to the second embodiment will be described. In the second embodiment, a filter offset value (FilterOffset) is set as a parameter used for the deblocking filter. According to the second embodiment, by appropriately setting the filter offset value based on the direction and magnitude of the motion vector of the adjacent block, it is possible to appropriately remove the coding distortion related to motion vector prediction existing at the block boundary. Can do.

<構成>
実施例2における画像符号化装置の構成は、図2に示す構成と同様であり、デブロッキングフィルタ部の構成は、図3に示す構成と同様であり、設定部の構成は、図4に示す構成と同様であるため、その説明を省略する。
<Configuration>
The configuration of the image coding apparatus in the second embodiment is the same as the configuration shown in FIG. 2, the configuration of the deblocking filter unit is the same as the configuration shown in FIG. 3, and the configuration of the setting unit is shown in FIG. Since it is the same as that of the configuration, its description is omitted.

(パラメータ設定部)
図13は、実施例2におけるパラメータ設定部500の構成の一例を示すブロック図である。図13に示すパラメータ設定部500は、閾値設定部501、オフセット値設定部502を有する。
(Parameter setting part)
FIG. 13 is a block diagram illustrating an example of the configuration of the parameter setting unit 500 according to the second embodiment. A parameter setting unit 500 illustrated in FIG. 13 includes a threshold value setting unit 501 and an offset value setting unit 502.

閾値設定部501は、図5に示す閾値設定部401と同様であるため、その説明を省略する。   The threshold setting unit 501 is the same as the threshold setting unit 401 shown in FIG.

オフセット値設定部502は、隣接画素差分絶対値算出部303から隣接画素の差分絶対値を取得し、閾値設定部501から閾値を取得した場合、差分絶対値が閾値よりも大きい場合に、その大きさの度合いに応じてフィルタオフセット値を設定する。   The offset value setting unit 502 acquires the difference absolute value of the adjacent pixel from the adjacent pixel difference absolute value calculation unit 303 and acquires the threshold value from the threshold value setting unit 501, and when the difference absolute value is larger than the threshold value, the offset value is larger. The filter offset value is set according to the degree.

例えば、差分絶対値が閾値よりも大きい場合、その大きさをxとする。オフセット値設定部502は、大きさxに対して、int(x/4)をフィルタオフセット値(FilterOffset)に設定する。このフィルタオフセット値は、Qp値に加算される。   For example, when the absolute difference value is larger than the threshold value, the magnitude is x. The offset value setting unit 502 sets int (x / 4) to the filter offset value (FilterOffset) for the size x. This filter offset value is added to the Qp value.

例えば、x=15の場合、int(15/4)=3がフィルタオフセット値となる。Qp=28とすると、Qp=28+3=31になり、Qp=31相当の強度のデブロッキングフィルタが行われることになる。オフセット値設定部502は、隣接画素ごとにフィルタオフセット値を設定する。   For example, when x = 15, int (15/4) = 3 is the filter offset value. When Qp = 28, Qp = 28 + 3 = 31, and a deblocking filter having an intensity equivalent to Qp = 31 is performed. The offset value setting unit 502 sets a filter offset value for each adjacent pixel.

オフセット値設定部502は、設定したフィルタオフセット値をフィルタ部202に出力する。これにより、フィルタ部202では、このフィルタオフセット値をQp値に加算して、加算後のQp値に相当するデブロッキングフィルタ処理を行うことができる。   The offset value setting unit 502 outputs the set filter offset value to the filter unit 202. Accordingly, the filter unit 202 can add the filter offset value to the Qp value and perform a deblocking filter process corresponding to the Qp value after the addition.

<動作>
次に、実施例2における画像符号化装置の動作について説明する。図14は、実施例2におけるフィルタ処理の一例を示すフローチャートである。図14に示すステップS301〜S305の処理は、図11に示すステップS101〜S105の処理と同様であるため、その説明を省略する。
<Operation>
Next, the operation of the image coding apparatus according to the second embodiment will be described. FIG. 14 is a flowchart illustrating an example of filter processing according to the second embodiment. The processing in steps S301 to S305 shown in FIG. 14 is the same as the processing in steps S101 to S105 shown in FIG.

ステップS306で、オフセット値設定部502は、隣接ブロックの動きベクトルの方向及び大きさに基づき設定された閾値と、隣接画素の差分絶対値とを比較することで、フィルタオフセット値を設定する。   In step S306, the offset value setting unit 502 sets the filter offset value by comparing the threshold set based on the direction and magnitude of the motion vector of the adjacent block with the absolute difference value of the adjacent pixel.

ステップS307で、フィルタ部202は、設定されたフィルタオフセット値をQp値に加算し、加算後のQp値に相当するデブロックキングフィルタ処理を行う。   In step S307, the filter unit 202 adds the set filter offset value to the Qp value, and performs deblocking filter processing corresponding to the Qp value after the addition.

以上、実施例2によれば、隣接ブロックの動きベクトルの方向及び大きさに基づいて、フィルタオフセット値を適切に設定することで、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる。   As described above, according to the second embodiment, by appropriately setting the filter offset value based on the direction and magnitude of the motion vector of the adjacent block, it is possible to appropriately remove the coding distortion related to motion vector prediction existing at the block boundary. can do.

[実施例3]
次に、実施例3における画像符号化装置について説明する。実施例3は、実施例1と実施例2とを組み合わせた実施例である。
[Example 3]
Next, an image coding apparatus according to the third embodiment will be described. Example 3 is an example in which Example 1 and Example 2 are combined.

<構成>
実施例3における画像符号化装置の構成は、図2に示す構成と同様であり、デブロッキングフィルタ部の構成は、図3に示す構成と同様であり、設定部の構成は、図4に示す構成と同様であるため、その説明を省略する。
<Configuration>
The configuration of the image encoding device in the third embodiment is the same as the configuration shown in FIG. 2, the configuration of the deblocking filter unit is the same as the configuration shown in FIG. 3, and the configuration of the setting unit is shown in FIG. Since it is the same as that of the configuration, its description is omitted.

(パラメータ設定部)
図15は、実施例3におけるパラメータ設定部600の構成の一例を示すブロック図である。図15に示すパラメータ設定部600は、閾値設定部601、ブロック境界強度設定部602、オフセット値設定部603を有する。
(Parameter setting part)
FIG. 15 is a block diagram illustrating an example of the configuration of the parameter setting unit 600 according to the third embodiment. A parameter setting unit 600 illustrated in FIG. 15 includes a threshold setting unit 601, a block boundary strength setting unit 602, and an offset value setting unit 603.

閾値設定部601は、図5に示す閾値設定部401と同様であるため、その説明を省略する。   The threshold setting unit 601 is the same as the threshold setting unit 401 shown in FIG.

ブロック境界強度設定部602は、図5に示すブロック境界強度設定部402と同様であり、オフセット値設定部603は、図13に示すオフセット値設定部502と同様である。よって、パラメータ設定部600は、隣接ブロックの動きベクトルの方向及び大きさに基づいて、デブロッキングフィルタに用いるパラメータであるBs値、フィルタオフセット値を設定する。   The block boundary strength setting unit 602 is the same as the block boundary strength setting unit 402 shown in FIG. 5, and the offset value setting unit 603 is the same as the offset value setting unit 502 shown in FIG. Therefore, the parameter setting unit 600 sets a Bs value and a filter offset value, which are parameters used for the deblocking filter, based on the direction and magnitude of the motion vector of the adjacent block.

<動作>
次に、実施例3における画像符号化装置の動作について説明する。図16は、実施例3におけるフィルタ処理の一例を示すフローチャートである。図16に示すステップS401〜S406の処理は、図11に示すステップS101〜S106の処理と同様であるため、その説明を省略する。
<Operation>
Next, the operation of the image coding apparatus according to the third embodiment will be described. FIG. 16 is a flowchart illustrating an example of the filter processing according to the third embodiment. The processes in steps S401 to S406 shown in FIG. 16 are the same as the processes in steps S101 to S106 shown in FIG.

ステップS407の処理は、図14に示すステップS306の処理と同様である。   The process in step S407 is the same as the process in step S306 shown in FIG.

ステップS408で、フィルタ部202は、再設定されたBs値、設定されたフィルタオフセット値を用いてデブロッキングフィルタ処理を行う。   In step S408, the filter unit 202 performs deblocking filter processing using the reset Bs value and the set filter offset value.

以上、実施例3によれば、ブロック境界に存在する動きベクトル予測に関する符号化歪を適切に除去することができる。なお、実施例3では、Bs値及びフィルタオフセット値の両方を設定可能な構成にしておき、ユーザによりいずれか一方を選択させて、選択された方のパラメータを設定するようにしてもよい。   As described above, according to the third embodiment, it is possible to appropriately remove coding distortion related to motion vector prediction existing at a block boundary. In the third embodiment, the configuration may be such that both the Bs value and the filter offset value can be set, and the user selects one of them and sets the selected parameter.

[実施例4]
図17は、実施例4における画像符号化装置700の構成の一例を示すブロック図である。画像符号化装置700は、上述した各実施例で説明した画像符号化処理をソフトウェアで実装した装置の一例である。
[Example 4]
FIG. 17 is a block diagram illustrating an example of a configuration of an image encoding device 700 according to the fourth embodiment. The image encoding device 700 is an example of a device in which the image encoding processing described in each of the above-described embodiments is implemented by software.

図17に示すように、画像符号化装置700は、制御部701、主記憶部702、補助記憶部703、ドライブ装置704、ネットワークI/F部706、入力部707、表示部708を有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。   As illustrated in FIG. 17, the image encoding device 700 includes a control unit 701, a main storage unit 702, an auxiliary storage unit 703, a drive device 704, a network I / F unit 706, an input unit 707, and a display unit 708. These components are connected to each other via a bus so as to be able to transmit and receive data.

制御部701は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部701は、主記憶部702又は補助記憶部703に記憶されたフィルタ処理を含む画像符号化処理のプログラムを実行する演算装置である。制御部701は、入力部707や記憶装置からデータを受け取り、演算、加工した上で、表示部708や記憶装置などに出力する。   The control unit 701 is a CPU that controls each device, calculates data, and processes in a computer. The control unit 701 is an arithmetic device that executes a program for image encoding processing including filter processing stored in the main storage unit 702 or the auxiliary storage unit 703. The control unit 701 receives data from the input unit 707 and the storage device, calculates and processes the data, and outputs the data to the display unit 708 and the storage device.

制御部701は、フィルタ処理を含む画像符号化処理のプログラムを実行することで、各実施例で説明したフィルタ処理を実現することができる。   The control unit 701 can implement the filter processing described in each embodiment by executing a program for image encoding processing including filter processing.

主記憶部702は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部701が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The main storage unit 702 is a ROM (Read Only Memory), a RAM (Random Access Memory), or the like, and a storage device that stores or temporarily stores programs and data such as an OS and application software that are basic software executed by the control unit 701. It is.

補助記憶部703は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The auxiliary storage unit 703 is an HDD (Hard Disk Drive) or the like, and is a storage device that stores data related to application software or the like.

ドライブ装置704は、記録媒体705、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。   The drive device 704 reads the program from the recording medium 705, for example, a flexible disk, and installs it in the storage device.

また、記録媒体705に、所定のプログラムを格納し、この記録媒体705に格納されたプログラムはドライブ装置704を介して画像符号化装置700にインストールされる。インストールされた所定のプログラムは、画像符号化装置700により実行可能となる。   A predetermined program is stored in the recording medium 705, and the program stored in the recording medium 705 is installed in the image encoding apparatus 700 via the drive device 704. The installed predetermined program can be executed by the image encoding apparatus 700.

ネットワークI/F部706は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像符号化装置700とのインターフェースである。   The network I / F unit 706 has a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. This is an interface between the device and the image encoding device 700.

入力部707は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部708の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部707は、ユーザが制御部701に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。   The input unit 707 includes a keyboard having cursor keys, numeric input, various function keys, and the like, and a mouse and a slice pad for performing key selection on the display screen of the display unit 708. The input unit 707 is a user interface for a user to give an operation instruction to the control unit 701 and input data.

表示部708は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等により構成され、制御部701から入力される表示データに応じた表示が行われる。   The display unit 708 is configured by a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), or the like, and performs display according to display data input from the control unit 701.

なお、図2に示すフレームメモリ110は、例えば主記憶部702又は補助記憶部703により実現され、図2に示すフレームメモリ110以外の構成は、例えば制御部701及びワークメモリとしての主記憶部702により実現されうる。   The frame memory 110 illustrated in FIG. 2 is realized by, for example, the main storage unit 702 or the auxiliary storage unit 703, and the configuration other than the frame memory 110 illustrated in FIG. 2 includes, for example, the control unit 701 and the main storage unit 702 as a work memory. Can be realized.

画像符号化装置700で実行されるプログラムは、実施例1〜3で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部701が補助記憶部703からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部702上にロードされ、1又は複数の各部が主記憶部702上に生成されるようになっている。   The program executed by the image encoding device 700 has a module configuration including each unit described in the first to third embodiments. As actual hardware, when the control unit 701 reads a program from the auxiliary storage unit 703 and executes it, one or more of the above-described units are loaded onto the main storage unit 702, and one or more of the units are main. It is generated on the storage unit 702.

このように、上述した各実施例で説明したフィルタ処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述したフィルタ処理を実現することができる。   As described above, the filtering process described in each embodiment described above may be realized as a program for causing a computer to execute the filtering process. The filter processing described above can be realized by installing this program from a server or the like and causing the computer to execute it.

また、このプログラムを記録媒体705に記録し、このプログラムが記録された記録媒体705をコンピュータや携帯端末に読み取らせて、前述したフィルタ処理を実現させることも可能である。なお、記録媒体705は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、上述した各実施例で説明したフィルタ処理は、1つ又は複数の集積回路に実装してもよい。   It is also possible to record the program on the recording medium 705 and cause the computer or portable terminal to read the recording medium 705 on which the program is recorded to realize the above-described filtering process. The recording medium 705 is a recording medium that records information optically, electrically, or magnetically, such as a CD-ROM, a flexible disk, a magneto-optical disk, etc., or information electrically, such as a ROM, flash memory, or the like. Various types of recording media such as a semiconductor memory for recording can be used. Further, the filtering process described in each of the above embodiments may be implemented in one or a plurality of integrated circuits.

なお、実施例1〜4では、画像符号化装置を例にして説明したが、デブロッキングフィルタ機能を有する画像復号装置でも同様に適用することができる。画像符号化装置及び画像復号装置をまとめて画像処理装置と呼ぶ。また、上記各実施例では、H.264/AVCを例に説明したが、デブロッキングフィルタ処理を行う符号化技術であれば適用できる。   In the first to fourth embodiments, the image coding apparatus has been described as an example. However, the present invention can be similarly applied to an image decoding apparatus having a deblocking filter function. The image encoding device and the image decoding device are collectively referred to as an image processing device. In the above embodiments, H. Although H.264 / AVC has been described as an example, any coding technique that performs deblocking filter processing can be applied.

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。   Each embodiment has been described in detail above. However, the present invention is not limited to the specific embodiment, and various modifications and changes other than the above-described modification are possible within the scope described in the claims. .

10 画像符号化装置
101 前処理部
102 予測誤差信号生成部
103 直交変換部
104 量子化部
105 エントロピー符号化部
106 逆量子化部
107 逆直交変換部
108 復号画像生成部
109 フレームメモリ
110 動き予測部
111 動き補償部
201 設定部
202 フィルタ部
301 動きベクトル差分値算出部
302 動きベクトル平均値算出部
303 隣接画素差分絶対値算出部
304 パラメータ設定部
401、501、601 閾値設定部
402、602 ブロック境界強度設定部
502、603 オフセット値設定部
701 制御部
702 主記憶部
703 補助記憶部
704 ドライブ装置
706 ネットワークI/F部
707 入力部
708 表示部
DESCRIPTION OF SYMBOLS 10 Image coding apparatus 101 Preprocessing part 102 Prediction error signal generation part 103 Orthogonal transformation part 104 Quantization part 105 Entropy coding part 106 Inverse quantization part 107 Inverse orthogonal transformation part 108 Decoded image generation part 109 Frame memory 110 Motion prediction part 111 motion compensation unit 201 setting unit 202 filter unit 301 motion vector difference value calculation unit 302 motion vector average value calculation unit 303 adjacent pixel difference absolute value calculation unit 304 parameter setting unit 401, 501, 601 threshold setting unit 402, 602 block boundary strength Setting unit 502, 603 Offset value setting unit 701 Control unit 702 Main storage unit 703 Auxiliary storage unit 704 Drive device 706 Network I / F unit 707 Input unit 708 Display unit

Claims (4)

画像のブロック境界の歪を除去するフィルタ処理を行う画像処理装置であって、
隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定部と、
前記設定部により設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタ部と、
を備え
前記設定部は、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出部と、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出部と、
前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出部と、
前記差分値及び前記平均値に基づき閾値を設定する閾値設定部と、
前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定部とを備える画像処理装置。
An image processing apparatus that performs filter processing to remove distortion at a block boundary of an image,
A setting unit that sets parameters used for deblocking filter processing based on the direction and magnitude of the motion vectors of the adjacent first block and second block;
A filter unit that performs deblocking filter processing at a boundary between the first block and the second block using the parameters set by the setting unit;
Equipped with a,
The setting unit
A difference value calculation unit for calculating a difference value in the horizontal and vertical directions between the motion vector of the first block and the motion vector of the second block;
An average value calculating unit for calculating an average value in the horizontal and vertical directions of the motion vector of the first block and the motion vector of the second block;
A difference absolute value calculation unit that calculates a difference absolute value of each pixel adjacent to a boundary between the first block and the second block;
A threshold setting unit that sets a threshold based on the difference value and the average value;
The difference absolute value based on the comparison result between the threshold, the image processing apparatus Ru and a parameter setting unit configured to set the parameters.
前記閾値設定部は、
前記差分値、前記平均値、及び前記第1ブロック又は前記第2ブロックのサイズに基づき前記閾値を設定する請求項記載の画像処理装置。
The threshold setting unit includes:
The difference value, the average value, and the image processing apparatus according to claim 1, wherein setting the threshold value based on the size of the first block or the second block.
画像のブロック境界の歪を除去するフィルタ処理を行う画像処理装置が実行するフィルタ処理方法であって、
隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定ステップと、
前記設定ステップにより設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタステップと、
を有し、
前記設定ステップは、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出ステップと、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出ステップと、
前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出ステップと、
前記差分値及び前記平均値に基づき閾値を設定する閾値設定ステップと、
前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定ステップとを有するフィルタ処理方法。
A filter processing method executed by an image processing apparatus that performs filter processing for removing distortion at a block boundary of an image,
A setting step for setting parameters used for deblocking filter processing based on the direction and magnitude of the motion vectors of the adjacent first block and second block;
A filter step for performing a deblocking filter process at a boundary between the first block and the second block using the parameters set in the setting step;
I have a,
The setting step includes
A difference value calculating step of calculating a horizontal and vertical difference value between the motion vector of the first block and the motion vector of the second block;
An average value calculating step for calculating horizontal and vertical average values of the motion vector of the first block and the motion vector of the second block;
A difference absolute value calculating step for calculating a difference absolute value of each pixel adjacent to a boundary between the first block and the second block;
A threshold setting step for setting a threshold based on the difference value and the average value;
Based on the comparison result of the difference absolute value and the threshold value, the filter processing method for chromatic and parameter setting step of setting the parameters.
画像のブロック境界の歪を除去するフィルタ処理を行うためのプログラムであって、
コンピュータに、隣接する第1ブロック及び第2ブロックの動きベクトルの方向及び大きさに基づき、デブロッキングフィルタ処理に用いるパラメータを設定する設定ステップと、
前記設定ステップにより設定されたパラメータを用いて、前記第1ブロックと前記第2ブロックとの境界でデブロッキングフィルタ処理を行うフィルタステップを実行させ
前記設定ステップは、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の差分値を算出する差分値算出ステップと、
前記第1ブロックの動きベクトルと前記第2ブロックの動きベクトルとの水平、垂直方向の平均値を算出する平均値算出ステップと、
前記第1ブロックと前記第2ブロックとの境界に隣接する各画素の差分絶対値を算出する差分絶対値算出ステップと、
前記差分値及び前記平均値に基づき閾値を設定する閾値設定ステップと、
前記差分絶対値と前記閾値との比較結果に基づき、前記パラメータを設定するパラメータ設定ステップとを有するプログラム。
A program for performing filter processing to remove distortion at the block boundary of an image,
A setting step for setting parameters used in the deblocking filter processing based on the direction and magnitude of the motion vectors of the first block and the second block adjacent to the computer;
Using the parameters set by the setting step, is performed and a filter step of performing deblocking filtering at the boundary between the said first block the second block,
The setting step includes
A difference value calculating step of calculating a horizontal and vertical difference value between the motion vector of the first block and the motion vector of the second block;
An average value calculating step for calculating horizontal and vertical average values of the motion vector of the first block and the motion vector of the second block;
A difference absolute value calculating step for calculating a difference absolute value of each pixel adjacent to a boundary between the first block and the second block;
A threshold setting step for setting a threshold based on the difference value and the average value;
A parameter setting step for setting the parameter based on a comparison result between the absolute difference value and the threshold value .
JP2011196445A 2011-09-08 2011-09-08 Image processing apparatus, filter processing method, and program Active JP5698629B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011196445A JP5698629B2 (en) 2011-09-08 2011-09-08 Image processing apparatus, filter processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011196445A JP5698629B2 (en) 2011-09-08 2011-09-08 Image processing apparatus, filter processing method, and program

Publications (2)

Publication Number Publication Date
JP2013058935A JP2013058935A (en) 2013-03-28
JP5698629B2 true JP5698629B2 (en) 2015-04-08

Family

ID=48134415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011196445A Active JP5698629B2 (en) 2011-09-08 2011-09-08 Image processing apparatus, filter processing method, and program

Country Status (1)

Country Link
JP (1) JP5698629B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110024387A (en) * 2016-11-28 2019-07-16 日本放送协会 Code device, decoding apparatus, coding method and coding/decoding method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11297351B2 (en) * 2018-03-29 2022-04-05 Arris Enterprises Llc System and method for deblocking HDR content

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001094996A (en) * 1999-07-19 2001-04-06 Sony Corp Block distortion reduction method and block distortion reduction device
JP2001204029A (en) * 1999-08-25 2001-07-27 Matsushita Electric Ind Co Ltd Noise detection method, noise detector and image recorder
JP2003179921A (en) * 2001-12-10 2003-06-27 Matsushita Electric Ind Co Ltd Coded image decoding apparatus
JP2006101397A (en) * 2004-09-30 2006-04-13 Victor Co Of Japan Ltd Moving image encoding device and moving image encoding program
KR100922275B1 (en) * 2006-12-15 2009-10-15 경희대학교 산학협력단 Derivation process of a boundary filtering strength and deblocking filtering method and apparatus using the derivation process
WO2010001911A1 (en) * 2008-07-03 2010-01-07 シャープ株式会社 Filter device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110024387A (en) * 2016-11-28 2019-07-16 日本放送协会 Code device, decoding apparatus, coding method and coding/decoding method
CN110024387B (en) * 2016-11-28 2021-10-08 日本放送协会 Encoding device, decoding device, encoding method, and decoding method
CN113810694A (en) * 2016-11-28 2021-12-17 日本放送协会 Encoding device, decoding device, encoding method, and decoding method

Also Published As

Publication number Publication date
JP2013058935A (en) 2013-03-28

Similar Documents

Publication Publication Date Title
JP2009094828A (en) Device and method for encoding image, and device and method for decoding image
US8903184B2 (en) Image-encoding method, image-encoding device, and computer-readable recording medium storing image-encoding program
JP2006140758A (en) Method, apparatus and program for encoding moving image
CA2851600A1 (en) Methods, apparatuses, and programs for encoding and decoding picture
KR20090087767A (en) Method for predictive intra coding for image data
JP2007013298A (en) Image coding apparatus
WO2011064944A1 (en) Video coding device and video decoding device
RU2715519C1 (en) Predictive video coding device, predictive video coding method, prediction video coding software, prediction video decoding device, prediction video decoding method and prediction video decoding software
JP5698629B2 (en) Image processing apparatus, filter processing method, and program
JP6564315B2 (en) Encoding device, decoding device, and program
JP5887012B2 (en) Image decoding method
WO2017082304A1 (en) Information compression device, information compression method, recording medium, and encoding device
JP6200220B2 (en) Image processing apparatus, encoding apparatus, decoding apparatus, and program
JP5886922B2 (en) Image decoding method
JP6992825B2 (en) Video coding device, video coding method, video decoding device, video decoding method, and video coding system
KR100790757B1 (en) Adaptive fast motion estimation method for h.264 video encoder
JP5891333B2 (en) Image decoding method
JP5887013B2 (en) Image decoding method
JP5690898B2 (en) Image decoding method
JP5422681B2 (en) Image decoding method
JP7560995B2 (en) Encoding device and program
JP2010010768A (en) Image encoding apparatus and image encoding method
JP6485045B2 (en) Index operation apparatus, program and method
JP6159139B2 (en) Image processing apparatus, encoding apparatus, and program
Sun et al. Modified distortion redistribution problem for high efficiency video coding (HEVC)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141209

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: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150213

R150 Certificate of patent or registration of utility model

Ref document number: 5698629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250