JP2000032474A - Dynamic image encoder - Google Patents

Dynamic image encoder

Info

Publication number
JP2000032474A
JP2000032474A JP19264798A JP19264798A JP2000032474A JP 2000032474 A JP2000032474 A JP 2000032474A JP 19264798 A JP19264798 A JP 19264798A JP 19264798 A JP19264798 A JP 19264798A JP 2000032474 A JP2000032474 A JP 2000032474A
Authority
JP
Japan
Prior art keywords
frame
motion vector
encoding
coding
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP19264798A
Other languages
Japanese (ja)
Inventor
Masaaki Hyodo
正晃 兵頭
Hiroshi Kusao
寛 草尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP19264798A priority Critical patent/JP2000032474A/en
Publication of JP2000032474A publication Critical patent/JP2000032474A/en
Pending legal-status Critical Current

Links

Landscapes

  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a dynamic image encoder capable of making a GOP configuraltion adaptively variable, while considering the effects of motion vector search, and preventing encoding operation from being delayed so much, without needing any separate memory and computing element. SOLUTION: Input images are stored in an encoding image memory 4 and successively outputted to a motion vector detection circuit 6. In the motion vector detection circuit 6, separate from prediction for encoding, a motion vector between adjacent frames is also detected for plural blocks. In an encoding type selection circuit 7, an appropriate encoding type is selected from intra- frame encoding, inter-frame encoding in a forward direction and inter-frame encoding in both directions from the inputted motion vector between the adjacent frames. A memory controller 5 controls the input/output of the encoding image memory 4, corresponding to the selected result of the encoding type selection circuit 7, and an encoding part 2 encodes the input images in accordance with the decision result of the encoding type selection circuit.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、動画像をフレーム
内符号化、前方向のフレーム間符号化、両方向のフレー
ム間符号化を用いて符号化し、フレーム間の予測はブロ
ック毎に動きベクトル探索する動きベクトル探索回路で
行う動き補償フレーム間符号化方式を用いる動画像符号
化装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to encoding of a moving image using intra-frame encoding, forward inter-frame encoding, and bi-directional inter-frame encoding. The present invention relates to a moving picture coding apparatus using a motion compensation inter-frame coding method performed by a motion vector search circuit that performs a motion vector search.

【0002】[0002]

【従来の技術】近年、動画像符号化方式として、MPE
G1(ISO/IEC 11172)、MPEG2(I
SO/IEC 13818)などの動き補償予測を用い
たフレーム間符号化方式が蓄積、通信、放送の分野で用
いられている。なお、MPEG2ではフィールド構造も
定義されているが、ここではフレーム構造に限定して説
明する。MPEG方式においては、フレーム毎にフレー
ム内符号化、前方向のフレーム間符号化、両方向のフレ
ーム間符号化を切り替えて用いる。以下ではフレーム内
符号化するフレームをIフレーム、前方向のフレーム間
符号化するフレームをPフレーム、両方向のフレーム間
符号化するフレームをBフレームと呼ぶ。
2. Description of the Related Art In recent years, MPE has been used as a moving picture coding method.
G1 (ISO / IEC 11172), MPEG2 (I
An interframe coding method using motion compensation prediction such as SO / IEC 13818) is used in the fields of storage, communication, and broadcasting. Although the field structure is defined in MPEG2, the description will be limited to the frame structure here. In the MPEG system, intra-frame coding, forward inter-frame coding, and bi-directional inter-frame coding are switched and used for each frame. Hereinafter, a frame to be intra-coded is referred to as an I frame, a frame to be subjected to inter-frame coding in the forward direction is referred to as a P frame, and a frame to be subjected to inter-frame coding in both directions is referred to as a B frame.

【0003】図17にIフレーム、Pフレーム、Bフレ
ームの並びの例を示す。MPEG方式では図17に示す
ように、1枚以上のIフレームを含む複数のフレーム群
をGroup Of Pictures(以下ではGO
Pと略す)と呼ぶ。GOP内ではIフレームとPフレー
ムとを等間隔に配置し、その間をBフレームとするのが
一般的である。また、画像をマクロブロックと呼ぶ16
画素×16画素のブロックに分割し、フレーム間の予測
はマクロブロック毎に行う。
FIG. 17 shows an example of the arrangement of an I frame, a P frame, and a B frame. In the MPEG system, as shown in FIG. 17, a plurality of frame groups including one or more I frames are grouped into Group Of Pictures (hereinafter referred to as GO).
P). In a GOP, an I frame and a P frame are generally arranged at equal intervals, and the interval between them is a B frame. Also, an image is called a macroblock.
The image is divided into blocks of pixels × 16 pixels, and prediction between frames is performed for each macroblock.

【0004】一般的にはGOPの構成は固定とすること
が多いが、可変とすることでより画像の特性に適した符
号化ができる。例えば連続したシーンや動きの小さいシ
ーンではフレーム間符号化とすることで少ない符号量で
高画質を得ることができるが、シーンチェンジなどでフ
レーム間の相関が極端に低くなる場合や動きの大きなシ
ーンではフレーム間符号化よりもフレーム内符号化を用
いる方が符号化効率が良くなる。
In general, the structure of a GOP is often fixed, but by making it variable, coding more suitable for the characteristics of the image can be performed. For example, in a continuous scene or a scene with a small motion, high image quality can be obtained with a small code amount by performing inter-frame coding, but a case where the correlation between frames becomes extremely low due to a scene change or a scene with a large motion. In this case, the coding efficiency is improved by using the intra-frame coding rather than the inter-frame coding.

【0005】画像の特性に合わせ、GOPを構成するフ
レーム数やI,Pフレームの間隔を可変とする方式が特
開平8−65678号公報に記載されている。該特許で
は、符号化効率(Gain)の逆数の近似式を導出し、
近似式の値を最小にするGOP構成を求めている。式
(1)に近似式を示す。
Japanese Patent Application Laid-Open No. 8-65678 discloses a system in which the number of frames constituting a GOP and the interval between I and P frames are made variable in accordance with the characteristics of an image. In this patent, an approximate expression of the reciprocal of the coding efficiency (Gain) is derived,
A GOP configuration that minimizes the value of the approximate expression is required. Expression (1) shows an approximate expression.

【0006】[0006]

【数1】 (Equation 1)

【0007】式(1)において、ρは隣接フレーム間の
相関係数、WPとWBはフレーム毎に設定された量子化
ステップ幅の比によって決定される重み係数、mはI,
Pフレームの間隔、nはPフレームの枚数、Nは設定可
能なGOPの最大フレーム数であり、S(m−1)は以
下の式(2)で示される式である。
In equation (1), ρ is a correlation coefficient between adjacent frames, WP and WB are weighting factors determined by a ratio of a quantization step width set for each frame, and m is I,
The interval between P frames, n is the number of P frames, N is the maximum number of GOP frames that can be set, and S (m-1) is an expression represented by the following expression (2).

【0008】[0008]

【数2】 (Equation 2)

【0009】この特開平8−65678号公報に記載さ
れている技術では、一旦入力画像をメモリに蓄積し、式
(1)の値を最小にするmとnの組み合わせを探索後、
求めたm,nの値に従ったGOP構成とすることで、符
号化効率の高いGOPを得ている。
In the technique described in Japanese Patent Application Laid-Open No. 8-65678, an input image is temporarily stored in a memory, and after searching for a combination of m and n that minimizes the value of equation (1),
By using a GOP configuration according to the obtained values of m and n, a GOP with high encoding efficiency is obtained.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、特開平
8−65678記載の方式では、フレーム間での相関を
もとにGOP構成を決定しており、動き予測の効果を考
慮していない。フレーム間予測を用いる場合、画質は動
き予測の結果に大きく左右される。例えば、動き量が大
きく、動きベクトル探索の範囲外となる場合には、フレ
ーム間予測の効果が発揮されず画質が極端に悪くなると
いう問題がある。
However, in the method described in JP-A-8-65678, the GOP configuration is determined based on the correlation between frames, and the effect of motion prediction is not considered. When using inter-frame prediction, the image quality is greatly affected by the result of motion prediction. For example, when the motion amount is large and is out of the range of the motion vector search, there is a problem that the effect of inter-frame prediction is not exhibited and the image quality is extremely deteriorated.

【0011】図17に示したGOP構成の場合、Pフレ
ームの予測は3フレーム離れたフレームからの予測とな
る。フレーム間距離が大きくなると動き量も大きくな
り、動き量が動きベクトル探索範囲外となることが多く
なる。このような場合、Pフレームの画質が極端に悪く
なり、画質の悪い画像からさらに予測を行うため、次の
予測も予測誤差が大きくなるという悪循環に陥る。従っ
て、動き量が大きい場合にはフレーム間距離の小さい予
測となるようなGOP構成とする方が望ましい。
In the case of the GOP structure shown in FIG. 17, the prediction of a P frame is a prediction from a frame three frames away. As the interframe distance increases, the motion amount also increases, and the motion amount often falls outside the motion vector search range. In such a case, the image quality of the P frame becomes extremely poor, and further prediction is performed from an image with poor image quality. Therefore, the next prediction also enters a vicious cycle in which the prediction error increases. Therefore, it is desirable to adopt a GOP configuration in which when the motion amount is large, the prediction between the frames is small.

