(57)【特許請求の範囲】
【請求項１】
所定の符号化処理単位に対して予め決められた目標符号量以内に各符号化処理単位での発生符号量を抑えなければならない符号化方法において、
量子化値が異なるＮ（Ｎは整数）個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化／復号化されているかを判定し、
上記Ｎ個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む２つの発生符号量を求め、
上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化／復号化されていないと判定されたとき、上記２つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる２つの固定量子化器を決定し、
該量子幅が最小の２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の２つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、
上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化／復号化されていると判定されたとき、
上記２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定することによって、
発生符号量を目標符号量に近づけるようにしたことを特徴とする符号化方法。
【請求項２】
上記算出した上記フィードバックスレッショールド量と、上記符号化処理により得られた発生符号量と上記符号化処理単位に対して予め決められた目標符号量との差分値とから、そのうちの小さい方の値をフィードバック量の出力として決定して、このフィードバック量を上記目標符号量にフィードバックすることを特徴とする請求項１記載の符号化方法。
【請求項３】
上記符号化はＭＰＥＧ２であって、その符号化処理単位はＧＯＰであることを特徴とする請求項１記載の符号化方法。
【請求項４】
入力データを圧縮符号化するに際し、実際に発生する所定の符号化処理単位での発生符号量を所定の符号化処理単位での目標符号量に近づける目標符号量割り当て手段を有する符号化装置において、
量子化値が異なるＮ（Ｎは整数）個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化／復号化されているかを判定する判定手段と、
上記Ｎ個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む２つの発生符号量を求め、
上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化／復号化されていないと判定されたとき、上記２つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる２つの固定量子化器を決定し、該量子幅が最小の２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の２つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、
上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化／復号化されていると判定されたとき、上記２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定するフィードバックコントロール手段と
を有することを特徴とする符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は入力データの符号化方法およびこれを使用した符号化装置に関する。詳しくは、画像などの入力データを符号化するに当たり、発生符号量と目標符号量との差分をフィードバックして次回以降の目標符号量に反映させる場合、入力データの性質に依存したフィードバックスレッショールド値を算出して目標符号量を更新することによって、符号化／復号化を繰り返した場合でも画質の劣化が発生しないようにしたものである。
【０００２】
【従来の技術】
画像などの入力データを符号化するに際し、ＭＰＥＧ２（Moving Picture Experts Group２）のような符号化方法にあっては、パッケージメディアや通信容量などの制限によって、ある符号化処理単位、例えばＧＯＰ（Group Of Pictures）に対して予め定められた目標符号量以内に各ＧＯＰでの発生符号量を抑えなければならない。
【０００３】
量子化が離散的なことなどの原因で、目標符号量と発生符号量との間には差が生じ、その分の画質劣化が生じる。一般に、このような問題を解決するために、目標符号量と発生符号量の差を観測し、その差分値をそれ以降符号化する入力データに対しての目標符号量に反映させ、できるだけ発生符号量を目標符号量に近付けるフィードバック制御方法などが採用されている。
【０００４】
図３１はこのような処理を行う従来の符号化装置の要部の系統図である。入力データとしては画像データを示す。
【０００５】
端子１１に供給された入力データはＤＣＴ変換手段１２に供給されてＤＣＴ係数に変換される。ＤＣＴ係数は固定の量子化手段１４に供給されて量子化される。量子化手段１４には量子化値の異なる複数の量子化器が設けられている。ＭＰＥＧ２の場合、３１通りの量子化値でそれぞれ量子化されるものであるが、この量子化手段１４は最適な目標符号量を算出するために用いられるものであるから、実際より少ない数の量子化器によって量子化される。
【０００６】
この例では図３２に示すように量子化値の異なるＮ個（例えば、Ｎ＝８）の量子化器１４ａ〜１４ｈが使用される。量子化されたＤＣＴ係数は演算手段１６でＧＯＰ単位および符号化の最小単位であるマクロブロック単位でそれぞれの量子化値での発生符号量の計算が行われる。したがってこの演算手段１６も図３２のように８個の演算器１６ａ〜１６ｈで構成される。
【０００７】
ＧＯＰ単位とマクロブロック単位の発生符号量が目標符号量割り当て手段（目標符号量決定手段）１８に供給されて、ＧＯＰ単位で予め定められた目標符号量ＴＭＢから、マクロブロック毎の符号量（ターゲットビットレート）となる目標符号量ＴＭＢ（ＴＭＢｂ）が割り当てられる。
【０００８】
この目標符号量ＴＭＢｂとＤＣＴ係数がそれぞれＱサーチ手段３０に供給されてマクロブロック毎に得られるこの目標符号量ＴＭＢを越えない最小の量子化値が演算によって求められる。この最小量子化値とＤＣＴ係数がバックサーチ手段３２に供給される。この手段３２は符号化／復号化での画質劣化を防ぐためのバックサーチアルゴリズムによって処理されるブロックであり、ここで量子化のための最終的な量子化値が選択される。
【０００９】
この量子化値は量子化手段３４に供給されてＤＣＴ係数が量子化される。量子化されたＤＣＴ係数は可変長符号化手段３６で発生頻度に応じた符号語ＶＬＣ（Variable Length Code）に変換される。
【００１０】
ＤＣＴ係数に対する量子化は離散的であるため、またはＱサーチ手段３０で選択した量子化値をバックサーチ手段３２のバックサーチアルゴリズムが一番最初に符号化されたときの量子化値に置き換えてしまうために、目標符号量割り当て手段１８で割り当てた目標符号量ＴＭＢと、可変長符号化手段３６で発生されるマクロブロック毎の発生符号量は、必ずしも一致しない。
【００１１】
そのために可変長符号化手段３６ではさらにマクロブロック毎の目標符号量ＴＭＢと実際の発生符号量の差分値ＤＦが目標符号量割り当て手段１８にフィードバックされる。
【００１２】
その差分値ＤＦは目標符号量と同じ単位のＧＯＰ単位毎に加算し、ＧＯＰ単位内でそれ以降符号化されるマクロブロックの目標符号量ＴＭＢに上乗せすることで、より目標符号量に近付けるようにしている。
【００１３】
図３３は目標符号量割り当て手段１８の具体例を示す。図３３において、補間手段２２では、ＧＯＰ単位の目標符号量ＴＭＢが、８個の固定量子化器１４ａ〜１４ｈでのＧＯＰ単位での発生符号量のどこに位置しているのかを判定すると共に、目標符号量を越えない最小の量子化値が補間処理されて出力される。
【００１４】
割り当て器２４では補間処理して得られた量子化値の結果と、その量子化値を挟む２個の固定量子化器での各マクロブロック単位の発生符号量の結果から、それぞれのマクロブロック毎の目標符号量ＴＭＢａを割り当てる。実際には計算して求める。
【００１５】
フィードバック量決定手段２６では、可変長符号化手段３６からの差分値ＤＦを目標符号量の単位と同じ単位であるＧＯＰ単位で加算する。そしてその値がフィードバックスレッショールド値ＦＢＴ（固定値）を越えるまでは加算出力ＤＦが出力される。フィードバックスレッショールド値ＦＢＴを越えたときにはリミッタされるので、固定のフィードバックスレッショールド値ＦＢＴが出力される。
【００１６】
そして、加算手段２８では、目標符号量と同じ単位であるＧＯＰ単位内で、それ以降に符号化されるマクロブロック毎の目標符号量ＴＭＢａにフィードバック値ＦＢを加えたものをマクロブロックごとの目標符号量ＴＭＢｂとして出力される。
【００１７】
【発明が解決しようとする課題】
ところで、従来では固定のフィードバックスレッショールド値ＦＢＴを使用しているために、ＧＯＰ単位での発生符号量が目標符号量ＴＭＢｂを上回ることはない。なぜなら、目標符号量割り当て手段２４において、ＧＯＰ単位内でのすべてのマクロブロックに対して目標符号量を割り当てているからである。
【００１８】
また、フィードバック量は、マクロブロック毎に割り当てた目標符号量ＴＭＢａと、その目標符号量を超えないような量子化値で量子化された発生符号量との差分ＤＦを、目標符号量と同じ単位であるＧＯＰ単位毎に加算したものにフィードバックスレッショールド値ＦＢＴによってリミッタをかけた量である。補間手段２２によってＧＯＰ単位の目標符号量を越えない最小の量子化値を選ぶ限り、このようなフィードバック制御を行なってもＧＯＰ単位で発生符号量が目標符号量を越えることはない。
【００１９】
このように、従来の符号化方法では、フィードバック値として外部からそのスレッショールド値を設定できるものの、入力画像データの性質には無関係に決定される値であるため、符号化／復号化を繰り返すと画質劣化が激しくなってしまう問題を持っていた。
【００２０】
そこでこの発明はこのような従来の課題を解決したものであって、符号化／復号化を繰り返しても画質の劣化が発生しない符号化方法およびこれを使用した符号化装置を提案するものである。
【００２１】
【課題を解決するための手段】
上述した課題を解決するため、この発明に係る符号化方法では、所定の符号化処理単位に対して予め決められた目標符号量以内に各符号化処理単位での発生符号量を抑えなければならない符号化方法において、量子化値が異なるＮ（Ｎは整数）個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化／復号化されているかを判定し、上記Ｎ個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む２つの発生符号量を求め、上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化／復号化されていないと判定されたとき、上記２つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる２つの固定量子化器を決定し、該量子幅が最小の２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の２つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化／復号化されていると判定されたとき、上記２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定することによって、発生符号量を目標符号量に近づけるようにしたことを特徴とする。
【００２２】
また、この発明に係る符号化装置では、入力データを圧縮符号化するに際し、実際に発生する所定の符号化処理単位での発生符号量を所定の符号化処理単位での目標符号量に近づける目標符号量割り当て手段を有する符号化装置において、量子化値が異なるＮ（Ｎは整数）個の固定量子化器での上記符号化処理単位の発生符号量間の傾きを算出し、該算出した傾きが単調変化しているか否かにより、入力データが過去に符号化／復号化されているかを判定する判定手段と、上記Ｎ個の固定量子化器での上記発生符号量から、上記符号化処理単位の上記目標符号量を挟む２つの発生符号量を求め、上記判定結果において、上記算出した傾きが単調変化であり、上記入力データが過去に符号化／復号化されていないと判定されたとき、上記２つの固定量子化器の量子化値の間に存在する固定量子化器を考慮して、改めて上記目標符号量を挟む量子幅が最小となる２つの固定量子化器を決定し、該量子幅が最小の２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値と、上記量子幅が最小の２つの固定量子化器のうち上記目標符号量を超えない上記固定量子化器の発生符合量と上記目標符号量との差分値とからフィードバックスレッショールド量を決定し、上記判定結果において、上記算出した傾きが単調変化ではなく、上記入力データが過去に符号化／復号化されていると判定されたとき、上記２つの固定量子化器のうち上記目標符号量を超える上記固定量子化器の発生符合量と上記目標符号量との差分値からフィードバックスレッショールド量を決定するフィードバックコントロール手段とを有することを特徴とする。
【００２３】
この発明に係る符号化方法および符号化装置では、符号量予測のための複数の固定量子化器での発生符号量の結果から、入力データが過去に符号化／復号化されているかを自動判定し、その判定結果から、符号化／復号化されていない場合には、入力データの性質に依存したフィードバック制御を行う。これとは逆に入力データが過去に符号化／復号化されている場合には、再現性を重視したフィードバック制御を行う。
【００２４】
このような入力データの性質に依存したフィードバック制御を行うことによって発生符号量が目標符号量に近くなり、符号化／復号化を繰り返しても画質の劣化が目立たなくなる。
【００２５】
【発明の実施の形態】
続いて、この発明に係る符号化方法およびこれを使用した符号化装置の一実施形態を図面を参照して詳細に説明する。ただし、この例でも入力データとしては画像データであり、符号化手段としてはＭＰＥＧ２を例示する。
【００２６】
図１はこの発明に係る符号化方法を適用した符号化装置１０の一実施形態を示す。この実施形態は図３１に示す従来例とその基本構成は全く同じであり、同一部分については同一の符号を使用するとすれば、従来例と大幅に相違する点は目標符号量割り当て手段２０だけである。したがって、基本構成およびその動作については説明を割愛する。
【００２７】
図２は目標符号量割り当て手段２０の具体例を示す。この割り当て手段２０には図３２に示したように補間手段２２、割り当て器２４、フィードバック量決定手段２６および加算手段２８を有する他、判定手段５０とフィードバックコントロール手段６０とが設けられている。
【００２８】
判定手段５０は入力データが過去に符号化／復号化されているかどうかを判定するためのもので、同図のようにＮ個（Ｎ＝８）の固定量子化器１４ａ〜１４ｈでのＧＯＰ単位の発生符号量と、マクロブロック単位の目標符号量ＴＭＢとが供給され、これらの結果から、入力データが過去に符号化／復号化されたものであるかを自動判定するマイクロプロセッサで構成されている。
【００２９】
フィードバックコントロール手段６０は、８個の固定量子化器１４ａ〜１４ｈでのＧＯＰ単位の発生符号量が供給される他、判定手段５０からの判定結果が供給される。ここでは判定結果を参酌して入力データの性質を推定し、その推定結果と発生符号量および目標符号量を用いてフィードバックスレッショールド値ＦＢＴを決定するマイクロプロセッサで構成されている。
【００３０】
判定手段５０の動作を図３を用いて説明する。８個の固定量子化器１４ａ〜１４ｈの量子化値をFixＱ（ｉ），ｉ＝１，２，・・・，８）としたとき、
FixＱ（ｉ）くFixＱ（ｉ＋１）  ・・・（１）
ここに、ｉ＝１，・・・，７
のような関係に選ばれている。そして、それぞれの量子化値でのＧＯＰ単位での発生符号量（GenBit（FixＱ（ｉ）），ｉ＝１，２，・・・，８）から、その固定量子化値間の発生符号量の傾きを求める。その傾きの結果から入力画像データが過去に符号化／復号化されたかどうかを判定する。
【００３１】
まず、図３のステップ７１で、ｉを初期化し、次にステップ７２で発生符号量の傾き（ＧＤ（ｉ），ｉ＝１，・・・，７）を計算する。計算式は、例えば以下のようにする。
0003978810.tif 000002
（２）式により８個の固定量子化器１４ａ〜１４ｈの間の傾きを求める。そのため、ｉがＮ＝８となるまではｉをインクリメントする（ステップ７３，７４）。全ての固定量子化器１４ａ〜１４ｈ間の傾きを求めたなら、ｉを初期化して（ステップ７５）、それぞれの傾きの間の関係が単調な変化、この例ではｉが大きくなるにつれて単調減少（ＧＤ(i)＞ＧＤ(i+1))しているかどうかを調べる（ステップ７６）。
【００３２】
もし、単調な変化をしている場合には、ｉをインクリメントしながら順次同様な判定を行い（ステップ７７，７８）、全てに亘って単調な変化であるときにはその入力画像データは過去に符号化／復号化されていない画像データであると判断する（ステップ７９）。そして、単調な変化をしていない場合には、その入力画像データは過去に符号化／復号化されている画像データであると判断する（ステップ８０）。
【００３３】
フィードバックコントロール手段６０では、上述したように入力画像データの性質を推定し、その推定結果からフィードバックスレッショールド値を決定する。図４を参照して説明する。
【００３４】
まず、ｉを初期化したのち（ステップ８１）、ＧＯＰ単位での目標符号量ＴＭＢと８個の固定量子化器１４ａ〜１４ｈからのＧＯＰ単位での発生符号量の関係を調べ、目標符号量を挟みこむような２個の固定量子化器の発生符号量
GenBit（FixＱ（ｉ）），GenBit（FixＱ（ｉ＋１））
を見つけ出す。つまり、
GenBit（FixＱ（ｉ））＞目標符号量＞GenBit（FixＱ（ｉ＋１））・・・・（３）
となるような量子化値を、ｉをインクリメントしながら見つけ出す（ステップ８２，８３，８４）。
【００３５】
次に、（３）式を満足する発生符号量を検出したときには、入力画像データが符号化／復号化されているかどうかの判定結果を参酌する（ステップ８５）。そして、符号化／復号化されていないときには、符号化／復号化されていないときのフィードバックスレッショールド値を求める計算アルゴリズムが実行される（ステップ９０）。符号化／復号化されているときには、符号化／復号化されているときのフィードバックスレッショールド値を求める計算アルゴリズムが実行される（ステップ１００）。
【００３６】
目標符号量が８個の固定量子化器１４ａ〜１４ｈからの発生符号量で挟み込めない場合は（ステップ８２）、入力データに対して目標符号量が極端に多いか少ないかの場合である。この場合には例えば従来の方法のような例外処理（ステップ８８）が行なわれる。本来ならばこのようなことがないように、目標符号量または８個の固定量子化値が決定されなければならない。
【００３７】
図４のステップ９０はサブルーチン構成であって、その一例を図５に示す。同図のフィードバックスレッショールド計算アルゴリズムにおいては、図４ステップ８２で選択された２個の固定量子化値FixＱ（ｉ）とFixＱ（ｉ＋１）の関係を調べる。
【００３８】
この関係が、符号化の方法として規定される最小の量子化ステップ（＝＝minＱステップと定義する）であるかを判定する（ステップ９１）。FixＱ（ｉ）とFixＱ（ｉ＋１）との関係がこの最小量子化ステップ（FixＱ（ｉ＋１）−FixＱ（ｉ）＝＝minＱステップと定義する）であるならば、ステップ８２で選択した量子化値FixＱ（ｉ）とFixＱ（ｉ＋１）をそのまま補間後の量子化ステップ（InterpＱ（ｊ））として使用する（ステップ９２）。
【００３９】
逆に、FixＱ（ｉ）とFixＱ（ｉ＋１）との関係が最小量子化ステップでないならば、FixＱ（ｉ）とFixＱ（ｉ＋１）との間で最小の量子化ステップになる量子化ステップ（InterpＱ（ｊ））を補間によって求める（ステップ９３，９４）。
【００４０】
ここで、
0003978810.tif 000003
ｋ＝ｊ，・・・，ｊ＋Ｘ−１
【００４１】
そして、InterpＱ（ｊ）に対するＧＯＰ単位の発生符号量を、GenBit（FixＱ（ｉ））とGenBit（FixＱ（ｉ＋１））から補間により求める。ここでは、直線補間により求めるものとする。
0003978810.tif 000004
ここに、ｙ＝ｊ，ｊ＋１，・・・，ｊ＋Ｘ−１
【００４２】
この補間により求めたＧＯＰ単位の発生符号量に対して、ＧＯＰ単位の目標符号量との関係が、
GenBit（InterpＱ（ｊ））＞目標符号量＞GenBit（InterpＱ（ｊ＋１））・・・（６）
となるｊを見つけ出す（ステップ９５）。（６）式を満たすInterpＱ（ｊ）とInterpＱ（ｊ＋１）との関係は、最小量子化ステップとなる。
【００４３】
ステップ９２若しくはステップ９５で決定された、InterpＱ（ｊ），InterpＱ（ｊ＋１）さらにそのＧＯＰ単位の発生符号量GenBit（InterpＱ（ｊ）），GenBit（InterpＱ（ｊ＋１））およびＧＯＰ単位の目標符号量から、フィードバックスレッショールド値が算出される（ステップ９７）。
【００４４】
ステップ９７ではある関数ＵＮＣ＝ｆ（ｘ），ＬＮＣ＝ｇ（ｘ）を定義する。ここに、
0003978810.tif 000005
ステップ９７ではこの計算を行い、
フィードバック＝ＦＮＣ（ＵＮＣ，ＬＮＣ）  ・・・（９ａ）
をフィードバックスレッショールドＦＢＴの値とする。
【００４５】
例えば、具体的には、
ｆ（ｘ）＝（ＧＯＰ単位のマクロブロック数）＊ｘ  ・・・（９ｂ）
ｇ（ｘ）＝（ＧＯＰ単位のマクロブロック数）＊ｘ  ・・・（９ｃ）
として、ＦＮＣ（）を図６のようにすることが考えられる。
【００４６】
図６から明らかなように、ＵＮＣの値が増えるにしたがって、フィードバックスレッショールド値を大きくし、かつ、ＬＮＣの値が小さくなるにしたがってフィードバックスレッショールド値を小さくする。そしてこのフィードバックスレッショールドＦＢＴと差分値ＤＦとから、そのうちの小さい方の値をフィードバック量決定手段２６の出力（フィードバック量ＦＢ）として用いる。
【００４７】
このような計算アルゴリズムを用いることにより、ほぼ各マクロブロックの目標符号量を最小量子化ステップ（InterpＱ（ｊ）とInterpＱ（ｊ＋１））内での変動に収めることができる。最小量子化ステップ内での変動に抑えられるために量子化値が安定化する。また、この計算アルゴリズムは、入力データに対する８個の固定量子化器１４ａ〜１４ｈからの発生符号量から出発しているので、入力画像データの性質を的確に反映することができる。
【００４８】
図７はサブルーチンステップ１００（図４）での計算アルゴリズムの具体例である。まず、図４ステップ８２で選択された２個の固定量子化器の１つであるFixＱ（ｉ）とＧＯＰ単位の目標符号量から、例えば以下のような関数ｈ（ｘ）を定義する（ステップ１０１）。
【００４９】
0003978810.tif 000006
次に、この（１０ａ）式を計算し、
フィードバック＝ＦＣ（ＵＣ）    ・・・（１０ｂ）
をフィードバックスレッショールドＦＢＴの値とする（ステップ１０２）。
【００５０】
例えば、具体的には、
ｈ（ｘ）＝（ＧＯＰ単位のマクロブロック数）＊ｘ  ・・・（１０ｃ）
として、ＦＣ（）を図８のようにすることが考えられる。ＵＣの値が増えるにしたがって、フィードバックスレッショールド値を大きくする。
【００５１】
上述したＦＮＣ（）と違い、ＵＣが０の場合でもフィードバックスレッショールド値は０としないである正の値Ｓを持たせる。また、ＬＮＣなどのようにフィードバックスレッショールド値を小さくする要素は導入しない。これは、以下の理由による。
【００５２】
フィードバックスレッショールド値を図５のようにしてしまうと、バックサーチ手段３２でのアルゴリズムにおいて、最初に符号化した際の量子化値を見つけにくなってしまう。発生符号量が目標符号量を越えてはならない本発明のような符号化では、「目標符号量を越えない最小の量子化値を選ばなくてはならない」と言う大前提がある。バックサーチアルゴリズムを通過した後でも、この大前提は当然満たされなければならない。
【００５３】
バックサーチアルゴリズムでは、Ｍ段の量子化（Ｑ（ｉ），ｉ＝１，２，・・・，Ｍ）を行ない、その量子化の際の余りの最小となる量子化値Ｑ（ｊ）を見つけ、それを最初の符号化の際に量子化された量子化値と判定する。
【００５４】
しかし、ノイズなどの影響でＭ段の量子化での余りに差がなくなることもある。このような場合にはバックサーチアルゴリズムでは、量子化値の変更を行なわない。
【００５５】
このようなバックサーチアルゴリズムにおいて、バックサーチ手段３２を通過した後でも、この大前提を満足するためには、Ｍ段の量子化の最小の量子化値は、目標符号量を越えない最小のものを選ぶ必要がある。そして、その最小の量子化値から量子化値を増やす方向にＭ段の量子化を行ない、余りが最小となる量子化値を見つけ出す。
【００５６】
言い換えれば、大前提を満足させながら、かつバックサーチアルゴリズムで最初に符号化した際の量子化値を見つけられるようにするためには、目標符号量を適度に多くして、最初に符号化された量子化値での発生符号量を越えるように選ぶ必要がある。
【００５７】
これを効果的に行なうためには、フィードバックスレッショールドＦＢＴは、ＵＣが０の場合でもある正の値Ｓとする必要があり、また、バックサーチアルゴリズムが確実に最初の符号化の際の量子化値を検出することによる可変長符号化手段３６からの目標符号量と発生符号量との差分値ＤＦは増加するので、ＬＮＣを導入してフィードバックスレッショールド値を小さくする必要がない。
【００５８】
このアルゴリズムにより、マクロブロック単位の目標符号量が最初に符号化した際の量子化値での発生符号量を上回り、その結果バックサーチアルゴリズムを十分活用することができるので、符号化／復号化を繰り返したときの劣化を抑えることが可能となる。
【００５９】
続いて、具体例に基づいて従来と本発明との差異を述べる。その前提として、入力画像のマクロブロックデータのＹ信号、Ｃｒ信号、Ｃｂ信号がそれぞれ図１０〜図１２であるとする。図の例はそれぞれ４ライン単位の繰り返しである。このマクロブロックＭＢが２個で１ＧＯＰとする。またＧＯＰ単位の目標符号量を１５２０ビットとする。従来の方法の場合のフィードバックスレッショールドは３０ビットの固定値とする。従来例から説明する。
【００６０】
（１）１回目の符号化
（１ａ）固定量子化器１４の量子化値
ＭＰＥＧ２では３１個の量子化値を選択できる。３１個の量子化値は例えば「１，２，３，４，５，６，７，８，１０，１２，１４，１６，１８，２０，２２，２４，２８，３２，３６，４０，４４，４８，５２，５６，６４，７２，８０，８８，９６，１０４，１１２」
である。
【００６１】
ＧＯＰ単位の目標符号量以内に発生符号量ＧＭＢを抑えるために、あらかじめ固定量子化器１４においてＧＯＰ単位とマクロブロック単位での発生符号量を求め、この発生符号量を用いて符号量の割り当てを行う。固定量子化器１４として３１個全ての量子化器を備えればよいが、回路規模の削減から、例えばＮ＝８として８個の量子化値の代表点を選び、その８個の量子化値に対してＧＯＰ単位とマクロブロック単位の発生符号量を求める。
【００６２】
因みに、Ｑサーチ手段３０には上述した３１個の異なる量子化値でＤＣＴ係数を量子化する３１個の量子化器が備えられている。
【００６３】
今、８個の固定量子化値を図１３のように選んだときの各固定量子化器１４での発生符号量は、図１４のようになる。マクロブロックが２個で１ＧＯＰであるので、図１４におけるＧＯＰ単位はマクロブロック単位の２倍になっている。
【００６４】
（１ｂ）目標符号量と符号量割り当て
ＧＯＰ単位の目標符号量ＴＭＢは１５２０ビットであるから、Ｎ＝８個の固定量子化器１４のＧＯＰ単位の発生符号量から、このＧＯＰ単位の目標符号量の１５２０ビットを挟む２つの量子化値を求めると、図１４から量子化値は「１８」と「２４」となる。
【００６５】
この２つの量子化値「１８」と「２４」のＧＯＰ単位の発生符号量から、ＧＯＰ単位の目標符号量である１５２０ビットに対する量子化値Ｑを直線近似によって求める。
0003978810.tif 000007
【００６６】
また２つの量子化値「１８」と「２４」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-ＭＢ（ＴＭＢ）を、（１１）式で求めた量子化値Ｑ＝２２．５８２を用いて直線近似する。
0003978810.tif 000008
（１ｃ）フィードバックスレッショールド値を予め与えられた固定値（この例では３０ビット）とする。
【００６７】
（１ｄ）１番目のマクロブロック
マクロブロック単位での目標符号量（割り当て手段２４の出力）はTarget-ＭＢ＝７６０ビットである。第２の加算手段２８は初期化され、「０」であるので、第１の加算手段２６の出力のフィードバック値も「０」となる。したがって、第２の加算手段２８では
ＴＭＢｂ＝ＴＭＢａ＋ＦＢ＝７６０＋０＝７６０ビット  ・・・（１３）
となり、これがフィードバック制御を行ったときに出力される目標符号量ＴＭＢｂとなる。
【００６８】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が７６０ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図１５のようになっているから、７６０ビットを越えない量子化値として「２２」を選択する。
【００６９】
バックサーチ手段３２では、Ｑサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係（例えば、最大値が最小値の１００倍以上）から、１回目に符号化された際の量子化値を求める。
【００７０】
総和の最小値は量子化値が「２２」のときで１２２ビット、総和の最大値は量子化値が「１１２」のときで９１７ビットとなる。最大値は最小値の７．５２倍であるので、Ｑサーチ手段３０の量子化値出力「２２」をバックサーチ手段３２の出力とする。
【００７１】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２２」を用いてＤＣＴ係数の量子化を行う。
【００７２】
可変長符号化手段（ＶＬＣ）３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【００７３】
量子化値「２２」でのマクロブロック単位の発生符号量は図１５より７３４ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７６０ビットとの差分値ＤＦ、
ＤＦ＝７６０−７３４＝２６ビット      ・・・（１４）
が割り当て手段２０に対して出力される。
【００７４】
（１ｅ）２番目のマクロブロック
マクロブロック単位での目標符号量ＴＭＢｂは（１２）式より、
ＴＭＢｂ＝Target-ＭＢ＝７６０ビット    ・・・（１５Ａ）
である。第１の加算手段２６は（１４）式から明らかなように１番目のマクロブロックにおけるマクロブロック単位の目標符号量ＴＭＢｂと発生符号量との差分値ＤＦである２６ビットとなっている。フィードバックスレッショールド値は上述したように３０ビットであるので、第１の加算手段２６の出力は２６ビットとなる。第１の加算手段２６からはそのフィードバック値として２６ビットを既に出力してしまっているので、結果として「０」ビットとなる。第２の加算手段２８では、
ＴＭＢｂ＝７６０＋２６＝７８６ビット      ・・・（１５Ｂ）
となり、これがフィードバック制御を行ったときの目標符号量ＴＭＢｂとなる。
【００７５】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が７８６ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図１５のようになっているから、７８６ビットを越えない量子化値として「１８」を選択する。
【００７６】
バックサーチ手段３２では、上述したようにＱサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【００７７】
総和の最小値は量子化値が「１８」のときで７３ビット、総和の最大値は量子化値が「１１２」のときで９１７ビットとなる。最大値は最小値の１２．５６倍であるので、Ｑサーチ手段３０の量子化値出力「１８」をバックサーチ手段３２の出力とする。
【００７８】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「１８」を用いてＤＣＴ係数の量子化を行う。
【００７９】
可変長符号化手段（ＶＬＣ）３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【００８０】
量子化値「１８」でのマクロブロック単位の発生符号量は図１５より７８６ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７８６ビットとの差分値ＤＦ
ＤＦ＝７８６−７８６＝０ビット      ・・・（１６）
が割り当て手段２０に対して出力される。
【００８１】
以上の処理で１回目の符号化が終了する。可変長符号化手段３６より得られるＶＬＣを復号化して次に２回目の符号化を行う。
【００８２】
（２）２回目の符号化
（２ａ）固定量子化器１４の量子化値
１回目の符号化のときと同じように、３１個の量子化値から８個の固定量子化値を選ぶ（図１３参照）。この量子化値は１回目の符号化のときと同じ値である。このときの各固定量子化器１４での発生符号量は図１６のようになる。図１６において、１番目のマクロブロックと２番目のマクロブロックで発生符号量が異なっているのは、１回目の符号化において量子化値が「２２」と「１８」と異なっているからである。
【００８３】
（２ｂ）目標符号量と符号量割り当て
ＧＯＰ単位の目標符号量ＴＭＢは１５２０ビットであるから、Ｎ＝８個の固定量子化器１４のＧＯＰ単位の発生符号量から、このＧＯＰ単位の目標符号量ＴＭＢの１５２０ビットを挟む２つの量子化値を求めると、図１４から「１８」と「２４」となる。
【００８４】
この２つの量子化値「１８」と「２４」のＧＯＰ単位の発生符号量から、ＧＯＰ単位の目標符号量である１５２０ビットに対する量子化値Ｑを直線近似によって求める。
0003978810.tif 000009
【００８５】
また２つの量子化値「１８」と「２４」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-ＭＢ（ＴＭＢ）を、（１７）式で求めた量子化値Ｑ＝２２．１６３を用いて直線近似する。
【００８６】
１番目のマクロブロックに対する目標符号量は、
0003978810.tif 000010
【００８７】
２番目のマクロブロックに対する目標符号量は、
0003978810.tif 000011
（２ｃ）フィードバックスレッショールド値は、１回目と同じく３０ビットの固定値である。
【００８８】
（２ｄ）１番目のマクロブロック
マクロブロック単位での目標符号量（割り当て手段２４の出力）はTarget-ＭＢ＝７５４ビットである。第２の加算手段２８は初期化され、「０」であるので、第１の加算手段２６の出力のフィードバック値も「０」となる。したがって、第２の加算手段２８では
ＴＭＢｂ＝ＴＭＢａ＋ＦＢ＝７５４＋０＝７５４ビット  ・・・（２０）
となり、これがフィードバック制御を行ったときに出力される目標符号量ＴＭＢｂとなる。
【００８９】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が（２０）式で求めた７５４ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図１７のようになっているから、７５４ビットを越えない量子化値として「２０」を選択する。
【００９０】
バックサーチ手段３２では、Ｑサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【００９１】
総和の最小値は量子化値が「２２」のときで４ビット、総和の最大値は量子化値が「１１２」のときで８１６７ビットとなる。最大値は最小値の２０４倍であるので、１回目の符号化では量子化値「２２」が使用されたものと判断し、量子化値「２２」をバックサーチ手段３２の出力とする。
【００９２】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２２」を用いてＤＣＴ係数の量子化を行う。
【００９３】
可変長符号化手段３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【００９４】
量子化値「２２」でのマクロブロック単位の発生符号量は図２０より７３４ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７５４ビットとの差分値ＤＦ
ＤＦ＝７５４−７３４＝２０ビット      ・・・（２１）
が割り当て手段２０にフィードバックされる。
【００９５】
（２ｅ）２番目のマクロブロック
２番目のマクロブロック単位での目標符号量ＴＭＢｂは（１９）式より、
ＴＭＢｂ2＝Target-ＭＢ＝７６５ビット      ・・・（２２）
である。第１の加算手段２６は（２１）式から明らかなように１番目のマクロブロックにおけるマクロブロック単位の目標符号量ＴＭＢｂと発生符号量との差分値ＤＦである２０ビットとなっている。フィードバックスレッショールドは上述したように３０ビットであるので、第１の加算手段２６の出力は２０ビットとなる。第１の加算手段２６はフィードバックＦＢとして２０ビットを出力してしまっているので、結果として「０」となる。第２の加算手段２８では、
ＴＭＢｂ＝７６５＋２０＝７８５ビット      ・・・（２３）
となり、これがフィードバック制御を行ったときの目標符号量ＴＭＢｂとなる。
【００９６】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が７８６ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図１８のようになっているから、７８６ビットを越えない量子化値として「２０」を選択する。
【００９７】
バックサーチ手段３２では、上述したようにＱサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【００９８】
総和の最小値は量子化値が「２０」のときで３７ビット、総和の最大値は量子化値が「１０４」のときで８５１ビットとなる。最大値は最小値の２３倍であるので、Ｑサーチ手段３０の量子化値出力「２０」をバックサーチ手段３２の出力とする。
【００９９】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２０」を用いてＤＣＴ係数の量子化を行う。
【０１００】
可変長符号化手段３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【０１０１】
量子化値「２０」でのマクロブロック単位の発生符号量は図２１より７８４ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７８５ビットとの差分値
ＤＦ＝７８５−７８４＝１ビット      ・・・（２４）
が割り当て手段２０に対して出力される。以上の処理で２回目の符号化が終了する。
【０１０２】
（３）従来方法での結果
以上の結果を整理すると量子化値については図１９のようになる。
【０１０３】
１番目のマクロブロックについては１回目の符号化と２回目の符号化で量子化値は同じである。しかし、２番目のマクロブロックについては１回目の符号化と２回目の符号化で量子化値が異なっている。このことはつまり、符号化／復号化を繰り返すと画質劣化が起きることを意味している。
【０１０４】
また、入力画像に対する１回目の符号化のときのＳＮＲと２回目の符号化のときのＳＮＲをマクロブロック単位で計算してみると図２０のようになる。同図は輝度信号Ｙについての計算例である。
【０１０５】
続いて、この発明のようにフィードバック量をコントロールしながら目標符号量を設定する場合について説明する。上述した説明と重複する説明文が出現することを断っておく。
【０１０６】
（４）本発明の方法
続いて、本発明による入力画像データの内容を反映した適応的なフィードバックスレッショールド値の設定方法について以下に説明する。
【０１０７】
（５）１回目の符号化
（５ａ）固定量子化器の量子化値
従来と同じく８個の固定量子化値を図１３のように選ぶと、そのときの各固定量子化器１４での発生符号量は図１４のようになる。
【０１０８】
（５ｂ）目標符号量と符号量割り当て
ＧＯＰ単位の目標符号量は従来例と同じく１５２０ビットとする。Ｎ＝８個の固定量子化器１４のＧＯＰ単位の発生符号量から、このＧＯＰ単位の目標符号量の１５２０ビットを挟む２つの量子化値を求めると、図１４から１８と２４となる。
【０１０９】
この２つの量子化値「１８」と「２４」のＧＯＰ単位の発生符号量から、ＧＯＰ単位の目標符号量である１５２０ビットに対する量子化値Ｑを直線近似によって求める。
0003978810.tif 000012
【０１１０】
また２つの量子化値「１８」と「２４」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-ＭＢ（ＴＭＢ）を、（２５Ａ）式で求めた量子化値Ｑ＝２２．５８２を用いて直線近似する。
0003978810.tif 000013
【０１１１】
（５ｃ）フィードバックスレッショールド値の算出
フィードバックスレッショールドの値を８個の固定量子化器１４におけるＧＯＰ単位での発生符号量から計算により算出する。
【０１１２】
まず始めに、判定手段４２において入力画像が過去に符号化／復号化されているかを調べる。具体的には、各ＧＯＰ単位の発生符号量の傾きを計算し、その傾きが単調であるかを調べ、単調であれば過去に符号化／復号化されていないと判断し、傾きが単調でない場合にはその入力画像が過去に符号化／復号化されていると判断する。
【０１１３】
傾きＧＤの計算式は次の通りである。ここで、ｉは「１」から「７」までである。
0003978810.tif 000014
実際に傾きＧＤを計算すると図２１のようになり、傾きは単調であるので判定手段４２では過去に符号化／復号化されていないという判定結果が得られる。
【０１１４】
次に、フィードバックコントロール手段４４ではこの判定結果を基づいて８個の固定量子化器１４でのＧＯＰ単位の発生符号量からフィードバックスレッショールド値を計算する。
【０１１５】
この発明では符号化／復号化がなされていないと判定されたときには、各マクロブロック間での量子化値の変動をできるだけ少なくなるようなフィードバックスレッショールド値が算出され、これとは逆に符号化／復号化されていると判定したときには、バックサーチ手段３２でのバックサーチアルゴリズムによって、最初に符号化した際の量子化値を見つけられるようなフィードバックスレッショールド値が算出される。
フィードバックスレッショールド値の算出は、以下に示すステップ（５ｄ−１）〜（５ｄ−４）によって求められる。
【０１１６】
・ステップ（５ｄ−１）
まず、図２２に示すように、８個の固定量子化器１４でのＧＯＰ単位の発生符号量からＧＯＰ単位の目標符号量１５２０ビットを挟む２つの量子化値を求める。図２２からも明らかなように、目標符号量を挟む２つの量子化値として「１８」と「２４」が選ばれる。
【０１１７】
・ステップ（５ｄ−２）
量子化値「１８」と「２４」は最小の量子化幅ではないので、最小量子化幅となる量子化値に対するＧＯＰ単位の発生符号量を、量子化値「１８」と「２４」でのＧＯＰ単位の発生符号量を利用して直線近似により求める。
【０１１８】
量子化値「１８」と「２４」の間には量子化値「２０」と「２２」が存在し、量子化値「２２」に対するＧＯＰ単位の発生符号量の近似値は、以下のようになる。
１３５２＋［（２４−２２）／（２４−１８）］×（１５７２−１３５２）
＝１４２５．３３                                    ・・・（２９）
量子化値「２０」に対するＧＯＰ単位の発生符号量の近似値は、以下のようになる。
１３５２＋［（２４−２０）／（２４−１８）］×（１５７２−１３５２）
＝１４９８．６７                                    ・・・（３０）
【０１１９】
・ステップ（５ｄ−３）
量子化値「１８」と「２４」のＧＯＰ単位の発生符号量と、量子化値「２０」と「２２」に対して上述の近似式によって求めたＧＯＰ単位の発生符号量とから、改めてＧＯＰ単位の目標符号量１５２０ビットを挟む２つの量子化値を求めると、その値は上の数値から明らかなように「１８」と「２０」となる。そのときのＧＯＰ単位の発生符号量はそれぞれ整数化すると、１５７２ビットと１４９９ビットとなる。
【０１２０】
・ステップ（５ｄ−４）
ＧＯＰ単位の目標符号量とそれを挟む２つのＧＯＰ単位の発生符号量からフィードバックスレッショールド値を計算する。まずＵＮＣ，ＬＮＣという量を定義する。ＵＮＣはステップ（５ｄ−３）で求めた２つのＧＯＰ単位の発生符号量のうちの目標符号量を越える発生符号量１５７２ビットと、ＧＯＰ単位の目標符号量１５２０ビットとの差分値を示すものである。
【０１２１】
ＬＮＣはＧＯＰ単位の目標符号量１５２０ビットと、ステップ（５ｄ−３）で求めた２つのＧＯＰ単位の発生符号量のうち目標符号量を越えない発生符号量１４９９ビットとの差分値であるから、以下のようになる。
ＵＮＣ＝１５７２−１５２０＝５２ビット      ・・・（３１）
ＬＮＣ＝１５２０−１４９９＝２１ビット      ・・・（３２）
【０１２２】
このとき、フィードバックスレッショールド値ＦＢＴとしては例えば以下のように選ぶことができる。
ＦＢＴ＝min[ＵＮＣ×（３／８），ＬＮＣ］      ・・・（３３）
その結果、
0003978810.tif 000015
以上の計算により、フィードバックコントロール手段６０から出力されるフィードバックスレッショールド値は２０ビットとなる。
【０１２３】
（５ｅ）１番目のマクロブロック
マクロブロック単位での目標符号量（割り当て手段２４の出力）はTarget-ＭＢ＝７６０ビットである。第２の加算手段２８は初期化され、「０」であるので、第１の加算手段２６の出力のフィードバック値も「０」となる。したがって、第２の加算手段２８では
ＴＭＢｂ＝ＴＭＢａ＋ＦＢ＝７６０＋０＝７６０ビット  ・・・（３５）
となり、これがフィードバック制御を行ったときに出力される目標符号量ＴＭＢｂとなる。
【０１２４】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が（３５）式で求めた７６０ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図１５のようになっているから、７６０ビットを越えない量子化値として「２２」を選択する。
【０１２５】
バックサーチ手段３２では、Ｑサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【０１２６】
総和の最小値は量子化値が「２２」のときで１２２ビット、総和の最大値は量子化値が「１１２」のときで９１７ビットとなる。最大値は最小値の７．５２倍であるので、１回目の符号化では量子化値「２２」をバックサーチ手段３２の出力とする。
【０１２７】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２２」を用いてＤＣＴ係数の量子化を行う。
【０１２８】
可変長符号化手段（ＶＬＣ）３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【０１２９】
量子化値「２２」でのマクロブロック単位の発生符号量は図１５より７３４ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７６０ビットとの差分値
ＤＦ＝７６０−７３４＝２６ビット      ・・・（３６）
が割り当て手段２０にフィードバックされる。
【０１３０】
（５ｆ）２番目のマクロブロック
マクロブロック単位での目標符号量ＴＭＢｂは、
ＴＭＢｂ2＝Target-ＭＢ＝７６０ビット    ・・・（３７）
である。第１の加算手段２６は（３６）式から明らかなように１番目のマクロブロックにおけるマクロブロック単位の目標符号量ＴＭＢｂと発生符号量との差分値ＤＦである２６ビットとなっている。算出されたフィードバックスレッショールド値は上述したように２０ビットであるので、第１の加算手段２６の出力は２０ビットとなる。第１の加算手段２６はフィードバックＦＢとして２０ビットを出力してしまっているので、結果として「６」ビットとなる。第２の加算手段２８では、
ＴＭＢｂ＝７６０＋２０＝７８０ビット      ・・・（３８）
となり、これがフィードバック制御を行ったときの目標符号量ＴＭＢｂとなる。
【０１３１】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が７８０ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図２３のようになっているから、７８０ビットを越えない量子化値として「２０」を選択する。
【０１３２】
バックサーチ手段３２では、上述したようにＱサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【０１３３】
総和の最小値は量子化値が「２０」のときで９７ビット、総和の最大値は量子化値が「１１２」のときで９１７ビットとなる。最大値は最小値の９．４５倍であるので、Ｑサーチ手段３０からの量子化値「２０」をバックサーチ手段３２の出力とする。
【０１３４】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２０」を用いてＤＣＴ係数の量子化を行う。
【０１３５】
可変長符号化手段３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【０１３６】
量子化値「２０」でのマクロブロック単位の発生符号量は図２３より７６６ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７８０ビットとの差分値
ＤＦ＝７８０−７６６＝１４ビット      ・・・（３９）
が割り当て手段２０に対して出力される。
以上の処理で１回目の符号化が終了する。可変長符号化手段３６より得られるＶＬＣを復号化して次に２回目の符号化を行う。
【０１３７】
（６）２回目の符号化
（６ａ）固定量子化器１４の量子化値
１回目の符号化のときと同じように、３１個の量子化値から８個の固定量子化値を選ぶ（図１３参照）。この量子化値は１回目の符号化のときと同じ値である。このときの各固定量子化器１４での発生符号量は図２４のようになる。図２４において、１番目のマクロブロックと２番目のマクロブロックで発生符号量が異なっているのは、１回目の符号化において量子化値が「２２」と「２０」と異なっているからである。
【０１３８】
（６ｂ）目標符号量と符号量割り当て
ＧＯＰ単位の目標符号量ＴＭＢは１５２０ビットであるから、Ｎ＝８個の固定量子化器１４のＧＯＰ単位の発生符号量から、このＧＯＰ単位の目標符号量ＴＭＢの１５２０ビットを挟む２つの量子化値を求めると、図２４から量子化値は「１８」と「２４」となる。
この２つの量子化値「１８」と「２４」のＧＯＰ単位の発生符号量から、ＧＯＰ単位の目標符号量である１５２０ビットに対する量子化値Ｑを直線近似によって求める。
0003978810.tif 000016
【０１３９】
また２つの量子化値「１８」と「２４」のマクロブロック単位の発生符号量から、マクロブロック単位の目標符号量Target-ＭＢ（ＴＭＢ）を、（４０）式で求めた量子化値Ｑ＝２２．３８５を用いて直線近似する。
【０１４０】
１番目のマクロブロックに対する目標符号量は、
0003978810.tif 000017
【０１４１】
２番目のマクロブロックに対する目標符号量は、
0003978810.tif 000018
【０１４２】
（６ｃ）フィードバックスレッショールド値の算出
フィードバックスレッショールド値は、ＧＯＰ単位での発生符号量から計算による求めることになる。
１回目の符号化と同様に、まず始めに、判定手段４２において入力画像が過去に符号化／復号化されているかを調べる。具体的には、各ＧＯＰ単位の発生符号量の傾きを計算し、その傾きが単調であるかを調べ、単調であれば過去に符号化／復号化されていないと判断し、傾きが単調でない場合にはその入力画像が過去に符号化／復号化されていると判断する。
【０１４３】
傾きＧＤの計算式は次の通りである。ここで、ｉは「１」から「７」までである。
0003978810.tif 000019
【０１４４】
実際に傾きＧＤを計算すると図２５のようになり、傾きは単調ではないので、判定手段４２では過去に符号化／復号化されているという判定結果が得られる。
次に、フィードバックコントロール手段４４ではこの判定結果を基づいて８個の固定量子化器１４でのＧＯＰ単位の発生符号量からフィードバックスレッショールド値を計算する。これは以下に示すステップ（６ｄ−１）〜（６ｄ−２）によって求められる。
【０１４５】
・ステップ（６ｄ−１）
まず、図２６に示すように、８個の固定量子化器１４でのＧＯＰ単位の発生符号量からＧＯＰ単位の目標符号量１５２０ビットを越える最小の発生符号量を求める。図２６から量子化値が「１８」であるときの発生符号量１５３４ビットが選ばれる。
【０１４６】
・ステップ（６ｄ−２）
ＧＯＰ単位の目標符号量と、それを越えるＧＯＰ単位の発生符号量からフィードバックスレッショールド値を計算する。そのために、ＵＣという量を定義する。ＵＣはステップ（６ｄ−１）で求めたＧＯＰ単位の発生符号量を越える発生符号量と、ＧＯＰ単位の目標符号量との差分値を示すものである。
ＵＣ＝１５３４−１５２０＝１４ビット      ・・・（４６）
【０１４７】
このとき、フィードバックスレッショールド値ＦＢＴとしては例えば以下のように選ぶことができる。
ＦＢＴ＝５＋ＵＣ×（３／４）      ・・・（４７）
その結果、
0003978810.tif 000020
以上の計算により、フィードバックスレッショールド値は１６ビットとなる。
【０１４８】
（６ｅ）１番目のマクロブロック
マクロブロック単位での目標符号量（割り当て手段２４の出力）はTarget-ＭＢ＝７５５ビットである。第２の加算手段２８は初期化され、「０」であるので、第１の加算手段２６の出力のフィードバック値も「０」となる。したがって、第２の加算手段２８では
ＴＭＢｂ＝ＴＭＢａ＋ＦＢＴ＝７５５＋０＝７５５ビット  ・・・（４９）
となり、これがフィードバック制御を行ったときに出力される目標符号量ＴＭＢｂとなる。
【０１４９】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が（４９）式で求めた７５５ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図２７のようになっているから、７５５ビットを越えない量子化値として「２０」を選択する。
【０１５０】
バックサーチ手段３２では、Ｑサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【０１５１】
総和の最小値は量子化値が「２２」のときで４ビット、総和の最大値は量子化値が「１１２」のときで８１６ビットとなる。最大値は最小値の２０４倍である値「２２」をバックサーチ手段３２の出力とする。
【０１５２】
量子化手段３４ではバックサーチ手段３２より出力された量子化値「２２」を用いてＤＣＴ係数の量子化を行う。
【０１５３】
可変長符号化手段３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【０１５４】
量子化値「２２」でのマクロブロック単位の発生符号量は図２７より７３４ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７５５ビットとの差分値ＤＦ
ＤＦ＝７５５−７３４＝２１ビット      ・・・（５０）
が割り当て手段２０にフィードバックされる。
【０１５５】
（６ｆ）２番目のマクロブロック
マクロブロック単位での目標符号量ＴＭＢｂは、
ＴＭＢｂ2＝Target-ＭＢ＝７６４ビット      ・・・（５１）
である。第１の加算手段２６は（５０）式から明らかなように１番目のマクロブロックにおけるマクロブロック単位の目標符号量ＴＭＢｂと発生符号量との差分値ＤＦである２１ビットとなっている。算出されたフィードバックスレッショールド値は上述したように１６ビットであるので、第１の加算手段２６の出力は１６ビットとなる。第１の加算手段２６はフィードバックスレッショールド値ＦＢＴとして１６ビットを出力してしまっているので、結果として「５」ビットとなる。第２の加算手段２８では、
ＴＭＢｂ＝７６４＋１６＝７８０ビット      ・・・（５２）
となり、これがフィードバック制御を行ったときの目標符号量ＴＭＢｂとなる。
【０１５６】
Ｑサーチ手段３０では、マクロブロック単位での発生符号量が７８０ビットを越えない量子化値を求める。実際、量子化値とマクロブロック単位の発生量を抜粋すると図２８のようになっているから、７８０ビットを越えない量子化値として「１８」を選択する。
【０１５７】
バックサーチ手段３２では、上述したようにＱサーチ手段３０より得られる量子化値以上の量子化値に対して、マクロブロック単位でＤＣＴ係数の量子化後の余り（剰余）の総和を求め、その総和の最大値と最小値の関係から、１回目に符号化された際の量子化値を求める。
【０１５８】
総和の最小値は量子化値が「２０」のときで４ビット、総和の最大値は量子化値が「１１２」のときで７８０ビットとなる。最大値は最小値の１９５倍であるので、Ｑサーチ手段３０からの量子化値「２０」をバックサーチ手段３２の出力とする。
【０１５９】
量子化手段３４では、バックサーチ手段３２より出力された量子化値「２０」を用いてＤＣＴ係数の量子化を行う。
可変長符号化手段３６では量子化されたＤＣＴ係数から可変長符号を発生させる。また、マクロブロック単位の目標符号量ＴＭＢｂと可変長符号化手段３６で実際に発生した符号量の差分ＤＦを求め、割り当て手段２０にフィードバックする。
【０１６０】
量子化値「２０」でのマクロブロック単位の発生符号量は図２８より７６６ビットであるので、マクロブロック単位の目標符号量ＴＭＢｂ＝７８０ビットとの差分値
ＤＦ＝７８０−７６６＝１４ビット      ・・・（５３）
が割り当て手段２０に対して出力される。以上の処理で２回目の符号化が終了する。
【０１６１】
（７）本発明での結果
以上の結果を整理すると量子化値については図２９のようになる。
【０１６２】
符号化１回目において、１番目および２番目のマクロブロックに対する量子化値の差は、本発明の場合には２（＝２２−２０）である。これに対して図１９のように従来の方法では４（＝２２−１８）となる。したがって本発明方法による場合の方が量子化値の安定化を図ることができる。
【０１６３】
また本発明の場合には、１番目と２番目のマクロブロックにおいてそれぞれ１回目の符号化と２回目の符号化で量子化値が同じになる。これによって符号化と復号化とを繰り返しても量子化値の再現性が保つことができるから、従来の方法に比べて画質劣化が起きにくいことを意味する。
【０１６４】
また入力画像に対する符号化の１回目と２回目のＳＮＲをマクロブロック単位で計算してみると、輝度信号Ｙに関して図３０のような結果が得られた。従来例を示す図２０と比較すれば明らかなように、２回目の符号化では本発明の方がＳＮＲが改善されていることが判る。
【０１６５】
このような効果上の差異が発生するのは、上述したようにフィードバックスレッショールド値として従来では固定値（例えば３０）を使用していたことに他ならない。換言すれば、従来例では入力画像の性質を考慮していないので、マクロブロック単位での目標符号量と実際の発生符号量との差分の、ＧＯＰ単位の加算結果が、フィードバックスレッショールド値以下になる場合がある。そのためにフィードバック量がマクロブロック単位で大きく変動してしまう。このフィードバック量の大きな変動が、第２の加算手段２８で加算されたマクロブロック単位の目標符号量ＦＢＴに反映されてしまうために、その結果として量子化値の大きな変動を引き起こすことになる。
【０１６６】
２回目の符号化においては、１回目の符号化で量子化値が大きく変動しているので、マクロブロック単位の目標符号量が、１回目の符号化での発生符号量を下回り、バックサーチ手段３２において１回目の量子化値を探すことができなくなってしまい、量子化値の再現性が保たれなくなる。これにより画質の劣化が生じてしまう。
【０１６７】
本発明の場合は、８個の固定量子化器のＧＯＰ単位の発生符号量からフィードバックスレッショールド値を計算する。これによりマクロブロック単位での目標符号量と実際の発生符号量との差分の、ＧＯＰ単位の加算結果が、フィードバックスレッショールド値より上回るようになる。これによって、フィードバック量がマクロブロック単位で変動することなく、フィードバックスレッショールド値がほぼ一定値に抑えられる。このようにフィードバック量がほとんど変動することがないので、量子化値の変動を抑えることができる。
【０１６８】
２回目の符号化においては、１回目の符号化で量子化値がほとんど変動していないので、マクロブロック単位の目標符号量が１回目の符号化での発生符号量を上回る。そのためにバックサーチ手段３２において１回目の量子化値を探すことができ、量子化値の再現性が保たれる。以上の処理によって画質の劣化を防ぐことができる。
【０１６９】
上述した固定量子化での発生符号量の傾きから入力画像データが既に符号化／復号化されているかどうかを判定できると説明した。以下にその理由を説明する。説明を簡単にするため発生符号量ではなく、量子化後のＤＣＴ係数の値にとどめる。
【０１７０】
例えば、（２，５，８，１０，１４，２１）というＤＣＴ係数が得られたとする。１回目の符号化での量子化を１０で行なうものとする。量子化を行なうと（０．２，０．５，０．８，１．０，１．４，２．１）となり、四捨五入が行なわれ量子化後の値として（０，１，１，１，１，２）が得られる。これを量子化と同じ値１０で逆量子化した場合には（０，１０，１０，１０，１０，２０）となる。
【０１７１】
次に（０，１０，１０，１０，１０，２０）に対して２回目の符号化での量子化について考える。まず、１回目の符号化と同じ量子化値１０を使い量子化を行なうと、（０．０，１．０，１．０，１．０，１．０，２．０）となり、四捨五入後（０，１，１，１，１，２）となる。逆量子化を１０で行なうと（０，１０，１０，１０，１０，２０）となる。また、２回目の符号化で１回目の符号化と同じ量子化値１０ではなく、１２で量子化することを考える。このときは、（０．０，５／６，５／６，５／６，５／６，５／３）となり、四捨五入後（０，１，１，１，１，２）となることがわかる。逆量子化を行なうと（０，１２，１２，１２，１２，２４）となる。
【０１７２】
２回目の符号化で１０で量子化した場合の逆量子化後の値（０，１０，１０，１０，１０，２０）は１２で量子化した場合のそれ（０，１２，１２，１２，１２，２４）と明らかに違うが、発生符号量という観点から注目した場合には、１０，１２での量子化での差はなく、共に（０，１，１，１，１，２）となることがわかる。量子化後の値が同じということは、発生符号量が同じになるということである。つまり、２回目の符号化で１０で量子化しようが１２で量子化しようが同じ発生符号量になることがわかる。
【０１７３】
ところで、１回目の符号化での量子化では同様のことが言えない。実際、上記の例題で１回目の符号化で１２で量子化した場合には（１／６，５／１２，２／３，５／６，７／６，７／４）となり、四捨五入をすると（０，０，１，１，１，２）となり、１０で量子化した場合のそれ（０，１，１，１，１，２）とは異なり、発生符号量も変わってしまう。
【０１７４】
以上のように、１回目の符号化での発生符号量と、一度量子化をされた２回目の符号化での発生符号量には大きな違いがある。どのような条件で２回目の符号化以降の発生符号量が同じになるかを次に説明する。
【０１７５】
量子化後の値が１である場合を考える。言い換えると、ある量子化値Ｑで量子化した際に１となる場合である。１となるのは、量子化後の四捨五入を考えると０．５以上１．５未満である必要がある。つまり、ある量子化値Ｐでの結果が０．５以上１．５未満となる量子化値Ｐの範囲が２回目の符号化以降で発生符号量が同じになる量子化の範囲になる。
１／２＜＝（Ｑ／Ｐ）＜３／２    ・・・（５４）
２Ｑ／３＜Ｐ＜＝２Ｑ            ・・・（５５）
の範囲の量子化Ｐを使えば、量子化Ｑでの発生符号量と同じになる。
【０１７６】
量子化後の値が２である場合を考える。言い換えると、ある量子化値Ｑで量子化した際に２となる場合である。２となるのは、量子化後の四捨五入を考えると１．５以上２．５未満である必要がある。つまり、ある量子化値Ｐでの結果が１．５以上２．５未満となる量子化値Ｐの範囲が２回目の符号化以降で発生符号量が同じになる量子化の範囲になる。
３／２＜＝（２Ｑ／Ｐ）＜５／２    ・・・（５６）
４Ｑ／５＜Ｐ＜＝４Ｑ／３          ・・・（５７）
の範囲の量子化Ｐを使えば、量子化Ｑでの発生符号量と同じになる。
【０１７７】
同様にして、量子化後の値が３，４，・・・の場合について発生符号量が同じになる量子化の範囲を計算することができる。そして、発生符号量が同じになると言うことは、量子化値を横軸と発生符号量を縦軸としてグラフを描いた場合、平坦な部分があることを意味する。よって、この平坦な部分があるかないか、つまり単調に変化しているか否かを判定することにより、その画像が１回目の符号化であるのか、２回目の符号化であるのかを判別できることになる。
【０１７８】
実際の自然画像では、より複雑に係数が立ち上記のような完全に平坦な部分が表れることはまずない。しかしながら、各量子化値間での傾きを求めると、その傾きが連続（単調）ではない部分が表れるので、この傾きによって１回目の符号化か２回目の符号化であるかを判別できるものである。
【０１７９】
上述したこの発明に係る実施形態に対する変形例を以下に示す。
【０１８０】
１．決められた目標符号量の単位としてＧＯＰを用いたが、特にＧＯＰである必要はない。最小の処理単位であるマクロブロック単位のＮ倍（Ｎ＞１）を目標符号量の単位とした場合でも本発明は有効である。ただし、この場合フィードバックスレッショールド値の計算の単位としては目標符号量の単位を上回ることはできない。
【０１８１】
２．フィードバックスレッショールドの計算の単位としてＧＯＰを用いていたが、ＧＯＰを用いた場合には、厳密にはマクロブロック単位に見ると符号化／復号化の場合必ずしも量子化値が安定しているわけではない。
【０１８２】
これを厳密に行なうためには、ＧＯＰ単位でのフィードバックスレッショールドの計算をマクロブロック単位のＮ倍（Ｎ＞＝１）にするとよい。例えば、Ｎ＝１の場合には図９のようにフィードバックコントロール手段６０としてマクロブロックの発生符号量を利用すればよい。
【０１８３】
こうすることによって、具体例で説明したＧＯＰ単位での目標符号量がマクロブロック単位での目標符号量になり、ＧＯＰ単位での目標符号量を挟む２個の固定量子化器のＧＯＰ単位の発生符号量がマクロブロック単位での目標符号量を挟む２個の固定量子化器のマクロブロック単位の発生符号量に置き換えるだけで良い。
【０１８４】
３．画質の向上を行なう方法の１つとしてアクテビティ（Activty）制御がある。これは、画面上で例えば空のような平坦な部分でのブロックノイズを防ぐために、このようなマクロブロックに対しては量子化値を小さくし、複雑な部分、例えばランダムノイズのような劣化がわかりにくいマクロブロックに対しては量子化値を大きくする。このようなことを行なうことで、画質の改善が計れる。
【０１８５】
このようなアクテビティ制御を行なった場合、Ｎ個の固定量子化器で、各マクロブロック単位でそれぞれ固定の量子化値（FixＱ（ｉ），ｉ＝１，・・・，Ｎ）を使わなくなり、それぞれの固定の量子化値に対してアクテビティ制御を行なったことによる変動分が加わった量子化値を用いることになる。
【０１８６】
本発明では、このようなアクテビティ制御を行なった場合に対しても、アクテビティ制御を行なってないものとして計算アルゴリズムを適用することで、マクロブロック単位での量子化値の変動分をアクテビティ制御による変動分に抑えることが可能である。
【０１８７】
画質向上を考慮したアクテビティ制御による量子化値の変動をそのままにし、アクテビティ制御にかからない部分の量子化値の安定化が行なえる。また、符号化／復号化における量子化値の再現性も行なえる。
【０１８８】
【発明の効果】
本発明による符号化方法およびこれを使用した符号化装置では、符号量予測のための複数の固定量子化器での発生符号量の結果から、入力データが、過去に符号化／復号化されているかを自動判定し、その判定結果から符号化／復号化されていない場合には、入力データの性質に依存したフィードバック制御を行い、符号化／復号化されている場合には、再現性を重視したフィードバック制御を行うようにしたものである。
【０１８９】
これによれば、発生符号量を目標符号量により近付けることができるようになり、これによって量子化値の安定化が図られると共に、符号化／復号化を繰り返しても画質の劣化を防止でき、さらに画質の安定化を図ることができるなどの特徴を有する。
【０１９０】
したがってこの発明はＭＰＥＧ２などの画像データ圧縮符号化装置に適用して極めて好適である。
【図面の簡単な説明】
【図１】この発明に係る符号化方法を適用した符号化装置の一実施形態を示す要部の系統図である。
【図２】目標符号量割り当て手段の要部の構成を示す系統図である。
【図３】符号量割り当て処理の一例を示すフローチャートである。
【図４】符号化／復号化判別処理の一例を示すフローチャートである。
【図５】第１のフィードバックスレッショールド値を決定するための一例を示すフローチャートである。
【図６】その動作説明図である。
【図７】第２のフィードバックスレッショールド値を決定するための一例を示すフローチャートである。
【図８】その動作説明図である。
【図９】目標符号量割り当て手段の他の例を示す要部の系統図である。
【図１０】Ｙ信号のマクロブロックデータを示す図である。
【図１１】Ｃｒ信号のマクロブロックデータを示す図である。
【図１２】Ｃｂ信号のマクロブロックデータを示す図である。
【図１３】代表的な８個の固定量子化値の関係を示す図である。
【図１４】８個の量子化値と、そのときの発生符号量との関係を示す図である。
【図１５】量子化値「２２」での発生符号量を求める図１４の抜粋図である。
【図１６】８個の量子化値と、そのときの発生符号量との関係を示す図である。
【図１７】量子化値「２０」での発生符号量を求める図１６の抜粋図である。
【図１８】８個の量子化値と、そのときの発生符号量との関係を示す図である。
【図１９】２回の符号化とそのときの量子化値との関係を示す図である。
【図２０】従来のＳＮＲの関係を示す図である。
【図２１】発生符号量の傾きを求める図である。
【図２２】８個の量子化値と、そのときの発生符号量との関係を示す図である。
【図２３】量子化値「２２」での発生符号量を求める図２２の抜粋図である。
【図２４】２回目の符号化での発生符号量の関係を示す図である。
【図２５】発生符号量の傾きを求める図である。
【図２６】８個の量子化値と、そのときの発生符号量との関係を示す図である。
【図２７】量子化値「２２」での発生符号量を求める図２６の抜粋図である。
【図２８】量子化値「２２」での発生符号量を求める図２６の抜粋図である。
【図２９】２回の符号化とそのときの量子化値との関係を示す図である。
【図３０】本発明によるＳＮＲの関係を示す図である。
【図３１】従来の符号化装置の系統図である。
【図３２】固定量子化手段と演算手段との関係を示す系統図である。
【図３３】目標符号量割り当て手段の系統図である。
【符号の説明】
１０・・・符号化装置、１２・・・ＤＣＴ係数算出手段、１４・・・固定量子化手段、１６・・・発生符号量算出手段、１８，２０・・・目標符号量割り当て手段、２２・・・補間手段、２４・・・目標符号量割り当て器、２６・・・第１の加算手段、２８・・・第２の加算手段、３６・・・ＶＬＣ、５０・・・判定手段、６０・・・フィードバックコントロール手段
【図１】
0003978810.tif 000021
【図２】
0003978810.tif 000022
【図３】
0003978810.tif 000023
【図４】
0003978810.tif 000024
【図５】
0003978810.tif 000025
【図６】
0003978810.tif 000026
【図７】
0003978810.tif 000027
【図８】
0003978810.tif 000028
【図９】
0003978810.tif 000029
【図１０】
0003978810.tif 000030
【図１１】
0003978810.tif 000031
【図１２】
0003978810.tif 000032
【図１３】
0003978810.tif 000033
【図１４】
0003978810.tif 000034
【図１５】
0003978810.tif 000035
【図１６】
0003978810.tif 000036
【図１７】
0003978810.tif 000037
【図１８】
0003978810.tif 000038
【図１９】
0003978810.tif 000039
【図２０】
0003978810.tif 000040
【図２１】
0003978810.tif 000041
【図２２】
0003978810.tif 000042
【図２３】
0003978810.tif 000043
【図２４】
0003978810.tif 000044
【図２５】
0003978810.tif 000045
【図２６】
0003978810.tif 000046
【図２７】
0003978810.tif 000047
【図２８】
0003978810.tif 000048
【図２９】
0003978810.tif 000049
【図３０】
0003978810.tif 000050
【図３１】
0003978810.tif 000051
【図３２】
0003978810.tif 000052
【図３３】
0003978810.tif 000053