(57)【特許請求の範囲】
【請求項１】
映像の処理対象のフレームを量子化するために用いられる第１のパラメータを制御する符号化装置の制御方法であって、
前記映像を量子化する量子化工程と、
前記量子化工程で前記処理対象のフレームより前のフレームを量子化するために用いられた第２のパラメータを取得する第１の取得工程と、
前記処理対象のフレームより前に量子化された複数のフレームに対して予め設定された符号量と、当該複数のフレームを符号化した実際の符号量とから算出される評価値を取得する第２の取得工程と、
前記評価値が所定範囲内である場合の、前記第２のパラメータとしての基準値に対する前記第１のパラメータの変動が、前記評価値が前記所定範囲内でない場合の、前記基準値に対する前記第１のパラメータの変動よりも小さくなるように、前記第１のパラメータを設定する設定工程と
を有し、
前記設定工程は、前記処理対象のフレームから当該処理対象のフレームの直前のイントラフレームまでのフレーム数に基づいて、当該フレーム数が第１の値より小さい場合の前記所定範囲の上限値が、当該フレーム数が当該第１の値より大きい場合の前記所定範囲の上限値より大きくなる前記所定範囲を用いて、前記第１のパラメータを設定することを特徴とする符号化装置の制御方法。
【請求項２】
前記第１の取得工程は、前記処理対象のフレームの直前のイントラフレームのさらに前のイントラフレームから、前記処理対象のフレームの直前のイントラフレームまでの、複数のフレームのそれぞれを量子化するために用いた量子化パラメータの平均値を、前記第２のパラメータとして取得することを特徴とする請求項１に記載の制御方法。
【請求項３】
映像の処理対象のフレームを複数回量子化する符号化装置であって、当該処理対象のフレームを２回目に量子化するために用いられる第１のパラメータを制御する符号化装置の制御方法であって、
前記映像を量子化する量子化工程と、
前記量子化工程で前記処理対象のフレームに対して１回目に量子化するために用いられた第２のパラメータを取得する第１の取得工程と、
前記処理対象のフレームより前に量子化された複数のフレームに対して予め設定された符号量と、当該複数のフレームを符号化した実際の符号量とから算出される評価値を取得する第２の取得工程と、
前記評価値が所定範囲内である場合の、前記第２のパラメータとしての基準値に対する前記第１のパラメータの変動が、前記評価値が前記所定範囲内でない場合の、前記基準値に対する前記第１のパラメータの変動よりも小さくなるように、前記第１のパラメータを設定する設定工程と
を有し、
前記設定工程は、前記処理対象のフレームから当該処理対象のフレームの直前のイントラフレームまでのフレーム数に基づいて、当該フレーム数が第１の値より小さい場合の前記所定範囲の上限値が、当該フレーム数が当該第１の値より大きい場合の前記所定範囲の上限値より大きくなる前記所定範囲を用いて、前記第１のパラメータを設定することを特徴とする符号化装置の制御方法。
【請求項４】
前記設定工程は、前記評価値が前記所定範囲内である場合に、前記第１のパラメータを前記基準値に設定することを特徴とする請求項１乃至請求項３の何れか一項に記載の制御方法。
【請求項５】
前記設定工程は、前記実際の符号量が前記所定範囲に基づく符号量の上限値より大きいことを前記評価値が示す場合に、前記基準値を用いて前記処理対象のフレームを量子化するより符号量が小さくなるように、前記第１のパラメータを設定することを特徴とする請求項１乃至請求項４の何れか一項に記載の制御方法。
【請求項６】
前記設定工程は、前記実際の符号量が前記所定範囲に基づく符号量の下限値より小さいことを前記評価値が示す場合に、前記基準値を用いて前記処理対象のフレームを量子化するより符号量が大きくなるように、前記第１のパラメータを設定することを特徴とする請求項１乃至請求項５の何れか一項に記載の制御方法。
【請求項７】
前記第２の取得工程は、前記予め設定された符号量に対する、前記実際の符号量の割合に基づく前記評価値を取得することを特徴とする請求項請求項１乃至請求項６の何れか一項に記載の制御方法。
【請求項８】
前記第２の取得工程は、前記処理対象のフレームの直前のイントラフレームから当該処理対象のフレームの直前のフレームまでの複数のフレームに対して予め設定された符号量と、当該複数のフレームを符号化した実際の符号量とに基づく評価値を取得することを特徴とする請求項１乃至請求項７の何れか一項に記載の制御方法。
【請求項９】
さらに、前記予め設定された符号量に対する、前記実際の符号量の割合を算出する算出工程を有し、
前記第２の取得工程は、前記算出工程で算出された前記割合を評価値として取得することを特徴とする請求項１乃至請求項８の何れか一項に記載の制御方法。
【請求項１０】
前記設定工程は、前記処理対象のフレームから当該処理対象のフレームの直前のイントラフレームまでのフレーム数に基づいて、当該フレーム数が第２の値より小さい場合の前記所定範囲の下限値が、当該フレーム数が当該第２の値より大きい場合の前記所定範囲の下限値より小さくなる前記所定範囲を用いて、前記第１のパラメータを設定することを特徴とする請求項１乃至請求項９の何れか一項に記載の制御方法。
【請求項１１】
映像の処理対象のフレームを量子化するために用いられる第１のパラメータを制御する符号化装置であって、
前記映像を量子化する量子化手段と、
前記量子化手段で前記処理対象のフレームより前のフレームを量子化するために用いられた第２のパラメータを取得する第１の取得手段と、
前記処理対象のフレームより前に量子化された複数のフレームに対して予め設定された符号量と、当該複数のフレームを符号化した実際の符号量とから算出される評価値を取得する第２の取得手段と、
前記評価値が所定範囲内である場合の、前記第２のパラメータとしての基準値に対する前記第１のパラメータの変動が、前記評価値が前記所定範囲内でない場合の、前記基準値に対する前記第１のパラメータの変動よりも小さくなるように、前記第１のパラメータを設定する設定手段と
を有し、
前記設定手段は、前記処理対象のフレームから当該処理対象のフレームの直前のイントラフレームまでのフレーム数に基づいて、当該フレーム数が第１の値より小さい場合の前記所定範囲の上限値が、当該フレーム数が当該第１の値より大きい場合の前記所定範囲の上限値より大きくなる前記所定範囲を用いて、前記第１のパラメータを設定することを特徴とする符号化装置。
【請求項１２】
前記設定手段は、前記実際の符号量が前記所定範囲に基づく符号量の上限値より大きいことを前記評価値が示す場合に、前記基準値を用いて前記処理対象のフレームを量子化するより符号量が小さくなるように、前記第１のパラメータを設定することを特徴とする請求項１１に記載の符号化装置。
【請求項１３】
前記設定手段は、前記実際の符号量が前記所定範囲に基づく符号量の下限値より小さいことを前記評価値が示す場合に、前記基準値を用いて前記処理対象のフレームを量子化するより符号量が大きくなるように、前記第１のパラメータを設定することを特徴とする請求項１１又は請求項１２に記載の符号化装置。
【請求項１４】
コンピュータを、請求項１１乃至請求項１３の何れか一項に記載の符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化の符号量制御に関する。
【背景技術】
【０００２】
従来、ＪＰＥＧやＨ．２６４などで規格化されるＤＣＴ係数を量子化する符号化方式では、符号化時において、ＤＣＴ係数の量子化幅をフレーム毎に変更することによって、画像の符号量を削減している。このとき、量子化幅を変更することによって指定したレートに収まるように画像の符号量を制御する技術をレート制御と呼ぶ。
【０００３】
量子化幅は画質や画像サイズに対して非線形な数値空間であるため、量子化幅そのものを用いて、レートを制御することは難しい。そのため、実際のレート制御では、量子化パラメータと呼ばれる、より制御のしやすい数値空間でレート制御のための計算を行い、ＤＣＴ係数を量子化する際に量子化パラメータを量子化幅に変換することによって符号化を行っている。この量子化パラメータは、その値が小さいほど高画質な画像が得られるが符号量は増え、値が大きいほど画質は低下するが符号量が減少するという特徴がある。これに対し、例えば特許文献１によれば、符号量と量子化パラメータとの積が一定値になるように、量子化パラメータを制御する方法が開示されている。
【０００４】
映像符号化におけるレート制御では、フレームごと、ブロックごと、あるいは双方で、画質と符号量のバランスを調整しながら量子化パラメータを決定し、あらかじめ指定したレートに収まるように複数フレームの符号量を連続的制御する。例えば、フレーム、または、ブロックの符号化を開始する時点で、指定符号量よりも実際の符号量（実符号量）が上回りそうであれば、量子化パラメータを下げて符号化する。逆に、指定符号量よりも実符号量が下回りそうな場合は量子化パラメータを上げて符号化する必要がある。なお、ここでの実符号量とは、前フレーム、あるいは、前ブロックまでの画像を符号化したことにより生成されたストリームの符号量として扱っている。また、最終フレームの符号化が終わった時点では、ストリームの符号量そのものが実符号量となる。
【０００５】
量子化パラメータの算出方法は従来から様々な手法が提案されている。例えば、特許文献２には、バッファの占有量と画像の複雑度を基に量子化パラメータを算出することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１０９４２０号公報
【特許文献２】特開２００６−７４３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
量子化パラメータを大きくして符号化し、画質が劣化したときに知覚されるノイズは量子化ノイズと呼ばれる。このとき、時間的に量子化パラメータが急激に変化すると量子化ノイズが増減する。これにより、量子化ノイズがちらついて見えるという現象が起こる。
【０００８】
本願発明はこの課題に鑑みてなされたものであって、量子化パラメータの振動を抑制し、量子化ノイズのちらつきを減少させることを目的とする。
【課題を解決するための手段】
【０００９】
上記問題を解決するために本願発明は、映像の処理対象のフレームを量子化するために用いられる第１のパラメータを制御する符号化装置の制御方法であって、前記映像を量子化する量子化工程と、前記量子化工程で前記処理対象のフレームより前のフレームを量子化するために用いられた第２のパラメータを取得する第１の取得工程と、前記処理対象のフレームより前に量子化された複数のフレームに対して予め設定された符号量と、当該複数のフレームを符号化した実際の符号量とから算出される評価値を取得する第２の取得工程と、前記評価値が所定範囲内である場合の、前記第２のパラメータとしての準値に対する前記第１のパラメータの変動が、前記評価値が前記所定範囲内でない場合の、前記基準値に対する前記第１のパラメータの変動よりも小さくなるように、前記第１のパラメータを設定する設定工程とを有し、前記設定工程は、前記処理対象のフレームから当該処理対象のフレームの直前のイントラフレームまでのフレーム数に基づいて、当該フレーム数が第１の値より小さい場合の前記符号量所定範囲の上限値が、当該フレーム数が当該第１の値より大きい場合の前記符号量所定範囲の上限値より大きくなる前記所定範囲を用いて、前記第１のパラメータを設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、量子化パラメータの振動が抑制され、量子化ノイズのちらつきを減少させることが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本符号化装置のブロック図
【図２】符号量制御部における制御のフローチャート
【図３】量子化パラメータの変動例
【図４】実施形態２の符号量制御部における制御のフローチャート
【図５】実施形態３の符号量制御部における制御のフローチャート
【図６】本願発明が適用可能なコンピュータのハードウェア構成例
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜実施形態１＞
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
本発明の実施形態１による符号化装置の例を図１に示す。符号化装置１００は、ＤＣＴ部１０１、量子化部１０２、可変長符号化部１０３、逆量子化部１０４、逆ＤＣＴ部１０５、デブロッキングフィルタ部１０６、イントラ予測部１０７、インター予測部１０８、動き予測部１０９、符号量制御部１１０から構成される。以上のように構成された符号化装置について、以下にその動作を説明する。
【００１５】
まず、フレーム内のデータのみで復号可能となるイントラマクロブロックの符号化について説明する。マクロブロックとは、通常１６×１６画素のブロックであり、後述するＤＣＴ変換やイントラ予測の単位となるブロックを複数個含む。入力された映像信号において符号化対象のマクロブロックの各画素値は、イントラ予測部１０７において作成された符号化対象のマクロブロックの画素予測値と、画素毎の差分値が計算され、１６×１６画素の差分値のブロックが生成される。
【００１６】
次に、差分値のブロックに対してＤＣＴ部１０１にてＤＣＴ変換が行われる。この処理は、通常４×４画素や８×８画素のブロック単位に行われ、周波数成分の係数データが出力される。係数データは量子化部１０２に入力されて量子化される。量子化された係数データは、可変長符号化部１０３により可変長符号化される。さらに、量子化後の係数データは逆量子化部１０４と逆ＤＣＴ部１０５にて復号され、前記マクロブロックの画素予測値との画素ごとの加算が行われ、１６×１６画素の復号画素に変換される。得られた復号画素は、イントラ予測部１０７に入力される。イントラ予測部１０７では、後に符号化される周辺のマクロブロックのための画素予測値が作成される。
【００１７】
次に、フレーム間の予測を用いるインターマクロブロックの符号化について説明する。動き予測部１０９では、現在符号化するブロック（動き補償の単位となるブロック）と参照フレームの画素とのマッチング処理を行い、誤差が最小となるようなベクトル値が算出される。動き予測の結果に基づいてインター予測部１０８が出力した、符号化対象のマクロブロックの画素予測値と、映像信号における符号化対象のマクロブロックの画素値との差分値が計算され、ＤＣＴ部１０１に入力される。この後の処理は、基本的にイントラマクロブロックの符号化と同様である。逆ＤＣＴ部１０５にて復号された係数は、前記マクロブロックの画素予測値との画素ごとの加算が行われる。得られた復号画素は、視覚的なブロック歪みの低減のためにデブロッキングフィルタ部１０６経由でインター予測部１０８に入力する。
【００１８】
符号量制御部１１０は、量子化部１０２にて用いられる量子化パラメータを算出する。符号量制御部１１０は、実符号量が指定符号量の９０％となるように、フレーム単位で量子化パラメータを決定する。
【００１９】
図２に、符号量制御部１１０における量子化パラメータの算出方法のフローチャートを示す。
【００２０】
ステップＳ２０１において、符号量制御部１１０は、符号化対象のフレームを量子化する際に使用する量子化パラメータとして基準量子化パラメータ（ｂａｓｅ＿ｑｐ）を取得する。本実施形態では基準量子化パラメータとして、前のＧＯＰの符号化に利用した量子化パラメータを平均したものを取得する。
【００２１】
次にステップＳ２０２において、符号量制御部１１０は、量子化部１０２において量子化されるフレームがイントラフレームかインターフレームかを判断する。イントラフレームの場合はステップＳ２０３へ、インターフレームの場合はステップＳ２０４へ進む。
【００２２】
次にステップＳ２０３において、符号量制御部１１０は、符号化対象のフレームを量子化する際に使用する量子化パラメータとして、ステップＳ２０１で取得した基準量子化パラメータを設定する。
【００２３】
ステップＳ２０４において、符号量制御部１１０は、符号量制御精度ｒ（ｎ）を算出する。符号量制御精度ｒ（ｎ）は、現在符号化中のＧＯＰ内の第ｎフレームまでの符号量の評価値であり、指定符号量に対する実符号量の割合である。ｒ（ｎ）＝１００である場合、実符号量が指定符号量に一致しており、ｒ（ｎ）＞１００で実符号量が指定符号量よりも大きく、ｒ（ｎ）＜１００で実符号量が指定符号量よりも小さいことを示している。
【００２４】
例えば、指定符号量がデコーダのバッファ量の最大値に近い値であった場合、ＧＯＰの符号量制御精度が１００を越えると、デコーダのバッファがオーバーフローを起こす可能性がある。よって符号量制御精度は１００以下となるように制御することが重要となる。逆に、ＧＯＰの符号量制御精度が低すぎると、割り当てられた符号量以下で符号化することにより、画質に影響が出る。よって符号量制御精度は、１００以下でできるだけ高い値となるように制御することが重要となる。
【００２５】
符号量制御精度ｒ（ｎ）は以下の式（１）にて算出される。
【００２６】
【数１】
0005641755.tif 000002
【００２７】
ただし、ｎ−１＝ｉ（ｎ）の場合、ｒ（ｎ）＝１００
【００２８】
【数２】
0005641755.tif 000003
【００２９】
以下、式（１）中の変数について説明する。ｔａｒｇｅｔ＿ｂｉｔ＿ｒａｔｅは、あらかじめ指定する符号量（単位：ｂｐｓ）である。ｆｒａｍｅ＿ｒａｔｅは、映像のフレームレートである。ｓｉｚｅ＿ｇｏｐ（ｎ）は、符号化対象のフレーム（第ｎフレーム）を含むＧＯＰのフレームの数であり、固定ＧＯＰで符号化する場合は定数である。ｉ（ｎ）は、第ｎフレームの直前のイントラフレームのフレーム番号を示す（ただし、第ｎフレームがイントラフレーム場合は、そのイントラフレームそのものとする）。ｆｒａｍｅ＿ｂｙｔｅ（ｎ）は、第ｎフレームの実際のフレームサイズをバイトで表現したものである。ｇｏｐ＿ｂｙｔｅ（ｎ）は、第ｎフレームを含む指定符号量から算出したターゲットＧＯＰサイズをバイトで表現したものである。
【００３０】
符号量制御精度ｒ（ｎ）は、つまり、第ｉ（ｎ）＋１フレームから第ｎ−１フレームまでの、実際のフレームサイズの合計とターゲットフレームサイズの合計の割合に１００をかけたインターフレームの符号量の制御精度示すものである。なお、イントラ直後の符号量制御精度ｒ（ｎ）は、インターフレームの符号化を行っておらず符号量制御精度が算出できないため、便宜的にｒ（ｎ）＝１００としている。
【００３１】
次にステップＳ２０５において、符号量制御部１１０は、ステップＳ２０４で算出したｒ（ｎ）の閾値判定を行なう。ｒ（ｎ）が８５以上で９５以下の場合はＳ２０６へ、ｒ（ｎ）が９５より大きい場合はＳ２０７へ、ｒ（ｎ）が８５より小さい場合はＳ２０９へ進む。
【００３２】
ステップＳ２０６において、符号量制御部１１０は、入力されたフレームの量子化パラメータとして、ステップＳ２０１で取得した基準量子化パラメータを設定する。
【００３３】
ステップＳ２０７において、符号量制御部１１０は、以下式（２）を用いて、基準量子化パラメータ（ｂａｓｅ＿ｑｐ）に対して値が大きくなる仮量子化パラメータｑｐｔ（ｎ）を計算する。
【００３４】
【数３】
0005641755.tif 000004
【００３５】
ステップＳ２０８において、符号量制御部１１０は、ｑｐｔ（ｎ）の値が０未満あるいは５１より大きい場合、それぞれ、０と５１に、その他の値はｑｐｔ（ｎ）をそのまま返すクリップ関数の処理を行い、量子化パラメータｑｐｔ（ｎ）を算出する。
【００３６】
【数４】
0005641755.tif 000005
【００３７】
ステップＳ２０９において、符号量制御部１１０は、以下式（４）を用いて、基準量子化パラメータｂａｓｅ＿ｑｐに対して値が小さくなる仮量子化パラメータｑｐｔ（ｎ）を計算する。
【００３８】
【数５】
0005641755.tif 000006
【００３９】
符号量制御部１１０が上述したフローによって符号量を制御することにより、符号量制御精度ｒ（ｎ）は変動抑制区間（８５≦ｒ（ｎ）≦９５）で、基準量子化パラメータに対してｑｐ（ｎ）の変動が抑制される。図３は、本処理により量子化パラメータの振動が抑えられていることを示している。
【００４０】
これにより、本実施形態によれば、量子化ノイズのちらつきを抑制することができる。なお、本実施例では実符号量が指定符号量の９０％となるように制御するために、変動抑制区間を９０付近に設定しているが、実符号量が誤差の範囲で指定符号量をオーバーすることを許容するのであれば１００付近で制御してもよい。
【００４１】
本実施形態では、基準量子化パラメータは、符号化対象フレームが含まれるＧＯＰの前のＧＯＰの量子化パラメータを利用しているが、例えば、２パスエンコーディングにおいて、１パス目で求めた符号化情報を元に算出した量子化パラメータなどを用いてもよい。一般的に、２パスエンコーディングにおいて算出される基準量子化パラメータは符号量制御精度が高いとされる。しかし、こういった技術を用いても、例えば、Ｈ．２６４の場合、量子化パラメータを０から５１という粗い精度で制御するため、複数フレームの量子化パラメータを同一の値としたまま、符号量制御精度を１００に一致させることは難しい。そのためフレームごとに量子化パラメータを制御する必要がある。しかし、量子化パラメータを制御すると、パラメータ値が振動し、量子化ノイズのちらつきが発生してしまうため、本実施形態による量子化パラメータの振動の抑制は有効である。
【００４２】
また、本実施形態では量子化パラメータの制御をフレーム単位で行い、フレーム内のブロックは同一の量子化パラメータで符号化する方法を例に説明しているが、フレーム単位の制御に限定されず、ブロック単位で制御を行ってもよい。この場合、符号量制御精度ｒ（ｎ）はフレーム単位でなくブロック単位で算出することになる。
【００４３】
また、イントラフレームは等間隔で挿入されるものとして説明をしたが、本実施形態における処理は、シーンチェンジフレームを検出してそれをイントラフレームとしてもよい。前述のようにＧＯＰをイントラフレームから次のイントラフレームの直前フレームまでの集合とすれば、ｇｏｐ＿ｂｙｔｅ（ｎ）とｓｉｚｅ＿ｇｏｐ（ｎ）がシーンチェンジ検出の位置に応じて可変となるだけで符号量制御部１１０の基本的なフローは同一である。
【００４４】
また、本実施形態の変動抑制区間は式（２）の定数値に限定されず、所定範囲内において量子化パラメータの変動が抑制される式であれば、例えば以下に示す式（５）でも同等の効果を得ることができる。
【００４５】
【数６】
0005641755.tif 000007
【００４６】
また、本実施形態では、符号化にＨ．２６４方式を用いて説明しているが、これに限定されず、ＭＰＥＧ−２など他の動画符号化方式を用いてもよい。また、ＩフレームとＰフレームを利用して符号化する方法について説明をしたが、Ｂフレームを利用する場合でも、本願発明を適用することが可能である。
【００４７】
本実施形態では、符号量制御精度は、インターフレームの符号量制御精度として計算しているが、それに限定されず、イントラフレームのサイズを含めて計算をして同様の効果が得られる。
【００４８】
＜実施形態２＞
本実施形態では、実施形態１で説明した量子化パラメータを更に補正する実施形態について説明する。
【００４９】
図４に、本実施形態の符号量制御部１１０における量子化パラメータの算出方法のフローチャートを示す。本フローチャートにおいて、ステップＳ２０１〜Ｓ２０８までは、実施形態１で説明した図２のフローチャートと同一である。ステップＳ４０１において、符号量制御部１１０は、ステップＳ２０４で算出した量子化パラメータｑｐ（ｎ）に、以下式を用いて補正を行なう。
【００５０】
【数７】
0005641755.tif 000008
【００５１】
式（６）を用いて補正をかけることにより、量子化パラメータの変動がより平滑化され中長期的な振動を抑えることができる。
【００５２】
＜実施形態３＞
本実施形態では、実施形態１で説明した量子化パラメータの算出方法に、第ｎフレームのイントラフレームからのフレーム数に応じて変動抑制方式を変更するステップを加えた実施形態について説明する。
【００５３】
図５に、本実施形態の符号量制御部１１０における量子化パラメータの算出方法のフローチャートを示す。本フローチャートにおいて、ステップＳ２０１〜Ｓ２０４までは、実施形態１で説明した図２のフローチャートと同一である。
【００５４】
ステップＳ５０１において、符号量制御部１１０はｒ（ｎ）が８５より大きいか否かを判定する。ｒ（ｎ）が８５より大きい場合はステップＳ５０２へ、ｒ（ｎ）が８５より小さい場合はステップＳ５０７へ進む。
【００５５】
ステップＳ５０２において、符号量制御部１１０は、変動抑制区間の上限値Ｌを算出する。この上限値Ｌは、イントラフレームから符号化対象のフレームまでのフレーム数が少ない場合大きくなる値である。以下に式を示す。
【００５６】
【数８】
0005641755.tif 000009
【００５７】
ステップＳ５０３において、符号量制御部１１０は、ｒ（ｎ）が変動抑制区間上限値Ｌより小さいか否かを判定する。ｒ（ｎ）がＬより小さい場合はステップＳ５０４へ、ｒ（ｎ）がＬより大きい場合はステップＳ５０５へ進む。
【００５８】
ステップＳ５０４において、符号量制御部１１０は、入力されたフレームの量子化パラメータとして、ステップＳ２０１で取得した基準量子化パラメータを設定する。
【００５９】
ステップＳ５０５において、符号量制御部１１０は、以下式（８）を用いて、基準量子化パラメータｂａｓｅ＿ｑｐに対して値が大きくなる仮量子化パラメータｑｐｔ（ｎ）を計算する。
【００６０】
【数９】
0005641755.tif 000010
【００６１】
ステップＳ５０６において、符号量制御部１１０は、実施形態１のステップＳ２０８同様に、クリップ関数の処理を行い、量子化パラメータｑｐｔ（ｎ）を算出する。
【００６２】
ステップＳ５０７において、符号量制御部１１０は、以下式（９）を用いて、基準量子化パラメータｂａｓｅ＿ｑｐに対して値が小さくなる仮量子化パラメータｑｐｔ（ｎ）を計算する。
【００６３】
【数１０】
0005641755.tif 000011
【００６４】
イントラフレーム直後（例えばイントラフレームから３フレーム以内）のｒ（ｎ）は、イントラフレームからのフレーム数が多い場合（例えばイントラフレームから３フレーム以上）のｒ（ｎ）と比べて、その値がばらつくことが多い。これは、符号量制御精度を算出するためのフレーム符号量のサンプル数が少ないことに起因する。そこで、イントラフレーム直後（本実施形態では所定数３フレーム）は、量子化パラメータの変動抑制区間を広げることにより量子化パラメータの不要な変動を抑える。そして量子化パラメータのばらつきが収束した後（本実施形態では所定数３フレームより次のフレーム以降）に制御を通常の変動抑制区間に戻す。
【００６５】
なお、本実施形態では、変動抑制区間の上限値のみを制御しているが、これに限定されず下限値も制御してもよい。
【００６６】
＜実施形態４＞
図１に示したそれぞれの装置が有する各部は全てハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、各部をコンピュータプログラムでもって構成しても良い。この場合、このようなコンピュータプログラムを格納するためのメモリと、このメモリに格納されているコンピュータプログラムを実行するＣＰＵとを有するコンピュータは、上記各実施形態に係る画像表示装置に適用することができる。
【００６７】
図６は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【００６８】
ＣＰＵ６０１は、ＲＡＭ６０２やＲＯＭ６０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像表示装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ６０１は、図１の１０１〜１１０として機能することになる。
【００６９】
ＲＡＭ６０２は、外部記憶装置６０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）６０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ６０２は、ＣＰＵ６０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ６０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【００７０】
ＲＯＭ６０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部６０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ６０１に対して入力することができる。表示部６０５は、ＣＰＵ６０１による処理結果を表示する。また表示部６０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【００７１】
外部記憶装置６０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置６０６には、ＯＳ（オペレーティングシステム）や、図１に示した各部の機能及び図２に示したフローをＣＰＵ６０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置６０６には、処理対象としての各画像データが保存されていても良い。
【００７２】
外部記憶装置６０６に保存されているコンピュータプログラムやデータは、ＣＰＵ６０１による制御に従って適宜ＲＡＭ６０２にロードされ、ＣＰＵ６０１による処理対象となる。Ｉ／Ｆ６０７には、ＬＡＮやインターネット等のネットワーク、他の機器を接続することができ、本コンピュータはこのＩ／Ｆ６０７を介して様々な情報を取得したり、送出したりすることができる。６０８は上述の各部を繋ぐバスである。
【００７３】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ６０１が中心となって行なう。
【００７４】
＜その他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７５】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００７６】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００７７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
0005641755.tif 000012
【図２】
0005641755.tif 000013
【図３】
0005641755.tif 000014
【図４】
0005641755.tif 000015
【図５】
0005641755.tif 000016
【図６】
0005641755.tif 000017