【0012】また、特開平8−65678記載の方式で
は、入力画像をGOP単位で一旦メモリに蓄積する必要
がある。GOPは12フレームや15フレームとするこ
とが一般的であり、例えば画像フォーマットが4:2:
2、画像サイズが720×480画素の場合は1画面の
データ量は 720×480×2 = 691,200 (約700K Byte) 1GOPが15フレームの場合には 691,200×15 = 10,368,000(約10M Byte) の大容量のメモリが必要になるという問題がある。
In the method described in JP-A-8-65678, it is necessary to temporarily store an input image in a memory in GOP units. The GOP is generally 12 frames or 15 frames. For example, the image format is 4: 2:
2. When the image size is 720 x 480 pixels, the data amount of one screen is 720 x 480 x 2 = 691,200 (approximately 700K Byte). There is a problem that a large capacity memory is required.

【0013】また、一旦メモリに蓄積するためデータの
入力から符号化を開始するまでに遅延が発生する。1G
OPが15フレームの場合にはNTSC信号の場合で約
0.5秒の遅延となる。放送や通信などリアルタイム性
が要求されるアプリケーションの場合には遅延が問題と
なる。
Further, since the data is temporarily stored in the memory, a delay occurs from the input of data to the start of encoding. 1G
When the OP is 15 frames, the delay is about 0.5 seconds in the case of the NTSC signal. For applications requiring real-time properties such as broadcasting and communication, delay is a problem.

【0014】さらに、GOP構成を決定するためにフレ
ーム間の相関係数を求めたり、除算や階乗を含む演算を
繰り返し行わなければならず、演算量が非常に大きいと
いう問題がある。
Further, in order to determine the GOP configuration, it is necessary to repeatedly calculate a correlation coefficient between frames or to perform calculations including division and factorial, and thus the amount of calculation is extremely large.

【0015】本発明は、このような問題点に鑑みてなさ
れたものであり、動きベクトル探索の効果を考慮してG
OP構成を適応的に可変とし、しかも、別途メモリや演
算器を必要とせず、符号化遅延が大きくなることのない
動画像符号化装置を提供することを目的とする。
The present invention has been made in view of such a problem, and has been developed in consideration of the effect of motion vector search.
It is an object of the present invention to provide a moving picture coding apparatus which makes an OP configuration adaptively variable, does not require a separate memory or arithmetic unit, and does not increase coding delay.

【0016】[0016]

【課題を解決するための手段】本発明では、隣接フレー
ム間で相関演算を行い、相関演算の結果を用いて画像シ
ーケンスに適したGOP構成を選択する。GOP構成の
決定には動き予測の効果も考慮し、動き量が大きく、フ
レーム間距離が大きな予測が不適当な場合には、フレー
ム間距離を短くするような予測となるようなGOP構成
とする。
According to the present invention, a correlation operation is performed between adjacent frames, and a GOP structure suitable for an image sequence is selected using the result of the correlation operation. In determining the GOP configuration, the effect of motion prediction is also taken into consideration. If the motion amount is large and prediction with a large inter-frame distance is inappropriate, the GOP configuration is such that prediction is made to shorten the inter-frame distance. .

【0017】また、相関演算を画面の一部についてのみ
行うことで相関演算の演算量を減らし、さらに既存の動
きベクトル検出装置を用いて入力フレームに対して逐
次、相関演算を行うことで遅延量が増大せず、かつ相関
演算のために回路規模を増加させることなく、GOP構
成を可変にすることを可能にする。
Further, the correlation calculation is performed only on a part of the screen to reduce the calculation amount of the correlation calculation, and furthermore, the correlation calculation is sequentially performed on the input frame by using the existing motion vector detecting device, so that the delay amount is reduced. , And the GOP configuration can be made variable without increasing the circuit scale for the correlation operation.

【0018】本発明の請求項1によれば、フレーム内符
号化、前方向フレーム間符号化、両方向フレーム間符号
化を組み合わせて符号化する動画像符号化装置であっ
て、入力画像を入力し、符号化フレーム及び該フレーム
に隣接するフレームを記憶する符号化画像メモリと、前
記符号化フレームをブロックに分割し、複数のブロック
を選択し、選択したブロック毎に該フレームに隣接する
フレームとの誤差演算を行い、第1の動きベクトルを検
出する動きベクトル検出部と、前記動きベクトル検出部
により検出された第1の動きベクトルに基づいて、符号
化フレームの符号化タイプを選択する符号化タイプ選択
部と、前記選択された符号化タイプに基づいて、前記符
号化画像メモリから読み出される符号化フレームと、参
照画像メモリから読み出す参照画像との各ブロック毎に
誤差演算を行って第2の動きベクトルを検出し、該第2
の動きベクトルと前記読み出された参照画像とから符号
化データを生成する符号化部とを備えることにより、上
記課題を解決する。
According to the first aspect of the present invention, there is provided a moving picture coding apparatus for coding by combining intra-frame coding, forward inter-frame coding, and bi-directional inter-frame coding. A coded image memory for storing a coded frame and a frame adjacent to the frame, and dividing the coded frame into blocks, selecting a plurality of blocks, and for each selected block, a frame adjacent to the frame. A motion vector detecting unit that performs an error operation and detects a first motion vector; and a coding type that selects a coding type of a coded frame based on the first motion vector detected by the motion vector detecting unit. A selecting unit, a coded frame read from the coded image memory based on the selected coding type, and a coded frame read from the reference image memory. Second motion vector by performing an error calculation for each block of the reference image to detect the issue, the second
The above problem is solved by providing an encoding unit that generates encoded data from the motion vector and the read reference image.

【0019】本発明の請求項2によれば、前記符号化部
は、前記符号化タイプ選択部で選択された符号化タイプ
に基づいて、第2の動きベクトルを前記動きベクトル検
出部において検出し、該検出された動きベクトルと前記
参照画像から符号化データを生成することにより、上記
課題を解決する。
According to a second aspect of the present invention, the encoding section detects a second motion vector in the motion vector detecting section based on the encoding type selected by the encoding type selecting section. The above problem is solved by generating encoded data from the detected motion vector and the reference image.

【0020】本発明の請求項3によれば、前記第1の動
きベクトルの探索範囲を垂直方向及び水平方向に±N画
素としたときに、前記第1の動きベクトルのうち、垂直
方向及び水平方向に±N/M画素の領域内に含まれる動
きベクトルが所定数以上である場合、前記符号化タイプ
選択部において、該符号化フレームを含めたM−1フレ
ームの符号化タイプを両方向フレーム間符号化とするこ
とにより、上記課題を解決する。
According to the third aspect of the present invention, when the search range of the first motion vector is ± N pixels in the vertical and horizontal directions, the vertical and horizontal When the number of motion vectors included in the area of ± N / M pixels in the direction is equal to or greater than a predetermined number, the encoding type selection unit changes the encoding type of the M-1 frame including the encoded frame between the bidirectional frames. The above problem is solved by encoding.

【0021】本発明の請求項4によれば、前記第1の動
きベクトルの探索範囲を±N×±2N画素としたとき
に、前記第1の動きベクトルのうち、(±N/M)×
(±2N/M)画素の領域内に含まれる動きベクトルが
所定数以下である場合、前記符号化タイプ選択部におい
て、該符号化フレームを含めたM−1フレームの符号化
タイプを前方向フレーム間符号化とし、前記第2の動き
ベクトルを±N×±2N画素の探索範囲として検出する
ことにより、上記課題を解決する。
According to the fourth aspect of the present invention, when the search range of the first motion vector is ± N × ± 2N pixels, (± N / M) ×
When the number of motion vectors included in the area of (± 2N / M) pixels is equal to or less than a predetermined number, the encoding type selection unit sets the encoding type of the M-1 frame including the encoded frame to the forward frame. The above problem is solved by performing inter-coding and detecting the second motion vector as a search range of ± N × ± 2N pixels.

【0022】本発明の請求項5によれば、前記動きベク
トル検出部において、選択したブロック毎に該フレーム
に隣接するフレームとの誤差演算を行い、前記第1の動
きベクトル及び該ベクトルに対応する誤差値を求め、該
誤差値が所定値以上である場合には、求められた第1の
動きベクトルを無効とし、前記符号化タイプ選択部にお
ける判定に用いないことにより、上記課題を解決する。
According to the fifth aspect of the present invention, the motion vector detecting unit performs an error calculation for each selected block with respect to a frame adjacent to the selected frame, and calculates an error corresponding to the first motion vector and the vector. The above problem is solved by calculating an error value and, when the error value is equal to or more than a predetermined value, invalidating the obtained first motion vector and not using the first motion vector for determination in the coding type selection unit.

