(57)【特許請求の範囲】
【請求項１】
フレーム画像を符号化する符号化装置において、
量子化インデックスを決定する決定手段と、
前記決定手段により決定された前記量子化インデックスを基に、量子化を実行する量子化手段と、
前記量子化手段により量子化された量子化係数データを符号化する符号化手段と
を備え、
前記決定手段は、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、前記量子化インデックスを決定する
ことを特徴とする符号化装置。
【請求項２】
前記決定手段は、イントラマクロブロックを除いて、前記量子化スケールの最小値を２に変更する
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
フレーム画像を符号化する符号化装置の符号化方法において、
量子化インデックスを決定する決定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記決定ステップの処理では、リフレッシュサイクルより短い周期で、非線形量子化において、量子化スケールの最小値を２に変更するように、前記量子化インデックスを決定する
ことを特徴とする符号化方法。
【請求項４】
フレーム画像を符号化する符号化装置用のプログラムであって、
量子化インデックスを決定する決定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記決定ステップの処理では、リフレッシュサイクルより短い周期で、非線形量子化において、量子化スケールの最小値を２に変更するように、前記量子化インデックスを決定する
ことを特徴とする処理を、前記符号化装置に実行させるためのプログラムが記録されている記録媒体。
【請求項５】
フレーム画像を符号化する処理をコンピュータに実行させるプログラムであって、
量子化インデックスを決定する決定ステップと、
前記決定ステップの処理により決定された前記量子化インデックスを基に、量子化を実行する量子化ステップと、
前記量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップと
を含み、
前記決定ステップの処理では、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、前記量子化インデックスを決定する
ことを特徴とする処理を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化装置および符号化方法、プログラム、並びに記録媒体に関し、特に、ＩＤＣＴミスマッチによる画像の劣化を防ぐことができるようにした、符号化装置および符号化方法、プログラム、並びに記録媒体に関する。
【０００２】
【従来の技術】
近年、映像データおよび音声データを圧縮して情報量を減らす方法として、種々の圧縮符号化方法が提案されており、その代表的なものにＭＰＥＧ２（Moving Picture Experts Group Phase 2）がある。
【０００３】
MPEGビデオ規格においては、量子化についての直接的な規定は一切記述されておらず、逆量子化についてのみ、その詳細な規定がなされている。したがって、実際に量子化を行う場合には、逆量子化の規定に含まれるいくつかのパラメータを変化させ、その自由度の範囲内で、量子化特性を制御することにより、視覚特性を反映させ、高画質の画像データを得ることができる符号化を行うことができる。
【０００４】
【発明が解決しようとする課題】
MPEGにはＩＤＣＴ（逆離散コサイン変換）ミスマッチ問題が存在することが良く知られている。ここでＩＤＣＴミスマッチについて説明する。ＩＤＣＴは実数演算で定義され、その演算方式、演算精度の異なる様々なものが存在している。したがって、エンコーダとデコーダとのそれぞれにおいて使用されているＩＤＣＴの演算方式、あるいは、演算精度が異なる場合があり、エンコーダとデコーダとのそれぞれにおいてＩＤＣＴ演算結果が必ずしも同一とはならないためにミスマッチが生じる。これによりエンコーダのビデオメモリにあるローカルデコード画と、デコーダのビデオメモリにあるデコード画とが異なるものとなってしまい、その誤差を含む参照画を用いた予測を繰り返すことにより誤差が蓄積され、ビデオ出力において視覚的に問題となることがある。
【０００５】
このＩＤＣＴミスマッチによる画像の劣化などの影響を軽減するため、MPEGにおいては演算精度や非イントラマクロブロックの繰り返し回数を規定したり、ブロック係数値操作によるＩＤＣＴミスマッチ対策を導入するなどしている。しかしながら、それらを満たしたシステムにおいても視覚的に大きく問題となる場合がある。
【０００６】
以下に、静止画を量子化スケールが１（以下、q_scale＝1と記述する）（q_scale_type＝1：非線形量子化）となるようなビットレートで、イントラスライスによるローディレイ（Low Delay）エンコード（リフレッシュサイクルは２７フレーム）を行った場合のＤＣＴブロックデータによる数値（実機によるデータ）の具体例を示す。
【０００７】
エンコーダとデコーダとのそれぞれにおいて、逆量子化部に入力される輝度のブロックデータ１を図１に示す。逆量子化部に入力される輝度のブロックデータ１は、ここでは、８×８のブロックデータであり、例えば、図中、座標で示せば、（１，３）に対応する位置が、−１の値であり、同様に、（３，３）および（５，１）に対応する位置が、１の値であり、それ以外は、０の値であるものとする。
【０００８】
図１のブロックデータ１を逆量子化した場合の逆量子化後のデータ２（q_scale＝1、q_matrixは１６固定）を図２に示す。図２に示される逆量子化後のデータ２は、逆量子化部に入力される輝度のブロックデータ１と等しいデータである。
【０００９】
これを異なる３つの方式（いずれの方式もMPEGの規定を満たしている）でＩＤＣＴした結果を、図３乃至図５に示す。
【００１０】
図３に示される方式ＡによるＩＤＣＴ結果データ３によると、８×８の画素の輝度のブロックデータのうち、中央部分の４画素のみが１の値であり、残りの値が０となっている。図４に示される方式ＢによるＩＤＣＴ結果データ４によると、８×８の画素の輝度のブロックデータのうち、中央に近い（４，４）の位置の１画素のみが１の値であり、残りの値が０となっている。そして、図５に示される方式ＣによるＩＤＣＴ結果データ５によると、ＩＤＣＴ結果が全てゼロになっている。
【００１１】
このように、方式Ａ乃至方式Ｃのいずれを用いるかによってＩＤＣＴ結果が異なることがわかる。
【００１２】
例えば、方式ＣのＩＤＣＴをエンコーダに、方式ＡのＩＤＣＴをデコーダに使用している場合、方式Ｃでは、ＩＤＣＴ結果が全てゼロになっているため、エンコーダのローカルデコード画が更新されず、静止画において毎ピクチャ同じ差分データをコーディングすることになるが、一方、方式Ａでは、方式Ｃと比較して、ブロック中央の４画素で異なるＩＤＣＴ結果となるため、同じ差分をエンコーダから送り続けられることによって、ＩＤＣＴの差が蓄積されていくことになる。従って、イントラが現われるまでは、４画素で、毎ピクチャ1レベルずつ輝度が増加していくため、リフレッシュサイクル２７フレームのイントラスライスにおいて、対応する画素が、２７フレーム周期の白い画素点滅として見えてしまうことになる。
【００１３】
以上説明したように、MPEGの規定を満たしているＩＤＣＴ方式を用いているにもかかわらず、ＩＤＣＴミスマッチにより、画質に多大な影響を及ぼす可能性がある。しかしながら、エンコーダ、デコーダ双方において、どのような方式のＩＤＣＴを用いているかを知ることは困難であり、また、あらゆるストリームを受信しなければならないデコーダ側で対応することは、非現実的であることから、エンコーダ側でなんらかの対策を施すことにより画質劣化を防ぐ必要がある。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、デコーダ側のＩＤＣＴの方式に関わらず、エンコーダ側の処理によって、ＩＤＣＴミスマッチによる画像の劣化を軽減することができるようにするものである。
【００１５】
【課題を解決するための手段】
本発明の符号化装置は、量子化インデックスを決定する決定手段と、決定手段により決定された量子化インデックスを基に、量子化を実行する量子化手段と、量子化手段により量子化された量子化係数データを符号化する符号化手段とを備え、決定手段は、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、量子化インデックスを決定することを特徴とする。
【００１６】
決定手段には、イントラマクロブロックを除いて、量子化スケールの最小値を２に変更させるようにすることができる。
【００１９】
本発明の符号化方法は、量子化インデックスを決定する決定ステップと、決定ステップの処理により決定された量子化インデックスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、決定ステップの処理では、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、量子化インデックスを決定することを特徴とする。
【００２０】
本発明の記録媒体に記録されているプログラムは、量子化インデックスを決定する決定ステップと、決定ステップの処理により決定された量子化インデックスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、決定ステップの処理では、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、量子化インデックスを決定することを特徴とする。
【００２１】
本発明のプログラムは、量子化インデックスを決定する決定ステップと、決定ステップの処理により決定された量子化インデックスを基に、量子化を実行する量子化ステップと、量子化ステップの処理により量子化された量子化係数データを符号化する符号化ステップとを含み、決定ステップの処理では、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値を２に変更するように、量子化インデックスを決定することを特徴とする処理をコンピュータに実行させる。
【００２２】
本発明の符号化装置および符号化方法、並びにプログラムにおいては、量子化インデックスが決定され、決定された量子化インデックスを基に、量子化が実行され、量子化された量子化係数データが符号化され、非線形量子化において、リフレッシュサイクルより短い周期で、量子化スケールの最小値が２に変更されるように、量子化インデックスが決定される。
【００２３】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００２４】
図６は、本発明を適応したエンコーダ１１の構成を示すブロック図である。
【００２５】
画像並び替え処理部２１は、入力された非圧縮映像データを符号化順に並べ替える。
【００２６】
演算処理部２２は、動き補償部３３から供給される動き補償情報を基に、供給された映像データに対して動き補償を行い、ＤＣＴ処理部２３に対して出力する。ＤＣＴ処理部２３は、演算処理部２２から入力された映像データに対して、マクロブロック単位に離散コサイン変換（ＤＣＴ）処理を施し、時間領域のデータから周波数領域のデータに変換して、量子化部２４に対して出力する。
【００２７】
量子化部２４は、ＤＣＴ処理部２３から入力された周波数領域のデータを、レート制御部２７から供給される量子化インデックスＱで量子化し、量子化データとしてＶＬＣ（Variable Length Code；可変長符号化）部２５および逆量子化部２８に対して出力する。
【００２８】
ＶＬＣ部２５は、量子化部２４から入力された量子化係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ２６に出力する。
【００２９】
バッファ２６は、入力された符号化データをバッファリングし、符号化ビットストリームとして、順次、出力する。
【００３０】
逆量子化部２８は、量子化部２４から入力された量子化データを逆量子化し、逆量子化データとしてＩＤＣＴ処理部２９に対して出力する。
【００３１】
ＩＤＣＴ処理部２９は、逆量子化部２８から入力された逆量子化データに対して逆ＤＣＴ処理を行い、演算処理部３０に対して出力する。
【００３２】
演算処理部３０は、動き補償部３３の出力データ、およびＩＤＣＴ処理部２９の出力データを加算し、ビデオメモリ３１に対して出力する。動き補償部３３は、ビデオメモリ３１の出力データに対して、動き検出部３２から入力される動きベクトルに基づいて動き補償処理を行い、演算処理部３０、および演算処理部２２に対して出力する。
【００３３】
動き検出部３２は、圧縮対象となるピクチャ（入力ピクチャ）の注目マクロブロックと、参照されるピクチャ（参照ピクチャ）との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックを探し、動きベクトルを求めて、動き補償部３３に出力する。
【００３４】
レート制御部２７は、量子化部２４において実行される量子化処理に必要な係数である量子化インデックスＱを決定する。
【００３５】
レート制御部２７は、例えば、符号化難易度や、その他のパラメータに基づいて、量子化インデックスＱを生成し、量子化部２４に対して出力する。量子化インデックスＱの算出方法は、いずれの方法が用いられていても良く、量子化インデックスＱの算出に利用するパラメータも、その方法により、様々なパラメータが利用される。
【００３６】
図７は、図６を用いて説明したエンコーダ１１により符号化された符号化データを復号するデコーダ５１の構成を示すブロック図である。
【００３７】
デコーダ５１に入力された符号化ストリームは、バッファ６１に入力されてバッファリングされ、ＶＬD（Variable Length Decode；可変長復号）部６２で復号され、逆量子化部６３に出力される。
【００３８】
逆量子化部６３は、ＶＬD部６２から入力された量子化データを逆量子化し、逆量子化データとしてＩＤＣＴ処理部６４に対して出力する。
【００３９】
ＩＤＣＴ処理部６４は、逆量子化部６３から入力される逆量子化データに対して逆ＤＣＴ処理を行い、演算処理部６５に対して出力する。
【００４０】
演算処理部６５は、動き補償部６７の出力データを基に、ＩＤＣＴ処理部６４の出力データを動き補償し、ビデオメモリ６６および画像並び替え処理部６８に対して出力する。
【００４１】
動き補償部６７は、ビデオメモリ６６から供給されるデータに基づいて動き補償処理を行い、演算処理部６５に対して出力する。
【００４２】
そして、画像並び替え処理部６８は、エンコーダ１１の画像並び替え処理部２１において、符号化順に並べ替えられたデータを、元の順番に並び替えて、ビデオ出力として出力する。
【００４３】
図６を用いて説明したエンコーダ１１のＩＤＣＴ処理部２９と、図７を用いて説明したデコーダ５１のＩＤＣＴ処理部６４において実行されるＩＤＣＴの演算方式、および、演算精度が異なる場合、ＩＤＣＴ演算結果が必ずしも同一とはならないためにミスマッチが生じる。
【００４４】
ＩＤＣＴミスマッチのために発生する画素レベルずれによる顕著な画質劣化を確認できる要因としては、ＩＤＣＴの演算精度による差が出る微少な係数が符号化されること、絵柄が簡単であったりビットレートが高かったりするために、q_scale＝1となり、微少な係数が残ること、静止画のような同じ画素でのレベルずれが蓄積されること、あるいは、イントラが現われる周期が長いほど画素レベルずれによる画質劣化の度合いが大きいことがあげられる。
【００４５】
以上の各要因を踏まえると、ＩＤＣＴミスマッチにより発生する問題を解決するためには、q_scaleを調整して微少な係数が残らないようにすることと、イントラが現われる周期を更に短くすることの２点がポイントとなる。
【００４６】
従って、q_scale_type＝1においてq_scaleの最小値が１とならないように、最小値を２にクリップすることにより、画素ずれの要因となるような微少な係数がなくなる効果が期待できる。
【００４７】
次に、図８のフローチャートを参照して、q_scale変更処理１について説明する。この処理は、１ピクチャのエンコード処理につき、ピクチャに存在するマクロブロックの数だけ、繰り返される処理である。
【００４８】
ステップＳ１において、エンコーダ１１のレート制御部２７は、q_scale＝１であるか否かを判断する。ステップＳ１において、q_scale＝１ではないと判断された場合、処理は、ステップＳ３に進む。
【００４９】
ステップＳ１において、q_scale＝１であると判断された場合、ステップＳ２において、レート制御部２７は、q_scale＝２とする。
【００５０】
ステップＳ１において、q_scale＝１ではないと判断された場合、もしくは、ステップＳ２の処理の終了後、ステップＳ３において、レート制御部２７は、全てのマクロブロックの処理が終了したか否かを判断する。
【００５１】
ステップＳ３において、全てのマクロブロックの処理が終了していないと判断された場合、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。ステップＳ３において、全てのマクロブロックの処理が終了したと判断された場合、処理が終了される。
【００５２】
このような処理により、q_scaleの最小値が１とならないので、画素ずれの要因となるような微少な係数がなくなり、画素ずれの要因を減少させることが可能となる。
【００５３】
しかしながら、図８を用いて説明した処理のように、全てのマクロブロックにおいて、q_scaleの最小値を２としてしまうと、最小値が1の時と比べてＳ／Ｎが悪くなるなどの弊害を生じる。その弊害を小さくするために、画素ずれの蓄積には関係のないイントラマクロブロックについては、q_scaleの最小値を1のままとするようにしてもよい。
【００５４】
次に、図９のフローチャートを参照して、q_scale変更処理２について説明する。この処理は、１ピクチャのエンコード処理につき、ピクチャに存在するマクロブロックの数だけ、繰り返される処理である。
【００５５】
ステップＳ１１において、レート制御部２７は、処理中のマクロブロックは、イントラマクロブロックであるか否かを判断する。ステップＳ１１において、イントラマクロブロックであると判断された場合、処理は、ステップＳ１４に進む。ステップＳ１１において、イントラマクロブロックではないと判断された場合、ステップＳ１２およびステップＳ１３において、図８のステップＳ１およびステップＳ２と同様の処理が実行される。
【００５６】
ステップＳ１１において、イントラマクロブロックであると判断された場合、ステップＳ１２において、q_scale＝１ではないと判断された場合、もしくは、ステップＳ１３の処理の終了後、ステップＳ１４において、レート制御部２７は、全てのマクロブロックの処理が終了したか否かを判断する。
【００５７】
ステップＳ１４において、全てのマクロブロックの処理が終了していないと判断された場合、処理は、ステップＳ１１に戻り、それ以降の処理が繰り返される。ステップＳ１４において、全てのマクロブロックの処理が終了したと判断された場合、処理が終了される。
【００５８】
このような処理により、画素ずれの要因となるような微少な係数がなくなり、更に、Ｓ／Ｎ比を向上させることができるようになる。
【００５９】
図８および図９を用いて説明した処理に対して、更に、Ｓ／Ｎ比を向上させるために、q_scaleの最小値を２で固定とする処理を、画素ずれ蓄積が目立たない程度の周期でのみ行うようにしてもよい。ここで、画素ずれ蓄積が目立たない程度の周期とは、その画像の種類により異なる。しかしながら、例えば、５ピクチャ周期など、少なくとも、リフレッシュレートよりも短い周期でq_scaleの最小値を２で固定する処理を行うようにすることにより、Ｓ／Ｎ比を悪化させずに、所定の周期で発生する白い画素点滅などが画像に与える影響を軽減することができる。
【００６０】
次に、図１０のフローチャートを参照して、q_scale変更処理３について説明する。この処理は、１ピクチャ単位で繰り返される処理である。
【００６１】
ステップＳ３１において、レート制御部２７は、画像ずれ蓄積が目立たない程度のピクチャ周期Ｎ（例えば、Ｎ＝５など）を算出して、ｉ＝１とする。
【００６２】
ステップＳ３２において、レート制御部２７は、ｉ＝Ｎであるか否かを判断する。
【００６３】
ステップＳ３２において、ｉ＝Ｎではないと判断された場合、ステップＳ３３において、レート制御部２７は、ｉ＝ｉ＋１として、処理は、ステップＳ３８に進む。
【００６４】
ステップＳ３２において、ｉ＝Ｎであると判断された場合、ステップＳ３４およびステップＳ３５において、図８のステップＳ１およびステップＳ２と同様の処理が実行される。
【００６５】
ステップＳ３４において、q_scale＝１ではないと判断された場合、もしくは、ステップＳ３５の処理の終了後、ステップＳ３６において、レート制御部２７は、処理中のピクチャ内の全てのマクロブロックの処理が終了したか否かを判断する。
【００６６】
ステップＳ３６において、全てのマクロブロックの処理が終了していないと判断された場合、処理は、ステップＳ３４に戻り、それ以降の処理が繰り返される。ステップＳ３６において、全てのマクロブロックの処理が終了したと判断された場合、ステップＳ３７において、レート制御部２７は、ｉの値を初期化して、ｉ＝１とする。
【００６７】
ステップＳ３３、もしくは、ステップＳ３７の処理の終了後、ステップＳ３８において、レート制御部２７は、全てのピクチャの処理が終了したか否かを判断する。
【００６８】
ステップＳ３８において、全てのピクチャの処理が終了していないと判断された場合、処理は、ステップＳ３２に戻り、それ以降の処理が繰り返される。ステップＳ３８において、全てのピクチャの処理が終了したと判断された場合、処理が終了される。
【００６９】
以上説明した処理により、図８を用いて説明したq_scale変更処理１が奏することができる効果に加えて、更に、Ｓ／Ｎ比の向上が期待できる。
【００７０】
同様にして、画像ずれ蓄積が目立たない程度のピクチャ周期Ｎ毎に、図９を用いて説明したq_scale変更処理２と同様の処理を行うようにすることができる。
【００７１】
次に、図１１のフローチャートを参照して、q_scale変更処理４について説明する。この処理も、１ピクチャ単位で繰り返される処理である。
【００７２】
ステップＳ５１乃至ステップＳ５３において、図１０のステップＳ３１乃至ステップＳ３３と同様の処理が繰り返される。
【００７３】
すなわち、ステップＳ５１において、レート制御部２７は、画像ずれ蓄積が目立たない程度のピクチャ周期Ｎを算出して、ｉ＝１とし、ステップＳ５２において、レート制御部２７は、ｉ＝Ｎであるか否かを判断し、ｉ＝Ｎではないと判断された場合、ステップＳ５３において、レート制御部２７は、ｉ＝ｉ＋１として、処理は、ステップＳ５９に進む。
【００７４】
ステップＳ５２において、ｉ＝Ｎであると判断された場合、ステップＳ５４乃至ステップＳ５６において、図９のステップＳ１１乃至ステップＳ１３と同様の処理が実行される。
【００７５】
ステップＳ５４において、イントラマクロブロックであると判断された場合、ステップＳ５５において、q_scale＝１ではないと判断された場合、もしくは、ステップＳ５６の処理の終了後、ステップＳ５７において、レート制御部２７は、処理中のピクチャ内の全てのマクロブロックの処理が終了したか否かを判断する。
【００７６】
ステップＳ５７において、全てのマクロブロックの処理が終了していないと判断された場合、処理は、ステップＳ５４に戻り、それ以降の処理が繰り返される。ステップＳ５７において、全てのマクロブロックの処理が終了したと判断された場合、ステップＳ５８において、レート制御部２７は、ｉの値を初期化して、ｉ＝１とする。
【００７７】
ステップＳ５３、もしくは、ステップＳ５８の処理の終了後、ステップＳ５９において、レート制御部２７は、全てのピクチャの処理が終了したか否かを判断する。
【００７８】
ステップＳ５９において、全てのピクチャの処理が終了していないと判断された場合、処理は、ステップＳ５２に戻り、それ以降の処理が繰り返される。ステップＳ５９において、全てのピクチャの処理が終了したと判断された場合、処理が終了される。
【００７９】
以上説明した処理により、図９を用いて説明したq_scale変更処理２が奏することができる効果に加えて、更に、Ｓ／Ｎ比の向上が期待できる。
【００８０】
ここでは、リフレッシュサイクルが２７フレームであるローディレイエンコードを行う場合を例として説明したが、本発明は、例えば、１５フレームを、フレーム内符号化画像（以下、Ｉピクチャと称する）、フレーム間順方向予測符号化画像（以下、Ｐピクチャと称する）、もしくは、双方向予測符号化画像（以下、Ｂピクチャと称する）の３つの画像タイプのうちのいずれの画像タイプとして処理するかを指定し、指定されたフレーム画像の画像タイプ（Ｉピクチャ、Ｐピクチャ、あるいは、Ｂピクチャ）に応じて、フレーム画像を符号化するような場合にも適用可能である。
【００８１】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、エンコーダ１１は、図１２に示されるようなパーソナルコンピュータ１０１により構成される。
【００８２】
図１２において、CPU１１１は、ROM１１２に記憶されているプログラム、または記憶部１１８からRAM１１３にロードされたプログラムに従って、各種の処理を実行する。RAM１１３にはまた、CPU１１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００８３】
CPU１１１、ROM１１２、およびRAM１１３は、バス１１４を介して相互に接続されている。このバス１１４にはまた、入出力インタフェース１１５も接続されている。
【００８４】
入出力インタフェース１１５には、キーボード、マウスなどよりなる入力部１１６、ディスプレイやスピーカなどよりなる出力部１１７、ハードディスクなどより構成される記憶部１１８、モデム、ターミナルアダプタなどより構成される通信部１１９が接続されている。通信部１１９は、インターネットを含むネットワークを介しての通信処理を行う。
【００８５】
入出力インタフェース１１５にはまた、必要に応じてドライブ１２０が接続され、磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、あるいは、半導体メモリ１３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１１８にインストールされる。
【００８６】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【００８７】
この記録媒体は、図１２に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク１３１（フロッピディスクを含む）、光ディスク１３２（ＣＤ-ＲＯＭ（Compact Disk-Read Only Memory），ＤＶＤ（Digital Versatile Disk）を含む）、光磁気ディスク１３３（ＭＤ（Mini-Disk）（商標）を含む）、もしくは半導体メモリ１３４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM１１２や、記憶部１１８に含まれるハードディスクなどで構成される。
【００８８】
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８９】
【発明の効果】
本発明によれば、画像データをエンコードすることができる。
また、本発明によれば、リフレッシュサイクルより短い周期で、非線形量子化の量子化スケールの最小値を２に変更するようにしたので、画素ずれの要因となるような微少な係数がなくなり、画素ずれの要因を減少させることができる。
【００９０】
また、イントラマクロブロック以外で、量子化スケールの最小値を２に変更することができるようにしたので、イントラマクロブロックにおいては、量子化スケール＝１のままにすることができるため、Ｓ／Ｎ比を向上することが可能となる。
【図面の簡単な説明】
【図１】ＩＤＣＴミスマッチについて説明するための、逆量子化部に入力される輝度のブロックデータの例を示す図である。
【図２】ＩＤＣＴミスマッチについて説明するための、逆量子化後のデータの例を示す図である。
【図３】ＩＤＣＴミスマッチについて説明するための、方式ＡでＩＤＣＴした結果の例を示す図である。
【図４】ＩＤＣＴミスマッチについて説明するための、方式ＢでＩＤＣＴした結果の例を示す図である。
【図５】ＩＤＣＴミスマッチについて説明するための、方式ＣでＩＤＣＴした結果の例を示す図である。
【図６】本発明を適用したエンコーダの構成を示すブロック図である。
【図７】デコーダの構成を示すブロック図である。
【図８】  q_scale変更処理１について説明するフローチャートである。
【図９】  q_scale変更処理２について説明するフローチャートである。
【図１０】  q_scale変更処理３について説明するフローチャートである。
【図１１】  q_scale変更処理４について説明するフローチャートである。
【図１２】パーソナルコンピュータの構成について説明する図である。
【符号の説明】
１１  エンコーダ，  ２１  画像並び替え処理部，  ２２  演算処理部，  ２３  ＤＣＴ処理部，  ２４  量子化部，  ２４  ＶＬＣ部，  ２６  バッファ，２７  レート制御部，  ２８  逆量子化部，  ２９  ＩＤＣＴ処理部，  ５１
デコーダ，  ６４  ＩＤＣＴ処理部
【図１】
0004058674.tif 000002
【図２】
0004058674.tif 000003
【図３】
0004058674.tif 000004
【図４】
0004058674.tif 000005
【図５】
0004058674.tif 000006
【図６】
0004058674.tif 000007
【図７】
0004058674.tif 000008
【図８】
0004058674.tif 000009
【図９】
0004058674.tif 000010
【図１０】
0004058674.tif 000011
【図１１】
0004058674.tif 000012
【図１２】
0004058674.tif 000013