JP2011223393A - Encoding device and method of controlling encoding device - Google Patents

Encoding device and method of controlling encoding device Download PDF

Info

Publication number
JP2011223393A
JP2011223393A JP2010091505A JP2010091505A JP2011223393A JP 2011223393 A JP2011223393 A JP 2011223393A JP 2010091505 A JP2010091505 A JP 2010091505A JP 2010091505 A JP2010091505 A JP 2010091505A JP 2011223393 A JP2011223393 A JP 2011223393A
Authority
JP
Japan
Prior art keywords
vector
value
calculating
code amount
evaluation value
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
Application number
JP2010091505A
Other languages
Japanese (ja)
Other versions
JP2011223393A5 (en
Inventor
Akihiro Oishi
晃弘 大石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010091505A priority Critical patent/JP2011223393A/en
Publication of JP2011223393A publication Critical patent/JP2011223393A/en
Publication of JP2011223393A5 publication Critical patent/JP2011223393A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce deterioration in picture quality by improving detection precision of a motion vector for a repetitive pattern.SOLUTION: An encoding device comprises global vector acquiring means of acquiring a motion vector for each of a plurality of second blocks constituting a first block, prediction error value calculating means of calculating a vector value at an address where encoding is performed, vector code amount calculating means of calculating a vector code amount for the address where the encoding is performed, vector evaluated value calculating means of calculating a vector evaluated value by weighting the global vector code amount calculated by the vector code amount calculating means, and vector position determining means of determining a vector position based upon the vector evaluated value calculated by the vector evaluated value calculating means, thereby eliminating trouble such that a vector different from actual motion is selected even for a repetitive pattern such as a window frame.

Description

本発明は、符号化装置及び符号化装置の制御方法に関し、特に動きベクトルを決定するための符号化装置に関する。   The present invention relates to an encoding apparatus and an encoding apparatus control method, and more particularly to an encoding apparatus for determining a motion vector.

動画像を符号化する符号化装置においては、並んだビルの窓や格子枠のような、似通った絵柄(小画像)が周期的に存在する画像(繰り返しパターン画像)を符号化する方法が種々検討されている。特に、繰り返しパターン画像に動きがあるときに発生するベクトル誤検出の対策機能を備えた符号化装置の開発が検討されている。   In an encoding apparatus that encodes a moving image, there are various methods for encoding an image (repeated pattern image) in which similar patterns (small images) periodically exist, such as windows of a building or a lattice frame. It is being considered. In particular, development of an encoding apparatus having a countermeasure function against vector misdetection that occurs when there is a motion in a repetitive pattern image has been studied.

ベクトル探索では、符号化対象ブロックと参照ブロックとの最小SAD(差分絶対値和:Sum of Absolute Difference)から動きベクトルを決定する方法がある。しかしながら、繰り返しパターン画像では、同じ様な絵柄のため必ずしも最小SADの位置が動きベクトル位置とはならない場合があるので、ベクトル誤検出が発生する。   In vector search, there is a method of determining a motion vector from a minimum SAD (Sum of Absolute Difference) between an encoding target block and a reference block. However, in the repeated pattern image, the position of the minimum SAD is not necessarily the motion vector position because of the same pattern, and thus vector misdetection occurs.

繰り返しパターン画像のベクトル誤検出の対策に関して、特許文献1に記載された補間フレーム作成装置は、ブロックのSADの極小点が複数存在する場合、可変長ブロックで得たSADの極小点と比較する。そして、可変長ブロックを用いて得たSAD値に最も近い極小点に対応するベクトルを採用するようにしている。   Regarding countermeasures against erroneous vector detection of repetitive pattern images, the interpolation frame creation apparatus described in Patent Document 1 compares a SAD minimum point obtained with a variable-length block when there are a plurality of SAD minimum points of a block. A vector corresponding to the minimum point closest to the SAD value obtained using the variable length block is employed.

特開2008−147951号公報JP 2008-147951 A

しかしながら、特許文献1にて提案されている補間フレーム作成装置の構成では、単位ブロックより大きな可変長ブロックのSADの極小点を用いて最も近いSADとしても画像の差分値のみの情報では必ずしも正しい動きを検出できないといった問題がある。   However, in the configuration of the interpolated frame creation device proposed in Patent Document 1, even if the nearest SAD is the closest SAD using the SAD minimum point of the variable length block larger than the unit block, the motion is not always correct. There is a problem that cannot be detected.

特に、ビルの窓枠等の同じ絵柄の続く繰り返しパターン画像をパンやチルトして撮影した場合の画像の動きでは、SADが最小でも間違った場所を示す動きベクトルを検出してしまい、画質を劣化させてしまう可能性がある。
本発明は前述の問題点に鑑み、繰り返しパターン画像に対する動きベクトルの検出精度を向上させて画質劣化を低減することを目的とする。
In particular, in the case of image movement when a repeated pattern image of the same pattern such as a window frame of a building is taken by panning or tilting, a motion vector indicating the wrong place is detected even if the SAD is minimum, thereby degrading image quality. There is a possibility of letting you.
The present invention has been made in view of the above-described problems, and an object of the present invention is to improve the accuracy of motion vector detection for repeated pattern images and reduce image quality degradation.

本発明の符号化装置は、入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置であって、前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得手段と、前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出手段と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出手段と、前記ベクトル符号量算出手段により算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出手段と、前記ベクトル評価値算出手段により算出したベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定手段とを備える。
An encoding apparatus according to the present invention is an encoding apparatus that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks, and includes a plurality of the first blocks. Global vector acquisition means for acquiring a motion vector for each second block to be performed; prediction error value calculation means for calculating a prediction error value at an address to be encoded;
Vector code amount calculation means for calculating a vector code amount at the address to be encoded, and vector evaluation value calculation means for calculating a vector evaluation value by weighting the global vector code amount calculated by the vector code amount calculation means And vector position determining means for determining a vector position based on the vector evaluation value calculated by the vector evaluation value calculating means.

本発明によれば、繰り返しパターン画像の動きによって発生する動きベクトルの誤検出を低減することができ、画質劣化を抑制することができる。   According to the present invention, it is possible to reduce erroneous detection of motion vectors caused by the motion of repetitive pattern images, and to suppress image quality deterioration.

第1の実施形態を示し、符号化装置の構成例を示すブロック図である。It is a block diagram which shows 1st Embodiment and shows the structural example of an encoding apparatus. パンすることにより建物が画像中を移動する例を示す図である。It is a figure which shows the example which a building moves in the image by panning. 動き探索部の構成例、及び動作を説明するフローチャートである。It is a flowchart explaining the structural example and operation | movement of a motion search part. 動き探索部内部の処理を説明するフローチャートである。It is a flowchart explaining the process inside a motion search part. パン・チルト有効時の重み付けの概念を示す図である。It is a figure which shows the concept of the weighting at the time of pan / tilt effective. SAD算出時の画素ブロックを表した図である。It is a figure showing the pixel block at the time of SAD calculation. 第2の実施形態を示し、動き探索部の処理を示すフローチャートである。It is a flowchart which shows 2nd Embodiment and shows the process of a motion search part. 動き探索部の構成、SADの最小値位置からの距離を説明する図である。It is a figure explaining the structure from the structure of a motion search part, and the distance from the minimum value position of SAD.

以下、図面を参照しながら本発明の好適な実施形態を説明する。
(第1の実施形態)
第1の実施形態を図1〜図6に基づき説明する。
図1は、本実施形態の符号化装置の構成例を示すブロック図である。本実施形態の符号化装置は、入力画像信号を所定サイズの第1のブロックに分割し、第1のブロック単位に符号化を行う。
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
A first embodiment will be described with reference to FIGS.
FIG. 1 is a block diagram illustrating a configuration example of the encoding apparatus according to the present embodiment. The encoding apparatus according to the present embodiment divides an input image signal into first blocks having a predetermined size and performs encoding in units of first blocks.

図1において、ライン入力端子101は、例えばディジタルビデオカメラに具備されている撮像素子から出力される映像信号を入力するものである。符号化部102は、例えばMPEG−2やMPEG−4 AVC等の規格に対応する符号化を行う。復号化部103は、符号化部102で符号化されたストリームを復号化する。104はバスである。105は外部より入力される画像情報または図示しないパン・チルト検出部から出力される情報を入力するための情報入力端子である。106は入力画像および復号化部103によって復号されたローカルデコード画像を記憶する画像メモリであり、動き探索部107は符号化部102で用いる動きベクトルを決定する。108は符号化部102で符号化されたストリームを出力する出力端子である。   In FIG. 1, a line input terminal 101 inputs a video signal output from an image sensor provided in a digital video camera, for example. The encoding unit 102 performs encoding corresponding to standards such as MPEG-2 and MPEG-4 AVC, for example. The decoding unit 103 decodes the stream encoded by the encoding unit 102. Reference numeral 104 denotes a bus. Reference numeral 105 denotes an information input terminal for inputting image information input from the outside or information output from a pan / tilt detector (not shown). An image memory 106 stores an input image and a local decoded image decoded by the decoding unit 103. A motion search unit 107 determines a motion vector used in the encoding unit 102. An output terminal 108 outputs the stream encoded by the encoding unit 102.

図2(a)は、符号化済みの参照画像の一例であり、図2(b)は符号化対象画像の一例を示す図である。例えば、ディジタルビデオカメラが左にパンニングしながら撮影することによって、図2(a)から図2(b)へと変化する2枚の画像が得られる。このとき、パンすることにより、建物が画像中を移動している。また、図2(c)は、あるマクロブロックの動き位置の候補を示す図である。
図2のように、同じ絵柄が続く繰り返しパターンでは、SAD(Sum of Absolute Difference)によって参照画像のマッチングを取ると、図2(c)に示すように、探索範囲内で極小値が複数発生する。SADの最小値では、間違った場所を選択し、画質劣化を引き起こすことがある。
FIG. 2A is an example of an encoded reference image, and FIG. 2B is a diagram illustrating an example of an encoding target image. For example, two images that change from FIG. 2A to FIG. 2B can be obtained by taking a picture while the digital video camera pans to the left. At this time, the building is moving in the image by panning. FIG. 2 (c) is a diagram showing candidates for the motion position of a certain macroblock.
As shown in FIG. 2, in a repetitive pattern in which the same pattern continues, when matching a reference image by SAD (Sum of Absolute Difference), a plurality of local minimum values are generated within the search range as shown in FIG. . The minimum value of SAD may select the wrong place and cause image quality degradation.

図3は、動き探索部107の内部構成の一例を示すブロック図である。
図3に示すように、本実施形態の動き探索部107は、パン・チルト重視決定部301、SAD算出部302、評価値算出部303、ベクトル決定部304により構成されている。パン・チルト重視決定部301は、1ピクチャもしくは、複数のマクロブロック(第1のブロック)で構成されるエリアブロック(第2のブロック)に1回処理を行う。すなわち、第2のブロック毎にグローバルベクトル取得処理を行い、それ以外は第1のブロック毎に処理を行う。
FIG. 3 is a block diagram illustrating an example of an internal configuration of the motion search unit 107.
As shown in FIG. 3, the motion search unit 107 of this embodiment includes a pan / tilt emphasis determination unit 301, an SAD calculation unit 302, an evaluation value calculation unit 303, and a vector determination unit 304. The pan / tilt emphasis determining unit 301 performs a process once on an area block (second block) composed of one picture or a plurality of macroblocks (first block). That is, global vector acquisition processing is performed for each second block, and processing is performed for each first block otherwise.

以下に、パン・チルト重視決定部301の動作について説明する。
図3(b)は、画像情報または図示しないパン・チルト検出部の出力情報によってピクチャ内の処理を変更する手順を説明するフローチャートである。
図3(b)において、S3011でパン・チルト情報を取得する。この情報は、例えばビデオカメラにおけるジャイロセンサーからの情報である。次に、S3012に進み、パン・チルトが有効であるか否かを判定する。これは例えば、参照画像と符号化対象画像の縮小画同士でパン・チルト情報より得られた位置で、予め設定されている閾値以下の差分値となるか否かで判定を行う。
The operation of the pan / tilt emphasis determination unit 301 will be described below.
FIG. 3B is a flowchart for explaining a procedure for changing processing in a picture according to image information or output information from a pan / tilt detector (not shown).
In FIG. 3B, pan / tilt information is acquired in step S3011. This information is, for example, information from a gyro sensor in a video camera. In step S3012, it is determined whether pan / tilt is valid. For example, the determination is made based on whether or not the difference value is equal to or less than a preset threshold at the position obtained from the pan / tilt information between the reduced images of the reference image and the encoding target image.

S3012の判定の結果、パン・チルトが有効でない場合、S3013に進み、通常の処理を行うために、パン・チルト優先OFFの設定とする。また、S3012の判定の結果、パン・チルトが有効である場合、S3014に進み、パン・チルト位置を重視する処理を行うために、パン・チルト優先をONとし、優先ベクトル位置を検出する。   If the result of determination in S3012 is that pan / tilt is not valid, the process proceeds to S3013, where pan / tilt priority OFF is set to perform normal processing. If the result of determination in S3012 is that pan / tilt is valid, the process proceeds to S3014, and pan / tilt priority is set to ON and priority vector positions are detected in order to perform processing that places importance on the pan / tilt position.

このとき、通常処理では、重み係数α=1として出力し、パン・チルト位置周辺重視では、α>1の整数を重み係数として出力する。パン・チルト重視決定部301は、ピクチャ単位もしくはエリアブロック単位にパン・チルト設定を行う。   At this time, the normal processing outputs the weighting factor α = 1, and the pan / tilt position peripheral emphasis outputs an integer of α> 1 as the weighting factor. The pan / tilt emphasis determination unit 301 performs pan / tilt setting in units of pictures or area blocks.

次に、SAD算出部302、評価値算出部303、ベクトル決定部304の3つのブロックの動作について説明する。
図4は、前述した3つのブロックの処理を表すフローチャートである。
先ず、S401でアドレスの初期化(i=0)を行い、初期アドレスにおける量子化係数Q及びパン・チルト決定部より出力されたパン・チルト設定(パン・チルト優先の有無)を取得する。
Next, operations of the three blocks of the SAD calculation unit 302, the evaluation value calculation unit 303, and the vector determination unit 304 will be described.
FIG. 4 is a flowchart showing the processing of the three blocks described above.
First, in step S401, the address is initialized (i = 0), and the quantization coefficient Q at the initial address and the pan / tilt setting (presence / absence of pan / tilt priority) output from the pan / tilt determination unit are acquired.

次に、S402に進み、重みβを決定する。この重みβは、パン・チルト重視決定部301より出力された情報を用いて決定される。パン・チルト優先であった場合は、パン・チルト位置情報を用いて重みβが決定される。   Next, in S402, the weight β is determined. The weight β is determined using information output from the pan / tilt emphasis determining unit 301. When the pan / tilt priority is given, the weight β is determined using the pan / tilt position information.

図5は、重みβの値を示す図である。パン・チルト位置がグレー部分である場合、その位置からの距離で重みが変化することを示している。ただし、ここでは重みβの上限値を10とする。また、パン・チルト優先がOFFの場合は、重みβは一定の値を出力する。ここでは、重みβ=10を出力する。   FIG. 5 is a diagram illustrating the value of the weight β. When the pan / tilt position is a gray portion, the weight changes depending on the distance from the position. However, the upper limit value of the weight β is 10 here. When the pan / tilt priority is OFF, the weight β is a constant value. Here, the weight β = 10 is output.

以上のように、重みβを決定したら、その後、S403に進む。S403では、SAD算出部302により、アドレスiでのブロックSADを算出(予測誤差値算出)する。
図6は、SAD算出時の画素ブロックを表した図である。図6(a)は選択状態にあるブロック(カレントブロック)を示す図であり、図6(b)は探索範囲を示す図である。B[0]〜B[24]で示す四角ひとつが1画素である。アドレスは、図6(a)の左上の画素と差分をとる位置である。このとき、画素毎に差分絶対値を求め、その総和を差分絶対値和SADとする。
As described above, after the weight β is determined, the process proceeds to S403. In S403, the SAD calculation unit 302 calculates the block SAD at the address i (prediction error value calculation).
FIG. 6 is a diagram illustrating a pixel block at the time of SAD calculation. FIG. 6A shows a block (current block) in a selected state, and FIG. 6B shows a search range. One square indicated by B [0] to B [24] is one pixel. The address is a position that takes a difference from the upper left pixel in FIG. At this time, a difference absolute value is obtained for each pixel, and the sum is used as a difference absolute value sum SAD.

次に、S404では、アドレスiにおけるベクトル符号量MVを算出するベクトル符号量算出処理を行う。その後、S405に進む。S405では、S404において算出されたグローバルベクトル符号量に重み付けを行う。これは、第1のブロックごとにグローバルベクトル位置からの距離に応じた重みを付ける処理である。グローバルベクトル重み付け処理された後、ベクトル評価値算出処理を行う。具体的には、評価値算出部303により、評価値BV[i]を算出する。評価値BV[i]は、
BV[i] = α*f(Q, SAD) + β*MV・・・(1式)
である。
Next, in S404, a vector code amount calculation process for calculating the vector code amount MV at the address i is performed. Then, it progresses to S405. In S405, the global vector code amount calculated in S404 is weighted. This is a process of assigning a weight according to the distance from the global vector position for each first block. After the global vector weighting process, a vector evaluation value calculation process is performed. Specifically, the evaluation value calculation unit 303 calculates the evaluation value BV [i]. Evaluation value BV [i] is
BV [i] = α * f (Q, SAD) + β * MV (1 set)
It is.

ここで、f(Q,SAD)は、量子化係数QとSAD値より量子化符号量評価値を求めることを示している。これは、量子化マトリクスによって変化する。ただし、重み係数α=10である。これは、パン・チルト優先がない場合は、同じ比率で評価を行い、パン・チルト優先がある場合は、パン・チルト位置を優先することとなる。   Here, f (Q, SAD) indicates that a quantization code amount evaluation value is obtained from the quantization coefficient Q and the SAD value. This varies with the quantization matrix. However, the weighting factor α = 10. When there is no pan / tilt priority, evaluation is performed at the same ratio, and when there is pan / tilt priority, the pan / tilt position is prioritized.

S406では、S405で算出した評価値BV[i]が、これまで算出した評価値の中で最小か否かを判定する。この判定の結果、最小であれば、S407で評価値の最小値MinBVを更新し、その後、S408へ進む。また、最小でなければ、そのままS408へ進む。   In S406, it is determined whether or not the evaluation value BV [i] calculated in S405 is the smallest among the evaluation values calculated so far. As a result of this determination, if it is the minimum, the minimum value MinBV of the evaluation value is updated in S407, and then the process proceeds to S408. If not the minimum, the process proceeds to S408.

S408では、探索範囲を全て処理したか否かを判定する。この判定の結果、処理していない場合は、S409でアドレスをひとつ進め、その後、S402に戻って前述した処理を行う。また、処理が終了していれば、そのときに最小値MinBVとなったアドレスをベクトル位置とするベクトル位置決定処理を、ベクトル決定部304が行う。   In S408, it is determined whether or not the entire search range has been processed. If the result of this determination is that processing has not been performed, the address is advanced by one in step S409, and then control returns to step S402 to perform the processing described above. If the processing has been completed, the vector determination unit 304 performs a vector position determination process using the address having the minimum value MinBV at that time as the vector position.

(第2の実施形態)
次に、図7及び図8を参照しながら本発明の第2の実施形態を説明する。
本実施形態は、ベクトル探索範囲(第3のブロック)内に複数の極小点を持つ場合についてのベクトル探索を行うものであり、符号化装置の全体構成は、第1の実施形態と同様の構成である。
図8(a)は、本実施形態における動き探索部107の内部構成例を示すブロック図である。図8(a)において、SAD算出部302、評価値算出部303、ベクトル決定部304の構成は図3と同様である。805はパン・チルト情報取得部であり、806は極小点検出部である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS.
In the present embodiment, a vector search is performed for a case where there are a plurality of minimum points in the vector search range (third block), and the overall configuration of the encoding apparatus is the same as that of the first embodiment. It is.
FIG. 8A is a block diagram illustrating an internal configuration example of the motion search unit 107 in the present embodiment. In FIG. 8A, the configurations of the SAD calculation unit 302, the evaluation value calculation unit 303, and the vector determination unit 304 are the same as those in FIG. Reference numeral 805 denotes a pan / tilt information acquisition unit, and reference numeral 806 denotes a local minimum point detection unit.

以下に、本実施形態における動き探索部107の動作について説明する。
図7は、図8(a)で説明した5つのブロックにより行われる処理を説明するフローチャートである
処理が開始されると、先ず、S701でアドレスの初期化(i=0)を行い、量子化係数Qを取得する。
次に、S702に進み、アドレスiでのブロックSADを算出する処理を行う。この処理は、第1の実施形態において、図4のフローチャートのS403と同様の処理である。
The operation of the motion search unit 107 in the present embodiment will be described below.
FIG. 7 is a flowchart for explaining the process performed by the five blocks described in FIG. 8A. When the process is started, first, in step S701, the address is initialized (i = 0) and quantized. The coefficient Q is acquired.
Next, proceeding to S702, a process of calculating a block SAD at address i is performed. This process is the same as S403 in the flowchart of FIG. 4 in the first embodiment.

次に、S703では、極小点検出部806により極小点検出を行う。極小点は、探索範囲でひとつであれば、そこがベクトル位置としてふさわしい。ただし、繰り返しパターンのような画像では、複数の極小点(極小値)が存在する。このため、S703において極小点検出を行う。本実施形態において行う極小点検出(極小値検出)は、所定の探索範囲内でSADの最小値位置からの距離とSADの値から検出する。   In step S <b> 703, the minimum point detection unit 806 performs minimum point detection. If there is only one minimum point in the search range, it is appropriate as a vector position. However, in an image such as a repeated pattern, there are a plurality of minimum points (minimum values). For this reason, the minimum point detection is performed in S703. The minimum point detection (minimum value detection) performed in the present embodiment is detected from the distance from the SAD minimum value position and the SAD value within a predetermined search range.

図8(b)は、SADの最小値位置からの距離を示した図である。通常の画像であれば、SADの最小値位置から離れるに従ってSADが徐々に大きくなっていく。このため、距離が1の場所の何れかに2番目に小さいSADがあり、距離が離れればそれだけSADは大きくなる。繰り返しパターンの場合、距離が離れた場所に最小値に近いSADが発生するため、距離とSADの大きさによって検出することができる。距離が離れた場所に最小値に近いSADがある場合、極小点は2つ以上となる。   FIG. 8B is a diagram illustrating the distance from the minimum value position of the SAD. In the case of a normal image, the SAD gradually increases as the distance from the minimum value position of the SAD increases. For this reason, there is the second smallest SAD in any place where the distance is 1, and the larger the distance, the larger the SAD. In the case of a repetitive pattern, SAD close to the minimum value is generated at a location where the distance is long, and therefore, it can be detected by the distance and the size of SAD. When there is an SAD that is close to the minimum value at a distance, the minimum point is two or more.

S704では、S703の検出結果から極小点が1つか否かを判定する。この判定の結果、極小点が2つ以上の場合はS705に進み、パン・チルト情報取得部805によりパン・チルト位置を取得する。その後、S706において、S705で取得したパン・チルト位置に応じた重み値を決定する重み値決定処理を行い、重みβを決定する。その後、S707に進む。S705において行われるパン・チルト位置取得処理、及びS706において行われる重みβ値の決定処理は第1の実施形態と同様である。
一方、S704の判定の結果、極小点が1つの場合は、そのままS707に進む。S707以降の処理は、第1の実施形態のS404以降と同様の処理のため、説明は省略する。
In S704, it is determined from the detection result in S703 whether or not there is one minimum point. If the result of this determination is that there are two or more local minimum points, the process proceeds to S705, where the pan / tilt information acquisition unit 805 acquires the pan / tilt position. Thereafter, in S706, a weight value determination process for determining a weight value corresponding to the pan / tilt position acquired in S705 is performed to determine the weight β. Thereafter, the process proceeds to S707. The pan / tilt position acquisition processing performed in S705 and the weight β value determination processing performed in S706 are the same as those in the first embodiment.
On the other hand, if the result of determination in S704 is one minimum point, the process proceeds directly to S707. Since the processing after S707 is the same as the processing after S404 of the first embodiment, a description thereof will be omitted.

前述のように、本実施形態においては、アドレスiでのブロックSADを算出した後に極小点検出を行い、極小点が2つ以上存在するマクロブロックでは、パン・チルト情報から得た動きを重視して重みβを決定するようにした。これにより、繰り返しパターンによるベクトルの誤検出が発生することを防止することが可能となり、ベクトル誤検出をなくし、画質劣化を抑えることができる。   As described above, in this embodiment, the minimum point is detected after the block SAD at the address i is calculated, and in the macro block having two or more minimum points, the movement obtained from the pan / tilt information is emphasized. Thus, the weight β is determined. As a result, it is possible to prevent the erroneous detection of the vector due to the repetitive pattern, thereby eliminating the erroneous detection of the vector and suppressing the image quality deterioration.

前述したように、探索範囲に複数の極小点がある場合において、通常のベクトル探索処理では評価値が最小値の位置を動きベクトル位置としていたので、動きと異なる位置を選択してしまうことがある。本実施形態においては、前述のように、広域動きベクトルであるグローバルベクトル(GV)を検出する。そして、エリア毎のグローバルベクトルGVの方向・大きさ・信頼度から一致度をみて、所定の割合(例えば、7割以上)で一致している場合、画面一つのGVとする。そして、このグローバルベクトルGVの位置周辺の画素差分値に傾斜(重み)を付けてベクトル探索を行い、予測誤差値の最小値となる位置周辺以外に、画素差分値の最小となる動きベクトルを選択するようにした。これにより、窓枠等の繰り返しパターンであっても、実際の動きと異なるベクトルを選択する不都合をなくすことが可能となり、画質劣化を抑えることができる。   As described above, when there are a plurality of local minimum points in the search range, the position where the evaluation value is the minimum value is used as the motion vector position in the normal vector search process, so a position different from the motion may be selected. . In the present embodiment, as described above, a global vector (GV) that is a global motion vector is detected. Then, the degree of coincidence is determined from the direction, size, and reliability of the global vector GV for each area. A vector search is performed by adding a gradient (weight) to the pixel difference value around the position of the global vector GV, and a motion vector that minimizes the pixel difference value is selected in addition to the position around the position where the prediction error value becomes the minimum value. I tried to do it. Thereby, even if it is a repetitive pattern such as a window frame, it is possible to eliminate the inconvenience of selecting a vector different from the actual motion, and it is possible to suppress deterioration in image quality.

なお、前述した実施形態では、予測誤差値として差分絶対値和SADを用いた。しかし、差分値を直交変換して得られる絶対値和SATD(Sum of Absolute Transform Difference)など、予測誤差値を用いてもよい。   In the above-described embodiment, the difference absolute value sum SAD is used as the prediction error value. However, a prediction error value such as an absolute value sum SATD (Sum of Absolute Transform Difference) obtained by orthogonal transform of the difference value may be used.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して各部の制御を実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to the system or apparatus via a network or various computer-readable storage media. This is a process in which the computer (or CPU, MPU, etc.) of the system or apparatus reads out the program and executes control of each part.

101 ライン入力端子、102 符号化部、103 復号化部、104 バス、105 情報入力端子、106 画像メモリ、107 動き探索部、108 出力端子 101 line input terminal, 102 encoding unit, 103 decoding unit, 104 bus, 105 information input terminal, 106 image memory, 107 motion search unit, 108 output terminal

Claims (13)

入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置であって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得手段と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出手段と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出手段と、
前記ベクトル符号量算出手段により算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出手段と、
前記ベクトル評価値算出手段により算出したベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定手段とを備えることを特徴とする符号化装置。
An encoding device that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
Global vector acquisition means for acquiring a motion vector for each second block comprising a plurality of the first blocks;
Prediction error value calculating means for calculating a prediction error value at an address to be encoded;
Vector code amount calculation means for calculating a vector code amount at an address to be encoded;
A vector evaluation value calculating means for calculating a vector evaluation value by weighting the global vector code amount calculated by the vector code amount calculating means;
An encoding apparatus comprising: vector position determining means for determining a vector position based on the vector evaluation value calculated by the vector evaluation value calculating means.
入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置であって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得手段と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出手段と、
ベクトル探索を行う探索範囲である第3のブロックで予測誤差値の最小値位置からの距離と、予測誤差値から極小値を検出する極小値検出手段と、
前記極小値検出手段により検出される極小値が1つか否かを判定する判定手段と、
前記極小値検出手段により検出された極小値におけるパン・チルト位置を取得するパン・チルト位置取得手段と、
前記パン・チルト位置取得手段により取得されたパン・チルト位置に応じた重み値を決定する重み値決定手段と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出手段と、
前記ベクトル符号量算出手段により算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出手段と、
前記ベクトル評価値算出手段により算出したベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定手段とを備え、
前記ベクトル評価値算出手段は、前記判定手段の判定の結果、極小値が1つの場合には予め設定された一定の重み値を用い、前記判定手段の判定の結果、極小値が複数の場合には、前記重み値決定手段により決定された重み値を用いて重み付けを行ってベクトル評価値を算出することを特徴とする符号化装置。
An encoding device that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
Global vector acquisition means for acquiring a motion vector for each second block comprising a plurality of the first blocks;
Prediction error value calculating means for calculating a prediction error value at an address to be encoded;
A distance from the minimum position of the prediction error value in the third block, which is a search range for performing vector search, and a minimum value detecting means for detecting a minimum value from the prediction error value;
Determination means for determining whether or not the minimum value detected by the minimum value detection means is one;
Pan / tilt position acquisition means for acquiring a pan / tilt position at the minimum value detected by the minimum value detection means;
A weight value determining means for determining a weight value according to the pan / tilt position acquired by the pan / tilt position acquiring means;
Vector code amount calculation means for calculating a vector code amount at an address to be encoded;
A vector evaluation value calculating means for calculating a vector evaluation value by weighting the global vector code amount calculated by the vector code amount calculating means;
Vector position determining means for determining a vector position based on the vector evaluation value calculated by the vector evaluation value calculating means,
The vector evaluation value calculation means uses a predetermined constant weight value when there is one minimum value as a result of determination by the determination means, and when the determination means determines that there are a plurality of minimum values. The coding apparatus characterized in that a vector evaluation value is calculated by performing weighting using the weight value determined by the weight value determining means.
前記ベクトル評価値は、前記予測誤差値とベクトル符号量とに基づいて算出され、
前記ベクトル位置決定手段は、前記ベクトル評価値が最小値となった位置をベクトル位置と決定することを特徴とする請求項1または2に記載の符号化装置。
The vector evaluation value is calculated based on the prediction error value and a vector code amount,
The encoding apparatus according to claim 1, wherein the vector position determination unit determines a position where the vector evaluation value is a minimum value as a vector position.
前記予測誤差値は、差分絶対値和(SAD)であることを特徴とする請求項1または2に記載の符号化装置。   The encoding apparatus according to claim 1, wherein the prediction error value is a sum of absolute differences (SAD). 前記予測誤差値は、差分値を直交変換して得られる絶対値和(SATD)であることを特徴とする請求項1または2に記載の符号化装置。   The encoding apparatus according to claim 1, wherein the prediction error value is an absolute value sum (SATD) obtained by orthogonally transforming a difference value. 前記ベクトル評価値算出手段は、前記第1のブロックごとにグローバルベクトル位置からの距離に応じた重みを付けることを特徴とする請求項1または2に記載の符号化装置。   The encoding apparatus according to claim 1, wherein the vector evaluation value calculation unit assigns a weight according to a distance from a global vector position for each of the first blocks. 前記ベクトル評価値算出手段は、グローバルベクトルが0の場合、前記第1のブロックのそれぞれに付ける重みを全て等しくすることを特徴とする請求項1または2に記載の符号化装置。   3. The encoding apparatus according to claim 1, wherein when the global vector is 0, the vector evaluation value calculation unit equalizes all of the weights assigned to the first blocks. 4. 前記極小値検出手段は、前記第3のブロックにおいて、前記予測誤差値の最小値となる位置周辺以外に小さい予測誤差値があることを検出することを特徴とした請求項2に記載の符号化装置。   3. The encoding according to claim 2, wherein the minimum value detecting unit detects that there is a small prediction error value other than a position around the position where the prediction error value is minimum in the third block. apparatus. 入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置の制御方法であって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得工程と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出工程と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出工程と、
前記ベクトル符号量算出工程において算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出工程と、
前記ベクトル評価値算出工程において算出されたベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定工程とを備えることを特徴とする符号化装置の制御方法。
A method for controlling an encoding apparatus that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
A global vector acquisition step of acquiring a motion vector for each second block comprising a plurality of the first blocks;
A prediction error value calculating step of calculating a prediction error value at an address to be encoded;
A vector code amount calculating step of calculating a vector code amount at an address to be encoded;
A vector evaluation value calculation step of calculating a vector evaluation value by weighting the global vector code amount calculated in the vector code amount calculation step;
And a vector position determining step of determining a vector position based on the vector evaluation value calculated in the vector evaluation value calculating step.
入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置の制御方法であって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得工程と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出工程と、
ベクトル探索を行う探索範囲である第3のブロックで予測誤差値の最小値位置からの距離と、予測誤差値から極小値を検出する極小値検出工程と、
前記極小値検出工程において検出される極小値が1つか否かを判定する判定工程と、
前記極小値検出工程において検出された極小値におけるパン・チルト位置を取得するパン・チルト位置取得工程と、
前記パン・チルト位置取得工程において取得されたパン・チルト位置に応じた重み値を決定する重み値決定工程と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出工程と、
前記ベクトル符号量算出工程において算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出工程と、
前記ベクトル評価値算出工程において算出されたベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定工程とを備え、
前記ベクトル評価値算出工程は、前記判定工程の判定の結果、極小値が1つの場合には予め設定された一定の重み値を用い、前記判定工程の判定の結果、極小値が複数の場合には、前記重み値決定工程において決定された重み値を用いて重み付けを行ってベクトル評価値を算出することを特徴とする符号化装置の制御方法。
A method for controlling an encoding apparatus that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
A global vector acquisition step of acquiring a motion vector for each second block comprising a plurality of the first blocks;
A prediction error value calculating step of calculating a prediction error value at an address to be encoded;
A distance from the minimum position of the prediction error value in the third block, which is a search range for performing vector search, and a minimum value detection step of detecting a minimum value from the prediction error value;
A determination step of determining whether or not there is one minimum value detected in the minimum value detection step;
A pan / tilt position acquisition step of acquiring a pan / tilt position at the minimum value detected in the minimum value detection step;
A weight value determining step for determining a weight value according to the pan / tilt position acquired in the pan / tilt position acquiring step;
A vector code amount calculating step of calculating a vector code amount at an address to be encoded;
A vector evaluation value calculation step of calculating a vector evaluation value by weighting the global vector code amount calculated in the vector code amount calculation step;
A vector position determining step for determining a vector position based on the vector evaluation value calculated in the vector evaluation value calculating step,
The vector evaluation value calculation step uses a predetermined constant weight value when there is one minimum value as a result of the determination in the determination step, and when the determination step determines that there are a plurality of minimum values. Is a method for controlling a coding apparatus, wherein a vector evaluation value is calculated by performing weighting using the weight value determined in the weight value determination step.
入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置の制御する工程をコンピュータに実行させるプログラムであって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得工程と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出工程と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出工程と、
前記ベクトル符号量算出工程において算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出工程と、
前記ベクトル評価値算出工程において算出されたベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定工程とをコンピュータに実行させることを特徴とするプログラム。
A program for causing a computer to execute a process of controlling an encoding apparatus that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
A global vector acquisition step of acquiring a motion vector for each second block comprising a plurality of the first blocks;
A prediction error value calculating step of calculating a prediction error value at an address to be encoded;
A vector code amount calculating step of calculating a vector code amount at an address to be encoded;
A vector evaluation value calculation step of calculating a vector evaluation value by weighting the global vector code amount calculated in the vector code amount calculation step;
A program causing a computer to execute a vector position determination step of determining a vector position based on the vector evaluation value calculated in the vector evaluation value calculation step.
入力画像信号を所定サイズの第1のブロックに分割し、前記第1のブロック単位に符号化を行う符号化装置の制御する工程をコンピュータに実行させるプログラムであって、
前記第1のブロックを複数で構成する第2のブロック毎に動きベクトルを取得するグローバルベクトル取得工程と、
前記符号化を行うアドレスにおける予測誤差値を算出する予測誤差値算出工程と、
ベクトル探索を行う探索範囲である第3のブロックで予測誤差値の最小値位置からの距離と、予測誤差値から極小値を検出する極小値検出工程と、
前記極小値検出工程において検出される極小値が1つか否かを判定する判定工程と、
前記極小値検出工程において検出された極小値におけるパン・チルト位置を取得するパン・チルト位置取得工程と、
前記パン・チルト位置取得工程において取得されたパン・チルト位置に応じた重み値を決定する重み値決定工程と、
前記符号化を行うアドレスにおけるベクトル符号量を算出するベクトル符号量算出工程と、
前記ベクトル符号量算出工程において算出されたグローバルベクトル符号量に重み付けを行ってベクトル評価値を算出するベクトル評価値算出工程と、
前記ベクトル評価値算出工程において算出されたベクトル評価値に基づいてベクトル位置を決定するベクトル位置決定工程とをコンピュータに実行させ、
前記ベクトル評価値算出工程においては、前記判定工程の判定の結果、極小値が1つの場合には予め設定された一定の重み値を用い、前記判定工程の判定の結果、極小値が複数の場合には、前記重み値決定工程において決定された重み値を用いて重み付けを行ってベクトル評価値を算出するようコンピュータに実行させることを特徴とするプログラム。
A program for causing a computer to execute a process of controlling an encoding apparatus that divides an input image signal into first blocks of a predetermined size and performs encoding in units of the first blocks,
A global vector acquisition step of acquiring a motion vector for each second block comprising a plurality of the first blocks;
A prediction error value calculating step of calculating a prediction error value at an address to be encoded;
A distance from the minimum position of the prediction error value in the third block, which is a search range for performing vector search, and a minimum value detection step of detecting a minimum value from the prediction error value;
A determination step of determining whether or not there is one minimum value detected in the minimum value detection step;
A pan / tilt position acquisition step of acquiring a pan / tilt position at the minimum value detected in the minimum value detection step;
A weight value determining step for determining a weight value according to the pan / tilt position acquired in the pan / tilt position acquiring step;
A vector code amount calculating step of calculating a vector code amount at an address to be encoded;
A vector evaluation value calculation step of calculating a vector evaluation value by weighting the global vector code amount calculated in the vector code amount calculation step;
Causing the computer to execute a vector position determination step for determining a vector position based on the vector evaluation value calculated in the vector evaluation value calculation step;
In the vector evaluation value calculation step, when the result of determination in the determination step is one minimum value, a predetermined weight value is used in advance. When the determination step determines that there are a plurality of minimum values Includes a program for causing a computer to calculate a vector evaluation value by performing weighting using the weight value determined in the weight value determination step.
請求項11または12に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 11 or 12.
JP2010091505A 2010-04-12 2010-04-12 Encoding device and method of controlling encoding device Pending JP2011223393A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010091505A JP2011223393A (en) 2010-04-12 2010-04-12 Encoding device and method of controlling encoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010091505A JP2011223393A (en) 2010-04-12 2010-04-12 Encoding device and method of controlling encoding device

Publications (2)

Publication Number Publication Date
JP2011223393A true JP2011223393A (en) 2011-11-04
JP2011223393A5 JP2011223393A5 (en) 2013-05-23

Family

ID=45039750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010091505A Pending JP2011223393A (en) 2010-04-12 2010-04-12 Encoding device and method of controlling encoding device

Country Status (1)

Country Link
JP (1) JP2011223393A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1075453A (en) * 1996-08-30 1998-03-17 Sony Corp Device and method for detecting motion vector
JP2003111080A (en) * 2001-09-26 2003-04-11 Hitachi Ltd Motion vector detector
WO2007010901A1 (en) * 2005-07-18 2007-01-25 Matsushita Electric Industrial Co., Ltd. Dynamic image encoding device, dynamic image decoding device, and code string format
JP2008035404A (en) * 2006-07-31 2008-02-14 Toshiba Corp Method and device for generating interpolation frame
JP2008147951A (en) * 2006-12-08 2008-06-26 Toshiba Corp Interpolation frame generating method and interpolation frame generating device
JP2008301101A (en) * 2007-05-30 2008-12-11 Toshiba Corp Device and method for detecting motion vector, and interpolation frame generation device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1075453A (en) * 1996-08-30 1998-03-17 Sony Corp Device and method for detecting motion vector
JP2003111080A (en) * 2001-09-26 2003-04-11 Hitachi Ltd Motion vector detector
WO2007010901A1 (en) * 2005-07-18 2007-01-25 Matsushita Electric Industrial Co., Ltd. Dynamic image encoding device, dynamic image decoding device, and code string format
JP2008035404A (en) * 2006-07-31 2008-02-14 Toshiba Corp Method and device for generating interpolation frame
JP2008147951A (en) * 2006-12-08 2008-06-26 Toshiba Corp Interpolation frame generating method and interpolation frame generating device
JP2008301101A (en) * 2007-05-30 2008-12-11 Toshiba Corp Device and method for detecting motion vector, and interpolation frame generation device

Similar Documents

Publication Publication Date Title
JP5651560B2 (en) Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof
JP5277257B2 (en) Video decoding method and video encoding method
BR122020015445B1 (en) METHOD CARRIED OUT BY A VIDEO DECODING DEVICE
EP2536149A1 (en) Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP2006254349A (en) Motion vector detecting method and apparatus, and computer program for executing motion vector detection processing on computer
JP4523886B2 (en) Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
JP2007124408A (en) Motion vector detector and motion vector detecting method
KR20070033345A (en) How to retrieve global motion vector
JP2008219141A (en) Motion vector detector, image encoder and imaging apparatus employing the same
JP2006246396A (en) Moving picture processing apparatus, method, and program
JP2009152895A (en) Code amount control method, device, code amount control program, and camera system
US20080063065A1 (en) Fast Motion Estimation for Multiple Reference Pictures
JP5839848B2 (en) Image processing apparatus and image processing method
JP2007067694A (en) Apparatus and method for encoding image, camera, and portable terminal equipment
JP2011223393A (en) Encoding device and method of controlling encoding device
JP2007110409A (en) Image processing device and program for making computer perform image processing method
JP5407974B2 (en) Video encoding apparatus and motion vector detection method
JP2006254347A (en) Image encoding device
JP2009194474A (en) Moving image encoder
JPH0262178A (en) Motion detection system for picture processor
JP2011199868A (en) Adaptive search area in motion estimation process
JP2017050744A (en) Image encoding apparatus, image encoding method and program
JP2008182408A (en) Dynamic image encoder and dynamic image encoding method
JP2009296443A (en) Vector search range limiting apparatus, and moving image encoding device
US9438929B2 (en) Method and apparatus for encoding and decoding an image by using an adaptive search range decision for motion estimation

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140311