【0023】本発明の請求項6によれば、前記動きベク
トル検出部において、選択したブロック語とに該フレー
ムに隣接するフレームとの誤差演算を行い、前記第1の
動きベクトル及び該ベクトルに対応する誤差値を求め、
該誤差値が所定値以上となる動きベクトルが所定数以上
である場合には、前記符号化タイプ選択部において、該
フレームの符号化タイプとしてフレーム内符号化を選択
することにより、上記課題を解決する。
According to the sixth aspect of the present invention, the motion vector detecting unit performs an error operation between the selected block word and a frame adjacent to the frame, and calculates an error corresponding to the first motion vector and the vector. Find the error value
When the number of motion vectors whose error value is equal to or greater than a predetermined value is equal to or greater than a predetermined number, the above-mentioned problem is solved by selecting intra-frame encoding as the encoding type of the frame in the encoding type selection unit. I do.

【0024】本発明の請求項7によれば、複数フレーム
毎に、少なくとも該複数フレームにおけるフレーム内符
号化すべきフレームの位置を予め設定し、該設定された
フレーム内符号化すべきフレーム以外に対し、前記符号
化タイプ選択部において符号化タイプを選択することに
より、上記課題を解決する。
According to the seventh aspect of the present invention, at least a position of a frame to be intra-coded in the plurality of frames is set in advance for each of a plurality of frames. The above problem is solved by selecting an encoding type in the encoding type selection unit.

【0025】[0025]

【発明の実施の形態】以下図面を参照しながら、本発明
の実施の形態を詳細に説明する。図1に本発明の第1の
実施の形態をブロック図で示す。これは請求項1に対応
した実施の形態である。従来の動画像符号化装置はGO
P内のフレーム毎の符号化タイプは固定であるか、可変
であっても相関演算を行う演算器と大容量のメモリが必
要であったが、本実施の形態では画像の特性に合わせて
符号化タイプを可変とながらも、付加的な相関演算器や
メモリを必要としない点に特徴がある。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing a first embodiment of the present invention. This is an embodiment corresponding to claim 1. The conventional video coding device is GO
Although an encoding type for each frame in P is fixed or variable, an arithmetic unit for performing a correlation operation and a large-capacity memory are required. In the present embodiment, encoding is performed according to image characteristics. It is characterized in that, although the type of conversion is variable, no additional correlation calculator or memory is required.

【0026】本実施の形態では、従来例で示したMPE
G方式で符号化し、I,Pフレーム間のBフレームの枚
数は最大でも1枚とした場合の例を説明する。
In this embodiment, the MPE shown in the conventional example
An example in which encoding is performed by the G method and the number of B frames between the I and P frames is set to at most one will be described.

【0027】図1の本実施の形態は、フレーム毎に符号
化タイプをフレーム内符号化、前方向フレーム間符号
化、両方向フレーム間符号化から適応的に選択する符号
化タイプ判定部1、入力画像の符号化を行う符号化部
2、フレーム間予測や予測画像生成に用いる復号画像を
生成するローカルデコード部3からなる。本実施の形態
では特に符号化タイプ判定部1に特徴がある。
In the present embodiment shown in FIG. 1, a coding type determining unit 1 for adaptively selecting a coding type for each frame from intra-frame coding, forward inter-frame coding, and bidirectional inter-frame coding. An encoding unit 2 for encoding an image, and a local decoding unit 3 for generating a decoded image used for inter-frame prediction or predicted image generation. This embodiment is particularly characterized by the coding type determination unit 1.

【0028】図1において、入力画像が符号化画像メモ
リ4に入力される。符号化画像メモリ4は3フレーム分
の容量があり、入出力はメモリコントローラ5で制御さ
れる。メモリコントローラ5及び符号化タイプ選択回路
7の動作は後述する。符号化画像メモリ4からは符号化
するフレームが読み出され、また参照画像メモリ14か
らは参照画像が読み出され、動きベクトル検出回路6で
16×16画素のマクロブロック毎に動きベクトルが検
出される。
In FIG. 1, an input image is input to a coded image memory 4. The encoded image memory 4 has a capacity of three frames, and the input and output are controlled by the memory controller 5. The operations of the memory controller 5 and the encoding type selection circuit 7 will be described later. A frame to be coded is read from the coded image memory 4, a reference image is read from the reference image memory 14, and a motion vector is detected by the motion vector detection circuit 6 for each macroblock of 16 × 16 pixels. You.

【0029】動きベクトル検出後、動きベクトル検出回
路6からは符号化するマクロブロックの画素データが、
参照画像メモリ14からは符号化マクロブロック位置と
動きベクトルによって求められた予測画像が減算器8に
入力され、予測誤差画像がDCT回路9に入力される。
After the detection of the motion vector, the pixel data of the macroblock to be coded from the motion vector detection circuit 6 is
From the reference image memory 14, a predicted image obtained from the encoded macroblock position and the motion vector is input to the subtracter 8, and a prediction error image is input to the DCT circuit 9.

【0030】DCT回路9では予測誤差データが周波数
領域の重み係数に変換され、量子化回路10では重み係
数が量子化され、量子化結果は可変長符号化回路11で
可変長符号化され、符号化データとして出力される。量
子化結果は逆量子化回路12にも入力され、逆量子化結
果が逆DCT回路13で予測誤差データに変換される。
予測誤差データは加算器15で予測画像と加算され、復
号画像となる。復号画像は参照画像メモリ14に格納さ
れ、参照画像や予測画像として用いられる。
The DCT circuit 9 converts the prediction error data into weight coefficients in the frequency domain, the quantizer 10 quantizes the weight coefficients, and the quantized result is subjected to variable-length coding by the variable-length coding circuit 11, It is output as coded data. The quantization result is also input to the inverse quantization circuit 12, and the inverse quantization result is converted into prediction error data by the inverse DCT circuit 13.
The prediction error data is added to the prediction image by the adder 15 to form a decoded image. The decoded image is stored in the reference image memory 14 and is used as a reference image or a predicted image.

【0031】本発明の特徴である符号化タイプ判定部1
をより詳細に説明する。まず、図2(a)〜(c)に符
号化画像メモリ4の書き込み、読み出し動作を示す。1
フレーム期間を符号化期間と判定期間に分け、入力フレ
ームは期間T1の符号化期間にフレームF1、期間T2
の符号化期間にフレームF2・・・という順で入力され
る。符号化期間には入力フレームの書き込み及び読み出
しを行い、判定期間では直前の入力フレームの符号化タ
イプの判定を行う。図2(c)で添字の“W”はメモリ
への書き込みを、“R”はメモリからの読み出しを行う
ことを示す。
An encoding type determining unit 1 which is a feature of the present invention.
Will be described in more detail. First, FIGS. 2A to 2C show the writing and reading operations of the encoded image memory 4. 1
The frame period is divided into an encoding period and a determination period, and an input frame is divided into a frame F1 and a period T2 during the encoding period of the period T1.
Are input in the order of frame F2. During the encoding period, writing and reading of the input frame are performed, and during the determination period, the encoding type of the immediately preceding input frame is determined. In FIG. 2C, the subscript “W” indicates that writing to the memory is performed, and “R” indicates that reading from the memory is performed.

【0032】符号化画像メモリ4の書き込み、読み出し
は図3及び図4のフローチャートに従ってメモリコント
ローラ5が制御する。図3には書き込み動作のフローチ
ャート、図4には読み出し動作のフローチャートを示
す。
The writing and reading of the coded image memory 4 are controlled by the memory controller 5 in accordance with the flowcharts shown in FIGS. FIG. 3 shows a flowchart of the write operation, and FIG. 4 shows a flowchart of the read operation.

【0033】図3の書き込み動作のフローチャートにお
いて、まず初期書き込みとしてステップ101〜103
で符号化画像メモリ4の書き込みアドレスをM1,M
2,M3と変化させ、順に3フレーム分の入力フレーム
を書き込む。図3のフローチャートには示していない
が、3フレーム目からは書き込みと読み出しの両方を行
う。そして、直前に読み出しが完了し空いたメモリアド
レスを次の書き込みアドレスとして更新し(ステップ1
04)、入力フレームが終了するまでこの動作を繰り返
す。即ち、3フレーム目以降は読み出しが終了したメモ
リアドレスに次のフレームの書き込みを行う。
In the flow chart of the write operation shown in FIG.
To set the write address of the encoded image memory 4 to M1, M
2, and M3, and sequentially write input frames for three frames. Although not shown in the flowchart of FIG. 3, both writing and reading are performed from the third frame. Then, the memory address which has been read immediately before and is vacant is updated as the next write address (step 1).
04), This operation is repeated until the input frame ends. That is, in the third and subsequent frames, the next frame is written to the memory address from which reading has been completed.

【0034】次に読み出し動作を説明する。読み出しは
I,PフレームとBフレームで異なり、I,Pフレーム
は書き込んだ順に読み出せば良いが、BフレームはBフ
レームに続くI,Pフレームの後に読み出す必要があ
る。
Next, the read operation will be described. The reading is different between the I and P frames and the B frame. The I and P frames may be read in the order of writing, but the B frame needs to be read after the I and P frames following the B frame.

