JP2009153102A - Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program - Google Patents

Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program Download PDF

Info

Publication number
JP2009153102A
JP2009153102A JP2008244583A JP2008244583A JP2009153102A JP 2009153102 A JP2009153102 A JP 2009153102A JP 2008244583 A JP2008244583 A JP 2008244583A JP 2008244583 A JP2008244583 A JP 2008244583A JP 2009153102 A JP2009153102 A JP 2009153102A
Authority
JP
Japan
Prior art keywords
frame
search range
motion vector
encoding
search
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
JP2008244583A
Other languages
Japanese (ja)
Inventor
Tetsuhiro Nin
哲弘 任
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008244583A priority Critical patent/JP2009153102A/en
Publication of JP2009153102A publication Critical patent/JP2009153102A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To perform real-time processing without reducing detection accuracy of a motion vector even when the motion is large, and to perform real-time processing even when there is a frame that requires a long time for encoding processing. <P>SOLUTION: The present invention relates to a motion vector detecting device for obtaining a motion vector by determining positions of similar blocks on a reference frame for the unit of a block obtained by longitudinally and laterally dividing an input frame. The motion vector detecting device includes: a motion search means for detecting the motion vector within a search range specified on the reference frame; and a search range control means for determining a search range of each block and indicating the search range to the motion search means so that a total search ranges of all blocks within the frame does not exceed an allowable search range amount determined for the frame. Furthermore, it may also be preferable to include a computational complexity control means for determining computational complexity for each of frames so as not to exceed computational complexity determined for a plurality of frames and indicating the determined computational complexity to an encoding means. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、動きベクトル検出装置、フレーム間符号化装置、動画像符号化装置、動きベクトル検出プログラム、フレーム間符号化プログラム及び動画像符号化プログラムに関し、例えば、動画像の実時間符号化装置に適用し得るものである。   The present invention relates to a motion vector detection device, an inter-frame encoding device, a moving image encoding device, a motion vector detection program, an inter-frame encoding program, and a moving image encoding program. It can be applied.

ビデオオンデマンド、テレビ会議、デジタルTV放送等でデジタルフォーマットの動画像を様々な通信経路を通して送信する際、ビデオキャプチャ装置を使いキャプチャした未圧縮のデータのままではその量が膨大であるため、そのまま送信するのは困難である。ある程度冗長な部分を削除することでデータ量を減らして送信する必要がある。また、テレビ会議、デジタルTV放送等では、キャプチャした画像を実時間で圧縮(符号化)して送信する必要がある。   When transmitting moving images in digital format through various communication paths for video on demand, video conferencing, digital TV broadcasting, etc., the amount of uncompressed data captured using a video capture device is enormous. It is difficult to send. It is necessary to reduce the amount of data by deleting a part that is redundant to some extent. In video conferences, digital TV broadcasts, and the like, captured images need to be compressed (encoded) in real time and transmitted.

従来、この種の動画像の実時間符号化装置は、フレーム内符号化(フレーム内の画素の局所的類似性を使いブロック単位で圧縮)と、フレーム間符号化(フレームをブロック単位に分け、各ブロックがフレーム間でどれだけ動いたかを示す動きベクトルを求め、この動きベクトルを利用した符号化)とを併用し、画像内容に応じて、いずれかの符号化出力を選択する。   Conventionally, this type of moving image real-time encoding apparatus includes intra-frame encoding (compressed in blocks using local similarity of pixels in a frame) and inter-frame encoding (divides a frame into blocks, A motion vector indicating how much each block has moved between frames is obtained, and an encoding output using this motion vector is used together, and one of the encoded outputs is selected according to the image content.

動きベクトルを求める際の各ブロックの探索範囲が一定の場合もあるが、ブロックの動き探索に要する時間を短縮するため、既に符号化された周辺ブロックの動きベクトルの大きさから探索範囲を調整する場合もある。   In some cases, the search range of each block when obtaining a motion vector is constant, but in order to reduce the time required for the motion search of the block, the search range is adjusted from the size of the motion vector of the already encoded peripheral block. In some cases.

なお、実時間での符号化を考慮し、動きベクトルの探索機能以外で処理の高速化を図った技術は、特許文献1や特許文献2に記載されている。
特開平10−210475号公報 特開2000−232644号公報
Note that techniques that speed up processing other than the motion vector search function in consideration of real-time encoding are described in Patent Document 1 and Patent Document 2.
Japanese Patent Laid-Open No. 10-210475 JP 2000-232644 A

ハードウェアの性能によっては、予め動きベクトルの探索範囲を狭める必要がある。既に符号化された周辺ブロックの動きベクトルの大きさから探索範囲を調整する場合であっても、ハードウェアの性能によっては、探索範囲の最大範囲を狭める必要がある。   Depending on the performance of the hardware, it is necessary to narrow the motion vector search range in advance. Even when the search range is adjusted based on the motion vector size of the peripheral blocks that have already been encoded, the maximum range of the search range needs to be narrowed depending on the performance of the hardware.

しかし、探索範囲を狭めると動きが大きい動画ではマッチするブロックをうまく探し出すことができず、画質が悪くなってしまうという問題点があった。探索範囲を狭めた場合において、動きが大きい場面が長く続くと、画質が悪い画像が連続し、動きがある期間と動きがない期間とが連続すると、画質が安定しない。   However, if the search range is narrowed, there is a problem in that a moving image with a large amount of motion cannot find a matching block well, resulting in poor image quality. In the case where the search range is narrowed, if a scene with large motion continues for a long time, images with poor image quality continue, and if a period with motion and a period without motion continue, the image quality becomes unstable.

勿論、探索範囲を狭めずに処理するようにした場合には、処理遅延が積み重なり、実時間処理が困難となることもある。   Of course, if processing is performed without narrowing the search range, processing delays may accumulate and real-time processing may become difficult.

そのため、動きが大きくても検出精度や画質を低下させずに実時間処理を可能とする動きベクトル検出装置、フレーム間符号化装置、動きベクトル検出プログラム及びフレーム間符号化プログラムが望まれている。また、複数フレームに対しても、安定した画質の符号化画像を実時間処理で得られる動画像符号化装置及び動画像符号化プログラムが望まれている。   Therefore, a motion vector detection device, an inter-frame encoding device, a motion vector detection program, and an inter-frame encoding program that enable real-time processing without reducing detection accuracy and image quality even when the motion is large is desired. In addition, a moving picture coding apparatus and a moving picture coding program that can obtain a coded image with stable image quality by real-time processing are desired for a plurality of frames.

第1の本発明は、入力フレームを縦横に分割したブロック単位に、参照フレーム上の相似したブロックの位置を求めて動きベクトルを得る動きベクトル検出装置において、(1)参照フレーム上の指示された探索範囲で動きベクトルを検出する動き探索手段と、(2)フレーム内全ブロックの探索範囲の総和が、フレームについて定められた探索範囲許容量を超えないように、各ブロックの探索範囲を決定して、上記動き探索手段に指示する探索範囲制御手段とを有することを特徴とする。   The first aspect of the present invention is a motion vector detection device that obtains a motion vector by obtaining a position of a similar block on a reference frame in block units obtained by dividing an input frame vertically and horizontally. Motion search means for detecting a motion vector in the search range; and (2) determining the search range of each block so that the sum of the search ranges of all the blocks in the frame does not exceed the search range allowable amount determined for the frame. And a search range control means for instructing the motion search means.

第2の本発明は、入力フレームを縦横に分割した入力ブロックと、内蔵する動きベクトル検出装置が検出した動きベクトルに応じて位置が定まる、参照フレームにおける上記入力ブロックに対応する参照ブロックとの差分を符号化するフレーム間符号化装置において、上記動きベクトル検出装置として、第1の本発明のものを適用したことを特徴とする。   The second aspect of the present invention is a difference between an input block obtained by dividing an input frame vertically and horizontally and a reference block corresponding to the input block in the reference frame whose position is determined according to a motion vector detected by a built-in motion vector detection device. In the inter-frame encoding apparatus that encodes the above, the apparatus of the first aspect of the present invention is applied as the motion vector detection apparatus.

第3の本発明は、入力フレームを縦横に分割したブロック単位に、参照フレーム上の相似したブロックの位置を求めて動きベクトルを得る動きベクトル検出プログラムであって、コンピュータを、(1)参照フレーム上の指示された探索範囲で動きベクトルを検出する動き探索手段と、(2)フレーム内全ブロックの探索範囲の総和が、フレームについて定められた探索範囲許容量を超えないように、各ブロックの探索範囲を決定して、上記動き探索手段に指示する探索範囲制御手段として機能させることを特徴とする。   According to a third aspect of the present invention, there is provided a motion vector detection program for obtaining a motion vector by obtaining a position of a similar block on a reference frame in units of blocks obtained by dividing an input frame vertically and horizontally, and comprising: (1) a reference frame; (2) a motion search means for detecting a motion vector in the specified search range above, and (2) the sum of the search ranges of all the blocks in the frame does not exceed the search range tolerance determined for the frame. A search range is determined and functioned as search range control means for instructing the motion search means.

第4の本発明は、入力フレームを縦横に分割した入力ブロックと、内蔵する動きベクトル検出プログラムが検出した動きベクトルに応じて位置が定まる、参照フレームにおける上記入力ブロックに対応する参照ブロックとの差分を符号化する、コンピュータが実行し得るように記述されたフレーム間符号化プログラムにおいて、上記動きベクトル検出プログラムとして、第3の本発明のものを適用したことを特徴とする。   The fourth aspect of the present invention is a difference between an input block obtained by dividing an input frame vertically and horizontally and a reference block corresponding to the input block in the reference frame whose position is determined according to a motion vector detected by a built-in motion vector detection program. In the inter-frame encoding program described so as to be executable by a computer, the program of the third aspect of the present invention is applied as the motion vector detection program.

第5の本発明は、動画像をフレーム毎に符号化する動画像符号化装置において、(1)各フレームの符号化を行う、符号化に要する処理計算量を切り替え可能な符号化手段と、(2)所定数(2以上の任意の値)が連続するフレーム単位に対して予め定められている総計算量を超えないように、フレーム単位内の各フレームに対し、各フレームの内容に応じて計算量を配分する計算量配分手段と、(3)各フレームに配分された計算量に従うように、上記符号化手段による符号化を制御する計算量制御手段とを有することを特徴とする。   According to a fifth aspect of the present invention, in the moving image encoding apparatus that encodes a moving image for each frame, (1) encoding means for encoding each frame and capable of switching a processing calculation amount required for encoding; (2) Depending on the contents of each frame for each frame in the frame unit so that the predetermined number (any value of 2 or more) does not exceed the total amount of calculation predetermined for the continuous frame unit And (3) a calculation amount control unit for controlling encoding by the encoding unit so as to follow the calculation amount allocated to each frame.

第6の本発明は、動画像をフレーム毎に符号化する、動画像符号化装置を構成するコンピュータに搭載される動画像符号化プログラムであって、コンピュータを、(1)各フレームの符号化を行う、符号化に要する処理計算量を切り替え可能な符号化手段と、(2)所定数(2以上の任意の値)が連続するフレーム単位に対して予め定められている総計算量を超えないように、フレーム単位内の各フレームに対し、各フレームの内容に応じて計算量を配分する計算量配分手段と、(3)各フレームに配分された計算量に従うように、上記符号化手段による符号化を制御する計算量制御手段として機能させることを特徴とする。   A sixth aspect of the present invention is a moving picture coding program installed in a computer constituting a moving picture coding apparatus for coding a moving picture for each frame, and (1) encoding each frame. Encoding means capable of switching the amount of processing calculation required for encoding, and (2) a predetermined number (any value greater than or equal to 2) exceeds a predetermined total calculation amount for a continuous frame unit Calculation amount distribution means for allocating the calculation amount to each frame in the frame unit according to the contents of each frame, and (3) the encoding means so as to follow the calculation amount allocated to each frame. It is made to function as a calculation amount control means for controlling the encoding according to.

本発明の動きベクトル検出装置、フレーム間符号化装置、動きベクトル検出プログラム及びフレーム間符号化プログラムによれば、動きが大きくても検出精度や画質を低下させずに実時間処理を可能とすることができる。   According to the motion vector detection device, the inter-frame coding device, the motion vector detection program, and the inter-frame coding program of the present invention, real-time processing can be performed without degrading detection accuracy and image quality even when the motion is large. Can do.

また、動画像符号化装置及び動画像符号化プログラムによれば、複数フレームに対して、安定した画質の符号化画像を実時間処理で得ることができる。   Further, according to the moving image encoding apparatus and the moving image encoding program, it is possible to obtain encoded images with stable image quality for a plurality of frames by real-time processing.

(A)第1の実施形態
以下、本発明による動きベクトル検出装置、フレーム間符号化装置、動きベクトル検出プログラム及びフレーム間符号化プログラムを、動画像の実時間符号化装置に適用した第1の実施形態を、図面を参照しながら詳述する。
(A) First Embodiment Hereinafter, a first example in which a motion vector detection device, an interframe coding device, a motion vector detection program, and an interframe coding program according to the present invention are applied to a real-time coding device for moving images. Embodiments will be described in detail with reference to the drawings.

ここで、第1の実施形態の動きベクトル検出装置やフレーム間符号化装置の全て又は一部は、ハードウェアによって構築することもできるが、CPUとCPUが実行するプログラムで構築することもできる。上記プログラムは、記録媒体を介して装置に導入されたものであっても良く、通信処理(例えばダウンロード)を介して装置に導入されたものであっても良い(後述する第2や第3の実施形態も同様である)。   Here, all or a part of the motion vector detection device and the inter-frame coding device of the first embodiment can be constructed by hardware, but can also be constructed by a CPU and a program executed by the CPU. The program may be introduced into the apparatus via a recording medium, or may be introduced into the apparatus via communication processing (for example, download) (second and third described later). The embodiment is also the same).

