JP2014183544A - Image processing unit and image processing method - Google Patents
Image processing unit and image processing method Download PDFInfo
- Publication number
- JP2014183544A JP2014183544A JP2013058554A JP2013058554A JP2014183544A JP 2014183544 A JP2014183544 A JP 2014183544A JP 2013058554 A JP2013058554 A JP 2013058554A JP 2013058554 A JP2013058554 A JP 2013058554A JP 2014183544 A JP2014183544 A JP 2014183544A
- Authority
- JP
- Japan
- Prior art keywords
- block
- sub
- motion vector
- error
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】動きベクトルの検出の精度を向上させ、画質劣化を抑制する。
【解決手段】画像処理装置は、処理対象画像のブロック又は前記ブロックを分割したサブブロックの動きベクトル探索部と、注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、誤差を算出する第1の誤差算出部と、複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定するサブブロック特定部と、前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する第2の誤差算出部と、前記第1の誤差と前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する動きベクトル決定部とを有する。
【選択図】図2Motion vector detection accuracy is improved and image quality deterioration is suppressed.
An image processing apparatus is determined by a motion vector search unit for a block of a processing target image or a sub-block obtained by dividing the block, each of a plurality of sub-blocks obtained by dividing the block of interest, and a motion vector of the block of interest. A first error calculation unit for calculating an error between each of the plurality of sub-blocks and a reference image region, and a predetermined sub-block based on the magnitude of the absolute value of the plurality of first errors A reference image area corresponding to the predetermined sub-block determined by a sub-block specifying unit for specifying the block, a motion vector of an adjacent block adjacent to the block of interest, and a relative position in the block of interest, and the predetermined sub-block A second error calculation unit for calculating a second error between the first error and the predetermined error based on the first error and the second error. And a motion vector determiner for determining the motion vector of the sub-blocks.
[Selection] Figure 2
Description
本発明は、映像などの画像を処理する画像処理装置、及び画像処理方法に関する。 The present invention relates to an image processing apparatus and an image processing method for processing an image such as a video.
映像の圧縮の手法の1つとして、ブロックの動きベクトルを用いた画像予測が利用される。動きベクトルとは、処理対象画像のブロックに最も類似している参照画像内の位置を探索するブロックマッチング法などを用いて求められるブロック単位の空間的なずれを示す値である。この動きベクトルによって定まる参照画像の領域と、処理対象画像のブロックとの画素値の差分値を求めることにより、映像のデータ量を削減することが可能である。 As one of video compression methods, image prediction using block motion vectors is used. The motion vector is a value indicating a spatial deviation in units of blocks obtained by using a block matching method for searching for a position in the reference image that is most similar to the block of the processing target image. It is possible to reduce the amount of video data by obtaining a difference value between pixel values of a reference image area determined by the motion vector and a block of the processing target image.
ブロックマッチング型動きベクトル探索において、ブロック内画素を間引くことによる検出精度の低下を抑えるために、同じ動きを含むブロックを統合し、統合ブロックのサイズに応じてブロック内画素の間引きを行い、統合ブロックでマッチングを行なった後、統合ブロックを再び各ブロックに分割して統合ブロックで求まった動きベクトルを各ブロックの初期変移として再び微小な領域での探索を行なう技術が存在する(例えば、特許文献1参照)。 In block matching type motion vector search, in order to suppress the degradation of detection accuracy due to thinning out pixels in the block, blocks containing the same motion are integrated, and the pixels in the block are thinned out according to the size of the integrated block. After matching is performed, there is a technique in which the integrated block is divided again into blocks, and the motion vector obtained by the integrated block is used as an initial transition of each block to search again in a minute region (for example, Patent Document 1). reference).
また、第1の探索モードで小ブロック毎及び大ブロック毎に算出したブロックマッチング誤差が最小となる小ブロック及び大ブロック動きベクトル候補を探索し、第2の探索モードで小ブロック毎に算出したブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索し、第1の探索モードで探索された動きベクトル候補に対応するブロックマッチング誤差に基づき最終的な動きベクトル候補を決定する技術が存在する(例えば、特許文献2参照)。 In addition, a small block and a large block motion vector candidate that minimize the block matching error calculated for each small block and each large block in the first search mode are searched, and a block calculated for each small block in the second search mode. There exists a technique for searching for a small block motion vector candidate that minimizes the matching error and determining a final motion vector candidate based on a block matching error corresponding to the motion vector candidate searched in the first search mode (for example, , See Patent Document 2).
動きベクトルの検出確度は、映像の圧縮効率などに影響を与えるため、より確度の高い動きベクトルの検出手法が望まれている。 Since the motion vector detection accuracy affects the compression efficiency of the video, a motion vector detection method with higher accuracy is desired.
特に個々に移動する複数のオブジェクトが映像に存在する場合、動きベクトルの精度が確保されている大きな動き検出の単位(ブロック)に含まれる別の動きを持つ小さい部分領域(サブブロック)が存在する場合がある。この場合、別の動きを持つ小さい部分領域は、大きな動き検出単位の動きにつられるため、正確な動きベクトルの検出が難しい場合がある。 In particular, when a plurality of individually moving objects exist in the video, there is a small partial area (sub-block) having another motion included in a large motion detection unit (block) in which the accuracy of the motion vector is ensured. There is a case. In this case, since a small partial region having another motion is caught by a motion of a large motion detection unit, it may be difficult to detect an accurate motion vector.
これに対処するために、動きベクトルを検出するブロックの大きさを小さくして、動きベクトルをきめ細かく検出することが行われる場合がある。しかしながら、ブロックの大きさを小さくすると、一般に現実のオブジェクトの動きを正確に捉えた動きベクトルを検出することが難しくなる。 In order to cope with this, there is a case where the size of a block for detecting a motion vector is reduced to detect the motion vector in detail. However, when the block size is reduced, it is generally difficult to detect a motion vector that accurately captures the motion of an actual object.
ただし、動画符号化の一側面では、映像の動きを必ずしも正確に追う必要はなく、周辺とよく似たベクトルで、符号化対象画像と類似した領域が見つかれば高い圧縮率を達成する事が出来る。このため、ブロックの大きさを小さくした際の動きベクトルの精度の低下は必ずしも問題とはならないことが多い。 However, in one aspect of video encoding, it is not always necessary to accurately follow the motion of the video, and a high compression rate can be achieved if a vector similar to the surroundings and a region similar to the encoding target image is found. . For this reason, a decrease in the accuracy of the motion vector when the block size is reduced is not always a problem.
しかしながら、動きベクトルを捉える精度が低下すると、映像の動きと異なる動きベクトルを処理することが多くなるために、映像内の動きのある物体の周辺において、映像の動きとは異なるノイズの動きが知覚されることによる画像劣化の課題がある。 However, if the accuracy of capturing motion vectors decreases, motion vectors that are different from the motion of the video are often processed. Therefore, noise motion different from the motion of the video is perceived around a moving object in the video. There is a problem of image deterioration due to being performed.
実施形態の一側面では、上記の課題に対応するため、動きベクトルの検出の精度を向上させ、このような画質劣化を抑制することを目的とする。 In one aspect of the embodiment, in order to cope with the above-described problem, an object is to improve the accuracy of motion vector detection and suppress such image quality degradation.
一実施形態によれば、処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する、動きベクトル探索部と、注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第1の誤差を算出する第1の誤差算出部と、前記第1の誤差算出部が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する第2の誤差算出部と、前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、を有する画像処理装置が提供される。 According to one embodiment, a motion vector search unit that searches for a motion vector indicating from which region of a reference image a block that is a partial region of a processing target image or a sub-block obtained by dividing the block has moved, and a block of interest First error calculation for calculating a first error between each of the divided sub-blocks and a reference image area of each of the plurality of sub-blocks determined by the motion vector of the block of interest And a sub-block specifying unit that specifies a predetermined sub-block based on the absolute values of the plurality of first errors calculated by the first error calculating unit, and an adjoining adjacent block of interest Corresponding to the predetermined sub-block determined by the motion vector of the block and the relative position of the predetermined sub-block in the target block. Based on the second error calculation unit that calculates a second error between the area of the reference image and the predetermined sub-block, the first error, and the second error, the predetermined error There is provided an image processing apparatus including a motion vector determination unit that determines a motion vector of a sub-block.
実施形態によれば、動きベクトルの検出の精度を向上させ、画質劣化を抑制することができる。 According to the embodiment, the accuracy of motion vector detection can be improved and image quality degradation can be suppressed.
動画情報を効率的に処理する規格であるH.264/AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)の映像の圧縮符号化方式では、映像の各フレーム(画像)を矩形領域(以下ブロック)に分割して符号化が行われる。 H. is a standard for efficiently processing moving picture information. In the H.264 / AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding) video compression encoding method, each frame (image) of the video is divided into rectangular areas (hereinafter referred to as blocks) and encoded.
上記の標準においても、動きベクトルが用いられている。なお、動きベクトルの検出手法自体は、規格として定義されていない。例えば、処理対象画像のブロック毎に、参照画像に対してブロックマッチング法を用いることができる。 In the above standards, motion vectors are also used. Note that the motion vector detection method itself is not defined as a standard. For example, a block matching method can be used for the reference image for each block of the processing target image.
図1は、動きベクトルの検出例を示している。動画像情報は、複数のフレーム(画像)を含む。例えば、処理対象画像110は、時刻t=0のときの動画像の画像を表している。そして、参照画像120は、時刻t=1における動画像の画像を表している。各々の画像は、複数のブロックで構成されている。処理対象画像110に存在するブロック112の動きベクトルを探索するために、参照画像120には、探索範囲121が設定される。
FIG. 1 shows an example of motion vector detection. The moving image information includes a plurality of frames (images). For example, the
ブロックマッチング法を利用した場合には、処理対象画像110上のブロック112と、参照画像上の同じ空間位置122を中心として設定した上記探索範囲121内の領域の画像のSAD(Sum of Absolute Difference:誤差の絶対値和)又はSSD(Sum of Square Difference:二乗誤差和)を計算する。この誤差の値が最も小さい参照画像上の領域123と処理対象画像110のブロック112の空間的な位置の関係から動きベクトル124が決定される。
When the block matching method is used, the SAD (Sum of Absolute Difference :) of the block 112 on the
なお、AVC/H.264及びHEVCの標準では、処理対象画像と参照画像との間の動きベクトル検出において、1/2又は1/4画素精度の動きベクトル検出が行われる。 AVC / H. In the H.264 and HEVC standards, motion vector detection with 1/2 or 1/4 pixel accuracy is performed in motion vector detection between a processing target image and a reference image.
図2は、実施形態の画像処理装置200の構成の例を示すブロック図である。画像処理装置200は、動きベクトル探索部210,第1の誤差算出部220、サブブロック特定部230、第2の誤差算出部240、及び動きベクトル決定部260を有してもよい。
FIG. 2 is a block diagram illustrating an example of the configuration of the
また、動きベクトル決定部260は、比較部262、及び動きベクトル採用部264を含んでもよい。
In addition, the motion
そして、処理対象画像110及び参照画像120が、動きベクトル探索部210、第1の誤差算出部220、及び第2の誤差算出部240に与えられてもよい。
Then, the
以下、図に2に示される各部の構成について説明する。 Hereinafter, the configuration of each unit shown in FIG. 2 will be described.
動きベクトル探索部210は、処理対象画像の部分領域であるブロック或いは、ブロックを更に再分割したサブブロックに関して、参照画像のどの領域から動いたかを推測する動きベクトルを探索する。
The motion
図3は、動きベクトルの例を示す図である。動きベクトルの説明の便宜上、処理対象画像の複数のブロックの空間的位置と、参照画像の複数の領域の空間的位置が同一平面上に描かれている。なお、実際には、処理対象画像と参照画像とは、異なる時刻におけるフレーム画像である点に留意すべきである。 FIG. 3 is a diagram illustrating an example of a motion vector. For convenience of explanation of the motion vector, the spatial positions of the plurality of blocks of the processing target image and the spatial positions of the plurality of regions of the reference image are drawn on the same plane. It should be noted that the processing target image and the reference image are actually frame images at different times.
図3において、処理対象画像の一部のブロックとして、ブロック312及びブロック314が示されている。上述のようにブロックマッチング技術により、処理対象画像のブロック312を参照画像の探索範囲で探索した結果、参照画像の領域322と、処理対象画像のブロック312との誤差が最も小さくなったと仮定する。この場合、ブロック312の動きベクトルは、動きベクトル332で表される。
In FIG. 3, a
同様に、処理対象画像のブロック314は、探索範囲内において、参照画像の領域324との間で誤差が最も小さいため、動きベクトルは、動きベクトル334として得られる。なお、図3では、長方形のブロック形状を用いたが、画像の標準毎にブロック及びブロックを再分割したブロックの形状が定められている。したがって、ブロックの形状は、長方形に限られるものではない。
Similarly, the
図2に戻る。第1の誤差算出部220は、動きベクトルを算出した注目ブロックをさらに分割してサブブロックに分ける。そして、処理対象ブロックを分割すると、その分割されたサブブロックに対応する参照画像の領域は、一意に定まる。したがって、処理対象画像の複数のサブブロックの各々に対応して、参照画像の対応する領域が特定できることになる。
Returning to FIG. The first
図4を用いて、処理対象画像のサブブロックに対する参照画像における対応する領域の具体例を説明する。ここでは、注目ブロック314のサブブロック410を例に説明する。サブブロック410に対応する参照画像の領域は、領域424である。サブブロック410と、領域424との位置は、ベクトル334aで特定できる。このベクトル334aは、ブロック314の動きベクトル334と同じ方向及び長さを持つ。
A specific example of the corresponding region in the reference image for the sub-block of the processing target image will be described with reference to FIG. Here, the
そして、サブブロック410と、領域424との誤差を計算する。誤差は、上述のSADまたは、SSDを用いて、対応する画素の例えば輝度の値を用いて計算してもよい。なお、輝度の値に限られるものではない。図4では、1つのサブブロック410のみが示されているが、ブロック314全体を複数のサブブロックに分割して、それぞれのサブブロックについて、参照画像の対応する領域との誤差を計算してもよい。
Then, an error between the sub-block 410 and the
なお、サブブロックにおける誤差は、サブブロックが属するブロックの動きベクトルを計算した際に既に算出された画素単位又は所定の領域単位の誤差の算出結果を流用できる点に留意すべきである。したがって、ブロックの動きベクトルを求めた際には、算出された画素単位又は所定の領域単位の誤差を、メモリなどの記憶部に格納しておくことが望ましい。このようにすることによって、サブブロック単位の誤差の計算の簡素化を図ることができる。 It should be noted that the error calculation result of the pixel unit or the predetermined region unit already calculated when calculating the motion vector of the block to which the sub block belongs can be used as the error in the sub block. Therefore, when the motion vector of the block is obtained, it is desirable to store the calculated pixel unit or predetermined region unit error in a storage unit such as a memory. By doing so, it is possible to simplify the calculation of errors in units of sub-blocks.
図2に戻る。サブブロック特定部230は、複数のサブブロックについて計算された誤差を処理する。サブブロック特定部230の目的の1つは、誤差の絶対値が大きなサブブロックを特定することである。なお、処理の方法は、これに限られるものではなく、以下の処理の例の1つを実行してもよい。ここにおける誤差は、第1の誤差の一例である。
Returning to FIG. The sub-block specifying
(1)複数の誤差の絶対値のうち第1の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定する。第1の閾値としては、所定の定数を予め設定してもよい。或いは、ブロック内の複数のサブブロックに対応する誤差の平均値に所定の数値を掛けて、第1の閾値として用いてもよい。 (1) A sub-block corresponding to an error exceeding the first threshold among a plurality of absolute values of errors is specified as a predetermined sub-block. A predetermined constant may be set in advance as the first threshold value. Alternatively, the average value of errors corresponding to a plurality of sub-blocks in a block may be multiplied by a predetermined numerical value and used as the first threshold value.
(2)複数の誤差の絶対値のうち第1の閾値を超える誤差の絶対値の合計が、第2の閾値を超える場合、前記第1の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第2の閾値は、予め定めておいてもよい。この場合、第1の閾値を超える誤差の絶対値の合計が第2の閾値を超えなければ、注目しているブロックの全体の誤差は、小さいと考えられるので、前記第1の閾値を超える誤差に対応する前記サブブロックに関連して生じるノイズは無視してもよいと判断してもよい。 (2) When the sum of absolute values of errors exceeding the first threshold among a plurality of absolute values of errors exceeds the second threshold, a sub-block corresponding to the error exceeding the first threshold is set as a predetermined sub-block. It may be specified as a block. The second threshold value may be determined in advance. In this case, if the sum of absolute values of errors exceeding the first threshold does not exceed the second threshold, the total error of the block of interest is considered to be small, so the error exceeding the first threshold It may be determined that noise generated in association with the sub-block corresponding to can be ignored.
(3)複数の誤差の絶対値のうち第1の閾値を超える誤差の絶対値の平均値を、ブロック内の全てのサブブロックの複数の誤差の絶対値の平均値で除算した値が、第3の閾値を超える場合、第1の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第3の閾値は、予め定めておいてもよい。この場合、第1の誤差の絶対値の平均値を、ブロック内の全てのサブブロックの複数の誤差の絶対値の平均値で割った値が、第3の閾値よりも大きい場合は、第1の閾値を超える誤差が無視できない値であると判断し、この条件に合致するサブブロックを所定のサブブロックとして扱ってもよい。 (3) A value obtained by dividing the average value of the absolute values of errors exceeding the first threshold among the absolute values of the plurality of errors by the average value of the absolute values of the plurality of errors in all the sub-blocks in the block is When the threshold value of 3 is exceeded, a sub-block corresponding to an error exceeding the first threshold value may be specified as a predetermined sub-block. The third threshold value may be determined in advance. In this case, when the average value of the absolute values of the first errors divided by the average value of the absolute values of the plurality of errors of all the sub-blocks in the block is larger than the third threshold, It may be determined that an error exceeding the threshold is a value that cannot be ignored, and a sub-block that satisfies this condition may be treated as a predetermined sub-block.
(4)複数の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、複数の誤差の絶対値のうち第1の閾値を超えない誤差の絶対値の平均値で割った値が、第4の閾値を超える場合、第1の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第4の閾値は予め設定しておいてもよい。この条件は、上記条件(3)の変形例である。これは、比の計算を行う場合の分母として、複数の誤差の絶対値のうち第1の閾値を超えない誤差の絶対値の平均値を用いる例である。 (4) The average of the absolute values of the first errors that exceed the first threshold among the absolute values of the plurality of errors, and the average of the absolute values of the errors that do not exceed the first threshold among the absolute values of the plurality of errors When the value divided by the value exceeds the fourth threshold value, the sub-block corresponding to the error exceeding the first threshold value may be specified as the predetermined sub-block. The fourth threshold value may be set in advance. This condition is a modification of the condition (3). This is an example in which an average value of absolute values of errors that do not exceed the first threshold value among a plurality of absolute values of errors is used as a denominator when the ratio is calculated.
(5)複数の誤差の絶対値のうち第1の閾値を超える誤差の数が、第5の閾値を超える場合、第1の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして特定してもよい。第5の閾値は、予め設定しておいてもよい。例えば、ブロックをサブブロックに分割した際に、比較的多くのサブブロックの誤差が第1の閾値を超える場合、比較的多くのブロックにおいて、ノイズが知覚される可能性があると判断される。なお、1つのブロックをサブブロックに分割する際のサブブロックの個数が一定でない場合もあるため、第5の閾値は、サブブロックに分割する個数に所定の割合(例えば1/3)を掛けた値としてもよい。この場合、誤差が第1の閾値を超えたサブブロックの数が、全体のサブブロックの分割数の1/3を超えた場合、第1の閾値を超える誤差に対応するサブブロックが所定のサブブロックとして特定されることになる。 (5) When the number of errors exceeding the first threshold among the plurality of absolute values of errors exceeds the fifth threshold, the sub-block corresponding to the error exceeding the first threshold is specified as a predetermined sub-block. May be. The fifth threshold value may be set in advance. For example, if the error of a relatively large number of sub-blocks exceeds the first threshold when the block is divided into sub-blocks, it is determined that noise may be perceived in a relatively large number of blocks. Since the number of sub-blocks when dividing one block into sub-blocks may not be constant, the fifth threshold value is obtained by multiplying the number divided into sub-blocks by a predetermined ratio (for example, 1/3). It may be a value. In this case, if the number of sub-blocks whose error exceeds the first threshold exceeds 1/3 of the total number of sub-blocks, the sub-block corresponding to the error exceeding the first threshold is a predetermined sub-block. It will be specified as a block.
図2において、第2の誤差算出部240は、所定のサブブロックと、注目ブロックに隣接する隣接ブロックの動きベクトル、及び所定のサブブロックの注目ブロックにおける相対位置によって定まる、所定のサブブロックに対応する参照画像の領域と、の間の誤差を算出する。この誤差は、第2の誤差の一例である。
In FIG. 2, the second
図4を用いて、第2の誤差算出部240について説明する。図4において、サブブロック410は、サブブロック特定部230において、所定のサブブロックとして特定されていると仮定する。したがって、処理対象画像のブロック410と、参照画像の領域424の誤差の絶対値は、第1の閾値よりも大きい。
The second
このことは、サブブロック410として、動きベクトル334aを(すなわち処理対象画像のブロック314の動きベクトルをそのまま)用いることが、適切でない可能性が高いことになる。
This means that there is a high possibility that it is not appropriate to use the
したがって、第2の誤差算出部240は、サブブロック410に関して、より適切な動きベクトルを求めるために、参照画像の他の領域との誤差を算出する。
Therefore, the second
このため、処理対象画像において、サブブロックが属するブロックの周辺のブロック(又はサブブロック)の動きベクトルの情報を考慮して、複数の可能性の高い参照画像の領域を特定し、かつ、誤差を算出する。 For this reason, in the processing target image, considering the motion vector information of blocks (or sub-blocks) around the block to which the sub-block belongs, a plurality of highly likely reference image areas are specified, and errors are determined. calculate.
図4において、サブブロック410が属するブロック314に隣接する隣接ブロック312が存在する。隣接ブロック312は、前述のように動きベクトル332を有する。動きベクトル332を求めた際に、ブロック312に対応する参照画像の領域は領域322である。
In FIG. 4, there is an
この場合、サブブロック410は、自己の属するブロック314の動きベクトルではなく、隣接する隣接ブロック312の動きベクトル332に近い動きベクトルを持つ可能性があることが予想される。
In this case, it is expected that the sub-block 410 may have a motion vector close to the
サブブロック410のブロック314に対する相対位置と、隣接ブロック312の動きベクトル322を用いることによって、対応する参照画像の領域432を特定することができる。
By using the relative position of the sub-block 410 to the
そして、第2の誤差算出部240は、処理対象画像のサブブロック410と、参照画像の特定された領域432との誤差を計算する。
Then, the second
なお、一般に、ブロック314に隣接するブロックは、複数存在する。
In general, there are a plurality of blocks adjacent to the
図5は、処理対象画像のサブブロックに対する参照画像における複数の対応する領域を示している。すなわち、処理対象画像のブロック501のサブブロック501aに対応する参照画像における領域は、以下の4つの候補がある。
(1)参照画像の領域531の中に存在する領域531b
(2)参照画像の領域532の外に存在する領域532b
(3)参照画像の領域533の外に存在する領域533b
(4)参照画像の領域534の外に存在する領域534b
上記のうち、(1)の領域531はブロック501の動きベクトルを求めた際に用いた参照画像の領域である。そして、領域532b、領域533b、領域534bが、サブブロック201aの新たな動きベクトルを計算する際に用いられる。
FIG. 5 shows a plurality of corresponding regions in the reference image for the sub-block of the processing target image. That is, there are the following four candidates for the area in the reference image corresponding to the sub-block 501a of the
(1) A
(2)
(3)
(4)
Among the above, the
このため、第2の誤差算出部240は、サブブロック501aと領域532bとの誤差、サブブロック501aと領域533bとの誤差、サブブロック501aと領域534bとの誤差を、動きベクトル決定部260に出力してもよい。
Therefore, the second
図2に戻る。動きベクトル決定部260における比較部362は、第1の誤差算出部220からの誤差の絶対値から、第2の誤差算出部240からの誤差の絶対値を減算し、第6の閾値と比較してもよい。動きベクトル決定部260における動きベクトル採用部264は、この減算の結果が第6の閾値を超える場合には、動きベクトル決定部260は、最も大きい減算値を出力する第2の誤差に対応する隣接ブロックの動きベクトルを、特定されたサブブロックの動きベクトルとして採用し、出力してもよい。
Returning to FIG. The comparison unit 362 in the motion
逆に、動きベクトル採用部264は、この減算の結果が第6の閾値を超えない場合には、動きベクトルの改善が微少である(又は改善できない)と判断し、新たな動きベクトルを採用しなくてもよい。
Conversely, when the subtraction result does not exceed the sixth threshold value, the motion
図6は、動きベクトル採用部264が、動きベクトルの探索を行う例を示した図である。図6(A)は、図4に加えて、ベクトル探索範囲510が示されている。
FIG. 6 is a diagram illustrating an example in which the motion
動きベクトル採用部264は、参照画像内において、領域432を中心として、探索範囲510を探索して、サブブロック410に対する最も適切な動きベクトルを探索してもよい。なお、動きベクトル採用部264は、探索範囲510を固定範囲として予め設定してもよい。あるいは、処理対象画像と参照画像との時間間隔に応じて、探索範囲510を変化させてもよい。たとえば、時間間隔が長くなるほど、探索範囲510の領域を広げてもよい。なお、探索範囲は、図6のように楕円である必要はなく、矩形などの任意の形状を持つ探索範囲を設定してもよい。なお、探索の手法は、ブロックマッチングの技術を用いてもよい。
The motion
図6(B)は、探索範囲510内で、ブロック410に対して最も誤差の小さい、参照画像の領域532が探索された例を示している。この結果、サブブロック410に対する動きベクトル332bが示されている。
FIG. 6B shows an example in which a
図7は、ブロック分割の例を示す図である。図7(A1)に示すように、処理対象画像のサブブロック715及びサブブロック716が、それぞれ参照画像の領域762及び領域764に対応付けられた場合を想定する。
FIG. 7 is a diagram illustrating an example of block division. As illustrated in FIG. 7A1, it is assumed that the sub-block 715 and the sub-block 716 of the processing target image are associated with the
この場合、処理対象画像のブロック710の動きベクトルと、サブブロック715及びサブブロック716とは、異なる動きベクトルを持つことになる。図7(A1)のようなブロック構造を許容する符号化標準であれば、このままでよい。
In this case, the motion vector of the
例えば、MPEG−4又はAVC/H.264では、正方形又は長方形のブロック及びサブブロックを許容する。この場合には、図7(B1)のように、処理対象画像のブロック710bは、サブブロック711ないし718に分割され得る。また、ブロック726bは、サブブロック712及びサブブロック722に分割され得る。なお、この例では、画像処理装置200が、ブロック710bの隣接ブロックである720bもサブブロック721とサブブロック722に分割している。この理由は、ブロック分割に関する特定の規則が適用される符号化標準に従ったためである。したがって、ブロック分割の方法は、適用する符号化標準に従えばよい。このため、図7(B1)のブロック分割は、ブロック分割の一例に過ぎない。
For example, MPEG-4 or AVC / H. H.264 allows square or rectangular blocks and sub-blocks. In this case, as shown in FIG. 7B1, the
図7(B2)に示すように、参照画像の領域750b及び760bも、処理対象画像に対応する領域に分割されて参照される。
As shown in FIG. 7 (B2), the
<動作>
図8は、実施形態の動作の概略を示している。以下順を追って説明する。
<Operation>
FIG. 8 shows an outline of the operation of the embodiment. The following will be described in order.
ステップS805で、動きベクトル探索部210は、ブロックの動きベクトルを探索して、ブロックの動きベクトルを求める。
In step S805, the motion
ステップS810で、第1の誤差算出部220は、ブロックをサブブロックに分割し、サブブロックの各々と、参照画像の対応する領域との第1の誤差を算出する。この第1の誤差は、記憶部(例えば、図18の主記憶部1802)に記憶されてもよい。
In step S810, the first
ステップS820で、サブブロック特定部230は、第1の誤差の絶対値に基づいて、所定のサブブロックを特定する。例えば、第1の誤差と所定の閾値を比較して、その所定の閾値を超える誤差に対応するサブブロックを所定のサブブロックとして、特定してもよい。この点の詳細は、後述する。
In step S820, the
ステップS830で、第2の誤差算出部240は、処理対象ブロックの隣接ブロックにおいて、所定のサブブロックと、所定のサブブロックに対応する、参照画像の領域との第2の誤差を算出する。
In step S830, the second
ステップS840で、動きベクトル決定部は、第1の誤差の絶対値と第2の誤差の絶対値に基づいて、所定のサブブロックの動きベクトルを算出する。例えば、第1の誤差の絶対値から第2の誤差の絶対値を減算した値が、所定の閾値を超える場合には、所定のサブブブロックの動きベクトルとして、上記隣接ブロックの動きベクトルを採用してもよい。この点についての詳細は、後述する。 In step S840, the motion vector determination unit calculates a motion vector of a predetermined sub-block based on the absolute value of the first error and the absolute value of the second error. For example, when the value obtained by subtracting the absolute value of the second error from the absolute value of the first error exceeds a predetermined threshold, the motion vector of the adjacent block is used as the motion vector of the predetermined sub block. May be. Details of this point will be described later.
図9は、サブブロック特定部230の第1の動作の例を示している。
FIG. 9 shows an example of a first operation of the sub-block specifying
ステップS910で、サブブロック特定部230は、サブブロックの第1の誤差の1つを記憶部(例えば、図18の主記憶部1802)から取り出す。
In step S910, the
ステップS920で、サブブロック特定部230は、取り出された第1の誤差の絶対値が、第1の閾値を超えるか否かを判断する。判断結果が「はい」であれば、ステップS930に移る。判断結果が「いいえ」であればステップS940に移る。
In step S920, the
ステップS930で、サブブロック特定部230は、取り出された誤差に対応するサブブロックを所定のサブブロックとして採用してもよい。
In step S930, the
ステップS940で、サブブロック特定部230は、ブロックに含まれる全てのサブブロックに対して処理が終了したか否かを判断する。判断結果が「いいえ」であれば、ステップS910に戻る。判断結果が「はい」であれば、終了する。
In step S940, the
図10は、サブブロック特定部230の第2の動作の例を示している。
FIG. 10 shows an example of the second operation of the sub-block specifying
ステップS1010及びステップS1020は、それぞれ図9のステップS910及びステップS920と同様である。 Steps S1010 and S1020 are the same as steps S910 and S920 of FIG. 9, respectively.
ステップS1030で、サブブロック特定部230は、第1の誤差の絶対値が第1の閾値を超える場合には、その誤差の絶対値をSumに積算する。
In step S1030, when the absolute value of the first error exceeds the first threshold, the
ステップS1040は、図9のステップS940と同様である。 Step S1040 is the same as step S940 in FIG.
ステップS1050で、サブブロック特定部230は、Sumの値が、第2の閾値を超えるかを判断する。判断が「はい」であれば、ステップS1050に移る。判断が「いいえ」であれば、処理は終了する。
In step S1050, the
ステップS1060で、サブブロック特定部230は、第1の誤差の絶対値が、第1の閾値を超えるサブブロックを、所定のサブブロックと特定する。
In step S1060, the
図11は、サブブロック特定部230の第3の動作の例を示している。
FIG. 11 shows an example of the third operation of the sub-block specifying
ステップS1110、ステップS1120、ステップS1130は、及びステップS1140は、それぞれ、図10のステップS1010、ステップS1020、ステップS1030は、及びステップS1040と同様である。 Step S1110, Step S1120, Step S1130, and Step S1140 are the same as Step S1010, Step S1020, and Step S1030 in FIG. 10, respectively.
ステップS1150で、サブブロック特定部230は、第1の誤差の絶対値が第1の閾値を超える誤差の合計Sumの平均から、ブロックの全てのサブブロックの誤差の絶対値の平均を減算した値が、第3の閾値を超えるかが判断される。判断結果が「はい」であればステップS1160に移る。判断結果が「いいえ」であれば、終了する。
In step S1150, the
ステップS1160で、サブブロック特定部230は、第1の誤差の絶対値が、第1の閾値を超えるサブブロックを、所定のサブブロックと特定する。
In step S1160, the
図12は、サブブロック特定部230の第4の動作の例を示している。
FIG. 12 shows an example of the fourth operation of the sub-block specifying
ステップS1210、ステップS1220、ステップS1230、及びステップS1240は、それぞれ図10のステップS1010、ステップS1020、ステップS1030、及びステップS1040と同様である。 Step S1210, step S1220, step S1230, and step S1240 are the same as step S1010, step S1020, step S1030, and step S1040 of FIG. 10, respectively.
ステップS1250で、サブブロック特定部230は、第1の誤差の絶対値が第1の閾値を超える誤差の合計Sumかの平均から、ブロックの残りのサブブロック(サブブロックの誤差の絶対値が第1の閾値を超えないサブブロック)の誤差の絶対値の平均を減算した値が、第4の閾値を超えるかが判断される。判断結果が「はい」であればステップS1260に移る。判断結果が「いいえ」であれば、終了する。
In step S1250, the
ステップS1260で、サブブロック特定部230は、第1の誤差の絶対値が、第1の閾値を超えるサブブロックを、所定のサブブロックと特定する。
In step S1260,
図13は、サブブロック特定部230の第5の動作の例を示している。
ステップS1310、ステップS1320は、それぞれ図10のステップS1010、ステップS1020と同様である。
FIG. 13 illustrates a fifth operation example of the sub-block specifying
Steps S1310 and S1320 are the same as steps S1010 and S1020 in FIG. 10, respectively.
ステップS1330で、サブブロック特定部230は、第1の誤差の絶対値が第1の閾値を超える場合には、nをインクリメントすることにより、その回数をnに記憶させる。
In step S1330, when the absolute value of the first error exceeds the first threshold, the
ステップS1340は、図10のステップS1040と同様である。 Step S1340 is the same as step S1040 in FIG.
ステップS1350で、サブブロック特定部230は、第1の誤差の絶対値が第1の閾値を超える誤差の個数nが第5の閾値を超えるかを判断する。この判断結果が「はい」であればステップS1360に進む。判断結果が「いいえ」であれば、終了する。
In step S1350, the
ステップS1360で、サブブロック特定部230は、第1の誤差の絶対値が、第1の閾値を超えるサブブロックを、所定のサブブロックと特定する。
In step S1360, sub-block specifying
図14は、動きベクトル決定部260の第1の動作の例を示している。
FIG. 14 illustrates an example of a first operation of the motion
ステップS1410で、動きベクトル決定部260の比較部262は、第1の誤差の絶対値から第2の誤差の絶対値を減算した値が第6の閾値を超えるか否かを判断してもよい。その判断結果が「はい」であればステップS1420に進む、その判断結果が「いいえ」であれば、ステップS1430に進む。
In step S1410, the
ステップS1420で、動きベクトル採用部264は、所定のサブブロックの動きベクトルとして隣接ブロックの動きベクトルを採用してもよい。なお、図5に示したように隣接ブロックが複数あることにより、隣接ブロックの動きベクトルが複数ある場合には、減算した値が一番大きい隣接ブロックの動きベクトルを採用してもよい。
In step S1420, the motion
ステップS1430で、動きベクトル採用部264は、所定のサブブロックの動きベクトルとして、その所定のサブブロックが属する注目ブロックの動きベクトルを採用してもよい(すなわちベクトルを変更しなくてもよい)。
In step S1430, the motion
図15は、動きベクトル決定部260の第2の動作の例を示すフローチャートである。
FIG. 15 is a flowchart illustrating an example of a second operation of the motion
ステップS1510は、図14のステップS1410と同様である。 Step S1510 is the same as step S1410 of FIG.
ステップS1520で、動きベクトル採用部264は、所定のサブブロックの動きベクトルとして、隣接する隣接ブロックの動きベクトル、及び所定のサブブロックの注目ブロックにおける相対位置によって定まる、所定のサブブロックに対応する参照画像の領域の、所定の周辺領域について、所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用してもよい。なお、探索には、既存のブロックマッチング技術を利用してもよい。
In step S1520, the motion
ステップS1530で、動きベクトル採用部264は、所定のサブブロックの動きベクトルとして、その所定のサブブロックが属する注目ブロックの動きベクトルを採用してもよい(すなわちベクトルを変更しなくてもよい)。
In step S1530, the motion
図16は、動きベクトル決定部260の第3の動作の例を示すフローチャートである。
FIG. 16 is a flowchart illustrating a third operation example of the motion
ステップS1610は、図14のステップS1410と同様である。 Step S1610 is the same as step S1410 of FIG.
ステップS1620で、動きベクトル決定部260の比較部が、第1の誤差の絶対値から第2の誤差の絶対値を減算した値が第6の閾値を超えると判断した場合、その回数をカウントするためにmの値をインクリメントする。
When the comparison unit of the motion
ステップS1630で、全てのサブブロックが処理されたかが判断される。「いいえ」であればステップS1610に戻る。「はい」であればステップS1640に移る。 In step S1630, it is determined whether all sub-blocks have been processed. If “no”, the process returns to step S1610. If “yes”, the process moves to step S1640.
ステップS1640で、mの値が第7の閾値を超えるか否かを判断する。超えない(「はい」)と判断された場合には、ステップS1650の処理に移る。超えると判断された場合(「いいえ」の場合)には、図14又は図15の処理を行ってもよい(より具体的には、ステップS1420、又はステップS1520の処理を行ってもよい)。 In step S1640, it is determined whether the value of m exceeds a seventh threshold value. If it is determined that the value does not exceed (“Yes”), the process proceeds to step S1650. When it is determined that the number exceeds (“No”), the process of FIG. 14 or 15 may be performed (more specifically, the process of step S1420 or step S1520 may be performed).
ステップS1650で、所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用する。所定のサブブロックが複数ある場合には、全ての所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用する。 In step S1650, the motion vector of the target block is adopted as the motion vector of the predetermined sub-block. When there are a plurality of predetermined sub-blocks, the motion vector of the target block is adopted as the motion vector of all the predetermined sub-blocks.
図17は、一実施形態のブロック分割の例を示すフローチャートを示している。 FIG. 17 is a flowchart illustrating an example of block division according to an embodiment.
ステップS1710で、全ての所定のサブブロックの動きベクトルとして、注目ブロックの動きベクトルを採用したかが判断される。すなわち、この判断が「はい」であれば、全てのサブブロックに対する動きベクトルは、そのサブブロックが所属する注目ブロックの動きベクトルに統一される。この判断が「はい」であれば、ステップS1720に移る。この判断が「いいえ」であればステップS1730に移る。 In step S1710, it is determined whether the motion vector of the target block has been adopted as the motion vector of all the predetermined sub-blocks. That is, if this determination is “Yes”, the motion vectors for all the sub-blocks are unified with the motion vector of the target block to which the sub-block belongs. If this determination is “Yes”, the process moves to step S1720. If this determination is “NO”, the process moves to step S1730.
ステップS1720で、注目ブロックをサブブロックに分割しないことを決定してもよい。その理由は、上述のように注目ブロックに含まれる全てのサブブロックの動きベクトルが注目ブロックと同じになるため、サブブロックに分割して処理行うことは、却ってデータ量の増大を招くことになる場合があるからである。 In step S1720, it may be determined not to divide the block of interest into sub-blocks. The reason for this is that, as described above, the motion vectors of all the sub-blocks included in the target block are the same as those of the target block. Therefore, the processing divided into sub-blocks causes an increase in the data amount. Because there are cases.
ステップS1730で、注目ブロックに分割する処理を行う。この処理については、例えば図7を用いて説明したブロック分割技術が利用できる。なお、ブロックの分割については、それぞれの映像符号化標準に準拠するよう処理すればよい。 In step S1730, processing for dividing the block of interest is performed. For this processing, for example, the block division technique described with reference to FIG. 7 can be used. In addition, what is necessary is just to process about the division | segmentation of a block so that it may conform to each video coding standard.
なお、ブロック分割の情報は、符号化されて、映像情報の符号化情報とともに、ビットストリームに含ませることができる。ビットストリームを受信したデコーダは、このブロック分割の情報を活用して、復号化を行う。 The block division information can be encoded and included in the bitstream together with the encoding information of the video information. The decoder that has received the bitstream performs decoding using this block division information.
図18は、画像処理装置1800の概略構成の一例を示すブロック図である。図18に示す画像処理装置1800は、上述した実施形態で説明した画像処理をソフトウェアで実装した装置の一例である。
FIG. 18 is a block diagram illustrating an example of a schematic configuration of the
なお、以上の実施形態では、ブロックと、そのブロックを分割したサブブロックを例にして説明したが、サブブロックを更に分割した場合などにも、上記の実施形態を適用できることは言うまでもない。 In the above embodiment, the block and the sub-block obtained by dividing the block have been described as an example. Needless to say, the above-described embodiment can be applied to a case where the sub-block is further divided.
図18に示すように、画像処理装置1800は、制御部1801と、主記憶部1802と、補助記憶部1803と、ドライブ装置1804と、ネットワークI/F部1806と、入力部1807と、表示部1808とを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。また、各部は、バス1809によって接続されている。
As shown in FIG. 18, the
制御部1801は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPU(Central Processing Unit)である。また、制御部1801は、主記憶部1802又は補助記憶部1803に記憶された画像処理のプログラムを実行する演算装置である。制御部1801は、入力部1807や記憶装置からデータを受け取り、演算、加工した上で、表示部1808又は記憶装置などに出力する。
The
また、制御部1801は、画像処理のプログラムを実行することで、実施形態で説明した処理を実現することができる。
Further, the
主記憶部1802は、ROM(Read Only Memory)又はRAM(Random Access Memory)などである。主記憶部1802は、制御部1801が実行する基本ソフトウェアであるOS(Operating System)又はアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
The
補助記憶部1803は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
The
ドライブ装置1804は、記録媒体1805、例えばフレキシブルディスクからプログラムを読み出し、記憶部にインストールする。
The
また、記録媒体1805に、所定のプログラムを格納し、この記録媒体1805に格納されたプログラムはドライブ装置1804を介して画像処理装置1800にインストールされる。インストールされた所定のプログラムは、画像処理装置1800により実行可能となる。
A predetermined program is stored in the
ネットワークI/F部1806は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置1800とのインターフェースである。
A network I /
入力部1807は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部1808の表示画面上でキーの選択等を行うためのマウスやスライドパット等を有する。表示部1808は、LCD(Liquid Crystal Display)等により構成され、制御部1801から入力される表示データに応じた表示が行われる。
The
なお、図2の画像処理装置200の各部は、例えば制御部1801及びワークメモリとしての主記憶部1802により実現されうる。主記憶部1802には、上述の誤差の情報等が格納されてもよい。
2 can be realized by, for example, the
画像処理装置1800で実行されるプログラムは、実施形態で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部1801が補助記憶部1803からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部1802上にロードされ、1又は複数の各部が主記憶部1802上に生成されるようになっている。
A program executed by the
このように、上述した実施形態で説明した画像処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、実施形態で説明した処理を実現することができる。 As described above, the image processing described in the above-described embodiment may be realized as a program for causing a computer to execute. The processing described in the embodiment can be realized by installing this program from a server or the like and causing the computer to execute the program.
また、このプログラムを記録媒体1805に記録し、このプログラムが記録された記録媒体1805をコンピュータや携帯端末などの処理装置に読み取らせて、前述した画像処理を実現させることも可能である。
It is also possible to record the program in a
なお、記録媒体1805は、CD−ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
Note that the
また、上述した各実施例で説明した画像処理は、1つ又は複数の集積回路に実装されてもよい。なお、画像処理装置1800は、上記の通り、画像処理装置200の少なくとも一部の装置としての機能を有してもよい。
Further, the image processing described in each of the above embodiments may be implemented in one or a plurality of integrated circuits. Note that the
また、上述した実施形態における画像処理装置は、符号化技術に対して適用可能であり、H.264/AVCやHEVCだけに限られるものではない。 Further, the image processing apparatus in the above-described embodiment can be applied to an encoding technique. It is not limited to H.264 / AVC or HEVC.
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。 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. .
以上の実施形態に対し、以下の付記を開示する。
(付記1)
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する、動きベクトル探索部と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第1の誤差を算出する第1の誤差算出部と、
前記第1の誤差算出部が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する第2の誤差算出部と、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、
を有する画像処理装置。
(付記2)
前記サブブロック特定部は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記1記載の画像処理装置。
(付記3)
前記サブブロック特定部は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の合計が、第2の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記1記載の画像処理装置。
(付記4)
前記サブブロック特定部は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値の平均値で除算した値が、第3の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記1記載の画像処理装置。
(付記5)
前記サブブロック特定部は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値のうち前記第1の閾値を超えない第1の誤差の絶対値の平均値で除算した値が、第4の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記1記載の画像処理装置。
(付記6)
前記サブブロック特定部は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の数が、第5の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記1記載の画像処理装置。
(付記7)
前記動きベクトル決定部は、
前記第1の誤差の絶対値から前記第2の誤差の絶対値を減算した値を、第6の閾値と比較する比較部と、
前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第6の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、動きベクトル採用部と、
を含む、
付記1ないし6のうちいずれか1項記載の画像処理装置。
(付記8)
前記動きベクトル採用部は、前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索するよう、前記動きベクトル探索部に指示し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記7記載の画像処理装置。
(付記9)
前記動きベクトル採用部は、前記注目ブロックに関し、前記減算した値が前記第6の閾値を超える場合の数が、第7の閾値を超えない場合、前記減算した値が前記第6の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記7又は8記載の画像処理装置。
(付記10)
前記動きベクトル採用部は、前記動きベクトル採用部が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記注目ブロックをサブブロックに分割しない、付記7ないし9のうちいずれか1項記載の画像処理装置。
(付記11)
コンピュータが、
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する段階と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第1の誤差を算出する段階と、
前記第1の誤差を算出する段階が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する段階と、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する段階と、
を有する画像処理方法。
(付記12)
前記サブブロックを特定する段階は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記11記載の画像処理方法。
(付記13)
前記サブブロックを特定する段階は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の合計が、第2の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記11記載の画像処理方法。
(付記14)
前記サブブロックを特定する段階は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値の平均値で除算した値が、第3の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記11記載の画像処理方法。
(付記15)
前記サブブロックを特定する段階は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値のうち前記第1の閾値を超えない第1の誤差の絶対値の平均値で除算した値が、第4の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記11記載の画像処理方法。
(付記16)
前記サブブロックを特定する段階は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の数が、第5の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記11記載の画像処理方法。
(付記17)
前記動きベクトルを決定する段階は、
前記第1の誤差の絶対値から前記第2の誤差の絶対値を減算した値を、第6の閾値と比較する段階と、
前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第6の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する段階と、
を含む、
付記11ないし16のうちいずれか1項記載の画像処理方法。
(付記18)
前記動きベクトルを採用する段階は、前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記17記載の画像処理方法。
(付記19)
前記動きベクトルを採用する段階は、前記注目ブロックに関し、前記減算した値が前記第6の閾値を超える場合の数が、第7の閾値を超えない場合、前記減算した値が前記第6の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記17又は18記載の画像処理方法。
(付記20)
前記動きベクトルを採用する段階が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記動きベクトルを採用する段階は、前記注目ブロックをサブブロックに分割しない、付記17ないし19のうちいずれか1項記載の画像処理方法。
(付記21)
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索し、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、複数の第1の誤差を算出し、
前記第1の誤差を算出する処理が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出し、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、
処理をコンピュータに実行させる画像処理プログラム。
(付記22)
前記サブブロックを特定する処理は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記21記載の画像処理プログラム。
(付記23)
前記サブブロックを特定する処理は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の合計が、第2の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記21記載の画像処理プログラム。
(付記24)
前記サブブロックを特定する処理は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値の平均値で除算した値が、第3の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記21記載の画像処理プログラム。
(付記25)
前記サブブロックを特定する処理は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の絶対値の平均値を、前記複数の第1の誤差の絶対値のうち前記第1の閾値を超えない第1の誤差の絶対値の平均値で除算した値が、第4の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記21記載の画像処理プログラム。
(付記26)
前記サブブロックを特定する処理は、前記複数の第1の誤差の絶対値のうち第1の閾値を超える第1の誤差の数が、第5の閾値を超える場合、前記第1の閾値を超える第1の誤差に対応する前記サブブロックを前記所定のサブブロックとして特定する、付記21記載の画像処理プログラム。
(付記27)
前記動きベクトルを決定する処理は、
前記第1の誤差の絶対値から前記第2の誤差の絶対値を減算した値を、第6の閾値と比較し、
前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第6の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、
処理を含む、
付記21ないし26のうちいずれか1項記載の画像処理プログラム。
(付記28)
前記動きベクトルを採用する処理は、前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる、前記所定のサブブロックに対応する参照画像の領域の所定の周辺領域について、前記所定のサブブロックの動きベクトルを探索し、探索された動きベクトルを前記所定のサブブロックの動きベクトルとして採用する、付記27記載の画像処理プログラム。
(付記29)
前記動きベクトルを採用する処理は、前記注目ブロックに関し、前記減算した値が前記第6の閾値を超える場合の数が、第7の閾値を超えない場合、前記減算した値が前記第6の閾値を超える場合であっても、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、付記27又は28記載の画像処理プログラム。
(付記30)
前記動きベクトルを採用する処理が、前記所定のサブブロックの全ての動きベクトルとして、前記注目ブロックの動きベクトルを採用することを決定した場合、前記動きベクトルを採用する処理は、前記注目ブロックをサブブロックに分割しない、付記27ないし29のうちいずれか1項記載の画像処理プログラム。
The following notes are disclosed for the above embodiment.
(Appendix 1)
A motion vector search unit for searching for a motion vector indicating from which region of the reference image a block that is a partial region of the processing target image or a sub-block obtained by dividing the block has moved;
A first error for calculating a first error between each of a plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest. An error calculation unit of
A sub-block specifying unit that specifies a predetermined sub-block based on the magnitudes of absolute values of a plurality of first errors calculated by the first error calculating unit;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock A second error calculation unit for calculating a second error between;
A motion vector determination unit that determines a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing apparatus.
(Appendix 2)
The image according to
(Appendix 3)
The sub-block specifying unit, when the sum of absolute values of first errors that exceed a first threshold among the absolute values of the plurality of first errors exceeds a second threshold, determines the first threshold. The image processing apparatus according to
(Appendix 4)
The sub-block specifying unit calculates an average value of absolute values of first errors that exceed a first threshold among absolute values of the plurality of first errors, and calculates an average value of absolute values of the plurality of first errors. The image processing apparatus according to
(Appendix 5)
The sub-block specifying unit calculates an average value of absolute values of first errors exceeding a first threshold among the absolute values of the plurality of first errors, and calculates the average value of the absolute values of the plurality of first errors. When the value obtained by dividing the average value of the absolute values of the first errors not exceeding the first threshold exceeds the fourth threshold, the sub-block corresponding to the first error exceeding the first threshold is The image processing apparatus according to
(Appendix 6)
The sub-block specifying unit, when the number of first errors that exceed a first threshold among the absolute values of the plurality of first errors exceeds a fifth threshold, The image processing apparatus according to
(Appendix 7)
The motion vector determination unit
A comparison unit that compares a value obtained by subtracting the absolute value of the second error from the absolute value of the first error with a sixth threshold;
When the subtracted value exceeds the sixth threshold, the motion vector of the adjacent block is adopted as the motion vector of the predetermined sub-block, and when the subtracted value does not exceed the sixth threshold, A motion vector adopting unit that adopts a motion vector of the block of interest as a motion vector of a predetermined sub-block;
including,
The image processing apparatus according to any one of
(Appendix 8)
When the subtracted value exceeds the sixth threshold, the motion vector adopting unit, as the motion vector of the predetermined sub-block, as the motion vector of the adjacent block, and the attention of the predetermined sub-block The motion vector search unit is instructed to search for a motion vector of the predetermined sub-block for a predetermined peripheral region of a reference image region corresponding to the predetermined sub-block, which is determined by a relative position in the block, and searches The image processing apparatus according to appendix 7, wherein the motion vector thus adopted is adopted as a motion vector of the predetermined sub-block.
(Appendix 9)
The motion vector adopting unit, with respect to the block of interest, if the number when the subtracted value exceeds the sixth threshold does not exceed the seventh threshold, the subtracted value exceeds the sixth threshold Even if it is a case, The image processing apparatus of Additional remark 7 or 8 which employ | adopts the motion vector of the said block of interest as a motion vector of the said predetermined | prescribed subblock.
(Appendix 10)
The motion vector adopter does not divide the target block into sub-blocks when the motion vector adopter determines to adopt the motion vector of the target block as all the motion vectors of the predetermined sub-block. The image processing apparatus according to any one of appendices 7 to 9.
(Appendix 11)
Computer
Searching for a motion vector indicating from which region of the reference image a block that is a partial region of the processing target image or a sub-block obtained by dividing the block has moved;
Calculating a respective first error between each of the plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest; ,
Determining a predetermined sub-block based on the magnitudes of absolute values of the plurality of first errors calculated by the calculating the first error;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock Calculating a second error between;
Determining a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing method.
(Appendix 12)
The specifying of the sub-block includes specifying the sub-block corresponding to a first error exceeding a first threshold among the plurality of first error absolute values as the predetermined sub-block. Image processing method.
(Appendix 13)
The step of identifying the sub-block includes the step of identifying the first block when the sum of the absolute values of the first errors exceeding the first threshold among the absolute values of the plurality of first errors exceeds the second threshold. The image processing method according to appendix 11, wherein the sub-block corresponding to the first error exceeding a threshold is specified as the predetermined sub-block.
(Appendix 14)
The step of identifying the sub-block includes calculating an average value of absolute values of the first errors exceeding a first threshold among the absolute values of the plurality of first errors, and calculating an absolute value of the plurality of first errors. The image processing method according to claim 11, wherein when the value divided by the average value exceeds a third threshold, the sub-block corresponding to the first error exceeding the first threshold is specified as the predetermined sub-block. .
(Appendix 15)
The step of identifying the sub-block includes calculating an average value of absolute values of the first errors exceeding a first threshold among the absolute values of the plurality of first errors, and calculating an absolute value of the plurality of first errors. The sub-block corresponding to the first error exceeding the first threshold when the value obtained by dividing the average value of the absolute values of the first error not exceeding the first threshold exceeds the
(Appendix 16)
The step of identifying the sub-block exceeds the first threshold when the number of first errors that exceed a first threshold among the absolute values of the plurality of first errors exceeds a fifth threshold. The image processing method according to claim 11, wherein the sub-block corresponding to the first error is specified as the predetermined sub-block.
(Appendix 17)
Determining the motion vector comprises:
Comparing a value obtained by subtracting the absolute value of the second error from the absolute value of the first error with a sixth threshold;
When the subtracted value exceeds the sixth threshold, the motion vector of the adjacent block is adopted as the motion vector of the predetermined sub-block, and when the subtracted value does not exceed the sixth threshold, Adopting a motion vector of the block of interest as a motion vector of a predetermined sub-block;
including,
The image processing method according to any one of appendices 11 to 16.
(Appendix 18)
In the step of adopting the motion vector, when the subtracted value exceeds the sixth threshold, the motion vector of the adjacent block and the motion vector of the adjacent sub-block as the motion vector of the predetermined sub-block. A motion vector of the predetermined sub-block is searched for a predetermined peripheral region of a reference image region corresponding to the predetermined sub-block, which is determined by a relative position in the target block, and the searched motion vector is searched for the predetermined motion vector 18. The image processing method according to appendix 17, which is employed as a sub-block motion vector.
(Appendix 19)
In the step of adopting the motion vector, regarding the target block, when the number when the subtracted value exceeds the sixth threshold does not exceed the seventh threshold, the subtracted value is the sixth threshold. 19. The image processing method according to appendix 17 or 18, wherein the motion vector of the block of interest is adopted as the motion vector of the predetermined sub-block even when the value exceeds.
(Appendix 20)
When the step of adopting the motion vector determines to adopt the motion vector of the block of interest as all the motion vectors of the predetermined sub-block, the step of employing the motion vector subtracts the block of interest 20. The image processing method according to any one of supplementary notes 17 to 19, wherein the image processing method is not divided into blocks.
(Appendix 21)
Search for a motion vector indicating from which region of the reference image a block that is a partial region of the processing target image or a sub-block obtained by dividing the block has moved,
Calculating a plurality of first errors between each of a plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest;
Identifying a predetermined sub-block based on the magnitudes of absolute values of a plurality of first errors calculated by the process of calculating the first error;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock Calculate the second error between
Determining a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing program that causes a computer to execute processing.
(Appendix 22)
The processing for identifying the sub-block identifies the sub-block corresponding to the first error that exceeds a first threshold among the plurality of first error absolute values as the predetermined sub-block. Image processing program.
(Appendix 23)
The process of specifying the sub-block is performed when the sum of the absolute values of the first errors that exceed the first threshold among the absolute values of the plurality of first errors exceeds the second threshold. The image processing program according to appendix 21, wherein the sub-block corresponding to the first error exceeding the threshold is specified as the predetermined sub-block.
(Appendix 24)
The process of specifying the sub-block includes calculating an average value of absolute values of the first errors exceeding a first threshold among the absolute values of the plurality of first errors, and calculating an absolute value of the plurality of first errors. The image processing program according to appendix 21, wherein when the value divided by the average value exceeds a third threshold value, the sub-block corresponding to the first error exceeding the first threshold value is specified as the predetermined sub-block. .
(Appendix 25)
The process of specifying the sub-block includes calculating an average value of absolute values of the first errors exceeding a first threshold among the absolute values of the plurality of first errors, and calculating an absolute value of the plurality of first errors. The sub-block corresponding to the first error exceeding the first threshold when the value obtained by dividing the average value of the absolute values of the first error not exceeding the first threshold exceeds the fourth threshold The image processing program according to appendix 21, wherein the image processing program is specified as the predetermined sub-block.
(Appendix 26)
The process of specifying the sub-block exceeds the first threshold when the number of first errors that exceed a first threshold among the absolute values of the plurality of first errors exceeds a fifth threshold. The image processing program according to appendix 21, wherein the sub-block corresponding to the first error is specified as the predetermined sub-block.
(Appendix 27)
The process of determining the motion vector includes:
A value obtained by subtracting the absolute value of the second error from the absolute value of the first error is compared with a sixth threshold value;
When the subtracted value exceeds the sixth threshold, the motion vector of the adjacent block is adopted as the motion vector of the predetermined sub-block, and when the subtracted value does not exceed the sixth threshold, Adopting the motion vector of the block of interest as the motion vector of the predetermined sub-block,
Including processing,
27. The image processing program according to any one of appendices 21 to 26.
(Appendix 28)
When the subtracted value exceeds the sixth threshold, the process of adopting the motion vector includes the motion vector of the adjacent block and the motion vector of the adjacent sub-block as the motion vector of the predetermined sub-block. A motion vector of the predetermined sub-block is searched for a predetermined peripheral region of a reference image region corresponding to the predetermined sub-block, which is determined by a relative position in the target block, and the searched motion vector is searched for the predetermined motion vector 28. The image processing program according to appendix 27, which is employed as a sub-block motion vector.
(Appendix 29)
In the process of adopting the motion vector, the number of cases where the subtracted value exceeds the sixth threshold for the block of interest does not exceed the seventh threshold, the subtracted value is the sixth threshold. 29. The image processing program according to appendix 27 or 28, wherein the motion vector of the block of interest is adopted as the motion vector of the predetermined sub-block even if the value exceeds.
(Appendix 30)
When the process of adopting the motion vector has decided to adopt the motion vector of the target block as all the motion vectors of the predetermined sub-block, the process of adopting the motion vector subtracts the target block. 30. The image processing program according to any one of appendices 27 to 29, which is not divided into blocks.
200 画像処理装置
210 動きベクトル探索部
220 第1の誤差算出部
230 サブブロック特定部
240 第2の誤差算出部
260 ベクトル決定部
262 比較部
264 ベクトル採用部
1800 画像処理装置
200
Claims (12)
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第1の誤差を算出する第1の誤差算出部と、
前記第1の誤差算出部が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する、サブブロック特定部と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する第2の誤差算出部と、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、動きベクトル決定部と、
を有する画像処理装置。 A motion vector search unit for searching for a motion vector indicating from which region of the reference image a block that is a partial region of the processing target image or a sub-block obtained by dividing the block has moved;
A first error for calculating a first error between each of a plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest. An error calculation unit of
A sub-block specifying unit that specifies a predetermined sub-block based on the magnitudes of absolute values of a plurality of first errors calculated by the first error calculating unit;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock A second error calculation unit for calculating a second error between;
A motion vector determination unit that determines a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing apparatus.
前記第1の誤差の絶対値から前記第2の誤差の絶対値を減算した値を、第6の閾値と比較する比較部と、
前記減算した値が前記第6の閾値を超える場合、前記所定のサブブロックの動きベクトルとして、前記隣接ブロックの動きベクトルを採用し、前記減算した値が前記第6の閾値を超えない場合、前記所定のサブブロックの動きベクトルとして、前記注目ブロックの動きベクトルを採用する、動きベクトル採用部と、
を含む、
請求項1ないし6のうちいずれか1項記載の画像処理装置。 The motion vector determination unit
A comparison unit that compares a value obtained by subtracting the absolute value of the second error from the absolute value of the first error with a sixth threshold;
When the subtracted value exceeds the sixth threshold, the motion vector of the adjacent block is adopted as the motion vector of the predetermined sub-block, and when the subtracted value does not exceed the sixth threshold, A motion vector adopting unit that adopts a motion vector of the block of interest as a motion vector of a predetermined sub-block;
including,
The image processing apparatus according to claim 1.
処理対象画像の部分領域であるブロック又は前記ブロックを分割したサブブロックが参照画像のどの領域から動いたかを示す動きベクトルを探索する段階と、
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、それぞれの第1の誤差を算出する段階と、
前記第1の誤差を算出する段階が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出する段階と、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する段階と、
を有する画像処理方法。 Computer
Searching for a motion vector indicating from which region of the reference image a block that is a partial region of the processing target image or a sub-block obtained by dividing the block has moved;
Calculating a respective first error between each of the plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest; ,
Determining a predetermined sub-block based on the magnitudes of absolute values of the plurality of first errors calculated by the calculating the first error;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock Calculating a second error between;
Determining a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing method.
注目ブロックを分割した複数のサブブロックの各々と、前記注目ブロックの動きベクトルによって定まる、前記複数のサブブロックの各々の参照画像の領域との間の、複数の第1の誤差を算出し、
前記第1の誤差を算出する処理が算出する複数の第1の誤差の絶対値の大きさに基づいて、所定のサブブロックを特定する段階と、
前記注目ブロックに隣接する隣接ブロックの動きベクトルと、前記所定の前記サブブロックの前記注目ブロックにおける相対位置とによって定まる前記所定のサブブロックに対応する参照画像の領域と、前記所定のサブブロックとの間の第2の誤差を算出し、
前記第1の誤差と、前記第2の誤差とに基づいて、前記所定のサブブロックの動きベクトルを決定する、
処理をコンピュータに実行させる画像処理プログラム。 Search for a motion vector indicating from which area of the reference image a block that is a partial area of the processing target image or a sub-block obtained by dividing the block has moved;
Calculating a plurality of first errors between each of a plurality of sub-blocks obtained by dividing the block of interest and a reference image area of each of the plurality of sub-blocks determined by a motion vector of the block of interest;
Identifying a predetermined sub-block based on the magnitudes of absolute values of a plurality of first errors calculated by the process of calculating the first error;
A region of a reference image corresponding to the predetermined subblock determined by a motion vector of an adjacent block adjacent to the target block and a relative position of the predetermined subblock in the target block; and the predetermined subblock Calculate the second error between
Determining a motion vector of the predetermined sub-block based on the first error and the second error;
An image processing program that causes a computer to execute processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013058554A JP2014183544A (en) | 2013-03-21 | 2013-03-21 | Image processing unit and image processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013058554A JP2014183544A (en) | 2013-03-21 | 2013-03-21 | Image processing unit and image processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2014183544A true JP2014183544A (en) | 2014-09-29 |
Family
ID=51701835
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013058554A Pending JP2014183544A (en) | 2013-03-21 | 2013-03-21 | Image processing unit and image processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2014183544A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117893534A (en) * | 2024-03-14 | 2024-04-16 | 张家港乐达汽车电器有限公司 | Bus multimedia intelligent display screen detection method based on image feature analysis |
| CN118714340A (en) * | 2024-07-10 | 2024-09-27 | 广东中星电子有限公司 | Compensation information storage method, device, electronic device and computer readable medium |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06327003A (en) * | 1993-05-14 | 1994-11-25 | Nec Corp | Predictive coding system for moving image |
| JPH07170496A (en) * | 1993-09-08 | 1995-07-04 | Thomson Consumer Electron Sa | Method and apparatus for estimating movement based on block matching |
| JPH08265768A (en) * | 1995-03-15 | 1996-10-11 | Daewoo Electron Co Ltd | Motion vector determination method |
| JP2001197501A (en) * | 2000-01-07 | 2001-07-19 | Fujitsu Ltd | Motion vector searcher, motion vector search method, and video encoding device |
| JP2003209844A (en) * | 2002-12-09 | 2003-07-25 | Mitsubishi Electric Corp | Moving picture coding apparatus and moving picture coding method |
| JP2007166545A (en) * | 2005-12-16 | 2007-06-28 | Canon Inc | Motion vector detection apparatus and method |
| JP2007251815A (en) * | 2006-03-17 | 2007-09-27 | Pioneer Electronic Corp | Re-encoding apparatus, and program for re-encoding |
| JP2008017209A (en) * | 2006-07-06 | 2008-01-24 | Canon Inc | Motion vector detection apparatus, motion vector detection method, computer program, and storage medium |
| JP2008109632A (en) * | 2006-09-28 | 2008-05-08 | Toshiba Corp | Motion vector detection apparatus and method |
| JP2011082703A (en) * | 2009-10-05 | 2011-04-21 | Nippon Hoso Kyokai <Nhk> | Predictive vector correcting device and program |
| WO2011099242A1 (en) * | 2010-02-12 | 2011-08-18 | 三菱電機株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
-
2013
- 2013-03-21 JP JP2013058554A patent/JP2014183544A/en active Pending
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06327003A (en) * | 1993-05-14 | 1994-11-25 | Nec Corp | Predictive coding system for moving image |
| JPH07170496A (en) * | 1993-09-08 | 1995-07-04 | Thomson Consumer Electron Sa | Method and apparatus for estimating movement based on block matching |
| JPH08265768A (en) * | 1995-03-15 | 1996-10-11 | Daewoo Electron Co Ltd | Motion vector determination method |
| JP2001197501A (en) * | 2000-01-07 | 2001-07-19 | Fujitsu Ltd | Motion vector searcher, motion vector search method, and video encoding device |
| JP2003209844A (en) * | 2002-12-09 | 2003-07-25 | Mitsubishi Electric Corp | Moving picture coding apparatus and moving picture coding method |
| JP2007166545A (en) * | 2005-12-16 | 2007-06-28 | Canon Inc | Motion vector detection apparatus and method |
| JP2007251815A (en) * | 2006-03-17 | 2007-09-27 | Pioneer Electronic Corp | Re-encoding apparatus, and program for re-encoding |
| JP2008017209A (en) * | 2006-07-06 | 2008-01-24 | Canon Inc | Motion vector detection apparatus, motion vector detection method, computer program, and storage medium |
| JP2008109632A (en) * | 2006-09-28 | 2008-05-08 | Toshiba Corp | Motion vector detection apparatus and method |
| JP2011082703A (en) * | 2009-10-05 | 2011-04-21 | Nippon Hoso Kyokai <Nhk> | Predictive vector correcting device and program |
| WO2011099242A1 (en) * | 2010-02-12 | 2011-08-18 | 三菱電機株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117893534A (en) * | 2024-03-14 | 2024-04-16 | 张家港乐达汽车电器有限公司 | Bus multimedia intelligent display screen detection method based on image feature analysis |
| CN117893534B (en) * | 2024-03-14 | 2024-05-24 | 张家港乐达汽车电器有限公司 | Bus multimedia intelligent display screen detection method based on image feature analysis |
| CN118714340A (en) * | 2024-07-10 | 2024-09-27 | 广东中星电子有限公司 | Compensation information storage method, device, electronic device and computer readable medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5422168B2 (en) | Video encoding method and video decoding method | |
| CN104067619A (en) | Video decoder, video encoder, video decoding method, and video encoding method | |
| US9712828B2 (en) | Foreground motion detection in compressed video data | |
| Nasreen et al. | Key frame extraction from videos-A survey | |
| CN115550652A (en) | Context-based image codec | |
| CN114040209A (en) | Motion estimation method, device, electronic device and storage medium | |
| US9578277B2 (en) | Method and device for storing video images | |
| JP2014183544A (en) | Image processing unit and image processing method | |
| JP2004348741A (en) | Image comparison method, computer-readable storage medium storing program for performing method, and apparatus for performing method | |
| US20250168389A1 (en) | Motion estimation method, electronic device, and storage medium | |
| US7852939B2 (en) | Motion vector detection method and device of the same | |
| CN115914646A (en) | Method, device, equipment and storage medium for determining motion vector in video coding | |
| US10397566B2 (en) | Image coding apparatus, image coding method, and program | |
| KR102637947B1 (en) | The Method, Apparatus, and Computer-Readable Medium which Calculate Threshold for Detecting Static Section in Real-time Video | |
| JP2009267726A (en) | Moving image encoding apparatus, recorder, moving image encoding method, moving image encoding program | |
| JP5788952B2 (en) | Video decoding method | |
| KR102557904B1 (en) | The Method of Detecting Section in which a Movement Frame Exists | |
| US20190268606A1 (en) | Moving image encoding apparatus, control method for moving image encoding apparatus, and storage medium | |
| KR101624422B1 (en) | Reference frame and inter-mode selection method and apparatus | |
| JP6709761B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| US20230209064A1 (en) | Identifying long term reference frame using scene detection and perceptual hashing | |
| JP2016136741A (en) | Moving image decoding method | |
| JP5887020B1 (en) | Video decoding method | |
| JP5890933B1 (en) | Video decoding method | |
| JP5864023B2 (en) | Calculation method of prediction vector |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151106 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161122 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170119 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170314 |