【0035】そこで、書き込みアドレスを蓄積するFI
FOを備え、符号化タイプがI,Pフレームと判定され
た場合は書き込みアドレスをそのままFIFOに入力
し、Bフレームと判定された場合は、Bフレームに続く
I,Pフレームの書き込みアドレスがFIFOの書き込
まれた後にBフレームの書き込みアドレスをFIFOに
入力し、FIFOから出力される順に読み出しを行う。
この動作を図4のフローチャートで示し、FIFOの状
態例を図2(g),(h),(i)に示す。
Therefore, the FI for storing the write address is used.
When the coding type is determined to be I or P frame, the write address is directly input to the FIFO. When the coding type is determined to be B frame, the write address of the I and P frames following the B frame is set to the FIFO. After the writing, the write address of the B frame is input to the FIFO, and reading is performed in the order of output from the FIFO.
This operation is shown in the flowchart of FIG. 4, and examples of the state of the FIFO are shown in FIGS. 2 (g), (h) and (i).

【0036】図4において、直前にアドレスMiに書き
込まれたフレームの符号化タイプを選択する(ステップ
111)。符号化タイプの選択手段は後述する。そして
選択結果がBフレームの場合はアドレスMiをFIFO
入力待ちとし(ステップ113)、選択結果がBフレー
ムでない、即ちI,Pフレームの場合はFIFO入力待
ちがあるかどうかを判定し(ステップ114)、入力待
ちがない場合はMiをFIFOに入力し(ステップ11
6)、入力待ちがある場合はMi,FIFO入力待ちの
アドレスの順でFIFOに入力する(ステップ11
5)。そしてFIFO出力を読み出しアドレスとし(ス
テップ117)、次の符号化期間に読み出しを行う。
In FIG. 4, the encoding type of the frame written immediately before at the address Mi is selected (step 111). The encoding type selection means will be described later. If the selection result is a B frame, the address Mi is set to FIFO.
It waits for input (step 113). If the selection result is not a B frame, that is, if it is an I or P frame, it is determined whether there is a FIFO input wait (step 114). If there is no input wait, Mi is input to the FIFO. (Step 11
6) If there is an input waiting, input to the FIFO in the order of Mi, FIFO input waiting address (step 11).
5). The FIFO output is used as a read address (step 117), and reading is performed in the next encoding period.

【0037】図4は1フレームの読み出しアドレスを決
定するフローチャートであり、この動作を読み出しフレ
ームがなくなるまで繰り返す。ステップ113でBフレ
ームが書き込まれたアドレスがFIFO入力待ちとな
り、ステップ115でFIFO入力待ちのアドレスが
I,Pフレームが書き込まれたアドレスの次にFIFO
に入力されるため、Bフレームは後続のI,Pフレーム
の後に読み出されることになる。
FIG. 4 is a flowchart for determining the read address of one frame. This operation is repeated until there are no more read frames. In step 113, the address where the B frame is written is waiting for FIFO input. In step 115, the address waiting for FIFO input is the FIFO next to the address where the I and P frames are written.
, The B frame is read after the subsequent I and P frames.

【0038】次に符号化タイプ選択回路7の動作を示
す。符号化タイプ選択回路7では符号化期間に入力され
たフレームの符号化タイプを符号化期間に続く判定期間
に選択する(図2(c),(d))。符号化タイプは図
2(e)に示した符号化タイプ候補から選択する。符号
化タイプの選択は、動きベクトル検出回路6から入力さ
れる隣接フレーム間の相関演算結果及び動きベクトル検
出結果を用いて行う。
Next, the operation of the encoding type selection circuit 7 will be described. The coding type selection circuit 7 selects the coding type of the frame input during the coding period in the determination period following the coding period (FIGS. 2C and 2D). The encoding type is selected from the encoding type candidates shown in FIG. The selection of the encoding type is performed using the result of correlation calculation between adjacent frames and the result of motion vector detection input from the motion vector detection circuit 6.

【0039】まず、図5に符号化タイプ候補を決定する
動作をフローチャートで示し、その次に符号化タイプ候
補から符号化タイプを選択する手段を説明する。
First, FIG. 5 is a flowchart showing the operation of determining a coding type candidate. Next, means for selecting a coding type from the coding type candidates will be described.

【0040】図5において、まず最初のフレームの符号
化タイプ候補をI又はBとする(ステップ131)。こ
れは最初のフレームは予測画像がなく前方向予測ができ
ないためである。次に符号化タイプ候補を決定するフレ
ームの次の入力フレームがあるがどうかを判定する(ス
テップ132)。
In FIG. 5, first, the coding type candidate of the first frame is set to I or B (step 131). This is because the first frame has no prediction image and cannot perform forward prediction. Next, it is determined whether or not there is an input frame next to the frame for determining the coding type candidate (step 132).

【0041】入力フレームがある場合は、候補を決定す
るフレームの前のフレームがBフレームかどうかを判定
する(ステップ133)。Bフレームの場合は符号化タ
イプ候補をI又はPとする(ステップ134)。これ
は、本実施の形態ではBフレームは2枚以上連続しない
ためである。前のフレームがBフレームでない場合は符
号化タイプ候補をI又はP又はB、即ち全てのタイプを
候補とする(ステップ135)。
If there is an input frame, it is determined whether or not the frame preceding the frame for determining the candidate is a B frame (step 133). In the case of a B frame, the coding type candidate is set to I or P (step 134). This is because two or more B frames are not continuous in the present embodiment. If the previous frame is not a B frame, the coding type candidate is set to I, P or B, that is, all types are set as candidates (step 135).

【0042】また、ステップ132で次のフレームがな
い場合は符号化タイプの候補をI又はPとする(ステッ
プ136)。これは、最後のフレームは、後方から予測
するBフレームとはなり得ないからである。
If there is no next frame in step 132, the coding type candidate is set to I or P (step 136). This is because the last frame cannot be a B frame predicted from the rear.

【0043】次に符号化タイプ候補から符号化タイプを
選択する考え方を図6〜8を用いて説明する。図6に動
きベクトル探索範囲の例を示す。図6は動きベクトル探
索範囲が水平、垂直方向ともに−M〜+M画素の場合
で、図6(a)はBフレームの探索範囲の例を、図6
(b)にPフレーム例の探索範囲の例を示す。この例の
場合で、フレーム1,2間で水平方向の動きベクトルの
値が(M/2+1)であるとすると、フレーム1,3間
での水平方向の動きベクトルの値は(M+1)であると
予想できる。
Next, the concept of selecting an encoding type from encoding type candidates will be described with reference to FIGS. FIG. 6 shows an example of the motion vector search range. FIG. 6 shows a case where the motion vector search range is −M to + M pixels in both the horizontal and vertical directions. FIG. 6A shows an example of the search range of the B frame.
(B) shows an example of the search range of the P frame example. In this example, assuming that the value of the horizontal motion vector between the frames 1 and 2 is (M / 2 + 1), the value of the horizontal motion vector between the frames 1 and 3 is (M + 1). Can be expected.

【0044】ところが、フレーム1,3間の水平方向の
探索範囲は−M〜+Mであり、動きベクトルは探索範囲
外となる。その結果、最適でない動きベクトルが選択さ
れ予測誤差が大きくなることが予想される。
However, the horizontal search range between the frames 1 and 3 is -M to + M, and the motion vector is outside the search range. As a result, it is expected that a non-optimal motion vector will be selected and the prediction error will increase.

【0045】このような場合、図7に示すようにフレー
ム2をBフレームからPフレームに変更することで、隣
接フレーム間の水平方向の探索範囲が−M〜+M、フレ
ーム1,3間ではフレーム2を介して−2M〜+2Mの
範囲の探索が可能となり、範囲外であった動きベクトル
も正確に探索できるようになる。
In such a case, by changing the frame 2 from the B frame to the P frame as shown in FIG. 7, the horizontal search range between the adjacent frames is -M to + M, and the frame search between the frames 1 and 3 is the frame. 2, a search in the range of -2M to + 2M becomes possible, and a motion vector outside the range can be searched accurately.

【0046】従って、隣接フレーム間の複数の動きベク
トルからフレーム間距離が2の動きベクトルを予測し、
フレーム間距離が2の場合においても探索範囲内と予測
されるベクトルが多く、符号化タイプ候補にBフレーム
が含まれる場合にはBフレームを選択し、探索範囲外と
なるベクトルが多い場合にはI,Pフレームが連続する
ように符号化タイプを選択する。例えば図6(b)の場
合では、フレーム1,2間の動きベクトルからフレーム
1,3間の動きベクトル探索の結果を予測し、フレーム
2の符号化タイプを符号化タイプ候補から選択すること
になる。
Therefore, a motion vector having an inter-frame distance of 2 is predicted from a plurality of motion vectors between adjacent frames,
Even when the inter-frame distance is 2, many vectors are predicted to be within the search range. If the encoding type candidate includes a B frame, the B frame is selected. If there are many vectors outside the search range, the vector is selected. An encoding type is selected so that I and P frames are continuous. For example, in the case of FIG. 6B, the result of the motion vector search between the frames 1 and 3 is predicted from the motion vector between the frames 1 and 2, and the coding type of the frame 2 is selected from the coding type candidates. Become.

