(57)【特許請求の範囲】
【請求項１】
符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段と、
上記動きベクトル探索手段による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より１つ前の時点の原画像がコマ落とし対象のピクチャである場合、上記動きベクトル探索手段により探索された１つ前の時点の動きベクトルを用いて、上記動きベクトル探索手段により探索された現時点の動きベクトルを補正する動きベクトル補正手段とを備え、
上記予測画像生成手段が動き補償予測処理を実施して予測画像を生成する場合、上記動きベクトル補正手段により補正された動きベクトルを用いて、予測画像を生成する
ことを特徴とする画像符号化装置。
【請求項２】
上記動きベクトル補正手段は、現時点より複数前の時点の原画像から１つ前の時点の原画像まで連続してコマ落とし対象のピクチャである場合、複数前の時点から１つ前の時点の動きベクトルを累積し、上記動きベクトルの累積結果を現時点の動きベクトルに加算することで、現時点の動きベクトルを補正することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え、
上記ベクトル分布算出手段は、上記動きベクトル探索手段により探索された動きベクトルの分布として、ベクトル値による度数分布を算出し、
上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布から動きベクトルの分布の偏り状況を認識し、上記動きベクトルの分布に偏りがあり、その偏りの中心点が特定の範囲の外側である場合、または、上記動きベクトルの分布に偏りがない場合、コマ落としを行うべきであると判定する
ことを特徴とする画像符号化装置。
【請求項４】
上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布における動きベクトルの分散値又は一次ノルム値が所定の閾値より小さい場合、上記動きベクトルの分布に偏りがあると判断することを特徴とする請求項３記載の画像符号化装置。
【請求項５】
上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布における動きベクトルの本数の最大値が所定の閾値より大きい場合、上記動きベクトルの分布に偏りがあると判断することを特徴とする請求項３記載の画像符号化装置。
【請求項６】
上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布を構成する動きベクトルの平均値又は中央値から偏りの中心点を求めることを特徴とする請求項３記載の画像符号化装置。
【請求項７】
上記ベクトル分布算出手段は、上記動きベクトル探索手段により探索された動きベクトルの水平成分及び垂直成分の分布として、水平成分及び垂直成分の度数分布を算出し、
上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布から動きベクトルの水平成分及び垂直成分の分布の偏り状況を認識し、水平成分及び垂直成分の分布の偏り状況に基づいてピクチャのコマ落としを行うべきであるか否かを判定する
ことを特徴とする請求項１又は請求項２記載の画像符号化装置。
【請求項８】
符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え、
上記フレームレート制御手段は、上記可変長符号化手段により生成された符号化データが出力される前に一時的に蓄積される送信バッファのバッファ残量を監視し、上記バッファ残量が増加すれば、上記可変長符号化手段における可変長符号化のフレームレートを下げる一方、上記バッファ残量が減少すれば、上記可変長符号化手段における可変長符号化のフレームレートを上げる
ことを特徴とする画像符号化装置。
【請求項９】
上記可変長符号化手段は、上記フレームレート制御手段からピクチャのコマ落とし指示が出力された場合、コマ落とし対象のピクチャに係る符号化データを破棄することを特徴とする請求項１から請求項８のうちのいずれか１項記載の画像符号化装置。
【請求項１０】
上記可変長符号化手段は、上記フレームレート制御手段からピクチャのコマ落とし指示が出力された場合、圧縮後の差分画像を示す直交変換係数を０に置換して、０の直交変換係数を可変長符号化することを特徴とする請求項１から請求項９のうちのいずれか１項記載の画像符号化装置。
【請求項１１】
符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え、
上記動きベクトル探索手段は、ピクチャ内の代表点の動きベクトルを探索する１次探索処理部と、ピクチャ内の全ての動きベクトルを探索する２次探索処理部とから構成されており、上記１次探索処理部については、上記可変長符号化手段により符号化データが生成される前に動きベクトルを探索する
ことを特徴とする画像符号化装置。
【請求項１２】
上記２次探索処理部は、現時点の原画像と上記可変長符号化手段により圧縮された差分画像が復号された局部復号画像との間で動き探索処理を実施して動きベクトルを探索することを特徴とする請求項１１記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、監視カメラやビデオカメラ等により撮像された動画像を、インターネット、電話回線や衛星回線などの通信路で効率良く伝送したり、光ディスクや半導体メモリなどの記録媒体に効率良く記録したりするために、動画像のデータサイズを圧縮する画像符号化装置に関するものである。
【背景技術】
【０００２】
動画像の圧縮符号化方式として、Ｈ．２６４やＭＰＥＧ−２などの国際標準方式が存在する。
これらの圧縮符号化方式では、動画像に含まれる画素データのピクチャ内での空間的な相関やピクチャ間での時間的な相関を利用してデータサイズを圧縮する手法が用いられている。
また、動画像の画像信号を複数の周波数成分に区分して、各周波数成分に重み付けを行い、歪みが発生しても人が感知し難い高周波数成分を優先的に削減し、低周波数成分を極力劣化させないようにすることで、動画像を低ビットレートに圧縮した場合でも高画質を維持できるような工夫がなされている。
【０００３】
一方、動画像をインターネット、電話回線や衛星回線などの通信路で伝送する場合や、記録媒体に保存する場合には、動画像の伝送ビットレートを通信帯域、記録媒体及びその周辺デバイスのスループット以下に低下させる必要がある。
そのため、伝送ビットレートに合わせて動画像を圧縮した結果、圧縮による画質劣化が人の感知できるレベルに達するケースも多い。一般に、圧縮による画質劣化は伝送ビットレートを下げるほど顕著になる。
【０００４】
ただし、動画像の圧縮に伴う画質劣化の大きさは動画像のコンテンツによって異なるものであり、圧縮の条件によっても変化する。
例えば、フレームレート（単位時間当りの動画像のコマ数）を維持して、量子化の精度が粗い符号化を行う場合、滑らかな動きを維持することができるが、画像のボケやブロックノイズが発生するなどコンテンツの精細感が失われる。
一方、量子化の精度を維持して、フレームレートを落とすことでも伝送ビットレートを低減することができるが、この場合、コンテンツの精細感は維持することができるが、動きの滑らかさが損なわれ、符号化画像の再生時に動きがギクシャクしている違和感のある見え方となる。
【０００５】
精細感を維持する方が画質として有利であるのか、動きの滑らかさを維持する方が有利であるのかはコンテンツによって異なる。
例えば、動きの少ないコンテンツでは、精細感を維持する方が画像の見栄えが良いケースが多く、動きの多いコンテンツでは、精細感よりも動きの滑らかさが画質に影響することが多い。
以上のように、動画像を低ビットレートに圧縮する際には、精細感と動きの滑らかさの間でトレードオフの関係が生じるケースがあるが、そのどちらを優先するかをコンテンツの動き量に応じて切り替えることで、主観画質を高く保ったまま動画像を圧縮することが可能である。
【０００６】
以下の特許文献１には、動きベクトルや輝度値などの統計的特徴量に基づいてフレームレート及び量子化幅を決定しながら、動画像を符号化する画像符号化装置が開示されている。
ただし、この画像符号化装置では、動きベクトル等の画像特徴量を算出する目的で１回目の符号化を実施してから、その画像特徴量を用いて２回目の符号化を実施する２パスの処理構成となっている。
この２パスの処理構成を実現するには、２つの符号化器を搭載するか、あるいは、１つの符号化器で同じ画像を複数回符号化する仕組みが必要になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−２４５３０３号公報（段落番号［００１０］から［００１３］、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の画像符号化装置は以上のように構成されているので、２つの符号化器を搭載する場合、装置規模が増大して部品コストが嵩み、１つの符号化器で同じ画像を複数回符号化する場合、符号化に要する処理時間が２倍になり、処理のリアルタイム性が損なわれるなどの課題があった。
【０００９】
この発明は上記のような課題を解決するためになされたもので、２つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる画像符号化装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る画像符号化装置は、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段と、動きベクトル探索手段による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より１つ前の時点の原画像がコマ落とし対象のピクチャである場合、動きベクトル探索手段により探索された１つ前の時点の動きベクトルを用いて、動きベクトル探索手段により探索された現時点の動きベクトルを補正する動きベクトル補正手段とを設け、予測画像生成手段が動き補償予測処理を実施して予測画像を生成する場合、動きベクトル補正手段により補正された動きベクトルを用いて、予測画像を生成するようにしたものである。
【発明の効果】
【００１１】
この発明によれば、上記のように構成したので、２つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる効果がある。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施の形態１による画像符号化装置を示す構成図である。
【図２】この発明の実施の形態１による画像符号化装置の動きベクトル補正部５を示す構成図である。
【図３】動きベクトルの探索処理を示す説明図である。
【図４】フレームレートの制御例を示す説明図である。
【図５】動きベクトルの分布とフレームレートの関係が連続的である例を示す説明図である。
【図６】動きベクトル補正部５による動きベクトルの補正例を示す説明図である。
【図７】バッファ残量とフレームレート補正の関係を示す説明図である。
【図８】可変長符号化部１９により生成されたビットストリームの復号処理と符号化処理での参照ピクチャの相違を示す説明図である。
【図９】この発明の実施の形態２による画像符号化装置の原画ピクチャ間動きベクトル算出部２を示す構成図である。
【図１０】１次動きベクトル算出部４１及び２次動きベクトル算出部４３の処理内容を示す説明図である。
【図１１】この発明の実施の形態３による画像符号化装置を示す構成図である。
【図１２】この発明の実施の形態３による画像符号化装置の原画ピクチャ間動きベクトル算出部５０を示す構成図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１はこの発明の実施の形態１による画像符号化装置を示す構成図である。
図１において、フレームメモリ１は符号化対象の動画像（原画像）をピクチャ単位で格納し、所定の符号化条件に応じてピクチャの並べ替え処理を実施して、マクロブロック単位（例えば、１６×１６画素単位）の画像データを出力する。
ただし、この実施の形態１では、説明の簡単化のため、ピクチャの並べ替え処理を実施しない符号化条件で符号化する例を説明する。
【００１４】
原画ピクチャ間動きベクトル算出部２はフレームメモリ１から符号化対象のマクロブロック単位の画像データ（現時点の原画像を示す画像データ）と、参照ピクチャに相当するマクロブロック単位の画像データ（現時点以前の原画像を示す画像データ）とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。
なお、原画ピクチャ間動きベクトル算出部２は動きベクトル探索手段を構成している。
【００１５】
ベクトル分布算出部３は原画ピクチャ間動きベクトル算出部２により探索された動きベクトルの分布を算出する処理を実施する。
即ち、ベクトル分布算出部３は原画ピクチャ間動きベクトル算出部２により探索された動きベクトルをピクチャやＧＯＰの単位、あるいはピクチャを複数の小画面に細分化した単位で集計することで、動きベクトル値の区分に基づく度数分布（ヒストグラム）を算出する処理を実施する。
ただし、度数分布は、例えば、動きベクトルの値を一定範囲毎に区切り、各範囲に含まれる動きベクトルがピクチャ内又はＧＯＰ内で、何本生成されたかをカウントしたものである。度数分布は、動きベクトルの水平成分と垂直成分毎に算出することが望ましい。
なお、ベクトル分布算出部３はベクトル分布算出手段を構成している。
【００１６】
フレームレート制御部４はベクトル分布算出部３により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を０ベクトル予測強制部９、０係数置換部１３及び符号化データ消去部２０に出力して、可変長符号化のフレームレートを下げる処理を実施する。
また、フレームレート制御部４は利用可能な１以上の符号化モード（１以上のイントラ符号化モード、１以上のインター符号化モード）の中から、符号化対象のマクロブロックに適する符号化モードを選択する処理を実施する。
また、フレームレート制御部４は後述する差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロックサイズを決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを決定し、その量子化パラメータを量子化部１２及び逆量子化部１４に出力し、その変換ブロックサイズを直交変換部１１及び逆直交変換部１５に出力し、そのイントラ予測パラメータをイントラ予測部７及び可変長符号化部１９に出力し、そのインター予測パラメータをインター予測部６及び可変長符号化部１９に出力する処理を実施する（これらの出力については、図面上では省略している）。
なお、フレームレート制御部４はフレームレート制御手段を構成している。
【００１７】
動きベクトル補正部５は原画ピクチャ間動きベクトル算出部２により探索された動きベクトルを補正する処理を実施する。
即ち、動きベクトル補正部５は、原画ピクチャ間動きベクトル算出部２による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より１つ前の時点の原画像がコマ落とし対象のピクチャである場合、原画ピクチャ間動きベクトル算出部２により探索された１つ前の時点の動きベクトルを用いて、原画ピクチャ間動きベクトル算出部２により探索された現時点の動きベクトルを補正する処理を実施する。
ただし、現時点より１つ前の時点の原画像がコマ落とし対象のピクチャでない場合、原画ピクチャ間動きベクトル算出部２により探索された現時点の動きベクトルを補正せずに、その動きベクトルをインター予測部６に出力する。
なお、動きベクトル補正部５は動きベクトル補正手段を構成している。
【００１８】
インター予測部６はフレームメモリ１８により格納されている１フレーム以上の参照画像と動きベクトル補正部５から出力された動きベクトルを用いて、フレームレート制御部４から出力されたインター予測パラメータに基づいて、符号化対象のマクロブロックに対する動き補償予測処理を実施することで予測画像を生成する処理を実施する。
イントラ予測部７はフレーム内の符号化済みの画像信号を参照しながら、フレームレート制御部４から出力されたイントラ予測パラメータにしたがって、フレームメモリ１から出力されたマクロブロックに対するフレーム内予測処理を実施することで予測画像を生成する処理を実施する。
【００１９】
切替スイッチ８はフレームレート制御部４により選択された符号化モードがイントラ符号化モードであれば、イントラ予測部７により生成された予測画像を０ベクトル予測強制部９に出力し、フレームレート制御部４により選択された符号化モードがインター符号化モードであれば、インター予測部６により生成された予測画像を０ベクトル予測強制部９に出力する処理を実施する。
なお、インター予測部６、イントラ予測部７及び切替スイッチ８から予測画像生成手段が構成されている。
【００２０】
０ベクトル予測強制部９はフレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、切替スイッチ８から出力された予測画像をそのまま減算部１０及び加算部１６に出力するが、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックの符号化モードをインター符号化モードとして、当該ピクチャ内の全てのマクロブロックの動き補償予測処理に用いる動きベクトルを０ベクトルに置換し、その０ベクトルを用いて、当該マクロブロックに対する動き補償予測処理を実施することで予測画像を生成し、その予測画像を減算部１０及び加算部１６に出力する処理を実施する。
【００２１】
減算部１０はフレームメモリ１から出力されたマクロブロックと０ベクトル予測強制部９から出力された予測画像の差分を求めることで、差分画像（＝マクロブロック−予測画像）を生成する処理を実施する。
直交変換部１１は減算部１０により生成された差分画像をフレームレート制御部４により決定された変換ブロックサイズのブロック（例えば、４×４画素または８×８画素単位のブロック）に細分化し、各ブロックに対してＤＣＴ（離散コサイン変換）などの直交変換処理を実施して、その変換結果である直交変換係数を出力する処理を実施する。
【００２２】
量子化部１２はフレームレート制御部４から出力された量子化パラメータを用いて、直交変換部１１から出力された直交変換係数を量子化し、量子化後の直交変換係数を差分画像の圧縮データとして出力する処理を実施する。
０係数置換部１３はフレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、量子化部１２から出力された量子化後の直交変換係数をそのまま可変長符号化部１９及び逆量子化部１４に出力するが、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る直交変換係数を０に置換し、０の直交変換係数を可変長符号化部１９及び逆量子化部１４に出力する処理を実施する。
【００２３】
逆量子化部１４はフレームレート制御部４から出力された量子化パラメータを用いて、０係数置換部１３から出力された直交変換係数を逆量子化して、その直交変換係数を逆直交変換部１５に出力する処理を実施する。
逆直交変換部１５はフレームレート制御部４により決定された変換ブロックサイズ単位で、逆量子化部１４から出力された直交変換係数の逆ＤＣＴ（逆離散コサイン変換）を実施することで、減算部１０により生成された差分画像に相当するマクロブロック単位の画像（局部復号差分画像）を出力する処理を実施する。
【００２４】
加算部１６は逆直交変換部１５から出力された局部復号差分画像と０ベクトル予測強制部９から出力された予測画像を加算することで、フレームメモリ１から出力されたマクロブロックに相当する局部復号画像を生成する処理を実施する。
ループ内フィルタ部１７は加算部１６により生成された局部復号画像に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像を参照画像としてフレームメモリ１８に出力する処理を実施する。
フレームメモリ１８はインター予測部６により次回の動き補償予測処理で用いられる参照画像として、ループ内フィルタ部１７によるフィルタリング処理後の局部復号画像を格納するＲＡＭなどの記録媒体である。
【００２５】
可変長符号化部１９は０係数置換部１３から出力された圧縮データ（量子化後の直交変換係数、または、０の直交変換係数）と、各種の情報（例えば、フレームレート制御部４により決定された量子化パラメータ、変換ブロックサイズ、符号化モード、イントラ予測パラメータ及びインター予測パラメータ、動きベクトル補正部５から出力された動きベクトルなど）とを可変長符号化して、その圧縮データや各種の情報が多重化されているビットストリーム（符号化データ）を生成する処理を実施する。
【００２６】
符号化データ消去部２０はフレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、可変長符号化部１９により生成されたビットストリームをそのまま送信バッファ２１に格納するが、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る符号化データを消去して、その符号化データを送信バッファ２１に格納しないようにする。
なお、減算部１０、直交変換部１１、量子化部１２、０係数置換部１３、可変長符号化部１９及び符号化データ消去部２０から可変長符号化手段が構成されている。
送信バッファ２１は可変長符号化部１９により生成されたビットストリームが出力される前に、そのビットストリームを一時的に蓄積するメモリである。
【００２７】
図１の例では、画像符号化装置の構成要素である原画ピクチャ間動きベクトル算出部２、ベクトル分布算出部３、フレームレート制御部４、動きベクトル補正部５、インター予測部６、イントラ予測部７、切替スイッチ８、０ベクトル予測強制部９、減算部１０、直交変換部１１、量子化部１２、０係数置換部１３、逆量子化部１４、逆直交変換部１５、加算部１６、ループ内フィルタ部１７、可変長符号化部１９及び符号化データ消去部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、ワンチップマイコン、あるいは、エンコーダなど）で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、原画ピクチャ間動きベクトル算出部２、ベクトル分布算出部３、フレームレート制御部４、動きベクトル補正部５、インター予測部６、イントラ予測部７、切替スイッチ８、０ベクトル予測強制部９、減算部１０、直交変換部１１、量子化部１２、０係数置換部１３、逆量子化部１４、逆直交変換部１５、加算部１６、ループ内フィルタ部１７、可変長符号化部１９及び符号化データ消去部２０の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００２８】
図２はこの発明の実施の形態１による画像符号化装置の動きベクトル補正部５を示す構成図である。
図２において、マクロブロックアドレス管理部３１は原画ピクチャ間動きベクトル算出部２により探索された動きベクトルの画面ポジション（ｍ，ｎ）を把握し、その画面ポジション（ｍ，ｎ）に対応する補正ベクトルが格納されている補正ベクトル格納部３２上のメモリアドレスを指定する処理を実施する。
補正ベクトル格納部３２は動きベクトルの画面ポジション（ｍ，ｎ）毎に、補正ベクトルを格納しているメモリである。
【００２９】
ベクトル加算部３３は原画ピクチャ間動きベクトル算出部２により探索された画面ポジション（ｍ，ｎ）の動きベクトルに対して、補正ベクトル格納部３２により格納されている画面ポジション（ｍ，ｎ）の補正ベクトルを加算することで、その動きベクトルを補正する処理を実施する。
セレクタ３４はフレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、画面ポジション（ｍ，ｎ）の新たな補正ベクトルとして、０ベクトルを補正ベクトル格納部３２に格納し、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、画面ポジション（ｍ，ｎ）の新たな補正ベクトルとして、ベクトル加算部３３により補正された動きベクトルを補正ベクトル格納部３２に格納する処理を実施する。
【００３０】
次に動作について説明する。
ただし、画像符号化装置の構成要素であるフレームメモリ１、インター予測部６、イントラ予測部７、切替スイッチ８、減算部１０、直交変換部１１、量子化部１２、逆量子化部１４、逆直交変換部１５、加算部１６、ループ内フィルタ部１７、可変長符号化部１９及び送信バッファ２１は、例えば、Ｈ．２６４に規定されている処理内容を行うものであるため、詳細な処理内容は省略する。
【００３１】
フレームメモリ１は、符号化対象の動画像（原画像）をピクチャ単位で格納し、所定の符号化条件に応じてピクチャの並べ替え処理を実施して、マクロブロックと呼ばれる１６×１６画素単位の画像データを出力する。
ただし、この実施の形態１では、説明の簡単化のため、ピクチャの並べ替え処理を実施しない符号化条件で符号化する例を説明する。
【００３２】
原画ピクチャ間動きベクトル算出部２は、後述するフレームレートの制御や、動き補償予測処理に用いる動きベクトルを探索する。
即ち、原画ピクチャ間動きベクトル算出部２は、フレームメモリ１から符号化対象のマクロブロック単位の画像データ（現時点の原画像を示す画像データ）と、参照ピクチャに相当するマクロブロック単位の画像データ（現時点以前の原画像を示す画像データ）とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。
【００３３】
多くの一般的な画像符号化装置では、フレームメモリ１８に格納されている局部復号画像を用いて、動きベクトルを探索するが、この実施の形態１では、その局部復号画像の代わりに、その局部復号画像と同一フレームに当る原画像を用いて、動きベクトルを探索することを特徴の１つとしている。
原画像を用いる理由は、後述するピクチャのコマ落とし処理の影響を受けず、常に固定の予測距離で動きベクトルを探索することができるようにするためである。
ここで、図３は動きベクトルの探索処理を示す説明図である。
局部復号画像を用いて、動きベクトルを探索する場合、コマ落としの対象となるピクチャは、参照ピクチャになり得ないため、図３（ａ）に示すように、コマ落とし対象のピクチャよりも過去に符号化されたコマ落とし対象でないピクチャを参照する必要がある。
このため、コマ落とし対象のピクチャが直前に何枚存在するかで参照ピクチャとの予測距離が広がり、その結果、探索される動きベクトルも変化する。
【００３４】
画像符号化装置において、通信路での効率的な伝送や、記録媒体に対する効率的な記録を実現する目的を達成する方法として、動きベクトルにしたがって、可変長符号化部１９における可変長符号化のフレームレートを制御する方法が考えられるが、上記のように、参照ピクチャとの予測距離が不定で、探索される動きベクトルが変化すると、フレームレートの制御が不安定になる。
この実施の形態１では、参照ピクチャとの予測距離を固定にして、安定的なフレームレートの制御を行うことができるようにするため、図３（ｂ）に示すように、原画像（原画像は、復号画像がピクチャのコマ落としの対象になっても、コマ落としが行われる訳ではないので、ピクチャのコマ落とし処理の影響を受けない）を用いて、動きベクトルを探索するようにしている。
【００３５】
なお、原画ピクチャ間動きベクトル算出部２で扱うマクロブロック当りの動きベクトルの本数は、画像符号化規格や画像符号化装置の運用目的に応じて決定するものとする。
例えば、Ｈ．２６４の場合、マクロブロックを最小で４×４画素の予測ブロックに細分化し、各予測ブロックにつき１本の動きベクトルを設定することが可能である。その場合、マクロブロック（１６×１６画素）につき最大１６本の動きベクトルを生成する必要がある。
ただし、予測ブロックをどこまで細分化するかは、運用条件やエンコーダ開発者の裁量によって決めればよく、例えば、予測ブロックの最小単位を８×８画素、１６×８画素、８×１６画素、あるいは、１６×１６画素というように、４×４画素よりも大きなサイズに制限しても構わない。
【００３６】
ベクトル分布算出部３は、原画ピクチャ間動きベクトル算出部２が動きベクトルを探索すると、その動きベクトルの分布を算出する。
即ち、ベクトル分布算出部３は、原画ピクチャ間動きベクトル算出部２により探索された動きベクトルをピクチャやＧＯＰの単位で集計することで、動きベクトル値の区分に基づく度数分布（ヒストグラム）を算出する。
ただし、度数分布は、例えば、動きベクトルの値を一定範囲毎に区切り、各範囲に含まれる動きベクトルがピクチャ内又はＧＯＰ内で、何本生成されたかをカウントしたものである。度数分布は、動きベクトルの水平成分と垂直成分毎に算出することが望ましい。
【００３７】
フレームレート制御部４は、ベクトル分布算出部３が度数分布を算出すると、その度数分布から動きベクトルの分布の偏り状況を認識し、その分布の偏り状況に基づいてピクチャのコマ落としを行うべきであるか否かを判定する。コマ落としの判定は、ピクチャ毎に行う。
フレームレート制御部４は、コマ落としを行うべきであると判定すると、ピクチャのコマ落とし指示を０ベクトル予測強制部９、０係数置換部１３及び符号化データ消去部２０に出力して、可変長符号化のフレームレートが下がるようにする。
例えば、フレームレートが３０ｆｐｓ（Ｆｒａｍｅ  Ｐｅｒ  Ｓｅｃｏｎｄ）の入力画像に対して、２ピクチャに１枚の頻度でコマ落としを行えば、フレームレートが１５ｆｐｓになり、３ピクチャに２枚の頻度でコマ落としを行えば、フレームレートが１０ｆｐｓになり、１５ピクチャに１枚の頻度でコマ落としを行えば、フレームレートが２ｆｐｓになる。
なお、フレームレート制御部４は、符号化対象のマクロブロックに適する符号化モードの選択処理等を実施するが、これらの処理はＨ．２６４のリファレンスソフトウェアなどで開示されている処理内容であるため説明を省略する。
以下、フレームレートの制御例を具体的に説明する。
【００３８】
図４はフレームレートの制御例を示す説明図である。
ケース１：
図４（ａ）のように、ベクトル値がヒストグラムのある部分に偏っており、偏りの中心点がある指定範囲に含まれる場合は高いフレームレートを維持する。
このような分布は、例えば、カメラを一定速度で動かしながら撮像した場合に発生し、一定速度で滑らかに動作するような動画像に対してフレームレートを落とすと、動きがギクシャクして、再生画像に違和感が生じるので、高いフレームレートを維持する。
【００３９】
なお、ヒストグラムにベクトル値の偏りが存在するか否かは、ベクトル値の分散値や一次ノルム値を求め、その分散値や一次ノルム値の大きさを所定の閾値と比較することで判断することができる。分散値や一次ノルム値の大きさが所定の閾値より小さければ、ヒストグラムにベクトル値の偏りが存在すると判断される。
あるいは、ヒストグラムのＹ軸（動きベクトルの本数）の最大値を所定の閾値と比較することで判断することができる。ヒストグラムのＹ軸の最大値が所定の閾値より大きければ、ヒストグラムにベクトル値の偏りが存在すると判断される。
また、偏りの中心点については、ヒストグラムを構成するベクトル値の平均値や中央値（メディアン）によって求められる。
指定範囲については、フレームレートの低下と人間の視覚感度の関係を表す実験データ等から事前に決定した値を用いる。
例えば、動きベクトルの絶対値が３２〜２５６の範囲は、フレームレートに対する視覚特性が高いという実験データに基づき、その範囲では高フレームレートが維持される指定範囲を設定する。
【００４０】
ケース２：
図４（ｂ）のように、ベクトル値がヒストグラムのゼロ座標近くに偏っている場合は、フレームレートを低下させる。
このような分布は、例えば、静止画に近い画像が入力された場合に発生するが、動きが極端に少ない画像では、一般にフレームレートの低下に対する視覚感度が鈍く、積極的にフレームレートを落としても画質への影響が少ないので、フレームレートを低下させる。
【００４１】
ケース３：
図４（ｃ）のように、ベクトル値がヒストグラムの非常に大きな値のエリアに偏っている場合は、ややフレームレートを低下させる。
このような分布は、カメラを非常に高速に動かした場合などに発生する。
人の目が追いつかないくらい高速な動きは着目点とならない場合が多く、そのような動画像に対して高いフレームレートを設定して画質を維持しても、画質に対する印象が向上する可能性が低い。
したがって、この場合、違和感のない程度にフレームレートを落とし、データサイズを抑えた方が有利と判断される。また、人の目が追いつかないような高速な動きに対してフレームレートを低下させることで、ピクチャの１枚１枚に対する見易さを向上させる効果も期待できる。
【００４２】
ケース４：
図４（ｄ）のように、ヒストグラムに偏りがない場合にも、フレームレートを低下させる。
このような分布は、画像にランダムノイズなどが重畳している場合や、画面全体に様々な動きが入り乱れている場合に発生する。
このような画像は視聴者の着目点が定まり難いため、フレームレートに対する視覚感度が低下する傾向がある。
なお、ヒストグラムに偏りがあるか否かの判断は、ケース１と同様に、ベクトル値の分散値や一次ノルム値が所定の閾値以下であるか否か、あるいは、ヒストグラムのＹ軸の最大値が所定の閾値以上であるか否かによって判断することができる。
【００４３】
ケース１〜３を組み合わせると、分布の中心点が指定範囲内、指定範囲未満、指定範囲超の三択によってフレームレートを決定することになり、この場合、３種類のフレームレートを切り替えて符号化することになる。
しかし、実際には、必ずしも三択である必要はなく、指定範囲を複数の区分に細分化し、分布の中心点がどの区分に属するかでフレームレートを定義してもよい。
また、動きベクトルの水平成分と垂直成分に対して、それぞれ個別に指定範囲の区分を設け、水平成分と垂直成分のそれぞれで求めた分布の中心点が、各々どの区分に属するかの組合せでフレームレートを定義してもよい。
【００４４】
ここでは、動きベクトルの分布とフレームレートの関係が離散的である例を示したが、図５に示すように、動きベクトルの分布とフレームレートの関係が連続的であってもよい。
図５の例では、偏りの中心点とフレームレートの関係を二次元グラフの形式で表しているが、例えば、動きベクトルの水平成分と垂直成分のそれぞれの偏りの中心点の組合せに対して、最適なフレームレートを定義する三次元グラフの形式であってもよい。
【００４５】
ピクチャやＧＯＰの単位で算出したヒストグラムを用いた結果、ケース４のように偏りが見られなかったとしても、ピクチャを複数の小画面に細分化し、そのいずれかの小画面でヒストグラムを算出しなおすことで偏りが見られるような場合には、その小画面で求めたヒストグラムを用いてフレームレートを定義しても良い。
【００４６】
動きベクトル補正部５は、原画ピクチャ間動きベクトル算出部２が動きベクトルを探索すると、その動きベクトルを補正する。
即ち、動きベクトル補正部５のマクロブロックアドレス管理部３１は、原画ピクチャ間動きベクトル算出部２が動きベクトルを探索すると、その動きベクトルの画面ポジション（ｍ，ｎ）を把握し、その画面ポジション（ｍ，ｎ）に対応する補正ベクトルが格納されている補正ベクトル格納部３２上のメモリアドレスを指定する。
補正ベクトル格納部３２は、マクロブロックアドレス管理部３１により指定されたアドレスに格納している画面ポジション（ｍ，ｎ）の補正ベクトルをベクトル加算部３３に出力する。
【００４７】
ベクトル加算部３３は、原画ピクチャ間動きベクトル算出部２により探索された画面ポジション（ｍ，ｎ）の動きベクトルに対して、補正ベクトル格納部３２から出力された画面ポジション（ｍ，ｎ）の補正ベクトルを加算することで、その動きベクトルを補正し、補正後の動きベクトルをセレクタ３４及びインター予測部６に出力する。
セレクタ３４は、フレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、画面ポジション（ｍ，ｎ）の新たな補正ベクトルとして、０ベクトルを補正ベクトル格納部３２に格納する。
一方、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、画面ポジション（ｍ，ｎ）の新たな補正ベクトルとして、ベクトル加算部３３から出力された補正後の動きベクトルを補正ベクトル格納部３２に格納する。
【００４８】
ここで、図６は動きベクトル補正部５による動きベクトルの補正例を示す説明図である。
図６では、コマ落とし対象のピクチャが２枚連続した後に、コマ落とし非対象のピクチャの動き補償予測処理に用いられる動きベクトルの補正例を示している。
コマ落とし非対象のピクチャ（ｎ＋２）の動き補償予測処理に用いられる動きベクトルは、ピクチャの入力順において、それよりも前方に位置する全てのコマ落とし対象のピクチャ（ｎ）、（ｎ＋１）における同一画面ポジションの動きベクトルが加算されたものである。
図６の例では、コマ落とし対象のピクチャが２枚であるが、任意の枚数であっても同一の処理を行う。コマ落とし対象のピクチャが０枚や１枚の場合も、同様に扱うことができる。
【００４９】
動きベクトル補正部５による動きベクトルの補正は、コマ落とし非対象のピクチャにおいて、動きベクトルによる予測効果を高めることを目的としている。
この実施の形態１では、上述したとおり、原画ピクチャ間動きベクトル算出部２が、コマ落としの実施状況によらず固定の予測距離で動きベクトルを探索するが（図３（ｂ）を参照）、実際の符号化においては、コマ落とし非対象のピクチャは、それよりも前方のコマ落とし非対象のピクチャとの間（図３（ａ）の例では、ピクチャ１とピクチャ３との間）で動き補償予測処理が実施されて予測画像が生成され、その予測画像と原画像の差分画像が符号化される。
一方、この実施の形態１では、コマ落とし対象のピクチャも含む固定の予測距離のピクチャ間で動きベクトルが生成されるため、図３のピクチャ１とピクチャ３の間では、動きベクトルが直接探索されない。
そこで、ピクチャ１とピクチャ２の間で探索された動きベクトルと、ピクチャ２とピクチャ３の間で探索された動きベクトルを加算することで、ピクチャ１とピクチャ３の間の動きベクトルを生成するようにしている。
【００５０】
インター予測部６は、フレームレート制御部４から出力された符号化モードがインター符号化モードである場合、フレームメモリ１８により格納されている１フレーム以上の参照画像と動きベクトル補正部５のベクトル加算部３３から出力された動きベクトルを用いて、フレームレート制御部４から出力されたインター予測パラメータに基づいて、符号化対象のマクロブロックに対する動き補償予測処理を実施することで予測画像を生成する。
イントラ予測部７は、フレームレート制御部４から出力された符号化モードがイントラ符号化モードである場合、フレーム内の符号化済みの画像信号を参照しながら、フレームレート制御部４から出力されたイントラ予測パラメータにしたがって、フレームメモリ１から出力されたマクロブロックに対するフレーム内予測処理を実施することで予測画像を生成する。
【００５１】
切替スイッチ８は、フレームレート制御部４により選択された符号化モードがイントラ符号化モードであれば、イントラ予測部７により生成された予測画像を０ベクトル予測強制部９に出力し、フレームレート制御部４により選択された符号化モードがインター符号化モードであれば、インター予測部６により生成された予測画像を０ベクトル予測強制部９に出力する。
【００５２】
０ベクトル予測強制部９は、フレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、切替スイッチ８から出力された予測画像をそのまま減算部１０及び加算部１６に出力する。
一方、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックの符号化モードをインター符号化モードとして、当該ピクチャ内の全てのマクロブロックの動き補償予測処理に用いる動きベクトルを０ベクトルに置換し、その０ベクトルを用いて、当該マクロブロックに対する動き補償予測処理を実施することで予測画像を生成する。
そして、その予測画像を減算部１０及び加算部１６に出力する。
【００５３】
減算部１０は、フレームメモリ１から出力されたマクロブロックと０ベクトル予測強制部９から出力された予測画像の差分を求めることで、差分画像（＝マクロブロック−予測画像）を生成する。
直交変換部１１は、減算部１０が差分画像を生成すると、その差分画像をフレームレート制御部４により決定された変換ブロックサイズのブロック（例えば、４×４画素または８×８画素単位のブロック）に細分化し、各ブロックに対してＤＣＴなどの直交変換処理を実施して、その変換結果である直交変換係数を量子化部１２に出力する。
【００５４】
量子化部１２は、直交変換部１１から直交変換係数を受けると、フレームレート制御部４から出力された量子化パラメータを用いて、その直交変換係数を量子化し、量子化後の直交変換係数を差分画像の圧縮データとして０係数置換部１３に出力する。
０係数置換部１３は、フレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、量子化部１２から出力された量子化後の直交変換係数をそのまま可変長符号化部１９及び逆量子化部１４に出力する。
一方、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る直交変換係数を０に置換し、０の直交変換係数を可変長符号化部１９及び逆量子化部１４に出力する。
【００５５】
逆量子化部１４は、０係数置換部１３から直交変換係数を受けると、フレームレート制御部４から出力された量子化パラメータを用いて、その直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換部１５に出力する。
逆直交変換部１５は、逆量子化部１４から逆量子化後の直交変換係数を受けると、フレームレート制御部４により決定された変換ブロックサイズ単位で、逆量子化後の直交変換係数の逆ＤＣＴを実施することで、減算部１０により生成された差分画像に相当するマクロブロック単位の画像（局部復号差分画像）を加算部１６に出力する。
【００５６】
加算部１６は、逆直交変換部１５から出力された局部復号差分画像と０ベクトル予測強制部９から出力された予測画像を加算することで、フレームメモリ１から出力されたマクロブロックに相当する局部復号画像を生成する。
ループ内フィルタ部１７は、加算部１６が局部復号画像を生成すると、その局部復号画像に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像を参照画像としてフレームメモリ１８に格納する。
【００５７】
可変長符号化部１９は、０係数置換部１３から圧縮データ（量子化後の直交変換係数、または、０の直交変換係数）を受けると、その圧縮データと、各種の情報（例えば、フレームレート制御部４により決定された量子化パラメータ、変換ブロックサイズ、符号化モード、イントラ予測パラメータ及びインター予測パラメータ、動きベクトル補正部５から出力された動きベクトルなど）とを可変長符号化して、その圧縮データや各種の情報が多重化されているビットストリーム（符号化データ）を生成する。
【００５８】
符号化データ消去部２０は、フレームレート制御部４からピクチャのコマ落とし指示が出力されていなければ、可変長符号化部１９により生成されたビットストリームをそのまま送信バッファ２１に格納する。
一方、フレームレート制御部４からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る符号化データを消去して、その符号化データを送信バッファ２１に格納しないようにする。
【００５９】
送信バッファ２１は、可変長符号化部１９により生成されたビットストリームが出力される前に、そのビットストリームを一時的に蓄積してから出力する。
フレームレート制御部４は、上記の通り、動きベクトルの分布に応じて可変長符号化のフレームレートを決定しているが、送信バッファ２１のバッファ残量を監視し、そのバッファ残量に応じてフレームレートを補正することで、より安定的な圧縮性能を実現するようにしてもよい。
ここで、図７はバッファ残量とフレームレート補正の関係を示す説明図である。
【００６０】
図７の例では、送信バッファ２１のバッファ残量が中程度であれば、フレームレートの補正を行わないが、そのバッファ残量が多くなるにしたがって、段階的にフレームレートを下げていくように補正する。
逆にバッファ残量が少なくなるにしたがって、段階的にフレームレートを上げていくように補正する。
これにより、送信バッファ２１のオーバーフローや、画像符号化装置から出力される符号量が所望のビットレートを下回って、無駄に画質が低下することを防ぐことができる。
【００６１】
一般に、高いフレームレートを維持して符号化する場合には、画像符号化装置から出力される符号量が増加する傾向があるが、送信バッファ２１の容量を大きく確保しておき、一時的に指定されたビットレートよりも大きな符号量が発生しても、送信バッファ２１がオーバーフローすることなく、符号化を継続できることが望ましい。
例えば、指定されたビットレートの２倍の符号量が数秒〜数十秒の期間継続して発生しても、送信バッファ２１に蓄えることで吸収し、その後、フレームレートを低下させたときに、バッファ残量を定常状態に戻すことができれば、数秒〜数十秒といった長時間にわたって画質を均一化することができる。
【００６２】
この実施の形態１では、０ベクトル予測強制部９と０係数置換部１３の処理により、コマ落とし対象のピクチャの符号化によって生成される局部復号画像は、フレームメモリ１８に蓄積されている当該ピクチャの予測参照ピクチャと完全に一致する。
これにより、コマ落とし実施後の画像符号化の状態と、復号器が当該コマ落としを含むビットストリームを復号した後の状態とで、ミスマッチが発生することを防ぐことができる。
ここで、図８は可変長符号化部１９により生成されたビットストリームの復号処理と符号化処理での参照ピクチャの相違を示す説明図である。
【００６３】
復号処理では、コマ落とし対象のピクチャＰ４は、ビットストリーム上に不在のため、ピクチャＰ５の復号において、ピクチャＰ３が参照ピクチャとして使用される。
一方、符号化処理では、コマ落とし対象のピクチャＰ４も一旦は符号化されるため、フレームメモリ１８には参照ピクチャとしてピクチャＰ４の局部復号画像が蓄積される。
ただし、ピクチャＰ３とピクチャＰ４の局部復号画像は完全に一致するため、ピクチャＰ５の符号化において、ピクチャＰ３の代わりにピクチャＰ４を参照ピクチャとして使用しても状態は同じになる。
【００６４】
なお、コマ落とし対象のピクチャの局部復号画像に対して、フレームメモリ１８への書込みを禁止する仕組みを設けることによっても同様の効果を得ることができる。
その場合、０ベクトル予測強制部９と０係数置換部１３は不要となる。０ベクトル予測強制部９と０係数置換部１３を設けるか、フレームメモリ１８に書込み禁止の仕組みを設けるかは、実装のし易さなどの基準で判断すればよい。
【００６５】
以上で明らかなように、この実施の形態１によれば、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する原画ピクチャ間動きベクトル算出部２と、原画ピクチャ間動きベクトル算出部２により探索された動きベクトルの分布を算出するベクトル分布算出部３とを設け、フレームレート制御部４が、ベクトル分布算出部３により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を出力して、可変長符号化のフレームレートを下げるように構成したので、２つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる効果を奏する。
【００６６】
また、この実施の形態１によれば、動きベクトル補正部５が、原画ピクチャ間動きベクトル算出部２による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より１つ前の時点の原画像がコマ落とし対象のピクチャである場合、原画ピクチャ間動きベクトル算出部２により探索された１つ前の時点の動きベクトルを用いて、原画ピクチャ間動きベクトル算出部２により探索された現時点の動きベクトルを補正するように構成したので、高い圧縮性能を維持しながら、動きベクトルを用いた高精度のフレームレート制御を実現することが可能となり、低ビットレートに圧縮した場合でも高画質な符号化画像を生成することができる効果を奏する。
【００６７】
実施の形態２．
図９はこの発明の実施の形態２による画像符号化装置の原画ピクチャ間動きベクトル算出部２を示す構成図である。
図９の例では、原画ピクチャ間動きベクトル算出部２が１次動きベクトル算出部４１と２次動きベクトル算出部４３を実装しており、動きベクトルの探索が１次処理と２次処理で行われる２段構成になっている。
１次動きベクトル算出部４１はピクチャ内の代表点の動きベクトルを探索する１次探索処理部を構成している。
メモリ４２は１次動きベクトル算出部４１により探索された代表点の動きベクトルを格納する記録媒体である。
２次動きベクトル算出部４３はピクチャ内の全ての動きベクトルを探索する２次探索処理部を構成している。
【００６８】
次に動作について説明する。
１次動きベクトル算出部４１は、現在の符号化ピクチャと、その参照ピクチャの２つの原画データを入力し、ピクチャ内のＮ個の代表点における動きベクトルを算出する。Ｎは画像符号化装置毎に定める任意の整数である。
１次動きベクトル算出部４１では、定義している全ての代表点における動きベクトルを各ピクチャの符号化が行われる前に探索し、当該ベクトル群をメモリ４２に格納しておくとともに、ベクトル分布の集計対象とする。
【００６９】
２次動きベクトル算出部４３は、各ピクチャの符号化処理に合わせたタイミングで、予測ブロック単位で動きベクトルを探索し、その動きベクトルがインター予測部６の動き補償予測処理で使用される。
２次動きベクトル算出部４３で探索された動きベクトルについてもベクトル分布の集計対象としてもよいが、後述のとおり、それらは動きベクトルが探索されたピクチャでのコマ落とし判定には使用できないというタイミング的な制約が課される。
図１０は１次動きベクトル算出部４１及び２次動きベクトル算出部４３の処理内容を示す説明図である。
【００７０】
図１０（ａ）の例では、１次動きベクトル算出部４１が、画面内の限定個（図では、９個）の代表点の予測ブロックのみを対象とし、２次動きベクトル算出部４３が、代表点の予測ブロック以外の予測ブロックを対象とする。
インター予測部６の動き補償予測処理において、代表点の予測ブロックの動きベクトルはメモリ４２に格納されたものを使用し、代表点の予測ブロック以外の予測ブロックの動きベクトルは２次動きベクトル算出部４３により探索されたものを使用する。
【００７１】
図１０（ｂ）は、階層型探索の構成例を示しており、１次動きベクトル算出部４１が例えば３２×３２画素など予測ブロックよりも大きな単位で動きベクトルを探索し、２次動きベクトル算出部４３が予測ブロック単位の細やかな動きベクトルを探索している。
即ち、１次動きベクトル算出部４１では、比較的広範囲で動きベクトルを探索し、２次動きベクトル算出部４３では、１次動きベクトル算出部４１で探索された動きベクトルの周囲を中心に狭範囲で動きベクトルを探索している。
【００７２】
上記実施の形態１では、符号化の過程で探索された動きベクトルを分布の集計対象とするため、各ピクチャの符号化が完了するまで、当該ピクチャの分布情報が得られず、符号化前に、その分布情報を用いて、コマ落とし判定を行うことが困難である。
そのため、コマ落とし判定において、過去のピクチャで集計された分布情報を用いて行うなど処理タイミングのずれが生じることがある。
一方、この実施の形態２では、原画ピクチャ間動きベクトル算出部２が、動きベクトルの探索を１次処理と２次処理で行う２段構成としており、１次動きベクトル算出部４１が各ピクチャの符号化開始前に、１次処理として、代表点の動きベクトルを探索しているので、代表点の動きベクトルを用いて、コマ落とし判定を実施することができる。
代表点の動きベクトルは、個数が限定されており、予測ブロック単位の細やかな動きベクトルとは異なるが、予測ブロック単位のベクトルと同一ピクチャ内の動きベクトルである。
そのため、コマ落とし判定に用いる動きベクトルとして有用であり、精度が高いフレームレートの制御を実現することができる。
なお、代表点の動きベクトルは個数が限定されているため、その動きベクトルの探索処理は、例えば、画像信号のブランキング期間に実行するなど、符号化処理の合間に行えばよい。
【００７３】
この実施の形態２の場合、各ピクチャの符号化前に動きベクトルを探索する点で、特許文献１に開示されている２パス構成の画像符号化装置と類似の構成となるが、１パス目と２パス目を合わせて、動きベクトルの探索処理を２回実行する一般的な２パス構成とは異なり、本来１回で行うべき動きベクトルの探索処理を２つに分離しただけであるため、動きベクトルの探索に要する処理量は１パス構成の場合と同等になる。
１次動きベクトル算出部４１から２次動きベクトル算出部４３に対する動きベクトル情報を通知するための処理量のオーバーヘッドとメモリが必要となるが、従来の２パス構成と比べて増加分はごく僅かである。
【００７４】
実施の形態３．
図１１はこの発明の実施の形態３による画像符号化装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
原画ピクチャ間動きベクトル算出部５０は図１の原画ピクチャ間動きベクトル算出部２と同様に、フレームメモリ１から符号化対象のマクロブロック単位の画像データ（現時点の原画像を示す画像データ）と、参照ピクチャに相当するマクロブロック単位の画像データ（現時点以前の原画像を示す画像データ）とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。また、現時点の原画像とフレームメモリ１８に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索する。
なお、原画ピクチャ間動きベクトル算出部５０は動きベクトル探索手段を構成している。
【００７５】
図１２はこの発明の実施の形態３による画像符号化装置の原画ピクチャ間動きベクトル算出部５０を示す構成図であり、図において、図９と同一符号は同一または相当部分を示すので説明を省略する。
２次動きベクトル算出部４４は図９の２次動きベクトル算出部４３と同様に、ピクチャ内の全ての動きベクトルを探索する２次探索処理部を構成しているが、２次動きベクトル算出部４４は現時点の原画像とフレームメモリ１８に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索する点で、図９の２次動きベクトル算出部４３と相違している。
【００７６】
次に動作について説明する。
動きベクトルの分布の集計対象は、１次動きベクトル算出部４１により探索された動きベクトルであり、２次動きベクトル算出部４４により探索された動きベクトルは、分布の集計対象外である。
２次動きベクトル算出部４４により探索された動きベクトルは、インター予測部６の動き補償予測処理に用いられるだけである。
このため、２次動きベクトル算出部４４の動きベクトルの探索対象の画像として、現時点以前の原画像を使用する意味がなく、むしろ局部復号画像を用いる方が、圧縮性能の観点で良好な動きベクトルを探索することができる。
【００７７】
そこで、この実施の形態３では、２次動きベクトル算出部４４が、現時点の原画像とフレームメモリ１８に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索するようにしている。
この実施の形態３では、動きベクトル補正部５が補正する動きベクトルは、図１０（ａ）に示される方式で動きベクトルが探索される場合において、１次動きベクトル算出部４１により探索された動きベクトルだけである。
２次動きベクトル算出部４４により探索された動きベクトルは、現時点の原画像と局部復号画像間で動き探索処理が実施されているため、補正が不要である。
【００７８】
以上で明らかなように、この実施の形態３によれば、２次動きベクトル算出部４４が、現時点の原画像とフレームメモリ１８に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索するように構成したので、より良好な圧縮性能を得ることができる効果を奏する。
【００７９】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００８０】
１  フレームメモリ、２，５０  原画ピクチャ間動きベクトル算出部（動きベクトル探索手段）、３  ベクトル分布算出部（ベクトル分布算出手段）、４  フレームレート制御部（フレームレート制御手段）、５  動きベクトル補正部（動きベクトル補正手段）、６  インター予測部（予測画像生成手段）、７  イントラ予測部（予測画像生成手段）、８  切替スイッチ（予測画像生成手段）、９  ０ベクトル予測強制部、１０  減算部（可変長符号化手段）、１１  直交変換部（可変長符号化手段）、１２  量子化部（可変長符号化手段）、１３  ０係数置換部（可変長符号化手段）、１４  逆量子化部、１５  逆直交変換部、１６  加算部、１７  ループ内フィルタ部、１８  フレームメモリ、１９  可変長符号化部（可変長符号化手段）、２０  符号化データ消去部（可変長符号化手段）、２１  送信バッファ、３１  マクロブロックアドレス管理部、３２  補正ベクトル格納部、３３  ベクトル加算部、３４  セレクタ、４１  １次動きベクトル算出部（１次探索処理部）、４２  メモリ、４３，４４  ２次動きベクトル算出部（２次探索処理部）。
【図１】
0005656575.tif 000002
【図２】
0005656575.tif 000003
【図３】
0005656575.tif 000004
【図４】
0005656575.tif 000005
【図５】
0005656575.tif 000006
【図６】
0005656575.tif 000007
【図７】
0005656575.tif 000008
【図８】
0005656575.tif 000009
【図９】
0005656575.tif 000010
【図１０】
0005656575.tif 000011
【図１１】
0005656575.tif 000012
【図１２】
0005656575.tif 000013