(A−1)第1の実施形態の構成
図2は、第1実施形態のフレーム間符号化装置が適用された動画像の実時間符号化装置10の全体構成を示すブロック図である。
(A-1) Configuration of First Embodiment FIG. 2 is a block diagram showing an overall configuration of a moving image real-time encoding device 10 to which the inter-frame encoding device of the first embodiment is applied.

図2において、入力バッファ11ではキャプチャした動画像の各フレーム(動画像を構成する画像1枚)を記録する。フレーム内符号化部12では、入力バッファ11からフレームを取得しフレーム内符号化(フレーム内の画素の局所的類似性を使いブロック単位で圧縮)を行い、一方、フレーム間符号化部13では、フレームをブロック単位に分け、各ブロックがフレーム間でどれだけ動いたかを示す動きベクトル(図3参照)を求めて符号化する。出力バッファ14は、符号化部12又は13からの出力を蓄積する。   In FIG. 2, the input buffer 11 records each frame of the captured moving image (one image constituting the moving image). The intra-frame coding unit 12 acquires a frame from the input buffer 11 and performs intra-frame coding (compression in units of blocks using local similarity of pixels in the frame). On the other hand, the inter-frame coding unit 13 The frame is divided into blocks, and a motion vector (see FIG. 3) indicating how much each block has moved between frames is obtained and encoded. The output buffer 14 stores the output from the encoding unit 12 or 13.

ここでは、入力バッファ11に入力される動画像の各フレームには、フレーム内符号化するもの(例えばIフレーム)かフレーム間符号化するもの(例えばPフレーム)かの識別情報が盛り込まれているものとする。但し、入力バッファ11が、例えば、相前後する対応位置の画素値の差分二乗和などに基づいて、いずれの符号化方式を適用するかを決定するものであっても良い。   Here, each frame of the moving image input to the input buffer 11 includes identification information indicating whether to perform intraframe encoding (for example, I frame) or interframe encoding (for example, P frame). Shall. However, the input buffer 11 may determine which encoding method to apply based on, for example, the sum of squared differences of pixel values at corresponding positions that follow each other.

図1は、フレーム間符号化部13(実施形態のフレーム間符号化装置)の詳細構成を示すブロック図である。   FIG. 1 is a block diagram showing a detailed configuration of the interframe encoder 13 (interframe encoder of the embodiment).

図1において、フレーム間符号化部13は、ブロック分割部21、動き探索部22、動き補償部23、変換量子化逆量子化逆変換部24、符号化部25、参照バッファ管理部26及び探索範囲制御部27を有する。ここで、動き探索部22及び探索範囲制御部27が、実施形態の動きベクトル検出装置を構成している。   In FIG. 1, the inter-frame encoding unit 13 includes a block dividing unit 21, a motion search unit 22, a motion compensation unit 23, a transform quantization inverse quantization inverse transform unit 24, an encoding unit 25, a reference buffer management unit 26, and a search. A range control unit 27 is included. Here, the motion search part 22 and the search range control part 27 comprise the motion vector detection apparatus of embodiment.

ブロック分割部21は、1フレームを所定の大きさを有する複数のブロックに分割して動き探索部22に与えるものである。   The block dividing unit 21 divides one frame into a plurality of blocks having a predetermined size and gives the same to the motion search unit 22.

動き探索部22は、参照バッファ管理部26に格納されている参照フレーム(既に符号化したものを逆変換した後に再構成されたフレーム)から、入力されたブロックと最も良く似ているブロックを探し出し、その位置のずれを動きベクトルとして動き補償部23及び探索範囲制御部27に出力するものである。この実施形態の場合、動き探索部22による探索範囲は、探索範囲制御部27によって決定された範囲である。   The motion search unit 22 searches for a block most similar to the input block from the reference frame (frame reconstructed after inversely transforming the already encoded one) stored in the reference buffer management unit 26. The position shift is output to the motion compensation unit 23 and the search range control unit 27 as a motion vector. In the case of this embodiment, the search range by the motion search unit 22 is a range determined by the search range control unit 27.

動き補償部23は、最も良く似ている参照フレームのブロックを動きベクトルを使って参照フレームから取り出し(取り出したものを予測ブロックと適宜呼ぶ)、変換量子化逆量子化逆変換部24及び探索範囲制御部27に与えるものである。   The motion compensation unit 23 extracts the block of the reference frame that is most similar from the reference frame using the motion vector (the extracted block is appropriately called a prediction block), the transform quantization inverse quantization inverse transform unit 24, and the search range This is given to the control unit 27.

探索範囲制御部27は、動き補償部23から得られた予測ブロックと元ブロック(入力されたブロック)との差分と、動き探索部22から得られた動きベクトルと、予め定められている探索範囲総許容量と、いくつかの閾値とに基づき、動き探索範囲を決定するものである。動き探索範囲の決定方法については、後で詳細に説明する。   The search range control unit 27 includes a difference between the prediction block obtained from the motion compensation unit 23 and the original block (input block), a motion vector obtained from the motion search unit 22, and a predetermined search range. The motion search range is determined based on the total allowable amount and some threshold values. A method for determining the motion search range will be described later in detail.

変換量子化逆量子化逆変換部24は、予測ブロックと元ブロックとの差分を離散コサイン変換(DCT変換)した後、量子化を行い、この量子化データを符号化部25に与えるものである。また、変換量子化逆量子化逆変換部24では、上述した量子化データに対して逆量子化を行った後、逆DCT変換を行って差分データに戻して参照バッファ管理部26に与えるものである。   The transform quantization inverse quantization inverse transform unit 24 performs a discrete cosine transform (DCT transform) on the difference between the prediction block and the original block, performs quantization, and gives this quantized data to the encoding unit 25. . In addition, the transform quantization inverse quantization inverse transform unit 24 performs inverse quantization on the above-described quantized data, and then performs inverse DCT transform to return the difference data to the reference buffer management unit 26. is there.

参照バッファ管理部26は、変換量子化逆量子化逆変換部24から得られた差分データを、格納している参照フレームの該当ブロックに足し合わせて新たな参照フレームを構成するものである。構成された参照フレームは、上述したように、次のフレームの符号化時における参照フレームとして使用される。   The reference buffer management unit 26 adds the difference data obtained from the transform quantization inverse quantization inverse transform unit 24 to the corresponding block of the stored reference frame to form a new reference frame. As described above, the constructed reference frame is used as a reference frame at the time of encoding the next frame.

符号化部25は、変換量子化逆量子化逆変換部14で得られた量子化データをエントロピー符号化するものである。   The encoding unit 25 performs entropy encoding on the quantized data obtained by the transform quantization inverse quantization inverse transform unit 14.

(A−2)第1の実施形態における探索範囲の制御方法の概要
この第1の実施形態は、最大探索範囲を狭めることなく計算量を抑えることのできる探索範囲制御部27を設けたことに大きな特徴を有している。以下では、探索範囲制御部27が適用している探索範囲の制御方法の概要を説明する。
(A-2) Overview of Search Range Control Method in the First Embodiment In the first embodiment, the search range control unit 27 that can suppress the calculation amount without narrowing the maximum search range is provided. Has great features. Below, the outline | summary of the control method of the search range which the search range control part 27 is applying is demonstrated.

動き探索部22による動き探索は、入力されたブロックとよく似たブロックを参照フレームから探し出す操作である。例えば、参照フレームをR、入力されたブロックをOとすると、この操作は、(1)式に示す絶対差分和(Sum of Absolute Difference;以下、SADと呼ぶ)を最小にする位置(x+l,y+m)を探す操作となる。SADが小さいほど似ていると言うことができる。

Figure 2009153102
The motion search by the motion search unit 22 is an operation of searching for a block similar to the input block from the reference frame. For example, assuming that the reference frame is R and the input block is O, this operation is performed by the position (x + 1, y + m) that minimizes the absolute difference sum (Sum of Absolute Difference; hereinafter referred to as SAD) shown in Equation (1). ). It can be said that the smaller the SAD, the more similar.
Figure 2009153102

(1)式において、abs(xx)はxxの絶対値である。R(x+l+i,y+m+j)は、参照フレームRの位置(x+l+i,y+m+j)における値であり、例えば、輝度値(又は、R(赤)、G(緑)、B(青)値、若しくは、C(シアン)、M(マゼンダ)、Y(イエロー)などの色成分値)である。iの範囲がブロック幅分だけ変化し、jの範囲がブロック高分だけ変化するので、R(x+l+i,y+m+j)は、参照フレームRのブロックを表していると見ることができる。O(i,j)は、入力されたブロックOの位置(i,j)における値であり、例えば、輝度値(又は、RGB値、CMY値など)である。iの範囲がブロック幅分だけ変化し、jの範囲がブロック高分だけ変化するので、O(i,j)は、入力されたブロックOそのものを表していると見ることができる。   In the formula (1), abs (xx) is the absolute value of xx. R (x + l + i, y + m + j) is a value at the position (x + l + i, y + m + j) of the reference frame R. For example, the luminance value (or R (red), G (green), B (blue) value, or C ( Color component values such as cyan), M (magenta), and Y (yellow). Since the range of i changes by the block width and the range of j changes by the block height, it can be seen that R (x + l + i, y + m + j) represents a block of the reference frame R. O (i, j) is a value at the position (i, j) of the input block O, and is, for example, a luminance value (or RGB value, CMY value, etc.). Since the range of i changes by the block width and the range of j changes by the block height, it can be seen that O (i, j) represents the input block O itself.

xの範囲は0から画像幅Xまでであり、yの範囲は0から画像高Yまでであり、(x,y)は、探索の基準点つまりブロックOの最も左上の画素の画像上での位置を基準点(0,0)とした相対位置である。iの範囲はxからブロック幅まで取り得ることが可能であり、jの範囲はyからブロック高まで取り得ることが可能である。   The range of x is from 0 to the image width X, the range of y is from 0 to the image height Y, and (x, y) is the reference point of the search, that is, the upper left pixel of the block O on the image It is a relative position with the position as the reference point (0, 0). The range of i can take from x to the block width, and the range of j can take from y to the block height.

lはx軸方向の探索範囲を規定するパラメータであり、mはy軸方向の探索範囲を規定するパラメータである。x軸方向の探索範囲の情報をLとし、y軸方向の探索範囲の情報Mとすると、−L≦l≦L、−M≦m≦Mという範囲でl、mの値を変えながら、(1)式のSADが最小となる位置(x+l,y+m)を探す。この最小位置(x+l,y+m)は、動きベクトルを表している。   l is a parameter that defines the search range in the x-axis direction, and m is a parameter that defines the search range in the y-axis direction. If the search range information in the x-axis direction is L and the search range information in the y-axis direction is M, the values of l and m are changed in the range of −L ≦ l ≦ L and −M ≦ m ≦ M. 1) A position (x + l, y + m) where the SAD of the equation is the minimum is searched. This minimum position (x + 1, y + m) represents a motion vector.