【0047】Bフレームを選択するかどうかの判定は、
隣接フレーム間の動きベクトル探索範囲を領域分割し、
各領域に含まれる動きベクトル数を用いて行う。図8に
隣接フレーム間の動きベクトル探索範囲を領域分割した
例を示す。図8は2つの領域に分割する例であるが、よ
り多くの領域に分割しても構わない。図8で隣接フレー
ム間のベクトルが第1の領域に含まれる場合は、フレー
ム間距離が2の場合もPフレームの動きベクトルが探索
範囲内、即ち水平方向、垂直方向共に−M〜+M画素の
範囲内になると予測でき、隣接フレーム間のベクトルが
第2の領域に含まれる場合は、フレーム間距離が2の動
きベクトルが探索範囲外になると予測できる。
To determine whether to select a B frame,
The motion vector search range between adjacent frames is divided into regions,
This is performed using the number of motion vectors included in each area. FIG. 8 shows an example in which a motion vector search range between adjacent frames is divided into regions. FIG. 8 shows an example in which the image is divided into two regions. However, the image may be divided into more regions. In the case where the vector between adjacent frames is included in the first region in FIG. 8, the motion vector of the P frame is within the search range even when the distance between the frames is 2, that is, −M to + M pixels in both the horizontal and vertical directions. It can be predicted that the motion vector is within the range, and if the vector between adjacent frames is included in the second area, it can be predicted that the motion vector whose inter-frame distance is 2 is outside the search range.

【0048】符号化タイプ選択回路7では図2で示した
判定期間に9マクロブロックや16マクロブロックとい
ったフレーム内の一部のマクロブロックについて隣接フ
レーム間で動きベクトル検出を行い、その演算結果に基
づいて符号化タイプを選択する。図9(a),(b)に
それぞれ9マクロブロック,16マクロブロックの誤差
演算を行う場合のマクロブロックの選択例を示す。斜線
の部分が誤差演算を行うマクロブロックである。
The coding type selection circuit 7 performs motion vector detection between adjacent frames for some macroblocks in a frame such as 9 macroblocks or 16 macroblocks during the determination period shown in FIG. To select the encoding type. FIGS. 9A and 9B show examples of selecting macroblocks when error calculation is performed on 9 macroblocks and 16 macroblocks, respectively. The hatched portion is a macroblock for which error calculation is performed.

【0049】なお図2に示したように、本実施の形態で
は判定期間は符号化期間と重複しない期間に設定してい
る。従って、動きベクトル検出回路6を符号化期間には
符号化のための動きベクトル検出を行い、判定期間には
符号化タイプ選択のための誤差演算を行うように制御す
ることで、符号化タイプ選択のための動きベクトル検出
回路を新たに付加する必要はない。
As shown in FIG. 2, in the present embodiment, the determination period is set to a period that does not overlap with the encoding period. Accordingly, by controlling the motion vector detection circuit 6 to perform a motion vector detection for encoding during the encoding period and to perform an error operation for selecting the encoding type during the determination period, the coding type selection is performed. It is not necessary to newly add a motion vector detection circuit for the above.

【0050】図10に符号化タイプを選択する動作をフ
ローチャートで示す。符号化タイプ選択回路7には複数
のマクロブロックについて隣接フレーム間で水平方向、
垂直方向ともに−M〜+M画素の範囲を探索した動きベ
クトルが入力され、最適な符号化タイプを選択する。符
号化タイプ選択回路7に入力される動きベクトルは、入
力フレームとその1フレーム前との動きベクトルで、例
えば図2のT4の判定期間には、フレームF3を参照画
像としたフレームF4の動きベクトルが入力され、フレ
ームF4の符号化タイプを選択する。
FIG. 10 is a flowchart showing the operation of selecting an encoding type. The encoding type selection circuit 7 sets a plurality of macroblocks in the horizontal direction between adjacent frames.
A motion vector searched for a range of -M to + M pixels in the vertical direction is input, and an optimal coding type is selected. The motion vector input to the encoding type selection circuit 7 is the motion vector between the input frame and the frame immediately before the input frame. For example, during the determination period of T4 in FIG. 2, the motion vector of the frame F4 using the frame F3 as the reference image Is input, and the encoding type of the frame F4 is selected.

【0051】図10において、符号化タイプ候補にBフ
レームが含まれているかどうかを判定する(ステップ1
41)。含まれている場合は、図8で示した第1の領域
に含まれる動きベクトルの数をカウントし、その値が予
め設定した第1の閾値以上の場合にはBフレーム符号化
を選択する(ステップ143)。これは、フレーム間距
離が1の場合に第1の領域に含まれる動きベクトルが多
い場合はフレーム間距離を2とした場合も動きベクトル
探索範囲内に含まれる動きベクトルが多いと予想できる
からである。ステップ142で第1の閾値以下の場合に
はIフレームまたは隣接フレーム間での動きベクトル探
索となるPフレーム符号化を選択する。なお、ステップ
142は予め第2の閾値を設定し、第2の領域に含まれ
る動きベクトル数が第2の閾値以下かどうかを判定する
ようにしても構わない。また、IフレームかPフレーム
かの選択は後述するように動きベクトルの信頼度を用い
て判定する、あるいは第2の実施の形態で示すように一
定間隔毎にIフレームとするなどの手法を用いることが
できる。
In FIG. 10, it is determined whether or not a coding type candidate includes a B frame (step 1).
41). If it is included, the number of motion vectors included in the first area shown in FIG. 8 is counted, and if the value is equal to or greater than a preset first threshold, B frame encoding is selected ( Step 143). This is because when the inter-frame distance is 1, if there are many motion vectors included in the first area, it can be expected that there are many motion vectors included in the motion vector search range even when the inter-frame distance is set to 2. is there. If the value is equal to or smaller than the first threshold value in step 142, P-frame encoding for motion vector search between I frames or adjacent frames is selected. In step 142, a second threshold value may be set in advance to determine whether the number of motion vectors included in the second area is equal to or less than the second threshold value. The selection between the I frame and the P frame is made by using the reliability of the motion vector as described later, or using a method of setting the I frame at regular intervals as shown in the second embodiment. be able to.

【0052】次に動きベクトルの信頼度を用いて符号化
タイプを選択する考え方を説明する。動きベクトルの信
頼度は例えば動きベクトル検出回路6から符号化タイプ
選択回路7に動きベクトルとともに動きベクトル選択の
評価値を入力し、この評価値か求める。例えば、評価値
としてブロック間画素の差分絶対値和を用いている場合
には、差分絶対値が小さいほど動きベクトルの信頼度が
高いとする関数を用意する。そして第3の閾値を予め設
定しておき、信頼度が第3の閾値以下の動きベクトルを
エラーベクトルとし、エラーベクトルが多い場合は動き
ベクトル探索そのものに信頼性がないとして動きベクト
ルを用いないIフレーム符号化とする。
Next, the concept of selecting the coding type using the reliability of the motion vector will be described. The reliability of the motion vector is determined, for example, by inputting an evaluation value of the motion vector selection together with the motion vector from the motion vector detection circuit 6 to the coding type selection circuit 7 and determining the evaluation value. For example, when the sum of absolute differences of pixels between blocks is used as the evaluation value, a function is prepared that determines that the smaller the absolute difference is, the higher the reliability of the motion vector is. Then, a third threshold value is set in advance, and a motion vector whose reliability is equal to or less than the third threshold value is set as an error vector. If there are many error vectors, it is determined that the motion vector search itself is unreliable. Frame coding is used.

【0053】図11に動きベクトルの信頼度を用いて符
号化タイプを選択する動作をフローチャートで示す。こ
の動作は図10のステップ144の後に行う。また、B
フレームが選択された場合(ステップ143)の後にも
行い、エラーベクトルが多い場合はIフレームとする判
定を行ってもよい。図11において、まずステップ15
1で前記エラーベクトル数をカウントし、予め設定した
第4の閾値以上の場合はフレーム間予測が当たっていな
いと考えられるので、予測を用いないIフレーム符号化
とする(ステップ152)。エラーベクトル数が第4の
閾値未満の場合は、予測誤差量が小さく予測の効果があ
ると考えられる。そこで符号化タイプを判定し(ステッ
プ153)、Bフレームの場合はそのままBフレーム符
号化し(ステップ154)、I又はPフレームの場合は
Pフレーム符号化とする(ステップ155)。
FIG. 11 is a flowchart showing the operation of selecting an encoding type using the reliability of a motion vector. This operation is performed after step 144 in FIG. Also, B
The determination may also be made after the frame is selected (step 143), and when there are many error vectors, it may be determined that the frame is an I frame. Referring to FIG.
The number of error vectors is counted at 1, and if the error vector is equal to or larger than a preset fourth threshold value, it is considered that inter-frame prediction has not been performed, so that I-frame encoding is performed without using prediction (step 152). When the number of error vectors is less than the fourth threshold, it is considered that the prediction error amount is small and the prediction is effective. Therefore, the coding type is determined (step 153), and in the case of the B frame, the B frame is coded as it is (step 154), and in the case of the I or P frame, the P frame is coded (step 155).

