(57)【特許請求の範囲】
【請求項１】
画面内符号化モードと、動き補償予測による画面間符号化モードとを用いると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択し、リアルタイムで画像圧縮符号化を行なう画像符号化方法において、
実際の圧縮符号化に先立ち、前記画面内符号化領域における発生符号見積り量を、前記画面内符号化モードでのものと、前記画面間符号化モードを含む状態でのものとを算出すると共に、
前記画面内符号化領域が含まれるフレームが、シーンが変化する部分であるか否かを検出し、
前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きく、かつ、前記画面内符号化領域を含むフレームがシーンが変化する部分でもないと検出されたときには、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更するようにしたことを特徴とする画像符号化方法。
【請求項２】
符号化領域単位の符号化モードとして、画面内符号化モードと動き補償予測による画面間符号化モードとのいずれかを指定すると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化方法において、
実際の圧縮符号化に先立ち、指定された符号化モードでの前記符号化領域単位の発生符号見積り量を、前記画面内符号化領域に先行する複数画面分に渡って算出し、当該算出した前記複数画面分に渡る前記符号化領域単位の発生符号見積り量の推移から動きが少ないシーンであるか否かを判別し、
前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出し、
前記判別の結果、前記画面内符号化領域が含まれるフレームの過去の複数フレームは動きが少ないシーンであると判別され、かつ、前記符号化領域を含むフレームがシーンが変化する部分ではないと検出されたときには、前記画面内符号化領域に対する前記予め画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更するようにしたことを特徴とする画像符号化方法。
【請求項３】
符号化領域単位の符号化モードとして、画面内符号化モードと動き補償予測による画面間符号化モードとのいずれかを指定すると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化方法において、
実際の圧縮符号化に先立ち、指定された符号化モードでの前記符号化領域単位の発生符号見積り量を、前記画面内符号化領域に先行する複数画面分に渡って算出し、当該算出した前記複数画面分に渡る前記符号化領域単位の発生符号見積り量の推移から動きが少ないシーンであるか否かを判別し、
前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出し、
前記画面内符号化領域における発生符号見積り量を、前記画面内符号化モードでのものと、前記画面間符号化モードを含む状態でのものとを算出し、
前記判別の結果、前記画面内符号化領域が含まれるフレームの過去の複数フレームは動きが少ないシーンであると判別され、さらに、前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きく、かつ、前記画面内符号化領域を含むフレームがシーンが変化する部分でもないと検出されたときには、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更するようにしたことを特徴とする画像符号化方法。
【請求項４】
請求項１、請求項２または請求項３のいずれかに記載の画像符号化方法において、
圧縮符号化した画像データについて定レート化制御を行なうようにしたことを特徴とする画像符号化方法。
【請求項５】
請求項４に記載の画像符号化方法において、
定レート制御のためのバッファメモリのデータ占有量をも、前記指定の変更を決定するための参照情報として用いるようにしたことを特徴とする画像符号化方法。
【請求項６】
請求項５に記載の画像符号化方法において、
定レート制御のためのバッファメモリのデータ占有量をも、前記指定の変更を決定するための参照情報として用いるようにしたことを特徴とする画像符号化方法。
【請求項７】
画面内符号化モードと、動き補償予測による画面間符号化モードとを用いると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化装置であって、
圧縮符号化手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出するシーンチェンジ検出手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域における発生符号見積り量を、前記画面内符号化モードでのものと、前記画面間符号化モードを含む状態でのものとを算出する発生符号量見積り手段と、
前記発生符号量見積り手段で算出された前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きく、かつ、前記シーンチェンジ検出手段の検出出力により、前記画面内符号化領域を含むフレームがシーンが変化する部分でもないと検出されたときに、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更する指定変更手段と
を備えることを特徴とする画像符号化装置。
【請求項８】
符号化領域単位の符号化モードとして、画面内符号化モードと動き補償予測による画面間符号化モードとのいずれかを指定すると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化装置であって、
圧縮符号化手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出するシーンチェンジ検出手段と、
前記圧縮符号化手段の前段に設けられ、指定された符号化モードでの前記符号化領域単位の発生符号見積り量を、前記画面内符号化領域に先行する複数画面分に渡って算出する発生符号量見積り手段と、
前記発生符号量見積り手段で算出された前記複数画面分に渡る前記符号化領域単位の発生符号見積り量の推移から動きが少ないシーンであるか否かを判別する判別手段と、
前記判別手段で、前記画面内符号化領域が含まれるフレームの過去の複数フレームは、動きが少ないシーンであると判別され、かつ、前記シーンチェンジ検出手段で、前記画面内符号化領域を含むフレームがシーンが変化する部分でないと検出されたときに、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更する指定変更手段と
を備えることを特徴とする画像符号化装置。
【請求項９】
符号化領域単位の符号化モードとして、画面内符号化モードと動き補償予測による画面間符号化モードとのいずれかを指定すると共に、予め設定された周期で前記画面内符号化モードで圧縮符号化すべき画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化装置であって、
圧縮符号化手段と、
前記符号化領域単位のそれぞれについて、画面内符号化モードと画面間符号化モードとのいずれの符号化モードで符号化を行なうかを仮に指定する指定情報発生手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出するシーンチェンジ検出手段と、
前記圧縮符号化手段の前段に設けられ、指定された符号化モードでの前記符号化領域単位の発生符号見積り量を算出すると共に、前記画面内符号化領域においては、前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量とを算出する発生符号量見積り手段と、
前記発生符号量見積り手段で算出された前記画面内符号化領域に先行する複数画面分に渡る前記符号化領域単位の発生符号見積り量の推移から動きが少ないシーンであるか否かを判別する第１の判別手段と、
前記発生符号量見積り手段で算出された前記画面内符号化領域についての前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きいか否かを判別する第２の判別手段と、
前記第１の判別手段で、前記画面内符号化領域が含まれるフレームの過去の複数フレームは、動きが少ないシーンであると判別されると共に、前記第２の判別手段で前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きいと判別され、前記シーンチェンジ検出手段の検出出力により、前記画面内符号化領域を含むフレームがシーンが変化する部分でもないと検出されたときに、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更する指定変更手段と
を備えることを特徴とする画像符号化装置。
【請求項１０】
請求項７、請求項８または請求項９のいずれかに記載の画像符号化装置において、
前記圧縮符号化手段の後段に、
バッファメモリと、
このバッファメモリからのデータ占有量の情報に基づいて前記圧縮符号化手段の量子化特性を制御して、前記バッファメモリから出力されるデータの伝送レートを一定に制御する制御手段とを設ける
ようにしたことを特徴とする画像符号化装置。
【請求項１１】
請求項１０に記載の画像符号化装置において、
前記バッファ占有量の情報を前記指定変更手段に供給し、
前記指定変更手段は、前記シーンチェンジ検出手段の検出出力と、前記発生符号量見積り手段から得られる発生符号見積り量と、前記バッファ占有量に基づいて、前記予めフレーム内符号化モードで圧縮符号化するように選択された符号化領域を、そのままフレーム内符号化モードで圧縮符号化を行なわせるか否かを決定するようにしたことを特徴とする画像符号化装置。
【請求項１２】
請求項７、請求項８または請求項９のいずれかに記載の画像符号化装置において、
前記符号化領域より小さい領域を、周期的に選択して、当該小領域では、強制的にフレーム内符号化モードで圧縮符号化するように指定する手段を備えることを特徴とする画像符号化装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、例えばＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  ＥｘｐｅｒｔＧｒｏｕｐ）１やＭＰＥＧ２による画像符号化に適用して好適な画像符号化方法および装置に関する。
【０００２】
【従来の技術】
動画像の圧縮符号化としてＭＰＥＧ１や、その発展型のＭＰＥＧ２がよく知られている。この圧縮符号化方式（以下、単にＭＰＥＧと呼ぶことにする）は、その符号化アルゴリズムとして、動き補償予測と、２次元ＤＣＴ（離散コサイン変換）を組み合わせたものを使用するものである。
【０００３】
ＭＰＥＧの特徴としては、動き補償の予測効率を高める双方向予測、編集やランダムアクセスを可能とする画面群（これをＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）と呼ぶ）構造、全体の符号発生量制御などの符号化の細かな制御が挙げられる。
【０００４】
双方向予測を実現するため、ＭＰＥＧでは、１画面分の画像（フレームまたはフィールド）に、Ｉピクチャと、Ｐピクチャと、Ｂピクチャの３種類のピクチャタイプを規定している。
【０００５】
Ｉピクチャは、予測は使わずに、１画面内で閉じた情報による符号化（画面内符号化と呼ぶ。以下、この画面内符号化のモードをイントラモードと呼び、このイントラモードのみで符号化されたフレームをイントラフレームと呼ぶ）のみを行なうものである。
【０００６】
ＭＰＥＧでは、前記のＧＯＰには、Ｉピクチャが少なくとも１枚入るように規定されている。このようにすれば、Ｉピクチャから映像をデコードできるので、ＧＯＰ単位での編集やランダムアクセスが可能になる。
【０００７】
Ｐピクチャは、過去のＩピクチャあるいはＰピクチャからの一方向の動き補償予測を用いるものである。また、Ｂピクチャは、過去および未来のピクチャを用いた双方向予測を用いるものである。
【０００８】
ＰピクチャおよびＢピクチャは、画面内の小ブロック単位（マクロブロックと呼ばれている）の部分では、イントラモードによる符号化を含む。以下の説明では、一方向および双方向予測を画面（フレームまたはフィールド）間で行なう符号化モード（画面間符号化モード）をインターモードと呼び、このインターモードにより符号化されたマクロブロックを含むフレームをインターフレームと呼ぶこととする。
【０００９】
【発明が解決しようとする課題】
上述したＭＰＥＧにおいても、Ｈ．２６１規格と同様に、ＤＣＴ係数の量子化ステップ（量子化スケール）を制御することにより、全体の符号発生量制御を行なうことができる。例えば、一定の伝送レートで圧縮符号化画像データを伝送する場合には、送信バッファを設けておき、このバッファの占有率に応じて量子化ステップを制御して符号発生量を制御するものである。
【００１０】
ところで、このように、定レート化制御を行なっているＭＰＥＧの画像符号化装置の場合（以下の説明はＭＰＥＧ１の場合）、入力画像として動きの少ないシーンが続くときに、各フレームをインターモードで符号化すると、フレーム間誤差信号のエネルギーが非常に少なくなり、符号発生量が減る。このため、定レート化のフィードバックがかかり、量子化スケールが細かくなって、量子化誤差が少なくなり、高画質のインターフレームが得られる。
【００１１】
前述したように、ＭＰＥＧでは、ＧＯＰ内には、必ずＩピクチャ、すなわち、イントラフレームが少なくとも１枚は強制的に挿入される。このため、上述のように、動きの少ないシーンが続いているような状況において、強制的にイントラフレームが挿入されると、このイントラフレームでは圧倒的に符号発生量が多くなるので、定レート化制御により、いきなり量子化スケールを粗くするようにフィードバックがかかり、このイントラフレームおよびその後のピクチャの画質は、急激に悪化してしまう。
【００１２】
そして、このようにして量子化されたイントラフレームは、量子化誤差を多く含むため、その後、インターフレームが続いても、そのインターフレームの動き補償が、当該量子化誤差の多いフレームを元に行なわれることになるので、前記挿入されたイントラフレームの直前のＳ／Ｎ程度に復帰するまで数フレームかかり、そのため、動きの少ないシーンでは周期的に画質の劣化、向上が繰り返され、これが視覚上問題となる。
【００１３】
圧縮符号化した画像データを、一旦、蓄積メディアに保存できるようなシステムでは、強制イントラフレームをインターフレームにした場合の結果から決定して、イントラフレームをインターフレームにすげ替えることは可能であるが、リアルタイム処理が必要となる放送用の装置の場合には、入力画像が静止画と予め判明している素材であるならともかく、動画中の静止画のような部分における前記のすげ替えは従来はできなかった。
【００１４】
この発明は、以上の点にかんがみ、上述のように、画面内符号化モードと、動き補償予測による画面間符号化モードとを用いると共に、定レート化制御を行ないながら、リアルタイムで画像圧縮符号化を行なう画像符号化装置において、動画中に静止画が続くようなシーンであっても、高画質の画像が得られるようにすることを目的とする。
【００１５】
【課題を解決するための手段】
前記課題を解決するため、この発明による画像符号化装置は、
画面内符号化モードと、動き補償予測による画面間符号化モードとを用いると共に、予め設定された周期で前記画面内符号化モードでのみ圧縮符号化する画面内符号化領域を選択指定し、リアルタイムで画像圧縮符号化を行なう画像符号化装置であって、
圧縮符号化手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域が含まれるフレームがシーンが変化する部分であるか否かを検出するシーンチェンジ検出手段と、
前記圧縮符号化手段の前段に設けられ、前記画面内符号化領域における発生符号見積り量を、前記画面内符号化モードでのものと、前記画面間符号化モードを含む状態でのものとを算出する発生符号量見積り手段と、
前記発生符号量見積り手段で算出された前記画面内符号化モードでの発生符号見積り量と、前記画面間符号化モードを含む状態での発生符号見積り量との差が所定値よりも大きく、かつ、前記シーンチェンジ検出手段の検出出力により、前記画面内符号化領域を含むフレームがシーンが変化する部分でもないと検出されたときに、前記画面内符号化領域に対する前記画面内符号化モードで圧縮符号化すべきとする選択指定を解除して、前記画面間符号化モードを含む符号化モードで圧縮符号化するように指定を変更する指定変更手段と
を備えることを特徴とする。
【００１６】
また、前記圧縮符号化手段の後段に、
バッファメモリと、
このバッファメモリからのデータ占有量の情報に基づいて前記圧縮符号化手段の量子化特性を制御して、前記バッファメモリから出力されるデータの伝送レートを一定に制御する制御手段とを設けると共に、
前記バッファ占有量の情報を前記指定変更手段に供給し、
前記指定変更手段は、前記シーンチェンジ検出手段の検出出力と、前記発生符号量見積り手段から得られる発生符号見積り量と、前記バッファ占有量に基づいて、前記予めフレーム内符号化モードで圧縮符号化するように選択された符号化領域を、そのままフレーム内符号化モードで圧縮符号化を行なわせるか否かを決定するようにしてもよい。
【００１７】
【作用】
以上の構成のこの発明による画像符号化装置においては、予め、発生符号量見積り部で、画面内符号化モードのみで符号化したときの見積り量や、画面間符号化モードを含む状態で符号化したときの見積り量を算出しておくことができる。このため、判断手段では、両見積り量の差から静止画が続いているシーンであることを検出でき、その検出結果に基づいて、画面内符号化のみの指定を解除して、画面間符号化を行なわせるなど、適切な指定変更処理が行なわれる。
【００１８】
また、実際の圧縮符号化に先立ち、見積り量の推移を監視することも可能になり、静止画領域か、通常の動画領域かの判断も確実に行なうことも可能になる。
【００１９】
また、伝送レートを一定にするために、バッファメモリと制御手段とを備え、バッファ占有量をも判断手段の判断資料情報として用いる場合には、バッファ占有量を最優先にして、前記の符号化領域についての指定の変更を決定することができる。
【００２０】
【実施例】
以下、この発明による画像符号化装置の一実施例を図１および図２を参照しながら説明する。図１は、この例の画像符号化装置のブロック図であり、この例は、デジタル画像データをＭＰＥＧ１で圧縮する場合の例である。図２は、図１の例の説明のためのタイムチャートである。
【００２１】
図１の例の画像符号化装置は、エントロピー符号化を伴う画像圧縮システムであり、入力画像データＤｉを圧縮符号化して、一定通信路容量の通信路に、圧縮後の出力データＤｏを伝送するものである。
【００２２】
圧縮符号化部２１は、画像データの圧縮符号化を行なう。この圧縮符号化は、前述したように、動き補償予測と、２次元ＤＣＴを組み合わせたものである。後述するように、この圧縮符号化部２１に対しては、ＧＯＰコントローラ１４からの情報Ｔｙｐにより、処理対象となっているフレームについて、前述したＩピクチャ、Ｐピクチャ、Ｂピクチャの３種のピクチャタイプの指定が行なわれる。
【００２３】
圧縮符号化部２１で圧縮符号化されたデータは、可変長符号化部２２に供給されて、ハフマン符号などの可変長符号とされ、定レート化バッファ２３に供給される。可変長符号化部２２は、また、当該対象となっている、例えばフレーム単位の発生符号量を算出して、定レートコントローラ２４に供給する。
【００２４】
定レート化バッファ２３は、一定通信路容量の通信路に、圧縮後の出力データＤｏを、定レートで出力端子２５を介して送出するためのバッファである。この定レート化バッファ２３がオーバーフローあるいはアンダーフローしないようにすることにより、出力データＤｏの定レート化が実現できる。このため、この定レート化バッファ２３におけるデータＤｏのバッファ占有量Ｂｅも、定レート化コントローラ２４に供給される。
【００２５】
定レート化コントローラ２４は、可変長符号化部２２からの発生符号量と、定レート化バッファ２３からのバッファ占有量Ｂｅの情報とに基づいて、圧縮符号化部２１での量子化のステップ幅の制御を行ない、定レート化バッファ２３がオーバーフローあるいはアンダーフローしないようにしている。
【００２６】
定レート化コントローラ２４は、また、ＧＯＰコントローラ１４に前述したフレーム単位の発生符号量、現在のバッファ占有量Ｂｅ、実際の圧縮符号化の結果を与えている。また、逆に、定レート化コントローラ２４は、ＧＯＰコントローラ１４からこれから符号化するフレームの確定したピクチャタイプの情報Ｔｙｐを受け取り、現在のバッファ占有量Ｂｅと、ピクチャタイプに応じて、圧縮符号化部２１で符号化しようとするピクチャの発生符号量の目標値であるターゲット量（ビット数）を設定する。
【００２７】
後述するように、ＧＯＰコントローラ１４は、現時点の入力画像データについて仮にＩピクチャとされたフレームを圧縮符号化したときの発生符号量の見積り量が、過去のＰピクチャ、Ｂピクチャでの発生符号見積り量に比べ圧倒的に多く、しかも、そのＩピクチャがシーンチェンジのフレームでない場合には、その仮のＩピクチャをＰピクチャに変更するようにする。
【００２８】
この目的のため、この例においては、圧縮符号化部２１の前段に、シーンチェンジ検出部１２と、発生符号量見積り部１７とを設ける。
【００２９】
入力画像データＤｉは、入力端子１１を通じてシーンチェンジ検出部１２に供給される。シーンチェンジ検出部１２は、動画中でシーンが変化するフレームを検出するもので、この例では、その検出方法として、例えば画像入力データＤｉの現在のフレームと、１フレーム前のフレームとの２フレーム間の差分をとり、その差分の絶対値がスレッショールド値を越えた場合に、現フレームをシーンチェンジのフレームとして検出する方法を用いる。なお、このシーンチェンジの検出方法としては、この方法に限られるものでないことはもちろんである。
このシーンチェンジ検出部１２の検出信号ＣＨＧ（この例ではフレーム単位）は、ＧＯＰコントローラ１４に供給される。
【００３０】
入力端子１１を通じた入力画像データＤｉは、また、ピクチャ順入れ替え部１３に供給される。ピクチャ順入れ替え部１３は、ＧＯＰシーケンス発生部１５からの前述した３種類のピクチャタイプ（Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３タイプ）の情報に基づいて、各ピクチャの予測符号化の方向を考慮して、指定されたピクチャタイプで予測符号化ができるようにフレーム順序を変更する。
【００３１】
ＧＯＰシーケンス発生部１５は、周期的にイントラ符号化のみを行なうフレーム、すなわち、Ｉピクチャを含み、前記の３種のピクチャタイプからなる複数フレームとして仮のＧＯＰのシーケンスを発生する。この例の場合、強制的に８フレームごとにＩピクチャが登場するように、仮のＧＯＰシーケンスが定められている。ここで、仮のＧＯＰシーケンスと称したのは、前述したように、このＧＯＰシーケンス発生部１５により指定されたＩピクチャが、ＧＯＰコントローラ１４によってＰピクチャに変更される場合があるからである。
【００３２】
このＧＯＰシーケンス発生部１５からのピクチャタイプの情報ｔｙは、ＧＯＰコントローラ１４、符号化モードおよび動きベクトル決定部１６、発生符号量見積り部１７に供給される。
【００３３】
符号化モードおよび動きベクトル決定部１６は、ピクチャ順入れ替え部１３からの画像データを受けるとともに、ＧＯＰシーケンス発生部１５からのピクチャタイプの情報ｔｙを受け、マクロブロック単位で符号化モードを決定する。この場合、ピクチャタイプがイントラフレームのＩピクチャであれば、すべてイントラモードとする。また、ピクチャタイプが他のタイプのインターフレームとするものであれば、イントラモードかインターモードか、インターモードであれば、予測符号化の予測方向が片方向か両方向か、片方向であれば、順方向か逆方向かを決定する。
【００３４】
また、符号化モードおよび動きベクトル決定部１６は、ピクチャタイプに応じて動き検出および動きベクトルの検出を行なう。
【００３５】
発生符号量見積り部１７は、実際の圧縮符号化に先立ち、指定されたピクチャタイプで符号化されたときの発生符号量（可変長符号化部２２からの発生符号量に対応）を見積る。発生符号量見積り部１７は、可変長符号化部２２で発生する符号化領域単位の発生符号量を事前に見積るもので、この例の場合、発生符号量の見積りはフレーム単位で行なわれる。
【００３６】
発生符号量見積り部１７では、発生符号量の見積もり時に、ＧＯＰシーケンス発生部１５からのピクチャタイプの情報ｔｙが各フレームで使用されることになる。また、符号化モードおよび動きベクトル決定部１６で決定されたイントラ、インター、予測方向などの符号化モードおよび動きベクトルなども、発生符号量を見積る際に使用される。
【００３７】
この例の場合、ＧＯＰシーケンス発生部１５からのピクチャタイプｔｙがＩピクチャを指示するものである場合には、前述したように、ＩピクチャがＰピクチャに変更される場合を考慮して、符号化モードおよび動きベクトル決定部１６では、Ｐピクチャである場合の符号化モード、動き検出および動きベクトルも決定される。
【００３８】
また、発生符号量見積り部１７は、ＧＯＰシーケンス発生部１５からのピクチャタイプｔｙがＩピクチャを指示するものである場合には、決定部１６で決定さらた前記ＩピクチャがＰピクチャである場合の符号化モード、動き検出および動きベクトルを用いて、Ｐピクチャである場合の発生符号見積り量の算出を行なう。
【００３９】
発生符号量見積り部１７で算出されたフレーム単位の発生符号見積り量は、ＧＯＰコントローラ１４を介してメモリ１８に蓄えられる。この例の場合、発生符号量見積り部１７で見積もっているフレームと、圧縮符号化部２１で実際に圧縮符号化しているフレームとの間に、数フレームの見積り量推移観察区間を設定し、メモリ１８には、その見積り量推移観察区間分の複数フレーム分の見積り量が記憶される。
【００４０】
この例においては、この見積り量推移観察区間の長さは、少なくとも１ＧＯＰ以上、この例では９フレームとしている。
【００４１】
そして、ＧＯＰコントローラ１４は、ＧＯＰシーケンス発生部１５からのピクチャタイプの情報ｔｙがＩピクチャを示しているとき、発生符号量見積り部１７からの発生符号量の見積り量により、当該フレームを、そのままＩピクチャで圧縮符号化したときの発生符号見積り量ＥＩと、Ｐピクチャに変更して圧縮符号化するときの発生符号見積り量ＥＰとを調べ、これにより、見積り量ＥＩが、見積り量ＥＰに比べて、有意とされるほどに多いかどうかを調べる。
【００４２】
動画が連続しているシーン中においては、フレームがＩピクチャとされたときの発生符号見積り量ＥＩａと、Ｐピクチャとされたときの発生符号見積り量ＥＰａとを比べると、概ね、見積り量ＥＩａは、ＥＰａ＜ＥＩａ＜２・ＥＰａの範囲にある。
【００４３】
一方、静止画が連続しているシーン中においては、フレームがＩピクチャとされたときの発生符号見積り量ＥＩｂと、Ｐピクチャとされたときの発生符号見積り量ＥＰｂとを比べると、上記の範囲内にはなく、ＥＩｂ＞２ＥＰｂとなる。場合によっては、ＥＩｂ＞１０ＥＰｂとなる。そこで、前記の見積り量ＥＩと、見積り量ＥＰとを比較することで、当該フレームが、静止画が連続しているシーン部分のものであるかどうかが判定できる。
【００４４】
そして、当該フレームがシーンチェンジ部分であれば、それはＩピクチャのまま符号化すべきものであるので、ピクチャタイプの変更は行なわないようにすべきであるので、見積り量ＥＩおよびＥＰと、シーンチェンジ検出出力ＣＨＧとからＩピクチャをＰピクチャに変更するかどうかを決定することが可能である。
【００４５】
しかし、この例では、静止画が連続していることをより確実に検知するようにするため、メモリ１８に蓄えられている、見積り量推移観察区間の過去のＰピクチャ、Ｂピクチャの発生符号見積り量の推移を調べ、静止画あるいは動きが非常に少ないシーンであるかどうかを調べて、ピクチャタイプをＩピクチャからＰピクチャに変更するかどうかを決定する。すなわち、見積り量推移観察区間の過去のＰピクチャ、Ｂピクチャの発生符号見積り量の推移を調べ、それに応じて、見積り量ＥＩと見積り量ＥＰとの差が度の程度であれば、ＩピクチャをＰピクチャに変更するかのスレッショールド値を変更するようにする。
【００４６】
また、定レート化バッファ２３の占有量が少なく容量に十分に余裕があれば、ＩピクチャをＰピクチャに変更しないようにすることもできるし、バッファ２３の占有量が大きければ、見積り量ＥＩと見積り量ＥＰの差がそれほど大きくなくても、ＩピクチャをＰピクチャに変更したほうがよい場合もある。そこで、ＧＯＰコントローラ１４は、この例では、定レート化コントローラ２４からのバッファ占有量の情報をも参照して、ＩピクチャをＰピクチャに変更するか否かを決定する。
【００４７】
そして、ＧＯＰコントローラ１４は、変更したピクチャタイプにより、実際の圧縮符号化を圧縮符号化部２１で行なわせるようにするため、前述したように、ピクチャタイプの情報Ｔypを、圧縮符号化部２１および定レート化コントローラ２４に知らせる。
【００４８】
ピクチャ順入れ替え部１３からの画像データは、遅延手段２０により、前述した見積り量推移観察区間の複数フレーム分だけ遅延されて圧縮符号化部２１に供給される。また、符号化モードおよび動きベクトル決定部１６からの情報も、前述した見積り量推移観察区間分の遅延を行なう遅延手段１９により遅延されて、圧縮符号化部２１に供給される。
【００４９】
なお、ＧＯＰコントローラ１４は、ＩピクチャからＰピクチャへの変更が頻繁に行なわれるなどして、イントラ符号化領域が少なくなる場合を考慮して、ＩピクチャからＰピクチャへの変更が予め設定しておいた規定回数を越えた場合には、後述するように、符号量の極端な増加が起きない、１フレームより小さい適当な符号化領域を周期的に選択設定し、その領域では量子化ステップ幅を細かくしたイントラ符号化モードで符号化が行なわれるように制御するようにするようにしている。この制御信号は、ＧＯＰコントローラ１４から遅延手段１９を通じて圧縮符号化部２１に送られる。
【００５０】
以上の例では、見積り量推移観察区間を１ＧＯＰ以上の長さとしたことにより、次のような効果が得られる。すなわち、ＧＯＰコントローラ１４でＩピクチャをそのまま、Ｉピクチャとするか、Ｐピクチャに変更するかのために注目しているフレームは、圧縮符号化部２１で符号化しようとしているフレームにとっては、１ＧＯＰ分だけ未来のＩピクチャである。
【００５１】
定レート化コントローラ２４において、圧縮符号化部２１でこれから圧縮符号化を行なおうとするＩピクチャのターゲット量を決めるとき、そのＩピクチャに対して１ＧＯＰ分未来のＩピクチャが、そのままＩピクチャであるのか、それともＰピクチャに変更されたが分かると、よりオーバーフローの危険性を回避しつつ、かつ、その中で許容されるビット量を有効に使うことが可能になり、信頼性の高いターゲット量の決定を行なうことができる。
【００５２】
上述のように、見積り量推移観察区間を１ＧＯＰ以上の長さとしたことにより、前記の１ＧＯＰ分未来の仮Ｉピクチャがそのまま、Ｉピクチャとされるか、Ｐピクチャに変更されたかの情報を定レート化コントローラ２４に伝達することができ、定レート化コントローラ２４は、圧縮符号化部２１での圧縮符号化の際のターゲット量を効率よく設定することができるものである。すなわち、１ＧＯＰ分未来のＩピクチャがＰピクチャに変更される場合には、圧縮符号化部２１でこれから符号化するＩピクチャについてのターゲット量は、それを考慮してより多くのビットを割り付けることができる。
【００５３】
以上の動作を、図２のタイムチャートにしたがって、さらに説明する。
図２Ａは、フレームパルスを示す。また、図２Ｂは、フレーム単位の入力画像データＤｉを示すものであり、数値は入力順のフレーム番号を示している。ＧＯＰコントローラ１４は、図２のタイムチャートの各フレームの最後で、そのフレームにおいて、図１の各部で生成された各種パラメータを読み込む。そして、ＧＯＰシーケンス発生部１５からのピクチャタイプの情報ｔｙがＩピクチャである場合には、その部分が静止画かどうかの判断を行ない、かつ、この例の場合には、バッファ占有量が過去の発生符号量の影響で上がっていると判断した場合には、そのＩピクチャをＰピクチャに変更する。
【００５４】
今、フレーム番号「１」のフレームがシーンチェンジのフレームであるとすると、図２Ｃに示すようなシーンチェンジ検出信号ＣＨＧがシーンチェンジ検出部１２から得られ、ＧＯＰコントローラ１４に与えられる。
【００５５】
この例の場合、ＧＯＰシーケンス発生部１５から図２Ｄに示すように、８フレーム毎にＩピクチャが挿入されるピクチャタイプの情報（図では記号ＩはＩピクチャ、記号ＰはＰピクチャ、記号ＢはＢピクチャを示している）が発生するものとする。このようなピクチャタイプの情報により、ピクチャ順入れ替え部１３では、図２Ｅに示すように、フレーム順を入れ替える。
【００５６】
そして、入れ替えられたフレームの画像データについて、フレーム単位で発生符号量見積り部１７で発生符号量の見積りを行なった結果の例を図２Ｆに示す。この図２Ｆで、各ピクチャタイプの記号に付与した数値は入力順のフレーム番号である。
【００５７】
そして、ピクチャ順入れ替え部１３からの画像データは、遅延手段２０で９フレーム分遅延される。図２Ｇ，Ｈ，Ｉ，…，Ｎ，Ｏは、ピクチャ順入れ替え部１３からの画像データがそれぞれ１フレームずつ遅延された状態を示している。
【００５８】
そして、図２Ｐは、圧縮符号化部２１で実際に圧縮符号化が行なわれたときの可変長符号化部２２から発生するフレーム単位の発生符号量のデータを示している。
【００５９】
次に、ＧＯＰコントローラ１４におけるＩピクチャからＰピクチャへの変更動作の処理ルーチンを、図３のフローチャートに従い説明する。
【００６０】
まず、ＧＯＰコントローラ１４は、ステップＳ１で、ＧＯＰシーケンス発生部１５で指定された現見積りフレーム（当該時点で発生符号量見積り部１７で見積りを行なうフレーム）のピクチャタイプを読む。次に、ステップＳ２で、定レート化コントローラ２４からの現符号化フレーム（当該時点で圧縮符号化部２１で符号化を行なうフレーム）の発生符号量を読む。
【００６１】
次に、ステップＳ３に進んで、現符号化フレームより１ＧＯＰ分未来である現見積りフレームの見積り量を読む。次に、ステップＳ４で、現見積りフレームがシーンチェンジフレームか否かを確かめるため、シーンチェンジ検出信号ＣＨＧを読む。次に、ステップＳ５で、現見積りフレームのピクチャタイプがＩピクチャであるか否か判断する。
【００６２】
現見積りフレームがＩピクチャでなければ、ステップＳ１０に飛んで、次の見積りフレームまで待ち、ステップＳ１に戻る。また、現見積りフレームがＩピクチャであれば、ステップＳ６に進んで、現符号化フレームより１ＧＯＰ分未来のフレームまでにシーンチェンジがあるか否か判断し、シーンチェンジがあれば、同様にステップＳ１０に飛んで、次の見積りフレームまで待ち、ステップＳ１に戻る。
【００６３】
一方、ステップＳ６で現符号化フレームより１ＧＯＰ分未来のフレームまでにシーンチェンジがないと判断したときは、ステップＳ７に進んで、見積りフレームがＩピクチャであったときの発生符号見積り量ＥＩと、見積りフレームがＰピクチャであったときの発生符号見積り量ＥＰとを比較し、見積り量ＥＩが見積もり量ＥＰよりも有意である程度に多いかどうか判断する。ここで、有意かどうかは、前述したように、この例では見積り量ＥＩが見積り量ＥＰの２倍以上であり、また、過去のＢピクチャ、Ｐピクチャの状況やバッファ占有量により応じた差異を判断するものとなる。ステップＳ６とステップＳ７の判断処理は、静止画かどうかの判断である。
【００６４】
ステップＳ６で見積り量ＥＩと見積り量ＥＰの差は、有意ではないとされたとき、つまり、静止画でないと判断されたときには、ステップＳ１０に飛んで、次の見積りフレームまで待ち、ステップＳ１に戻る。
【００６５】
また、ステップＳ７で見積り量ＥＩと見積り量ＥＰの差が、有意であるとされたとき、つまり、静止画であると判断されたときには、ステップＳ８に進み、定レート化バッファ２３のバッファ占有率が過去の発生符号量の影響で上がっているか否かを判断する。現符号化フレームより過去のフレームの符号発生量中に、シーンチェンジなどにより著しい符号発生量の変化があれば、バッファ占有率は上がっている。
【００６６】
ステップＳ８で、バッファ占有率が上がっていると判断されたときには、ステップＳ９に進んで、現見積りフレームのピクチャタイプをＩピクチャからＰピクチャに変更する。その後、ステップＳ１０に進み、次の見積りフレームまで待ち、ステップＳ１に戻る。また、ステップＳ８で、バッファ占有率が上がってはいないと判断されたときには、ピクチャタイプの変更を行なうことなく、ステップＳ１０に進んで、次の見積りフレームまで待ち、ステップＳ１に戻る。
【００６７】
図２のタイムチャートの例の場合に、フレーム番号「９」のフレームＩ９はＩピクチャとＧＯＰシーケンス発生部１５により指定されているが、その前の複数フレームＢ０〜Ｉ９までの発生符号見積り部１７で得られた各フレームの発生符号見積り量の推移を見ると、図２Ｅに示すように、フレームＩ９の見積り量ＥＩが、それより前の８フレーム分のＰピクチャおよびＢピクチャの発生符号見積り量に比べ、著しく多くなっている点を除いて、同程度の少ないビット数で推移しており、かつ、その区間、シーンチェンジも検出されていない。
【００６８】
そして、フレームＩ９をＰピクチャにして、発生符号見積り量を比べると、図２Ｅに示すように、その見積り量ＥＰは、それより前の８フレーム分のＰピクチャおよびＢピクチャの発生符号見積り量と同程度である。そこで、図３のフローチャートのステップＳ６およびＳ７により、フレームＢ０〜Ｉ９までは静止画が続いているものと判断されることになる。そして、図２の例では、フレームＩ１は、シーンチェンジフレームであるので、Ｉピクチャのままとなっており、このフレームＩ１より前のＧＯＰ（Ｉ−７〜Ｂ−２）の発生符号量が多くて、バッファ占有率が上がっているので、フレームＩ９は、Ｐピクチャに変更される。
【００６９】
以上のようにして、ＧＯＰシーケンス発生部１５により指定されたピクチャタイプがＩピクチャであるフレームの前後に、シーンチェンジや、符号量の多いフレームがない場合、静止画がかなり長い間連続していると判断する。
【００７０】
そして、その間のＰピクチャおよびＢピクチャでは、インターモードばかりが選択されて符号化されているので画質が向上してきているため、当該Ｉピクチャと指定されたフレームをそのままＩピクチャとしてイントラモードで符号化すると、エントロピーが増大し、発生符号量が一気に多くなり、バッファ占有率を押し上げることなる。その結果、定レート化コントローラ２４は量子化ステップ幅を粗くし、エントロピーを減らして定レート化制御を行なうので、量子化ステップ幅が当該Ｉピクチャと、その直後で粗くなり、画質が劣化してしまう。そして、その後のインターフレームで静止画が連続するため、徐々に画質が良くなるというように、冒頭で述べたような現象が生じてしまう。
【００７１】
この発明では、以上のような場合、Ｉピクチャとして指定されていたフレームのピクチャタイプは、Ｐピクチャに変更されるので、上記のような現象による画質の変化を防ぐことができる。
【００７２】
なお、前述したように、以上のようなＩピクチャからＰピクチャへの変更が、規定回数を越えて行なわれるような場合には、伝送上、イントラモードの領域は復号化のためには必ず必要であるので、ＧＯＰコントローラ１４から、符号量の極端な増加が起きないように１フレーム中の小さい範囲の適当な符号化領域を周期的に選択する制御信号が遅延手段１９を通じて圧縮符号化部２１に供給される。圧縮符号化部２１では、この指定された小領域では量子化ステップ幅を細かくしたイントラ符号化モードで圧縮符号化を行なう。これにより、イントラ符号化領域の画質が上げられ、周りのインター符号化領域と比べて差異がないようにされる。
【００７３】
なお、図３のフローチャートにおいて、ステップＳ８の処理は、必須のものではなく、ステップＳ６およびステップＳ７で静止画を検出したときには、ＩピクチャをＰピクチャに変更するようにしてもよい。
【００７４】
次に、定レート化コントローラ２４での処理動作を図４のフローチャートを参照しながら説明する。
【００７５】
まず、ステップＳ１１でフレームの先頭を判別する。フレームの先頭になったら、ステップＳ１２に進み、ＧＯＰコントローラ１４により確定されたピクチャタイプの情報を読む。次に、ステップＳ１３で最新ピクチャＰ０の見積り量Ｅ０を読み、記憶する。次に、ステップＳ１４に進んで、バッファ占有量Ｂｅを読む。
【００７６】
次に、ステップＳ１５において、これから圧縮符号化するピクチャのフレーム（現ピクチャという）のターゲットビット数Ｔを、以下の変数を使用して算出する。
▲１▼ピクチャタイプＴyp。
▲２▼バッファ占有量Ｂｅ。
▲３▼現ピクチャＰｎから、最新ピクチャＰ０までの未来のピクチャＰｎ，Ｐｎ−１，Ｐｎ−２，…，Ｐ０の発生符号見積り量Ｅｎ，Ｅｎ−１，Ｅｎ−２，…，Ｅ０。
【００７７】
この場合、ターゲットビット数Ｔは、これらの関数、
Ｔ＝ｆ（Ｔyp，Ｂｅ，Ｅｎ，Ｅｎ−１，Ｅｎ−２，…，Ｅ０）
として、算出する。
【００７８】
次に、ステップＳ１６に進み、最小符号化制御可能領域であるマクロブロック分のデータの符号化を終了したか否かを判定し、終了したら次のステップＳ１７に進む。
【００７９】
このステップＳ１７では、可変長符号化部２２からの発生符号量を読む。次に、ステップＳ１８に進んで、アクティビティを読む。次に、ステップＳ１９に進み、現ピクチャの累積発生符号量を求める。そして、ステップＳ２０に進み、圧縮符号化部２１に与える量子化ステップ幅の情報を、ターゲットビット数Ｔと、発生符号量と、アクティビティ（マクロブロック単位）とから求める。そして、ステップＳ２１において、求めた量子化ステップ幅の値を、圧縮符号化部２１に対して出力する。
【００８０】
次に、ステップＳ２２において、前回処理終了したのはフレームの最後のマクロブロックであるか否か判断し、そうであればステップＳ１１に戻り、次のフレームの先頭まで待ち、以上の処理を繰り返す。また、最後のマクロブロックでなければ、ステップＳ１６に戻り、次のマクロブロックの処理まで待ち、ステップＳ１６以降を繰り返す。
【００８１】
なお、ステップＳ１５でターゲットビット数を算出するための変数の例として挙げた変数は、最小限のものであり、これら以外の変数を用いても勿論よい。また、ステップＳ１１とステップＳ１６とでは、いわゆるボーリング手法でフレームパルスや、マクロブロック単位の処理時間と、ソフトウエアとの同期をとっているが、ボーリング手法とは別方法で割り込みを使用してもよい。
【００８２】
なお、以上はＭＰＥＧ１の場合として説明したが、ＭＰＥＧ２にも適用できることはいうまでもない。その場合には、フレーム単位ではなく、フィールド単位で発生符号量や見積り量を算出する場合もある。
【００８３】
また、この発明は、ＭＰＥＧに限らず、フレーム内符号化モードと、動き補償予測によるフレーム間符号化モードとを使用する他の符号化方法の場合にも、適用可能であることは言うまでもない。
【００８４】
また、以上の例では、フレーム単位やフィールド単位で、つまり、ＩピクチャからＰピクチャに変更する場合として説明したが、フレームやフィールドより小さい符号化領域単位、例えばスライスやマクロブロック単位で、イントラ符号化モードとインター符号化モードとの指定の変更を行なうようにする場合にも適用できる。その場合には、発生符号量見積り部１７および可変長符号化部は、その変更を行なう符号化領域単位で発生符号量を計算するようにする。
【００８５】
【発明の効果】
以上説明したように、この発明によれば、フレーム内符号化モードと、動き補償予測によるフレーム間符号化モードとを用いると共に、定レート化制御を行ないながら、リアルタイムで画像圧縮符号化を行なう画像符号化装置においても、動画中に静止画が続くようなシーンであっても、高画質の画像が得られる。
【図面の簡単な説明】
【図１】この発明による画像符号化装置の一実施例のブロック図である。
【図２】この発明による画像符号化装置の動作説明に用いるタイムチャートである。
【図３】図１の例の要部の処理動作の一例のフローチャートを示す図である。
【図４】図１の例の他の要部の処理動作の一例のフローチャートを示す図である。
【符号の説明】
１２  シーンチェンジ検出部
１３  ピクチャ順入れ替え部
１４  ＧＯＰコントローラ
１５  ＧＯＰシーケンス発生部
１６  符号化モードおよび符号化ベクトル決定部
１７  発生符号量見積り部
１８  メモリ
２１  圧縮符号化部
２２  可変長符号化部
２３  定レート化バッファ
２４  定レート化コントローラ
【図１】
0003661711.tif 000002
【図２】
0003661711.tif 000003
【図３】
0003661711.tif 000004
【図４】
0003661711.tif 000005