(57)【特許請求の範囲】
【請求項１】
画像データを量子化マトリックスで量子化する量子化手段と、
前記量子化手段により量子化された前記画像データを可変長符号に変換する変換手段と、
可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出手段と、
前記算出手段により算出された量子化インデックスの１フレーム分の平均値を計算し、計算された前記平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定手段と、
前記決定手段により決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択手段と、
前記選択手段により選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された前記次の画像データとともに出力する量子化マトリックスを、前記復号時に使用される量子化マトリックスに付替える付替え手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数の量子化マトリックスの周波数の低い成分は、互いに同一で、かつ、前記復号時に使用される量子化マトリックスとも同一である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記平均値が前記複数のランクのうちのいずれのランクに該当するかを判断する時、ヒステリシス特性を持って判断を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
画像データを量子化マトリックスで量子化する量子化ステップと、
前記量子化ステップにより量子化された前記画像データを可変長符号に変換する変換ステップと、
可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出ステップと、
前記算出ステップにより算出された量子化インデックスの１フレーム分の平均値を計算し、計算された前記平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定ステップと、
前記決定ステップにより決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択ステップと、
前記選択ステップにより選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された前記次の画像データとともに出力する量子化マトリックスを、前記復号時に使用される量子化マトリックスに付替える付替えステップと
を含むことを特徴とする画像処理方法。
【請求項５】
画像データを量子化マトリックスで量子化する量子化ステップと、
前記量子化ステップにより量子化された前記画像データを可変長符号に変換する変換ステップと、
可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出ステップと、
前記算出ステップにより算出された量子化インデックスの１フレーム分の平均値を計算し、計算された前記平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定ステップと、
前記決定ステップにより決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択ステップと、
前記選択ステップにより選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された前記次の画像データとともに出力する量子化マトリックスを、前記復号時に使用される量子化マトリックスに付替える付替えステップと
をコンピュータに実行させるためのプログラムが記録されているコンピュータが読み取
り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、量子化に使用する量子化マトリックスと、逆量子化に使用する逆量子化マトリックスの量子化ステップを異なった値とすることにより、人間の主観的な画質を向上させるようにした画像処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
一般的に使用されているＶＴＲ（Video  Tape  Recorder）やビデオサーバには、ＭＰＥＧ（Moving  Picture  Experts  Group）に代表される画像圧縮技術が用いられている。図１５は、画像圧縮処理を行う符号化器の構成例を表している。
【０００３】
図１５に示すように、符号化器１０内では、画像信号が走査変換マクロブロック化器１１に入力される。走査変換マクロブロック化器１１において、画像信号がフィールド単位からフレーム単位に変換され、さらに、走査線の順位から１６×１６画素のマクロブロックの順位に変換される。このマクロブロック単位の信号は、それを構成する８×８画素のブロック（ＤＣＴブロック）単位で、加算器１２において、動き補償器２１の出力する予測信号と加算されてＤＣＴ（Discrete  Cosine  Transform）器１３に入力される。
【０００４】
ＤＣＴ器１３では、ブロックごとに離散コサイン変換処理が行われて、ＤＣＴ係数が算出される。このＤＣＴ係数は、量子化器１４に入力され、レート制御器１７から出力された量子化インデックス信号と、予め設定されている量子化マトリックスとの積で割り算することで量子化される。量子化された結果は、ジグザグスキャンされて量子化器１４から出力される。この量子化データは、ＶＬＣ（Variable  Length  Code）器１５に入力され、可変長符号に変換された後、出力バッファ１６を介して、ストリームとして出力される。レート制御器１７では、出力バッファ１６からストリームの発生符号量が入力され、量子化器１４に出力する量子化インデックスが算出される。
【０００５】
また、量子化器１４から出力される量子化データは、予測信号作成（局部復号）のため、逆量子化器１８により逆量子化され、さらに逆ＤＣＴ器１９により逆ＤＣＴされた後、加算器２０に入力される。加算器２０において、逆ＤＣＴ器１９の出力は、動き補償器２１の出力する動き補償予測信号と加算されて、動き補償器２１に入力され、記憶される。動き予測器２２は、走査変換マクロブロック化器１１の出力から動きベクトルを生成し、動き補償器２１に出力している。動き補償器２１は、局部復号された画像データをこの動きベクトルに基づいて動き補償予測信号を生成する。
【０００６】
符号化器１０で符号化された（圧縮された）信号は、図１６に示すような、復号器３０において復号される。すなわち、ストリームは、入力バッファ３１を介して、可変長復号化器（逆ＶＬＣ器）３２に入力される。可変長復号化器３２は、入力されたストリームを復号し、画像信号成分を逆量子化器３３に出力し、動きベクトルを動き補償器３７に出力する。逆量子化器３３において、入力された信号が逆量子化マトリックスに対応して、ＤＣＴ係数に変換される。逆ＤＣＴ器３４において、ＤＣＴ係数が逆ＤＣＴ処理され、動き補償器３７は、既に復号されている画像信号を、動きベクトルに対応して、動き補償して予測信号を生成する。逆ＤＣＴ器３４の出力は、加算器３５に入力されて、動き補償器３７の出力する予測信号と加算されて復号される。復号信号は動き補償器３７に出力され、記憶されるとともに、フォーマット変換器３６に出力される。フォーマット変換器３６において、マクロブロック単位の信号から、走査線単位の画像信号に変換される。
【０００７】
一般的に、逆量子化器３３で使用される逆量子化マトリックスは、量子化器１４で使用された量子化マトリックスと同じマトリックスが使用される（以下の説明では、特に断らない限り、逆量子化マトリックスも量子化マトリックスと表現する）。
【０００８】
画像の編集等を行う場合、ＶＴＲ等を使用して、繰り返しダビングが行われる。ダビングが繰り返し行われると、結果的に、上述した符号化器１０による画像の量子化と、復号器３０による逆量子化が繰り返し行われることとなり、画像の量子化、および逆量子化時に量子化誤差に起因して発生する画像の歪みが蓄積して、著しい画像劣化が引き起こされる場合がある。
【０００９】
そこで、本出願人は、例えば特開平５−２８４４５８号として、前回の画像量子化時に用いた量子化マトリックスを検索し、今回の画像量子化時に、再び同じ量子化マトリックスで、画像データの量子化をすることを提案した。また、前回の画像データ量子化時に用いた量子化マトリックスや動きベクトルなどを、画像情報とともに多重化して伝送し、次回の画像量子化時に、再度使用することも提案されている。
【００１０】
しかしながら、このような手法が有効であるのは、単純にダビングが繰り返される場合に限られる。つまり、画像データからのマクロブロック（ＤＣＴブロック）を抽出する方法（ブロックの取り方）が常に同一であることが前提となる。
【００１１】
例えば、テレビコマーシャル制作において、新たに制作する画像の任意の部分に、特殊効果装置により、素材ビデオの画像の一部分を切りとって張り付ける処理が多く行われている。このような処理が行われると、多くの場合、マクロブロックの取り方が変更されることになる。このような状況を「画素ずらし」と呼ぶこととする。
【００１２】
画素ずらしが発生する例を、図１７を参照して説明する。すなわち、画素ずらしのある画面とは、画面Ｃのような画面である。この画面Ｃは、画面Ａの領域ＲA（８×８画素単位のブロックの区切りとずれている）に、別の画面Ｂの領域ＲBのブロックが張り付けられて、制作された画面である。
【００１３】
このような画素ずらしが行われている画面Ｃの画像は、画面Ａの画像データのマクロブロックの取り方と取り方が変更されているため、単純なダビングを前提とする前述の画像歪み抑制方法では、前回使用した量子化マトリックスが再現されても有効に機能しない。
【００１４】
【発明が解決しようとする課題】
このように、画素ずらしが行われている画像が、繰り返しダビングされると、画像信号の量子化、および逆量子化時に発生する変換誤差が拡大することになり、変換誤差を原因とするノイズ成分が、次第に蓄積されて、人間の主観的な画質劣化の原因となる。画質劣化の最大の要因は、モスキートノイズと呼ばれる高周波成分のノイズが増加することである。そこで、ＭＰＥＧなどの画像圧縮においては、人間の視覚特性を利用して、画像の空間周波数の高周波成分に相当するＤＣＴ係数を、低周波成分に比べて、粗く量子化することが行われている。この高周波成分と低周波成分の量子化値の重みづけは、量子化マトリックスにおける量子化ステップを異なった値とすることで行われている。
【００１５】
図１８に、高周波成分と低周波成分の量子化ステップの異なる量子化マトリックスの例を示す。量子化マトリックスの左上部分は低周波成分の量子化ステップであり、右下は高周波成分の量子化ステップである。高周波成分の量子化ステップは、低周波成分の量子化ステップより大きいことがわかる。なお、図１９は、高周波成分と低周波成分の量子化ステップに重みをつけずに、量子化する量子化マトリックスの例である。この量子化マトリックスで量子化が行われると、高周波成分は、低周波成分に比べて、著しく大きな値で量子化される。
【００１６】
１回だけの画像の圧縮であれば、図１８に示すような量子化マトリックスを利用することで、高周波ノイズ成分による画像の歪みを、人間の視覚特性により感知され難くすることが可能である。しかしながら、「画素ずらし」を含む画面のダビングが繰り返された場合、高周波ノイズ成分がダビングごとに蓄積して、遂には人間にも感知されるレベルとなる。このことは、画素ずらしによって、マクロブロックの分割の仕方が変更されると、高周波側のＤＣＴ係数が低周波側のＤＣＴ係数に影響を及ぼすようになると表現することができる。その結果、図１８に示すような、量子化マトリックスを用いたとしても、ダビングが繰り返されると、図２０に示すように、画素ずらしのない画面に較べて、画素ずらしを含む画面は、ＳＮＲ（Signal  to  Noise  Ratio）が低下する課題がある。
【００１７】
本発明は、このような状況に鑑みてなされたものであり、量子化時と逆量子化時とで使用される量子化マトリックスの量子化ステップを、異なった値とすることにより、人間の主観的な画質を向上させるものである。
【００１８】
【課題を解決するための手段】
請求項１に記載の画像処理装置は、画像データを量子化マトリックスで量子化する量子化手段と、量子化手段により量子化された画像データを可変長符号に変換する変換手段と、可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出手段と、算出手段により算出された量子化インデックスの１フレーム分の平均値を計算し、計算された平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定手段と、決定手段により決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択手段と、選択手段により選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された次の画像データとともに出力する量子化マトリックスを、復号時に使用される量子化マトリックスに付替える付替え手段とを備えることを特徴とする。
【００１９】
請求項４に記載の画像処理方法は、画像データを量子化マトリックスで量子化する量子化ステップと、量子化ステップにより量子化された画像データを可変長符号に変換する変換ステップと、可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出ステップと、算出ステップにより算出された量子化インデックスの１フレーム分の平均値を計算し、計算された平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定ステップと、決定ステップにより決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択ステップと、選択ステップにより選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された次の画像データとともに出力する量子化マトリックスを、復号時に使用される量子化マトリックスに付替える付替えステップとを含むことを特徴とする。
【００２０】
請求項５に記載の記録媒体は、画像データを量子化マトリックスで量子化する量子化ステップと、量子化ステップにより量子化された画像データを可変長符号に変換する変換ステップと、可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出ステップと、算出ステップにより算出された量子化インデックスの１フレーム分の平均値を計算し、計算された平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定ステップと、決定ステップにより決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択ステップと、選択ステップにより選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された次の画像データとともに出力する量子化マトリックスを、復号時に使用される量子化マトリックスに付替える付替えステップとをコンピュータに実行させるためのプログラムが記録されていることを特徴とする。
【００２４】
請求項１に記載の画像処理装置、請求項４に記載の画像処理方法、および請求項５に記載の記録媒体においては、量子化マトリックスで量子化された画像データが可変長符号に変換され、可変長符号に変換したときの発生符号量に対応する量子化インデックスが算出される。そして、算出された量子化インデックスの１フレーム分の平均値が計算され、計算された平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクが決定され、その決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスが選択される。また、選択された量子化マトリックスの量子化ステップの高周波成分の値が復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された次の画像データとともに出力する量子化マトリックスが、復号時に使用される量子化マトリックスに付替えられる。
【００２６】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００２７】
すなわち、請求項１に記載の画像処理装置は、画像データを量子化マトリックスで量子化する量子化手段（例えば、図１の量子化器１４）と、量子化手段により量子化された画像データを可変長符号に変換する変換手段（例えば、図１のＶＬＣ器１５）と、可変長符号に変換したときの発生符号量に対応する量子化インデックスを算出する算出手段（例えば、図１のレート制御器１７）と、算出手段により算出された量子化インデックスの１フレーム分の平均値を計算し、計算された平均値が、予め設定された複数のランクのうちのいずれのランクの平均値に属するかを判断することにより、次の画像データに使用する量子化マトリックスのランクを決定する決定手段（例えば、図１のマトリックス選択器４２）と、決定手段により決定されたランクに応じて、量子化ステップの高周波成分の値が異なる複数の量子化マトリックスのなかから１つの量子化マトリックスを選択する選択手段（例えば、図１のマトリックス選択器４２）と、選択手段により選択された量子化マトリックスが復号時に使用される量子化マトリックスの量子化ステップの高周波成分の値より大きい場合に、量子化された次の画像データとともに出力する量子化マトリックスを、復号時に使用される量子化マトリックスに付替える付替え手段（例えば、図１のマトリックス付替え器４１）とを備えることを特徴とする。
【００２９】
図１は、本発明を適用した符号化器１０の構成例を示すブロック図である。この符号化器１０は、簡単のため、図１５に示すような、一般的な符号化器１０の構成から、動き補償制御機能（図１５の加算器１２、逆量子化器１８乃至動き予測器２２）を省いた構成（イントラマクロブロックだけを符号化する構成）とされている。
【００３０】
本発明内容により付加した機能は、ＶＬＣ器１５の出力段のマトリックス付替え器４１、およびマトリックス付替え器４１に対して、逆量子化器３３で使用する量子化マトリックス、および量子化器１４で使用する量子化マトリックスを選択する、マトリックス選択器４２である。
【００３１】
このマトリックス付替え器４１は、ＶＬＣ器１５より入力された符号に含まれる量子化マトリックスであって、量子化器１４で使用された量子化マトリックスの高周波成分の量子化ステップを、小さい値に変更した量子化マトリックスに付替える機能を有する。この付替える量子化マトリックスは、マトリックス選択器４２において、レート制御器１７から入力される量子化インデックスに基づいて決定される。マトリックス選択器４２は、量子化インデックスに対応して、量子化器１４において使用される量子化マトリックスを制御する。
【００３２】
マトリックス付替え器４１は、画像データの量子化および逆量子化時に発生する量子化変換誤差による、画像の歪みが大きくなるような場合、復号器３０の逆量子化器３３（図１６）で使用する量子化マトリックスとして、量子化器１４で使用した量子化マトリックスとは異なる量子化マトリックスを設定する（量子化器１４で使用される量子化マトリックスの高周波成分部分を、逆量子化器３３で使用される量子化マトリックスの高周波成分部分より大きな値とする）。その他の構成は、図１５における場合と同様である。
【００３３】
具体的な量子化マトリックスについて、図２乃至図４を参照して、説明する。逆量子化器３３では、図２に示す量子化マトリックスが使用され、量子化器１４では、図２乃至図４に示す量子化マトリックスのいずれかが使用される。図３の量子化マトリックスの値のうち、影を付けていない低周波数成分は、図２に示す量子化マトリックスの値と同一の値であり、薄い影を付けて示した中間周波数成分部分は、図２に示す値より大きな値とされ、濃い影を付けて示した高周波数成分部分も、図２に示す値より大きな値とされている。図４に示す量子化マトリックスにおいて、その中間周波数成分と高周波数成分の値が、図３に示す値より大きくされ、かつ、図３に示す範囲より広い範囲とされている。
【００３４】
量子化マトリックスの量子化ステップの値を、低周波数成分と高周波数成分に違い（重み付け）をもたせることにより、量子化器１４において、算出される量子化データは、低周波成分部分と高周波数部分で、ほぼ均一に量子化される。
【００３５】
マトリックス選択器４２は、レート制御器１７から入力された量子化インデックスの平均値を計算し、その値に対して量子化マトリックスを制御する。平均値の値が比較的小さい場合（入力画像の画像フレーム内の空間周波数の平均値が低い場合でランク１とする）、量子化器１４において、逆量子化器３３で使用される量子化マトリックスと、量子化ステップの異なる量子化マトリックスを使用する必要がないと判断される。この判断により、量子化器１４において、逆量子化器３３で使用する量子化マトリックスと同一の図２に示す量子化マトリックスが選択使用される。
【００３６】
量子化インデックスの平均値が中間の大きさである場合（入力画像の画像フレーム内の空間周波数の平均値が中間の値の場合でランク２とする）、量子化器１４で、逆量子化器３３で使用される量子化マトリックスは、量子化ステップの異なる量子化マトリックスを使用する必要があると判断される。この判断により、量子化器１４は、図３に示す、量子化マトリックスが選択使用される。
【００３７】
量子化インデックスの平均値が非常に大きい場合（入力画像の画像フレーム内の空間周波数の平均値が非常に高い場合でランク３とする）、量子化器１４では、図４に示す、量子化マトリックスが選択使用される。いずれのランクの場合においても、マトリックス付替え器４１では、図２に示す量子化マトリックスが使用されたものとされる。
【００３８】
ここで、量子化マトリックスの値がランク１、２、３でどのように変更されるかを、図５を参照して、説明する。非常に周波数の高い成分は、図２乃至図４における、量子化マトリックスの右下部分の量子化ステップを用いて量子化される。例えば、量子化マトリックスの８行８列目の量子化ステップの値は、ランク１の時は７０であるが、ランク２のマトリックスでは１４０に変更される。ランク３と判定された場合でも、その値は１４０とされる。これは、ランク２の段階で、すでに量子化ステップが、最大値に設定されているためである。
【００３９】
次に、中間の周波数成分は、図２乃至図４における、量子化マトリックスの中央下から右上にかけての量子化ステップを用いて量子化される。例えば、量子化マトリックスの７行５列目の量子化ステップの値は、ランク１の時は３４とされるが、ランク２のマトリックスでは４５とされ、ランク３と判定された場合は６２の値に変更される。
【００４０】
比較的周波数が低い成分は、図２乃至図４における、量子化マトリックスの左上部分の量子化ステップを用いて量子化される。例えば、量子化マトリックスの１行１列目の量子化ステップの値は、ランク１の時は８とされ、ランクが２または３でも同一の値とされる。
【００４１】
以上のように、量子化ステップの値は、ランクが変更されると、非常に高い周波数成分の場合、直ちに大きな値に変更されて、高周波成分によるノイズ発生が抑制され、中間の周波数成分の場合、段階的に大きな値に変更されて、高周波成分によるノイズ発生が抑制される。周波数の低い成分は、量子化の誤差による画質低下を避けるために、量子化ステップの変更は行われない。
【００４２】
量子化ステップの異なる量子化マトリックスが、量子化器１４で使用された場合の効果を、図６を用いて説明する。ＶＬＣ器１５で生成される符号量が増加すると、図６に実線で示すように、それに伴ってレート制御器１７で算出される量子化インデックスの平均値も直線的に増加する。しかしながら、本発明においては、量子化インデックスの平均値が、ランク２相当の値に達した時、マトリックス選択器４２により、量子化マトリックスが変更される。量子化インデックスの平均値が、ランク３に相当する値に達した場合も同様である。その結果、ＶＬＣ器１５から出力される符号量は、図６の一点鎖線で示すようになり、量子化インデックスは減少（入力画像の、画像フレーム内の空間周波数成分の低下に相当）し、高周波成分によるノイズ発生が、未然に抑制される。
【００４３】
以上に述べたように、量子化器１４で使用される量子化マトリックスが、ＶＬＣ器１５から出力される信号の発生符号量をもとに変更されるが、この発生符号量が、所定の閾値近傍で変動している場合、量子化マトリックスが頻繁に変更され、画質データのノイズ除去状態が定性的に推移しない（高周波成分の量子化ステップが頻繁に変更されることによるノイズ除去状況にむらが発生する）ことになる。
【００４４】
このように、量子化マトリックスが、頻繁に変更されるのを回避するために、単純に、ある閾値を境に、量子化マトリックスを変更するのではなく、図７に示すように、量子化マトリックス変更動作に、ヒステリシス特性を持たせるようにすることができる。
【００４５】
この場合のマトリックス切替え判定処理を、図８に示すフローチャートを参照して説明する。まず、ステップＳ１において、マトリックス選択器４２は、ランクとしてランク１を初期設定する。次にステップＳ２において、マトリックス選択器４２は、ランク１に対応する量子化マトリックスを選択する。ステップＳ３において、量子化器１４がランク１の量子化マトリックスを使用して、１フレーム分の画像信号を量子化する。ステップＳ４において、マトリックス選択器４２は、ＶＬＣ器１５から出力される信号が出力バッファ１６に入力され、その符号量に対応する信号が、レート制御器１７に入力される。レート制御器１７は、入力に対応する量子化インデックスを出力する。１フレーム分の画像の量子化インデックスの平均値MEAN-Qを算出する。
【００４６】
ステップＳ５において、マトリックス選択器４２は、量子化インデックスの平均値MEAN-Qと、量子化マトリックスの付け替え判定値（閾値）Ｔｈijとを比較し、次の画像データに使用する量子化マトリックスのランクを決定する。画像信号の入力ごとに、ステップＳ２乃至Ｓ５の処理が繰り返される。ここで、Ｔｈijは量子化マトリックスがランクｊからランクｉに変更される閾値を示す。
【００４７】
図８のフローチャートのステップＳ５のランク決定動作を、図７を参照してさらに説明する。ランク１の状態で、量子化インデックスの平均値が増加して、閾値Ｔｈ21（量子化マトリックスをランク１からランク２に変更する設定値）に達すると、量子化マトリックスはランク１からランク２に変更される。逆に、ランク２において、量子化インデックスの平均値が減少してきて、閾値Ｔｈ21となっても、ランクはランク２からランク１に変更されないで、より小さい閾値Ｔｈ12（量子化マトリックスをランク２からランク１に変更する設定値）まで減少した時、ランクがランク２からランク１に変更される。この閾値Ｔｈ12と閾値Ｔｈ21の幅をヒステリシス幅といい、このヒステリシス幅を設定することにより、量子化インデックスの平均値が、閾値近傍（例えば、Ｔｈ21）を変動する場合でも、単純に量子化マトリックスのランクは変更されない。なお、このヒステリシス幅は、量子化インデックスの平均値などから、予め設定される。ランク２からランク３、ランク１からランク３およびその逆の場合の判定動作も同様である。
【００４８】
以上に述べた、ヒステリシス特性を持たせる代わりに、量子化インデックスの平均値に対応させて、段階的に（より細かく）量子化マトリックスの量子化ステップを変化させるようにすることも可能である。
【００４９】
この段階的な量子化ステップの変更は、量子化ステップと量子化インデックスの平均値の関係を、図９に示すような関数として、マトリックス選択器４２にもたせることで実現できる。
【００５０】
図９の例では、量子化マトリックス内の量子化ステップに対応する周波数に対して、周波数に応じて、関数を３通り設けて、量子化インデックスの平均値と量子化ステップを対応づけることによって、量子化インデックスの平均値に応じて、量子化ステップが段階的に変更されている。このようにした場合、量子化ステップは急激に変更されないため、図７に示すような、ヒステリシス特性を考慮した判定は不要となる。
【００５１】
量子化マトリックスの変更は、量子化器１４と、逆量子化器３３で使用される量子化マトリックスに、違いを持たせることを目的とすることから、量子化マトリックスを変更する機能（例えば、図１のマトリックス付替え器４１）を、符号化器１０内に持たせる必然性はない。
【００５２】
例えば、図１０に示すように、量子化マトリックスを変更する機能を、符号化器１０の外部に設置するようにしてもよい。
【００５３】
図１０の例では、図１のマトリックス付替え器４１が省略され、出力バッファ１６の後段に、ビットストリーム処理器５１とビットストリーム処理器５１に、変更する量子化マトリックスを送信するＣＰＵ（Central  Processing  Unit）５０が設置されている。ビットストリーム処理器５１は、出力バッファ１６の出力するストリームの、シーケンス層内の量子化マトリックスデータを検索し、検索された量子化マトリックスを、外部のＣＰＵ５０を介してマトリックス選択器４２から選択された量子化マトリックスで書き換える。
【００５４】
なお、ビットストリームは図１１に示すように、多重化されたデータが６つの層で構成されている。６つのデータ層のうちのシーケンス層には、一連の同じ属性をもつ画面グループ（例えば、画像サイズ、画像レート等）のデータが、ＧＯＰ層にはランダムアクセスの単位となる画面グループの最小単位（例えば、シーケンス先頭からの時間）のデータが、ピクチャ層には１枚の画面に共通の属性（例えば、ピクチャタイプ）のデータが、スライス層には１枚の画面を任意の長さに分割した小画面に共通のデータ（例えば、量子化特性値）が、マクロブロック層には、スライス層をさらに分割したマクロブロックに共通のデータ（例えば、動きベクトル値）が、およびブロック層には変換係数が、それぞれ格納されている。
【００５５】
さらに、シーケンス層は、図１２に示すように、１８種類のデータが格納されている。ＳＨＣ（Sequence  Header  Code）にはシーケンス層の開始コードが、ＨＳ（Horizontal  Size）には画像の横の画素数が、ＶＳ（Vertical  Size）には画素の縦のライン数が、ＰＡＲ（Pel  Aspect  Ratio）には画素間隔のアスペクト比が、ＰＲ（Picture  Rate）には画像の表示周期が、ＢＲ（Bit  Rate）には毎秒のビット数が、ＭＢ（Maker  Bit）にはマーカビットの１が、ＶＢＳ（VBV（video  buffering  verifier）  Buffer  Size）には符号発生量制御用の仮想バッファの大きさを決めるパラメータが、ＣＰＦ（Constrained  Parameters  Flag）には各パラメータが制限以内であることを示すフラグが、ＬＩＱＭ（Load  Intra  Quantize  Matrix）にはイントラマクロブロック用量子化マトリックスの存在を表すフラグが、ＩＱＭ（Intra  Quantizer  Matrix）にはイントラマクロブロック用量子化マトリックスが、ＬＮＩＱＭ（Load  Non  Intra  Quantizer  Matrix）には非イントラマクロブロック用量子化マトリックスの存在を表すフラグが、、ＮＩＱＭ（Non  Intra  Quantizer  Matrix）には非イントラマクロブロック用量子化マトリックスが、ＥＳＣ（Extension  Start  Code）には拡張データ開始コードが、ＳＥＤ（Sequence  Extension  Data）には拡張データが、ＵＤＳＣ（User  Data  Start  Code）にはユーザデータの開始コードが、ＵＤ（User  Data）にはユーザデータが、およびＳＥＣ（Sequence  End  Code）にはシーケンスの終了コードが、それぞれ格納されている。
【００５６】
量子化マトリックスデータは、図１２に示したＩＱＭ、およびＮＩＱＭに格納されている。
【００５７】
つまり、ビットストリーム処理器５１は、ＩＱＭ、またはＮＩＱＭに格納されている量子化マトリックスデータを、外部のＣＰＵ５０から送信された量子化マトリックスで再設定する処理を行う。
【００５８】
以上の符号化器１０で符号化されたデータは、図１６に示した従来の復号器３０と同様の構成の復号器で復号される。
【００５９】
逆量子化器３３で使用される量子化マトリックスが、固定されている一般的な復号器の場合、マトリックス付け替え機能を実質的に省略することができる。この場合の構成を、図１３を参照して説明する。外部に設けたＣＰＵ６１は、ビットストリームに格納されている量子化器１４で使用した量子化マトリックスを無視して、逆量子化器３３で使用する量子化マトリックスを、逆量子化器３３に直接設定する。このようにしても、上述した場合と同様の処理を実行することができる。
【００６０】
以上においては、イントラ符号化だけを行う符号化器について説明したが、一般的なＰピクチャおよびＢピクチャの符号化をも行う符号化器にも、本発明は適用することが可能である。この場合の構成例を、図１４を参照して説明する。
【００６１】
図１４の図１の例との主な相違は、動き補償予測機能（加算器１２、逆量子化器１８乃至動き予測器２２）が、加わっていることである。この機能は、図１６を参照して説明した場合と同様であるので、その説明は省略する。動き補償予測機能では、量子化器１４から出力された量子化データが逆量子化されて、動き補償予測に使用される。そこで、符号化時に用いた量子化マトリックスと復号時に用いた量子化マトリックスが異なることにより、動き補償予測にドリフト（エラーの蓄積）が生じないようにするために、逆量子化器１８で使用される量子化マトリックスも、マトリックス付け替え器４１で変更された量子化マトリックス（復号器３０の逆量子化器３３が使用する量子化マトリックスと同一の量子化マトリックス）に変更する必要がある。これは、マトリックス付替え器４１が、付け替えた量子化マトリックスを、逆量子化器１８にも、設定させることで実現される。
【００６２】
今まで説明した構成では、量子化器１４で使用される量子化マトリックスを決定するために、前回の画像データで発生したビットストリームの発生符号量をもとに算出された、量子化インデックスの平均値が使用されているが、画像の符号化難易度を表すデータを用いることができる。
【００６３】
ここで、符号化難易度（Difficulty）について説明する。符号化難易度は、ピクチャの符号化の難易度を表すものであって、これは、符号化した時に、同じ画質を保つために必要なデータ量の比率と言い換えることができる。符号化難易度を数値化する方法は種々考えられる。符号化難易度を算出するためのパラメータとしては、ＭＥ（Motion  Estimation）残差、イントラＡＣ、アクティヴィティ、フラットネス等がある。
【００６４】
なお、イントラＡＣは、Ｉピクチャにおいて、８×８画素のＤＣＴブロック内の各画素の画素値と、ＤＣＴブロック内の画素の平均値との差分の絶対値の総和として定義され、絵柄の複雑さを表し、例えば、原画の輝度信号の画素値の分散に基づいて算出され、ＴＭ５（Test  Model  Edition  Commitee  :”Test  Model  5”;ISO/IEC  JTC/SC292/WG11/NO400（Apr.1993））等において、マクロブロックの量子化値の算出のために用いられる。
【００６５】
フラットネスは、映像の空間的な絵柄の難しさ（難度）および圧縮後のデータ量と相関性を有する。前述のように、イントラＡＣ、およびアクティヴィティは絵柄の複雑さを表し、ＭＥ残差は映像の動きの速さおよび絵柄の複雑さ表し、フラットネスは映像の空間的な平坦さを表し、これらは、符号化の難易度と強い相関があることから、これらを変数とする１次関数等により、符号化難易度を算出することが可能である。ここで、統計量の一例として、イントラＡＣは、以下の式によって表される。
Intra_ＡＣ  ＝  Σ｜（ｆcurr（x,y）−（Σｆcurr）／Ｎ）｜
なお、この式において、Intra_ＡＣは、イントラＡＣを表し、ｆcurr（x,y）は、ＤＣＴブロック内の各画素の画素値を表し、Σｆcurrは、ＤＣＴブロック内の画素値の総和を表し、ＮはＤＣＴブロック内の画素数を表している。また、Σは、ＤＣＴブロック内の各画素についての総和を表している。
【００６６】
本出願人は、符号化難易度を、より正確に数値化する手法として、例えばＴＭ５において規定され、以前に符号化した同じタイプのピクチャにおける、画面の複雑さを示すパラメータであるグローバルコンプレキシティ（Global  Complexity）や、符号化処理に先立って取得（以下、先読みと称する）した統計量（ＭＥ残差、アクティヴィティ、フラットネス、およびイントラＡＣ）から、符号化難易度へ変換する変換式を時々刻々、学習により更新していく方法を提案している。この方法では、例えば、１つのピクチャを圧縮する毎に、グローバル・コンプレキシティを先読みした統計量で除算して、符号化難易度データの近似に用いられる、重み付け係数を算出し、演算処理に用いられる重み付け係数を更新する。この重み付け係数の更新により、常に、映像データの絵柄に最適な重み付け係数を用いることができ、先読みした統計量により符号化難易度を高い精度で近似することが可能となる。
【００６７】
なお、本明細書中において、上記処理を実行するコンピュータプログラムをユーザに提供する提供媒体には、磁気ディスク、ＣＤ−ＲＯＭなどの情報記録媒体の他、インターネット、デジタル衛星などのネットワークによる伝送媒体も含まれる。
【００６８】
【発明の効果】
本発明によれば、画素ずらしを含む画像を繰り返しダビングしたようなときに、画像データの量子化と逆量子化時に画像の歪みが発生するのを抑制することが可能となり、もって、人間の主観的な画質の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明を適用した符号化器１０の構成を示すブロック図である。
【図２】図１のマトリックス選択器４２で選択する量子化マトリックスの例を示す図である。
【図３】図１のマトリックス選択器４２で選択する量子化マトリックスの例を表す図である。
【図４】図１のマトリックス選択器４２で選択する量子化マトリックスの例を表す図である。
【図５】図１のマトリックス選択器４２で選択する量子化マトリックスの量子化ステップの変化を説明する図である。
【図６】図１のＶＬＣ器１５の出力するビットストリームの発生符号量と量子化インデックスの平均値の関係を表す図である。
【図７】図１のマトリックス選択器４２が、量子化インデックスの平均値から量子化マトリックスの変更を判断する機能を説明する図である。
【図８】図１のマトリックス選択器４２の、量子化マトリックスを変更する処理を説明するフローチャートである。
【図９】図１のマトリックス選択器４２が、量子化インデックスと量子化ステップから量子化ステップを段階的に変更する関数の例を示す図である。
【図１０】本発明を適用した符号化器の他の構成を示すブロック図である。
【図１１】図１のＶＬＣ器１５の出力するビットストリームの構成を表す図である。
【図１２】図１のＶＬＣ器１５の出力するビットストリームのシーケンス層の構成を表す図である。
【図１３】本発明を適用した符号化器の他の構成を示すブロック図である。
【図１４】本発明を適用した符号化器の他の構成を示すブロック図である。
【図１５】従来の符号化器１０の構成を示すブロック図である。
【図１６】従来の復号器３０の構成を示すブロック図である。
【図１７】画素ずらしを含む画像を説明する図である。
【図１８】図１５の符号化器１０で使用する量子化マトリックスの例を示す図である。
【図１９】  図１５の符号化器１０で使用する量子化マトリックスの他の例を示す図である。
【図２０】画質の低下を説明する図である。
【符号の説明】
１０  符号化器，  １１  走査変換マクロブロック化器，  １３  ＤＣＴ器，１４  量子化器，  １５  ＶＬＣ器，  １６  出力バッファ、  １７  レート制御器，  １８  逆量子化器，  ３０  復号器，  ３３  逆量子化器，  ４１  マトリックス付替え器，  ４２  マトリックス選択器，  ５０  外部ＣＰＵ，  ５１  ビットストリーム処理器，  ６１  外部ＣＰＵ
【図１】
0004099682.tif 000002
【図２】
0004099682.tif 000003
【図３】
0004099682.tif 000004
【図４】
0004099682.tif 000005
【図５】
0004099682.tif 000006
【図６】
0004099682.tif 000007
【図７】
0004099682.tif 000008
【図８】
0004099682.tif 000009
【図９】
0004099682.tif 000010
【図１０】
0004099682.tif 000011
【図１１】
0004099682.tif 000012
【図１２】
0004099682.tif 000013
【図１３】
0004099682.tif 000014
【図１４】
0004099682.tif 000015
【図１５】
0004099682.tif 000016
【図１６】
0004099682.tif 000017
【図１７】
0004099682.tif 000018
【図１８】
0004099682.tif 000019
【図１９】
0004099682.tif 000020
【図２０】
0004099682.tif 000021