【0054】次に、本発明の第2の実施の形態を説明す
る。第1の実施の形態における動きベクトルの探索範囲
は図6に示した通り、P、Bフレームとも水平方向、垂
直方向ともに−M〜+M画素であったが、本実施の形態
では図12に示すようにPフレームの水平方向の探索範
囲を−2M〜+2M画素とする点に特徴がある。
Next, a second embodiment of the present invention will be described. As shown in FIG. 6, the search range of the motion vector in the first embodiment is −M to + M pixels in both the horizontal direction and the vertical direction in both the P and B frames. In the present embodiment, the search range is illustrated in FIG. Thus, the feature is that the horizontal search range of the P frame is set to −2M to + 2M pixels.

【0055】これは、Bフレームは前方向からと後ろ方
向からそれぞれ−M〜+M画素の探索を行う必要があ
り、動きベクトル検出回路は−M〜+M画素の範囲を2
回探索できる処理能力を備えている。本実施の形態では
Pフレームにおいても、この処理能力を全て活用し、水
平方向、垂直方向のうち一方の探索範囲を倍に広げて−
2M〜+2M画素とするものである。
This is because the B frame needs to search for -M to + M pixels from the forward direction and the backward direction, respectively, and the motion vector detection circuit sets the range of -M to + M pixels to two.
It has the processing ability to search multiple times. In the present embodiment, even in the P frame, all of this processing capability is utilized, and one of the search ranges in the horizontal direction and the vertical direction is doubled.
2M to + 2M pixels.

【0056】図13に水平方向の動きベクトル探索範囲
を−2M〜+2M画素に拡張した場合の領域分割の例
を、図14に垂直方向の動きベクトル探索範囲を−2M
〜+2M画素に拡張した場合の領域分割の例を示す。本
実施の形態と第1の実施の形態では、図13、14に示
したように符号化タイプ判定に用いる領域分割は異なる
がそれ以外の動作は同一である。
FIG. 13 shows an example of area division when the horizontal motion vector search range is extended to −2M to + 2M pixels. FIG. 14 shows a vertical motion vector search range of −2M pixels.
An example of area division in a case where the area is expanded to + 2M pixels will be described. In this embodiment and the first embodiment, as shown in FIGS. 13 and 14, the region division used for the coding type determination is different, but the other operations are the same.

【0057】次に本発明の第3の実施の形態について説
明する。第1の形態では、Iフレームの間隔は均一では
ないが、アプリケーションによってはIフレームは等間
隔かつ高頻度で挿入されている方がよい。例えば、ディ
スクメディアに記録し、ランダムアクセスで途中から再
生する場合はIフレームから復号する必要があり、編集
で符号化データを分割する場合にはIフレームを分割の
切れ目とする必要がある。ランダムアクセスを考慮する
と、どのフレームがIフレームであるかを予測し易いよ
うにIフレームは等間隔とすることが望ましく、編集を
考慮すると短い単位で編集できるようにIフレームは沢
山挿入されていることが望ましい。
Next, a third embodiment of the present invention will be described. In the first embodiment, the intervals between I frames are not uniform, but depending on the application, it is better to insert I frames at equal intervals and at high frequency. For example, when recording on a disk medium and playing back from the middle by random access, it is necessary to decode from an I frame, and when dividing encoded data by editing, it is necessary to make the I frame a break between divisions. In consideration of random access, it is desirable that the I frames be equally spaced so that it is easy to predict which frame is the I frame, and in consideration of editing, many I frames are inserted so that they can be edited in short units. It is desirable.

【0058】そこで、第3の実施の形態ではIフレーム
が等間隔で現れるようにし、かつ画像シーケンスによっ
てはより多くのIフレームが現れるようにする。これ
は、予め固定のGOP構成を設定しておき、B,Pフレ
ームからI,P,Bフレームに符号化タイプの変更を行
い、Iフレームは符号化タイプの変更を行わないことで
実現できる。
Therefore, in the third embodiment, I frames are made to appear at equal intervals, and more I frames are made to appear depending on the image sequence. This can be realized by setting a fixed GOP configuration in advance, changing the coding type from B and P frames to I, P and B frames, and not changing the coding type of I frames.

【0059】図15,16を用いて第3の実施の形態に
ついて説明する。図15は符号化タイプ候補を決定する
動作を示すフローチャートである。図15のフローチャ
ートは第1の実施の形態に対応した図5のフローチャー
トに比べて、図15ではステップ163で予め設定した
符号化タイプがIフレームかどうかを判定し、Iフレー
ムの場合は符号化タイプ候補もIフレームだけとする処
理が加わっている点だけが異なる。この処理によって、
予め固定のGOPを設定しておいた場合は等間隔でIフ
レームが現れることになる。
The third embodiment will be described with reference to FIGS. FIG. 15 is a flowchart showing an operation of determining a coding type candidate. The flowchart of FIG. 15 is different from the flowchart of FIG. 5 corresponding to the first embodiment in that in FIG. 15, it is determined whether or not the encoding type set in advance in step 163 is an I frame. The only difference is that a type candidate is also processed with only an I frame. With this process,
If a fixed GOP is set in advance, I frames will appear at equal intervals.

【0060】次に図16を用いて符号化フレームを選択
する動作を説明する。図16のフローチャートは第1の
実施の形態に対応した図10のフローチャートと比べ
て、ステップ171で符号化タイプの候補がIフレーム
だけかどうかを判定し、Iフレームだけの場合はIフレ
ームとして符号化する処理が加わっている点だけが異な
る。この処理によって等間隔にIフレーム符号化が行わ
れる。
Next, the operation of selecting an encoded frame will be described with reference to FIG. The flowchart of FIG. 16 is different from the flowchart of FIG. 10 corresponding to the first embodiment in that it is determined in step 171 whether or not the encoding type candidate is only an I frame. The only difference is that a process for converting the data is added. By this processing, I-frame encoding is performed at equal intervals.

【0061】なお、第3の実施の形態においても、符号
化画像メモリ4の制御は第1の実施の形態で示した図
3,4のフローチャートに従って行えばよく、特別な処
理は必要としない。
In the third embodiment, the control of the coded image memory 4 may be performed according to the flowcharts shown in FIGS. 3 and 4 in the first embodiment, and no special processing is required.

【0062】上記の本実施例で示した具体例は一例であ
り、具体例以外にも、例えば符号化画像メモリの容量が
より大きければ、Bフレームが2枚以上連続するGOP
構成としてもよく、その場合は動きベクトルの近似値の
計算式や図8の領域分割も対応して変更すればよい。ま
た図9に示した動きベクトル探索するマクロブロックも
一例であり、図9に示した以外のマクロブロックを用い
ても構わない、また動きベクトル検出の評価値も差分絶
対値和以外にも、差分自乗和などとすることができる。
さらに、本発明は符号化方式をMPEG方式に限定する
ものではなく、動き補償フレーム間符号化方式全般に適
用可能なものである。
The specific example shown in the present embodiment is an example. In addition to the specific example, if the coded image memory has a larger capacity, a GOP in which two or more B frames
A configuration may be adopted. In that case, the calculation formula of the approximate value of the motion vector and the area division in FIG. 8 may be changed correspondingly. Further, the macroblock for searching for a motion vector shown in FIG. 9 is also an example, and a macroblock other than the one shown in FIG. 9 may be used. It can be a sum of squares.
Further, the present invention is not limited to the encoding system of the MPEG system, but can be applied to all motion compensation inter-frame encoding systems.

【0063】[0063]

【発明の効果】本発明の請求項1によれば、従来の動画
像符号化装置に符号化タイプ選択回路を付加するだけ
で、大容量のメモリや複雑な演算回路を付加することな
く画像の特性に合った符号化タイプで符号化することが
できる。また、本発明は入力画像の符号化タイプを順次
判定するので、符号化タイプを固定とした従来の動画像
符号化装置に比較して符号化遅延が大きくなることがな
い。そのため、蓄積系以外の通信や放送などのアプリケ
ーションにも用いることができる。また、Iフレームの
位置は固定された1箇所だけでなく、任意の位置に挿入
することが可能ため、例えばシーンチェンジが頻繁に起
こるようなシーケンスでも、シーンチェンジに対応して
Iフレームを挿入することができる。
According to the first aspect of the present invention, it is possible to add a large-capacity memory and a complicated arithmetic circuit to a conventional moving picture coding apparatus only by adding a coding type selection circuit. Encoding can be performed with an encoding type that matches the characteristics. In addition, since the present invention sequentially determines the coding type of an input image, the coding delay does not increase as compared with a conventional moving picture coding apparatus in which the coding type is fixed. Therefore, it can be used for applications other than the storage system, such as communication and broadcasting. Also, since the position of the I frame can be inserted not only at one fixed position but also at an arbitrary position, for example, even in a sequence where scene changes frequently occur, the I frame is inserted in response to the scene change. be able to.