探索範囲L、M(言い換えると−L≦l≦L、−M≦m≦M)は、フレーム内の各ブロックにおいて一定とすることもでき、また、予め定められた最大範囲及び最小範囲の間で可変とすることもできる。   The search ranges L and M (in other words, −L ≦ l ≦ L, −M ≦ m ≦ M) may be constant in each block in the frame, and may be between predetermined maximum ranges and minimum ranges. It can also be made variable.

各種パラメータの意味合いについては、後述する図4を用いた探索範囲と入力ブロックとの関係の説明でも明確にする。   The meaning of the various parameters will also be clarified in the description of the relationship between the search range and the input block using FIG. 4 described later.

第1の実施形態では、このような探索範囲の定め方を採用せず、各フレームにおいて、探索範囲の総許容量となるものを定め、フレーム内ブロックの探索範囲の総和が探索範囲の総許容量を超えないように各ブロックにおける探索範囲の大きさを制御することとした。   In the first embodiment, such a method of determining the search range is not adopted, and the total allowable amount of the search range is determined in each frame, and the sum of the search ranges of the blocks in the frame is the total allowable search range. The size of the search range in each block is controlled so as not to exceed the capacity.

こうすることにより、1フレームで探索に要する計算量を一定値以下に制限することができる。探索範囲の総許容量は、探索範囲のプールとみなすことができ、各ブロックではこのプールから必要な探索範囲を決定した分だけ取り出して、その値に基づき探索する。   By doing so, the amount of calculation required for the search in one frame can be limited to a certain value or less. The total allowable amount of the search range can be regarded as a pool of search ranges. In each block, the required search range is extracted from this pool and searched based on the value.

また、第1の実施形態では、動き探索の結果得られた参照ブロックとブロック間の相違度と、動きベクトルの大きさに基づき、そのブロックの周辺ブロックに対する予測探索範囲を決定し、未処理ブロックの探索範囲の決定に反映させる。予測探索範囲とは、未処理のブロックがとるべき探索範囲を決定するための予測値である。   Further, in the first embodiment, based on the difference between the reference block and the block obtained as a result of the motion search and the magnitude of the motion vector, the prediction search range for the peripheral blocks of the block is determined, and the unprocessed block This is reflected in the determination of the search range. The predicted search range is a predicted value for determining a search range that an unprocessed block should take.

(A−3)第1の実施形態の動作
以下、フレーム間符号化部13の動作、特に、動きベクトルの検出に関係する動作を説明する。
(A-3) Operation of the First Embodiment Hereinafter, the operation of the interframe coding unit 13, particularly the operation related to the detection of the motion vector will be described.

動き探索部22では、探索範囲制御部27で指定された探索範囲内で、入力されたブロックに最もよく似ている(ある評価基準(例えば、上述したSAD)に基づいて判定する)ブロック位置を参照フレームから探し出し、動きベクトルを計算する。動き補償部23では、動きベクトルから得られる参照フレーム中のブロック(以下、参照ブロックと呼ぶ)を求める。探索範囲制御部27では、探索範囲を決定する。基本的には、探索範囲のプールと言える探索範囲許容量TotalRangeから、必要な分だけ探索範囲を取り出し、その探索範囲に基づき探索を実行する。探索範囲制御部27では、探索範囲許容量TotalRange内の探索範囲を使い尽くすことがないよう制御する。   In the motion search unit 22, the block position most similar to the input block (determined based on a certain evaluation criterion (for example, the above-mentioned SAD)) within the search range designated by the search range control unit 27 is determined. Search from the reference frame and calculate the motion vector. The motion compensation unit 23 obtains a block (hereinafter referred to as a reference block) in the reference frame obtained from the motion vector. The search range control unit 27 determines a search range. Basically, the search range is extracted from the search range allowable TotalRange that can be said to be a pool of search ranges, and the search is executed based on the search range. The search range control unit 27 performs control so that the search range within the search range allowable amount TotalRange is not used up.

探索範囲許容量TotalRangeは、例えば、ブロック数×適当な探索範囲で表せ(必ずしもそう表す必要はない)、適当な探索範囲は、最大探索範囲(maxRange;上述したL、Mの2倍の最大値)と最小探索範囲(minRange;上述したL、Mの2倍の最小値)の間の値である。例えば、最大探索範囲が16(一辺の画素数)で、最小探索範囲が4で、画像サイズがQVGA(320x240)、ブロックサイズが16x16画素の場合には、探索範囲許容量TotalRangeは、8×(320×240÷16÷16)=2400とある。ここで、8が適当な探索範囲で、(320×240÷16÷16=300)がブロック数である。探索範囲許容量TotalRangeは、例えば、(ブロック数−1)×minRange+maxRange≦TotalRange≦ブロック数×maxRangeの範囲内の値をとる。上の例の場合、1212(=4×299+16)≦TotalRange≦4800(=16×300)である。範囲の最小値(ブロック数−1)×minRange+maxRangeは、精度の向上を図るため、それ以降の探索に影響を与える最初に探索されるブロックについては、最大探索範囲maxRangeとすることとしたため、上述の式のようになった。   The search range allowable amount TotalRange can be expressed, for example, by the number of blocks × appropriate search range (not necessarily so), and the appropriate search range is the maximum search range (maxRange; the maximum value that is twice the above-described L and M) ) And the minimum search range (minRange; minimum value twice as large as L and M described above). For example, when the maximum search range is 16 (the number of pixels on one side), the minimum search range is 4, the image size is QVGA (320 × 240), and the block size is 16 × 16 pixels, the search range allowable TotalRange is 8 × ( 320 × 240 ÷ 16 ÷ 16) = 2400. Here, 8 is an appropriate search range, and (320 × 240 ÷ 16 ÷ 16 = 300) is the number of blocks. The search range allowable amount TotalRange takes a value within the range of (number of blocks−1) × minRange + maxRange ≦ TotalRange ≦ number of blocks × maxRange, for example. In the case of the above example, 1212 (= 4 × 299 + 16) ≦ TotalRange ≦ 4800 (= 16 × 300). The minimum value of the range (number of blocks −1) × minRange + maxRange is the maximum search range maxRange for the first searched block that affects the subsequent search in order to improve accuracy. It became like the formula.

図4は、探索範囲と入力ブロックとの関係を示す説明図である。   FIG. 4 is an explanatory diagram showing the relationship between the search range and the input block.

図4は、基本的には参照フレームを示している。参照フレームにおいて、参照ブロックになり得るものは、(0,0)を左上座標とした13×13画素のブロック0から、(31,31)を左上座標とした13×13画素のブロック1023までの1024個がある。   FIG. 4 basically shows a reference frame. In the reference frame, a block that can be a reference block ranges from a block 0 having 13 × 13 pixels having (0,0) as an upper left coordinate to a block 1023 having 13 × 13 pixels having (31,31) as an upper left coordinate. There are 1024 pieces.

図4において、左上の座標が(9,10)である13×13画素の実線ブロックが入力ブロックO(i,j)である。なお、図4では、図の大きさの制約から、上述した場合の例からブロックサイズの大きさを変更している。入力ブロックO(i,j)は、iが9〜21内の値をとり、jが10〜22内の値をとるものである。   In FIG. 4, a solid line block of 13 × 13 pixels whose upper left coordinate is (9, 10) is an input block O (i, j). In FIG. 4, the block size is changed from the above-described example due to the size restriction of the drawing. In the input block O (i, j), i takes a value in the range 9-21, and j takes a value in the range 10-22.

探索範囲を規定するL及びMがそれぞれ4であれば、動きベクトルの検出対象の入力ブロックO(i,j)の左上座標(9,10)を中心とし、x方向に±L(=±4)だけずれ、y方向に±M(=±4)だけずれた、破線矩形が探索範囲となり、探索範囲内に位置する座標を、左上座標とした13×13画素の参照ブロックについて、入力ブロックO(i,j)とのSADが求められる。図4の入力ブロックの場合、左上座標が(9−2,10−3)である一点鎖線のブロックR(9−2+i,10−3+j)や、左上座標が(9−3,10+2)である二点鎖線のブロックR(9−3+i,10+2+j)や、左上座標が(9+2,10+3)である三点鎖線のブロックR(9+2+i,10+3+j)等が参照ブロックとなる。   If L and M that define the search range are each 4, the upper left coordinate (9, 10) of the input block O (i, j) that is the motion vector detection target is the center, and ± L (= ± 4) in the x direction. ), And a broken line rectangle shifted by ± M (= ± 4) in the y direction is a search range, and a reference block of 13 × 13 pixels with a coordinate located in the search range as an upper left coordinate is input block O The SAD with (i, j) is determined. In the case of the input block of FIG. 4, the one-dot chain line block R (9−2 + i, 10−3 + j) whose upper left coordinate is (9−2, 10−3) and the upper left coordinate is (9−3, 10 + 2). A two-dot chain line block R (9-3 + i, 10 + 2 + j), a three-dot chain line block R (9 + 2 + i, 10 + 3 + j) whose upper left coordinates are (9 + 2, 10 + 3), and the like are reference blocks.

探索範囲制御部27は、例えば、以下のような手順T1〜T4によって探索範囲を決定する。なお、図5は、手順T2及びT3に関係する処理部分を示すフローチャートであり、ある1つの入力ブロックに対する処理を示している。   The search range control unit 27 determines the search range by the following procedures T1 to T4, for example. FIG. 5 is a flowchart showing processing portions related to procedures T2 and T3, and shows processing for one input block.

(手順T1)
残っている探索範囲許容量を表すパラメータ(残り探索範囲許容量)RemainRangeに、探索範囲総許容量(フレーム当りの許容量)TotalRangeを設定(初期化)する。すなわち、RemainRange=TotalRangeとする。
(Procedure T1)
A search range total allowable amount (allowable amount per frame) TotalRange is set (initialized) in a parameter (remaining search range allowable amount) RemainRange indicating the remaining search range allowable amount. That is, RemainRange = TotalRange.

あるブロックの処理が終了すると、フレーム内の全てのブロックについて探索が実行されていないことを確認した後、処理対象の入力ブロックがフレーム中1番目のブロックか否かが確認される。   When the processing of a certain block is completed, after confirming that the search is not executed for all the blocks in the frame, it is confirmed whether or not the input block to be processed is the first block in the frame.

処理対象の入力ブロックがフレーム中1番目のブロックであれば手順T2が実行され、処理対象の入力ブロックが2番目以降のブロックであれば手順T3が実行される。   If the input block to be processed is the first block in the frame, the procedure T2 is executed, and if the input block to be processed is the second and subsequent blocks, the procedure T3 is executed.

(手順T2)
入力されたブロックがフレーム中1番目の場合、探索範囲制御部27は、予め定められた値を探索範囲にする。例えば、探索範囲を表すパラメータRange(=L、M)を許容されている最大探索範囲maxRangeとする。これにより、動き探索部22は、最大探索範囲maxRangeで探索を行うことになる。
(Procedure T2)
When the input block is the first in the frame, the search range control unit 27 sets a predetermined value as the search range. For example, the parameter Range (= L, M) representing the search range is set as the maximum allowable search range maxRange. As a result, the motion search unit 22 performs a search within the maximum search range maxRange.

また、探索範囲制御部27は、残り探索範囲許容量RemainRangeを、今までの値から、探索範囲Range分だけ小さくする。すなわち、RemainRange=RemainRange−Rangeとする。   In addition, the search range control unit 27 decreases the remaining search range allowable amount RemainRange by the search range Range from the current value. That is, RemainRange = RemainRange-Range.

(手順T3)
入力されたブロックがフレーム中2番目以降の場合、既に動きベクトルが決定している周辺ブロック(後述する図6参照)の予測探索範囲と、残り探索範囲許容量RemainRangeとを基に、探索範囲Rangeを決定する。探索範囲Rangeの決定に供する周辺ブロックは、図6に例示するような、入力された処理対象ブロックの左斜め上のブロックBA、真上のブロックBB、右斜め上のブロックBC、左隣のブロックBDである。但し、後述する手順T4で説明するが、各周辺ブロックBA、BB、BC、BDに対し、予測探索範囲a、b、c、dが求まっているものとする。
(Procedure T3)
When the input block is the second or later in the frame, the search range Range is based on the predicted search range of the peripheral block (see FIG. 6 described later) for which the motion vector has already been determined and the remaining search range allowance RemainRange. To decide. The peripheral blocks used for determining the search range Range are, as illustrated in FIG. 6, an upper left block BA, an upper block BB, an upper right block BC, and an adjacent block to the left of the input processing target block. BD. However, as will be described later in procedure T4, it is assumed that predicted search ranges a, b, c, and d are obtained for each of the peripheral blocks BA, BB, BC, and BD.

