(57)【要約】【課題】少ない演算量で、レート歪み最適化により、画像の品質を保ちつつ画像符号化を行うことのできる画像符号化装置を提供する。【解決手段】符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を施す処理手段１０４，１０５と、処理手段１０４，１０５による量子化結果および剰余を用いて、符号化モードにおける予測符号量と予測符号化歪みを算出し当該モードに関するコストを求めるコスト計算手段１０８と、各符号化モードに対して算出した符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択手段１１０と、最小符号化コスト選択手段１１０が選択した最小符号化コストに対応する符号化モードにおいて、複数のブロックを符号化する符号化手段１１１とを備えた。【選択図】        図１
2005286645.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割し、当該ブロックを単位として符号化を行う画像符号化装置であって、
符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記ブロックに対して施す処理手段と、
前記処理手段による量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出手段と、
前記予測符号量算出手段によって算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出手段と、
前記符号化コスト算出手段が各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択手段と、
前記最小符号化コスト選択手段が選択した前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化手段と
を備えたことを特徴とする画像符号化装置。
【請求項２】
前記処理手段による量子化により得られた剰余から、各符号化モードにおける予測符号化歪み量を算出する予測符号化歪み量算出手段をさらに備え、
前記符号化コスト算出手段は、前記予測符号化歪み量算出手段によって算出された前記予測符号化歪み量と、前記予測符号量算出手段が算出した前記予測符号量とを用いて、各符号化モードにおける前記符号化コストを算出することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記予測符号量算出手段が前記予測符号量を算出するときに利用する符号量予測式を、各符号化モードに対応付けて複数保持する符号量予測式保持手段と、
前記符号化手段が所定の符号化モードにおいて符号化した場合に実際に発生した実符号量に基づいて、前記符号量予測式保持手段が当該符号化モードに対応付けて保持する前記符号量予測式を修正する符号量予測式修正手段と
をさらに備え、
前記予測符号量算出手段は、前記符号量予測式保持手段に保持されている前記符号量予測式を利用して前記予測符号量を算出することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
処理対象のブロックからシーンチェンジを検出するシーンチェンジ検出手段と、
前記シーンチェンジ検出手段が前記シーンチェンジを検出した場合に、前記符号量予測式修正手段によって修正された符号量予測式を初期化する初期化手段と
をさらに備え、
前記予測符号量算出手段は、前記初期化手段が前記符号量予測式を初期化した場合に、初期化された符号量予測式を利用して前記予測符号量を算出することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記予測符号化歪み量算出手段が前記予測符号化歪み量を算出するときに利用する符号化歪み量予測式を、各符号化モードに対応付けて保持する符号化歪み量予測式保持手段と、
前記符号化手段が所定の符号化モードにおいて符号化した場合に実際に発生した実符号化歪み量に基づいて、前記符号化歪み量予測式保持手段が当該符号化モードに対応付けて保持する前記符号化歪み量予測式を修正する符号化歪み量予測式修正手段と
をさらに備え、
前記予測符号化歪み量算出手段は、前記符号化歪み量予測式保持手段に保持されている前記符号化歪み量予測式を利用して前記予測符号化歪み量を算出することを特徴とする請求項１から４のいずれか一項に記載の画像符号化装置。
【請求項６】
処理対象のブロックからシーンチェンジを検出するシーンチェンジ検出手段と、
前記シーンチェンジ検出手段が前記シーンチェンジを検出した場合に、前記符号化歪み量予測式修正手段によって修正された符号化歪み量予測式を初期化する初期化手段と
をさらに備え、
前記予測符号化歪み算出手段は、前記初期化手段が前記符号化歪み量予測式を初期化した場合に、初期化された符号化歪み量予測式を利用して前記予測符号量を算出することを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
画像を複数のブロックに分割し、当該ブロックを単位として符号化を行う画像符号化方法であって、
符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記ブロックに対して施す処理ステップと、
前記処理ステップにおいて得られた量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出ステップと、
前記予測符号量算出ステップにおいて算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出ステップと、
前記符号化コスト算出ステップにおいて各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択ステップと、
前記最小符号化コスト選択ステップにおいて選択された前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化ステップと
を有することを特徴とする画像符号化方法。
【請求項８】
画像を複数のブロックに分割し、当該ブロックを単位として符号化処理を行う画像符号化プログラムであって、
符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記ブロックに対して施す処理ステップと、
前記処理ステップにおいて得られた量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出ステップと、
前記予測符号量算出ステップにおいて算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出ステップと、
前記符号化コスト算出ステップにおいて各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択ステップと、
前記最小符号化コスト選択ステップにおいて選択された前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化ステップと
を有することを特徴とする画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に対して符号化を行う画像符号化装置、画像符号化方法および画像符号化プログラムに関するものである。
【背景技術】
【０００２】
ＬＳＩ技術およびコンピュータ技術の進化に伴い、ＭＰＥＧ−２／ＭＰＥＧ−４に代表される動画像符号化が広く普及してきている。ＭＰＥＧ−２は放送やＤＶＤに応用されている。また、ＭＰＥＧ−４は携帯電話や携帯型のビデオビューアなどに応用されている。このように、動画像のディジタル化は現代欠かすことのできない技術として定着している。
【０００３】
画像符号化の処理は、動き補償、動き検出および離散コサイン変換などの処理を含んでいる。これらは、対象となる画像データに対して同じ処理を繰り返し行う繰り返し処理である。このような繰り返し処理には、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）が適している。ＳＩＭＤは、汎用プロセッサの高機能化に伴い開発されたものである。これは、複数のデータに対して同じ処理を行う場合に、それらを同時にかつ高速に実行することができるという利点を有する。
【０００４】
ＳＩＭＤを画像符号化に用いることにより処理の高速化を図る技術が知られている (例えば、非特許文献１参照)。非特許文献１によれば、Ｉｎｔｅｌ社Ｐｅｎｔｉｕｍ（登録商標）  ３プロセッサにおいてＳＩＭＤ命令を使用した場合、ＳＩＭＤを使わない従来法により９７０サイクル必要な離散コサイン変換を５０サイクルで実行することができる。
【０００５】
この一方で、動画像符号化を高画質に行う技術が検討されている。動画像の符号化を高画質に行う方法として、レート歪最適化と呼ばれる手法が知られている。この手法は、動き検出や符号化モード判定に用いられるものである。
【０００６】
レート歪最適化の応用例としては、動き補償、ＤＣＴ係数量子化時のスキャン方法、イントラフレーム符号化時の量子化係数特定、イントラ/インターモード判定などにレート歪最適化を利用するものが知られている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００３−２３０１４９号公報
【非特許文献１】"A Fast Precise Implementation of 8x8 Discrete Cosine Transform Using the Streaming SIMD Extensions and MMXTM Instructions Version 1.0", 1999.4
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、例えば、レート歪最適化におけるイントラ／インターモード判定においては、動画像を符号化することにより得られる発生符号量およびこれにより生ずる符号化歪みを利用する。従って、イントラ／インターモード判定を行うためには、実際にイントラモードおよびインターモードのそれぞれにおいて符号化処理を行う必要がある。しかし、符号化処理には長時間を要するため、計算コストが大きくなるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、少ない演算量で、レート歪み最適化により、画像の品質を保ちつつ画像符号化を行うことのできる画像符号化装置、画像符号化方法および画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、画像に含まれる複数のブロックに対して符号化を行う画像符号化装置であって、符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記複数のブロックに対して施す処理手段と、前記処理手段による量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出手段と、前記予測符号量算出手段によって算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出手段と、前記符号化コスト算出手段が各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択手段と、前記最小符号化コスト選択手段が選択した前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化手段とを備えたことを特徴とする。
【００１１】
また、本発明は、画像に含まれる複数のブロックに対して符号化を行う画像符号化方法であって、符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記複数のブロックに対して施す処理ステップと、前記処理ステップにおいて得られた量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出ステップと、前記予測符号量算出ステップにおいて算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出ステップと、前記符号化コスト算出ステップにおいて各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択ステップと、前記最小符号化コスト選択ステップにおいて選択された前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化ステップとを有することを特徴とする。
【００１２】
また、本発明は、画像に含まれる複数のブロックに対して符号化処理を行う画像符号化プログラムであって、符号化の処理内容の異なる複数の符号化モードに対して予め定められた周波数変換および量子化を、前記複数のブロックに対して施す処理ステップと、前記処理ステップにおいて得られた量子化結果を用いて、符号化モードにおける予測符号量を算出する予測符号量算出ステップと、前記予測符号量算出ステップにおいて算出された前記予測符号量を用いて、各符号化モードにおける符号化コストを算出する符号化コスト算出ステップと、前記符号化コスト算出ステップにおいて各符号化モードに対して算出した前記符号化コストのうち最小となる最小符号化コストを選択する最小符号化コスト選択ステップと、前記最小符号化コスト選択ステップにおいて選択された前記最小符号化コストに対応する前記符号化モードにおいて、前記複数のブロックを符号化する符号化ステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明にかかる画像符号化装置は、実際に符号化処理を行うことなく、符号化コストを算出することができる。すなわち、符号化処理を行うことなく、符号化コストに基づく符号化モードの選択を行うことができる。したがって、少ない演算量で、画像の品質を保ちつつより適切な画像符号化を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明にかかる画像符号化装置、画像符号化方法および画像符号化プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
図１は、本実施の形態にかかるＭＰＥＧ符号化装置１００の全体構成を示すブロック図である。なお、本実施の形態にかかる符号化装置１００は、ＩＳＯ／ＩＥＣ１３８１８−２（ＭＰＥＧ−２  Ｖｉｄｅｏ）に準拠した符号化処理を行う。
【００１６】
なお、符号化の処理は、これに限定されるものではなく、ＩＳＯ／ＩＥＣ１４４９６−２（ＭＰＥＧ−４  Ｖｉｄｅｏ）に準拠した符号化処理であってもよい。また、ＩＳＯ／ＩＥＣ１４４９６−１０（ＭＰＥＧ−４  ＡＶＣ）に準拠した符号化処理であってもよい。
【００１７】
符号化装置１００は、動き検出および動き補償器１０２、減算器１０３、離散コサイン変換器（ＤＣＴ）１０４、量子化器１０５、量子化結果メモリ１０６と、剰余メモリ１０７と、コスト計算器１０８と、モード選択器１０９と、セレクタ１１０と、可変長符号化器（ＶＬＣ）１１１、逆量子化器１１２、逆離散コサイン変換器（ＩＤＣＴ）１１３、画像保存メモリ１１４、減算器１１５、セレクタ１１６、加算器１１７、シーンチェンジ検出器１１８とを備えている。
【００１８】
なお、本実施の形態にかかるコスト計算器１０８は、特許請求の範囲に記載の予測符号量算出手段、符号化コスト算出手段、予測符号化歪み算出手段、予測式保持手段、予測式修正手段、および初期化手段を構成する。
【００１９】
本実施の形態にかかる符号化装置１００は、複数のモードにおける符号化を行う。ここで、複数のモードとは、ＭＰＥＧ符号化の処理の内容の異なる複数のモードのことである。
【００２０】
ＭＰＥＧ符号化としては、イントラ符号化、前方向インター符号化、後方向インター符号化、双方向インター符号化など複数の処理がある。本実施の形態にかかる符号化装置１００においては、イントラ符号化を行うイントラ符号化モード・前方向インター符号化・後方向インター符号化の3つのモードが設定可能である。なお、ＩＳＯ／ＩＥＣ１３８１８−２勧告においては、インター符号化にフィールド単位で動き補償を行うケースとフレーム単位で動き補償を行うケースが存在し、またフィールド単位でDCTを行う場合とフレーム単位でＤＣＴを行う場合がある。ここでは、説明の簡単化のために、これらをまとめて前方向インター符号化および後方向インター符号化としている。
【００２１】
符号化装置１００の各部は、処理時に設定されている符号化モードに応じた処理を行う。これにより、各画像に適した符号化処理を施すことができる。
【００２２】
動き検出および動き補償器１０２は、外部から入力画像を取得し、取得した入力画像に対して動き検出および動き補償を行う。具体的には、前方向および後方向の動き検出および動き補償を行う。そして、その結果得られた２種類の残差信号がＤＣＴ１０４に送られる。
【００２３】
ＤＣＴ１０４は、減算器１０３を介して動き検出および動き補償器１０２による処理の結果得られる残差信号を取得し、残差信号に対して周波数変換を行う。本実施の形態にかかるＤＣＴ１０４は、離散コサイン変換を行う。周波数変換は、離散コサイン変換に限定されるものではなく、他の変換方式であってもよい。ただし、直交変換であることが望ましい。ＤＣＴ１０４はまた、イントラ符号化モードにおいては、入力画像信号を直接取得し、入力画像信号に対して離散コサイン変換を行う。
【００２４】
すなわち、全てのモードにおける画像信号（入力画像信号および残差信号）が順番にＤＣＴ１０４に入力される。そして、ＤＣＴ１０４は、空間情報としての画像信号をＭＰＥＧで符号化される周波数情報であるＤＣＴ係数に変換する。
【００２５】
ＤＣＴ１０４は、画像を８×８の矩形領域に分割したブロックと呼ばれる単位ごとに変換を行う。そして、ＤＣＴ１０４は、変換処理によりＤＣＴ係数も８×８の合計６４個のＤＣＴ係数を得る。
【００２６】
量子化器１０５は、ＤＣＴ１０４によって得られたＤＣＴ係数を量子化する。そして、量子化結果を量子化結果メモリ１０６に格納する。さらに、量子化演算により得られた剰余を剰余メモリ１０７に格納する。
【００２７】
量子化器１０５は、各符号化モードに対する量子化マトリクスを保持している。そして、符号化モード毎に異なる量子化マトリクスを利用する。図２は、イントラ符号化モードにおいて量子化器１０５が利用する量子化マトリクスを示している。図３は、インター符号化モードにおいて量子化器１０５が利用する量子化マトリクスを示している。
【００２８】
なお、図２および図３は、いずれも初期状態における量子化マトリクスを示しているが、これらの量子化マトリクスは任意に設定可能なものである。
【００２９】
量子化器１０５は、具体的には次式を用いてＤＣＴ係数を量子化する。
【数１】
2005286645.tif 000003
ここで、ＤＣＴ(ｉ，ｊ)(ｉ,ｊ＝０，１・・・，７)は、ＤＣＴ係数である。ＱＤＣＴ（ｉ，ｊ)は、量子化後のＤＣＴ係数である。Ｗ(ｉ，ｊ)は、量子化マトリクスである。また、ｑｓｃａｌｅは量子化係数である。Ｒｏｕｎｄ（ｘ）は、ｘに最も近い整数を求める丸め処理を示す関数である。量子化係数は、適切なビットレートで符号化を行うべく外部において調整される値である。
【００３０】
また、量子化器１０５は、次式を用いて剰余を算出する。
【数２】
2005286645.tif 000004
ここで、ＲＥＳ(ｉ，ｊ)は、量子化により発生する剰余である。
【００３１】
コスト計算器１０８は、量子化結果メモリ１０６に格納されている量子化結果に基づいて、各符号化モードにおける発生符号量の予測値である予測発生符号量を算出する。また、剰余メモリ１０７に格納されている剰余に基づいて各符号化モードにおける符号化歪みの予測値である予測符号化歪みを算出する。
【００３２】
コスト計算器１０８は、発生符号量の予測値を算出するときに用いる発生符号量予測式、および符号化歪みの予測値を算出するときに用いる符号化歪み予測式を保持している。発生符号量予測式および符号化歪み予測式は、それぞれ各符号化モードによって異なっている。コスト計算器１０８は、各符号化モードに対する発生符号量予測式および符号化歪み予測式を保持している。
【００３３】
そして、コスト計算器１０８は、各モードにおける発生符号量予測式を利用して、予測発生符号量を算出する。また、符号化歪み予測式を利用して、予測符号化歪みを算出する。
【００３４】
コスト計算器１０８は、さらに以上により算出した予測発生符号量と予測歪みの線形結合（Ｄ＋λＲ）から符号化コストを算出する。なお、符号化コストの算出は、設定可能な総ての符号化モードに対して行う。
【００３５】
所定のマクロブロックを符号化した場合の発生符号量Ｒは、（式３）に示す発生符号量予測式を用いて算出される。
【数３】
2005286645.tif 000005
ここでＣrateおよびαrateは、ピクチャのコーディング中一定の値である。また、Ｃheaderは、該当モードで符号化する場合に必要なＤＣＴ係数以外の符号量である。ＤＣＴ係数以外の符号量とは、モード情報、量子化スケール、動きベクトルを符号化するのに必要な符号量などである。
【００３６】
また、符号化歪みＤは（式４）に示す符号化歪み予測式を用いて近似的に算出される。
【数４】
2005286645.tif 000006
ここで、Ｃdist、αdistおよびβdistは、ピクチャのコーディング中一定の値である。
【００３７】
なお、予測発生符号量の算出および予測符号化歪みの算出においては、モード情報、量子化スケールおよび動きベクトル等の情報が必要となる。コスト計算器１０８は、これらの情報をテーブルルックアップなどの方法により得る。
【００３８】
ここで、マクロブロックとは、１６×１６画素の画像ブロック単位である。一般的な４：２：０カラー画像の場合、１個のマクロブロックは、６個のブロックを含んでいる。符号化装置１００は、マクロブロック単位で符号化を行う。
【００３９】
図４は、ＭＰＥＧにおけるマクロブロックのビットストリームの典型的な文法構成例を示している。マクロブロックのビットストリームは、符号化モードに関するモード情報、量子化スケール、動きベクトルおよび各ブロックのＤＣＴ係数等の情報を有している。
【００４０】
なお、図４に示すビットストリームは、一例であって、符号化モードおよび対象とする画像に応じて、その文法は異なっている。例えば、イントラ符号化においては、動きベクトルの情報を有さなくともよい。また、量子化スケールが直前のマクロブロックにおける量子化スケールと等しい場合には、当該マクロブロックのビットストリームは、量子化スケールの情報を有さなくともよい。また、インター符号化において全てのＤＣＴ係数が０であるブロックのビットストリームは、ＤＣＴ係数にかかる情報を有さなくともよい。
【００４１】
モード選択器１０９は、コスト計算器１０８が各符号化モードに対して算出した符号化コストのうち最小の符号化コストを選択し、当該符号化コストに対応する符号化モードを選択する。モード選択器１０９はさらに、選択した符号化モードにおける量子化結果を量子化結果メモリ１０６から抽出し、ＶＬＣ１１１および逆量子化器１１２に送る。
【００４２】
ＶＬＣ１１１は、受け取った量子化結果を利用して可変長符号化（ＶＬＣ）を行う。ＶＬＣ１１１は、可変長符号化により得られたデータを逆量子化器１１２に送る。また、符号化の結果発生した実ビット数、すなわち実発生符号量をコスト計算器１０８に送る。
【００４３】
逆量子化器１１２およびＩＤＣＴ１１３は、セレクタ１１０から取得したデータに対して、それぞれ逆量子化及び逆離散コサイン変換を行う。インター符号化モードにおいては、これらの処理により差分画像が生成される。また、イントラ符号化においては、これらの処理によりデコード画像が生成される。
【００４４】
一方、セレクタ１１６は、モード選択器１０９により選択されたモードにおいて動き補償された画像を選択し、加算器１１７に送る。
【００４５】
加算器１１７は、差分画像またはデコード画像をＩＤＣＴ１１３から取得する。また、動き検出および動き補償器１０２によって動き補償された画像をセレクタ１１６から取得する。そして、差分画像等と動き補償された画像とを加算し、ローカルデコード画像を生成する。
【００４６】
減算器１１５は、このローカルデコード画像と、入力画像との差分を算出する。この差分値により実際の符号化歪みが求まる。減算器１１５は、得られた符号化歪みをコスト計算器１０８に送る。画像保存メモリ１１４は、加算器１１７から再生画像を取得し、取得した再生画像を保存する。
【００４７】
コスト計算器１０８はまた、ＶＬＣ１１１から取得した実発生符号量と「Σ（｜ＱＤＣＴ｜）」とを対応付けて保持する。さらに、コスト計算器１０８を介して加算器１１７から取得した符号化歪みと「Σ（ＲＥＳ）」とを対応付けて保持する。
【００４８】
コスト計算器１０８は、１フレームにおける符号化が完了すると、先に対応付けて保持した発生ビット数と「Σ（｜ＱＤＣＴ｜）」との関係に基づいて、予測発生符号量Ｒを算出する関数（式３）を更新する。また、符号化歪みと「Σ（ＲＥＳ）」との関係に基づいて、符号化歪みＤを算出する関数（式４）の係数を更新する。
【００４９】
具体的には、１フレームに対する符号化処理の結果得られた統計データの傾向に基づいて、符号化歪みを算出する。
【００５０】
図５は、実発生符号量と「Σ（｜ＱＤＣＴ｜）」との関係を示すグラフを示している。このように、１フレームに対する符号化が完了すると、符号化結果から実発生符号量と「Σ（｜ＱＤＣＴ｜）」との関係を示す統計データが得られる。この関係から、式３におけるＣrateおよびαrateの値を決定することができる。このとき、例えば最小二乗法を利用してもよい。
【００５１】
図６は、実符号化歪みと「Σ（ＲＥＳ）」との関係を示すグラフを示している。この関係から、（式４）におけるＣdist、αdistおよびβdistの値をそれぞれ決定することができる。
【００５２】
また、シーンチェンジ検出器１１８は、常に入力画像を監視し、シーンチェンジを検出する。コスト計算器１０８は、シーンチェンジを検出すると、その旨コスト計算器１０８に通知する。コスト計算器１０８は、シーンチェンジ検出器１１８がシーンチェンジを検出すると、既に保持している実発生符号量と「Σ（｜ＱＤＣＴ｜）」の関係、および実符号化歪み「Σ（ＲＥＳ）」との関係をすべて消去する。さらに、予測係数Ｃrate、αrate、Ｃdist、αdist、およびβdistを初期値にリセットする。すなわち、発生符号量予測式および符号化歪み予測式を初期化する。
【００５３】
図７は、本実施の形態にかかる符号化装置１００に特徴的な符号化モード選択処理を示すフローチャートである。
【００５４】
符号化装置１００は、動画像に対してマクロブロック単位で符号化モード設定処理を行う（ステップＳ１００）。次に、選択した符号化モードに応じた符号化処理を施す（ステップＳ１０２）。次に、符号化により得られた実発生符号量をコスト計算器１０８に保持させる（ステップＳ１０４）。また、符号化により得られた実符号化歪みをコスト計算器１０８に保持させる（ステップＳ１０６）。以上ステップＳ１００〜ステップＳ１０６の処理を１フレームに対して繰り返す。
【００５５】
このように、各マクロブロック単位で符号化モード設定を行うので、各マクロブロックに対して適切なモードにおける符号化処理を施すことができる。
【００５６】
１フレームに対するステップＳ１００〜ステップＳ１０３の処理が完了すると（ステップＳ１０８，Ｙｅｓ）、コスト計算器１０８は、これまでに蓄積した実発生符号量の統計データに基づいて、対応する符号化モードの発生符号量予測式を更新する（ステップＳ１１０）。また、これまでに蓄積した実符号化歪みの統計データに基づいて対応する符号化モードの符号化歪み予測式を更新する（ステップＳ１１２）。
【００５７】
このように、１フレームに対する符号化処理が完了する毎に、１フレームに対して得られた実測値に基づいて対応する符号化モードにおける発生符号量予測式および号化歪み予測式を更新する。すなわち、実測値を予測式にフィードバックする。したがって、コスト計算器１０８は、より実測値に近い予測発生符号量および予測符号化歪みを算出することができる。すなわち、より実測値に近い符号化コストを算出することができ、より適切な符号化モード選択を行うことができる。
【００５８】
なお、イントラ符号化モードにおける予測式の更新は、フローチャートを参照しつつ説明したように、１フレーム毎に行うが、インター符号化モードにおける予測式の更新は、インター符号化モードが存在しないＩ−ピクチャでは行わない。また、後方向インター符号化モードが存在しないＰ−ピクチャでは、後方向インター符号化に関する予測式の更新は行わない。
【００５９】
さらに、処理対象を次のフレームに移す（ステップＳ１２０，Ｙｅｓ、ステップＳ１２２）。ここで、シーンチェンジ検出器１１８がシーンチェンジ検出をすると、ステップＳ１１０において更新された発生符号量予測式を初期化する（ステップＳ１２６）。さらに、ステップＳ１１２において更新された符号化歪み予測式を初期化する（ステップＳ１２８）。
【００６０】
以上の処理を、動画像の総てのフレームに対して行うと（ステップＳ１２０，Ｎｏ）、符号化が完了する。
【００６１】
シーンチェンジがあると、それまでの画像とは、その特徴が異なる場合が多い。このため、これまでの統計データとは異なる傾向を示すことが予想される。そこで、本実施の形態にかかる符号化装置１００においては、シーンチェンジが検出された場合には、発生符号量予測式および符号化歪み予測式を初期化することとする。
【００６２】
これにより、シーンチェンジがあった場合であっても、実測値に近い予測発生符号量および予測符号化歪みを算出することができる。したがって、より適切な符号化モードにおける符号化処理を施すことができる。
【００６３】
図８は、図７において説明した符号化モード設定ステップ（ステップＳ１００）における詳細な処理を示すフローチャートである。
【００６４】
符号化モード設定ステップにおいては、イントラ符号化における符号化コストを算出する（ステップＳ２００）。さらに、前方向インター符号化における符号化コストおよび後方向インター符号化における符号化コストを算出する（ステップＳ２０２、ステップＳ２０４）。
【００６５】
イントラ符号化による予測発生符号量およびインター符号化によける予測発生符号量をそれぞれＲintraおよびＲforwardおよびRbackwardとする。また、イントラ符号化による予測符号化歪みをDintra、前方向および後方向インター符号化によける予測符号化歪みをそれぞれDforwardおよびDbackwardとする。このとき、それぞれのモードのコスト関数Ｅintra、EforwardおよびＥbackwardは次式で表される。
【数５】
2005286645.tif 000007
【００６６】
次に、各符号化モードにおける符号化コストを比較する（ステップＳ２０４）。前方向インター符号化における符号化コストが他のモードにおける符号化コストに比べて小さい場合には（ステップＳ２０４，Ｙｅｓ）、前方向インター符号化モードに設定する（ステップＳ２０６）。後方向インター符号化における符号化コストが他のモードにおける符号化コストに比べて小さい場合には（ステップＳ２０８，Ｙｅｓ）、後方向インター符号化モードに設定する（ステップＳ２１０）。また、イントラ符号化における符号化コストが他のモードにおける符号化コストに比べて小さい場合には（ステップＳ２０８，Ｎｏ）、イントラ符号化モードに設定する（ステップＳ２１２）。
【００６７】
このように、本実施の形態にかかる符号化装置１００は、符号化コストがより小さくなるような符号化モードに設定することにより、処理対象となるフレームにより適した符号化処理を施すことができる。
【００６８】
図９は、図８において示した符号化コスト算出ステップ（ステップＳ２００，ステップＳ２０２）における詳細な処理を示すフローチャートである。
【００６９】
まず、ＤＣＴ１０４は、該当する符号化モードにおいて符号化した場合のＤＣＴ係数を算出する（ステップＳ３００）。次に、量子化器１０５は、算出したＤＣＴ係数の量子化を行い、量子化結果および剰余を算出する（ステップＳ３０２）。次に、コスト計算器１０８は、剰余メモリ１０７に保持されている量子化結果から予測発生符号量を算出する（ステップＳ３０４）。さらに、コスト計算器１０８に保持されている符号化歪みから予測符号化歪みを算出する（ステップＳ３０６）。そして、算出した予測発生符号量および予測符号化歪みから符号化コストを算出する（ステップＳ３０８）。
【００７０】
このように、各符号化モードにおいて、実際に逆符号化を行うことなく符号化コストを算出することができるので、処理量を減らすことができる。
【００７１】
符号化コストに基づいて符号化モードを選択する方法は、ＭＰＥＧ−４  Ｐａｒｔ１０（ＡＶＣ）|Ｈ．２６４におけるリファレンスエンコーダにも「レート歪み最適化」という手法として採用されている。ただし、当該リファレンスエンコーダでは、は量子化係数の関数として表されている。また、従来の方法においては、発生符号量および符号化歪みは総て実測値を使用している。
【００７２】
実測値を得るためには、各符号化モードにおいて実際に符号化処理を行わなければならない。このため、計算量が大きくなり、処理効率が低下するという問題があった。
【００７３】
具体的には、レート歪み最適化を用いない場合に比べ、レート歪み最適化に基づくモード判定を行った場合数倍の時間がかかることになる。ＭＰＥＧ−２において１つのマクロブロックを符号化するモードは、イントラ/インターの２種類に大別される。インター符号化はさらに前方フィールド動き補償、前方フレーム動き補償、双方向フィールド動き補償、双方向フレーム動き補償、後方フィールド動き補償、後方フレーム動き補償の６種類に分類される。
【００７４】
これら全てのモードにレート歪み最適化に基づくモード判定を導入すれば、処理時間は７倍に増大する。さらに、ＭＰＥＧ−４  Ｐａｒｔ１０(ＡＶＣ)|Ｈ．２６４では、イントラ符号化およびインター符号化とも大幅にモードが拡張されており、レート歪み最適化導入による計算コストの増大量は数十倍程度である。
【００７５】
このような膨大な処理をリアルタイムに処理するためには、数十倍の演算能力を持つプロセッサあるいは数十倍の回路規模をもつＬＳＩが必要となる。従って、上述の計算量の増加は、より重要な問題となってくる。
【００７６】
これに対して、本実施の形態にかかる符号化装置１００は、上述のように、実際に符号化処理を行うことなく、予測式を用いて算出した予測発生符号量および予測符号化歪みに基づいて符号化コストを算出するので、符号化処理に起因して演算量を増加させることなく、適切に符号化モードを決定することができる。
【００７７】
図１０は、本実施の形態にかかる符号化装置１００のハードウェア構成を示す図である。符号化装置１００は、ハードウェア構成として、符号化装置１００における符号化処理を実行する符号化プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って符号化装置１００の各部を制御し、バッファリング時間変更処理等を実行するＣＰＵ５１と、ワークエリアが形成され、符号化装置１００の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信I／Ｆ５７と、各部を接続するバス６２とを備えている。
【００７８】
先に述べた符号化装置１００における符号化プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００７９】
この場合には、符号化プログラムは、符号化装置１００において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００８０】
また、本実施例の符号化プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００８１】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【産業上の利用可能性】
【００８２】
以上のように、本発明にかかる画像符号化装置は、複数の符号化モードによる画像符号化処理に有用であり、特に、適切な符号化モードによる画像符号化処理に適している。
【図面の簡単な説明】
【００８３】
【図１】本実施の形態にかかるＭＰＥＧ符号化装置１００の全体構成を示すブロック図である。
【図２】イントラ符号化モードにおいて量子化器１０５が利用する量子化マトリクスを示す図である。
【図３】インター符号化モードにおいて量子化器１０５が利用する量子化マトリクスを示す図である。
【図４】ＭＰＥＧにおけるマクロブロックのビットストリームの典型的な文法構成例を示す図である。
【図５】実発生符号量と「Σ（｜ＱＤＣＴ｜）」との関係を示すグラフを示す図である。
【図６】実符号化歪みと「Σ（ＲＥＳ）」との関係を示すグラフを示す図である。
【図７】本実施の形態にかかる符号化装置１００に特徴的な符号化モード選択処理を示すフローチャートである。
【図８】図７において説明した符号化モード設定ステップ（ステップＳ１００）における詳細な処理を示すフローチャートである。
【図９】図８において示した符号化コスト算出ステップ（ステップＳ２００，ステップＳ２０２）における詳細な処理を示すフローチャートである。
【図１０】本実施の形態にかかる符号化装置１００のハードウェア構成を示す図である。
【符号の説明】
【００８４】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信I／Ｆ
６２  バス
１００  符号化装置
１０２  補償器
１０３  減算器
１０５  量子化器
１０６  量子化結果メモリ
１０７  剰余メモリ
１０８  コスト計算器
１０９  モード選択器
１１０  セレクタ
１１２  逆量子化器
１１４  画像保存メモリ
１１５  減算器
１１６  セレクタ
１１７  加算器
１１８  シーンチェンジ検出器
【図１】
2005286645.tif 000008
【図２】
2005286645.tif 000009
【図３】
2005286645.tif 000010
【図４】
2005286645.tif 000011
【図５】
2005286645.tif 000012
【図６】
2005286645.tif 000013
【図７】
2005286645.tif 000014
【図８】
2005286645.tif 000015
【図９】
2005286645.tif 000016
【図１０】
2005286645.tif 000017