【0064】本発明の請求項2によれば、符号化タイプ
を決定するために求める動きベクトルと、符号化の際に
用いる動きベクトルを同一の構成で求めるために、構成
を簡易化できる。
According to the second aspect of the present invention, since the motion vector to be determined for determining the coding type and the motion vector to be used for encoding are obtained with the same configuration, the configuration can be simplified.

【0065】本発明の請求項3によれば、隣接フレーム
間の動きベクトルから2フレーム以上離れたフレーム間
の動きベクトル検出結果が予測でき、あらゆるGOP構
造に対して適応的に符号化タイプを選択する効果を発揮
することができる。
According to the third aspect of the present invention, it is possible to predict a motion vector detection result between frames separated by two or more frames from a motion vector between adjacent frames, and to select an encoding type adaptively for any GOP structure. Effect can be exhibited.

【0066】本発明の請求項4によれば、両方向予測に
用いる動きベクトル検出回路を全て用いて隣接フレーム
間の動きベクトル検出を行うため、より広範囲に動きベ
クトル探索が可能で、より精度の高い符号化タイプを選
択が可能になる。
According to the fourth aspect of the present invention, since the motion vector between adjacent frames is detected by using all of the motion vector detection circuits used for bidirectional prediction, the motion vector can be searched over a wider range and the accuracy can be improved. The encoding type can be selected.

【0067】本発明の請求項5及び6によれば、動きベ
クトルに信頼性がない場合に、動きベクトル探索を用い
ないIフレームとするため、より適切な符号化タイプ選
択が可能になる。
According to the fifth and sixth aspects of the present invention, when the motion vector is unreliable, a more appropriate coding type can be selected because the I-frame does not use the motion vector search.

【0068】本発明の請求項7によれば、符号化タイプ
変更後もIフレーム符号化は一定フレーム毎に現れるた
め、ランダムアクセスでの再生や編集で符号化データを
分割することを容易に行うことができる。
According to the seventh aspect of the present invention, since the I-frame encoding appears every fixed frame even after the encoding type is changed, it is easy to divide the encoded data by reproduction or editing by random access. be able to.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態のブロック図であ
る。
FIG. 1 is a block diagram of a first embodiment of the present invention.

【図2】符号化画像メモリの動作を説明する図である。FIG. 2 is a diagram illustrating an operation of an encoded image memory.

【図3】符号化画像メモリの書き込み動作を示すフロー
チャートである。
FIG. 3 is a flowchart illustrating a write operation of an encoded image memory.

【図4】符号化画像メモリの読み出し動作を示すフロー
チャートである。
FIG. 4 is a flowchart showing a read operation of an encoded image memory.

【図5】符号化タイプ候補を決定する動作を示すフロー
チャートである。
FIG. 5 is a flowchart illustrating an operation of determining a coding type candidate.

【図6】動きベクトル探索範囲の例を示す図である。FIG. 6 is a diagram illustrating an example of a motion vector search range.

【図7】GOP構成を変更した場合の動きベクトル探索
範囲の例を示す図である。
FIG. 7 is a diagram illustrating an example of a motion vector search range when a GOP configuration is changed.

【図8】動きベクトル探索範囲を領域分割する例を示す
図である。
FIG. 8 is a diagram illustrating an example in which a motion vector search range is divided into regions.

【図9】符号化タイプの選択のために動きベクトル探索
するマクロブロックを示す図である。
FIG. 9 is a diagram showing a macroblock for which a motion vector search is performed to select an encoding type.

【図10】符号化タイプの選択の動作を示すフローチャ
ートである。
FIG. 10 is a flowchart showing an operation of selecting an encoding type.

【図11】符号化タイプの選択の動作を示すその他のフ
ローチャートである。
FIG. 11 is another flowchart showing an operation of selecting an encoding type.

【図12】本発明の第2の実施の形態における動きベク
トル探索範囲を示す図である。
FIG. 12 is a diagram illustrating a motion vector search range according to the second embodiment of the present invention.

【図13】水平方向に動きベクトル探索範囲を拡張した
場合に動きベクトル探索範囲を領域分割する例を示す図
である。
FIG. 13 is a diagram illustrating an example in which the motion vector search range is divided into regions when the motion vector search range is extended in the horizontal direction.

【図14】垂直方向に動きベクトル探索範囲を拡張した
場合に動きベクトル探索範囲を領域分割する例を示す図
である。
FIG. 14 is a diagram illustrating an example in which the motion vector search range is divided into regions when the motion vector search range is extended in the vertical direction.

【図15】本発明の第3の実施の形態における符号化タ
イプ候補を決定する動作を示すフローチャートである。
FIG. 15 is a flowchart illustrating an operation of determining a coding type candidate according to the third embodiment of the present invention.

【図16】本発明の第3の実施の形態における符号化タ
イプの選択の動作を示すフローチャートである。
FIG. 16 is a flowchart illustrating an operation of selecting an encoding type according to the third embodiment of the present invention.

【図17】GOP構成の一例を説明する図である。FIG. 17 is a diagram illustrating an example of a GOP configuration.

【符号の説明】[Explanation of symbols]

1 符号化タイプ判定部 2 符号化部 3 ローカルデコード部 4 符号化画像メモリ 5 メモリコントローラ 6 動きベクトル検出回路 7 符号化タイプ選択回路 8 減算器 9 DCT回路 10 量子化回路 11 可変長符号化回路 12 逆量子化回路 13 逆DCT回路 14 参照画像メモリ 15 加算器 DESCRIPTION OF SYMBOLS 1 Encoding type determination part 2 Encoding part 3 Local decoding part 4 Encoded image memory 5 Memory controller 6 Motion vector detection circuit 7 Encoding type selection circuit 8 Subtractor 9 DCT circuit 10 Quantization circuit 11 Variable length encoding circuit 12 Inverse quantization circuit 13 Inverse DCT circuit 14 Reference image memory 15 Adder