探索範囲Rangeは、例えば、(2)式に従って算出される。   The search range Range is calculated according to the formula (2), for example.

Range=Max(Min(Int(WA2(wa,rr)),maxRange),minRange) …(2)
(2)式において、waは、周辺ブロックBA、BB、BC、BDの予測探索範囲a、b、c、d(minRange以上maxRange以下)に関数WA1(a,b,c,d)を適用した値であり、関数WA1(a,b,c,d)としては、(3)式に示すような重み付け平均値を適用することができる。(3)式おける重み付け係数α,β,γ,φは、周辺ブロックで得られないものがある場合には、そのブロックに係るものを0とする。rrは、(4)式に示すように、残り探索範囲許容量RemainRangeを残りブロック数で割った値である。(2)式における関数WA2(x,y)は、(5)式に示すように、二つの値x,yの重み付き平均値である。Int(x)はxを四捨五入した値を表している。Maxは二つの引数のうち大きい方を選択する関数であり、Minは二つの引数のうち小さい方を選択する関数である。
Range = Max (Min (Int (WA2 (wa, rr)), maxRange), minRange) (2)
In equation (2), wa applied the function WA1 (a, b, c, d) to the prediction search ranges a, b, c, d (minRange to maxRange) of the neighboring blocks BA, BB, BC, BD. As the function WA1 (a, b, c, d), a weighted average value as shown in the equation (3) can be applied. The weighting coefficients α, β, γ, and φ in equation (3) are set to 0 when there are those that cannot be obtained in the surrounding blocks. rr is a value obtained by dividing the remaining search range allowable amount RemainRange by the number of remaining blocks as shown in the equation (4). The function WA2 (x, y) in the equation (2) is a weighted average value of the two values x and y as shown in the equation (5). Int (x) represents a value obtained by rounding off x. Max is a function that selects the larger of the two arguments, and Min is a function that selects the smaller of the two arguments.

WA1(a,b,c,d)=αa+βb+γc+φd
但し、0≦α,β,γ,φ≦1、α+β+γ+φ=1
(例えば、α,β,γ,φ=0.25) …(3)
rr= RemainRange/残りブロック数 …(4)
WA2(x,y)=δx+σy
但し、0≦δ,σ≦1、δ+σ=1
(例えば、δ,σ=0.5) …(5)
(2)式は、周辺ブロックBA、BB、BC、BDの予測探索範囲から定めた探索範囲候補waと、残り探索範囲許容量RemainRangeを残りブロック数で割ることで定めた残りの各ブロックに割り振れる1ブロック当たりの探索範囲候補rrとの重み付け平均値WA2(wa,rr)を探索範囲候補とすることを基本とする。値WA2(wa,rr)は、整数値以外を取ることもあるので、四捨五入処理することとした。関数Max及びMinは、四捨五入処理後の候補Int(WA2(wa,rr))が、最小探索範囲minRangeと最大探索範囲maxRangeの間の範囲に収まるようにするための関数である。
WA1 (a, b, c, d) = αa + βb + γc + φd
However, 0 ≦ α, β, γ, φ ≦ 1, α + β + γ + φ = 1
(For example, α, β, γ, φ = 0.25) (3)
rr = RemainRange / number of remaining blocks (4)
WA2 (x, y) = δx + σy
However, 0 ≦ δ, σ ≦ 1, δ + σ = 1
(For example, δ, σ = 0.5) (5)
Equation (2) is assigned to the remaining blocks determined by dividing the search range candidate wa determined from the prediction search ranges of the neighboring blocks BA, BB, BC, and BD and the remaining search range allowable amount RemainRange by the number of remaining blocks. Basically, the weighted average value WA2 (wa, rr) with the search range candidate rr per one swinging block is set as the search range candidate. Since the value WA2 (wa, rr) may take a value other than an integer value, rounding is performed. The functions Max and Min are functions for causing the candidate Int (WA2 (wa, rr)) after the rounding process to fall within the range between the minimum search range minRange and the maximum search range maxRange.

すなわち、以上のようにして探索範囲Rangeを求めることにより、既に処理が終わった周辺ブロックの影響を現在処理しているブロックの探索範囲Rangeの決定に反映しつつ、現在割り当て可能な平均的な探索範囲rrになるべく近くなるように探索範囲Rangeを決定する。   That is, by obtaining the search range Range as described above, the average search that can be currently assigned while reflecting the influence of the peripheral blocks that have already been processed in the determination of the search range Range of the block currently being processed. The search range Range is determined so as to be as close as possible to the range rr.

但し、例外として、値rr(=RemainRange/残りのブロック数)が最小探索範囲minRangeより小さくなった場合には、最小探索範囲Rangeを最小探索範囲minRangeとする。このようにしないと、最小探索範囲minRangeより小さい探索範囲が割り当てられてしまうことがある。例えば、最小探索範囲が4の場合において、残り探索範囲許容量RemainRangeが100で、残りブロック数が26の場合であれば、探索範囲Range=最小探索範囲minRangeとなる。   However, as an exception, when the value rr (= RemainRange / number of remaining blocks) is smaller than the minimum search range minRange, the minimum search range Range is set as the minimum search range minRange. Otherwise, a search range smaller than the minimum search range minRange may be assigned. For example, when the minimum search range is 4, if the remaining search range allowable amount RemainRange is 100 and the number of remaining blocks is 26, the search range Range = minimum search range minRange.

今回の入力ブロックに対する探索範囲Rangeを定めると、その分だけ、残り探索範囲許容量Remainを小さくする。すなわち、RemainRange=RemainRange−Rangeとする。   When the search range Range for the current input block is determined, the remaining search range allowable amount Remain is reduced by that amount. That is, RemainRange = RemainRange-Range.

(手順T4)
決定された探索範囲Rangeを適用したその入力されたブロックについての動き探索が終了したら、次のブロックの動き探索で使用する探索範囲を求めるために用いる、上述した予測探索範囲を求める。例えば、次のような方法によって予測探索範囲を求める。
(Procedure T4)
When the motion search for the input block to which the determined search range Range is applied is completed, the above-described predicted search range used for determining the search range used in the motion search of the next block is obtained. For example, the predicted search range is obtained by the following method.

動き探索により求まった参照ブロックと処理中のブロック間のSADが大きく(言い換えると、探索がうまくいかなかった可能性が大きい)動きベクトルが小さい場合には、未処理の周辺ブロックの探索範囲を大きくするために、予測探索範囲を大きくし、未処理の周辺ブロックの探索がよりうまく行くようにする。逆に、SADが小さく動きベクトルが大きい場合には、未処理の周辺ブロックの探索範囲を小さくするために、予測探索範囲を小さくし、未処理の周辺ブロックにおける計算量を多少なりとも少なくする。このような決定方法をプログラム的に記述すると、以下の通りである。   When the SAD between the reference block obtained by the motion search and the block being processed is large (in other words, the possibility that the search is not successful) is small, the search range of the unprocessed peripheral blocks is increased. In order to achieve this, the prediction search range is increased so that the search for the unprocessed peripheral blocks can be performed better. Conversely, when the SAD is small and the motion vector is large, in order to reduce the search range of unprocessed peripheral blocks, the prediction search range is reduced, and the amount of calculation in the unprocessed peripheral blocks is somewhat reduced. Such a determination method is described in a program as follows.

IF(SAD>g and 動きベクトルの大きさ<m)
予測探索範囲=Min(Range+p,MaxRange)
ELSE IF(SAD<f and 動きベクトルの大きさ>n)
予測探索範囲=Min(Range−q,MinRange)
ELSE
予測探索範囲=Range
ここで、g及びfはそれぞれ、0<g,f<(SADの最大値)を満たす整数である。
IF (SAD> g and magnitude of motion vector <m)
Prediction search range = Min (Range + p, MaxRange)
ELSE IF (SAD <f and magnitude of motion vector> n)
Prediction search range = Min (Range-q, MinRange)
ELSE
Prediction search range = Range
Here, g and f are integers satisfying 0 <g, f <(maximum value of SAD), respectively.

SADの最大値は、16x16画素のブロックで輝度値の最高値が255の場合には、16x16x255(=65280)である。p,qは正の整数で特に範囲はないが、探索範囲Rangeから足したり引いたりした際、最大探索範囲MaxRangeを超えたり最小探索範囲MinRangeをわったりする頻度が少なくなるような値を適用する。 The maximum value of SAD is 16 × 16 × 255 (= 65280) when the maximum luminance value is 255 in a block of 16 × 16 pixels. p and q are positive integers and there is no particular range, but when adding or subtracting from the search range Range, a value that is less likely to exceed the maximum search range MaxRange or cross the minimum search range MinRange is applied. .

(A−3)第1の実施形態の効果
第1の実施形態によれば、探索範囲許容量TotalRangeや残り探索範囲許容量RemainRangeを使って、各ブロックの探索範囲の総和が一定値以下になるよう制御するようにしたので、各フレームにおける探索による計算量を抑えることができる。例えば、動き探索範囲一定の探索方法の場合、a(maxRange×ブロック数)(aは任意の正数)の計算量が必要となり、周辺ブロックに応じて探索範囲を決定する方法でも最悪の場合、同じa(maxRange×ブロック数)の計算量が必要となると考えられるが、この実施形態では、a×TotalRangeの計算量が必要であり、TotalRange<(maxRange×ブロック数)のように、探索範囲許容量TotalRangeを定めると、計算量を従来の方法より少なくすることができ、かつ必要な部分では最大探索範囲maxRangeを使った探索を行うことができる。他の方法では、最大探索範囲maxRangeを小さくしない限りa×TotalRangeの計算量を実現できる補償はない。
(A-3) Effects of the First Embodiment According to the first embodiment, the total search range of each block is equal to or less than a certain value using the search range allowable amount TotalRange and the remaining search range allowable amount RemainRange. Thus, the amount of calculation by searching in each frame can be suppressed. For example, in the case of a search method with a constant motion search range, a calculation amount of a (maxRange × number of blocks) (a is an arbitrary positive number) is required. Although it is considered that the calculation amount of the same a (maxRange × number of blocks) is required, in this embodiment, the calculation amount of a × TotalRange is required, and the search range permission is expressed as TotalRange <(maxRange × number of blocks). When the capacity TotalRange is determined, the amount of calculation can be reduced as compared with the conventional method, and a search using the maximum search range maxRange can be performed in a necessary part. In other methods, there is no compensation that can realize the calculation amount of a × TotalRange unless the maximum search range maxRange is reduced.

(A−4)第1の実施形態の変形実施形態
第1の実施形態では、フレーム間符号化装置(フレーム間符号化部13)を図2に示す構成の符号化装置に適用したものを示したが、適用対象は図2に示す構成のものに限定されず、フレーム間符号化装置を利用した符号化装置に広く適用することができる。
(A-4) Modified Embodiment of First Embodiment In the first embodiment, an interframe coding apparatus (interframe coding section 13) is applied to the coding apparatus having the configuration shown in FIG. However, the application target is not limited to the configuration shown in FIG. 2, and can be widely applied to an encoding device using an inter-frame encoding device.

また、第1の実施形態の動きベクトル検出装置も、適用対象が動画像符号化装置に限定されないことは勿論である。例えば、移動体を抽出し、追跡するような処理を行う画像処理装置が、動きベクトル検出装置を内蔵しているような場合には、そのような動きベクトル検出装置に対しても本発明を適用することができる。   In addition, the motion vector detection apparatus according to the first embodiment is not limited to the moving picture encoding apparatus. For example, when an image processing apparatus that performs processing for extracting and tracking a moving body incorporates a motion vector detection device, the present invention is also applied to such a motion vector detection device. can do.

