(57)【特許請求の範囲】
【請求項１】
可変長符号化と動き検出を並列処理して動画像を符号化する動画像符号化方法であって、
画面単位で表示順に入力された動画像信号を１画面単位で一時記憶する記憶ステップと、
可変長符号化処理の対象となる符号化対象画面及び符号化参照画面と、前方向動き検出処理の対象となる前方動き検出対象画面及び前方動き検出参照画面と、後方向動き検出処理の対象となる後方動き検出処理対象画面及び後方動き検出参照画面とを、一時記憶された画面の中から選択して出力する処理画面選択ステップと、
前記前方動き検出処理対象画面と前記前方動き検出参照画面との間の画面で検出された動きベクトルを用いて前方動き検出の探索範囲を定め、前記探索範囲内で前記前方動き検出対象画面の前方動きベクトルを検出する前方動き検出ステップと、
前記後方動き検出処理対象画面と前記後方動き検出参照画面との間の画面で検出された動きベクトルを用いて後方動き検出の探索範囲を定め、前記探索範囲内で前記後方動き検出対象画面の後方動きベクトルを検出する後方動き検出ステップと、
前記符号化対象画面、前記符号化参照画面、前記前方動きベクトル及び前記後方動きベクトルを用いて符号化データを生成する可変長符号化ステップと、
前記前方動き検出ステップの処理と前記後方動き検出ステップの処理と前記可変長符号化ステップの処理との同期を画面単位でとる並列処理同期ステップと、
を有し、
前記処理画面選択ステップでは、前記前方動き検出対象画面として、直近に入力された画面である現入力画面を選択し、
前記処理画面選択ステップでは、前記現入力画面が前方向予測符号化されるべき画面である場合には、前記符号化対象画面及び前記後方動き検出参照画面として前記現入力画面を選択するとともに、前記後方動き検出対象画面として前記現入力画面の一つ前に入力された画面を選択し、
前記並列処理同期ステップでは、（１）前記符号化対象画面と前記前方動き検出対象画面とが同じ画面である場合には、さらに、前記前方動き検出ステップの処理が前記可変長符号化ステップの処理よりも常に１マクロブロック以上先行するように、１または複数のマクロブロック単位で前記前方動き検出ステップの処理と前記可変長符号化ステップの処理との同期をとるように制御し、（２）前記符号化対象画面と前記後方動き検出対象画面とが同じ画面である場合には、さらに、前記後方動き検出ステップの処理が前記可変長符号化ステップの処理よりも常に１マクロブロック以上先行するように、１または複数のマクロブロック単位で前記後方動き検出ステップの処理と前記可変長符号化ステップの処理との同期をとるように制御する、
ことを特徴とする動画像符号化方法。
【請求項２】
画面単位で表示順に入力された動画像信号を１画面単位で一時記憶する記憶部と、
可変長符号化処理の対象となる符号化対象画面及び符号化参照画面と、前方向動き検出処理の対象となる前方動き検出対象画面及び前方動き検出参照画面と、後方向動き検出処理の対象となる後方動き検出処理対象画面及び後方動き検出参照画面とを、一時記憶された画面の中から選択して出力するセレクタと、
前記前方動き検出処理対象画面と前記前方動き検出参照画面との間の画面で検出された動きベクトルを用いて前方動き検出の探索範囲を定め、前記探索範囲内で前記前方動き検出対象画面の前方動きベクトルを検出する前方動き検出部と、
前記後方動き検出処理対象画面と前記後方動き検出参照画面との間の画面で検出された動きベクトルを用いて後方動き検出の探索範囲を定め、前記探索範囲内で前記後方動き検出対象画面の後方動きベクトルを検出する後方動き検出部と、
前記符号化対象画面、前記符号化参照画面、前記前方動きベクトル及び前記後方動きベクトルを用いて符号化データを生成する可変長符号化部と、
前記前方動き検出部の処理と前記後方動き検出部の処理と前記可変長符号化部の処理との同期を画面単位でとる並列処理制御部と、
を有し、
前記処理画面選択部は、前記前方動き検出対象画面として直近に入力された画面である現入力画面を選択し、
前記処理画面選択部は、前記現入力画面が前方向予測符号化されるべき画面である場合には、前記符号化対象画面及び前記後方動き検出参照画面として前記現入力画面を選択するとともに、前記後方動き検出対象画面として前記現入力画面の一つ前に入力された画面を選択し、
前記並列処理制御部は、
前記符号化対象画面と前記前方動き検出対象画面とが同じ画面である場合に、さらに、前記前方動き検出部の処理が前記可変長符号化部の処理よりも常に１マクロブロック以上先行するように、１または複数のマクロブロック単位で前記前方動き検出部の処理と前記可変長符号化部の処理との同期をとるように制御する手段と、
前記符号化対象画面と前記後方動き検出対象画面とが同じ画面である場合に、さらに、前記後方動き検出部の処理が前記可変長符号化部の処理よりも常に１マクロブロック以上先行するように、１または複数のマクロブロック単位で前記後方動き検出部の処理と前記可変長符号化部の処理との同期をとるように制御する手段と、
を備えることを特徴とする動画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフレームの駒落ち（フレームスキップ）が許容される条件下での動画像符号化装置及び方法に関する。
【０００２】
【従来の技術】
ＭＰＥＧ方式では動き予測の有無、符号化の方式の違いから、フレーム内符号化をする画面（Ｉフレーム、Ｉフィールド）と、前方向動き予測を用いて符号化する画面（Ｐフレーム、Ｐフィールド）と、前方向動き予測と後方向動き予測の両方（両方向動き予測）を用いて符号化する画面（Ｂフレーム、Ｂフィールド）の３種類の画面を扱う。以下では、画面としてフレームを例に挙げて説明する。
【０００３】
Ｉフレームは動き予測を行わない。Ｐフレームは時間的に直前のＩもしくはＰフレームを参照して前方向動き予測を行う。Ｂフレームは時間的に直前のＩもしくはＰフレームと、時間的に直後のＩもしくはＰフレームの両方から動き予測を行う。例えば、図１１に示すように、フレームの入力順が「Ｉ１・Ｂ２・Ｂ３・Ｐ４」でも、符号化の順番は「Ｉ１・Ｐ４・Ｂ２・Ｂ３」のように、Ｂフレームを挟む直近のＩもしくはＰフレームを先に符号化する。
【０００４】
動きベクトル検出は、理想的には時間的に隣接するフレームを参照フレームに選んで行うのが良い。しかし、前述の通り、Ｐフレーム及びＢフレームの前方動き予測は直前のＩもしくはＰフレーム（多くの場合、隣接していない）を参照し、Ｂフレームの後方動き予測は直後のＰフレームを参照して行うので、フレーム間の時間的距離が開いてしまい、動きベクトルを探索する領域が広くなる。そのため、演算量が膨大になり、符号化処理が遅くなる。
【０００５】
ＭＰＥＧ−１やＭＰＥＧ−２のエンコーダでは、符号化処理の速度を向上させる手法として、（１）処理を並列化する手法（２）演算量を減らす手法の二つを必要に応じて片方あるいは両方用いている。
【０００６】
（１）の手法は、図１２のように、符号化処理を可変長符号化と前方向動き検出と後方向動き検出に分けてそれぞれ独立させて並列に動作するように構成したり、あるいは、マルチプロセッサ構成のコンピュータ上で動作させるコンピュータプログラムの場合には、動き検出を別ＣＰＵで並列に動作させる手法である。
【０００７】
（２）の手法としては、例えば、特開平６−２６１３０９号公報や特開平９−１６３３７９号公報等で提案されている、テレスコピックサーチによる動きベクトル探索範囲限定手法が提案されている。
【０００８】
テレスコピックサーチというのは、動き検出対象のフレームの時間的に直前のフレームについて検出された動きベクトルを参照して動きベクトル探索範囲を限定する手法である。以下、テレスコピックサーチの概要を、図１３のフレームＩ２からフレームＰ５までの符号化処理に着目してフレームＰ５の動きベクトル検出を例に説明する。フレームＩ２の入力を受けてからフレームＰ５の入力を受けるまでの間に、フレームＩ２とフレームＢ４の間の動きベクトル（以下、動きベクトルＩ２→Ｂ４と記述する）が検出されるので、これをもとに動きベクトルＩ２→Ｐ５の検出を行う。
【０００９】
物体の動きは線形（厳密には、ある時間内で線形で近似可能）であるから、物体の移動量は時間に比例して大きくなる。従って、フレームＩ２とフレームＢ４の時間的距離は２フレーム分で、フレームＩ２とフレームＰ５の時間的距離は３フレーム分であるから、動きベクトルＩ２→Ｐ５の移動量は動きベクトルＩ２→Ｂ４の移動量の３／２倍になると予測できる。探索領域の限定を行わない場合（フルサーチ）は、探索領域は時間的距離の二乗に比例して増大するので演算量は９／４倍になる。
【００１０】
そこで、テレスコピックサーチの場合には、動きベクトルＩ２→Ｐ５を求めるにあたっては、図１４に示すようにフレームＰ５の動きベクトル検出対象ブロックｂ５の動きベクトル探索中心点を、時間的に直前のフレームＢ４上の同じ位置にあるブロックｂ４に関して求めた動きベクトルｖ４の指す参照フレーム上の点に設定する。そして探索範囲は隣接フレーム間での動きベクトル探索と同様、探索中心点から-N〜N-1画素（Nは自然数）の範囲に設定する。
【００１１】
このように前フレームの動きベクトル検出結果を利用することで、参照フレームと動きベクトル検出対象フレームの時間的距離が離れている場合でも、１フレームあたりに要する演算量は時間的に隣接するフレーム間での動きベクトル検出時と同等で済む。
【００１２】
尚、前方向の動きベクトルのみ説明したが、後方向の動きベクトル（例えば動きベクトルＰ５→Ｂ４）検出に関してもテレスコピックサーチを適用することができる。この場合は動きベクトルＰ５→Ｂ４を求めてから、動きベクトルＰ５→Ｂ３をテレスコピックサーチで探索領域を限定して求める。
【００１３】
【発明が解決しようとする課題】
前述の通り、ＭＰＥＧ−１及びＭＰＥＧ−２方式の符号化装置では、処理の並列化とテレスコピックサーチを同時に適用して符号化処理の速度を向上させることができる。しかし、同じことをＭＰＥＧ−４の符号化装置で行うと、符号化処理の速度が向上する代わりに画質の劣化が大きくなったり、あるいは画質の劣化を避けた場合は符号化処理の速度があまり向上しないという問題がある。
【００１４】
画質の劣化の原因は、ＭＰＥＧ−１及びＭＰＥＧ−２方式の動画像符号化処理とは異なり、ＭＰＥＧ−４方式による動画像符号化処理ではフレームスキップと呼ばれる手法を用いることができることにある。
【００１５】
フレームスキップとは、通常のフレームレートで符号化処理を続けると発生符号量が過大になる場合に、符号化するフレームを間引いて発生符号量を抑制する手法である。スキップされたフレームは符号化データから除外されるので情報量を削減できるが、フレームスキップが頻繁に発生するとフレーム間隔が広くなり過ぎるために、特に動きの激しいシーンの場合は、符号化データを復号化した動画像の動きが不自然になってしまう。
【００１６】
フレームスキップが起こらないＭＰＥＧ−１及びＭＰＥＧ−２方式の場合はフレームが入力された順番によってＩ、Ｐ、Ｂのいずれの方式で符号化されるかが決定される。これに対し、フレームスキップが許容されるＭＰＥＧ−４では、図１５に示すように、当該フレームの符号化の方式（Ｉ、Ｐ、Ｂ）は、ＩフレームやＰフレームの場合は当該フレームの符号化が完了するまで、Ｂフレームの場合は当該フレームの時間的に直前のＩ、Ｐフレームが確定するまで、符号化の方式が確定しない。
【００１７】
フレームスキップが無ければ、図１５のフレーム（４）はＰフレーム、フレーム（５）及び（６）はＢフレームとして符号化される予定であったが、フレーム（４）でスキップが発生した影響で、フレーム（５）はＰフレームとして符号化されることになった。しかし、さらにフレーム（５）でもスキップが発生したために、結局（６）はＰフレームとして符号化されることになっている。
【００１８】
そのため、テレスコピックサーチを用いて動きベクトル検出を行っている場合、本来符号量的に問題のないフレームまで過剰にフレームスキップして画質を劣化させてしまったり、あるいは、過剰なフレームスキップを避けようとして符号化処理が遅延してしまうのである。
【００１９】
この過剰なフレームスキップの原因は、符号化には動きベクトルの成分毎の最大値が必要であるため、通常は動き予測（動きベクトル検出）は符号化の前に完了させる必要があるところ、フレームスキップによって後続フレームの符号化方式が変更されてしまい、後続フレームの符号化時に必要となる動きベクトルが求まっていないという事態が発生することにある。これを図１６を用いて具体的に説明する。図１６は従来の動き検出と符号化を並列処理する動画像符号化装置におけるフレーム毎の処理の流れである。例えばフレーム６はＢフレームとして符号化される予定であった。ところが、直前のフレーム５のフレームスキップの影響でフレーム６の符号化方式がＰフレームに変わったので、フレーム６の符号化に必要な動きベクトルはフレーム２を参照して検出したもの（２→６）に変わってしまった。しかし、フレーム６の符号化時までに検出されている動きベクトルはフレーム５を参照フレームとして検出したもの（５→６）である。そのため、必要な動きベクトルが求まっていないためにフレーム６の符号化が行えず、スキップしなくても良いはずのフレーム６まで過剰にスキップしているのである。
【００２０】
この過剰なフレームスキップは、当該フレームの符号化に必要な動き検出が完了するまでの間、当該フレームの符号化を一時中断して回避することも可能である。しかし、１フレーム分の動き検出に要する時間だけ符号化処理が遅延することになるため、リアルタイム性を要求される用途には不向きである。
【００２１】
そこで本発明では、フレームスキップが許容される条件下でテレスコピックサーチによる動きベクトル検出とその他の符号化処理とを並列に実行した場合に、過剰なフレームスキップの発生を防ぎつつ、処理の停滞・遅延を最小限にできる動画像符号化装置及び方法を提供し、この動画像符号化装置を用いたＭＰＥＧ−４エンコーダ、そしてこのＭＰＥＧ−４を用いたテレビ電話端末を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記課題を解決するために本発明の動画像符号化方法は、伝送系若しくは蓄積系からの動画像信号を１画面単位で一時記憶しておき、一時記憶した画面の中から可変長符号化及び動き検出それぞれの処理対象画面及び参照画面を選択して出力する処理画面選択ステップと、前記処理画面選択ステップからの動き検出の処理対象画面及び参照画面の間の画面で検出された動きベクトルを参照して前記動き検出の処理対象画面の動きベクトルを検出する動き検出ステップと、前記動き検出ステップと並列に実行され、前記処理画面選択ステップからの可変長符号化の処理対象画面、可変長符号化の参照画面、前記動きベクトルを用いて符号化データを生成する可変長符号化ステップと、前記動き検出ステップの処理と前記可変長符号化ステップの処理の同期を画面単位でとる並列処理同期ステップとを有し、前記可変長符号化の処理対象画面と前記動き検出の処理対象画面が同一である場合は、前記並列処理同期ステップは、前記可変長符号化ステップと前記動き検出ステップは画面単位での処理の同期に加えて、前記動き検出ステップの処理が前記可変長符号化ステップの処理よりも常に１マクロブロック以上先行するように制御することを特徴とする。
【００２３】
上記課題を解決するために本発明の動画像符号化装置は、伝送系若しくは蓄積系からの動画像信号を１画面単位で一時記憶するフレームメモリと、可変長符号化処理及び動き検出処理それぞれの処理対象画面及び参照画面を決定し、前記フレームメモリから選択して出力するセレクタと、前記セレクタからの動き検出の処理対象画面及び参照画面の間の画面で検出された動きベクトルを参照して動きベクトルの探索範囲を限定して動きベクトルを検出する動き検出部と、前記動きベクトルの成分毎の最大値に対応する値であるf_codeを算出する最大動き算出部と、前記動き検出部と並列に動作し、前記セレクタからの可変長符号化の処理対象画面、前記セレクタからの可変長符号化の参照画面、前記動きベクトル及び前記f_codeを用いて可変長符号化データを生成する可変長符号化部と、前記可変長符号化部と前記動き検出部の処理を画面単位で同期させる並列処理制御手段とを有し、前記並列処理制御手段は、前記可変長符号化部と前記動き検出部の処理を常に１画面単位で同期させるとともに、前記セレクタから出力された動き検出の処理対象画面と可変長符号化の処理対象画面を調べて、可変長符号化の処理対象画面と動き検出の処理対象画面が同一の場合は、前記並列処理制御手段は、当該画面の処理中は、前記動き検出部の処理が前記可変長符号化部の処理よりも常に１マクロブロック以上先行するように制御することを特徴とする。
【００２４】
本発明によれば、テレスコピックサーチによる動き検出と可変長符号化とを並行処理している場合であってもフレームスキップを１フレーム単位で制御することができるので、従来に比べて画質を落とさずに処理速度を向上させることが可能である。
【００２５】
【発明の実施の形態】
（第１の実施形態）図１は本発明の第１の実施形態の動画像符号化装置の構成を示すブロック図である。
【００２６】
本実施形態の動画像符号化装置はフレーム符号化を行う符号化装置であって、フレームスキップを１フレーム単位で管理しながらテレスコピックサーチによる動き検出処理と、符号化とを並列に実行することができるものである。
【００２７】
本実施形態の動画像符号化装置は、蓄積系や伝送系からの動画像を受け取り、前方動き検出と後方動き検出と符号化をフレーム単位で並列処理してＭＰＥＧ−４方式の符号化データを生成し、符号化データをビットストリームとして出力する。
【００２８】
上記処理を実現するために、本実施形態の動画像符号化装置は蓄積系や伝送系からの動画像を一時記憶しておくフレームメモリ１と、フレームメモリ１から処理対象となるフレームを選択して供給するセレクタ２と、検出され動きベクトルを順次記憶しておく動きベクトルバッファ３、５とを有する。本装置はさらに、検出された動きベクトルのうちフレーム内で最大のベクトルを順次記憶しておく最大ベクトルバッファ４、６と、f_codeという動きベクトルに関連するパラメータを推定・決定するf_code推定・決定部７とを有する。また、本装置は、動画像信号を動き補償・離散コサイン変換・量子化・可変長符号化して符号化データに変換する符号化部８と、後方向動きベクトルを検出する後方動き検出部９と、前方向動きベクトルを検出する前方動き検出部１０とから構成される。
【００２９】
フレームメモリ１は蓄積系や伝送系からフレーム単位の動画像を受け取って一時記憶しておき、伝送系や蓄積系からの動画像量の変動によるフレームレートへの影響を抑制する。
【００３０】
セレクタ２は、符号化部８から出力される符号化ステータス等の情報をもとに並列動作を行う符号化部８及び後方動き検出部９及び前方動き検出部１０が必要とするフレームを判断・選択して、選択したフレームをフレームメモリ１から読み出してそれぞれに出力する。
【００３１】
符号化部８及び後方動き検出部９及び前方動き検出部１０は並列に動作し、セレクタ２から符号化部８に入力されたフレームと、後方動き検出部９及び前方動き検出部１０で検出した前方及び後方動きベクトルを符号化して符号化して得られる符号化データをビットストリームとして外部に出力する。
【００３２】
動きベクトルバッファ３は、後方動き検出部９から出力された動きベクトルを順次記憶する。
【００３３】
最大ベクトルバッファ４は、後方動き検出部９から出力された動きベクトルを、各フレーム・成分毎の最大値を順次記憶する。
【００３４】
動きベクトルバッファ５は、前方動き検出部１０から出力された動きベクトルを順次記憶する。
【００３５】
最大ベクトルバッファ６は、前方動き検出部１０から出力された動きベクトルの中で、各フレーム・成分毎の最大値を順次記憶する。
【００３６】
f_code推定・決定部７は、動きベクトルの成分毎の最大値から、図２に示す対応関係を用いてf_codeを推定あるいは決定する。f_code推定・決定部７は、符号化部８からの制御信号を受け取って、自身の動作がf_codeの決定であるか、f_codeの推定であるかを判断する。具体的には、符号化対象フレームと前方（または後方）動き検出対象フレームが同一である場合に符号化部８から出力される制御信号を受けたときにf_codeを推定し、符号化対象フレームと前方及び後方動き検出対象フレームのいずれも異なる場合に符号化部８から出力される制御信号を受けたときにはf_codeを決定する。f_code推定・決定部７は、動作モードを判断してから、最大ベクトルバッファ４、６から動きベクトルの成分毎の最大値を読み出してf_codeを求めて符号化部８に出力する。
【００３７】
以下、符号化部８及び後方動き検出部９及び前方動き検出部１０の並列動作及び並列動作に関連する周辺各部の動作の説明を行う。
【００３８】
セレクタ２は、符号化部８で必要とする符号化対象フレーム及び符号化参照フレーム、後方動きベクトル検出部９で必要とする後方動きベクトル検出対象フレーム及び後方動きベクトル検出参照フレーム、前方動きベクトル検出部１０で必要とする前方動きベクトル検出対象フレーム及び前方動きベクトル検出参照フレームを、符号化部８から入力された符号化ステータス等の情報を参照して選択し、選択したフレームをフレームメモリ１から読み出し、符号化部８、後方動きベクトル検出部９、前方動きベクトル検出部１０に出力する。また、符号化部８に対しては、符号化部８、後方動きベクトル検出部９、前方動きベクトル検出部１０の並列動作モードの情報も出力する。
【００３９】
セレクタ２は、符号化部８からの符号化ステータス（符号化方式、スキップの有無等）の情報の入力を受けてから符号化部８、前方動き検出部１０、後方動き検出部９に出力するフレームの選択を行って、選択したフレームを符号化部８、前方動き検出部１０、後方動き検出部９に出力する。
【００４０】
図３はセレクタ２によるフレーム選択処理の流れを説明するフローチャートである。図中のＭはＩ／Ｐフレーム間のフレーム枚数である。本実施形態ではＭ＝３を採用する。従って、フレーム３枚おきにＩ／Ｐフレームが存在する。ｃはセレクタ２内部で保有するカウンタで、ｃ＝０，１，２の値をとる。ｃの値はフレーム選択処理１回毎に１ずつ増加させていき、ｃ＝３になったら０にリセットする。Ｆ（ｔ）はある時刻ｔに入力されたフレームを表し、Ｆ（ｔ−１）はＦ（ｔ）の１フレーム前のフレームを意味する。
【００４１】
ｃ＝０の時は符号化部８に次に入力されるフレームはＩまたはＰフレームとして符号化が行われる。従って、符号化部８には符号化対象フレームとしてＦ（ｔ）が、符号化参照フレームとしてＦ（ｔ−３）が出力される。前方動き検出部１０には前方動き検出対象フレームとしてＦ（ｔ）が、前方動き参照フレームとしてＦ（ｔ−３）が出力される。後方動き検出部９には後方動き検出対象フレームとしてＦ（ｔ−１）が、後方動き参照フレームとしてＦ（ｔ）が出力される。
【００４２】
ｃ＝１の時は符号化部８に次に入力されるフレームはＢフレームとして符号化が行われる。符号化部８には符号化対象フレームとしてＦ（ｔ−３）が、符号化参照フレームとしてＦ（ｔ−２）及びＦ（ｔ−４）が出力される。前方動き検出部１０には前方動き検出対象フレームとしてＦ（ｔ）が、前方動き参照フレームとしてＦ（ｔ−１）が出力される。後方動き検出部９には後方動き検出対象フレームとしてＦ（ｔ−３）が、後方動き参照フレームとしてＦ（ｔ−１）が出力される。
【００４３】
ｃ＝２の時は符号化部８に次に入力されるフレームはＢフレームとして符号化が行われる。符号化部８には符号化対象フレームとしてＦ（ｔ−３）が、符号化参照フレームとしてＦ（ｔ−２）及びＦ（ｔ−４）が出力される。前方動き検出部１０には前方動き検出対象フレームとしてＦ（ｔ）が、前方動き参照フレームとしてＦ（ｔ−２）が出力される。この時、後方動き検出部９は後方動き検出を行わないのでフレームの出力は行われない。
【００４４】
セレクタ２を図３のフローチャートに従って動作させることで、本実施形態の動画像符号化装置は図４に示す通りの順序でフレームを処理するようになる。
【００４５】
図４には、説明の都合上、２番目に入力されたフレーム（以下、フレーム２）がＩフレームとして符号化される場合で、前方向・後方向動き検出に関してはフレーム２より後に入力されたフレームを参照して動き検出が行われるもの、符号化に関してはフレーム０より後に入力されたフレームについて符号化が行われるものについてのみ記載されている。
【００４６】
（１）フレーム２はＩフレームとして符号化される。フレーム２の入力時には、フレーム２を参照フレームとするフレーム１に対する後方動き検出と、フレーム２の符号化を行う。
【００４７】
（２）フレーム３はＢフレームとして符号化される。フレーム３の入力時には、フレーム２を参照フレームとするフレーム３に対する前方動き検出と、フレーム２を参照フレームとするフレーム０の後方動き検出と、フレーム０の符号化を行う。
【００４８】
（３）フレーム４はＢフレームとして符号化される。フレーム４の入力時には、フレーム２を参照フレームとするフレーム４の前方動き検出と、フレーム１の符号化を行う。
【００４９】
（４）フレーム５はＰフレームとして符号化される。フレーム５の入力時には、フレーム２を参照フレームとするフレーム５に対する前方動き検出と、フレーム５を参照フレームとするフレーム４の後方動き検出と、フレーム２の符号化を行う。
【００５０】
フレーム６以降はフレーム番号を適宜置き換えて（２）〜（４）の処理を繰り返す。Ｉフレームを挿入する場合は（４）の代わりに（１）の処理を行えばよい。
【００５１】
符号化部８及び後方動き検出部９及び前方動き検出部１０は、セレクタ２が符号化部８に出力した並列動作モードの情報に従って並列動作を行う。後述するように、符号化部８と後方動き検出部９、符号化部８と前方動き検出部１０の間では符号化処理の同期をとるために必要な同期信号や制御信号の出入力が行われる。
【００５２】
並列動作モードの情報は符号化部８と後方動き検出部９と前方動き検出部１０との間での同期の取り方及び各々の動作の有無を表す情報である。例えば「符号化部８と後方動き検出部９と前方動き検出部１０の処理はフレーム単位で同期させる」や「符号化部８と後方動き検出部９と前方動き検出部１０の処理はフレーム単位で同期させ、符号化部８と前方動き検出部１０の処理はマクロブロック単位で同期させる」等の情報である。
【００５３】
符号化部８はセレクタ２からの符号化対象フレームと参照フレームと、f_code推定・決定部７からのf_codeとを受け取り、動き補償、離散コサイン変換、量子化、可変長符号化を行い、生成した符号化データをビットストリームとして本装置の外部へ出力する。また、符号化部８は前述のセレクタ２からの並列動作モードの情報に基づいて、後方動き検出部９及び前方動き検出部１０の動作を制御・把握し並列動作の制御を行う。
【００５４】
セレクタ２は、符号化対象フレームと前方動き検出対象フレームが同一フレームである場合は、符号化部８と後方動き検出部９と前方動き検出部１０の処理をフレーム単位で同期させ、かつ、符号化部８と前方動き検出部１０の処理がマクロブロック単位で同期させるように、符号化部８に並列動作モード情報を出力する。符号化部８は、この並列動作モード情報に基づいて後方動き検出部９と前方動き検出部１０に制御信号と同期信号を出力し、f_code推定・決定部７にf_codeを推定させるように制御信号を出力する。
【００５５】
セレクタ２は、符号化対象フレームと後方動き検出対象フレームが同一フレームである場合は、符号化部８と後方動き検出部９と前方動き検出部１０の処理をフレーム単位で同期させ、かつ、符号化部８と後方動き検出部９の処理がマクロブロック単位で同期させるように、符号化部８に並列動作モード情報を出力する。符号化部８は、この並列動作モード情報に基づいて後方動き検出部９と前方動き検出部１０に制御信号と同期信号を出力し、f_code推定・決定部７にf_codeを推定させるように制御信号を出力する。
【００５６】
尚、セレクタ２は、後方動き検出部９が後方動き検出を行わない場合は、後方動き検出部９を符号化部８と前方動き検出部１０の処理が完了するまで待機状態にさせるように、符号化部８に並列動作モード情報を出力する。
【００５７】
図５は符号化部８と後方動き検出部９と前方動き検出部１０がフレーム単位で処理の同期を取りながら動作する様子を説明する図である。本実施形態の動画像符号化装置では、常時少なくともフレーム単位で符号化部８と後方動き検出部９と前方動き検出部１０の処理の同期を取る。符号化部８はセレクタ２から受け取った並列動作モードの情報に基づいて、後方動き検出部９と前方動き検出部１０にフレーム単位で符号化部８と処理の同期をとることを制御信号で伝える（すなわち、後方動き検出部９と前方動き検出部１０がそれぞれ１フレーム分の動き検出処理が完了したら、符号化部８に同期信号とステータスを送信させる）。
【００５８】
符号化部８は符号化処理を実行しながら後方動き検出部９と前方動き検出部１０から同期信号とステータスが送られてくるのを待つ。同期信号を受け取る前に１フレーム分の符号化処理が終了した場合は同期信号が送られてくるまで待機する。符号化部８は１フレーム分の符号化処理が完了してから、後方動き検出部９と前方動き検出部１０のステータスをチェックする。後方動き検出部９と前方動き検出部１０の両方が１フレーム分の動き検出処理を終えているのを確認してから、後方動き検出部９と前方動き検出部１０に制御信号を送信して次のフレームのデータを受信する準備をさせ、同時にセレクタ２へ符号化ステータスを送信して符号化部８と後方動き検出部９と前方動き検出部１０に対して次に動き検出処理すべきフレームのデータを送信させる。
【００５９】
図６は前方動き検出部１０（あるいは後方動き検出部９）と符号化部８がマクロブロック単位で処理の同期を取る場合の動作を説明する図である。尚、符号化部８と後方動き検出部９と前方動き検出部１０はフレーム単位で処理の同期も取っているが、この部分の説明は上述と異なる部分だけを説明する。符号化部８はセレクタ２から受け取った並列動作モードの情報に基づいて、後方動き検出部９にフレーム単位で符号化部８と処理の同期をとることを制御信号で伝え（すなわち、後方動き検出部９が１フレームの動き検出処理が完了したら、符号化部８に同期信号とステータスを送信させる）、前方動き検出部１０には５マクロブロック単位で符号化部８と処理の同期をとることを制御信号で伝える（すなわち、前方動き検出部１０が５マクロブロックの動き検出処理が完了したら、符号化部８に同期信号とステータスを送信させる）。
【００６０】
符号化部８は符号化処理を実行しながら前方動き検出部１０から同期信号とステータスが送られてくるのを待つ。符号化部８は前方動き検出部１０からの同期信号及びステータスを受け取る前に５マクロブロック分の符号化処理が終了した場合は、前方動き検出部１０から同期信号が送られてくるまで待機する。逆に前方動き検出部１０からの同期信号及びステータスが、符号化部８の５マクロブロック分の符号化処理終了前に送られてきた場合は、前方動き検出部１０は符号化部８からの制御信号を待つ。符号化部８は５マクロブロック分の符号化処理が完了してから、前方動き検出部１０のステータスをチェックし、前方動き検出部１０が１フレーム分の動き検出処理が完了していない場合は制御信号を送って次の５マクロブロック分の動き検出処理を実行させる。１フレーム分の動き検出処理が完了した場合は、符号化部８及び後方動き検出部９とフレーム単位で処理の同期をとるために待機させる。ただし、前方動き検出部１０の動き検出処理を符号化部８の符号化処理よりも必ず５マクロブロック分先行させるために、前方動き検出部１０が最初の５マクロブロックの動き検出処理を行っている間は符号化処理を行わずに待機し、前方動き検出部１０が最初の５マクロブロックの処理を終えてから符号化部８は符号化処理を開始する。
【００６１】
前方動き検出部１０は１フレーム分の動き検出処理が完了したら符号化部８に同期信号とステータスを送信して、符号化部８からの制御信号を待つ。符号化部８は最後の５マクロブロックの符号化処理が完了したら、後方動き検出部９と前方動き検出部１０からのステータスをチェックし、両者とも１フレーム分の動き検出処理を終えているのを確認してから、後方動き検出部９と前方動き検出部１０に制御信号を送信して次のフレームのデータを受信する準備をさせ、同時にセレクタ２へ符号化ステータスを送信して符号化部８と後方動き検出部９と前方動き検出部１０に対して次に動き検出処理すべきフレームのデータを送信させる。
【００６２】
符号化部８は、自身の１フレーム分の符号化処理と、後方動き検出部９及び前方動き検出部１０の両方が１フレーム分の動き検出処理が完了したのを確認できたら、後方動き検出部９と前方動き検出部１０に制御信号を送信して次のフレームのデータを受信する準備をさせ、同時にセレクタ２へ符号化ステータスを送信して符号化部８と後方動き検出部９と前方動き検出部１０に対して次に動き検出処理すべきフレームのデータを送信させる。
【００６３】
尚、ここでは符号化部８と前方動き検出部１０がマクロブロック単位で処理を同期させた場合について説明したが、符号化部８と後方動き検出部９がマクロブロック単位で処理を同期させる場合も同様にして動作する。
【００６４】
後方動き検出部９は、セレクタ２から受けた後方動き検出対象フレームと後方動き検出参照フレームをもとに動きベクトルの検出を行う。後方動き検出部９は、各マクロブロック毎に、テレスコピックサーチで後方動き検出対象フレームの直後に入力されたフレームの動きベクトルから探索を行う中心点を設定して探索範囲を中心点から水平垂直ともに-N〜N-1画素（Nは自然数）の範囲に限定した上で、ブロックマッチングを行って最小誤差となる点を探索して動きベクトルを検出する。ただし、直後のフレームと後方動き検出参照フレームが同一である場合はテレスコピックサーチによる探索範囲の限定を行わずにブロックマッチングを行う。後方動き検出部９は検出した動きベクトルを動きベクトルバッファ３と最大ベクトルバッファ４に出力する。
【００６５】
前方動き検出部１０はセレクタ２から受けた前方動き検出対象フレームと前方動き検出参照フレームをもとに動きベクトルの検出を行う。前方動き検出部１０は、各マクロブロック毎に、テレスコピックサーチで動き検出対象フレームの直前に入力されたフレームの動きベクトルから探索を行う中心点を設定して探索範囲を中心点から水平垂直ともに-N〜N-1画素（Nは自然数）の範囲に限定した上で、ブロックマッチングを行って最小誤差となる点を探索して動きベクトルを検出する。ただし、直前のフレームと前方動き検出参照フレームが同一である場合はテレスコピックサーチによる探索範囲の限定を行わずにブロックマッチングを行う。前方動き検出部１０は、検出した動きベクトルを動きベクトルバッファ５と最大ベクトルバッファ６に出力する。
【００６６】
f_code推定・決定部７は、符号化部８からの制御信号に応じて動作を変える。符号化部８が後方動き検出部９と前方動き検出部１０の両方とフレーム単位でのみ処理の同期を取る場合は、符号化部８は制御信号を出力して、f_code推定・決定部に、最大ベクトルバッファ４ないし６から符号化対象フレームに関して検出済みの動きベクトルの成分毎の最大値を読み込ませてf_codeを求めさせる。一方、後方動き検出部９（前方動き検出部１０）とマクロブロック単位での処理の同期を取る場合は、符号化部８は制御信号を出力して、f_code推定・決定部に、最大ベクトルバッファ４（あるいは６）から符号化対象フレームの一つ前のフレームに関して検出済みの動きベクトルの成分毎の最大値を読み込ませて、その値から符号化対象フレームのf_codeを推定させる。
【００６７】
f_code推定・決定部７はf _codeを以下の方法で推定する。f_codeを求めようとするフレーム（すなわち符号化対象フレーム）Fcodが入力された時間をtcod、参照フレーム（直前にf_codeを求めたフレームの参照フレーム）Frefが入力された時間をtrefとし、直前にf_codeを求めたフレームFcod-1が入力された時間をtcod-1とし、そのときの動きベクトルの最大値を（水平，垂直）＝（Hcod-1，Vcod-1）とする。
【００６８】
FrefとFcod-1が異なる場合、推定される動きベクトルの最大値（Hcod，Vcod）は次のような計算で求められる。
【００６９】
【数１】
0004070471.tif 000002
【００７０】
FrefとFcod-1が同一ならば、動きベクトルの最大値（Hcod，Vcod）は探索領域内で想定される最大値になると推定する。探索領域が水平垂直ともに-N〜N-1の範囲ならば、
【００７１】
【数２】
0004070471.tif 000003
【００７２】
f_code推定・決定部７はこのようにして推定される動きベクトルの最大値から、f_codeを図２の対応関係に従って求める。
【００７３】
しかし、このようにして求めたf_codeは必ずしも正確な値とは限らない。f_code推定・決定部７がf_codeを推定する場合というのは、符号化対象フレームと動き検出対象フレームとが同一の場合であり、当該フレームに関して動きベクトルの検出が完了していない場合である。もし、検出された動きベクトルの各成分のうち１つでもf_codeで許容される最大値を超えると、符号化ができなくなってしまう。そこで、動きベクトル検出処理で検出されるベクトルがf_codeから逆に推定される最大値を超えないようにする必要がある。
【００７４】
そのために、符号化部８は後方動き検出部９に動きベクトル検出の探索範囲を修正して、推定したf_codeと矛盾する動きベクトルが検出されないように制御する。
【００７５】
図７は、推定されたf_codeに基づく、動きベクトル探索範囲の修正例を説明する図である。前述の通り、前方動き検出部１０及び後方動き検出部９ではテレスコピックサーチを行うので、前フレームの動きベクトルMV＝（h0，v0）から探索を行う中心点を設定し、探索範囲はその点から水平垂直ともに-N〜N-1画素の範囲に設定される。
【００７６】
ここで、推定されたf_codeと矛盾しない動きベクトルの大きさから、探索範囲の限界が（hmin，vmin）〜（hmax，vmax）を対角線とする矩形で示されるとする。もし、テレスコピックサーチによって設定された探索範囲がf_codeに基づく探索範囲の限界より外にはみ出した場合は、図７のように探索範囲がf_codeに基づく限界に収まるように探索範囲をシフトする。
【００７７】
例えば、探索範囲がf_codeに基づく限界より左にはみ出した場合はh0-N＜hminが成り立つから、探索範囲を右にhmin-(h0-N)画素だけシフトすれば良い。
【００７８】
このような修正を施すことでf_codeの値で制限されるベクトルの大きさを超える動きベクトルの検出を防止することができる。
【００７９】
従来、動き検出と符号化を並列処理にて行う動画像符号化装置において動き検出処理をテレスコピックサーチを用いて行う場合は、同一フレームに関して動き検出と符号化を同時に行うことができなかった。そのために、符号化時までに動き検出を完了させるようにするためには、図１３に示すようにＩまたはＰフレーム候補として入力されたフレームについて、当該フレームの動きベクトル検出を行ってから符号化が完了するまでの間に、当該フレームがＩまたはＰフレームであるという前提で後続フレームの動きベクトル検出を行う必要があった。そのため、例えば図１６に示すように、１箇所（５番目のフレーム）でフレームスキップが起こると過剰にフレームスキップ（６番目のフレーム）を引き起こしてしまっていた。
【００８０】
しかし、本実施形態の動画像符号化装置ならば符号化対象フレームと動き検出対象フレームが同一の場合でも、動き検出が完了するまで符号化を待機させなくとも、動き検出を符号化より５マクロブロック先行させるだけで両方の処理を並行して行えるので、フレームスキップが発生してもフレームスキップの影響を当該フレーム内に抑えることが可能になる。例えば図８に示すように、５番目に入力されたフレームをＰフレームとして符号化したところ符号量過多となってスキップされても、動きベクトル検出を符号化と同時に行えるので６番目に入力されたフレームをＰフレームとして符号化することが可能である。さらに６番目に入力されたフレームもスキップされても、７番目のフレームをＰフレームとして符号化することが可能であるので、フレームスキップの影響はスキップしたフレームのみに抑えられていることがわかる。
【００８１】
以上、本実施形態の動画像符号化装置によれば、動きベクトルの検出を常に先行させるように制御可能であるので、フレームスキップが許容されている条件下でテレスコピックサーチを行っても処理の遅延・停滞も最小限で済むため、過剰なフレームスキップが発生しない。
【００８２】
（第２の実施形態）図９は本発明の動画像符号化装置を用いて、携帯テレビ電話システム用のテレビ電話端末機を構成した場合の構成を説明するブロック図である。
【００８３】
本実施形態のテレビ電話端末機は図１０に示す通信システムにおける端末局側として用いる。端末局１２０と端末局１２１の間の通信は、基地局１２２と、基地局１２２と通信回線網１２３で接続された基地局１２４とを介して行われる。端末局１２０は通信データを基地局１２２へ送信し、基地局１２２は受信した通信データを通信回線網１２３で接続された基地局１２４へ送信する。基地局１２４は通信データを端末局１２１へ送信する。逆方向の通信も同様にして行われる。
【００８４】
本実施形態のテレビ電話端末機は、画像を撮影して動画像信号を生成するカメラ１００と、動画像信号をデジタル化してデジタル動画像信号を生成するＡ／Ｄ変換器１０１と、デジタル動画像信号を符号化する動画像符号化器１０２とを有する。本端末機はさらに、音声を電気信号に変換して音声信号を生成するマイク１０３と、音声信号をデジタル化してデジタル音声信号を生成するＡ／Ｄ変換器１０４と、デジタル音声信号を符号化する音声符号化器１０５とを有する。
【００８５】
本端末機はさらに、符号化された動画像信号と符号化された音声信号を多重化して多重化ストリームを生成する多重化器１０６と、多重化ストリームを変調して変調信号を生成する変調器１０７と、変調器１０７で生成した変調信号を基地局に送信し、基地局からの変調信号を受信する送受信機１０８と、送受信機１０８で受信した変調信号を復調して多重化ストリームを生成する復調器１０９と、多重化ストリームから符号化された動画像信号と符号化された音声信号とを分離する分離器１１０とを有する。
【００８６】
本端末機はさらに、符号化された動画像信号を復号化してデジタル動画像信号を生成する動画像復号化器１１１と、デジタル動画像信号をアナログ量に変換して動画像信号を生成するＤ／Ａ変換器１１２と、動画像信号を表示する１１３とを有する。さらに本端末機は符号化された音声信号を復号化してデジタル音声信号を生成する音声復号化器１１４と、デジタル音声信号をアナログ量に変換して音声信号を生成するＤ／Ａ変換器１１５と、音声信号を音声として出力するスピーカー１１６とから構成される。
【００８７】
カメラ１００はＣＣＤ（電荷結合素子）とプリアンプを備えた撮影装置である。カメラ１００は、被写体の光学的情報を電気的な動画像信号に変換し、プリアンプで信号を増幅してからＡ／Ｄ変換器１０１に出力する。Ａ／Ｄ変換器１０１は動画像信号をデジタル化してデジタル動画像信号を生成して動画像符号化器１０２へ出力する。動画像符号化器１０２は本発明の第１の実施形態の動画像符号化装置を半導体集積回路として構成したものである。動画像符号化器１０２はデジタル動画像信号をＭＰＥＧ−４方式で符号化し、ＭＰＥＧ−４符号化データを生成して多重化器１０６へ出力する。
【００８８】
一方、マイク１０３は端末機周囲の音声を集音して電気的な音声信号に変換し、プリアンプで増幅してからＡ／Ｄ変換器１０１に出力する。Ａ／Ｄ変換器１０４は音声信号をデジタル化してデジタル音声信号を生成し、音声符号化器１０５へ出力する。音声符号化器１０５はデジタル音声信号をＡＭＲ方式で符号化してＡＭＲ符号化データを生成して多重化器１０６へ出力する。
【００８９】
多重化器１０６は動画像符号化器１０２からのＭＰＥＧ−４符号化データと、ＡＭＲ符号化データを多重化する。まず、多重化器１０６はＭＰＥＧ−４符号化データとＡＭＲ符号化データを、それぞれ個別に順次所定のパケットデータの長さに分割しパケットを生成する。パケットには各符号化データだけでなくパケットの種類（ＭＰＥＧ−４符号化データかＡＭＲ符号化データか）やパリティー等の情報がヘッダとして付加される。多重化器１０６は、生成したパケットをＭＰＥＧ−４符号化データ由来かＡＭＲ符号化データ由来かを問わずに生成された順番で内蔵のＦＩＦＯバッファ（図示せず）に格納する。多重化部１０６は、ビットレートが一定になるように適宜パディングパケットを出力しながら、ＦＩＦＯバッファに格納したパケットを格納した順番に多重化ストリームとして出力する。
【００９０】
変調器１０７は多重化器１０６から出力された多重化ストリームをＷ−ＣＤＭＡ方式で変調してＷ−ＣＤＭＡ変調信号を生成して送受信機１０８へ出力する。
【００９１】
送受信器１０８は変調器１０７からのＷ−ＣＤＭＡ変調信号を無線で基地局（図示せず）に送信する。一方、送受信器１０８は基地局から無線で送信されてきたＷ−ＣＤＭＡ変調信号を受信して復調器１０９に出力する。
【００９２】
復調器１０９は、送受信器１０８で受信した基地局からのＷ−ＣＤＭＡ変調信号を復調して多重化ストリームを生成し、分離器１１０へ出力する。
【００９３】
分離器１１０は、多重化ストリームを分離器１１０に内蔵のＦＩＦＯバッファ（図示せず）に一時格納する。分離器１１０は、パケットのヘッダ情報から当該パケットがＭＰＥＧ−４符号化データかＡＭＲ符号化データかを識別して、ＭＰＥＧ−４符号化データを動画像復号化器１１１へ、ＡＭＲ符号化データを音声復号化器１１４へ出力する。
【００９４】
動画像復号化器１１１は、分離器１１０からのＭＰＥＧ−４符号化データを動画像復号化器１１１に内蔵のバッファ（図示せず）に一時記憶しながらＭＰＥＧ−４符号化データをデジタル動画像信号に復号化する。Ｄ／Ａ変換器１１２はデジタル動画像信号をアナログ化して動画像信号を生成する。表示器１１３は液晶を用いた表示装置で画像信号（動画、静止画）を画面上に画像として表示することが可能である。表示器１１３はＤ／Ａ変換器１１２からの動画像信号を液晶画面上に画像として表示する。
【００９５】
一方、音声復号化器１１４は、分離器１１０からのＡＭＲ符号化データを音声復号化器１１４に内蔵のバッファ（図示せず）に一時記憶しながらＡＭＲ符号化データをデジタル音声信号に復号化する。Ｄ／Ａ変換器１１５はデジタル音声信号をアナログ化して音声信号を生成する。スピーカー１１６は音声信号を音声として出力する。
【００９６】
尚、本実施形態では音声符号化方式としてＡＭＲ方式、符号化データの変調方式としてＷ−ＣＤＭＡ方式を採用したがこれに限定されない。他の音声符号化方式、例えばＡＤＰＣＭ、ＭＰ−３等、でも構わない。また、他の変調方式、例えばＣＤＭＡ方式、でも構わない。
【００９７】
本発明の第２の実施形態によれば、本発明の第１の実施形態の動画像符号化装置をテレビ電話端末機に応用することにより、テレスコピックサーチを用いても過剰なフレームスキップが発生しないため、画質の低下を抑制しつつ演算量の削減ができ、低消費電力での符号化処理が可能である。よって、本実施形態のテレビ電話端末機は、バッテリーによる駆動時間を従来より長くしたり、小型のバッテリーを使用して従来より軽量化することが可能となる。
【００９８】
（第３の実施形態）図１７は本発明の動画像符号化装置を用いて、ＭＰＥＧ−４放送システムを構成した場合の攻勢を説明するブロック図である。
【００９９】
本実施形態のＭＰＥＧ−４放送システムは、動画像信号及び音声信号を供給する映像・音声信号供給部２００と、動画像信号を符号化する動画像符号化器２０１と、音声信号を符号化する音声符号化器２０２とを有する。本放送システムはさらに、符号化された動画像信号と符号化された音声信号を多重化して多重化ストリームを生成する多重化器２０３と、多重化ストリームを変調して変調信号を生成する変調器２０４と、変調器２０４で生成した変調信号を不特定多数のテレビ等の受像機（図示せず）に送信する送信機２０６と、録画放送向けに多重化ストリームを蓄積しておく蓄積装置２０５とを有する。
【０１００】
本放送システムは、カメラで撮影した画像とマイクで集音・録音した音声を用いて構成したテレビ番組等の放送作品を電波や有線で不特定多数に送信するシステムである。収録した放送作品を生放送として直接視聴者（図示せず）に送信することも可能であるし、放送作品を蓄積装置２０５に録画しておいて、後で蓄積装置２０５から放送作品を視聴者へ送信することもできる。また、放送作品を生放送として直接送信しつつ同時に蓄積装置２０９で録画することも可能である。
【０１０１】
映像・音声信号供給部２００はカメラやマイク等の撮影機材や、ＶＴＲ等の再生装置等、映像信号と音声信号を生成することのできるものである。映像・音声信号供給部２００から出力される音声信号と動画像信号は、出力前にデジタル信号に変換されているものとする。
【０１０２】
動画像符号化器２０１は本発明の第１の実施形態の動画像符号化装置を半導体集積回路として構成したものである。動画像符号化器２０１は動画像信号をＭＰＥＧ−４方式で符号化し、ＭＰＥＧ−４符号化データを生成して多重化器２０３へ出力する。
【０１０３】
一方、音声符号化器２０２は音声信号をＡＤＰＣＭ方式で符号化してＡＤＰＣＭ符号化データを生成して多重化器２０３へ出力する。
【０１０４】
多重化器２０３は動画像符号化器２０１からのＭＰＥＧ−４符号化データと、音声符号化器２０２からのＡＤＰＣＭ符号化データを多重化する。まず、多重化器２０３はＭＰＥＧ−４符号化データとＡＤＰＣＭ符号化データを、それぞれ個別に順次所定のパケットデータの長さに分割しパケットを生成する。パケットには各符号化データだけでなくパケットの種類（ＭＰＥＧ−４符号化データかＡＤＰＣＭ符号化データか）やパリティー等の情報がヘッダ情報として付加される。多重化器２０３は、生成したパケットをＭＰＥＧ−４符号化データ由来かＡＤＰＣＭ符号化データ由来かを問わずに生成された順番で内蔵のＦＩＦＯバッファ（図示せず）に格納する。多重化部２０３は、ビットレートが一定になるように適宜パディングパケットを出力しながら、ＦＩＦＯバッファに格納したパケットを格納した順番に多重化ストリームとして変調器２０４と蓄積装置２０５に出力する。
【０１０５】
蓄積装置２０５は多重化器２０３からの多重化ストリームを順次蓄積して内蔵されたＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＬＴ等のリムーバブルメディア用のドライブ（図示せず）やＨＤＤ（ハードディスクドライブ、図示せず）等に記録する。一方、これらリムーバブルメディアやＨＤＤ等に記録された多重化ストリームを読み出して変調器２０７に出力する。読み出しと記録の動作は、本システムの使用者が蓄積装置２０９に備え付けの操作スイッチ（図示せず）を操作して行う。
【０１０６】
変調器２０４は多重化器２０３あるいは蓄積装置２０５から出力された多重化ストリームをＱＰＳＡ方式やＣＤＭＡ方式等で特定の周波数帯の信号に変調して変調信号を生成して送信機２０６へ出力する。
【０１０７】
送信器２０６は変調器２０４からの変調信号を不特定多数の視聴者（図示せず）に向けて送信する。
【０１０８】
本実施形態の変形例として、図１８のブロック図に示すようなサイマルキャスト放送システム構成を挙げる。図１８のサイマルキャスト放送システムは図１７のＭＰＥＧ−４放送システムと類似する構成であるが、大きく異なるのは、図１８のサイマルキャスト放送システムはＭＰＥＧ−４の符号化器３０１に加えて、ＭＰＥＧ−２の符号化器３０４を備え、ＭＰＥＧ−２とＭＰＥＧ−４の両方の方式で動画像を符号化する点である。
【０１０９】
本システムでは、動画像信号をそれぞれの符号化方式で符号化して得られた動画像信号を、多重化器３０３、３０６でそれぞれ音声の符号化データと多重化する。変調器３０７は得られた二つの多重化データをＱＰＳＫ方式やＣＤＭＡ方式などで変調して変調信号を生成する。送信器３０８は変調信号を不特定多数の視聴者（図示せず）へ送信する。
【０１１０】
図１９は図１８のサイマルキャスト放送システムを用いた場合の放送局側と視聴者側の関係を説明する図である。このサイマルキャスト放送システムではＭＰＥＧ−４方式の画像信号に加えて、ＭＰＥＧ−２による高解像度・高レートの映像信号を同時に放送する。
【０１１１】
受信する端末機器(家庭用ＴＶ／車載受像機／ＰＤＡ／携帯用テレビ等が想定される)に応じて、端末機器側でＭＰＥＧ−２のデータを受信するのか、ＭＰＥＧ−４のデータを受信・再生するのかを選択する。通常は、図１９に示すように家庭用ＴＶ等高解像度のディスプレイを所有し、アンテナが移動しない受信機においてはＭＰＥＧ−２の符号化データを再生し、車載受像機やＰＤＡ等解像度が低く、アンテナ移動による受信エラーが発生しやすい受信機においてはＭＰＥＧ−４の符号化データを再生する。この点については、通信環境（ビットレートや通信状態等）、端末機器側の構成、あるいは使用者の意思によって変えてもよい。例えば、所定の閾値以上の高いビットレートで通信可能な場合はＭＰＥＧ−２の符号化データを再生し、所定の閾値を下回った場合はＭＰＥＧ−４の符号化データを再生するように端末機器を構成することも考えられる。
【０１１２】
尚、本システムでは蓄積装置は省略してあるが、多重化器３０３、３０６からの出力を蓄積装置で受けて蓄積可能な構成にしても良い。
【０１１３】
以上、本発明の第３の実施形態によれば、本発明の第1の実施形態の動画像符号化装置を放送システムに応用することにより、テレスコピックサーチを用いても過剰なフレームスキップが発生しないため、ビデオ符号化システムに必要な演算量を削減しつつ良好な画質が維持できる。
【０１１４】
【発明の効果】
以上説明した通り、本発明の動画像符号化装置では、動きベクトル検出をテレスコピックサーチを使用して行っていても、同一のフレームに対して符号化と動きベクトル検出を同時並列に行うことができる。そのため、符号化時にフレームスキップが発生してもその影響は当該フレームのみに留まり、過剰なフレームスキップが発生しない。これにより、画質の低下を抑制しつつ演算量の削減ができるので、高速な符号化処理や低消費電力での符号化処理が可能となる。
【図面の簡単な説明】
【図１】  本発明の動画像符号化装置の一実施形態の構成を表すブロック図。
【図２】  動きベクトルの成分毎の最大値とf_codeとの関係を示す図。
【図３】  セレクタが符号化部、前方動き検出部、後方動き検出部に出力するフレームを選択する処理を説明するフローチャート。
【図４】  本発明の動画像符号化装置における、符号化と動き検出のタイミングの例を示す図。
【図５】  符号化と前方動き検出と後方動き検出とを１フレーム単位で同期させる同期処理を示す図。
【図６】  符号化と動き検出を５マクロブロック単位で同期させる場合の同期処理を示す図。
【図７】  f_codeの制限に伴う動きベクトル探索範囲の修正の例を示す図。
【図８】  図４のタイミングで符号化と動き検出を行った場合、過剰なフレームスキップの発生を防止できることを示す図。
【図９】  本発明の動画像符号化装置を用いた携帯用テレビ電話端末の構成を表すブロック図。
【図１０】  本発明の動画像符号化装置を用いた携帯用テレビ電話端末が使用されるシステムを説明する図。
【図１１】  フレームスキップがない場合のＩフレームとＰフレームの間の動きベクトルの例（Ｍ＝３）。
【図１２】  従来の動画像符号化装置の構成を表すブロック図。
【図１３】  従来の符号化とテレスコピックサーチによる動き検出のタイミングの例を示す図。
【図１４】  ３フレーム離れたフレーム間におけるテレスコピックサーチによる探索範囲設定を示す図。
【図１５】  Ｐフレーム符号化時に２回（２フレーム）フレームスキップが発生した場合の後続の各フレームの符号化方式の変化を説明する図。
【図１６】  図１３のタイミングで符号化と動き検出を行うと、フレームスキップが過剰に発生するという問題を説明する図。
【図１７】  本発明の動画像符号化装置を用いたＭＰＥＧ−４放送システムの放送局側の構成を説明するブロック図。
【図１８】  本発明の動画像符号化装置を用いたサイマルキャスト放送システムの放送局側の構成を説明するブロック図。
【図１９】  本発明の動画像符号化装置を用いたサイマルキャスト放送システムを説明する図。
【符号の説明】
１  フレームメモリ
２  セレクタ
３、５  動きベクトルバッファ
４、６  最大ベクトルバッファ
７  f_code推定・決定部
８  符号化部
９  後方動き検出部
１０  前方動き検出部
１０２  動画像符号化器
【図１】
0004070471.tif 000004
【図２】
0004070471.tif 000005
【図３】
0004070471.tif 000006
【図４】
0004070471.tif 000007
【図５】
0004070471.tif 000008
【図６】
0004070471.tif 000009
【図７】
0004070471.tif 000010
【図８】
0004070471.tif 000011
【図９】
0004070471.tif 000012
【図１０】
0004070471.tif 000013
【図１１】
0004070471.tif 000014
【図１２】
0004070471.tif 000015
【図１３】
0004070471.tif 000016
【図１４】
0004070471.tif 000017
【図１５】
0004070471.tif 000018
【図１６】
0004070471.tif 000019
【図１７】
0004070471.tif 000020
【図１８】
0004070471.tif 000021
【図１９】
0004070471.tif 000022