フロントページの続き Fターム(参考) 5C057 CC04 EB18 ED07 EF05 EG06 EG08 EH07 EL01 EM00 EM04 EM09 EM13 EM16 GG01 GG06 GG07 5C059 MA00 MA05 MA14 MA23 MC15 NN01 NN03 NN28 PP05 PP06 PP07 SS11 TA25 TA63 TB03 TC03 TC12 TC14 TD07 UA02 UA33 UA35 Continued on the front page F-term (reference) 5C057 CC04 EB18 ED07 EF05 EG06 EG08 EH07 EL01 EM00 EM04 EM09 EM13 EM16 GG01 GG06 GG07 5C059 MA00 MA05 MA14 MA23 MC15 NN01 NN03 NN28 PP05 PP06 PP07 SS11 TC03 TC03 TB03 TC03

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 フレーム内符号化、前方向フレーム間符
号化、両方向フレーム間符号化を組み合わせて符号化す
る動画像符号化装置であって、 入力画像を入力し、符号化フレーム及び該フレームに隣
接するフレームを記憶する符号化画像メモリと、 前記符号化フレームをブロックに分割し、複数のブロッ
クを選択し、選択したブロック毎に該フレームに隣接す
るフレームとの誤差演算を行い、第1の動きベクトルを
検出する動きベクトル検出部と、 前記動きベクトル検出部により検出された第1の動きベ
クトルに基づいて、符号化フレームの符号化タイプを選
択する符号化タイプ選択部と、 前記選択された符号化タイプに基づいて、前記符号化画
像メモリから読み出される符号化フレームと、参照画像
メモリから読み出す参照画像との各ブロック毎に誤差演
算を行って第2の動きベクトルを検出し、該第2の動き
ベクトルと前記読み出された参照画像とから符号化デー
タを生成する符号化部とを備えることを特徴とする動画
像符号化装置。
1. A moving picture coding apparatus for coding by combining intra-frame coding, forward inter-frame coding, and bi-directional inter-frame coding, comprising: inputting an input image; An encoded image memory for storing an adjacent frame; dividing the encoded frame into blocks, selecting a plurality of blocks, performing an error operation for each selected block with a frame adjacent to the frame, A motion vector detecting unit that detects a motion vector; a coding type selecting unit that selects a coding type of a coded frame based on the first motion vector detected by the motion vector detecting unit; Each frame of an encoded frame read from the encoded image memory and a reference image read from the reference image memory, based on the encoding type. And an encoding unit that performs an error operation for each of the blocks to detect a second motion vector, and generates encoded data from the second motion vector and the read reference image. Video encoding device.
【請求項2】 前記符号化部は、前記符号化タイプ選択
部で選択された符号化タイプに基づいて、第2の動きベ
クトルを前記動きベクトル検出部において検出し、該検
出された動きベクトルと前記参照画像から符号化データ
を生成することを特徴とする前記請求項1記載の動画像
符号化装置。
2. The encoder according to claim 1, wherein the encoder detects a second motion vector in the motion vector detector based on the encoding type selected by the encoding type selector. 2. The moving picture encoding apparatus according to claim 1, wherein encoded data is generated from the reference picture.
【請求項3】 前記第1の動きベクトルの探索範囲を垂
直方向及び水平方向に±N画素としたときに、 前記第1の動きベクトルのうち、垂直方向及び水平方向
に±N/M画素の領域内に含まれる動きベクトルが所定
数以上である場合、 前記符号化タイプ選択部において、該符号化フレームを
含めたM−1フレームの符号化タイプを両方向フレーム
間符号化とすることを特徴とする前記請求項1または2
記載の動画像符号化装置。
3. When the search range of the first motion vector is ± N pixels in the vertical and horizontal directions, of the first motion vector, ± N / M pixels in the vertical and horizontal directions When the number of motion vectors included in the region is equal to or greater than a predetermined number, the encoding type selection unit sets the encoding type of the M-1 frame including the encoded frame to bidirectional inter-frame encoding. 3. The method according to claim 1, wherein
The moving picture encoding device according to the above.
【請求項4】 前記第1の動きベクトルの探索範囲を±
N×±2N画素としたときに、 前記第1の動きベクトルのうち、(±N/M)×(±2
N/M)画素の領域内に含まれる動きベクトルが所定数
以下である場合、 前記符号化タイプ選択部において、該符号化フレームを
含めたM−1フレームの符号化タイプを前方向フレーム
間符号化とし、 前記第2の動きベクトルを±N×±2N画素の探索範囲
として検出することを特徴とする前記請求項1または2
記載の動画像符号化装置。
4. The search range of the first motion vector is ±
When N × ± 2N pixels, among the first motion vectors, (± N / M) × (± 2
When the number of motion vectors included in the area of (N / M) pixels is equal to or less than a predetermined number, the coding type selecting unit sets the coding type of the M-1 frame including the coded frame to the forward inter-frame code. 3. The method according to claim 1, wherein the second motion vector is detected as a search range of ± N × ± 2N pixels.
The moving picture encoding device according to the above.
【請求項5】 前記動きベクトル検出部において、選択
したブロック毎に該フレームに隣接するフレームとの誤
差演算を行い、前記第1の動きベクトル及び該ベクトル
に対応する誤差値を求め、該誤差値が所定値以上である
場合には、求められた第1の動きベクトルを無効とし、
前記符号化タイプ選択部における判定に用いないことを
特徴とする前記請求項1乃至4記載の動画像符号化装
置。
5. The motion vector detection unit performs an error operation with respect to a frame adjacent to the frame for each selected block to obtain the first motion vector and an error value corresponding to the vector. Is greater than or equal to a predetermined value, the obtained first motion vector is invalidated,
5. The moving picture coding apparatus according to claim 1, wherein the moving picture coding apparatus is not used for determination in the coding type selection unit.
【請求項6】 前記動きベクトル検出部において、選択
したブロック語とに該フレームに隣接するフレームとの
誤差演算を行い、前記第1の動きベクトル及び該ベクト
ルに対応する誤差値を求め、該誤差値が所定値以上とな
る動きベクトルが所定数以上である場合には、前記符号
化タイプ選択部において、該フレームの符号化タイプと
してフレーム内符号化を選択することを特徴とする前記
請求項1乃至4記載の動画像符号化装置。
6. The motion vector detection unit calculates an error between the selected block word and a frame adjacent to the frame to obtain the first motion vector and an error value corresponding to the vector. The method according to claim 1, wherein, when the number of motion vectors whose value is equal to or greater than a predetermined value is equal to or greater than a predetermined number, the encoding type selection unit selects intra-frame encoding as the encoding type of the frame. 5. The moving picture coding apparatus according to any one of claims 1 to 4.
【請求項7】 複数フレーム毎に、少なくとも該複数フ
レームにおけるフレーム内符号化すべきフレームの位置
を予め設定し、該設定されたフレーム内符号化すべきフ
レーム以外に対し、前記符号化タイプ選択部において符
号化タイプを選択することを特徴とする前記請求項1乃
至6記載の動画像符号化装置。
7. For each of a plurality of frames, at least a position of a frame to be intra-coded in the plurality of frames is set in advance, and a code other than the set frame to be intra-coded is set in the coding type selection unit. 7. The moving picture coding apparatus according to claim 1, wherein a coding type is selected.
JP19264798A 1998-07-08 1998-07-08 Dynamic image encoder Pending JP2000032474A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19264798A JP2000032474A (en) 1998-07-08 1998-07-08 Dynamic image encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19264798A JP2000032474A (en) 1998-07-08 1998-07-08 Dynamic image encoder

Publications (1)

Publication Number Publication Date
JP2000032474A true JP2000032474A (en) 2000-01-28

Family

ID=16294736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19264798A Pending JP2000032474A (en) 1998-07-08 1998-07-08 Dynamic image encoder

Country Status (1)

Country Link
JP (1) JP2000032474A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2864865A1 (en) * 2004-01-07 2005-07-08 Thomson Licensing Sa Video image sequence coding method for hybrid type video compression, involves coding entity of image based on rate of potential utilization of image entity calculated for forward and backward predictive coding of other two images
JP2008016903A (en) * 2006-07-03 2008-01-24 Nippon Telegr & Teleph Corp <Ntt> Motion vector reliability measurement method, moving frame determination method, moving picture coding method, apparatuses for them, and programs for them and recording medium thereof
JP2009512397A (en) * 2005-10-17 2009-03-19 クゥアルコム・インコーポレイテッド Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US9197912B2 (en) 2005-03-10 2015-11-24 Qualcomm Incorporated Content classification for multimedia processing

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071972A1 (en) * 2004-01-07 2005-08-04 Thomson Licensing S.A. Method for coding an image sequence
FR2864865A1 (en) * 2004-01-07 2005-07-08 Thomson Licensing Sa Video image sequence coding method for hybrid type video compression, involves coding entity of image based on rate of potential utilization of image entity calculated for forward and backward predictive coding of other two images
US7983339B2 (en) 2004-01-07 2011-07-19 Thomson Licensing Method for coding an image sequence
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
US9197912B2 (en) 2005-03-10 2015-11-24 Qualcomm Incorporated Content classification for multimedia processing
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US9071822B2 (en) 2005-09-27 2015-06-30 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US9088776B2 (en) 2005-09-27 2015-07-21 Qualcomm Incorporated Scalability techniques based on content information
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
JP2009512397A (en) * 2005-10-17 2009-03-19 クゥアルコム・インコーポレイテッド Adaptive GOP structure in video streaming
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
JP2008016903A (en) * 2006-07-03 2008-01-24 Nippon Telegr & Teleph Corp <Ntt> Motion vector reliability measurement method, moving frame determination method, moving picture coding method, apparatuses for them, and programs for them and recording medium thereof

Similar Documents

Publication Publication Date Title
JP4662636B2 (en) Improvement of motion estimation and block matching pattern
JP3939551B2 (en) Moving image processing apparatus, method thereof, and recording medium
JP3856262B2 (en) Motion compensation encoding apparatus, motion compensation encoding method, and motion compensation code recording medium
US6542642B2 (en) Image coding process and motion detecting process using bidirectional prediction
JP4280353B2 (en) Encoding apparatus, image processing apparatus, encoding method, and recording medium
US6463101B1 (en) Video encoding method and apparatus
JP2004056823A (en) Motion vector encoding/decoding method and apparatus
US20050238100A1 (en) Video encoding method for encoding P frame and B frame using I frames
KR100843418B1 (en) Apparatus and method for image coding
JPH07112284B2 (en) Predictive encoding device and decoding device
JP2000295616A (en) Image coder, image decoder, image coding method, image decoding method and program storage medium
US8165217B2 (en) Image decoding apparatus and method for decoding prediction encoded image data
KR20040094441A (en) Editing of encoded a/v sequences
JP2004242309A (en) Motion picture encoding/decoding method in interlace scan system and apparatus therefor
JP2000032474A (en) Dynamic image encoder
US6882687B2 (en) Compressed image data reproducing apparatus and method thereof
JPH0541861A (en) Moving picture encoding equipment
JPH06350995A (en) Moving picture processing method
US20020168008A1 (en) Method and apparatus for coding moving pictures
JPH11308617A (en) Digital image coder and motion vector detector used therefor
JP5020391B2 (en) Decoding device and decoding method
JP2000261809A (en) Image coder coping with feature of picture
JP4073541B2 (en) Video re-encoding device
JP2001238182A (en) Image reproduction device and image reproduction method
JP4871848B2 (en) Video re-encoding device