第1の実施形態では、探索範囲許容量TotalRangeが固定のものを示したが、探索範囲許容量TotalRangeを変化させるものであっても良い。例えば、あるフレームの全てのブロックの探索範囲を決定した後の残り探索範囲許容量RemainRangeが閾値より大きいときには、次のフレームの探索範囲許容量TotalRangeを、基準となっている探索範囲許容量TotalRangeに所定量だけ加算したものとするようにしても良い。   In the first embodiment, the search range allowable amount TotalRange is fixed, but the search range allowable amount TotalRange may be changed. For example, when the remaining search range allowance RemainRange after determining the search range of all the blocks of a certain frame is larger than the threshold, the search range allowance TotalRange of the next frame is set to the reference search range allowance TotalRange. A predetermined amount may be added.

第1の実施形態では、探索範囲の決定に影響を与える周辺ブロックが左斜め上、真上、右斜め上、左隣の4つのブロックであるものを示したが、周辺ブロックはこれに限定されるものではない。例えば、真上、右斜め上、左隣の3つのブロックであっても良い。   In the first embodiment, the peripheral blocks that affect the determination of the search range are shown as four blocks on the left upper left, right above, right upper right, and left adjacent, but the peripheral blocks are limited to this. It is not something. For example, it may be three blocks right above, diagonally right above, and adjacent to the left.

第1の実施形態では、入力ブロックと参照ブロックとの近似度を評価する指標がSADであるものを示したが、他の指標であっても良い。例えば、差分二乗和の平方根であっても良い。   In the first embodiment, the index for evaluating the degree of approximation between the input block and the reference block is SAD, but another index may be used. For example, it may be the square root of the sum of squared differences.

(B)第2の実施形態
次に、本発明による動画像符号化装置及び動画像符号化プログラムの実施形態(以下、第2の実施形態と呼ぶ)を、図面を参照しながら詳述する。
(B) Second Embodiment Next, an embodiment of a moving picture coding apparatus and a moving picture coding program according to the present invention (hereinafter referred to as a second embodiment) will be described in detail with reference to the drawings.

ここで、第2の実施形態の動画像符号化装置の全て又は一部は、ハードウェアによって構築することもできるが、CPUとCPUが実行するプログラムで構築することもできる。   Here, all or part of the moving picture coding apparatus according to the second embodiment can be constructed by hardware, but can also be constructed by a CPU and a program executed by the CPU.

上述した第1の実施形態では、1フレーム内で各ブロックの計算量の調整を行うものであったが、この第2の実施形態は、1フレーム内で計算量の調整を行うのではなく、複数フレーム単位で各フレームの符号化に要する計算量の調整を行おうとしたものであり、フレーム毎に必要となる計算量のばらつきを考慮し、実時間処理を考慮した複数フレーム単位の計算量を、必要とする計算量が多いフレームには多く、必要とする計算量が少ないフレームには少なく割り当てようとしたものである。   In the first embodiment described above, the calculation amount of each block is adjusted within one frame. However, this second embodiment does not adjust the calculation amount within one frame. This is an attempt to adjust the amount of calculation required to encode each frame in units of multiple frames, considering the variation in the amount of calculation required for each frame, and the amount of calculation in units of multiple frames taking into account real-time processing. This is an attempt to allocate a large amount to a frame that requires a large amount of calculation and a small amount to a frame that requires a small amount of calculation.

(B−1)第2の実施形態の構成
第2の実施形態の動画像符号化装置は、上述したように、複数フレーム単位で各フレームの符号化に要する計算量の割り当てを行うものであり、図7は、第2の実施形態の動画像符号化装置の全体構成を示すブロック図である。
(B-1) Configuration of Second Embodiment As described above, the moving image encoding apparatus according to the second embodiment assigns a calculation amount required for encoding each frame in units of a plurality of frames. FIG. 7 is a block diagram showing the overall configuration of the moving picture encoding apparatus according to the second embodiment.

図7において、第2の実施形態の動画像符号化装置は、計算量制御バッファ31、計算量予測部32、計算量制御部33及び符号化部34を有する。   In FIG. 7, the moving picture encoding apparatus according to the second embodiment includes a calculation amount control buffer 31, a calculation amount prediction unit 32, a calculation amount control unit 33, and an encoding unit 34.

計算量制御バッファ31は、計算量制御を行うフレームを複数取り入れ保存する記憶装置である。計算量制御とは、バッファ内の各フレームの符号化に要する計算量の和が予め定めた総計算量を超えないように各フレームに計算量を割り当てる制御である。   The calculation amount control buffer 31 is a storage device that takes in and stores a plurality of frames for performing calculation amount control. The calculation amount control is control for assigning the calculation amount to each frame so that the sum of the calculation amounts required for encoding each frame in the buffer does not exceed a predetermined total calculation amount.

図8は、計算量制御バッファ31における2面構成の説明図である。計算量制御バッファ31は、並行してアクセス可能な2つのバッファ31−1及び31−2を有する。計算量制御バッファ31において、一方のバッファ31−1(又は31−2)を画像入力用として適用しているときには、他方のバッファ31−2(又は31−1)を符号化処理用として適用するように切り替え制御することにより、画像(フレーム)の入力と符号化処理とを同時に行えるようにしている。ここで、各バッファ31−1、31−2の容量は、予め定められている所定数(2以上)のフレーム画像を格納できる容量に選定されている。   FIG. 8 is an explanatory diagram of a two-surface configuration in the calculation amount control buffer 31. The calculation amount control buffer 31 includes two buffers 31-1 and 31-2 that can be accessed in parallel. In the calculation amount control buffer 31, when one buffer 31-1 (or 31-2) is applied for image input, the other buffer 31-2 (or 31-1) is applied for encoding processing. By performing switching control in this manner, image (frame) input and encoding processing can be performed simultaneously. Here, the capacity of each of the buffers 31-1 and 31-2 is selected as a capacity capable of storing a predetermined number (two or more) of frame images.

計算量予測部32は、各フレームの符号化に必要と考えられる計算量を大まかに計算(予測)するものである。計算量予測部32は、フレーム内符号化方式で符号化するフレームについては、画素値の分散等を使って計算量を予測する。例えば、分散が取り得る範囲を複数の範囲に分け、各範囲に、その範囲の計算量を対応付けたテーブルを用意しておき、得られた分散が属する範囲の計算量を予測計算量とする。また例えば、予め、分散を計算量に変換する変換関数を定めておき、この変換関数に得られた分散を入力して予測計算量を得るようにしても良い。計算量予測部32は、フレーム間符号化方式で符号化するフレームについては参照フレームの画素値との差の絶対値和(上述したSAD)等を使って計算量を予測する。例えば、差の絶対値和が取り得る範囲を複数の範囲に分け、各範囲に、その範囲の計算量を対応付けたテーブルを用意しておき、得られた差の絶対値和が属する範囲の計算量を予測計算量とする。また例えば、予め、差の絶対値和を計算量に変換する変換関数を定めておき、この変換関数に得られた差の絶対値和を入力して予測計算量を得るようにしても良い。   The calculation amount prediction unit 32 roughly calculates (predicts) a calculation amount considered necessary for encoding each frame. The calculation amount prediction unit 32 predicts the calculation amount using the variance of pixel values and the like for a frame to be encoded by the intraframe encoding method. For example, the range that the variance can take is divided into a plurality of ranges, a table in which the calculation amount of the range is associated with each range is prepared, and the calculation amount of the range to which the obtained variance belongs is set as the predicted calculation amount . Further, for example, a conversion function for converting the variance into the calculation amount may be determined in advance, and the prediction calculation amount may be obtained by inputting the variance obtained in the conversion function. The calculation amount prediction unit 32 predicts the calculation amount using the absolute value sum (SAD described above) of the difference from the pixel value of the reference frame for a frame to be encoded by the inter-frame encoding method. For example, the range that can be taken by the sum of absolute values of differences is divided into a plurality of ranges, and a table in which the amount of calculation of the range is associated with each range is prepared. The calculation amount is set as a predicted calculation amount. Alternatively, for example, a conversion function for converting the sum of absolute values of differences into a calculation amount may be determined in advance, and the prediction calculation amount may be obtained by inputting the sum of absolute values of the differences obtained in this conversion function.

計算量制御部33は、計算量予測部32で予測した各フレームに必要な計算量に基づき各フレームの計算量を割り当てるものである。また、計算量制御部33は、割り当てた計算量に基づいて、符号化部34がそのフレームに対する符号化を行うように制御するものである。   The calculation amount control unit 33 assigns the calculation amount of each frame based on the calculation amount necessary for each frame predicted by the calculation amount prediction unit 32. The calculation amount control unit 33 controls the encoding unit 34 to perform encoding on the frame based on the assigned calculation amount.

符号化部34は、計算量制御部33の制御下で、計算量を調節しながら、各フレームに対する符号化を行うものである。符号化部34は、例えば、フレーム内符号化の場合には、実行するフレーム内符号化での予測モード数を調節することで符号化の計算量を調節する。モード数によって符号化の計算量が変化することについては、例えば、特開2006−148419号公報に記載されている。符号化部34は、例えば、フレーム間符号化の場合には、そのフレームに適用する動きベクトルの探索範囲を調節することで符号化の計算量を調節する。   The encoding unit 34 performs encoding for each frame while adjusting the calculation amount under the control of the calculation amount control unit 33. For example, in the case of intra-frame encoding, the encoding unit 34 adjusts the amount of calculation of encoding by adjusting the number of prediction modes in the intra-frame encoding to be performed. For example, Japanese Unexamined Patent Application Publication No. 2006-148419 discloses that the calculation amount of encoding varies depending on the number of modes. For example, in the case of inter-frame encoding, the encoding unit 34 adjusts the calculation amount of encoding by adjusting the search range of a motion vector applied to the frame.

(B−2)第2の実施形態の動作
次に、第2の実施形態の動画像符号化装置の動作を、図面を参照しながら説明する。
(B-2) Operation of Second Embodiment Next, the operation of the moving image encoding apparatus of the second embodiment will be described with reference to the drawings.

当該動画像符号化装置に入力されたフレーム(画像)は、計算量制御バッファ31に入力され、2面あるバッファ31−1及び31−2の一方に記録されていく。入力フレームを記録中のバッファが詰まったら、記録してきた入力用バッファは符号化処理用に切り替えられ、符号化処理用のバッファは入力用に切り替えられる。符号化処理用のバッファを利用した符号化処理中に、入力用バッファには、新たに入力されるフレームを符号化処理と並行して記録していく(図8参照)。ここで、計算量制御バッファ31の一方のバッファ31−1又は31−2に入るフレーム数(以下、NumOfFrameとする)は予め定められている。格納フレーム数が多いとより柔軟な制御ができ、符号化効率が高くなる可能性がある反面、動画像が入力されて動画像符号が出力されるまでの遅延が長くなり、またメモリ使用量も増える。両者のトレードオフを考慮し、フレーム数NumOfFrameを定めれば良い。   The frame (image) input to the moving image encoding apparatus is input to the calculation amount control buffer 31, and is recorded in one of the buffers 31-1 and 31-2 that are two screens. When the buffer that is recording the input frame is clogged, the recorded input buffer is switched for encoding processing, and the encoding processing buffer is switched for input. During the encoding process using the encoding process buffer, a newly input frame is recorded in the input buffer in parallel with the encoding process (see FIG. 8). Here, the number of frames (hereinafter referred to as NumOfFrame) entering one buffer 31-1 or 31-2 of the calculation amount control buffer 31 is determined in advance. A large number of storage frames allows more flexible control and higher coding efficiency, but on the other hand, the delay between the input of moving images and the output of moving image codes increases, and the memory usage also increases. Increase. The number of frames NumOfFrame may be determined in consideration of the trade-off between the two.

図9は、一方のバッファ31−1(又は31−2)が符号化処理用に切り替わったときから、そのバッファ31−1が次に入力用に切り替わるまでの期間における符号化処理を示すフローチャートである。   FIG. 9 is a flowchart showing encoding processing in a period from when one buffer 31-1 (or 31-2) is switched for encoding processing to when the buffer 31-1 is switched for input next time. is there.

バッファが切り替わったら、計算量予測部32において、計算量制御バッファ31の符号化処理用のバッファに格納中の各フレームの符号化に要する計算量が予測される(ステップS1)。   When the buffer is switched, the calculation amount prediction unit 32 predicts the calculation amount required for encoding each frame stored in the encoding processing buffer of the calculation amount control buffer 31 (step S1).

