JPH11215504A - Dynamic image coder - Google Patents
Dynamic image coderInfo
- Publication number
- JPH11215504A JPH11215504A JP983998A JP983998A JPH11215504A JP H11215504 A JPH11215504 A JP H11215504A JP 983998 A JP983998 A JP 983998A JP 983998 A JP983998 A JP 983998A JP H11215504 A JPH11215504 A JP H11215504A
- Authority
- JP
- Japan
- Prior art keywords
- code length
- code
- unit
- motion vector
- image
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、動画像を動き補償
して符号化する動画像符号化装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a moving picture coding apparatus for coding a moving picture with motion compensation.
【0002】[0002]
【従来の技術】従来、動画像を動き補償して予測符号化
することにより動画像の符号量(情報量)を低減させる
動画像符号化技術が知られている。例えば、特開平6−
105299号公報には、動画像でなる入力画像の1画
面を所定の画像ブロックに分割して各画像ブロックごと
に複数候補の動きベクトルを用意し、フレーム間予測を
行なうに際して符号化効率を最も改善する動きベクトル
を選択する動画像圧縮装置が開示されている。2. Description of the Related Art Conventionally, there has been known a moving picture coding technique for reducing the code amount (information amount) of a moving picture by motion-compensating and predictively coding the moving picture. For example, Japanese Unexamined Patent Publication
No. 105299 discloses that one screen of an input image composed of a moving image is divided into predetermined image blocks, a plurality of candidate motion vectors are prepared for each image block, and encoding efficiency is most improved when performing inter-frame prediction. A moving image compression apparatus for selecting a motion vector to be executed is disclosed.
【0003】具体的に、その構成を図6に示す。同図に
おいて、430はコントローラ、431は画像メモリ、
432は減算器、433はDCT(Discrete Cosine Tra
nsform)演算部、434は量子化部、435は可変長符
号化部(VLC)、436はバッファ、438は逆量子
化部、439は逆DCT演算部(IDCT)、440は
加算器、441ないし443はスイッチ、444および
445は予測器である。また、上述の逆量子化部43
8、逆DCT演算部439、加算器440、スイッチ4
41ないし443、予測器444および445は、動き
補償フレーム間予測部(符号なし)を構成する。[0003] Specifically, the configuration is shown in FIG. In the figure, 430 is a controller, 431 is an image memory,
432 is a subtractor, and 433 is DCT (Discrete Cosine Tra
nsform) operation unit, 434 is a quantization unit, 435 is a variable length coding unit (VLC), 436 is a buffer, 438 is an inverse quantization unit, 439 is an inverse DCT operation unit (IDCT), 440 is an adder, 441 to 441 443 is a switch, and 444 and 445 are predictors. In addition, the above-described inverse quantization unit 43
8, inverse DCT operation section 439, adder 440, switch 4
41 to 443 and the predictors 444 and 445 constitute a motion-compensated inter-frame predictor (no code).
【0004】以下、図7に示すフローチャートに沿っ
て、図6に示す動画像圧縮装置の4種類の動作(第1な
いし第4の動作)を説明する。なお、第1ないし第4の
各動作の説明では、図7に示すフローチャートの各ステ
ップを引用するが、各動作の説明で引用されないステッ
プについては、その動作に関する限り図7に示すフロー
チャートから削除するものとする。Hereinafter, four types of operations (first to fourth operations) of the moving picture compression apparatus shown in FIG. 6 will be described with reference to a flowchart shown in FIG. In the description of the first to fourth operations, each step of the flowchart shown in FIG. 7 is referred to, but steps not referred to in the description of each operation are deleted from the flowchart shown in FIG. 7 as far as the operation is concerned. Shall be.
【0005】まず、この動画像圧縮装置の第1の動作を
説明する。以下に述べる一連の動作はコントローラ43
0の制御の下に行われる。画像メモリ431には外部か
らの画像データが蓄積される。減算器432は、画像メ
モリ431から読み出された画像データと後述の予測器
444または445からの予測画像との差分を出力す
る。DCT演算部433は、減算器432からの差分デ
ータを直交変換して周波数軸に変換する。量子化部43
4および可変長符号化部435は、DCT演算部433
からのデータをそれぞれ量子化して可変長符号化し、バ
ッファ436を介して符号化データとして外部に出力す
る。First, a first operation of the moving picture compression apparatus will be described. A series of operations described below are performed by the controller 43.
It is performed under the control of 0. The image memory 431 stores external image data. The subtractor 432 outputs a difference between the image data read from the image memory 431 and a predicted image from a predictor 444 or 445 described later. The DCT calculation unit 433 performs orthogonal transform on the difference data from the subtractor 432 to convert the difference data into a frequency axis. Quantization unit 43
4 and the variable length coding unit 435
Are quantized and variable-length coded, and output to the outside as coded data via a buffer 436.
【0006】ここで、動き補償フレーム間予測部(符号
なし)は、コントローラ430の制御の下に、時間軸方
向の圧縮のためのフレーム間予測処理を行う。すなわ
ち、量子化部434からのデータは、逆量子化部438
および逆DCT演算部439により復号されて予測器4
43または444からの予測画像に加算される。この予
測画像に基づき、1画面を分割して得られる所定の画像
ブロック(部分画像)ごとに複数候補の動きベクトルが
検出されて用意される(ステップS1)。Here, the motion-compensated inter-frame prediction unit (without sign) performs an inter-frame prediction process for compression in the time axis direction under the control of the controller 430. That is, the data from the quantization unit 434 is
And the predictor 4 which is decoded by the inverse DCT
It is added to the predicted image from 43 or 444. Based on the predicted image, a plurality of candidate motion vectors are detected and prepared for each predetermined image block (partial image) obtained by dividing one screen (step S1).
【0007】そして、複数候補の動きベクトルの中から
実際に符号化するときに最もよい符号化効率を与える動
きベクトルが決定され(ステップS5)、既に符号化さ
れた画像(予測画像)を動きベクトル分だけ移動させて
動き補償が行われ、フレーム間予測が行われる。なお、
スイッチ441ないし443は、画像モードおよび予測
モードに応じて、コントローラ430により切り替えら
れる。Then, a motion vector which gives the best coding efficiency when actually coding is determined from a plurality of candidate motion vectors (step S5), and the already coded image (predicted image) is The motion is compensated by moving the image by the distance, and the inter-frame prediction is performed. In addition,
The switches 441 to 443 are switched by the controller 430 according to the image mode and the prediction mode.
【0008】次に、この動画像圧縮装置の第2の動作を
説明する。上述の第1の動作と同様にフレーム間予測が
行われ、各画像ブロックごとに複数候補の動きベクトル
が検出されて用意される(ステップS1)。検出された
複数候補の動きベクトルについて予測誤差が検出され、
この予測誤差について最小予測誤差に対する誤差係数が
算出される(ステップS2)。そして、算出された誤差
係数に基づいて、複数候補の動きベクトルの中から実際
に符号化するときに最もよい符号化効率を与える動きベ
クトルが決定される(ステップS5)。Next, a second operation of the moving picture compression apparatus will be described. Inter-frame prediction is performed in the same manner as in the above-described first operation, and a plurality of candidate motion vectors are detected and prepared for each image block (step S1). A prediction error is detected for the plurality of detected motion vectors,
An error coefficient for this prediction error with respect to the minimum prediction error is calculated (step S2). Then, based on the calculated error coefficient, a motion vector that gives the best coding efficiency when actually coding is determined from a plurality of candidate motion vectors (step S5).
【0009】次に、この動画像圧縮装置の第3の動作を
説明する。上述の第2の動作と同様にして複数候補の動
きベクトルの予測誤差が検出されると(ステップS1〜
ステップ2)、この複数候補の動きベクトルに対して実
際に符号化対象となる動きベクトルの値が算出される
(ステップS3)。算出された動きベクトルの値を基
に、符号化したときのコード長が図8に例示するベクト
ル符号化係数として算出される(ステップS4)。そし
て、この符号化係数に基づいて、実際に符号化するとき
に最もよい符号化効率を与える動きベクトルが決定され
る(ステップS5)。Next, a third operation of the moving picture compression apparatus will be described. When the prediction errors of the motion vectors of a plurality of candidates are detected in the same manner as in the above-described second operation (steps S1 to S1).
In step 2), the value of the motion vector to be actually encoded is calculated for the plurality of candidate motion vectors (step S3). Based on the calculated value of the motion vector, the code length at the time of encoding is calculated as a vector encoding coefficient illustrated in FIG. 8 (step S4). Then, based on the coding coefficients, a motion vector that gives the best coding efficiency when actually performing coding is determined (step S5).
【0010】次に、この動画像圧縮装置の第4の動作を
説明する。上述の第3の動作と同様にして複数候補の動
きベクトルの予測誤差が検出されると(ステップS1〜
ステップS2)、複数候補の動きベクトルを基に、符号
化したときのコード長がコード長ベクトル符号化係数と
して算出される(ステップS4)。そして、この符号化
係数に基づいて、実際に符号化するとき最もよい符号化
効率を与える動きベクトルが決定される(ステップS
5)。Next, a fourth operation of the moving picture compression apparatus will be described. When the prediction errors of the motion vectors of the plurality of candidates are detected in the same manner as the above-described third operation (steps S1 to S1).
In step S2), based on the motion vectors of the plurality of candidates, the code length at the time of encoding is calculated as a code length vector encoding coefficient (step S4). Then, based on the coding coefficient, a motion vector that gives the best coding efficiency when actually performing coding is determined (step S).
5).
【0011】[0011]
【発明が解決しようとする課題】ところで、上述の従来
技術にかかる動画像圧縮装置は、予め検出された複数候
補の動きベクトルの中から最もよい符号化効率を与える
動きベクトルを選択して符号化するものであって、動き
ベクトルのコード長は、その動きベクトルの大きさに関
係なく設定される。このため、動きベクトルによって
は、そのコード長が冗長となる場合があり、符号量を有
効に低減できないという問題がある。The moving picture compression apparatus according to the prior art described above selects a motion vector that gives the best coding efficiency from among a plurality of motion vectors detected in advance and performs coding. The code length of the motion vector is set regardless of the size of the motion vector. For this reason, depending on the motion vector, the code length may become redundant, and the code amount cannot be effectively reduced.
【0012】具体的には、上述の従来技術によれば、算
出された符号化係数に基づいて動きベクトルが決定され
るが、この符号化係数は動きベクトルの大きさに関係な
く一意に定まり、動きベクトルを符号化するための規則
は固定されている。したがって、最もよい符号化効率を
与える動きベクトルであっても、そのコード長は固定さ
れており、冗長となる場合を生じているのが現状であ
る。More specifically, according to the above-mentioned prior art, a motion vector is determined based on the calculated coding coefficient. The coding coefficient is uniquely determined regardless of the size of the motion vector. The rules for coding motion vectors are fixed. Therefore, even in the case of a motion vector that provides the best coding efficiency, the code length is fixed, and there is a case where the motion vector is redundant.
【0013】本発明は、このような問題に鑑みてなされ
たものであり、動きベクトルの大きさに応じて符号量を
低減させ、符号化効率を改善することのできる動画像符
号化装置を提供することを課題とする。The present invention has been made in view of such a problem, and provides a moving picture coding apparatus capable of reducing a coding amount according to the magnitude of a motion vector and improving coding efficiency. The task is to
【0014】[0014]
【課題を解決するための手段】本発明は、前記課題を解
決達成するため、以下の構成を有する。即ち、本発明
は、入力画像を所定の画像ブロックに分割し、上記入力
画像とあらかじめ符号化された予測画像とから上記画像
ブロックごとに動きベクトルを発生して上記動きベクト
ルに基づき上記予測画像の動きを補償する動き補償手段
を有し、上記動き補償手段により動き補償して上記入力
画像を符号化すると共に、指定されたコード長で上記動
きベクトルを符号化する符号化手段と、上記画像ブロッ
クからなる所定の画像ユニットを単位として、上記符号
化手段に対し上記動きベクトルのコード長を指定するコ
ード長指定手段と、上記符号化手段が次の画像ユニット
に対する上記入力画像を符号化するに際し、上記動き補
償手段が現在の画像ユニットで発生した動きベクトルの
大きさに基づき上記コード長指定手段が指定するコード
長を更新するコード長更新手段とを備えた構成を有す
る。Means for Solving the Problems The present invention has the following arrangement to achieve the above object. That is, the present invention divides an input image into predetermined image blocks, generates a motion vector for each of the image blocks from the input image and a previously encoded prediction image, and generates a motion vector for the prediction image based on the motion vector. Encoding means for compensating motion, encoding the input image by performing motion compensation by the motion compensating means, and encoding the motion vector with a designated code length; and In units of a predetermined image unit consisting of: a code length designating unit that designates the code length of the motion vector to the encoding unit, and when the encoding unit encodes the input image for the next image unit, The code length specified by the code length specifying means is determined by the motion compensation means based on the magnitude of the motion vector generated in the current image unit. And it has a configuration in which a new code length updating means.
【0015】また、本発明の上記コード長更新手段は、
上記現在の画像ユニットで発生したすべての動きベクト
ルの大きさが、上記現在の画像ユニットに対して上記コ
ード長指定手段が指定するコード長より少ないコード長
を用いて表現される場合、上記コード長指定手段が指定
するコード長を、上記すべての動きベクトルの大きさを
表現するのに足りる最小のコード長に更新する構成を有
する。Further, the code length updating means of the present invention comprises:
If the magnitude of all motion vectors generated in the current image unit is expressed using a code length smaller than the code length specified by the code length designating means for the current image unit, the code length The code length specified by the specifying means is updated to a minimum code length sufficient to represent the magnitudes of all the motion vectors.
【0016】さらに、本発明の上記コード長更新手段
は、上記現在の画像ユニットで発生した動きベクトルの
大多数となる所定の割合の動きベクトルの大きさが、上
記現在の画像ユニットに対して上記コード長指定手段が
指定するコード長より少ないコード長を用いて表現され
る場合、上記コード長指定手段が指定するコード長を、
上記動きベクトルの大多数となる所定の割合の動きベク
トルの大きさを表現するのに足りる最小のコード長に更
新する構成を有する。Further, the code length updating means of the present invention is arranged so that the magnitude of a predetermined percentage of motion vectors, which is the majority of motion vectors generated in the current image unit, is larger than that of the current image unit. When expressed using a code length smaller than the code length specified by the code length specifying means, the code length specified by the code length specifying means is
It has a configuration in which the code length is updated to a minimum code length sufficient to represent the magnitude of a predetermined ratio of motion vectors that is the majority of the motion vectors.
【0017】さらにまた、本発明の上記コード長更新手
段は、上記コード長指定手段が指定するコード長を用い
て上記現在の画像ユニットで発生した動きベクトルの大
きさを表現して上記入力画像を符号化したときに発生す
る第1の符号量と、上記動きベクトルの大きさを表現す
るのに足りる最小のコード長を用いて上記現在の画像ユ
ニットで発生した動きベクトルを表現して上記入力画像
を符号化したときに発生する第2の符号量とを求め、上
記第1の符号量に対する上記第2の符号量の増分が所定
の閾値以下となる場合に上記コード長指定手段が指定す
るコード長を更新する構成を有する。Still further, the code length updating means of the present invention expresses the magnitude of a motion vector generated in the current image unit by using the code length designated by the code length designating means, and converts the input image. The input image is represented by expressing a motion vector generated in the current image unit using a first code amount generated when encoding and a minimum code length sufficient to represent the size of the motion vector. And a second code amount generated when encoding is performed. When the increment of the second code amount with respect to the first code amount is equal to or smaller than a predetermined threshold, the code specified by the code length specifying means is determined. It has a configuration to update the length.
【0018】さらにまた、本発明の上記コード長更新手
段は、上記コード長指定手段が指定するコード長を用い
て上記現在の画像ユニットで発生した動きベクトルの大
きさを表現して上記入力画像を符号化したときに発生す
る第1の符号量と、上記コード長指定手段が指定するコ
ード長よりも少ないコード長を用いて上記現在の画像ユ
ニットで発生した動きベクトルを表現して上記入力画像
を符号化したときに発生する第2の符号量とを求め、上
記第1の符号量に対する上記第2の符号量の増分が所定
の閾値以下となる場合に上記コード長指定手段が指定す
るコード長を上記コード長指定手段が指定するコード長
よりも少ないコード長に更新する構成を有する。Further, the code length updating means of the present invention expresses the magnitude of a motion vector generated in the current image unit by using a code length designated by the code length designating means, and The input image is expressed by expressing a motion vector generated in the current image unit using a first code amount generated when encoding and a code length smaller than the code length specified by the code length specifying unit. A second code amount generated when encoding is performed, and a code length specified by the code length specifying means when an increment of the second code amount with respect to the first code amount is equal to or less than a predetermined threshold value. Is updated to a code length smaller than the code length specified by the code length specifying means.
【0019】さらにまた、本発明の上記コード長更新手
段は、上記第1の符号量に対する上記第2の符号量の増
分が所定の閾値を超える場合、上記符号化手段により上
記入力画像を符号化したときに発生する符号量が上記所
定の閾値以下となる範囲内で、上記コード長指定手段が
指定するコード長を増やす方向に更新する構成を有す
る。Furthermore, the code length updating means of the present invention encodes the input image by the encoding means when an increment of the second code amount with respect to the first code amount exceeds a predetermined threshold. The code length is updated in a direction in which the code length specified by the code length specifying means is increased within a range in which the code amount generated when the code length does not exceed the predetermined threshold value.
【0020】さらにまた、本発明は、外部から指定され
たコード長を入力するコード長入力手段をさらに備え、
上記コード長更新手段は、所定の条件に従って、上記コ
ード長更新手段が生成したコード長または上記コード長
入力手段に入力されたコード長を選択して、上記コード
長指定手段が指定するコード長を更新する構成を有す
る。Further, the present invention further comprises a code length input means for inputting a code length specified externally,
The code length updating unit selects a code length generated by the code length updating unit or a code length input to the code length input unit according to a predetermined condition, and sets a code length specified by the code length specifying unit. It has a configuration to update.
【0021】さらにまた、本発明の上記コード長更新手
段は、上記画像ブロックに対して許容される動き探索範
囲内で取り得る複数候補のコード長を生成し、上記複数
候補のコード長を用いて上記動きベクトルを表現して上
記入力画像をそれぞれ符号化したときに発生する符号量
を比較し、上記複数候補のコード長の中から上記符号量
が最も小さくなるコード長を選択する構成を有する。Further, the code length updating means of the present invention generates code lengths of a plurality of candidates within a motion search range allowed for the image block, and uses the code lengths of the plurality of candidates. A code length generated when each of the input images is encoded by expressing the motion vector is compared, and a code length that minimizes the code amount is selected from the code lengths of the plurality of candidates.
【0022】さらにまた、本発明の上記コード長更新手
段は、上記コード長入力手段に入力されたコード長を用
いて上記動きベクトルを表現して得られる符号量と、上
記コード長更新手段が生成したコード長を用いて上記動
きベクトルを表現して得られる符号量とをそれぞれ重み
付けして比較し、該比較の結果に基づきコード長を選択
する構成を有する。Further, the code length updating means of the present invention further comprises a code amount obtained by expressing the motion vector using the code length input to the code length input means, and a code length updating means for generating the code length. The code length obtained by expressing the motion vector using the calculated code length is weighted and compared, and the code length is selected based on the result of the comparison.
【0023】さらにまた、本発明は、上記画像ユニット
が2以上のフレームからなり、上記画像ユニットをなす
フレーム数を可変とした構成を有する。Further, the present invention has a configuration in which the image unit is composed of two or more frames, and the number of frames constituting the image unit is variable.
【0024】[0024]
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら説明する。なお、各図において
共通する要素には同一符号を付して、重複する説明を省
略する。Embodiments of the present invention will be described below with reference to the drawings. In the drawings, common elements are denoted by the same reference numerals, and redundant description will be omitted.
【0025】実施の形態1.図1に、本発明の実施の形
態1にかかる動画像符号化装置の構成を示す。同図にお
いて、100は、動画像でなる入力画像10を所定の画
像ブロックに分割し、入力画像10とあらかじめ符号化
された予測画像10Aとから上記画像ブロックごとに動
きベクトルを発生して上記動きベクトルに基づき予測画
像10Aの動きを補償する動き補償予測部44(動き補
償手段)を有し、上記動き補償部44により動き補償し
て入力画像10を符号化すると共に、指定されたコード
長で上記動きベクトルを符号化する符号化部(符号化手
段)である。Embodiment 1 FIG. 1 shows a configuration of a video encoding device according to the first embodiment of the present invention. In FIG. 1, reference numeral 100 denotes an input image 10 composed of a moving image, which is divided into predetermined image blocks, and a motion vector is generated for each of the image blocks from the input image 10 and a prediction image 10A which has been encoded in advance. It has a motion compensation prediction unit 44 (motion compensation means) for compensating the motion of the prediction image 10A based on the vector. The motion compensation unit 44 performs motion compensation on the input image 10 and encodes the input image 10 with a designated code length. An encoding unit (encoding means) for encoding the motion vector.
【0026】また、50は、上記画像ブロックからなる
所定の画像ユニットを単位として、符号化部100に対
し動きベクトルのコード長を指定するコード長指定部
(コード長指定手段)、60は、符号化部100が次に
符号化の対象とされる画像ユニットに対する入力画像を
符号化するに際し、動き補償予測部44が現在符号化の
対象とする画像ユニットで発生した動きベクトルの大き
さに基づきコード長指定部50が指定するコード長を更
新するコード長更新部(コード長更新手段)である。Reference numeral 50 denotes a code length designation unit (code length designation means) for designating a code length of a motion vector to the encoding unit 100 in units of a predetermined image unit composed of the above image blocks. When the encoding unit 100 encodes the input image for the next image unit to be encoded, the motion compensation prediction unit 44 uses the code based on the magnitude of the motion vector generated in the image unit to be currently encoded. A code length updating unit (code length updating unit) for updating the code length specified by the length specifying unit 50.
【0027】さらに、31は、あらかじめ符号化された
画像を格納する画像メモリ、32は、入力画像10と画
像メモリ31からの予測画像10Aとの差分を演算する
差分演算器、33は、差分演算器32からの差分データ
を符号化する符号化器、35は、符号化器33からのデ
ータを可変長符号化して符号化データを得る可変長符号
化器(VLC)、36は、可変長符号化器35からの符
号化データを一時的に蓄積するバッファ、38は、符号
化器33からのデータを局部的に復号する複号器、40
は、画像メモリ31からの予測画像10Aと復号器38
からのデータとを加算する加算器である。Further, 31 is an image memory for storing a pre-encoded image, 32 is a difference calculator for calculating the difference between the input image 10 and the predicted image 10A from the image memory 31, and 33 is a difference calculator. An encoder that encodes the difference data from the encoder 32; a variable length encoder (VLC) that obtains encoded data by encoding the data from the encoder 33 in a variable length manner; A buffer for temporarily storing encoded data from the encoder 35; a decoder 38 for locally decoding data from the encoder 33;
Is the predicted image 10A from the image memory 31 and the decoder 38
And an adder for adding the data from.
【0028】次に、フレーム間予測符号化を行う場合を
例として、本実施の形態1にかかる動画像符号化装置の
動作を説明する。なお、本実施の形態1では、上述の
「画像ユニット」を「フレーム」とし、各フレームをい
くつかの所定の画像ブロックに分割して得られる各画像
ブロックごとに符号化を行うものとする。Next, the operation of the moving picture coding apparatus according to the first embodiment will be described by taking as an example the case of performing inter-frame predictive coding. In the first embodiment, the above-described “image unit” is referred to as a “frame”, and encoding is performed for each image block obtained by dividing each frame into some predetermined image blocks.
【0029】まず、画像メモリ31から、現在符号化の
対象とされる入力画像10の画像ブロックと同位置の画
像データまたは動き補償予測部44が発生した動きベク
トルにより指定された画像データが、予測画像10Aと
して画像ブロックごとに読み出される。差分演算器32
は、画像メモリ31からの予測画像10Aと入力画像1
0との差分を演算し、歪み評価値46と差分データとを
得る。First, from the image memory 31, the image data at the same position as the image block of the input image 10 to be currently encoded or the image data specified by the motion vector generated by the motion compensation prediction unit 44 is predicted. The image is read for each image block as the image 10A. Difference calculator 32
Is the predicted image 10A from the image memory 31 and the input image 1
The difference from 0 is calculated to obtain the distortion evaluation value 46 and the difference data.
【0030】ここで、動き補償予測部44は、あらかじ
め指定された動きベクトル探索範囲内での歪み評価値4
6(たとえばブロック単位での差分絶対値和)が最小と
なるように、画像メモリ31から入力画像10に最も近
い画像または一致する画像データを予測画像10aとし
て抽出して動きベクトルを検出する。Here, the motion compensation prediction unit 44 calculates the distortion evaluation value 4 within the motion vector search range specified in advance.
6 (for example, the sum of absolute differences in block units), an image closest to the input image 10 or image data that matches the input image 10 is extracted as a predicted image 10a from the image memory 31 to detect a motion vector.
【0031】歪み評価値46が最小を示すときの差分演
算器32からの差分データは、符号化器33で符号化さ
れ、可変長符号化器35で可変長符号化される。このと
き、動き補償予測部44により検出された動きベクトル
は、後述のコード長指定部50により指定されたコード
長で符号化される。可変長符号化器35で可変長符号化
されたデータは、一旦バッファ36に蓄積され、伝送レ
ートにしたがって伝送路(図示なし)に符号化データ9
0として出力される。The difference data from the difference calculator 32 when the distortion evaluation value 46 indicates the minimum is encoded by the encoder 33 and is variable-length encoded by the variable-length encoder 35. At this time, the motion vector detected by the motion compensation prediction unit 44 is encoded with a code length specified by a code length specification unit 50 described later. The data that has been variable-length coded by the variable-length coder 35 is temporarily stored in a buffer 36, and is coded on a transmission path (not shown) according to a transmission rate.
Output as 0.
【0032】また、符号化器33で符号化されたデータ
は、複号部38により局部的に復号され、画像メモリ3
1からの予測画像10Aと加算器40にて復号加算され
て画像メモリ31に書き込まれる。これにより、画像メ
モリ31の画像データが更新される。以上により、入力
画像10に対してフレーム間予測符号化が行われる。The data encoded by the encoder 33 is locally decoded by a decoding unit 38,
The predicted image 10A from 1 is decoded and added by the adder 40 and written into the image memory 31. Thus, the image data in the image memory 31 is updated. As described above, the inter-frame prediction encoding is performed on the input image 10.
【0033】上述の一連のフレーム間予測符号化の動作
の過程において、コード長指定部50は、1フレーム
(所定の画像ユニット)を単位として、符号化部100
を構成する可変長符号化器35に対し動きベクトルのコ
ード長を指定する。このコード長は、動きベクトルの符
号化コードの一部であっても全部であってもよい。コー
ド長指定部50が指定したコード長は、動き補償予測部
44にも与えられ、動き補償予測部44での動きベクト
ルの探索範囲を定める。In the above-described series of operations of the inter-frame predictive coding operation, the code length specifying unit 50 sets the coding unit 100 in units of one frame (predetermined image unit).
Is specified to the variable-length encoder 35 constituting. This code length may be a part or the whole of the encoded code of the motion vector. The code length designated by the code length designation unit 50 is also given to the motion compensation prediction unit 44, and determines the search range of the motion vector in the motion compensation prediction unit 44.
【0034】また、コード長更新部60は、符号化部1
00が次のフレームに対する入力画像10を符号化する
に際し、動き補償予測部44が現在のフレームで発生し
た動きベクトルの大きさに基づき、コード長指定部50
が指定するコード長を更新する。Further, the code length updating unit 60 includes the encoding unit 1
00 encodes the input image 10 for the next frame, the motion compensation prediction unit 44 determines the code length designation unit 50 based on the magnitude of the motion vector generated in the current frame.
Update the code length specified by.
【0035】以下、コード長指定部50およびコード長
更新部60の動作について、水平方向の動きベクトルの
符号化コードの一部のコード長を指定(更新)する場合
を例として具体的に説明する。Hereinafter, the operations of the code length specifying unit 50 and the code length updating unit 60 will be described in detail by taking as an example a case where a code length of a part of the encoded code of the horizontal motion vector is specified (updated). .
【0036】まず、動きベクトルの符号化コードの一部
のコード長をpsizeとし、このコード長psizeを、動きベ
クトルの探索範囲を表すことができる整数Rで表現す
る。たとえば一例として、整数Rを下式(1)で表現す
る。ただし、式(1)において、記号「≪」は、ビット
シフト演算子を表す。First, the code length of a part of the encoded code of the motion vector is defined as psize, and the code length psize is represented by an integer R that can represent a search range of the motion vector. For example, as an example, the integer R is represented by the following equation (1). However, in Expression (1), the symbol “≪” represents a bit shift operator.
【0037】 R=1≪psize (1)R = 1≪psize (1)
【0038】この場合、整数Rは、psize[bit]分だけ
「1」をMSB(Most Significant Bit:最上位ビット)
側にビットシフトさせた2進数として表され、10進数
の2ps izeと等価となる。In this case, the integer R is set to “1” for psize [bit] by MSB (Most Significant Bit: most significant bit).
It is represented as a binary number bit-shifted to the side, and is equivalent to 2 ps ize in decimal.
【0039】このようにコード長psizeを整数Rで表現
した場合、動き補償の単位がM×N画素ブロック(M,
Nは自然数)のとき、水平画素数は「M」であるから、
発生しうる動きベクトルの最高値maxおよび最低値min
は、下式(2)で表され、発生しうる動きベクトルの範
囲rangeは、下式(3)で表される。When the code length psize is represented by an integer R, the unit of motion compensation is an M × N pixel block (M,
(N is a natural number), the number of horizontal pixels is “M”,
Highest value max and lowest value min of possible motion vector
Is represented by the following equation (2), and the range of possible motion vectors is represented by the following equation (3).
【0040】 max=(M×R)-1,min={(-M)×R} (2)Max = (M × R) −1, min = {(− M) × R} (2)
【0041】 range=(2M×R) (3)Range = (2M × R) (3)
【0042】ここで、一例として、psize=3,M=8とする
と、上式(2)および(3)より、R=1≪3=8,max=(8×
8)-1=63,min=((-8)×8)=-64,range=128 を得る。Here, as an example, if psize = 3 and M = 8, from the above equations (2) and (3), R = 1≪3 = 8, max = (8 ×
8) Obtain -1 = 63, min = ((-8) × 8) =-64, range = 128.
【0043】次に、-M≦mccode≦Mを満たす整数値mccod
eとpsize[bit]のコード長で表される整数値mcresとをパ
ラメータとして、動きベクトルの大きさの値MVを整数
値mccodeと整数値mcrecとの組み合わせで表現する。Next, an integer mccod satisfying -M≤mccode≤M
The value MV of the magnitude of the motion vector is represented by a combination of the integer value mccode and the integer value mcrec, using e and the integer value mcres represented by the code length of psize [bit] as parameters.
【0044】一例として、R=1,mccode=0なる条件が満
足された場合、動きベクトルの大きさの値MVを下式
(4)で表し、上述のR=1,mccode=0なる条件が満足さ
れない場合には、動きベクトルの大きさの値MVを下式
(5)で表す。ただし、式(5)において、abs(mccod
e)は、整数値mccodeの絶対値を表し、mccode<0のとき、
MV=-MVとする。As an example, when the condition of R = 1 and mccode = 0 is satisfied, the value MV of the magnitude of the motion vector is expressed by the following equation (4), and the above condition of R = 1 and mccode = 0 is satisfied. If not satisfied, the value MV of the magnitude of the motion vector is represented by the following equation (5). However, in equation (5), abs (mccod
e) represents the absolute value of the integer value mccode, and when mccode <0,
MV = -MV.
【0045】 MV=mccode (4)MV = mccode (4)
【0046】 MV=[{abs(mccode)-1}×R]+mcres+1 (5)MV = [{abs (mccode) -1} × R] + mcres + 1 (5)
【0047】このように、動きベクトルの大きさの値M
Vを表現した場合、動きベクトルの大きさの値MVを整
数Rで割った商{abs(mccode)-1}と剰余(mcres+1)とから
整数値mccodeおよびmcresを設定することができる。Thus, the value M of the magnitude of the motion vector
When V is expressed, integer values mccode and mcres can be set from a quotient {abs (mccode) -1} obtained by dividing the value MV of the magnitude of the motion vector by the integer R and the remainder (mcres + 1).
【0048】一例として、動きベクトルの大きさの値M
Vとして「53」を表現する場合、「53」をM(=8)で割った商
と余りは、それぞれ「6」と「5」であるから、mccode=6
+1=7,mcres=5-1=4となる。このように整数値mccodeお
よびmcresを設定した場合、上式(5)よりMV=((abs(7)
-1)×8)+4+1=53が得られる。As an example, the value M of the magnitude of the motion vector
When expressing “53” as V, the quotient and remainder obtained by dividing “53” by M (= 8) are “6” and “5”, respectively, so mccode = 6
+ 1 = 7, mcres = 5-1 = 4. When the integer values mccode and mcres are set in this way, MV = ((abs (7)
-1) × 8) + 4 + 1 = 53 is obtained.
【0049】他の例として、動きベクトルの大きさの値
MVとして「40」を表現する場合、「40」をM(=8)で割った
商と余りは、それぞれ「5」と「0」である。この場合、
余りが「0」となってmcresのコード長を与えるpsize[bit]
も「0」となり、動きベクトルの大きさを表現できなくな
る。As another example, when “40” is expressed as the value MV of the magnitude of the motion vector, the quotient and remainder obtained by dividing “40” by M (= 8) are “5” and “0”, respectively. It is. in this case,
Psize [bit] that gives the code length of mcres when the remainder is "0"
Becomes “0”, and the magnitude of the motion vector cannot be expressed.
【0050】そこでこの場合、商の一部を余りに転化さ
せて、商と余りを、それぞれ「4」と「8」とし、mccode
=5,mcres=7(2進数表示では「111」)とする。このよう
に整数値mccodeおよびmcresを設定した場合、上式
(5)よりMV=((abs(5)-1)×8)+7+1=40が得られる。以
上の例から、動きベクトルの大きさの値MVが、整数値
mccodeとmcresとをパラメータとして表現されることが
分かる。Therefore, in this case, a part of the quotient is excessively converted, and the quotient and the remainder are respectively set to “4” and “8”.
= 5, mcres = 7 ("111" in binary notation). When the integer values mccode and mcres are set in this way, MV = ((abs (5) -1) × 8) + 7 + 1 = 40 is obtained from the above equation (5). From the above example, the value MV of the magnitude of the motion vector is an integer value
It can be seen that mccode and mcres are represented as parameters.
【0051】仮に、動きベクトルの大きさの値MVが
「0」の近傍ほど高い確率で発生するなら、整数値mccode
については可変長符号で表したほうが符号化効率がよく
なる。また、整数値mcresを可変長符号で表現すると、
整数Rの倍数の前後の値の動きベクトルのコード長が逆
転してしまうので、整数値mcresについては固定長符号
で表現したほうが符号化効率がよくなる。If the motion vector magnitude value MV is generated with a higher probability near “0”, the integer value mccode
The encoding efficiency is better when represented by a variable length code. Also, when the integer value mcres is represented by a variable length code,
Since the code length of the motion vector of a value before and after a multiple of the integer R is reversed, the encoding efficiency is better when the integer value mcres is represented by a fixed-length code.
【0052】上述の式(4)および式(5)を用いて動
きベクトルの大きさMVを表現することにより、コード
長psizeから導かれる整数Rを単位として動きベクトル
の探索範囲が決められ、整数値mcresにより整数Rでは
表現できない探索範囲の隙間が埋められる。したがっ
て、整数値mccodeおよびmcresにより動きベクトルの大
きさMVが表現され、動きベクトルの大きさに基づきコ
ード長psizeを決定することが可能となる。By expressing the magnitude MV of the motion vector using the above equations (4) and (5), the search range of the motion vector is determined in units of an integer R derived from the code length psize. The numerical value mcres fills a gap in the search range that cannot be represented by the integer R. Therefore, the magnitude MV of the motion vector is represented by the integer values mccode and mcres, and the code length psize can be determined based on the magnitude of the motion vector.
【0053】ここで、再び説明を図1に戻す。コード長
指定部50は、上述のように、動きベクトルの大きさに
基づき決定されたコード長psizeを符号化部100に対
して指定する。このコード長psizeは、現在のフレーム
で発生する動きベクトルのコード長に影響を与え、動き
ベクトルのコード長psizeが大きいと動きベクトルの探
索範囲(ベクトル分布範囲)が広くなり、小さいと逆に
狭くなる。Here, the description returns to FIG. The code length specifying unit 50 specifies the code length psize determined based on the size of the motion vector to the encoding unit 100 as described above. The code length psize affects the code length of the motion vector generated in the current frame. If the code length psize of the motion vector is large, the search range (vector distribution range) of the motion vector is wide, and if it is small, it is narrow. Become.
【0054】一方、コード長更新部60は、コード長指
定手段50が指定するコード長psizeの影響を受けて現
在のフレームで発生した動きベクトルの大きさに基づ
き、次のフレーム全体で動きベクトルの符号量が少なく
なるように、コード長指定部50が指定するコード長ps
izeを更新する。以上により、現在のフレームで発生し
た動きベクトルの大きさに基づき、動きベクトルのコー
ド長が更新されて、次のフレームでの符号量が低減され
る。On the other hand, based on the magnitude of the motion vector generated in the current frame under the influence of the code length psize specified by the code length specifying means 50, the code length update unit 60 The code length ps specified by the code length specifying unit 50 so that the code amount is reduced.
Update ize. As described above, the code length of the motion vector is updated based on the magnitude of the motion vector generated in the current frame, and the code amount in the next frame is reduced.
【0055】上述した本実施の形態1では、値MVを動
きベクトルの大きさとしたが、現在のフレームで発生し
た動きベクトルの大きさの「分布」や、あらかじめ符号
化された動きベクトルとの「差分」としてもよく、本発
明の内容を制限するものではない。In the above-described first embodiment, the value MV is used as the magnitude of the motion vector. However, the “distribution” of the magnitude of the motion vector generated in the current frame, or the “distribution” of the magnitude of the motion vector generated in the current frame. The difference may be used, and does not limit the content of the present invention.
【0056】また、整数値mccodeとmcresとをパラメー
タとして動きベクトルの大きさを表現したが、この表現
方法に限定されることなく、動きベクトルの一部または
全部の符号化コードのコード長が、コード長指定部50
が指定するコード長psizeによって変わるように表現さ
れていればよい。さらに、歪み評価値46として差分絶
対値和を用いたが、たとえば差分二乗和であってもよ
い。Although the magnitude of the motion vector is represented by using the integer values mccode and mcres as parameters, the present invention is not limited to this representation method. Code length specification section 50
Should be expressed so as to change according to the specified code length psize. Further, although the sum of absolute differences is used as the distortion evaluation value 46, for example, the sum of squared differences may be used.
【0057】さらにまた、本実施の形態1では、フレー
ム間予測符号化を行うものとしたが、たとえばフレーム
内符号化のように、典型的な動画像符号化装置として動
作するように構成してもよい。この場合、入力画像10
を条件によりそのまま符号化器33で符号化するように
構成すればよい。Further, in the first embodiment, the inter-frame predictive coding is performed. However, it is configured to operate as a typical moving picture coding apparatus, for example, as in intra-frame coding. Is also good. In this case, the input image 10
May be directly encoded by the encoder 33 according to the condition.
【0058】実施の形態2.次に、図1を援用して、本
発明の実施の形態2を説明する。本実施の形態2では、
コード長更新部50(コード長更新手段)は、現在のフ
レーム(現在の画像ユニット)で発生したすべての動き
ベクトルの大きさが、現在のフレームに対してコード長
指定部50が指定するコード長psizeより少ないコード
長を用いて表現される場合、コード長指定部50が指定
するコード長psizeを、上記すべての動きベクトルの大
きさを表現するのに足りる最小のコード長qsizeに更新
するように構成される。Embodiment 2 Next, a second embodiment of the present invention will be described with reference to FIG. In the second embodiment,
The code length updating unit 50 (code length updating unit) determines whether the magnitude of all motion vectors generated in the current frame (current image unit) is the code length specified by the code length specifying unit 50 for the current frame. When expressed using a code length smaller than psize, the code length psize specified by the code length specifying unit 50 is updated to the minimum code length qsize sufficient to express the sizes of all the motion vectors. Be composed.
【0059】たとえば、現在のフレームにおいて、psiz
e=3,M=8である場合、現在のフレーム内で発生したすべ
ての動きベクトルの大きさ(vector)が、-32≦vector≦3
2を満たす場合、すべての動きベクトルの大きさを表現
するのに足りる最小のコード長は「2」となり、psize=2で
もすべての動きベクトルを表現できる。For example, in the current frame, psiz
If e = 3 and M = 8, the magnitude (vector) of all motion vectors generated in the current frame is -32 ≦ vector ≦ 3
When 2 is satisfied, the minimum code length sufficient to represent the size of all motion vectors is “2”, and all motion vectors can be represented even with psize = 2.
【0060】なぜなら、psize=2のとき、前述の式
(1)および(2)より、動きベクトルの最高値maxは
「31」,動きベクトルの大きさの最低値minは「-32」となる
からである。そこで、コード長更新部60は、コード長
qsizeを「2」として、コード長指定部50が指定するコー
ド長psizeをコード長qsizeに更新する。Because, when psize = 2, the maximum value max of the motion vector is "31" and the minimum value min of the motion vector is "-32" from the above equations (1) and (2). Because. Therefore, the code length updating unit 60
Assuming that qsize is “2”, the code length psize specified by the code length specifying unit 50 is updated to the code length qsize.
【0061】この場合、整数値mcresは2ビットで表現
できるため、1動きベクトルあたりコード長が1ビット
だけ削減される。よって、仮にコード長psizeを「2」とし
て現在のフレームの動きベクトルを再符号化すれば、現
在のフレームで発生する符号量を削減することができ
る。In this case, since the integer value mcres can be represented by 2 bits, the code length per motion vector is reduced by 1 bit. Therefore, if the code length psize is set to “2” and the motion vector of the current frame is re-encoded, the amount of code generated in the current frame can be reduced.
【0062】しかし、実際には装置の演算処理速度の制
約から、現在のフレームで再符号化する時間的余裕がな
い。仮に時間的余裕があったとしても、1フレーム分の
符号化された動きベクトルを蓄積するだけのバッファ容
量を確保することができない環境下にある場合には現在
のフレームでの再符号化が困難となる。そこで、コード
長更新部60は、次のフレームでコード長psizeを「2」
(qsize)に更新して符号化する。However, in practice, there is no time margin for re-encoding with the current frame due to the limitation of the arithmetic processing speed of the device. Even if there is a time margin, it is difficult to re-encode the current frame in an environment where a buffer capacity enough to accumulate the encoded motion vector for one frame cannot be secured. Becomes Therefore, the code length update unit 60 sets the code length psize to “2” in the next frame.
Update to (qsize) and encode.
【0063】ここで、一般に、動画像においては急激に
動きの変化がない状態では隣接する画像フレームの動き
が類似している傾向にあり、次のフレームでも現在のフ
レームでの動きベクトルに類似した動きベクトルが求め
られると予測される。したがって、次のフレームでコー
ド長psizeを「2」(qsize)に更新して符号化しても、次
のフレームで発生する符号量を有効に削減することがで
きる。Here, in general, in a moving image, when there is no rapid change in motion, the motion of adjacent image frames tends to be similar, and the motion vector of the next frame is similar to the motion vector of the current frame. It is predicted that a motion vector will be determined. Therefore, even if the code length psize is updated to “2” (qsize) in the next frame and coding is performed, the code amount generated in the next frame can be effectively reduced.
【0064】なお、再符号化するに足りる演算処理速度
を有し、またフレーム単位で符号化された動きベクトル
を蓄積するだけのバッファ容量を有し、さらにバッファ
より伝送路に出力される符号化データが途切れることな
く指定された伝送レートを維持することができるのであ
れば、現在のフレームでコード長を更新して再符号化し
てもよい。この場合、次のフレームでコード長を更新す
るよりも、より符号量を低く抑えることができる。It should be noted that it has an operation processing speed sufficient for re-encoding, has a buffer capacity enough to accumulate a motion vector encoded in frame units, and has an encoding output from the buffer to the transmission path. If the specified transmission rate can be maintained without data interruption, the code length may be updated in the current frame and re-encoded. In this case, the code amount can be suppressed lower than when the code length is updated in the next frame.
【0065】実施の形態3.次に、図1を援用して、本
発明の実施の形態3を説明する。上述の実施の形態2で
は、現在のフレームで発生した「すべて」の動きベクト
ルをコード長qsizeを用いて表現できる場合にコード長
を更新するとしたが、本実施の形態3では、コード長更
新部50は、現在のフレームで発生した動きベクトルの
「大多数」となる所定の割合の動きベクトルの大きさ
が、上記現在の画像ユニットに対してコード長指定部5
0が指定するコード長psizeより少ないコード長を用い
て表現される場合、コード長指定部50が指定するコー
ド長psizeを、上記大多数となる所定の割合の動きベク
トルの大きさを表現するのに足りる最小のコード長qsiz
eに更新するように構成される。Embodiment 3 Next, a third embodiment of the present invention will be described with reference to FIG. In the above-described second embodiment, the code length is updated when “all” motion vectors generated in the current frame can be expressed using the code length qsize. In the third embodiment, the code length updating unit is used. Reference numeral 50 denotes a code length designating unit 5 that determines the magnitude of a predetermined percentage of motion vectors that are “majority” of motion vectors generated in the current frame with respect to the current image unit.
When 0 is expressed using a code length smaller than the specified code length psize, the code length psize specified by the code length specifying unit 50 is used to express the size of the predetermined ratio of the majority of the motion vectors. Minimum code length qsiz
It is configured to update to e.
【0066】以下、上述の「大多数」となる所定の割合
の動きベクトルに着目してコード長を更新することの妥
当性を説明する。隣接する動画像の動きの傾向が類似す
る場合、仮に現在のフレームの「すべて」の動きベクト
ルがコード長qsizeに基づいて表現できれば、次のフレ
ームでも大多数の動きベクトルがコード長qsizeに基づ
いて表現できることが予測される。したがって、次のフ
レームでコード長qsizeを指定すれば、発生する符号量
を極めて高い確率で減少させることができる。上述の実
施の形態2では、この観点に立ってコード長を更新す
る。In the following, the validity of updating the code length by focusing on the above-described “majority” of the predetermined proportion of motion vectors will be described. If the motion tendencies of adjacent moving images are similar, if all the motion vectors of the current frame can be represented based on the code length qsize, the majority of motion vectors in the next frame will be based on the code length qsize. It is expected that it can be expressed. Therefore, if the code length qsize is specified in the next frame, the generated code amount can be reduced with an extremely high probability. In the second embodiment, the code length is updated from this viewpoint.
【0067】しかし、現在のフレームで「すべて」の動
きベクトルがコード長qsizeに基づいて表現できるベク
トルであるとしても、次のフレームでも「すべて」の動
きベクトルがコード長qsizeに基づいて表現できるベク
トルであるとは限らない。また、現在のフレームで「大
多数」の動きベクトルがコード長qsizeに基づいて表現
できるベクトルであるときに、次のフレームでも「すべ
て」の動きベクトルがコード長qsizeに基づいて表現で
きるベクトルであることもある。However, even if “all” motion vectors can be represented based on the code length qsize in the current frame, “all” motion vectors can be represented based on the code length qsize in the next frame. Is not always the case. Also, when the “majority” motion vectors are vectors that can be represented based on the code length qsize in the current frame, the “all” motion vectors are vectors that can be represented based on the code length qsize in the next frame. Sometimes.
【0068】すなわち、次のフレームにおいて「大多
数」の動きベクトルがコード長qsizeに基づいて表現で
きると予測できるのであれば、必ずしも現在のフレーム
で発生した動きベクトルの「すべて」に着目する必要は
なく、「大多数」となる所定の割合の動きベクトルに着
目すれば足りる。本実施の形態3では、この観点に立っ
て、コード長更新部60が、現在のフレームで「大多
数」となる所定の割合の動きベクトルに着目してコード
長を更新する。That is, if it can be predicted that the “majority” of motion vectors can be expressed based on the code length qsize in the next frame, it is not always necessary to pay attention to “all” of the motion vectors generated in the current frame. Instead, it suffices to focus on a predetermined percentage of motion vectors that are "majority." In the third embodiment, from this viewpoint, the code length updating unit 60 updates the code length by focusing on a predetermined percentage of motion vectors that are “majority” in the current frame.
【0069】実施の形態4.次に、図2を参照して、本
発明の実施の形態4を説明する。上述の実施の形態2お
よび3では、それぞれ「すべて」および「大多数」の動
きベクトルがコード長qsizeに基づいて表現できるベク
トルである場合、コード長psizeをコード長qsizeに更新
するとしたが、本実施の形態4では、さらに条件を加え
て、符号量の増分が所定の閾値以下となる場合にコード
長を更新する。Embodiment 4 Next, a fourth embodiment of the present invention will be described with reference to FIG. In the above-described second and third embodiments, when the “all” and “majority” motion vectors are vectors that can be expressed based on the code length qsize, the code length psize is updated to the code length qsize. In the fourth embodiment, a condition is added, and the code length is updated when the increment of the code amount is equal to or smaller than a predetermined threshold.
【0070】すなわち、本実施の形態4にかかる動画像
符号化装置は、図1に示す前述の実施の形態2または3
の構成において、コード長更新部60に代えて、コード
長更新部60Aを備える。That is, the moving picture coding apparatus according to the fourth embodiment is different from the second or third embodiment shown in FIG.
In the above configuration, a code length updating unit 60A is provided instead of the code length updating unit 60.
【0071】このコード長更新部60Aは、コード長指
定部50が指定するコード長psizeを用いて現在のフレ
ームで発生した動きベクトルの大きさを表現して入力画
像10を符号化したときに発生する第1の符号量と、現
在のフレームでの動きベクトルの大きさを表現するのに
足りる最小のコード長qsizeを用いて現在のフレームで
発生した動きベクトルを表現して入力画像10を符号化
したときに発生する第2の符号量とを求め、第1の符号
量に対する第2の符号量の増分が所定の閾値TH以下と
なる場合にコード長指定部50が指定するコード長psiz
eをコード長qsizeに更新するように構成される。The code length updating unit 60A generates a code length when the input image 10 is encoded by expressing the magnitude of the motion vector generated in the current frame using the code length psize specified by the code length specifying unit 50. The input image 10 is encoded by expressing a motion vector generated in the current frame by using a first code amount to be used and a minimum code length qsize sufficient to express the size of the motion vector in the current frame. The code length psiz specified by the code length specifying unit 50 when the increment of the second code amount with respect to the first code amount becomes equal to or smaller than a predetermined threshold TH.
It is configured to update e to the code length qsize.
【0072】以下、具体的に、本実施の形態4にかかる
コード長更新部60Aの動作(コード長の更新方法)を
説明する。コード長psizeに基づいて符号化した場合と
コード長qsizeに基づいて符号化した場合とで発生する
動きベクトルの符号量を比較すると、少ないコード長qs
izeに基づいて符号化した方が動きベクトル自体の符号
量はより少なくなる。しかし、総符号量が減少するか否
かについては、符号化器33で発生する差分データの符
号量も考慮して判断する必要がある。The operation of the code length updating unit 60A (method of updating the code length) according to the fourth embodiment will be specifically described below. Comparing the code amount of the motion vector generated when coding based on the code length psize and coding based on the code length qsize shows that the code length qs is smaller.
The coding amount of the motion vector itself is smaller when coding based on ize. However, it is necessary to determine whether the total code amount decreases in consideration of the code amount of the difference data generated in the encoder 33.
【0073】以下、符号化器33で発生する差分データ
の符号量を考慮した場合のコード長の更新方法を具体的
に説明する。現在のフレームで歪み評価値46が最も小
さい動きベクトルmvpはコード長psizeに基づいて符号化
できるが、コード長qsizeに基づいて符号化することが
できない場合、動きベクトルmvpを採択することはでき
ない。したがってこの場合、コード長qsizeに基づいた
動き探索範囲内で歪み評価値46が最も小さくなる動き
ベクトルmvqを用いて動き補償を行って符号化すること
になる。Hereinafter, a method of updating the code length in consideration of the code amount of the difference data generated in the encoder 33 will be specifically described. The motion vector mvp having the smallest distortion evaluation value 46 in the current frame can be encoded based on the code length psize, but if it cannot be encoded based on the code length qsize, the motion vector mvp cannot be adopted. Therefore, in this case, coding is performed by performing motion compensation using the motion vector mvq with the smallest distortion evaluation value 46 within the motion search range based on the code length qsize.
【0074】ここで、動きベクトルmvpを用いて動き補
償して符号化したときの1フレームあたりの符号量をfr
cap(第1の符号量)、動きベクトルmvqを用いて動き補
償を行って符号化したときの1フレームあたりの符号量
をfrcaq(第2の符号量)とすると、符号化部33にお
いてコード長qsizeに更新することで増加する符号量
は、(frcaq-frcap)である。現在のフレームで符号化さ
れる動きベクトルの数が十分多く、符号量の増分(frcaq
-frcap)が十分小さい場合、次のフレームでコード長qsi
zeを指定すれば、次のフレームで発生する動きベクトル
自体の符号量は削減される。Here, the code amount per frame when coding with motion compensation using the motion vector mvp is fr
Assuming that the code amount per frame when performing motion compensation using cap (first code amount) and motion vector mvq is frcaq (second code amount), the code length in the encoding unit 33 The code amount that increases by updating to qsize is (frcaq-frcap). The number of motion vectors to be encoded in the current frame is large enough and the code amount increment (frcaq
-frcap) is small enough, the code length qsi in the next frame
If ze is specified, the code amount of the motion vector itself generated in the next frame is reduced.
【0075】しかし、コード長qsizeに更新することで
削減される動きベクトルの符号量ommvが、コード長qsiz
eに更新することで反対に増加する符号量(frcaq-frcap)
より小さい場合、次のフレームでコード長qsizeを指定
すると総符号量が増加し、符号化効率が悪くなる。そこ
で、コード長更新部60Aは、削減できる符号量ommvだ
けでなく、以下のように、増加する符号量(frcaq-frca
p)も評価して、コード長qsizeを指定するかどうかを判
定する。However, the code amount ommv of the motion vector reduced by updating to the code length qsize is equal to the code length qsiz
The code amount which increases conversely by updating to e (frcaq-frcap)
If it is smaller, specifying the code length qsize in the next frame increases the total code amount, and lowers the coding efficiency. Therefore, the code length updating unit 60A not only reduces the code amount ommv that can be reduced, but also increases the code amount (frcaq-frca
p) is also evaluated to determine whether to specify the code length qsize.
【0076】1フレームあたり符号化される動きベクト
ルの数をafrmvとし、そのうちコード長qsizeに基づいて
も表すことができる動きベクトルの数をafrmvqとする
と、コード長psizeをコード長qsizeに更新することによ
り1フレームあたり削減される符号量ommvは、ommv=(ps
ize-qsize)×afrmvq[bit]である。If the number of motion vectors encoded per frame is afrmv, and the number of motion vectors that can be represented based on the code length qsize is afrmvq, the code length psize is updated to the code length qsize. The code amount ommv reduced per frame by ommv = (ps
ize-qsize) × afrmvq [bit].
【0077】一方、コード長psizeをコード長qsizeに更
新することにより1フレームあたり増加する符号量(frc
aq-frcap)は、frcaq-frcap=(bcaq-bcap)×(afrmv-afrmv
q)[bit]である。ここで、bcaqは、動きベクトルmvqを用
いて動き補償を行って符号化したときの1符号化ブロッ
ク(画像ブロック)当たりの符号量、bcapは、動きベク
トルmvpを用いて動き補償を行って符号化したときの1
符号化ブロック当たりの符号量である。On the other hand, by updating the code length psize to the code length qsize, the code amount (frc
aq-frcap) is frcaq-frcap = (bcaq-bcap) × (afrmv-afrmv
q) It is [bit]. Here, bcaq is a code amount per one coded block (image block) when coding is performed by performing motion compensation using the motion vector mvq, and bcap is a code amount obtained by performing motion compensation using the motion vector mvp. 1 when it became
This is the code amount per coded block.
【0078】コード長更新部50は、1フレームあたり
増加する符号量(frcaq-frcap)を閾値THと比較して判
定し、現在のフレームにおいてTH≧(frcaq-frcap)なる
判定条件が満足された場合に次のフレームではコード長
qsizeに更新する。この閾値THは、1フレームあたり
削減される符号量ommvに設定される。ここで、現在のフ
レームと次のフレームとで動きベクトルの発生特性が変
わることを考慮してマージンを設定するために、符号量
ommvの値に重み付けした値(w×ommv:たとえばw=0.7)を
閾値THとして設定してもよい。The code length updating unit 50 determines the amount of code (frcaq-frcap) that increases per frame by comparing it with a threshold value TH, and the determination condition of TH ≧ (frcaq-frcap) is satisfied in the current frame. If the code length in the next frame
Update to qsize. This threshold value TH is set to the code amount ommv reduced per frame. Here, the code amount is set in order to set a margin in consideration of the fact that the motion vector generation characteristics change between the current frame and the next frame.
A value obtained by weighting the value of ommv (w × ommv: for example, w = 0.7) may be set as the threshold value TH.
【0079】一例として、連続した複数のフレームにわ
たって動きベクトルの大きさの範囲が徐々に減少した
り、反対に増加する特性がある場合、次のフレームでも
同様の特性が期待される。しかし、被写体の動きが急激
に変化して動きベクトルの発生特性が変わると、この期
待が外れて全体の発生符号量の予想が大きく外れる場合
が生じる。そこで、動きベクトルの発生特性が変わるこ
とにより発生符号量の予想が外れる可能性を考慮する場
合、重み付け係数wを大きい値(1に近い少数)に設定
する。As an example, when the range of the magnitude of the motion vector gradually decreases or conversely increases over a plurality of continuous frames, similar characteristics are expected in the next frame. However, if the motion of the subject changes abruptly and the generation characteristics of the motion vector change, this expectation may be deviated and the prediction of the entire generated code amount may be largely deviated. Therefore, in consideration of the possibility that the prediction of the generated code amount is disturbed due to the change in the generation characteristic of the motion vector, the weighting coefficient w is set to a large value (a small number close to 1).
【0080】実施の形態5.次に、図1を援用して、本
発明の実施の形態5を説明する。前述の実施の形態2な
いし4では、現在のフレームで発生した「すべて」また
は「大多数」の動きベクトルの大きさに着目してコード
長を更新するように構成したが、本実施の形態5では、
「すべて」または「大多数」の動きベクトルに限定され
ることなく、現在のフレームで発生した符号量に着目し
て次のフレームでのコード長を指定(更新)する。Embodiment 5 Next, a fifth embodiment of the present invention will be described with reference to FIG. In the above-described second to fourth embodiments, the code length is updated by focusing on the magnitude of the “all” or “majority” motion vectors generated in the current frame. Then
The code length in the next frame is designated (updated) by focusing on the code amount generated in the current frame without being limited to the “all” or “majority” motion vectors.
【0081】すなわち、援用する図1に示す本実施の形
態5にかかるコード長更新部60は、コード長指定部5
0が指定するコード長psizeを用いて現在のフレームで
発生した動きベクトルの大きさを表現して入力画像10
を符号化したときに発生する第1の符号量と、コード長
指定部50が指定するコード長psizeよりも少ないコー
ド長qsizeを用いて現在のフレームで発生した動きベク
トルを表現して入力画像10を符号化したときに発生す
る第2の符号量とを求め、第1の符号量に対する第2の
符号量の増分が所定の閾値TH以下となる場合にコード
長指定部50が指定するコード長psizeを、このコード
長psizeよりも少ないコード長qsizeに更新するように構
成される。That is, the code length updating unit 60 according to the fifth embodiment shown in FIG.
0 represents the size of the motion vector generated in the current frame using the code length psize specified by 0.
The motion vector generated in the current frame is expressed using a first code amount generated when encoding is performed and a code length qsize smaller than the code length psize specified by the code length specifying unit 50. And a second code amount generated when encoding is performed. When the increment of the second code amount with respect to the first code amount becomes equal to or smaller than a predetermined threshold TH, the code length specified by the code length specifying unit 50 is determined. It is configured to update psize to a code length qsize smaller than this code length psize.
【0082】以下、本実施の形態5にかかるコード長更
新部60の動作を説明する。実施の形態4で述べたよう
に、コード長psizeをコード長qsizeに更新することによ
り1フレームあたり削減される符号量ommvは、ommv=(ps
ize-qsize)×afrmvq[bit]であり、一方、増加する符号
量(frcaq-frcap)は、frcaq-frcap=(bcaq-bcap)×(afrmv
-afrmvq)[bit]である。The operation of code length updating section 60 according to the fifth embodiment will be described below. As described in the fourth embodiment, the code amount ommv reduced per frame by updating the code length psize to the code length qsize is ommv = (ps
ize-qsize) × afrmvq [bit], while the increasing code amount (frcaq-frcap) is frcaq-frcap = (bcaq-bcap) × (afrmv
-afrmvq) [bit].
【0083】したがって、仮に現在のフレームで「すべ
て」または「大多数」の動きベクトルがコード長qsize
で表現できるのであれば、コード長qsizeに基づいて表
すことができる動きベクトルの数afrmvqが十分大きくな
り、ommv>>(frcaq-frcap)となる。Therefore, if the “all” or “majority” motion vectors in the current frame are equal to the code length qsize
If it can be expressed by, the number of motion vectors afrmvq that can be expressed based on the code length qsize becomes sufficiently large, and ommv >> (frcaq-frcap).
【0084】しかし、符号量ommvが符号量(frcaq-frca
p)を超えなければ、符号化効率は改善されるので、必ず
しも動きベクトルの数afrmvqが十分大きい値である必要
はない。すなわち、ommv≧(frcaq-frcap)なる条件を満
足しさえすれば、符号量frcapおよびfrcaqに基づいてコ
ード長qsizeを指定することにより、次のフレームでの
符号量を削減することができる。However, the code amount ommv is equal to the code amount (frcaq-frca
If the value does not exceed p), the coding efficiency is improved, and the number of motion vectors afrmvq does not necessarily need to be a sufficiently large value. That is, as long as the condition of ommv ≧ (frcaq-frcap) is satisfied, the code amount in the next frame can be reduced by specifying the code length qsize based on the code amounts frcap and frcaq.
【0085】実施の形態6.次に、図1を援用して、本
発明の実施の形態6を説明する。上述の実施の形態5で
は、現在のフレームでの符号量に基づき、コード長指定
部50が指定するコード長を更新するようにしたが、本
実施の形態6にかかるコード長更新部60Aは、第1の
符号量に対する第2の符号量の増分が所定の閾値THを
超える場合、符号化部100により入力画像10を符号
化したときに発生する符号量が所定の閾値以下となる範
囲内で、コード長指定部50が指定するコード長psize
を増やす方向に更新するように構成される。Embodiment 6 FIG. Next, a sixth embodiment of the present invention will be described with reference to FIG. In the above-described fifth embodiment, the code length specified by the code-length specifying unit 50 is updated based on the code amount in the current frame. However, the code-length updating unit 60A according to the sixth embodiment includes: When the increment of the second code amount with respect to the first code amount exceeds a predetermined threshold value TH, the code amount generated when the input image 10 is encoded by the encoding unit 100 is within a range where the code amount is equal to or less than the predetermined threshold value. , The code length psize specified by the code length specifying unit 50
Is configured to be updated in the direction of increasing.
【0086】ここで、前述のように、第1の符号量は、
コード長指定部50が指定するコード長psizeを用いて
現在のフレームで発生した動きベクトルの大きさを表現
して入力画像10を符号化したときに発生する符号量で
あり、第2の符号量は、コード長指定部50が指定する
コード長psizeよりも少ないコード長qsizeを用いて現在
のフレームで発生した動きベクトルを表現して入力画像
10を符号化したときに発生する符号量である。Here, as described above, the first code amount is:
The code amount generated when the input image 10 is encoded by expressing the size of the motion vector generated in the current frame using the code length psize specified by the code length specifying unit 50, and the second code amount Is a code amount generated when the input image 10 is encoded by expressing a motion vector generated in the current frame using a code length qsize smaller than the code length psize specified by the code length specifying unit 50.
【0087】以下、本実施の形態6にかかるコード長更
新部60Aの動作を説明する。前述の実施の形態2ない
し4では、「すべて」または「大多数」の動きベクトル
に着目したので動きベクトルの数afrmvqが十分大きい値
であったが、上述の実施の形態5のように、「すべて」
または「大多数」の動きベクトルに着目しなくても、1
フレームあたり削減される符号量ommvは、ommv≧(frcaq
-frcap)を満足する可能性がある。The operation of code length updating section 60A according to the sixth embodiment will be described below. In Embodiments 2 to 4 described above, the number of motion vectors afrmvq is a sufficiently large value because attention is paid to “all” or “majority” motion vectors. However, as in Embodiment 5 described above, all"
Alternatively, without paying attention to the “majority” motion vector,
The code amount ommv reduced per frame is ommv ≧ (frcaq
-frcap).
【0088】そこで、上述の実施の形態5では、閾値T
Hを符号量ommvに設定し、現在のフレームにおいてTH≧
(frcaq-frcap)なる判定条件が満足された場合に、コー
ド長psizeに更新する。これにより、「すべて」または
「大多数」の動きベクトルに着目することなく、発生符
号量の削減を可能とした。Therefore, in the fifth embodiment, the threshold value T
H is set to the code amount ommv, and TH ≧
When the judgment condition (frcaq-frcap) is satisfied, the code length is updated to psize. As a result, the amount of generated codes can be reduced without paying attention to "all" or "majority" motion vectors.
【0089】ところで、総符号量の増加分が動きベクト
ルの符号量の減少分を上回り、TH<(frcaq-frcap)が成り
立つ場合もある。ただし、この閾値THは、符号量ommv
またはこの符号量ommvに重み付け係数wを乗じて重み付
けした値(w×ommv)に設定される。そこで、本実施の形
態6では、総符号量の増加分が動きベクトルの符号量の
減少分を上回る場合、動き探索範囲がより広い範囲で許
容されるならば、次のフレームではコード長を増やして
指定する。In some cases, the increase of the total code amount exceeds the decrease of the motion vector code amount, and TH <(frcaq-frcap) may be satisfied. However, this threshold TH is equal to the code amount ommv
Alternatively, a value (w × ommv) obtained by multiplying the code amount ommv by a weighting coefficient w is set. Therefore, in the sixth embodiment, if the increase in the total code amount exceeds the decrease in the code amount of the motion vector, if the motion search range is allowed in a wider range, the code length is increased in the next frame. To specify.
【0090】具体的には、入力画像10を符号化したと
きに発生する符号量が後述の所定の閾値TS以下となる
範囲内で、コード長指定部50が指定するコード長psiz
eを増やす方向に更新し、コード長psizeよりも多いコー
ド長rsizeに更新する。これにより、結果として、発生
符号量を低く抑えられ、動き探索可能範囲の中で符号化
効率のよいコード長を指定することができる。More specifically, the code length psiz specified by the code length specifying unit 50 is within a range in which the code amount generated when the input image 10 is coded is equal to or less than a predetermined threshold value TS.
Update in the direction of increasing e, and update to a code length rsize larger than the code length psize. As a result, the amount of generated codes can be kept low, and a code length with good coding efficiency can be specified within the motion searchable range.
【0091】ここで、前述の実施の形態1で述べたよう
に、動きベクトルの探索範囲rangeは、range=(2M×R)で
あり、コード長rsizeの物理的な上限は整数Rのビット
幅の制約を受けるが、所定の閾値TSを導入してコード
長rsizeの上限を定める。すなわち、コード長rsizeの上
限は、入力画像10を符号化したときに発生する符号量
が所定の閾値TS以下となる範囲内で選ばれる。この閾
値TSは、符号量を有効に抑えることができる範囲内で
適切に設定され、上述の閾値THであってもよい。Here, as described in the first embodiment, the search range of the motion vector is range = (2M × R), and the physical upper limit of the code length rsize is the bit width of the integer R. However, the upper limit of the code length rsize is determined by introducing a predetermined threshold value TS. That is, the upper limit of the code length rsize is selected within a range in which the code amount generated when encoding the input image 10 is equal to or less than the predetermined threshold value TS. This threshold value TS is appropriately set within a range in which the code amount can be effectively suppressed, and may be the above-described threshold value TH.
【0092】実施の形態7.次に、図3を参照して、本
発明の実施の形態7を説明する。上述の実施の形態1な
いし6では、コード長をコード更新部60により更新す
るように構成したが、図3に示す本実施の形態7にかか
る動画像符号化装置は、図1に示す前述の実施の形態1
の構成において、外部から指定されたコード長を入力す
るコード長入力部70をさらに備え、コード長更新部6
0は、所定の条件に従って、コード長更新部60が生成
したコード長qsizeまたはコード長入力部70に入力さ
れたコード長exsizeを選択して、コード長指定部50が
指定するコード長qsizeを更新するように構成される。Embodiment 7 FIG. Next, a seventh embodiment of the present invention will be described with reference to FIG. In the first to sixth embodiments, the code length is updated by the code updating unit 60. However, the moving picture coding apparatus according to the seventh embodiment shown in FIG. Embodiment 1
In the above configuration, a code length input unit 70 for inputting a code length specified from the outside is further provided, and the code length updating unit 6
0 selects the code length qsize generated by the code length updating unit 60 or the code length exsize input to the code length input unit 70 according to a predetermined condition, and updates the code length qsize specified by the code length specifying unit 50. It is configured to
【0093】以下、本実施の形態7にかかる動画像符号
化装置の動作を説明する。コード長更新部60は、コー
ド長入力部70に入力されたコード長exsizeおよびコー
ド長更新部60が生成したコード長qsizeが、コード長
指定部50が指定するコード長psizeより少ない値であ
って、いずれのコード長exsizeおよびqsizeを採択して
もコード長psizeに基づいて符号化した場合より発生す
る符号量が少なくなる場合、後述の所定の条件に従って
いずれかを採択する。The operation of the moving picture coding apparatus according to the seventh embodiment will be described below. The code length updating unit 60 determines that the code length exsize input to the code length input unit 70 and the code length qsize generated by the code length updating unit 60 are smaller than the code length psize specified by the code length specifying unit 50. When the code amount generated is smaller than when coding based on the code length psize, regardless of which code length exsize or qsize is adopted, either one is adopted in accordance with predetermined conditions described later.
【0094】また、逆に、コード長exsizeおよびコード
長qsizeがコード長psizeより多い値ではあるが、いずれ
のコード長exsizeおよびコード長qsizeを採択してもコ
ード長psizeに基づいて符号化した場合より発生する符
号量が少なくなる場合にも同様に、所定の条件に従って
いずれかを採択する。On the other hand, when the code length exsize and the code length qsize are larger than the code length psize, the coding is performed based on the code length psize regardless of which code length exsize and code length qsize is adopted. Similarly, when the generated code amount is reduced, one of them is adopted according to a predetermined condition.
【0095】ここで、上述の所定の条件として、コード
長更新部60が生成したコード長qsizeに基づいて符号
化したときに発生する符号量と外部から指定されたコー
ド長exsizeに基づいて符号化したときに発生する符号量
とを比較し、符号化部100により入力画像を符号化し
たときに発生する符号量がより小さくなるコード長を選
択することが設定される。Here, as the above-mentioned predetermined condition, encoding is performed based on the code amount generated when encoding is performed based on the code length qsize generated by the code length updating unit 60 and the code length exsize specified from the outside. It is set to compare the amount of code generated when the encoding is performed and to select a code length that reduces the amount of code generated when the input image is encoded by the encoding unit 100.
【0096】また、上述の所定の条件として、外部から
のコード長exsizeをコード長の上限とすることを設定し
てもよい。この所定の条件に従えば、実際にはコード長
exsizeが与える探索範囲より広い範囲で動き探索ができ
る場合であっても、コード長qsizeがコード長exsizeを
超えない場合にコード長qsizeが採択され、コード長qsi
zeがコード長exsizeを超える場合にコード長exsizeが採
択される。Further, as the above-mentioned predetermined condition, it may be set that the code length exsize from the outside is set as the upper limit of the code length. According to this predetermined condition, the code length is actually
Even if the motion search can be performed in a wider range than the search range given by exsize, if the code length qsize does not exceed the code length exsize, the code length qsize is adopted and the code length qsi
If ze exceeds the code length exsize, the code length exsize is adopted.
【0097】さらに、上述の所定の条件として、コード
長exsizeをコード長の下限とすることを設定してもよ
い。この所定の条件に従えば、たとえば符号化データを
蓄積するバッファ36の容量上の制約により、少ないコ
ード長で動きベクトルを符号化したい状況下において、
通常の符号化を行う場合に次のフレームに対しコード長
exsizeまたはコード長exsizeより多いコード長q-sizeに
更新し、通常以外の符号化を行う場合に強制的に外部か
らのコード長exsizeを指定して更新することが可能とな
る。上述のように、外部からコード長exsizeを導入する
ことにより、符号化の方式に応じてコード長を使い分け
ることが可能となる。Further, as the above-mentioned predetermined condition, the code length exsize may be set as the lower limit of the code length. According to this predetermined condition, for example, in a situation where it is desired to encode a motion vector with a small code length due to a restriction on the capacity of the buffer 36 for storing encoded data,
Code length for the next frame when performing normal encoding
It is possible to update to a code length q-size that is larger than exsize or a code length exsize, and forcibly specify an external code length exsize when performing non-normal encoding. As described above, by introducing the code length exsize from the outside, it is possible to use the code length properly according to the encoding method.
【0098】なお、本実施の形態7では、コード長更新
部60が、コード長exsizeおよびコード長qsizeのいず
れかを採択するものとしたが、これに限定されることな
く、他の構成要素に割り付けてもよい。また、本実施の
形態7では、実施の形態1の構成にコード長入力部70
を付加した場合を例として説明したが、他の実施の形態
2ないし6に対して適用してもよい。In the seventh embodiment, code length updating section 60 adopts either code length exsize or code length qsize. However, the present invention is not limited to this. May be assigned. In the seventh embodiment, the code length input unit 70 is added to the configuration of the first embodiment.
Has been described as an example, but may be applied to other embodiments 2 to 6.
【0099】実施の形態8.次に、図4を参照して、本
発明の実施の形態8を説明する。上述の実施の形態7で
は、外部からのコード長exsizeを選択して指定するよう
に構成したが、本実施の形態8にかかる動画像符号化装
置は、図3に示す実施の形態7の構成において、コード
長更新部60に代えて、コード長更新部60Bを備え
る。Embodiment 8 FIG. Next, an eighth embodiment of the present invention will be described with reference to FIG. In the above-described seventh embodiment, the configuration is such that the code length exsize from the outside is selected and designated. However, the moving picture coding apparatus according to the eighth embodiment has the configuration of the seventh embodiment shown in FIG. Includes a code length updating unit 60B instead of the code length updating unit 60.
【0100】このコード長更新部60Bは、画像ブロッ
クに対して許容される動き探索範囲内で取り得る複数候
補のコード長を生成し、上記複数候補のコード長を用い
て動きベクトルを表現して入力画像10をそれぞれ符号
化したときに発生する符号量を比較し、複数候補のコー
ド長の中から上記符号量が最も小さくなるコード長を選
択するように構成される。The code length updating unit 60B generates code lengths of a plurality of candidates within a motion search range allowed for an image block, and expresses a motion vector using the code lengths of the plurality of candidates. The code amount generated when each of the input images 10 is encoded is compared, and a code length with the smallest code amount is selected from a plurality of candidate code lengths.
【0101】以下、本実施の形態8にかかる動画像符号
化装置の動作を説明する。上述の実施の形態7によれ
ば、実際には、コード長指定部50が指定するコード長
psizeより少ないコード長がよい符号化効率を与える場
合もあり、逆に多いコード長がよい符号化効率を与える
場合もある。そこで、本実施の形態8では、コード長指
定部50が指定するコード長psizeよりも多いコード長
と少ないコード長とを含む複数のコード長を準備して、
最も少ない符号量を与えるコード長を選択する。The operation of the moving picture coding apparatus according to the eighth embodiment will be described below. According to the above-described seventh embodiment, actually, the code length specified by the code length specifying unit 50 is specified.
A code length smaller than psize may provide good coding efficiency, and a code length larger than psize may provide good coding efficiency. Therefore, in the eighth embodiment, a plurality of code lengths including a code length larger than and smaller than the code length psize specified by the code length specifying unit 50 are prepared.
Select the code length that gives the least code amount.
【0102】すなわち、コード長更新部60Bは、図5
に例示するように、現在のフレームで各画像ブロックに
対して許容される動き探索範囲内で取り得る複数候補の
コード長psize1ないしpsize4を生成して準備する。ここ
で、psize1は、最小コード長であり、現在符号化の対象
とされているフレームでの最小の動き探索範囲を与え
る。また、psize4は、最大コード長であり、最大の動き
探索範囲を与える。That is, the code length updating unit 60 B
As shown in the example, the code lengths psize1 to psize4 of a plurality of candidates that can be taken within the motion search range allowed for each image block in the current frame are generated and prepared. Here, psize1 is the minimum code length and gives the minimum motion search range in the frame currently being encoded. Also, psize4 is the maximum code length and gives the maximum motion search range.
【0103】コード長更新部60Bは、コード長psize1
ないしpsize4のそれぞれのコード長ごとに、歪み評価値
46が最小となる各予測画像ブロックに基づいて符号化
したときに符号化器33で発生する符号量を求めて積算
する。1フレーム分の符号化が終わった時点で、各コー
ド長ごとに符号化部33で発生した1フレーム分の符号
量を得る。The code length updating unit 60B has a code length psize1
For each of the code lengths of psize4 to psize4, the amount of code generated in the encoder 33 when encoding is performed based on each predicted image block with the smallest distortion evaluation value 46 is obtained and integrated. When the encoding for one frame is completed, the code amount for one frame generated by the encoding unit 33 for each code length is obtained.
【0104】次に、各コード長ごとに符号化部33で発
生した符号量とコード長psizeを変更することに伴う動
きベクトルの符号量の増減分とを合わせた総符号量を求
める。ここで、コード長exsizeに基づいて符号化したと
きに発生する総符号量が最小となる場合は、コード長ex
sizeを選択する。Next, the total code amount is obtained by combining the code amount generated by the encoder 33 for each code length and the increase / decrease of the code amount of the motion vector caused by changing the code length psize. Here, if the total code amount generated when encoding based on the code length exsize is minimized, the code length ex
Select size.
【0105】また、コード長exsizeに基づいて符号化し
たときに発生する総符号量が最小とならない場合は、コ
ード長psize1ないしコード長psize4の中から、総符号量
が最小となるコード長を選択する。コード長更新部60
Bは、コード長指定部50が指定するコード長psize
を、選択されたコード長に更新する。If the total code amount generated when encoding based on the code length exsize is not minimum, select the code length with the minimum total code amount from the code lengths psize1 to psize4. I do. Code length update unit 60
B is the code length psize specified by the code length specifying unit 50
Is updated to the selected code length.
【0106】なお、本実施の形態8では、複数候補のコ
ード長の生成から選択まで、コード長更新部60Bが担
うものとしたが、これに限定されることなく、他の構成
要素に割り付けてもよく、本発明の本質を限定するもの
ではない。また、図5では、複数候補のコード長とし
て、4種類のコード長を例示したが、4種類に限定され
ることなく、必要に応じて複数候補のコード長を定めれ
ばよい。In the eighth embodiment, the code length updating unit 60B is responsible for the generation and selection of a plurality of candidate code lengths. However, the present invention is not limited to this. It does not limit the essence of the present invention. Further, in FIG. 5, four types of code lengths are illustrated as the code lengths of the plurality of candidates. However, the code lengths are not limited to the four types, and the code lengths of the plurality of candidates may be determined as needed.
【0107】実施の形態9.次に、図3を援用して、本
発明の実施の形態9を説明する。前述の実施の形態7で
は、所定の条件に従って外部から指定されたコード長を
選択するように構成したが、本実施の形態9にかかる動
画像符号化装置のコード長更新部60は、コード長入力
部70に外部から入力されたコード長exsizeを用いて動
きベクトルを表現して得られる符号量と、コード長更新
部60が生成したコード長qsizeを用いて上記動きベク
トルを表現して得られる符号量とをそれぞれ重み付けし
て比較し、該比較の結果に基づきコード長を選択するよ
うに構成される。Embodiment 9 FIG. Next, a ninth embodiment of the present invention will be described with reference to FIG. In the seventh embodiment, the code length specified from the outside is selected according to the predetermined condition. However, the code length updating unit 60 of the moving picture coding apparatus according to the ninth embodiment is configured to select the code length. A code amount obtained by expressing a motion vector using a code length exsize externally input to the input unit 70, and a motion vector obtained by expressing the motion vector using a code length qsize generated by the code length updating unit 60. The code amount is weighted and compared, and the code length is selected based on the result of the comparison.
【0108】以下、本実施の形態9にかかる動画像符号
化装置の動作を説明する。前述の実施の形態7では、た
とえば、最小となる総符号量を与えるコード長がコード
長exsizeであったとき、内部で更新(指定)されるコー
ド長qsize(psize)の値もコード長exsizeと同じ値とな
る。しかし、この場合、符号化部100に対して、外部
より指定されたコード長exsizeが優先的に選択されて指
定されたわけではなく、最小の総符号量を与えるコード
長qsize(psize)の値が、コード長exsizeの値に等しくな
っているだけである。Hereinafter, the operation of the moving picture coding apparatus according to the ninth embodiment will be described. In Embodiment 7 described above, for example, when the code length that gives the minimum total code amount is the code length exsize, the value of the code length qsize (psize) that is internally updated (specified) is also the code length exsize. It has the same value. However, in this case, the code length exsize specified externally is not preferentially selected and specified to the encoding unit 100, and the code length qsize (psize) that gives the minimum total code amount is , Just equal to the value of the code length exsize.
【0109】そこで、本実施の形態9にかかる動画像符
号化装置のコード長更新部60は、内部で発生したコー
ド長qsize(psize)に基づいて符号化したときに発生する
符号量を重み付けした重み付け符号量と、外部から指定
されたコード長exsizeに基づいて符号化したときに発生
する符号量を重み付けして比較し、より小さい重み付け
符号量を与えるコード長qsize(psize)またはコード長e
xsizeを選択する。Therefore, the code length updating section 60 of the moving picture coding apparatus according to the ninth embodiment weights the code amount generated when coding is performed based on the internally generated code length qsize (psize). The weighted code amount and the code amount generated when encoding based on the code length exsize specified from the outside are weighted and compared, and the code length qsize (psize) or the code length e that gives a smaller weighted code amount
Select xsize.
【0110】このように、各コード長に基づいて符号化
したときに発生する符号量を重み付けして比較すること
により、符号量(重み付けされていない符号量)が最小
となるか否かによらず、外部より指定されたコード長ex
sizeを優先させて選択することが可能となる。As described above, by weighting and comparing the code amount generated when encoding based on each code length, it is determined whether or not the code amount (unweighted code amount) is minimized. Code length ex specified from outside
It becomes possible to select with priority given to size.
【0111】なお、本実施の形態9では、コード長更新
部60が、符号量を重み付けして比較し、コード長を選
択するものとしたが、これに限定されることなく、他の
構成要素に割り付けてもよく、本発明の本質を限定する
ものではない。In the ninth embodiment, code length updating section 60 weights and compares code amounts to select a code length. However, the present invention is not limited to this. , And does not limit the essence of the present invention.
【0112】実施の形態10.次に、本発明の実施の形
態10を説明する。上述の実施の形態1ないし9では、
「所定の画像ユニット」を「1フレーム」としたが、本
実施の形態10にかかる動画像符号化装置は、図1に示
す前述の実施の形態1の構成において、上記所定の画像
ユニットは2以上のフレームから構成され、上記画像ユ
ニットを構成するフレーム数が可変なように構成され
る。Embodiment 10 FIG. Next, a tenth embodiment of the present invention will be described. In the first to ninth embodiments,
Although the “predetermined image unit” is set to “one frame”, the moving image encoding apparatus according to the tenth embodiment differs from the configuration of the first embodiment shown in FIG. The image unit is composed of the above frames, and the number of frames constituting the image unit is variable.
【0113】たとえば、現在のフレームで発生した動き
ベクトルの大きさに応じて「所定の画像ユニット」を構
成するフレーム数を可変設定するものとした場合、画像
の動きの大きさに応じて、コード長の指定(更新)に関
する動作を簡略化することができる。For example, if the number of frames constituting the "predetermined image unit" is variably set in accordance with the magnitude of the motion vector generated in the current frame, the code may be changed in accordance with the magnitude of the image motion. The operation relating to designation (update) of the length can be simplified.
【0114】具体的には、現在のフレームでの動きベク
トルの大きさから、次の数フレームでも同様の大きさを
有する動きベクトルが発生すると予測される場合、コー
ド長指定部50は、コード長更新部60によるコード長
の更新を拒否して、現在のフレームに対して指定したコ
ード長を数フレームにわたって維持する。これにより、
コード長の更新回数が減少し、更新動作が簡略化され
る。More specifically, if it is predicted from the magnitude of the motion vector in the current frame that a motion vector having the same magnitude will occur in the next several frames, the code length designation unit 50 The update of the code length by the update unit 60 is rejected, and the code length specified for the current frame is maintained over several frames. This allows
The number of updates of the code length is reduced, and the update operation is simplified.
【0115】なお、実施の形態10では、実施の形態1
の構成においてフレーム数を可変としたが、他の実施の
形態2ないし9に対して適用してもよい。また、上述し
た実施の形態1ないし10では、フレームを単位として
画像ユニットを定義したが、1フレームの一部分を画像
ユニットとして定義してもよく、必要に応じて画像ユニ
ットの大きさを定義すればよい。さらに、画像ユニット
をいくつかに分割して画像ブロックを定義したが、画像
ブロックの大きさは、画像ユニットの大きさを超えなけ
ればよく、特に限定されない。In the tenth embodiment, the first embodiment is used.
Although the number of frames is made variable in the configuration described above, the present invention may be applied to other embodiments 2 to 9. In Embodiments 1 to 10 described above, an image unit is defined in units of frames. However, a part of one frame may be defined as an image unit, and the size of the image unit may be defined as needed. Good. Further, the image block is defined by dividing the image unit into several parts. However, the size of the image block is not limited as long as it does not exceed the size of the image unit.
【0116】[0116]
【発明の効果】以上の説明から明らかなように、本発明
によれば以下のような効果を得ることができる。すなわ
ち、本発明によれば、入力画像を所定の画像ブロックに
分割し、上記入力画像とあらかじめ符号化された予測画
像とから上記画像ブロックごとに動きベクトルを発生し
て上記動きベクトルに基づき上記予測画像の動きを補償
する動き補償手段を有し、上記動き補償手段により動き
補償して上記入力画像を符号化すると共に、指定された
コード長で上記動きベクトルを符号化する符号化手段
と、上記画像ブロックからなる所定の画像ユニットを単
位として、上記符号化手段に対し上記動きベクトルのコ
ード長を指定するコード長指定手段と、上記符号化手段
が次の画像ユニットに対する上記入力画像を符号化する
に際し、上記動き補償手段が現在の画像ユニットで発生
した動きベクトルの大きさに基づき上記コード長指定手
段が指定するコード長を更新するコード長更新手段とを
備えたので、動きベクトルの大きさに応じて符号量を低
減させ、符号化効率を改善することができる。As is clear from the above description, according to the present invention, the following effects can be obtained. That is, according to the present invention, an input image is divided into predetermined image blocks, a motion vector is generated for each of the image blocks from the input image and a previously encoded prediction image, and the prediction is performed based on the motion vector. Encoding means for compensating for motion of an image, encoding the input image by motion compensation with the motion compensating means, and encoding the motion vector with a designated code length; A code length designating unit for designating the code length of the motion vector to the encoding unit in units of a predetermined image unit composed of image blocks, and the encoding unit encodes the input image for the next image unit At this time, the code length designation means designates the motion compensation means based on the magnitude of the motion vector generated in the current image unit. Since a code length updating means for updating the over de length reduces the code amount according to the magnitude of the motion vector, it is possible to improve the coding efficiency.
【0117】また、上記コード長更新手段は、上記現在
の画像ユニットで発生したすべての動きベクトルの大き
さが、上記現在の画像ユニットに対して上記コード長指
定手段が指定するコード長より少ないコード長を用いて
表現される場合、上記コード長指定手段が指定するコー
ド長を、上記すべての動きベクトルの大きさを表現する
のに足りる最小のコード長に更新するので、次の画像ユ
ニット全体での符号量を低く抑えることができる。Further, the code length updating means may include a code length updating means for setting the size of all motion vectors generated in the current image unit smaller than the code length specified by the code length specifying means for the current image unit. When expressed using lengths, the code length specified by the code length specifying means is updated to the minimum code length sufficient to represent the magnitudes of all the motion vectors, so that the entire next image unit is updated. Can be suppressed low.
【0118】さらに、上記コード長更新手段は、上記現
在の画像ユニットで発生した動きベクトルの大多数とな
る所定の割合の動きベクトルの大きさが、上記現在の画
像ユニットに対して上記コード長指定手段が指定するコ
ード長より少ないコード長を用いて表現される場合、上
記コード長指定手段が指定するコード長を、上記動きベ
クトルの大多数となる所定の割合の動きベクトルの大き
さを表現するのに足りる最小のコード長に更新するの
で、次の画像ユニット全体での符号量を実質的に低く抑
えることができる。Further, the code length updating means may determine that the magnitude of a predetermined percentage of motion vectors, which is a majority of the motion vectors generated in the current image unit, is equal to the code length designation for the current image unit. When the code length specified by the code length specifying means is expressed using a code length smaller than the code length specified by the means, the code length specified by the code length specifying means is expressed by a magnitude of a predetermined ratio of motion vectors which is a majority of the motion vectors. Since the code length is updated to the minimum code length, the code amount of the entire next image unit can be substantially reduced.
【0119】さらにまた、上記コード長更新手段は、上
記コード長指定手段が指定するコード長を用いて上記現
在の画像ユニットで発生した動きベクトルの大きさを表
現して上記入力画像を符号化したときに発生する第1の
符号量と、上記動きベクトルの大きさを表現するのに足
りる最小のコード長を用いて上記現在の画像ユニットで
発生した動きベクトルを表現して上記入力画像を符号化
したときに発生する第2の符号量とを求め、上記第1の
符号量に対する上記第2の符号量の増分が所定の閾値以
下となる場合に上記コード長指定手段が指定するコード
長を更新するので、次の画像ユニット全体での符号量を
有効に低く抑えることができる。Further, the code length updating means encodes the input image by expressing the magnitude of the motion vector generated in the current image unit using the code length designated by the code length designating means. The input image is encoded by expressing the motion vector generated in the current image unit using the first code amount generated when and the minimum code length sufficient to express the size of the motion vector. And a second code amount generated when the second code amount is generated, and when the increment of the second code amount with respect to the first code amount becomes equal to or smaller than a predetermined threshold, the code length specified by the code length specifying means is updated. Therefore, the code amount of the entire next image unit can be effectively reduced.
【0120】さらにまた、上記コード長更新手段は、上
記コード長指定手段が指定するコード長を用いて上記現
在の画像ユニットで発生した動きベクトルの大きさを表
現して上記入力画像を符号化したときに発生する第1の
符号量と、上記コード長指定手段が指定するコード長よ
りも少ないコード長を用いて上記現在の画像ユニットで
発生した動きベクトルを表現して上記入力画像を符号化
したときに発生する第2の符号量とを求め、上記第1の
符号量に対する上記第2の符号量の増分が所定の閾値以
下となる場合に上記コード長指定手段が指定するコード
長を上記コード長指定手段が指定するコード長よりも少
ないコード長に更新するので、次の画像ユニット全体で
の符号量を低く抑えることができる。Further, the code length updating means encodes the input image by expressing the magnitude of the motion vector generated in the current image unit using the code length specified by the code length specifying means. The input image is coded by expressing a motion vector generated in the current image unit using a first code amount generated at the time and a code length smaller than the code length specified by the code length specifying means. And a second code amount generated when the code length is specified by the code length specifying means when an increment of the second code amount with respect to the first code amount is equal to or smaller than a predetermined threshold value. Since the code length is updated to a code length smaller than the code length specified by the length specifying means, the code amount of the entire next image unit can be suppressed low.
【0121】さらにまた、上記コード長更新手段は、上
記第1の符号量に対する上記第2の符号量の増分が所定
の閾値を超える場合、上記符号化手段により上記入力画
像を符号化したときに発生する符号量が上記所定の閾値
以下となる範囲内で、上記コード長指定手段が指定する
コード長を増やす方向に更新するので、動き探索可能範
囲内で符号化効率が良くなるように、次の画像ユニット
全体での符号量を有効に低く抑えることができる。Further, the code length updating means, when the increment of the second code amount with respect to the first code amount exceeds a predetermined threshold, when the input image is encoded by the encoding means, Since the code length to be generated is updated in a direction in which the code length specified by the code length specifying means is increased within a range in which the generated code amount is equal to or less than the predetermined threshold value, the coding efficiency is improved within the motion searchable range so that Of the entire image unit can be effectively reduced.
【0122】さらにまた、外部から指定されたコード長
を入力するコード長入力手段をさらに備え、上記コード
長更新手段は、所定の条件に従って、上記コード長更新
手段が生成したコード長または上記コード長入力手段に
入力されたコード長を選択して、上記コード長指定手段
が指定するコード長を更新するので、所定の条件の下で
符号化効率が改善されるように、次の画像ユニット全体
での符号量を有効に低く抑えることができる。Further, the apparatus further comprises code length input means for inputting a code length specified from the outside, wherein the code length updating means generates the code length generated by the code length updating means or the code length in accordance with a predetermined condition. The code length input to the input means is selected, and the code length specified by the code length specifying means is updated, so that the encoding efficiency is improved under predetermined conditions, so that the next image unit as a whole is improved. Can be effectively reduced.
【0123】さらにまた、上記コード長更新手段は、上
記画像ブロックに対して許容される動き探索範囲内で取
り得る複数候補のコード長を生成し、上記複数候補のコ
ード長を用いて上記動きベクトルを表現して上記入力画
像をそれぞれ符号化したときに発生する符号量を比較
し、上記複数候補のコード長の中から上記符号量が最も
小さくなるコード長を選択するので、現在のフレームで
許容される探索範囲の中で符号化効率が良くなるよう
に、次の画像ユニット全体での符号量を有効に低く抑え
ることができる。Further, the code length updating means generates code lengths of a plurality of candidates that can be taken within a motion search range allowed for the image block, and uses the code lengths of the plurality of candidates to generate the motion vector. Is expressed, and the amount of code generated when each of the input images is encoded is compared, and the code length that minimizes the code amount is selected from the code lengths of the plurality of candidates. Thus, the code amount of the entire next image unit can be effectively reduced so that the coding efficiency is improved in the search range to be searched.
【0124】さらにまた、上記コード長更新手段は、上
記コード長入力手段に入力されたコード長を用いて上記
動きベクトルを表現して得られる符号量と、上記コード
長更新手段が生成したコード長を用いて上記動きベクト
ルを表現して得られる符号量とをそれぞれ重み付けして
比較し、該比較の結果に基づきコード長を選択するの
で、コード長更新手段によるコード長の更新に優先させ
て、コード長入力手段を介して外部から指定されたコー
ド長を指定することができる。Further, the code length updating means includes a code length obtained by expressing the motion vector using the code length input to the code length input means, and a code length generated by the code length updating means. Is used to weight and compare the code amount obtained by expressing the motion vector, and the code length is selected based on the result of the comparison. The code length specified from the outside can be specified through the code length input means.
【0125】さらにまた、上記画像ユニットは2以上の
フレームからなり、上記画像ユニットをなすフレーム数
を可変としたので、画像の変化の大きさに応じて、次の
画像ユニット全体での符号量を低く抑えることができ
る。Further, since the image unit is composed of two or more frames and the number of frames constituting the image unit is variable, the code amount of the next image unit as a whole is changed according to the magnitude of the change of the image. It can be kept low.
【図1】 本発明の実施形態1に係る動画像符号化装置
の構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a video encoding device according to Embodiment 1 of the present invention.
【図2】 本発明の実施形態4に係る動画像符号化装置
の構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a video encoding device according to Embodiment 4 of the present invention.
【図3】 本発明の実施形態7に係る動画像符号化装置
の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a video encoding device according to Embodiment 7 of the present invention.
【図4】 本発明の実施形態8に係る動画像符号化装置
の構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of a video encoding device according to Embodiment 8 of the present invention.
【図5】 本発明の実施形態8に係る動画像符号化装置
のコード長更新部が生成するコード長と動き探索範囲と
の関係を説明するための図である。FIG. 5 is a diagram for explaining a relationship between a code length generated by a code length updating unit of a video encoding device according to Embodiment 8 of the present invention and a motion search range.
【図6】 従来技術に係る動画像圧縮装置のブロック図
である。FIG. 6 is a block diagram of a moving image compression apparatus according to the related art.
【図7】 従来技術に係る動画像圧縮装置の動作の流れ
を示すフローチャートである。FIG. 7 is a flowchart showing a flow of an operation of the moving picture compression apparatus according to the conventional technique.
【図8】 従来技術に係る動画像圧縮装置が内部で生成
する係数を表す図である。FIG. 8 is a diagram illustrating coefficients internally generated by a moving image compression apparatus according to the related art.
10 入力画像、10A 予測画像、31 画像メモ
リ、32 差分演算器、33 符号化器、35 可変符
号化器、36 バッファ、38 復号器、40加算器、
44 動き補償予測部、50 コード長指定部、60,
60A,60Bコード長更新部、70 コード長入力
部、90 符号化データ、100 符号化部。Reference Signs List 10 input image, 10A predicted image, 31 image memory, 32 difference calculator, 33 encoder, 35 variable encoder, 36 buffer, 38 decoder, 40 adder,
44 motion compensation prediction unit, 50 code length designation unit, 60,
60A, 60B code length updating unit, 70 code length input unit, 90 encoded data, 100 encoding unit.
Claims (10)
し、上記入力画像とあらかじめ符号化された予測画像と
から上記画像ブロックごとに動きベクトルを発生して上
記動きベクトルに基づき上記予測画像の動きを補償する
動き補償手段を有し、上記動き補償手段により動き補償
して上記入力画像を符号化すると共に、指定されたコー
ド長で上記動きベクトルを符号化する符号化手段と、 上記画像ブロックからなる所定の画像ユニットを単位と
して、上記符号化手段に対し上記動きベクトルのコード
長を指定するコード長指定手段と、 上記符号化手段が次の画像ユニットに対する上記入力画
像を符号化するに際し、上記動き補償手段が現在の画像
ユニットで発生した動きベクトルの大きさに基づき上記
コード長指定手段が指定するコード長を更新するコード
長更新手段とを備えたことを特徴とする動画像符号化装
置。1. An input image is divided into predetermined image blocks, a motion vector is generated for each of the image blocks from the input image and a previously encoded predicted image, and a motion of the predicted image is calculated based on the motion vector. Encoding means for encoding the input image with motion compensation by the motion compensating means, and encoding the motion vector with a designated code length; and A code length designating unit for designating the code length of the motion vector to the encoding unit in units of a predetermined image unit, when the encoding unit encodes the input image for the next image unit, The motion compensation means updates the code length designated by the code length designation means based on the magnitude of the motion vector generated in the current image unit. Video encoding apparatus characterized by comprising a code length updating means for.
ルの大きさが、上記現在の画像ユニットに対して上記コ
ード長指定手段が指定するコード長より少ないコード長
を用いて表現される場合、上記コード長指定手段が指定
するコード長を、上記すべての動きベクトルの大きさを
表現するのに足りる最小のコード長に更新することを特
徴とする請求項1に記載の動画像符号化装置。2. The code length updating unit according to claim 1, wherein the magnitude of all motion vectors generated in the current image unit is smaller than the code length specified by the code length specification unit for the current image unit. 2. The method according to claim 1, wherein when represented using a length, the code length specified by the code length specifying means is updated to a minimum code length sufficient to represent the magnitudes of all the motion vectors. 5. The video encoding device according to item 1.
数となる所定の割合の動きベクトルの大きさが、上記現
在の画像ユニットに対して上記コード長指定手段が指定
するコード長より少ないコード長を用いて表現される場
合、上記コード長指定手段が指定するコード長を、上記
動きベクトルの大多数となる所定の割合の動きベクトル
の大きさを表現するのに足りる最小のコード長に更新す
ることを特徴とする請求項1に記載の動画像符号化装
置。3. The code length updating means according to claim 1, wherein a magnitude of a predetermined ratio of motion vectors, which is a majority of motion vectors generated in said current image unit, is set to said code length designation for said current image unit. When the code length specified by the code length specifying means is expressed using a code length smaller than the code length specified by the means, the code length specified by the code length specifying means is expressed by a magnitude of a predetermined ratio of motion vectors which is a majority of the motion vectors. 2. The moving picture coding apparatus according to claim 1, wherein the moving picture coding apparatus updates the minimum code length to the minimum code length.
現在の画像ユニットで発生した動きベクトルの大きさを
表現して上記入力画像を符号化したときに発生する第1
の符号量と、上記動きベクトルの大きさを表現するのに
足りる最小のコード長を用いて上記現在の画像ユニット
で発生した動きベクトルを表現して上記入力画像を符号
化したときに発生する第2の符号量とを求め、上記第1
の符号量に対する上記第2の符号量の増分が所定の閾値
以下となる場合に上記コード長指定手段が指定するコー
ド長を更新することを特徴とする請求項2または3に記
載の動画像符号化装置。4. The method according to claim 1, wherein the code length updating means encodes the input image by expressing a magnitude of a motion vector generated in the current image unit using a code length designated by the code length designating means. The first occurring in
And a minimum code length sufficient to represent the size of the motion vector, and expressing the motion vector generated in the current image unit and encoding the input image. 2 and obtain the first code amount.
4. The moving picture code according to claim 2, wherein the code length designated by the code length designation means is updated when an increment of the second code quantity with respect to the code quantity is equal to or less than a predetermined threshold value. Device.
現在の画像ユニットで発生した動きベクトルの大きさを
表現して上記入力画像を符号化したときに発生する第1
の符号量と、上記コード長指定手段が指定するコード長
よりも少ないコード長を用いて上記現在の画像ユニット
で発生した動きベクトルを表現して上記入力画像を符号
化したときに発生する第2の符号量とを求め、上記第1
の符号量に対する上記第2の符号量の増分が所定の閾値
以下となる場合に上記コード長指定手段が指定するコー
ド長を上記コード長指定手段が指定するコード長よりも
少ないコード長に更新することを特徴とする請求項1に
記載の動画像符号化装置。5. The apparatus according to claim 1, wherein said code length updating means encodes said input image by expressing a magnitude of a motion vector generated in said current image unit using a code length designated by said code length designating means. The first occurring in
And a second code generated when the input image is encoded by expressing a motion vector generated in the current image unit using a code amount smaller than the code length specified by the code length specifying means. And the code amount of the first
When the increment of the second code amount with respect to the code amount is equal to or smaller than a predetermined threshold value, the code length specified by the code length specifying unit is updated to a code length smaller than the code length specified by the code length specifying unit. The moving picture coding apparatus according to claim 1, wherein:
定の閾値を超える場合、上記符号化手段により上記入力
画像を符号化したときに発生する符号量が上記所定の閾
値以下となる範囲内で、上記コード長指定手段が指定す
るコード長を増やす方向に更新することを特徴とする請
求項5に記載の動画像符号化装置。6. The code length updating means, when an increment of the second code amount with respect to the first code amount exceeds a predetermined threshold value, the code length updating means generates when the input image is encoded by the encoding means. The moving picture encoding apparatus according to claim 5, wherein the code length is updated in a direction to increase the code length specified by the code length specifying means within a range in which the code amount to be performed is equal to or less than the predetermined threshold.
コード長入力手段をさらに備え、 上記コード長更新手段は、所定の条件に従って、上記コ
ード長更新手段が生成したコード長または上記コード長
入力手段に入力されたコード長を選択して、上記コード
長指定手段が指定するコード長を更新することを特徴と
する請求項1ないし6のいずれかに記載の動画像符号化
装置。7. Code length input means for inputting a code length specified from outside, wherein said code length updating means generates the code length generated by said code length updating means or said code length input according to a predetermined condition. 7. The moving picture coding apparatus according to claim 1, wherein the code length input to the means is selected, and the code length specified by the code length specifying means is updated.
取り得る複数候補のコード長を生成し、上記複数候補の
コード長を用いて上記動きベクトルを表現して上記入力
画像をそれぞれ符号化したときに発生する符号量を比較
し、上記複数候補のコード長の中から上記符号量が最も
小さくなるコード長を選択することを特徴とする請求項
7に記載の動画像符号化装置。8. The code length updating means generates code lengths of a plurality of candidates within a motion search range allowed for the image block, and converts the motion vector using the code lengths of the plurality of candidates. 8. The method according to claim 7, wherein code amounts generated when the input image is expressed and encoded are compared, and a code length that minimizes the code amount is selected from the code lengths of the plurality of candidates. 5. The video encoding device according to item 1.
記動きベクトルを表現して得られる符号量と、上記コー
ド長更新手段が生成したコード長を用いて上記動きベク
トルを表現して得られる符号量とをそれぞれ重み付けし
て比較し、該比較の結果に基づきコード長を選択するこ
とを特徴とする請求項7に記載の動画像符号化装置。9. The code length updating means, comprising: a code amount obtained by expressing the motion vector using the code length input to the code length input means; and a code length generated by the code length updating means. 8. The moving picture coding apparatus according to claim 7, wherein the coding amount obtained by expressing the motion vector is compared with each other by weighting, and a code length is selected based on a result of the comparison.
からなり、上記画像ユニットをなすフレーム数を可変と
したことを特徴とする請求項1ないし9のいずれかに記
載の動画像符号化装置。10. The moving picture coding apparatus according to claim 1, wherein said picture unit comprises two or more frames, and the number of frames forming said picture unit is variable.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00983998A JP4583514B2 (en) | 1998-01-21 | 1998-01-21 | Video encoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00983998A JP4583514B2 (en) | 1998-01-21 | 1998-01-21 | Video encoding device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11215504A true JPH11215504A (en) | 1999-08-06 |
JP4583514B2 JP4583514B2 (en) | 2010-11-17 |
Family
ID=11731305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00983998A Expired - Fee Related JP4583514B2 (en) | 1998-01-21 | 1998-01-21 | Video encoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4583514B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816617B2 (en) | 2000-01-07 | 2004-11-09 | Fujitsu Limited | Motion vector searcher and motion vector search method as well as moving picture coding apparatus |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238796A1 (en) | 2017-05-11 | 2019-08-01 | Jacob Nathaniel Allen | Object Inspection System And Method For Inspecting An Object |
MX2022016172A (en) | 2020-06-17 | 2023-04-24 | Inovision Software Solutions Inc | System and method for defect repair. |
-
1998
- 1998-01-21 JP JP00983998A patent/JP4583514B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816617B2 (en) | 2000-01-07 | 2004-11-09 | Fujitsu Limited | Motion vector searcher and motion vector search method as well as moving picture coding apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP4583514B2 (en) | 2010-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100272815B1 (en) | Image signal encoding device and decoding device | |
JP4662636B2 (en) | Improvement of motion estimation and block matching pattern | |
US7031387B2 (en) | B picture mode determining method and apparatus in video coding system | |
CN1980393B (en) | Image coding device, method and integrated circuit | |
US6173080B1 (en) | Prediction method for discrete cosine transform coefficient | |
US6553068B1 (en) | Video signal coding method and device adapted to control code amounts according to the characteristics of pictures | |
JPH1093975A (en) | Motion compensation inter-frame predicting method in moving image encoder | |
JP2005151391A (en) | Method and apparatus for coding moving image, and program | |
US6577680B2 (en) | Video signal coding method and coding device adapted to control code amounts according to the characteristics of pictures | |
JP4130617B2 (en) | Moving picture coding method and moving picture coding apparatus | |
JP2000059792A (en) | High efficiency encoding device of dynamic image signal | |
JPH11215504A (en) | Dynamic image coder | |
AU606816B2 (en) | Method for encoding/transmitting images | |
JPH10313463A (en) | Video signal encoding method and encoding device | |
JPH09168155A (en) | Variable frame rate dynamic image coding method | |
JP2019140630A (en) | Video encoder, video decoder, and their program | |
JP2001224036A (en) | Moving picture coder | |
KR100390167B1 (en) | Video encoding method and video encoding apparatus | |
KR20030009575A (en) | Rate control apparatus and method using neural-net classifier for moving picture coding | |
JPS61164390A (en) | Adaptive forecast coding device of inter-frame and between frames of animation picture signal | |
JP2608909B2 (en) | Video predictive coding | |
JP6728870B2 (en) | Image compression apparatus, image compression method, and image compression program | |
JP4243205B2 (en) | Moving picture coding apparatus, method and program thereof | |
JP2012120108A (en) | Interpolation image generating apparatus and program, and moving image decoding device and program | |
JPH08205172A (en) | Area division type motion predicting circuit, area division type motion predicting circuit incorporated image encoding device, and area division type motion predictive image decoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070226 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080318 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080417 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080529 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100804 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100901 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |