JP5698629B2 - Image processing apparatus, filter processing method, and program - Google Patents
Image processing apparatus, filter processing method, and program Download PDFInfo
- 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
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).
従来技術では、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.
以下、添付図面を参照しながら実施例について詳細に説明する。 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
前処理部101は、ピクチャタイプに合わせてピクチャを並べ替え、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部101は、縮小画像を生成し、動きの方向などを調査する処理などを行ってもよい。
The
予測誤差信号生成部102は、入力された動画像データの符号化対象画像が16×16ピクセル(画素)のブロック(MacroBlock)に分割されたマクロブロックデータ(以降、MBデータともいう)を取得する。
The prediction error
予測誤差信号生成部102は、MBデータと、動き補償部112から出力される予測画像のMBデータとにより、予測誤差信号を生成する。予測誤差信号生成部102は、生成された予測誤差信号を直交変換部103に出力する。
The prediction error
直交変換部103は、入力された予測誤差信号を8×8単位や4×4単位でDCT(Discrete Cosine Transform)変換する。なお、DCT変換以外にもアダマール(Hadamard)変換などの直交変換を行ってもよい。
The
直交変換部103は、直交変換処理により、水平及び垂直方向の周波数成分に分離された直交変換係数を取得する。この直交変換処理は、画像の空間相関性を用いて周波数成分に変換する事により、低周波成分にデータが集まり情報量圧縮を行う事が可能となる。
The
量子化部104は、直交変換されたデータ(直交変換係数とも呼ぶ)を量子化することによって、データの符号量を低減し、この量子化された値をエントロピー符号化部105及び逆量子化部106に出力する。
The
エントロピー符号化部105は、量子化部104から出力されたデータや動き予測部111から出力された動きベクトル情報をエントロピー符号化してビットストリームを出力する。エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。
The
エントロピー符号化部105は、例えば、基本的には出現頻度の高い係数の組合せにはより短い符号を、出現頻度の低い係数の組合せにはより長い符号を割当てる。これにより、全体的に符号長を短くしようとする。例えば、H.264では、CAVLC(Context-Adaptive Variable Length Coding)やCABAC(Context-Adaptive Binary Arithmetic Coding)と呼ばれる方式のエントロピー符号化を選択することができる。
For example, the
逆量子化部106は、量子化部104から出力されたデータを逆量子化する。逆量子化部106は、逆量子化したデータを逆直交変換部107に出力する。
The
逆直交変換部107は、逆量子化されたデータに対して、逆直交変換を行って、周波数成分から画素成分へ変換する。逆直交変換部107は、変換後のデータを復号画像生成部108に出力する。逆直交変換処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。
The inverse
復号画像生成部108は、動き補償部112で動き補償された画像のMBデータと、逆直交変換部107により復号処理された予測誤差信号とを加算する。これにより、復号化側と同等の処理画像を符号化側でも生成することができる。
The decoded
符号化側で生成された画像を局所復号画像と呼び、符号化側に復号化側と同一の処理画像を生成することで、次ピクチャ以降の差分符号化を行うことが可能となる。復号画像生成部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
デブロッキングフィルタ部109は、デブロッキングフィルタ条件を満たす場合に、デブロッキングフィルタ処理を行う。デブロッキングフィルタ条件は、H.264/AVCの符号化技術では次の通りである。
Bs>0 ・・・条件1
|p0−q0|<α ・・・条件2
|p1−q0|<β ・・・条件3
|q1−q0|<β ・・・条件4
この条件1〜4を全て満たす場合に、デブロッキングフィルタ処理が行われる。
The
Bs> 0
| P0−q0 | <α ...
| P1-q0 | <β (Condition 3)
| Q1-q0 | <β (Condition 4)
A deblocking filter process is performed when all of these
なお、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
フレームメモリ110は、デブロッキングフィルタ処理された局所復号画像のMBデータを記憶する。フレームメモリ110に記憶される局所復号画像は、参照画像となりうる。
The
動き予測部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
動きベクトルとは、ブロック単位で参照画像から符号化対象画像の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
動き補償部112は、参照画像のデータを、動き予測部111から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのMBデータが生成される。動き補償されたMBデータは、参照画像として予測誤差信号生成部102及び復号画像生成部108に出力される。
The
(デブロッキングフィルタ部)
次に、デブロッキングフィルタ部109の構成について説明する。図3は、実施例1におけるデブロッキングフィルタ部109の構成の一例を示すブロック図である。図3に示すように、デブロッキングフィルタ部109は、設定部201、フィルタ部202を有する。
(Deblocking filter part)
Next, the configuration of the
設定部201は、隣接するブロックpとブロックqとの動きベクトルの方向及び大きさに基づいて、デブロッキングフィルタに用いるパラメータを設定する。このパラメータとして、例えばBs値がある。隣接するブロックpとブロックqとをまとめて隣接ブロックとも呼ぶ。設定部201の詳細は、図4を用いて説明する。なお、設定部201は、過去に符号化されたブロックの動きベクトルなどのデータについてはフレームメモリ110から取得する。
The
フィルタ部202は、設定部201により設定されたパラメータを用いてデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理については、非特許文献1を参照されたい。
The
図4は、実施例1における設定部201の構成の一例を示すブロック図である。図4に示す設定部201は、動きベクトル差分値算出部301、動きベクトル平均値算出部302、隣接画素差分絶対値算出部303、パラメータ設定部304を有する。
FIG. 4 is a block diagram illustrating an example of the configuration of the
動きベクトル差分値算出部301は、ブロックpの動きベクトル、及びブロックqの動きベクトルを取得する。動きベクトル差分値算出部301は、ブロックpの動きベクトルと、ブロックqの動きベクトルとの水平、垂直方向それぞれの差分値を算出する。動きベクトル差分値算出部301は、算出した動きベクトルの差分値をパラメータ設定部304に出力する。差分値は、絶対値を求めてもよい。
The motion vector difference
動きベクトル平均値算出部302は、ブロックpの動きベクトル、及びブロックqの動きベクトルを取得する。動きベクトル平均値算出部302は、ブロックpの動きベクトルと、ブロックqの動きベクトルとの水平、垂直方向それぞれの平均値を算出する。動きベクトル平均値算出部302は、算出した動きベクトルの平均値をパラメータ設定部304に出力する。
The motion vector average
なお、動きベクトル平均値算出部302は、ブロックpとブロックqの隣接方向と同じ方向の動きベクトル成分の平均値のみを算出してもよい。例えば、ブロックpとブロックqとが水平方向に隣接する場合、動きベクトル平均値算出部302は、ブロックpの動きベクトルの水平成分と、ブロックqの動きベクトルの水平成分との平均値のみを算出してもよい。
Note that the motion vector average
隣接画素差分絶対値算出部303は、ブロックpの画素値及びブロックqの画素値を取得する。隣接画素差分絶対値算出部303は、例えばp0とq0との差分絶対値を算出する。
The adjacent pixel difference absolute
また、隣接画素差分絶対値算出部303は、p1とq1との差分絶対値、又はp0及びp1の平均とq0及びq1の平均との差分絶対値などのブロックpとブロックqとに隣接する画素間の差分絶対値を求めればよい。隣接画素差分絶対値算出部303は、算出した差分絶対値をパラメータ設定部304に出力する。ブロック境界に隣接するブロックpとブロックqの画素を隣接画素と呼ぶ。
The adjacent pixel difference absolute
パラメータ設定部304は、取得した動きベクトルの差分値、平均値、隣接画素間の差分絶対値に基づき、デブロッキングフィルタに用いるパラメータを設定する。パラメータ設定部304については、図5を用いて説明する。
The
図5は、実施例1におけるパラメータ設定部304の構成の一例を示すブロック図である。図5に示すパラメータ設定部304は、閾値設定部401、ブロック境界強度設定部402を有する。
FIG. 5 is a block diagram illustrating an example of the configuration of the
閾値設定部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
閾値設定部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
なお、閾値設定部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
ブロック境界強度設定部402は、閾値設定部401から水平方向又は垂直方向に対する閾値を取得し、隣接画素差分絶対値算出部303から隣接画素の差分絶対値を取得した場合、以下の判定を行い、Bs値を再設定する。
When the block boundary
ブロック境界強度設定部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
差分絶対値が閾値を超える場合、動きぼやけによるエッジ成分が減少しているにもかかわらず、符号化歪により、ブロック境界の画素値の差分が大きくなっていると考えられる。よって、このブロック境界の画素に対し、より強いデブロッキングフィルタをかけるとよい。 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は、pn0とqn0(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
なお、ブロック境界強度は、ブロックに対して1つ設定されるようにしてもよい。このとき、ブロック境界強度設定部402は、p10〜p80の平均値及びq10〜q80の平均値の差分値と、閾値とを比較してブロック境界強度を再設定するようにしてもよい。
Note that one block boundary strength may be set for each block. At this time, the block boundary
また、ブロック境界強度設定部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
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
<動作>
次に、実施例1における画像符号化装置10の動作について説明する。図11は、実施例1におけるフィルタ処理(その1)の一例を示すフローチャートである。図11に示すフローは、フィルタに用いるパラメータであるBs値を再設定してフィルタ処理を行う例である。
<Operation>
Next, the operation of the
図11に示すステップS101で、設定部201は、隣接ブロックがインター・マクロブロックに属するか否かを判定する。隣接ブロックがインター・マクロブロックに属する場合(ステップS101−YES)、ステップS102に進み、隣接ブロックがインター・マクロブロックに属さない場合(ステップS101−NO)、ステップS107に進む。
In step S101 shown in FIG. 11, the
ステップS102で、動きベクトル差分値算出部301は、隣接ブロックの動きベクトルの差分値を算出する。
In step S102, the motion vector difference
ステップS103で、動きベクトル平均値算出部302は、隣接ブロックの動きベクトルの平均値を算出する。
In step S103, the motion vector average
ステップS104で、隣接画素差分絶対値算出部303は、隣接ブロックの境界に位置する画素に対し、画素値の差分絶対値を算出する。ステップS102〜S104の処理は順不同であり、並列に処理されてもよい。
In step S <b> 104, the adjacent pixel difference absolute
ステップ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
ステップS107で、フィルタ部202は、ブロック境界強度設定部402により設定又は再設定されたBs値を用いてデブロッキングフィルタ処理を行う。
In step S <b> 107, the
これにより、動きぼやけによりエッジ成分が低下している隣接ブロックに対し、隣接ブロックの境界に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
ステップS207で、ブロック境界強度設定部402は、H.264/AVCやHEVCなどの定義に基づいてBs値を設定する。
In step S207, the block boundary
ステップS208で、フィルタ部202は、ブロック境界強度設定部402に設定されたBs値を用いてデブロッキングフィルタ処理を行う。
In step S <b> 208, the
以上、実施例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
閾値設定部501は、図5に示す閾値設定部401と同様であるため、その説明を省略する。
The
オフセット値設定部502は、隣接画素差分絶対値算出部303から隣接画素の差分絶対値を取得し、閾値設定部501から閾値を取得した場合、差分絶対値が閾値よりも大きい場合に、その大きさの度合いに応じてフィルタオフセット値を設定する。
The offset
例えば、差分絶対値が閾値よりも大きい場合、その大きさを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
例えば、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
オフセット値設定部502は、設定したフィルタオフセット値をフィルタ部202に出力する。これにより、フィルタ部202では、このフィルタオフセット値をQp値に加算して、加算後のQp値に相当するデブロッキングフィルタ処理を行うことができる。
The offset
<動作>
次に、実施例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
ステップS307で、フィルタ部202は、設定されたフィルタオフセット値をQp値に加算し、加算後のQp値に相当するデブロックキングフィルタ処理を行う。
In step S307, the
以上、実施例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
閾値設定部601は、図5に示す閾値設定部401と同様であるため、その説明を省略する。
The
ブロック境界強度設定部602は、図5に示すブロック境界強度設定部402と同様であり、オフセット値設定部603は、図13に示すオフセット値設定部502と同様である。よって、パラメータ設定部600は、隣接ブロックの動きベクトルの方向及び大きさに基づいて、デブロッキングフィルタに用いるパラメータであるBs値、フィルタオフセット値を設定する。
The block boundary
<動作>
次に、実施例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
以上、実施例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
図17に示すように、画像符号化装置700は、制御部701、主記憶部702、補助記憶部703、ドライブ装置704、ネットワークI/F部706、入力部707、表示部708を有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
As illustrated in FIG. 17, the
制御部701は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部701は、主記憶部702又は補助記憶部703に記憶されたフィルタ処理を含む画像符号化処理のプログラムを実行する演算装置である。制御部701は、入力部707や記憶装置からデータを受け取り、演算、加工した上で、表示部708や記憶装置などに出力する。
The
制御部701は、フィルタ処理を含む画像符号化処理のプログラムを実行することで、各実施例で説明したフィルタ処理を実現することができる。
The
主記憶部702は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部701が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
The
補助記憶部703は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
The
ドライブ装置704は、記録媒体705、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
The
また、記録媒体705に、所定のプログラムを格納し、この記録媒体705に格納されたプログラムはドライブ装置704を介して画像符号化装置700にインストールされる。インストールされた所定のプログラムは、画像符号化装置700により実行可能となる。
A predetermined program is stored in the
ネットワークI/F部706は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像符号化装置700とのインターフェースである。
The network I /
入力部707は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部708の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部707は、ユーザが制御部701に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
The
表示部708は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等により構成され、制御部701から入力される表示データに応じた表示が行われる。
The
なお、図2に示すフレームメモリ110は、例えば主記憶部702又は補助記憶部703により実現され、図2に示すフレームメモリ110以外の構成は、例えば制御部701及びワークメモリとしての主記憶部702により実現されうる。
The
画像符号化装置700で実行されるプログラムは、実施例1〜3で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部701が補助記憶部703からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部702上にロードされ、1又は複数の各部が主記憶部702上に生成されるようになっている。
The program executed by the
このように、上述した各実施例で説明したフィルタ処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述したフィルタ処理を実現することができる。 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
なお、実施例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
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ブロックのサイズに基づき前記閾値を設定する請求項1記載の画像処理装置。 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 .
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)
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)
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)
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 |
-
2011
- 2011-09-08 JP JP2011196445A patent/JP5698629B2/en active Active
Cited By (3)
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 |