例えば、フレーム内符号化を行うフレームの場合には、フレームの複雑度を元に予測する。複雑度を捉える簡単な指標としては、例えば、そのフレームの画素値の分散を挙げることができる。ここで、フレーム内符号化方式としては、幾つかの予測モードに基づき、ブロックの画素値を予測し、元の画像の画素との差分を使い符号化するものを上げることができ、画像が複雑であればあるほど、より複雑な予測モードも試す必要があるので、計算量を予測するパラメータとして画像の複雑度を反映したものを適用する。   For example, in the case of a frame for which intraframe coding is performed, prediction is performed based on the complexity of the frame. As a simple index for capturing the complexity, for example, dispersion of pixel values of the frame can be cited. Here, as an intra-frame coding method, based on several prediction modes, a pixel value of a block can be predicted, and a coding method using a difference from a pixel of the original image can be raised, and the image is complicated. The more it is necessary, the more complicated prediction mode must be tried. Therefore, a parameter that reflects the complexity of the image is applied as a parameter for predicting the calculation amount.

また例えば、フレーム間符号化の場合には、参照フレームと比べてどれだけ変化があったかによって符号化での計算量が変わってくるため、参照フレームとの相違で、符号化に要する計算量を予測する。参照フレームとの相違を捉える指標としては、例えば、動き補償を行なわない参照フレームの画素値との差の絶対値の和を挙げることができる。フレーム間符号化の場合、参照フレームにおける対応する範囲との差分を符号するため、一般的に言えば、参照フレームとの差が大きければ大きいほど、対応する範囲を探索する範囲を十分に広げて(計算量を増やして)探索しないと、符号化効率を上げることができず、そのため、参照フレームとの相違で、符号化に要する計算量を予測することとした。   Also, for example, in the case of inter-frame coding, the amount of calculation in coding changes depending on how much the change is compared with the reference frame, so the amount of calculation required for coding is predicted due to the difference from the reference frame. To do. As an index for capturing the difference from the reference frame, for example, the sum of absolute values of differences from the pixel values of the reference frame for which motion compensation is not performed can be given. In the case of inter-frame coding, the difference from the corresponding range in the reference frame is encoded. Generally speaking, the larger the difference from the reference frame, the wider the range for searching for the corresponding range. If search is not performed (increasing the amount of calculation), the encoding efficiency cannot be increased. Therefore, the amount of calculation required for encoding is predicted based on the difference from the reference frame.

計算量制御部33は、各フレームの符号化処理での計算量の予測値に基づき、各フレームに計算量を割り振る(ステップS2)。   The calculation amount control unit 33 allocates the calculation amount to each frame based on the predicted value of the calculation amount in the encoding process of each frame (step S2).

予め、NumOfFrameフレーム数分の総計算量(TotalComputation)を符号化が始まる前に定めておく。TotalComputationは、計算量予測部32及び計算量制御部33での処理時間も踏まえた上で、NumOfFrameフレーム数分の符号化に要する時間が、NumOfFrameフレーム数分のフレームがバッファ31−1又は31−2に入力するのに要する時間を越えないように設定する。こうすることにより、NumOfFrameフレーム数分を入力するための遅延が生じることがあっても、符号化の実時間性を保つことができるようになる(入力用バッファが詰まる頃には符号化処理用バッファ内のフレームの符号化が終了している)。   The total amount of calculation (TotalComputation) for the number of NumOfFrame frames is determined in advance before encoding starts. Total Computation takes into account the processing time in the calculation amount prediction unit 32 and the calculation amount control unit 33, and the time required for encoding the number of NumOfFrame frames is the number of frames corresponding to the number of NumOfFrame frames. Set so that the time required for input in 2 is not exceeded. By doing this, even if there is a delay for inputting the number of NumOfFrame frames, the real-time property of the encoding can be maintained (when the input buffer is clogged, the encoding processing is performed). The encoding of the frame in the buffer has been completed).

次に、各フレームに符号化処理での計算量を割り当てる方法を説明する。様々な割り当て方法が考えられるが、最も簡単な方法と思われる方法は、(6)式に従って算出する方法である。

Figure 2009153102
Next, a method for assigning the amount of calculation in the encoding process to each frame will be described. Various allocation methods are conceivable, but the method considered to be the simplest method is a method of calculating according to the equation (6).
Figure 2009153102

(6)式において、AmountOfComputation[i]は、i(iは0〜NumOfFrame−1)番目のフレームに割り当てる計算量を表している。α[i]は、フレーム内符号化かフレーム間符号化かによって異なる値をとる符号化方式の差を吸収するためのパラメータである。α[i]は、i番目のフレームがフレーム内符号化の場合には0<α[i]<1の範囲内の予め定められた値をとり、フレーム間符号化の場合には1とする。このα[i]は、実装によるが、フレーム間符号化処理の計算量に対するフレーム内符号化処理の計算量によって求められる値である。PredComp[i]は、計算量予測部32で予測されたi番目のフレームの計算量である。従って、(6)式は、予測計算量PredComp[i]にα[i]を乗算して符号化方式の差を吸収させた後、総計算量TotalComputationを按分したものを、i番目のフレームの割当計算量AmountOfComputation[i]とすることを表している。   In Expression (6), AmountOfComputation [i] represents the amount of calculation allocated to the i-th frame (i is 0 to NumOfFrame-1). α [i] is a parameter for absorbing a difference between encoding methods that take different values depending on whether intra-frame encoding or inter-frame encoding. α [i] takes a predetermined value within the range of 0 <α [i] <1 when the i-th frame is intra-frame coding, and is 1 when inter-frame coding. . This α [i] is a value obtained by the calculation amount of the intraframe encoding process with respect to the calculation amount of the interframe encoding process, depending on the implementation. PredComp [i] is the calculation amount of the i-th frame predicted by the calculation amount prediction unit 32. Therefore, the expression (6) is obtained by multiplying the prediction calculation amount PredComp [i] by α [i] to absorb the difference of the encoding method and then dividing the total calculation amount TotalComputation of the i-th frame. This indicates that the allocation calculation amount is MountOfComputation [i].

計算量制御部33は、パラメータIを0からインクリメントさせながら、処理対象フレームを切り替えていき、I番目のフレームの符号化処理時には、I番目のフレームの割当計算量AmountOfComputation[I]に基づき、符号化部34を制御する(ステップS3〜S8)。   The calculation amount control unit 33 switches the processing target frame while incrementing the parameter I from 0, and at the time of the encoding process of the I-th frame, based on the allocation calculation amount AmountOfComputation [I] of the I-th frame, The control unit 34 is controlled (steps S3 to S8).

符号化部34は、計算量制御部33の制御下で、計算量制御バッファ31からI番目のフレームを取り出した場合において(I−1番目のフレームの処理は終わっているとする)、新たなフレームがフレーム内符号化方式に従って符号化するフレームの場合には、関数NumberOfMode(AmountOfComputation[I])により、適用する予測モード数を求め、フレーム内予測を行うモード数を制限する。入力値に対して関数NumberOfMode()が出力する値は、フレーム内符号化処理の性能により予め定めておく。符号化部34は、計算量制御バッファ31から取り出したI番目のフレームがフレーム間符号化方式に従って符号化するフレームの場合には、関数SearchRange(AmountOfComputation[I])により、適用する動きベクトル探索範囲を求め、その探索範囲で動き探索を行ってフレーム間符号化を行う。入力値に対して関数SearchRange()が出力する値も、フレーム間符号化処理の性能により予め定めておく。   When the encoding unit 34 takes out the I-th frame from the calculation amount control buffer 31 under the control of the calculation amount control unit 33 (assuming that the processing of the (I-1) -th frame is finished), a new one is generated. When the frame is a frame that is encoded according to the intraframe encoding method, the number of prediction modes to be applied is obtained by the function NumberOfMode (AmountOfComputation [I]), and the number of modes in which intraframe prediction is performed is limited. The value output by the function NumberOfMode () with respect to the input value is determined in advance according to the performance of the intraframe encoding process. When the I-th frame extracted from the calculation amount control buffer 31 is a frame that is encoded according to the inter-frame encoding method, the encoding unit 34 applies a motion vector search range to be applied by the function SearchRange (AmountOfComputation [I]). And performs motion search within the search range to perform interframe coding. The value output by the function SearchRange () with respect to the input value is also determined in advance according to the performance of the interframe coding process.

(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、NumOfFrame分のフレームの符号化処理に要する処理時間を予め定めておき、これを超えないように、各フレームの予測される計算量に基づき、計算量を配分するようにしたので、計算量をあまり要しないと思われるフレームでは計算量を少なくし、使わなかった分をより多い計算量を要するフレームに振り分けることができ、符号化効率の向上を期待することができる。
(B-3) Effect of Second Embodiment As described above, according to the second embodiment, the processing time required for the encoding process of the frame for NumOfFrame is determined in advance so as not to exceed this. Since the calculation amount is allocated based on the predicted calculation amount of each frame, the calculation amount is reduced in the frame that seems to require less calculation amount, and the calculation amount that is not used is required more. It can be allocated to frames, and an improvement in encoding efficiency can be expected.

仮に、計算量一定で符号化した場合、計算量を要さないフレームでは余分な計算を行って、計算量を要するフレームでは十分な符号化効率を期待できない。また、計算量を単純にフレームの予測される計算量に応じ可変させる方式では、計算量が一定にならず、計算量が多いフレームが連続する場合には、実時間処理が不可能となり、フレームの間引きを行う必要が生じてしまう。   If encoding is performed with a constant calculation amount, extra calculation is performed in a frame that does not require calculation amount, and sufficient encoding efficiency cannot be expected in a frame that requires calculation amount. In addition, in the method in which the calculation amount is simply varied according to the predicted calculation amount of the frame, the calculation amount is not constant, and when frames with a large calculation amount are continuous, real-time processing becomes impossible, and the frame It becomes necessary to perform thinning.

また、NumOfFrame分をバッファするための遅延は発生するものの、NumOfFrame分のフレームに対する計算量一定の条件は満たしているので、実時間のエンコードは可能となっている。   In addition, although a delay for buffering NumOfFrame is generated, the condition of a constant amount of calculation for the frame of NumOfFrame is satisfied, so real-time encoding is possible.

(C)第3の実施形態
次に、本発明による動画像符号化装置及び動画像符号化プログラムの他の実施形態(以下、第3の実施形態と呼ぶ)を、図面を参照しながら詳述する。
(C) Third Embodiment Next, another embodiment (hereinafter referred to as a third embodiment) of a moving image encoding apparatus and a moving image encoding program according to the present invention will be described in detail with reference to the drawings. To do.

ここで、第3の実施形態の動画像符号化装置の全て又は一部も、ハードウェアによって構築することもできるが、CPUとCPUが実行するプログラムで構築することもできる。   Here, all or part of the moving picture coding apparatus according to the third embodiment can be constructed by hardware, but can also be constructed by a CPU and a program executed by the CPU.

第3の実施形態も、第2の実施形態と同様に、1フレーム内で計算量の調整を行うのではなく、複数フレーム単位で各フレームの符号化に要する計算量の調整を行おうとしたものである。   In the third embodiment, as in the second embodiment, the calculation amount is not adjusted within one frame, but the calculation amount necessary for encoding each frame is adjusted in units of a plurality of frames. It is.

(C−1)第3の実施形態の構成
図10は、第3の実施形態の動画像符号化装置の全体構成を示すブロック図であり、第2の実施形態に係る図7との同一、対応部分には同一符号を付して示している。
(C-1) Configuration of the Third Embodiment FIG. 10 is a block diagram showing the overall configuration of the video encoding apparatus of the third embodiment, which is the same as FIG. 7 according to the second embodiment. Corresponding parts are denoted by the same reference numerals.

図10に示すように、第3の実施形態の動画像符号化装置の場合、符号化部34から、各フレームにおける符号量が計算量予測部32へフィードバックされるようになされており、計算量予測部32は、このフィードバックされた符号量も利用して計算量を予測する。なお、各フレームに対する計算量の予測方法が変更になったため、計算量制御部33による各フレームに対する割当て計算量の決定方法も、第2の実施形態のものとは異なるようになっている。   As shown in FIG. 10, in the case of the moving picture encoding apparatus according to the third embodiment, the encoding amount in each frame is fed back from the encoding unit 34 to the calculation amount predicting unit 32. The prediction unit 32 predicts the calculation amount using the fed back code amount. Note that since the calculation amount prediction method for each frame has been changed, the calculation amount determination method for each frame by the calculation amount control unit 33 is also different from that of the second embodiment.

(C−2)第3の実施形態の動作
次に、第3の実施形態に係る動画像符号化装置の動作を説明する。
(C-2) Operation of the Third Embodiment Next, the operation of the video encoding apparatus according to the third embodiment will be described.

第3の実施形態に係る動画像符号化装置も基本的な動作の流れは、第2の実施形態と同様である。すなわち、所定数のフレーム単位に、入力用バッファと符号化処理バッファとを切り替える。新たな切り替えが起こると、計算量予測部32が各フレームについて符号化処理での計算量を予測し、計算量制御部33が、所定数のフレームに対する総計算量を、各フレームの予測計算量に応じて、各フレームに振り分け、符号化部34は、計算量制御部33の制御下で、各フレームについて、割り当てられた計算量に応じた符号化処理を実行する。   The basic operation flow of the video encoding apparatus according to the third embodiment is the same as that of the second embodiment. That is, the input buffer and the encoding processing buffer are switched in units of a predetermined number of frames. When a new switching occurs, the calculation amount prediction unit 32 predicts the calculation amount in the encoding process for each frame, and the calculation amount control unit 33 calculates the total calculation amount for a predetermined number of frames as the predicted calculation amount of each frame. Accordingly, the encoding unit 34 performs encoding processing corresponding to the allocated calculation amount for each frame under the control of the calculation amount control unit 33.

しかしながら、計算量予測部32での予測計算量の求め方と計算量制御部33での計算量制御の仕方が、第3の実施形態は第2の実施形態と異なっている。図11は、第3の実施形態における計算量予測部32での予測計算量の求め方と計算量制御部33での計算量制御の仕方を、動作プログラム的に示している。なお、図11では、フレームを「画面」という用語で表現している。   However, the third embodiment differs from the second embodiment in how to calculate the predicted calculation amount in the calculation amount prediction unit 32 and how to calculate the calculation amount in the calculation amount control unit 33. FIG. 11 shows how to calculate the predicted calculation amount in the calculation amount prediction unit 32 and how to control the calculation amount in the calculation amount control unit 33 in the third embodiment in terms of an operation program. In FIG. 11, the frame is expressed by the term “screen”.

図11における1行目R1は、処理単位となっているフレーム数をNとした場合、その処理単位内での各フレームを規定するパラメータIを0から1インクリメントずつ変化させながら、そのパラメータIでの処理を繰り返すことを表しており、パラメータIがNに達したときに処理を終了させることを表している。従って、パラメータIが新たな値になったときには(新たなフレームを指示するようになったときには)、その新たな値について、2行目R2〜6行目R6の処理が実行することを表している。   In the first row R1 in FIG. 11, when the number of frames that are a processing unit is N, the parameter I that defines each frame in the processing unit is changed from 0 by 1 increment, while the parameter I This represents that the process is repeated, and when the parameter I reaches N, the process is terminated. Therefore, when the parameter I becomes a new value (when a new frame is designated), the processing of the second row R2 to the sixth row R6 is executed for the new value. Yes.

2行目R2の処理は、計算量予測部32が行う計算量の予測処理である。「前画面(前フレーム)の符号量」は符号化部34からフィードバックされた値であり、この実際の符号量と、標準的な符号量との差を求め、それに所定のパラメータα(第2の実施形態のものと意味は異なる)を掛けた右辺第2項を、符号化効率を表すものとしている。第2項の符号化効率が大きいほど前画面で符号化効率が悪かったことを示し、現画面(パラメータIで定まる現フレーム)でより計算量を増やすべく、この符号化効率を予測計算量に反映する。なお、符号化の最初の画面(Iが0でのフレーム)の場合には適当な初期値を使う。また、前画面が現画面と同じ符号化方式でない場合(現画面がフレーム間符号化方式で前画面がフレーム内符号化方式の場合、又は、現画面がフレーム内符号化方式で前画面がフレーム間符号化方式の場合)には、前画面の計算量に適当なパラメータをかける。   The process in the second row R2 is a calculation amount prediction process performed by the calculation amount prediction unit 32. The “code amount of the previous screen (previous frame)” is a value fed back from the encoding unit 34, and a difference between the actual code amount and the standard code amount is obtained, and a predetermined parameter α (second The second term on the right-hand side multiplied by a different meaning from that of the embodiment of FIG. 4 represents the encoding efficiency. The larger the coding efficiency of the second term, the worse the coding efficiency on the previous screen. In order to increase the amount of calculation on the current screen (current frame determined by the parameter I), this coding efficiency is set to the predicted amount of calculation. reflect. In the case of the first screen of encoding (frame where I is 0), an appropriate initial value is used. Also, if the previous screen is not the same encoding method as the current screen (if the current screen is an interframe encoding method and the previous screen is an intraframe encoding method, or the current screen is an intraframe encoding method and the previous screen is a frame) In the case of an inter-coding system), an appropriate parameter is applied to the amount of calculation of the previous screen.

3行目R3〜6行目R6の処理は、計算量制御部33が行う処理である。   The processes of the third line R3 to the sixth line R6 are processes performed by the calculation amount control unit 33.

3行目R3の処理は、現画面について実際に割り当てる計算量を求める処理である。「予測計算量」と、割当て可能な残量Sの1画面当たりに割り当てられる平均的な計算量S/(N−I)との重み付け加算によって、現画面について実際に割り当てる計算量を求めている。割当て可能な残量Sの初期値は、Nフレームに対して予め定められている総計算量である。   The process in the third line R3 is a process for obtaining a calculation amount to be actually allocated for the current screen. The calculation amount actually allocated for the current screen is obtained by weighted addition of the “predicted calculation amount” and the average calculation amount S / (N−I) allocated per screen of the remaining amount S that can be allocated. . The initial value of the remaining amount S that can be allocated is a total calculation amount that is predetermined for N frames.

4行目R4の処理は、3行目R3の処理で割り当てられた現画面についての計算量が、割当て可能な残量S(若しくは、残量Sを残りフレーム数で除算した値の所定倍(1より大きい値))を超えていた場合には、現画面についての割り当て計算量を、割当て可能な残量Sの1画面当たりに割り当てられる平均的な計算量S/(N−I)に置き換える処理である。これにより、未割当ての画面に対する割当て可能な量をそれなりに残すようにしている。   In the process of the fourth line R4, the calculation amount for the current screen allocated in the process of the third line R3 is the remaining amount S that can be allocated (or a predetermined multiple of the value obtained by dividing the remaining amount S by the number of remaining frames ( If the value exceeds 1)), the allocation calculation amount for the current screen is replaced with an average calculation amount S / (N−I) allocated per screen of the remaining amount S that can be allocated. It is processing. Thereby, an allocatable amount for an unallocated screen is left as it is.

5行目R5の処理は、3行目R3の処理又は4行目R4の処理により決定された現画面についての割り当て計算量に基づき、符号化部34の符号化処理を制御する処理である。   The process of the fifth line R5 is a process of controlling the encoding process of the encoding unit 34 based on the allocation calculation amount for the current screen determined by the process of the third line R3 or the process of the fourth line R4.

6行目R6の処理は、現画面についての割り当て計算量分だけ、割当て可能な残量Sを少なくする処理である。   The process of the sixth line R6 is a process of reducing the remaining amount S that can be allocated by the amount of allocation calculation for the current screen.

(C−3)第3の実施形態の効果
第3の実施形態によれば、第2の実施形態と同様に、計算量をあまり要しないと思われるフレームでは計算量を少なくし、使わなかった分をより多い計算量を要するフレームに振り分けることができ、符号化効率の向上を期待することができる。
(C-3) Effects of the Third Embodiment According to the third embodiment, as in the second embodiment, the calculation amount is reduced and not used in a frame that does not require much calculation amount. Thus, it is possible to allocate the minutes to frames that require a larger amount of calculation, and it is possible to expect an improvement in encoding efficiency.

第3の実施形態によれば、第2の実施形態に比べ、各フレームにおける符号化処理の計算量の予測に費やす計算量を少なくすることができる。   According to the third embodiment, compared with the second embodiment, it is possible to reduce the amount of calculation required for predicting the calculation amount of the encoding process in each frame.

(D)他の実施形態
上記各実施形態の説明でも、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
(D) Other Embodiments In the description of each of the above embodiments, various modified embodiments have been mentioned, and further modified embodiments as exemplified below can be given.

上記各実施形態におけるフレーム間符号化方式に供する参照フレームと入力フレームの差は、1フレームに限定されるものではない。また、参照フレームが入力フレームより過去のフレームに限定されるものでもない。   The difference between the reference frame and the input frame used for the interframe coding method in each of the above embodiments is not limited to one frame. Further, the reference frame is not limited to a frame past the input frame.

上記第1の実施形態では、1フレーム内の各ブロック処理に計算量(探索範囲の大きさ)の割当てを行うものを示し、第2及び第3の実施形態では、複数フレーム内の各フレーム処理に計算量の割当てを行うものを示したが、これらの技術思想を併用するようにしても良い。例えば、第2又は第3の実施形態の方法で計算量が割り振られたフレーム間符号化方式に従うフレームに対し、そのフレーム内の各ブロック処理に第1の実施形態の方法によって計算量を割当てるようにしても良い。   In the first embodiment, the calculation amount (the size of the search range) is assigned to each block process in one frame. In the second and third embodiments, each frame process in a plurality of frames is processed. Although the calculation amount allocation is shown in Fig. 5, these technical ideas may be used together. For example, with respect to a frame in accordance with the interframe coding scheme to which the calculation amount is allocated by the method of the second or third embodiment, the calculation amount is assigned to each block process in the frame by the method of the first embodiment. Anyway.

第1の実施形態に係るフレーム間符号化装置(フレーム間符号化部)の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the inter-frame coding apparatus (inter-frame coding part) which concerns on 1st Embodiment. 第1の実施形態のフレーム間符号化装置が適用された動画像の実時間符号化装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the real-time coding apparatus of the moving image to which the inter-frame coding apparatus of 1st Embodiment was applied. 動きベクトルの検出方法の説明図である。It is explanatory drawing of the detection method of a motion vector. 探索範囲と入力ブロックとの関係を示す説明図である。It is explanatory drawing which shows the relationship between a search range and an input block. 第1の実施形態における動きの探索範囲の一部決定手順を示すフローチャートである。It is a flowchart which shows the partial determination procedure of the search range of the motion in 1st Embodiment. 第1の実施形態における周辺ブロックの説明図である。It is explanatory drawing of the peripheral block in 1st Embodiment. 第2の実施形態に係る動画像符号化装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the moving image encoder which concerns on 2nd Embodiment. 第2の実施形態における計算量制御バッファの2面構成の説明図である。It is explanatory drawing of the 2 surface structure of the calculation amount control buffer in 2nd Embodiment. 第2の実施形態に係る動画像符号化装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the moving image encoder which concerns on 2nd Embodiment. 第3の実施形態に係る動画像符号化装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the moving image encoder which concerns on 3rd Embodiment. 第3の実施形態の動画像符号化装置における計算量予測部及び計算量制御部の動作プログラムを示す説明図である。It is explanatory drawing which shows the operation | movement program of the calculation amount estimation part and calculation amount control part in the moving image encoder of 3rd Embodiment.

符号の説明Explanation of symbols

13…フレーム間符号化部、21…ブロック分割部、22…動き探索部、23…動き補償部、24…変換量子化逆量子化逆変換部、25…符号化部、26…参照バッファ管理部、27…探索範囲制御部、31…計算量制御バッファ、32…計算量予測部、33…計算量制御部、34…符号化部。   DESCRIPTION OF SYMBOLS 13 ... Interframe encoding part, 21 ... Block division part, 22 ... Motion search part, 23 ... Motion compensation part, 24 ... Transform quantization Dequantization inverse transformation part, 25 ... Encoding part, 26 ... Reference buffer management part , 27 ... search range control unit, 31 ... calculation amount control buffer, 32 ... calculation amount prediction unit, 33 ... calculation amount control unit, 34 ... encoding unit.

Claims (10)

入力フレームを縦横に分割したブロック単位に、参照フレーム上の相似したブロックの位置を求めて動きベクトルを得る動きベクトル検出装置において、
参照フレーム上の指示された探索範囲で動きベクトルを検出する動き探索手段と、
フレーム内全ブロックの探索範囲の総和が、フレームについて定められた探索範囲許容量を超えないように、各ブロックの探索範囲を決定して、上記動き探索手段に指示する探索範囲制御手段と
を有することを特徴とする動きベクトル検出装置。
In a motion vector detection device that obtains a motion vector by obtaining the position of a similar block on a reference frame in units of blocks obtained by dividing an input frame vertically and horizontally,
Motion search means for detecting a motion vector in the indicated search range on the reference frame;
Search range control means for determining the search range of each block and instructing the motion search means so that the sum of the search ranges of all the blocks in the frame does not exceed the search range allowable amount determined for the frame. A motion vector detection apparatus characterized by the above.
上記探索範囲制御手段は、同一フレーム内の探索範囲が決定されていない残りのブロック数と、残りのブロック数に割当て可能な、残っている探索範囲許容量とに基づいて、各ブロックの探索範囲を決定することを特徴とする請求項1に記載の動きベクトル検出装置。   The search range control means determines the search range of each block based on the number of remaining blocks in which the search range in the same frame is not determined and the remaining search range allowable amount that can be allocated to the number of remaining blocks. The motion vector detection device according to claim 1, wherein: 上記動き探索手段による動き探索で得られた参照ブロックと入力ブロック間の相違度と得られた動きベクトルの大きさに基づき、予測探索範囲を決定する予測範囲決定手段を有し、
上記探索範囲制御手段は、動き探索が既に実行された、入力ブロックの周囲ブロックについての上記予測探索範囲をも利用して、各ブロックの探索範囲を決定することを特徴とする請求項2に記載の動きベクトル検出装置。
Based on the difference between the reference block and the input block obtained by the motion search by the motion search means and the size of the obtained motion vector, the prediction range determination means for determining the prediction search range,
The search range control means determines the search range of each block by using also the predicted search range for the surrounding blocks of the input block for which motion search has already been performed. Motion vector detection device.
入力フレームを縦横に分割した入力ブロックと、内蔵する動きベクトル検出装置が検出した動きベクトルに応じて位置が定まる、参照フレームにおける上記入力ブロックに対応する参照ブロックとの差分を符号化するフレーム間符号化装置において、
上記動きベクトル検出装置として、請求項1〜3のいずれかに記載のものを適用したことを特徴とするフレーム間符号化装置。
An interframe code that encodes the difference between an input block obtained by dividing an input frame vertically and horizontally and a reference block corresponding to the input block in the reference frame whose position is determined according to a motion vector detected by a built-in motion vector detection device. In the conversion device,
An inter-frame coding apparatus, wherein the motion vector detection apparatus according to any one of claims 1 to 3 is applied.
入力フレームを縦横に分割したブロック単位に、参照フレーム上の相似したブロックの位置を求めて動きベクトルを得る動きベクトル検出プログラムであって、
コンピュータを、
参照フレーム上の指示された探索範囲で動きベクトルを検出する動き探索手段と、
フレーム内全ブロックの探索範囲の総和が、フレームについて定められた探索範囲許容量を超えないように、各ブロックの探索範囲を決定して、上記動き探索手段に指示する探索範囲制御手段と
して機能させることを特徴とする動きベクトル検出プログラム。
A motion vector detection program that obtains a motion vector by obtaining a position of a similar block on a reference frame in units of blocks obtained by dividing an input frame vertically and horizontally,
Computer
Motion search means for detecting a motion vector in the indicated search range on the reference frame;
As search range control means for determining the search range of each block and instructing the motion search means so that the sum of the search ranges of all the blocks in the frame does not exceed the search range allowable amount determined for the frame. A motion vector detection program characterized by functioning.
上記探索範囲制御手段は、同一フレーム内の探索範囲が決定されていない残りのブロック数と、残りのブロック数に割当て可能な、残っている探索範囲許容量とに基づいて、各ブロックの探索範囲を決定することを特徴とする請求項5に記載の動きベクトル検出プログラム。   The search range control means determines the search range of each block based on the number of remaining blocks in which the search range in the same frame is not determined and the remaining search range allowable amount that can be allocated to the number of remaining blocks. The motion vector detection program according to claim 5, wherein: 上記コンピュータを、上記動き探索手段による動き探索で得られた参照ブロックと入力ブロック間の相違度と得られた動きベクトルの大きさに基づき、予測探索範囲を決定する予測範囲決定手段として機能させるプログラム部分を含み、
上記探索範囲制御手段は、動き探索が既に実行された、入力ブロックの周囲ブロックについての上記予測探索範囲をも利用して、各ブロックの探索範囲を決定する
ことを特徴とする請求項6に記載の動きベクトル検出プログラム。
A program that causes the computer to function as a prediction range determination unit that determines a prediction search range based on the degree of difference between a reference block obtained by motion search by the motion search unit and an input block and the size of the obtained motion vector Including parts,
The said search range control means determines the search range of each block also using the said prediction search range about the surrounding block of an input block in which the motion search has already been performed. Motion vector detection program.
入力フレームを縦横に分割した入力ブロックと、内蔵する動きベクトル検出プログラムが検出した動きベクトルに応じて位置が定まる、参照フレームにおける上記入力ブロックに対応する参照ブロックとの差分を符号化する、コンピュータが実行し得るように記述されたフレーム間符号化プログラムにおいて、
上記動きベクトル検出プログラムとして、請求項5〜7のいずれかに記載のものを適用したことを特徴とするフレーム間符号化プログラム。
A computer that encodes a difference between an input block obtained by dividing an input frame vertically and horizontally and a reference block corresponding to the input block in the reference frame whose position is determined according to a motion vector detected by a built-in motion vector detection program. In an interframe coding program written to be executable,
An interframe coding program characterized by applying the motion vector detection program according to any one of claims 5 to 7.
動画像をフレーム毎に符号化する動画像符号化装置において、
各フレームの符号化を行う、符号化に要する処理計算量を切り替え可能な符号化手段と、
所定数(2以上の任意の値)が連続するフレーム単位に対して予め定められている総計算量を超えないように、フレーム単位内の各フレームに対し、各フレームの内容に応じて計算量を配分する計算量配分手段と、
各フレームに配分された計算量に従うように、上記符号化手段による符号化を制御する計算量制御手段と
を有することを特徴とする動画像符号化装置。
In a video encoding device that encodes a video for each frame,
Encoding means for encoding each frame, and capable of switching a processing calculation amount required for encoding;
The amount of calculation for each frame in the frame unit according to the content of each frame so that the predetermined number (any value of 2 or more) does not exceed the total amount of calculation predetermined for the continuous frame unit Calculation amount distribution means for allocating
And a calculation amount control means for controlling encoding by the encoding means so as to follow the calculation amount allocated to each frame.
動画像をフレーム毎に符号化する、動画像符号化装置を構成するコンピュータに搭載される動画像符号化プログラムであって、
コンピュータを、
各フレームの符号化を行う、符号化に要する処理計算量を切り替え可能な符号化手段と、
所定数(2以上の任意の値)が連続するフレーム単位に対して予め定められている総計算量を超えないように、フレーム単位内の各フレームに対し、各フレームの内容に応じて計算量を配分する計算量配分手段と、
各フレームに配分された計算量に従うように、上記符号化手段による符号化を制御する計算量制御手段として機能させる
ことを特徴とする動画像符号化プログラム。
A moving image encoding program installed in a computer constituting a moving image encoding device for encoding a moving image for each frame,
Computer
Encoding means for encoding each frame, and capable of switching a processing calculation amount required for encoding;
The amount of calculation for each frame in the frame unit according to the content of each frame so that the predetermined number (any value of 2 or more) does not exceed the total amount of calculation predetermined for the continuous frame unit Calculation amount distribution means for allocating
A moving picture encoding program, which functions as a calculation amount control unit for controlling encoding by the encoding unit so as to follow a calculation amount allocated to each frame.
JP2008244583A 2007-11-28 2008-09-24 Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program Pending JP2009153102A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008244583A JP2009153102A (en) 2007-11-28 2008-09-24 Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007307538 2007-11-28
JP2008244583A JP2009153102A (en) 2007-11-28 2008-09-24 Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program

Publications (1)

Publication Number Publication Date
JP2009153102A true JP2009153102A (en) 2009-07-09

Family

ID=40921642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008244583A Pending JP2009153102A (en) 2007-11-28 2008-09-24 Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program

Country Status (1)

Country Link
JP (1) JP2009153102A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060149A (en) * 2009-09-11 2011-03-24 Fujifilm Corp Image analysis apparatus and method, and program
JP2011182356A (en) * 2010-03-04 2011-09-15 Fujitsu Ltd Motion vector detecting apparatus
CN113573051A (en) * 2015-01-13 2021-10-29 英迪股份有限公司 Video encoding and decoding apparatus, method and computer-readable recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07143492A (en) * 1993-11-17 1995-06-02 Matsushita Electric Ind Co Ltd Video coding method by automatic motion search range adjustment with respect to motion estimation
JPH0965339A (en) * 1995-08-18 1997-03-07 Mitsubishi Electric Corp Image block motion detector
JP2003244707A (en) * 2002-01-26 2003-08-29 Lg Electronics Inc Adaptive decision method of motion vector search range
JP2007166608A (en) * 2005-12-13 2007-06-28 Mitsubishi Electric Research Laboratories Inc Video-coding method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07143492A (en) * 1993-11-17 1995-06-02 Matsushita Electric Ind Co Ltd Video coding method by automatic motion search range adjustment with respect to motion estimation
JPH0965339A (en) * 1995-08-18 1997-03-07 Mitsubishi Electric Corp Image block motion detector
JP2003244707A (en) * 2002-01-26 2003-08-29 Lg Electronics Inc Adaptive decision method of motion vector search range
JP2007166608A (en) * 2005-12-13 2007-06-28 Mitsubishi Electric Research Laboratories Inc Video-coding method and system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060149A (en) * 2009-09-11 2011-03-24 Fujifilm Corp Image analysis apparatus and method, and program
JP2011182356A (en) * 2010-03-04 2011-09-15 Fujitsu Ltd Motion vector detecting apparatus
CN113573051A (en) * 2015-01-13 2021-10-29 英迪股份有限公司 Video encoding and decoding apparatus, method and computer-readable recording medium
CN113573052A (en) * 2015-01-13 2021-10-29 英迪股份有限公司 Video encoding and decoding apparatus, method and computer-readable recording medium
CN113573052B (en) * 2015-01-13 2023-12-05 杜比实验室特许公司 Video encoding/decoding apparatus, method, and computer-readable recording medium
CN113573051B (en) * 2015-01-13 2024-03-01 杜比实验室特许公司 Video encoding/decoding apparatus, method, and computer-readable recording medium

Similar Documents

Publication Publication Date Title
US8023562B2 (en) Real-time video coding/decoding
JP5006327B2 (en) Two pass rate control technique for video coding using rate-distortion characteristics
US7023914B2 (en) Video encoding apparatus and method
KR102121558B1 (en) Method of stabilizing video image, post-processing device and video encoder including the same
JP5096342B2 (en) Two pass rate control technique for video coding using min-max approach
US7561736B2 (en) Image processing apparatus and method of the same
US8406297B2 (en) System and method for bit-allocation in video coding
KR20000006504A (en) Method and apparatus for block classification and adaptive bit allocation
JP2011510591A (en) Coding mode determination method and apparatus using spatio-temporal complexity
JP4702059B2 (en) Method and apparatus for encoding moving picture
US20120076207A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
JPH10136382A (en) System and method for executing motion prediction with improved efficiency in dct domain
AU2008258910A1 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
KR20140110221A (en) Video encoder, method of detecting scene change and method of controlling video encoder
WO2011086836A1 (en) Encoder apparatus, decoder apparatus, and data structure
US20090168878A1 (en) Moving picture coding device, moving picture coding method, and recording medium with moving picture coding program recorded thereon
US10812832B2 (en) Efficient still image coding with video compression techniques
JP2007521740A (en) How to find zeros in the transformation domain early
CN115567722A (en) Application acceleration
US20090028241A1 (en) Device and method of coding moving image and device and method of decoding moving image
JP3508916B2 (en) Moving image variable bit rate encoding method and apparatus
JP6435029B2 (en) Video encoding apparatus and video encoding program
JP2009153102A (en) Motion vector detecting device, inter-frame encoding device, moving image encoding device, motion vector detection program, inter-frame encoding program and moving image encoding program
JP6946979B2 (en) Video coding device, video coding method, and video coding program
JP5832263B2 (en) Image coding apparatus and image coding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120807