(57)【要約】フレームの絵柄の特性に応じてアクティビティの正規化を行い、適応量子化による画質の最適化を行う。マクロブロック毎の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］を、フレームの平均アクティビティａｖｇ＿ａｃｔおよびマクロブロック毎のアクティビティａｃｔ［ｍ］を用いて、次の式（１）および式（２）により求める。ａｔｔはパラメータであり、例えばａｔｔ＝０．１２５とする。2002080575.tif 000010これにより、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／ｎｏｒｍ＿ｇａｉｎからｎｏｒｍ＿ｇａｉｎの範囲に正規化される。ｎｏｒｍ＿ｇａｉｎは、平均アクティビティａｖｇ＿ａｃｔに比例するので、平均アクティビティａｖｇ＿ａｃｔの小さい平坦な絵柄の画像は、正規化の範囲も小さくなり、マクロブロック間の量子化値に余り差が付かず、画面均一的に量子化される。一方、平均アクティビティａｖｇ＿ａｃｔが大きい複雑な絵柄の画像は、正規化の範囲も大きくなり、マクロブロック間の量子化が積極的に差を付けられ、平坦なマクロブロックでは細かな量子化が、複雑なマクロブロックでは粗い量子化が行われる。
2002080575.tif 000002
【特許請求の範囲】
【請求項１】
画像データから平均アクティビティを算出する平均アクティビティ算出手段と、
上記平均アクティビティ算出手段により算出された上記平均アクティビティに応じて正規化範囲を動的に設定し、該正規化範囲に基づき該平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出手段と、
上記正規化アクティビティ算出手段により算出された上記正規化アクティビティを用いて上記画像データを量子化する量子化手段と
を有することを特徴とする画像処理装置。
【請求項２】
請求の範囲第１項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記平均アクティビティが小さいときは、上記正規化範囲をより狭く設定し、上記平均アクティビティが大きいときは、上記正規化範囲をより広く設定するようにしたことを特徴とする画像処理装置。
【請求項３】
請求の範囲第１項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記画像データを分割したブロック毎に上記正規化アクティビティを算出するようにされ、
上記平均アクティビティに比例する係数に上記ブロック毎のアクティビティを乗じた結果に上記平均アクティビティを加算した値を、上記係数に上記平均アクティビティを乗じた結果に上記ブロック毎のアクティビティを加算した値で除した値を、上記ブロック毎の上記正規化アクティビティとすることを特徴とする画像処理装置。
【請求項４】
請求の範囲第３項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記ブロック毎のアクティビティの値および上記平均アクティビティの値が共に０であれば、上記正規化アクティビティの値を１として算出するようにしたことを特徴とする画像処理装置。
【請求項５】
請求の範囲第１項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記画像データを分割したブロック毎に上記正規化アクティビティを算出するようにされ、
上記平均アクティビティに比例する係数に上記ブロック毎のアクティビティを二乗した値を乗じた結果に上記平均アクティビティを加算した値を、上記係数に上記平均アクティビティを二乗した値を乗じた結果に上記ブロック毎のアクティビティを加算した値で除した値を、上記ブロック毎の上記正規化アクティビティとすることを特徴とする画像処理装置。
【請求項６】
請求の範囲第５項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記ブロック毎のアクティビティの値および上記平均アクティビティの値が共に０であれば、上記正規化アクティビティの値を１として算出するようにしたことを特徴とする画像処理装置。
【請求項７】
請求の範囲第１項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、１フレームの上記平均アクティビティを、該１フレームの第１フィールドの画像データから算出するようにしたことを特徴とする画像処理装置。
【請求項８】
画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、
上記平均アクティビティ算出のステップにより算出された上記平均アクティビティに応じて正規化範囲を動的に設定し、該正規化範囲に基づき該平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、
上記正規化アクティビティ算出のステップにより算出された上記正規化アクティビティを用いて上記画像データを量子化する量子化のステップと
を有することを特徴とする画像処理方法。
【請求項９】
画像データを量子化する画像処理方法をコンピュータ装置に実行させる画像処理プログラムにおいて、
上記画像処理方法は、
入力された画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、
上記平均アクティビティ算出のステップにより算出された上記平均アクティビティに応じて正規化範囲を動的に設定し、該正規化範囲に基づき該平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、
上記正規化アクティビティ算出のステップにより算出された上記正規化アクティビティを用いて上記画像データを量子化する量子化のステップと
を有することを特徴とする画像処理プログラム。
【請求項１０】
画像データを量子化する画像処理方法をコンピュータ装置に実行させる画像処理プログラムが記録された記録媒体において、
上記画像処理方法は、
入力された画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、
上記平均アクティビティ算出のステップにより算出された上記平均アクティビティに応じて正規化範囲を動的に設定し、該正規化範囲に基づき該平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、
上記正規化アクティビティ算出のステップにより算出された上記正規化アクティビティを用いて上記画像データを量子化する量子化のステップと
を有することを特徴とする記録媒体。
【発明の詳細な説明】
技術分野
この発明は、画像信号に対してブロック単位で量子化することで画像信号の圧縮符号化を行い、その際に、フレーム毎の符号量が一定量以下になるように発生符号量を制御する画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体に関する。
背景技術
従来から、画像データの圧縮符号化方式として、画像データを所定画素数から成るブロック単位で量子化を行うことで圧縮符号化するものが知られている。例えばＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２）では、このような圧縮符号化方式が採用されている。ＭＰＥＧ２では、画像データを所定画素数から成るブロック単位でＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）し、得られたＤＣＴ係数に対して量子化を行うことで、画像データを圧縮符号化する。ＭＰＥＧ２では、量子化の際の量子化ステップが量子化スケールにより指定されて、ＤＣＴ係数の圧縮符号化が行われる。
従来より、例えばこのＭＰＥＧ２の圧縮符号化において、圧縮する画像の複雑さや滑らかさを示すアクティビティ（Ａｃｔｉｖｉｔｙ）という指数を算出し、このアクティビティに基づく適応量子化を用いて画質の最適化を図る方法が知られている。
これは、圧縮処理による画質劣化が視覚的に目立ちやすい、画像が単調で滑らかな領域（以下、平坦領域という）では、量子化ステップの細かい量子化スケールを用いて細かく量子化し、これと反対に、画質劣化の目立ちにくい画像が複雑な領域では、量子化ステップの粗い量子化スケールを用いて粗く量子化を行なう手法であり、限られた符号量の中で画質の最適化を図る有効な手法である。
ところで、画像データの圧縮を行なう場合、上述したように、各画像の領域を所定サイズの画素ブロックに分割し、各ブロック毎に量子化やＤＣＴを行なうことになる。ＭＰＥＧ２による規格では、８画素×８ラインのブロックが最小処理単位として規定される。この８画素×８ラインのブロックでＤＣＴを行ない、このＤＣＴにより得られたＤＣＴ係数を、１６画素×１６ラインのマクロブロック単位で量子化するように規定されている。
一方、上述したアクティビティの算出を行なう単位としては、明確な規定はないものの、ＭＰＥＧ２のＴＭ５（Ｔｅｓｔ  Ｍｏｄｅｌ  ５）においては、ＤＣＴブロックと同様の８画素×８ラインのサブブロックで処理することが提案されている。
以下、ＭＰＥＧ２のＴＭ５で採用された「視覚特性を考慮した適応量子化」におけるアクティビティの算出方法について説明する。
先ず、適応量子化とは、例えば１フレーム内での発生符号量を制御するために、画像の状態によって異なる量子化スケールＱｊを用いて量子化を行うように、量子化スケールＱｊを各マクロブロック毎のアクティビティにより変化させて、高画質を達成するものである。例えば、視覚的に画質劣化の目立ちやすい画像の平坦領域では、より細かい量子化ステップを有する量子化スケールＱｊを用いて量子化を行い、画質劣化の比較的目立ちにくい絵柄の複雑な画像領域で、より粗い量子化ステップを有する量子化スケールＱｊを用いて量子化を行うように、アクティビティにより量子化スケールＱｊを変化させる。
アクティビティは、予測誤差でなく、原画における輝度信号の画素値を用い、フレームＤＣＴ符号化モードにおける４個のブロックと、フィールドＤＣＴ符号化モードにおける４個のブロックとの合計８個のブロックの画素値を用いて算出される。例えば、ｊ番目のマクロブロックについて、以下の式（１）〜式（３）で与えられる演算を、式（３）、式（２）、式（１）の順に行なうことにより、アクティビティａｃｔｊが求められる。
2002080575.tif 000003
ここで、Ｐｋは、原画の輝度信号ブロック内の画素値であり、式（３）では８×８のブロック内の６４個の画素値を合計し、これを６４で割ることにより、ブロック内の画素値Ｐｋの平均値Ｐａｖｇを求めている。次に、式（２）では、平均値Ｐａｖｇと画素値Ｐｋそれぞれとの差分をとり、８×８のブロック内の平均差分値ｖａｒ＿ｓｂｌｋを算出している。さらに、式（１）において、平均差分値ｖａｒ＿ｓｂｌｋの最小値を採用し、ｊ番目のマクロブロックのアクティビティａｃｔｊを求める。なお、ここで最小値を採用するのは、マクロブロック内の一部だけでも平坦な部分のある場合には、このマクロブロックに対する量子化を細かくする必要があるからである。
そして、ＭＰＥＧ２のＴＭ５では、以上のようにして求めた各マクロブロックのアクティビティａｃｔｊから、「２．０」〜「０．５」の範囲の値をとる正規化アクティビティＮａｃｔｊを、次の式（４）より求める。
2002080575.tif 000004
ここで、「ａｖｇ＿ａｃｔ」は、現在処理中のフレーム（ピクチャ）の１つ前に符号化したフレームにおけるアクティビティａｃｔｊの平均値（平均アクティビティ）である。
そして、視覚特性を考慮した量子化スケールｍｑｕａｎｔｊは、１フレームの発生符号量を制御するために別途求められた量子化スケールＱｊに基づいて、次の（５）式で与えられる。
2002080575.tif 000005
このような量子化スケールｍｑｕａｎｔｊを用いて各マクロブロックの量子化を行なうことにより、１フレームの全体の符号量を所定の範囲内に保ちながら、そのフレームにおける画像の平坦度や複雑度に応じた最適な量子化を行ない、限られた符号量を有効に用いて画像の品位をできるだけ劣化させることなく効率的な画像圧縮を行なう。
上述したＭＰＥＧ２のＴＭ５による正規化では、正規化アクティビティＮａｃｔｊは、上述した式（４）で求められる。つまり、どのような絵柄のフレームであろうと、正規化の範囲は、「０．５」〜「２．０」となる。したがって、例えば平坦な絵柄のフレームでは、各マクロブロック間の量子化値に差がつきすぎてしまうという問題点があった。
一方、複雑な絵柄のフレームでは、絵柄が複雑な部分のマクロブロックに符号量をとられて、相対的に絵柄が平坦な部分のマクロブロックの符号量が制限される。そのため、視覚的に劣化の目立ちやすい平坦なマクロブロックの画質が劣化するという問題点があった。
この画質劣化は、特に圧縮率が低く符号量に比較的余裕のある場合に、画像全体が高画質になることにより、顕著になる。
したがって、この発明の目的は、フレームの絵柄の特性に応じてアクティビティの正規化を行い、適応量子化による画質の最適化を行うことができる画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体を提供することにある。
発明の開示
この発明は、上述した課題を解決するために、画像データから平均アクティビティを算出する平均アクティビティ算出手段と、平均アクティビティ算出手段により算出された平均アクティビティに応じて正規化範囲を動的に設定し、正規化範囲に基づき平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出手段と、正規化アクティビティ算出手段により算出された正規化アクティビティを用いて画像データを量子化する量子化手段とを有することを特徴とする画像処理装置である。
また、この発明は、画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、平均アクティビティ算出のステップにより算出された平均アクティビティに応じて正規化範囲を動的に設定し、正規化範囲に基づき平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、正規化アクティビティ算出のステップにより算出された正規化アクティビティを用いて画像データを量子化する量子化のステップとを有することを特徴とする画像処理方法である。
また、この発明は、画像データを量子化する画像処理方法をコンピュータ装置に実行させる画像処理プログラムにおいて、画像処理方法は、入力された画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、平均アクティビティ算出のステップにより算出された平均アクティビティに応じて正規化範囲を動的に設定し、正規化範囲に基づき平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、正規化アクティビティ算出のステップにより算出された正規化アクティビティを用いて画像データを量子化する量子化のステップとを有することを特徴とする画像処理プログラムである。
また、この発明は、画像データを量子化する画像処理方法をコンピュータ装置に実行させる画像処理プログラムが記録された記録媒体において、画像処理方法は、入力された画像データから平均アクティビティを算出する平均アクティビティ算出のステップと、平均アクティビティ算出のステップにより算出された平均アクティビティに応じて正規化範囲を動的に設定し、正規化範囲に基づき平均アクティビティを用いて正規化アクティビティを算出する正規化アクティビティ算出のステップと、正規化アクティビティ算出のステップにより算出された正規化アクティビティを用いて画像データを量子化する量子化のステップとを有することを特徴とする記録媒体である。
上述したように、この発明は、入力された画像データから算出された平均アクティビティに応じて正規化範囲を動的に設定し、正規化範囲に基づき平均アクティビティを用いて正規化アクティビティを算出し、算出された正規化アクティビティを用いて画像データを量子化するようにしているため、画像の特性に応じて量子化を行うことができる。
発明を実施するための最良の形態
以下、この発明の実施の一形態について説明する。この発明では、対象となる範囲の正規化アクティビティを、その対象範囲の画像の特性、例えば対象範囲の絵柄の平坦さや複雑さ、すなわち平均アクティビティに基づき正規化範囲を動的に変更して求める。こうして求められた正規化アクティビティに基づき、対象範囲の画像を量子化する。
一例として、対象範囲をフレームとすると、フレーム全体が平坦な絵柄の画像については、アクティビティの正規化の範囲を狭くする。これにより、画像全体で均一に近いアクティビティを用いて量子化を行なうことができ、画像全体で均一な平坦度を確保し、高画質を得ることが可能となる。逆に、１フレーム内に絵柄の複雑な領域と平坦領域が混在するような画像については、アクティビティの正規化の範囲を広くする。これにより、ノイズの目立ちやすい絵柄の平坦な領域にはより大きい符号量を割り当てて精細な量子化を行ない、ノイズの目立ちにくい、絵柄の複雑な領域には粗い量子化を行なうことにより、視覚的に良質な画像を得ることができる。
より具体的には、第１の例として、１フレームの平均アクティビティをａｖｇ＿ａｃｔ、マクロブロックアドレスｍのマクロブロックのアクティビティをａｃｔ［ｍ］とした場合、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］を、以下に示す式（６）および式（７）により算出する。
2002080575.tif 000006
なお、式（６）および式（７）において、ａｃｔ［ｍ］およびａｖｇ＿ａｃｔが共に０になると、分母が０になってしまうので、この場合は、ｎｏｒｍ＿ａｃｔ［ｍ］＝１として扱うものとする。また、ａｔｔは、パラメータであり、例えばａｔｔ＝０．１２５を与える。
ここで、式（７）は、従来技術で既に説明した、ＭＰＥＧのＴＭ５による正規化アクティビティの算出方法における式（４）の係数「２」を、値ｎｏｒｍ＿ｇａｉｎに置き換えたものである。式（７）によれば、アクティビティａｃｔ［ｍ］＝０であれば、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］＝１／ｎｏｒｍ＿ｇａｉｎとなる。一方、アクティビティａｃｔ［ｍ］が平均アクティビティａｖｇ＿ａｃｔに対して非常に大きな値であれば、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、値ｎｏｒｍ＿ｇａｉｎに近づく。すなわち、マクロブロック毎の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／ｎｏｒｍ＿ｇａｉｎからｎｏｒｍ＿ｇａｉｎの範囲に正規化されることになる。
値ｎｏｒｍ＿ｇａｉｎは、式（６）に示されるように、平均アクティビティａｖｇ＿ａｃｔに比例する。したがって、平均アクティビティａｖｇ＿ａｃｔの小さい、絵柄の平坦なフレームは、正規化の範囲が狭くなり、マクロブロック間の量子化値にあまり差を付けず、フレームで均一的に量子化が行われる。一方、平均アクティビティａｖｇ＿ａｃｔの大きい、絵柄の複雑なフレームは、正規化の範囲が広くなり、マクロブロック間の量子化値に対して積極的に差を付けられ、平坦なマクロブロックでは細かな量子化がなされ、複雑なマクロブロックでは粗く量子化がなされる。
第２の例として、上述の第１の例による式（７）における被除数側のアクティビティａｃｔ［ｍ］および除数側の平均アクティビティａｖｇ＿ａｃｔをそれぞれ二乗した式を用いることもできる。この第２の例によるマクロブロック毎の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の算出方法を、式（８）および式（９）に示す。なお、式（８）および式（９）において、各値の意味は、上述の式（６）および式（７）と同一である。
2002080575.tif 000007
2002080575.tif 000008
なお、式（８）および式（９）において、ａｃｔ［ｍ］およびａｖｇ＿ａｃｔが共に０になると、分母が０になってしまうので、この場合は、ｎｏｒｍ＿ａｃｔ［ｍ］＝１として扱うものとする。また、ａｔｔは、パラメータであり、例えばａｔｔ＝０．１２５を与える。
この第２の例の式（８）および式（９）によっても、上述した第１の例による式（６）および式（７）と同様に、マクロブロック毎の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／ｎｏｒｍ＿ｇａｉｎからｎｏｒｍ＿ｇａｉｎの範囲に正規化されることになる。したがって、上述の第１の例と同様に、平均アクティビティａｖｇ＿ａｃｔの小さい、絵柄の平坦な画像では、均一的に量子化が行われ、平均アクティビティａｖｇ＿ａｃｔの大きい、絵柄の複雑な画像では、マクロブロック間の量子化値に対して積極的に差を付けられる。
この第２の例では、上述の第１の例に対して被除数側のアクティビティａｃｔ［ｍ］および除数側の平均アクティビティａｖｇ＿ａｃｔ［ｍ］がそれぞれ二乗されている。そのため、第１の例による結果よりも、平均アクティビティａｖｇ＿ａｃｔの値およびマクロブロック毎のアクティビティａｃｔ［ｍ］の値の変化に対する正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の差を顕著にすることでき、より好ましい結果が得られる。以下では、この第２の例を中心に説明する。
第１図は、上述した第２の例による正規化を表す式（８）および式（９）の一例の特性を示すグラフである。また、第２図は、従来の技術で説明したＭＰＥＧのＴＭ５による正規化の式（４）の一例の特性を示すグラフである。第１図および第２図において、Ｘ軸、Ｙ軸、Ｚ軸は、それぞれ平均アクティビティａｖｇ＿ａｃｔ、アクティビティａｃｔ［ｍ］、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］を示す。また、第１図および第２図中に示される範囲「女性」、「ＮＯＩＳＥ」、「羊」および「芝」は、それぞれ第３図および第４図に示されるサンプル画像の、対応する部分における正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲を示す。
なお、第３図は、全体的に平坦な絵柄から構成される画像の例である。特に、背景に掲げられる絵柄は、それぞれが単一若しくは数色により塗り潰された図形より構成され、画像としては簡単な構成であるといえる。「芝」および「羊」部分は、共に背景の絵の一部である。一方、第４図は、複雑な絵柄と平坦な絵柄とが混在する画像の例である。中央部に円で縁取りされて表示される「女性」と、周囲の「ＮＯＩＳＥ」部分からなる。「女性」部分は、第３図と同様に、比較的平坦な絵柄であるが、周囲の「ＮＯＩＳＥ」部分は、画素レベルで見たときの部隣接との相関性が低く、複雑な絵柄である。
第１図において、平均アクティビティａｖｇ＿ａｃｔ＝０では、正規化アクティビティｎｏｒｍ＿ａｃｔ＝１であり、平均アクティビティａｖｇ＿ａｃｔ＝１６のときｎｏｒｍ＿ｇａｉｎ＝３となり、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／３＜ｎｏｒｍ＿ａｃｔ［ｍ］＜３の範囲に分布することが分かる。なお、第１図では、ｎｏｒｍ＿ｇａｉｎは、ｒａｔｅとして記述されている。
一方、第２図では、アクティビティａｃｔ［ｍ］が６４までしか表示されていないので、わかりにくいが、平均アクティビティａｖｇ＿ａｃｔがどのような値をとっても、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／２＜ｎｏｒｍ＿ａｃｔ［ｍ］＜２の正規化範囲に分布するのが分かる。
第１図と第２図とを対比させると、この発明が適用された第１図では、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、同一画像内の複雑な絵柄である「ＮＯＩＳＥ」には広い範囲が、比較的平坦な絵柄である「女性」には狭い範囲が割り当てられているのが分かる。これに対して、ＭＰＥＧのＴＭ５が適用された第２図では、「ＮＯＩＳＥ」および「女性」に対して、それぞれ同程度の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲が割り当てられている。一方、平坦な絵柄である「羊」および「芝」に対しては、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲は、ＭＰＥＧのＴＭ５による第２図に比して、この発明による第１図の方が小さく抑えられている。
第５図〜第８図は、上述の第３図および第４図に示すサンプル画像のそれぞれにおける、ＭＰＥＧのＴＭ５による正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］と、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の画像内での分布を示す。これら第５図〜第８図において、図中の「●（黒丸）」は、その直径が、画像内の対応する位置（マクロブロック）の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値を相対的に示す。また、第５図および第６図が上述の第３図に対応し、第７図および第８図が上述の第４図に対応する。
なお、上述した第３図に示される画像の平均アクティビティａｖｇ＿ａｃｔは、ａｖｇ＿ａｃｔ＝３程度である。また、上述した第４図に示される画像の平均アクティビティａｖｇ＿ａｃｔは、ａｖｇ＿ａｃｔ＝１６程度である。
第５図は、上述の第３図に示される画像について、従来の技術であるＭＰＥＧのＴＭ５による正規化を用いた場合の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の例を示す。平坦な画像（例えばカレンダーの文字の無い部分、列車の手前側の部分）を含むマクロブロックは、小さな値の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］となり、複雑な画像（例えばカレンダーの絵の部分、左上部の木の部分）を含むマクロブロックは大きな値の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］として求められ、画像全体としては、マクロブロック毎に正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］が大きく変化していることが分かる。
これは、特に圧縮率が低く、符号量に比較的余裕がある場合には、マクロブロック間の量子化値に大きな差が生じてしまう。そのため、画像全体が高画質になった分、マクロブロック間の画質の差が顕著に観測されることになる。
第６図は、上述の第３図に示される画像ついて、この発明による正規化を用いた場合の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の例を示す。上述の第５図と比べて、「●（黒丸）」の大きさのバラツキが少なく、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値が画像全体で比較的に均一化されていることが分かる。すなわち、平坦な画像を含むマクロブロックも、複雑な画像を含むマクロブロックも、第５図の例に比べて、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値にそれ程、差が付けられていないことが分かる。適応量子化は、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値に比例した量子化値で量子化されるため、画像全体が比較的均一に量子化されることになる。
平均アクティビティａｖｇ＿ａｃｔが大きい第４図の例について説明する。第７図は、上述の第４図の画像について、従来の技術であるＭＰＥＧのＴＭ５による正規化を用いた場合の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の例を示す。なお、この第７図は、上述の第５図に対して、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値を示す「●（黒丸）」の直径の比率が変更されている。
第７図では上述の第５図と同様に、平坦な画像（例えば「女性」の部分）を含むマクロブロックは、小さな値の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］となり、複雑な画像（「ＮＯＩＳＥ」の部分）を含むマクロブロックは、大きな値の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］として求められ、マクロブロック毎に正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］が変化していることが分かる。
しかしながら、第７図の例では、ノイズ（ＮＯＩＳＥ）部分のように非常に複雑な画像を含むマクロブロックに符号量をとられて、相対的に、平坦な画像を含むマクロブロックの符号量が制限されてしまう。そのため、視覚的に劣化の目立ち易い平坦な画像を含むマクロブロックの画質が劣化してしまう。
第８図は、上述の第４図に示される画像について、この発明による正規化を用いた場合の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の例を示す。この発明では、画像の平均アクティビティａｖｇ＿ａｃｔに応じて正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の正規化範囲を動的に変更している。そのため、第４図のように、画像が複雑で、平均アクティビティａｖｇ＿ａｃｔの値が大きい（第４図の例ではａｃｔ＿ａｖｇ＝１６程度）場合には、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲は、例えば１／３＜ｎｏｒｍ＿ａｃｔ［ｍ］＜３というように、平均アクティビティａｖｇ＿ａｃｔが小さい画像に比して大きくされ、広い正規化範囲とされる。
そのため、平坦な画像を含むマクロブロックは、より小さな正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］とされ、ノイズ部分のように非常に複雑な画像を含むマクロブロックは、より大きな正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値とされる。第８図の例では、平坦な画像を含む部分と非常に複雑な画像を含む部分とで、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の値に大きな差が付けられていることが分かる。
このように、この発明を用いることにより、絵柄などの画像の特性に応じて適応量子化が変更され、視覚特性上その画像の特性に最適な画質を達成することが可能とされる。
次に、この発明の実施の一形態を実際の構成に適用した例について説明する。第９図Ａおよび第９図Ｂは、この発明の実施の一形態が適用されたディジタルＶＴＲの一例の構成を示す。このディジタルＶＴＲは、ＭＰＥＧ方式により圧縮符号化されたディジタルビデオ信号を記録媒体に直接的に記録することができるようにしたものである。
先ず、このディジタルＶＴＲにおける記録系の構成および処理動作について説明する。この記録系に外部より入力される信号は、ＳＤＩ（Ｓｅｒｉａｌ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）信号およびＳＤＴＩ（Ｓｅｒｉａｌ  Ｄａｔａ  Ｔｒａｎｓｐｏｒｔ  Ｉｎｔｅｒｆａｃｅ）信号の２種類のシリアルディジタルインターフェイス信号、アナログインターフェイス信号および制御信号である外部基準信号ＲＥＦである。
なお、ＳＤＩは、（４：２：２）コンポーネントビデオ信号とディジタルオーディオ信号と付加的データとを伝送するために、ＳＭＰＴＥによって規定されたインターフェイスである。また、ＳＤＴＩは、ディジタルビデオ信号がＭＰＥＧ方式で圧縮符号化されたストリームであるＭＰＥＧエレメンタリストリーム（以下、ＭＰＥＧ  ＥＳと称する）が伝送されるインターフェイスである。ＥＳは、４：２：２のコンポーネントであり、また、上述したように、全てＩピクチャのストリームであり、ＩＧＯＰ＝１ピクチャの関係を有する。ＳＤＴＩ−ＣＰ（Ｃｏｎｔｅｎｔ  Ｐａｃｋａｇｅ）のフォーマットでは、ＭＰＥＧ  ＥＳがアクセスユニットへ分離され、また、フレーム単位のパケットにパッキングされている。ＳＤＴＩ−ＣＰでは、十分な伝送帯域（クロックレートで２７ＭＨｚまたは３６ＭＨｚ、ストリームビットレートで２７０Ｍ  ｂｐｓまたは３６０Ｍ  ｂｐｓ）を使用しており、１フレーム期間で、バースト的にＥＳを送ることが可能である。
ＳＤＩにより伝送されるＳＤＩ信号は、ＳＤＩ入力部１０１に入力される。また、アナログビデオ信号からなるアナログ入力信号がアナログ入力部１２０に入力される。アナログ入力部１２０では、入力されたアナログ入力信号をディジタル信号に変換し、例えば上述のＳＤＩフォーマットにマッピングして出力する。アナログ入力信号が変換されＳＤＩフォーマットにマッピングされたこのＳＤＩ信号は、ＳＤＩ入力部１０１に供給される。
ＳＤＩ入力部１０１では、供給されたＳＤＩ信号をシリアル信号からパラレル信号に変換して出力すると共に、ＳＤＩ信号に含まれる入力の位相基準である入力同期信号を抽出し、タイミングジェネレータＴＧ１０２に出力する。
また、ＳＤＩ入力部１０１は、変換したパラレル信号からビデオ信号とオーディオ信号とを分離する。分離されたビデオ入力信号とオーディオ入力信号は、それぞれＭＰＥＧエンコーダ１０３とディレイ回路１０４に出力される。
タイミングジェネレータＴＧ１０２は、入力された外部基準信号ＲＥＦから基準同期信号を抽出する。タイミングジェネレータＴＧでは、この基準同期信号とＳＤＩ入力部１０１から供給された入力同期信号とのうち、所定に指定された基準信号に同期して、このディジタルＶＴＲで必要なタイミング信号を生成し、タイミングパルスとして各ブロックに供給する。
ＭＰＥＧエンコーダ１０３は、入力されたビデオ入力信号を、ＤＣＴ変換して係数データに変換し、係数データを量子化した後、可変長符号化する。ＭＰＥＧエンコーダ１０３から出力される可変長符号化（ＶＬＣ）データは、ＭＰＥＧ２に準拠したエレメンタリストリーム（ＥＳ）である。この出力は、記録側のマルチフォーマットコンバータ（以下、記録側ＭＦＣと称する）１０６の一方の入力端に供給される。
ディレイ回路１０４は、入力されたオーディオ入力信号を、非圧縮データのままで、ＭＰＥＧエンコーダ１０３でのビデオ信号に対する処理のディレイに合わせるためのディレイラインの働きをするものである。このディレイ回路１０４で所定に遅延されたオーディオ信号は、ＥＣＣエンコーダ１０７に出力される。これは、この実施の一形態によるディジタルＶＴＲにおいて、オーディオ信号が非圧縮信号として扱われるためである。
外部からＳＤＴＩにより伝送され供給されたＳＤＴＩ信号は、ＳＤＴＩ入力部１０５に入力される。ＳＤＴＩ信号は、ＳＤＴＩ入力部１０５で同期検出される。そして、バッファに一旦溜め込まれ、エレメンタリストリームが抜き出される。抜き出されたエレメンタリストリームは、記録側ＭＦＣ１０６の他方の入力端に供給される。同期検出されて得られた同期信号は、上述したタイミングジェネレータＴＧ１０２に供給される（図示しない）。
なお、ＳＤＴＩ入力部１０５では、さらに、入力されたＳＤＴＩ信号からディジタルオーディオ信号を抽出する。抽出されたディジタルオーディオ信号は、ＥＣＣエンコーダ１０７に供給される。
このように、この実施の一形態によるディジタルＶＴＲは、ＳＤＩ入力部１０１から入力されるベースバンドのビデオ信号と独立して、ＭＰＥＧ  ＥＳを直接的に入力することができる。
記録側ＭＦＣ回路１０６は、ストリームコンバータとセレクタとを有し、ＳＤＩ入力部１０１およびＳＤＴＩ入力部１０５から供給されたＭＰＥＧ  ＥＳのうち、何れかが選択され、選択されたＭＰＥＧ  ＥＳのＤＣＴ係数を、１マクロブロックを構成する複数のＤＣＴブロックを通して周波数成分毎にまとめ、まとめた周波数成分を低周波数成分から順に並び替える。ＭＰＥＧ  ＥＳの係数が並べ替えられたストリームを、以下、変換エレメンタリストリームと称する。このようにＭＰＥＧ  ＥＳを再配置することにより、サーチ再生時にもなるべく多くのＤＣ係数と低次のＡＣ係数を拾い、サーチ画の品位向上に貢献している。変換エレメンタリストリームは、ＥＣＣエンコーダ１０７に供給される。
ＥＣＣエンコーダ１０７は、大容量のメインメモリが接続され（図示しない）、パッキングおよびシャフリング部、オーディオ用外符号エンコーダ、ビデオ用外符号エンコーダ、内符号エンコーダ、オーディオ用シャフリング部およびビデオ用シャフリング部などを内蔵する。また、ＥＣＣエンコーダ１０９は、シンクブロック単位でＩＤを付加する回路や、同期信号を付加する回路を含む。なお、実施の第１の形態では、ビデオ信号およびオーディオ信号に対するエラー訂正符号としては、積符号が使用される。積符号は、ビデオ信号またはオーディオ信号の２次元配列の縦方向に外符号の符号化を行い、その横方向に内符号の符号化を行い、データシンボルを２重に符号化するものである。外符号および内符号としては、リードソロモンコード（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  ｃｏｄｅ）を使用できる。
ＥＣＣエンコーダ１０７には、ＭＦＣ回路１０６から出力された変換エレメンタリストリームが供給されると共に、ＳＤＴＩ入力部１０５およびディレイ回路１０４から出力されたオーディオ信号が供給される。ＥＣＣエンコーダ１０７では、供給された変換エレメンタリストリーム及びオーディオ信号に対してシャフリング及びエラー訂正符号化を施し、シンクブロック毎にＩＤおよび同期信号を付加し記録データとして出力する。
ＥＣＣエンコーダ１０７から出力された記録データは、記録アンプを含むイコライザＥＱ１０８で記録ＲＦ信号に変換される。記録ＲＦ信号は、回転ヘッドが所定に設けられた回転ドラム１０９に供給され、磁気テープ１１０上に記録される。回転ドラム１０９には、実際には、隣接するトラックを形成するヘッドのアジマスが互いに異なる複数の磁気ヘッドが取り付けられている。
記録データに対して必要に応じてスクランブル処理を行っても良い。また、記録時にディジタル変調を行っても良く、さらに、パーシャル・レスポンスクラス４とビタビ符号を使用しても良い。なお、イコライザ１０８は、記録側の構成と再生側の構成とを共に含む。
次に、このディジタルＶＴＲにおける再生系の構成および処理動作について説明する。再生時には、磁気テープ１１０から回転ドラム１０９で再生された再生信号が再生アンプなどを含むイコライザ１０８の再生側の構成に供給される。イコライザ１０８では、再生信号に対して、等化や波形整形などがなされる。また、ディジタル変調の復調、ビタビ復号等が必要に応じてなされる。イコライザ１０８の出力は、ＥＣＣデコーダ１１１に供給される。
ＥＣＣデコーダ１１１は、上述したＥＣＣエンコーダ１０７と逆の処理を行うもので、大容量のメインメモリと、内符号デコーダ、オーディオ用およびビデオ用それぞれのデシャフリング部ならびに外符号デコーダを含む。さらに、ＥＣＣデコーダ１１１は、ビデオ用として、デシャフリングおよびデパッキング部、データ補間部を含む。同様に、オーディオ用として、オーディオＡＵＸ分離部とデータ補間部を含む。
ＥＣＣデコーダ１１１では、再生データに対して同期検出を行い、シンクブロックの先頭に付加されている同期信号を検出してシンクブロックを切り出す。再生データは、シンクブロック毎の内符号のエラー訂正がなされ、その後、シンクブロックに対してＩＤ補間処理がなされる。ＩＤが補間された再生データは、ビデオデータとオーディオデータとに分離される。ビデオデータおよびオーディオデータは、それぞれデシャフリング処理され、記録時にシャフリングされたデータ順が元に戻される。デシャフリングされたデータは、それぞれ外符号のエラー訂正が行われる。
ＥＣＣデコーダ１１１において、エラー訂正能力を超え、訂正できないエラーがあるデータに関しては、エラーフラグがセットされる。ここで、ビデオデータのエラーに関しては、エラーを含むデータを指し示す信号ＥＲＲが出力される。
エラー訂正された再生オーディオデータは、ＳＤＴＩ出力部１１５に供給されると共に、ディレイ回路１１４で所定の遅延を与えられてＳＤＩ出力部１１６に供給される。ディレイ回路１１４は、後述するＭＰＥＧデコーダ１１３でのビデオデータの処理による遅延を吸収するために設けられる。
一方、エラー訂正されたビデオデータは、再生変換エレメンタリストリームとして再生側ＭＦＣ回路１１２に供給される。上述した信号ＥＲＲも、再生側ＭＦＣ回路１１２に供給される。再生側ＭＦＣ１１２は、上述した記録側ＭＦＣ１０６と逆の処理を行うものであって、ストリームコンバータを含む。ストリームコンバータでは、記録側のストリームコンバータと逆の処理がなされる。すなわち、ＤＣＴブロックに跨がって周波数成分毎に並べられていたＤＣＴ係数を、ＤＣＴブロック毎に並び替える。これにより、再生信号がＭＰＥＧ２に準拠したエレメンタリストリームに変換される。このとき、ＥＣＣデコーダ１１１から信号ＥＲＲが供給された場合は、対応するデータをＭＰＥＧ２に完全に準拠する信号に置き換えて出力する。
再生側ＭＦＣ回路１１２から出力されたＭＰＥＧ  ＥＳは、ＭＰＥＧデコーダ１１３およびＳＤＴＩ出力部１１５に供給される。ＭＰＥＧデコーダ１１３は、供給されたＭＰＥＧ  ＥＳを復号し、非圧縮の元のビデオ信号に戻す。すなわち、ＭＰＥＧデコーダ１１３は、供給されたＭＰＥＧ  ＥＳに対して逆量子化処理と、逆ＤＣＴ処理とを施す。復号されたビデオ信号は、ＳＤＩ出力部１１６に供給される。
上述したように、ＳＤＩ出力部１１６には、ＥＣＣデコーダ１１１でビデオデータと分離されたオーディオデータがディレイ１１４を介して供給されている。ＳＤＩ出力部１１６では、供給されたビデオデータとオーディオデータとを、ＳＤＩのフォーマットにマッピングし、ＳＤＩフォーマットのデータ構造を有するＳＤＩ信号へ変換される。このＳＤＩ信号が外部に出力される。
一方、ＳＤＴＩ出力部１１５には、上述したように、ＥＣＣデコーダ１１１でビデオデータと分離されたオーディオデータが供給されている。ＳＤＴＩ出力部１１５では、供給された、エレメンタリストリームとしてのビデオデータと、オーディオデータとをＳＤＴＩのフォーマットにマッピングし、ＳＤＴＩフォーマットのデータ構造を有するＳＤＴＩ信号へ変換されるこのＳＤＴＩ信号が外部に出力される。
なお、システムコントローラ１１７（第９図Ａおよび第９図Ｂ中では、シスコン１１７と略記する）は、例えばマイクロコンピュータからなり、信号ＳＹ＿ＩＯにより各ブロックと通信を行うことにより、このディジタルＶＴＲの全体の動作を制御する。サーボ１１８は、信号ＳＹ＿ＳＶによりシステムコントローラ１１７と互いに通信を行いながら、信号ＳＶ＿ＩＯにより、磁気テープ１１０の走行制御や回転ドラム１０９の駆動制御などを行う。
第１０図Ａ、第１０図Ｂおよび第１０図Ｃは、上述したＭＰＥＧエンコーダ１０３の一例の構成を、より具体的に示す。また、第１０図Ａ、第１０図Ｂおよび第１０図Ｃの各部において転送されるストリームの構成例を、第１１図Ａ、第１１図Ｂおよび第１１図Ｃ、第１２図Ａ、第１２図Ｂおよび第１２図Ｃ、第１３図Ａおよび第１３図Ｂ、第１４図Ａおよび第１４図Ｂ、第１５図Ａ、第１５図Ｂおよび第１５図Ｃ、第１６図Ａ、第１６図Ｂおよび第１６図Ｃ、ならびに、第１７図にそれぞれ示す。
ＭＰＥＧエンコーダ１０３は、入力フィールドアクティビティ平均化処理部１０３Ａ、プリエンコード処理部１０３Ｂおよびエンコード部１０３Ｃからなる。入力フィールドアクティビティ平均化処理部１０３Ａでは、入力されたビデオデータのアクティビティの平均値が求められてプリエンコード処理部１０３Ｂに渡される。プリエンコード処理部１０３Ｂでは、このアクティビティの平均値を用いて入力ビデオデータの量子化による発生符号量が見積もられる。この見積もり結果に基づき、エンコード部１０３Ｃにおいて、符号量制御しながら入力ビデオデータに対する実際の量子化が行われ、量子化されたビデオデータに対しさらに可変長符号化がなされ、ＭＰＥＧ  ＥＳとされて出力される。
なお、タイミングジェネレータＴＧ２２０は、例えば第９図Ａおよび第９図ＢのタイミングジェネレータＴＧ１０３から供給された水平同期信号ＨＤ、垂直同期信号ＶＤおよびフィールド同期信号ＦＬＤに基づき、ＭＰＥＧエンコーダ１０３内で必要とされるタイミング信号を生成し出力する。また、ＣＰＵ  Ｉ／Ｆブロック２２１は、第９図Ａおよび第９図Ｂのシステムコントローラ１１７とのインターフェイスであり、ＣＰＵ  Ｉ／Ｆブロック２２１を介してやりとりされた制御信号やデータにより、ＭＰＥＧエンコーダ１０３における動作が制御される。
先ず、入力フィールドアクティビティ平均化処理部１０３Ａの処理について説明する。ＳＤＩ入力部１０１から出力されＭＰＥＧエンコーダ１０３に入力されたビデオデータは、入力部２０１に供給され、メインメモリ２０３に格納するのに適したインターフェイスに変換されると共に、パリティチェックがなされる。入力部２０１から出力されたビデオデータは、ヘッダ作成部２０２に供給され、垂直ブランキング区間などを利用してＭＰＥＧにおける、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ、ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ、ｇｏｐ＿ｈｅａｄｅｒなどの各ヘッダが抽出される。抽出された各ヘッダは、メインメモリ２０３に格納される。これらのヘッダは、主に、ＣＰＵ  Ｉ／Ｆブロック２２１から指定される。また、ヘッダ作成部２０２において、垂直ブランキング区間以外では、入力部２０１から供給されたビデオデータがメインメモリ２０３に格納される。
メインメモリ２０３は、画像のフレームメモリであり、ビデオデータの再配列やシステムディレイの吸収などが行われる。ビデオデータの再配列は、例えば図示されないアドレスコントローラによりメインメモリ２０３からの読み出しアドレスを制御されることによりなされる。なお、図中、メインメモリ２０３のブロック中に記載される８ライン、０．５フレームおよび１フレームは、ディレイ値であり、メインメモリ２０３からのリードタイミングが示される。これらは、タイミングジェネレータＴＧ２２０の指令に基づき適切に制御される。
ラスタスキャン／ブロックスキャン変換部２０４は、ライン毎にメインメモリ２０３に格納されたビデオデータを、ＭＰＥＧで扱うマクロブロック毎に切り出して後段のアクティビティ部２０５に送る。この実施の一形態では、第１フィールドだけを用いてアクティビティの計算を行うため、ラスタスキャン／ブロックスキャン変換部２０４から出力されるマクロブロックは、第１フィールド分のビデオデータにより構成される。
ラスタスキャン／ブロックスキャン変換部２０４から出力データとして出力されたストリームは、第１１図Ａに一例が示されるように、垂直および水平方向のマクロブロックのアドレス情報が先頭に配され、所定サイズの空き領域の後ろに、１マクロブロック分の画像データが格納される。
なお、ストリームは、例えば８ビットを１ワードとして、５７６ワードのデータ長を有し、後半の５１２ワード（データ部と称する）が１マクロブロック分の画像データを格納する領域に割り当てられている。前半の６４ワード（ヘッダ部と称する）は、先頭に上述のマクロブロックのアドレス情報が格納され、その他の部分は、後段の各部にて埋め込まれるデータやフラグなどのため空き領域とされる。
ＭＰＥＧで扱うマクロブロックは、１６画素×１６ラインのマトリクスである。一方、このＭＰＥＧエンコーダ１０３では、第３図を用いて上述したように、第１フィールドだけによるアクティビティを求める処理を行う。そのため、第１フィールドの８ラインまでがメインメモリ２０３に格納された時点で処理を開始することができる。なお、実際には、タイミングジェネレータＴＧ２２０からの指令にて処理が適切に開始される。
アクティビティ部２０５は、マクロブロック毎のアクティビティを計算する。このＭＰＥＧエンコーダ１０３においては、第１フィールドだけからアクティビティが計算され、その計算結果がフィールドアクティビティ信号ｆｉｅｌｄ＿ａｃｔとして出力される。信号ｆｉｅｌｄ＿ａｃｔは、平均化部２０６に供給され、１フィールド分が積算され、その平均値ａｖｇ＿ａｃｔが求められる。平均値ａｖｇ＿ａｃｔは、後述するプリエンコード処理部１０３Ｂのアクティビティ部２０９に供給される。アクティビティ部２０９では、第１および第２フィールドの平均値ａｖｇ＿ａｃｔを共に用いてプリエンコード処理が行われる。
したがって、第１フィールドにおけるアクティビティの平均値ａｖｇ＿ａｃｔが判明した後、その平均値を用いて、適応量子化を考慮したプリエンコード処理を行うことが可能となる。
次に、プリエンコード処理部１０３Ｂについて説明する。ラスタスキャン／ブロックスキャン変換部２０７Ａは、上述したラスタスキャン／ブロックスキャン変換部２０４と基本的には同様の処理を行う。但し、このラスタスキャン／ブロックスキャン変換部２０７Ａは、符号量の見積もりを行うプリエンコード処理のために行われるため、第１フィールドおよび第２フィールドのビデオデータが共に必要とされる。そのため、ラスタスキャン／ブロックスキャン変換部２０７Ａでは、第２フィールドの８ラインまでがメインメモリ２０３に格納された時点で、ＭＰＥＧで扱う１６画素×１６ラインのサイズのマクロブロックを構成することが可能となり、この時点で処理を開始することができる。なお、実際には、タイミングジェネレータＴＧ２２０からの指令によって、処理が適切に開始される。
ラスタスキャン／ブロックスキャン変換部２０７Ａから出力されたビデオデータは、ＤＣＴモード部２０８に供給される。ＤＣＴモード部２０８は、フィールドＤＣＴ符号化モードおよびフレームＤＣＴ符号化モードの何れを用いて符号化するかを決める。
ここでは、実際に符号化するのではなく、垂直方向に隣接した画素間差分値の絶対値和をフィールドＤＣＴ符号化モードで計算したものと、フレームＤＣＴ符号化モードで計算したものとが比較され、その値が小さい符号化モードが選択される。選択結果は、ＤＣＴモードタイプデータｄｃｔ＿ｔｙｐとしてストリーム中に一時的にフラグとして挿入され、後段に伝えられる。ＤＣＴモードタイプデータｄｃｔ＿ｔｙｐは、第１１図Ｂに示されるように、ヘッダ部中の空き領域の後端側に格納される。
アクティビティ部２０９は、上述したアクティビティ部２０５と、基本的には同様の処理を行う。ただし、このアクティビティ部２０９では、上述のように、プリエンコード処理を行うためのもので、第１フィールドおよび第２フィールドのデータが共に用いられて、マクロブロック毎のアクティビティが計算される。
アクティビティ部２０９により、先ず、アクティビティａｃｔが求められ、第１１図Ｃに示されるように、ヘッダ部のマクロブロックアドレスに続けて格納される。次に、このアクティビティａｃｔと上述した平均化部２０６から得られるフィールドアクティビティの平均値ａｖｇ＿ａｃｔとを用いて、上述した式（８）および式（９）に基づき、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔが求められる。このアクティビティ部２０９における、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔを計算する構成については、後述する。
求められた正規化アクティビティｎｏｒｍ＿ａｃｔは、第１２図Ａに示されるように、ストリーム中のヘッダ部に一時的にフラグとして挿入され、後段に伝えられる。なお、上述のアクティビティａｃｔは、ストリーム中で、正規化アクティビティデータｎｏｒｍ＿ａｃｔに上書きされる。
アクティビティ部２０９の出力は、ＤＣＴ部２１０Ａに供給される。ＤＣＴ部２１０Ａでは、供給されたマクロブロックを８画素×８画素からなるＤＣＴブロックに分割し、ＤＣＴブロックに対して２次元ＤＣＴが行われ、ＤＣＴ係数が生成される。ＤＣＴ係数は、第１２図Ｂに示されるように、ストリームのデータ部に格納され、量子化テーブル部２１１Ａに供給される。
量子化テーブル部２１１Ａでは、ＤＣＴ部２１０Ａで変換されたＤＣＴ係数に対して量子化マトリクス（ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ）による量子化が行われる。量子化テーブル部２１１Ａで量子化されたＤＣＴ係数は、第１２図Ｃに示されるように、ストリームのデータ部に格納され、出力される。量子化テーブル部２１１Ａの出力は、複数のＱ＿ｎ（量子化）部２１２、２１２、・・・、ＶＬＣ部２１３、２１３、・・・、積算部Σ２１４、２１４、・・・、ならびに、積算部Σ２１５、２１５、・・・とからなる多段階の量子化部に供給される。量子化テーブル部２１１Ａで量子化されたＤＣＴ係数は、この多段階ステップの量子化部で多段階に量子化される。
ＤＣＴ係数は、Ｑ＿ｎ部２１２、２１２、・・・において、それぞれ異なった量子化スケール（ｑｕａｎｔｉｚｅｒ＿ｓｃａｌｅ）Ｑを用いて量子化される。なお、量子化スケールＱの値は、例えばＭＰＥＧ２の規格によって予め決められており、Ｑ＿ｎ部２１２、２１２、・・・は、この規格に基づき、例えば３１個の量子化器で構成される。このとき、ｎ＝３１であって、Ｑ＿ｎ部２１２、２１２、・・・は、Ｑ＿１部、Ｑ＿２部、・・・、Ｑ＿３１部である。そして、各量子化器がそれぞれに割り振られた量子化スケールＱｎを用いて、ＤＣＴ係数の量子化が合計で３１ステップ、行われる。以下では、Ｑ＿ｎ部２１２、２１２、・・・のそれぞれに対応する量子化スケール値を量子化スケールＱｎ値とする。
Ｑ＿ｎ部２１２、２１２、・・・において、それぞれの量子化スケールＱｎ値により量子化が行われる。このとき、上述のアクティビティ部２０９で得られた正規化アクティビティデータｎｏｒｍ＿ａｃｔを用いてｍｑａｕｎｔ＝Ｑ＿ｎ×ｎｏｒｍ＿ａｃｔにより求めた、視覚特性を考慮した量子化スケールであるｍｑａｕｎｔにより適応量子化が行われる。
Ｑ＿ｎ部２１２、２１２、・・・において適応量子化された、量子化スケールＱｎ毎のＤＣＴ係数は、それぞれ第１３図Ａに示されるようにストリーム中のデータ部に格納され、ＶＬＣ部２１３、２１３、・・・にそれぞれ供給される。量子化スケールＱｎ毎のＤＣＴ係数は、ＶＬＣ部２１３、２１３、・・・において、ジグザグスキャンなどのスキャニングが施され、２次元ハフマンコードなどに基づくＶＬＣテーブルが参照されてそれぞれ可変長符号化される。
ＶＬＣ部２１３、２１３、・・・で可変長符号化されたデータは、第１３図Ｂに示されるようにストリーム中のデータ部に格納され、それぞれ出力される。ＶＬＣ部２１３、２１３、・・・の出力は、それぞれ対応する積算部Σ２１４、２１４、・・・に供給される。
積算部Σ２１４、２１４、・・・では、それぞれマクロブロック毎に発生符号量が積算される。上述のように３１種類の量子化器を用いる場合には、それぞれに対応する３１種類の発生符号量がマクロブロック毎に得られることになる。マクロブロック毎の発生符号量は、第１４図Ａに示されるように、積算部Σ２１４、２１４、・・・において積算された発生符号量がストリーム中のヘッダ部に、各々格納される。すなわち、Ｑ＿１部２１２〜Ｑ＿ｎ部２１２のそれぞれの量子化による発生符号量が、マクロブロック毎に、ストリームのヘッダ部に格納される。なお、ストリームのデータ部は、削除される。このマクロブロック毎のストリームは、メインメモリ２０３に供給される。
また、積算部Σ２１４、２１４、・・・から出力されたマクロブロック毎の発生符号量は、それぞれ積算部Σ２１５、２１５、・・・に供給される。積算部Σ２１５、２１５、・・・は、上述した視覚特性を考慮したｑｕａｎｔｉｚｅｒ＿ｓｃａｌｅ（＝ｍｑｕａｎｔ）で量子化した場合のマクロブロック毎の発生符号量に対応する符号量を、積算部Σ２１４で求めたマクロブロック毎の発生符号量の中から選択し、それをフレーム分積算する。
積算部Σ２１５、２１５、・・・で量子化スケールＱｎ毎にそれぞれフレーム分積算された値は、そのフレームにおける発生符号量（フレームデータレート）とされて、第１４図Ｂに示されるように、ｎワードのストリームとして後述するレートコントロール部２１７に供給される。なお、上述のように３１種類の量子化器を用いる場合には、それぞれに対応する３１種類の発生符号量がフレーム毎に得られることになる。
発生符号量を求める方法を、より具体的に説明する。例えば、「Ｑ＿４部２１２による発生符号量」は、次のようにして求められる。
例えば、
ｎｏｒｍ＿ａｃｔ［１］＝１．３
ｎｏｒｍ＿ａｃｔ［２］＝１．５
ｎｏｒｍ＿ａｃｔ［３］＝０．８
ｎｏｒｍ＿ａｃｔ［４］＝１．０
・・・
である場合、
ｍｑａｕｎｔ［１］＝４ｘ１．３＝５．２
：Ｑ＿５部２１２による発生符号量を、第１４図Ａのヘッダ部から求める。
ｍｑａｕｎｔ［２］＝４ｘ１．５＝６．０
：Ｑ＿６部２１２による発生符号量を、第１４図Ａのヘッダ部から求める。
ｍｑａｕｎｔ［３］＝４ｘ０．８＝３．２
：Ｑ＿３部２１２による発生符号量を、第１４図Ａのヘッダ部から求める。
ｍｑａｕｎｔ［４］＝４ｘ１．０＝４．０
：Ｑ＿４部２１２による発生符号量を、第１４図Ａのヘッダ部から求める。
・・・
以上を、１フレーム分、積算する。これを、Ｑ＿１部２１２〜Ｑ＿ｎ部２１２に対してそれぞれ行い、１フレーム分の発生符号量を求める。
次に、エンコード処理部１０３Ｃについて説明する。エンコード処理部１０３Ｃでは、最終的なエンコード処理が行われる。上述したように、プリエンコード処理部１０３Ｂにおいて、様々な量子化を行った場合の１フレーム分の発生符号量が見積もられる。エンコード処理部１０３Ｃでは、この１フレーム分で見積もられた発生符号量に基づき、予め設定された目標発生符号量を絶対に超えないようにエンコードが行われ、ＭＰＥＧ  ＥＳが出力される。
エンコード処理部１０３Ｃで用いられるデータは、既にメインメモリ２０３に格納されているが、上述したように、プリエンコード処理部１０３Ｂにより様々な量子化を行った場合の１フレームにおける発生符号量が見積もられた時点で処理を開始することができる。エンコード処理部１０３Ｃの各部における処理は、上述と同様に、タイミングジェネレータＴＧ２２０からの指令に基づき適切に開始される。
メインメモリ２０３から読み出されたビデオデータは、ラスタスキャン／ブロックスキャン変換部２０７Ｂにおいて、上述のラスタスキャン／ブロックスキャン変換部２０７Ａと同様の処理をされて１６画素×１６ラインのマクロブロックが切り出される。切り出されたマクロブロックは、第１５図Ａに示されるように、上述した第１４図Ａに示されるヘッダ部に対応するデータ部に格納され、ＤＣＴモード部２１６に供給される。
ＤＣＴモード部２１６では、、上述のＤＣＴモード部２０８と同様に、フィールドＤＣＴ符号化モードおよびフレームＤＣＴ符号化モードのうち何れを用いて符号化するかが決められる。このとき、既にＤＣＴモード部２０８において符号化モードが決められ、その結果がＤＣＴタイプデータｄｃｔ＿ｔｙｐとしてストリーム中に一時的に挿入されている（第１５図Ａ参照）。ＤＣＴモード部２１６では、ストリームからこのＤＣＴタイプデータｄｃｔ＿ｔｙｐを検出し、検出されたＤＣＴタイプデータｄｃｔ＿ｔｙｐに基づきフィールド符号化モードおよびフレーム符号化モードを切り換える。ＤＣＴモード部２１６の出力を第１５図Ｂに示す。
ＤＣＴモード部２１６から出力されたマクロブロックは、ＤＣＴ部２１０Ｂに供給され、上述のＤＣＴ部２１０Ａと同様にして８画素×８画素のＤＣＴブロック単位で２次元ＤＣＴされる。２次元ＤＣＴされたＤＣＴ係数は、第１５図Ｃに示されるように、ストリーム中のデータ部に格納されて、ＤＣＴ部２１０Ｂから出力される。
量子化テーブル部２１１Ｂは、上述の量子化テーブル部２１１Ａと同様に構成することができ、ＤＣＴ部２１０Ｂで変換されたＤＣＴ係数に対して量子化マトリクスによる量子化が行われる。量子化テーブル部２１１Ｂで量子化されたＤＣＴ係数は、第１６図Ａに示されるように、ストリーム中のデータ部に格納されてレートコントロール部２１７に供給される。
レートコントロール部２１７では、上述したプリエンコード処理部１０３Ｂにおいて積算部Σ２１５、２１５、・・・で得られた、各量子化スケールＱｎ毎のフレームデータレートの中から、システムコントローラ１１７により設定される１フレーム当たりの最大発生符号量を超えないもので、且つ、最も設定値に近いものが選択される。そして、選択されたフレームデータレートに対応する量子化器において用いられたマクロブロック毎の量子化スケール（ｍｑｕａｎｔ）が、ストリーム中に挿入された正規化アクティビティデータｎｏｒｍ＿ａｃｔから再度求められ、量子化部２１８に供給される。
マクロブロック毎の量子化スケールは、第１６図Ｂに示されるように、ストリーム中のヘッダ部の後端側にｑａｕｎｔｉｓｅｒ＿ｓｃａｌｅとして格納され、量子化部２１８に伝えられる。
なお、１フレーム当たりの最大発生符号量は、例えばシステムコントローラ１１７により設定され、ＣＰＵ  Ｉ／Ｆ２２１を介してレートコントロール部２１７に伝えられる。
また、この際、システムコントローラ１１７で設定されＣＰＵ  Ｉ／Ｆ２２１を介して伝えられる、１フレームあたりの最大発生符号量と、上述したストリーム中に挿入された正規化アクティビティデータｎｏｒｍ＿ａｃｔから求められたマクロブロック毎の量子化スケール（ｍｑａｕｎｔ）による発生符号量との差分を超えない範囲で、マクロブロック毎に量子化スケール（ｍｑｕａｎｔ）の値を１サイズ小さくするようにできる。これにより、システムコントローラ１１７で設定されＣＰＵ  Ｉ／Ｆ２２１を介して伝えられる１フレーム当たりの最大発生符号量に近付け、高画質を実現することが可能である。
量子化部２１８では、レートコントロール部２１７により上述のようにして指定される量子化スケール（ｑｕａｎｔｉｚｅｓ＿ｓｃａｌｅ）をストリーム中から取り出し、取り出された量子化スケールに基づき量子化テーブル部２１１Ｂで量子化されたＤＣＴ係数の量子化が行われる。このとき、レートコントロール部２１７から与えられる量子化スケールは、正規化アクティビティデータｎｏｒｍ＿ａｃｔから求められた量子化スケール（ｍｑｕａｎｔ）の値であるため、視覚特性が考慮された適応量子化が行われることになる。
量子化部２１８で量子化されたＤＣＴ係数は、第１６図Ｃに示されるようにストリーム中のデータ部に格納され、ＶＬＣ部２１９に供給される。量子化されＶＬＣ部２１９に供給されたＤＣＴ係数は、ジグザグスキャンなどのスキャンニングが施され、２次元ハフマンコードに基づくＶＬＣテーブルが参照されてそれぞれ可変長符号化される。さらに、可変長符号に対して、バイト単位で整列するようにビットシフトが施され、ＭＰＥＧ  ＥＳとされて出力される。
このとき、ＶＬＣ部２１９までストリームの前半部を構成していたヘッダ部が第１７図に示されるようにスライス層以下のＭＰＥＧのヘッダ情報が格納されるＭＰＥＧのヘッダ部にすげ替えられて出力される。可変長符号は、ストリームの後半側のデータ部に格納される。
第１８図は、上述したアクティビティ部２０９における、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔを計算するための一例の構成を示す。なお、正規化アクティビティｎｏｒｍ＿ａｃｔは、上述の式（８）および式（９）により計算されるものとする。
上述したように、アクティビティ部２０９により、先ず、アクティビティａｃｔが求められる。このアクティビティａｃｔが乗算器３０１の一方および他方の入力端に供給され、ａｃｔ×ａｃｔが計算される。計算結果は、レジスタ３０４および３０７を介して乗算器３１１の一方の入力端に供給されると共に、レジスタ３１５をさらに介して加算器３１８の一方の入力端に供給される。
平均化部２０６から出力された平均アクティビティａｖｇ＿ａｃｔが乗算器３０２の一歩および他方の入力端に供給され、ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔが計算される。計算結果は、レジスタ３０５および３０８を介して乗算器３１２の一方の入力端に供給されると共に、レジスタ３１３をさらに介して加算器３１７の一方の入力端に供給される。
平均化部２０６から出力された平均アクティビティａｖｇ＿ａｃｔは、乗算器３０３の一方の入力端にも供給される。乗算器３０３の他方の入力端には、パラメータａｔｔが供給される。なお、パラメータａｔｔは、例えばシステムコントローラ１１７で設定されＣＰＵ  Ｉ／Ｆ２２１を介して供給される。乗算器３０３の計算結果は、レジスタ３０６を介して加算器３１０の一方の入力端に供給される。加算器３１０の他方の入力端には、定数「１」が供給される。乗算器３０３および加算器３１０により、ａｔｔ×ａｖｇ＿ａｃｔ＋１が計算され、ｎｏｒｍ＿ｇａｉｎが求められる。ｎｏｒｍ＿ｇａｉｎは、レジスタ３０９を介して乗算器３１１および３１２それぞれの他方の入力端に供給される。
乗算器３１１では、ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）が計算され、計算結果がレジスタ３１４を介して加算器３１７の他方の入力端に供給される。加算器３１７では、ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ＋ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）が計算される。計算結果は、レジスタ３１９を介して除算器３２１の被除数入力端に供給される。
同様に、乗算器３１２では、ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）が計算され、計算結果がレジスタ３１６を介して加算器３１８の他方の入力端に供給される。加算器３１８では、ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）＋ａｃｔ×ａｃｔが計算される。計算結果は、レジスタ３２０を介して除算器３２１の除数入力端に供給される。
除算器３２１では、｛ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ＋ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）｝÷｛ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）＋ａｃｔ×ａｃｔ｝が計算される。すなわち、この除算器３２１の出力がこの発明の実施の一形態による正規化アクティビティｎｏｒｍ＿ａｃｔとされる。除算器３２１から出力された正規化アクティビティｎｏｒｍ＿ａｃｔは、セレクタ３２５およびレジスタ３２４を介して出力される。そして、この正規化アクティビティｎｏｒｍ＿ａｃｔは、ストリームにおいて、上述の第１１Ｃのアクティビティａｃｔに上書きされ、第１２図Ａのようにストリーム中に埋め込まれて後段に伝えられる。
なお、比較部３２２において、レジスタ３２０に供給された値（除数）が監視される。若し、除数が「０」であれば、例えばその旨示すフラグがレジスタ３２６を介してセレクタ３２５に供給される。セレクタ３２５は、一方の入力端に上述の除算器３２１の出力が供給され、他方の入力端には、定数「１」が供給される。比較器３２２から供給されたフラグにより、除数が「０」であることが示されると、セレクタにより定数「１」が選択され、正規化アクティビティｎｏｒｍ＿ａｃｔとして出力される。
なお、上述では、ＭＰＥＧエンコーダ１０３における処理がハードウェアにより行われるように説明したが、これはこの例に限定されない。ＭＰＥＧエンコーダ１０３の処理は、ソフトウェアによっても同様に実現可能なものである。例えば、コンピュータ装置にビデオ信号のアナログおよびディジタルの入力インターフェイスを設け、コンピュータ上に搭載されたソフトウェアによりＣＰＵおよびメモリなどを利用して実行することができる。また、上述のディジタルＶＴＲの構成において、ＭＰＥＧエンコーダ１０３をＣＰＵおよびメモリに置き換えたような構成としてもよい。
このソフトウェアは、例えばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）といった記録媒体にプログラムデータとして記録されて提供される。このソフトウェアが記録された記録媒体をコンピュータ装置に装填し、所定の操作を行うことで当該ソフトウェアがコンピュータ装置にインストールされ、当該ソフトウェアによる処理を実行することが可能な状態とされる。なお、コンピュータ装置の構成は、極めて周知であるため、ここでは説明を省略する。
第１９図は、ＭＰＥＧエンコーダ１０３の処理をソフトウェアで行う場合の一例のフローチャートである。このフローチャートによる処理は、上述したハードウェアによる処理と同様なものであるので、以下では、上述したハードウェアにおける処理を考慮しながら、概略的に説明する。ステップＳ１〜Ｓ７は、上述の入力フィールドアクティビティ平均化処理部１０３Ａによる処理に対応する。ステップＳ１１〜Ｓ２１は、上述のプリエンコード処理部１０３Ｂに対応する。また、ステップＳ３１〜Ｓ３８は、上述のエンコード処理部１０３Ｃに対応する。
最初のステップＳ１で、ビデオデータが取り込まれる。次のステップＳ２で、取り込まれたビデオデータから、垂直ブランキング区間でＭＰＥＧにおける各ヘッダが抽出されメモリに格納される。垂直ブランキング区間以外では、取り込まれたビデオデータがメモリに格納される。
ステップＳ３では、ビデオデータがラスタスキャンからブロックスキャンへと変換され、マクロブロックが切り出される。これは、例えばメモリに格納されたビデオデータを読み出す際の読み出しアドレスを制御することでなされる。ステップＳ４で、マクロブロックに切り出されたビデオデータに対して第１フィールドによるアクティビティ計算がなされ、計算結果のアクティビティＡｃｔｉｂｉｔｙ（ａｃｔ）がステップＳ５で積算され、積算値ｓｕｍとしてメモリに格納される。これらステップＳ３〜Ｓ５までの処理は、ステップＳ６において第１フィールドの最終マクロブロックの処理が終了したと判断されるまで繰り返される。すなわち、積算値ｓｕｍは、１フィールド分のマクロブロックのアクティビティの合計となる。
ステップＳ６において１フィールドの最終マクロブロックまで処理が終了したと判断されたら、ステップＳ７で、メモリに格納された積算値ｓｕｍが１フィールド分のマクロブロック数で除され、１フィールド分のアクティビティが平均化されたフィールドアクティビティの平均値Ａｃｔｉｂｉｔｙ（ａｖｇ＿ａｃｔ）が求められ、メモリに格納される。
フィールドアクティビティの平均値Ａｃｔｉｂｉｔｙ（ａｖｇ＿ａｃｔ）が求められると、処理はステップＳ１１に移行する。ステップＳ１１では、上述のステップＳ３と同様に、メモリに格納されたビデオデータがラスタスキャンからブロックスキャンへと変換され、マクロブロックが切り出される。次のステップＳ１２で、ＤＣＴをフィールドＤＣＴ符号化モードおよびフレームＤＣＴ符号化モードの何れで行うかが選択され、選択結果がＤＣＴモードタイプデータｄｃｔ＿ｔｙｐとしてメモリに格納される。
ステップＳ１３では、第１および第２フィールドが共に用いられて、先ず、マクロブロック毎のアクティビティａｃｔが計算される。そして、このアクティビティａｃｔと、上述のステップＳ７で求められメモリに格納されたフィールドアクティビティの平均値Ａｃｔｉｂｉｔｙ（ａｖｇ＿ａｃｔ）とを用いて、上述した式（８）および（９）に基づきこの発明による正規化アクティビティＡｃｔｉｂｉｔｙ（ｎｏｒｍ＿ａｃｔ）が求められる。求められた正規化アクティビティＡｃｔｉｂｉｔｙ（ｎｏｒｍ＿ａｃｔ）は、メモリに格納される。
上述した式（８）および式（９）は、ソフトウェア的には、例えばプログラミング言語であるＣ言語的な表現を用いて次のように表すことができる。なお、「ＭＢ＿ｎｕｍ」は、１フレームのマクロブロックの総数である。また、パラメータａｔｔは、常数であって、例えばａｔｔ＝０．１２５とする。
2002080575.tif 000009
ステップＳ１３では、例えばこのようなプログラムに基づき正規化アクティビティＡｃｔｉｂｉｔｙ（ｎｏｒｍ＿ａｃｔ）が求められる。
次のステップＳ１４で、上述のステップＳ１１でビデオデータから切り出されたマクロブロックが８画素×８画素からなるＤＣＴブロックに分割され、このＤＣＴブロックに対して２次元ＤＣＴが行われる。２次元ＤＣＴによりＤＣＴブロックが変換されたＤＣＴ係数は、ステップＳ１５で量子化テーブル（ｑｕａｎｔｉｚｅｒ＿ｔａｂｌｅ）による量子化がなされ、処理はステップＳ１６に移行される。
ステップＳ１６〜Ｓ２０の処理を、量子化スケール（ｑｕａｎｔｉｚｅｒ＿ｓｃａｌｅ）Ｑｎ値それぞれについて行うように繰り返すことで、上述のＱ＿ｎ部２１２、２１２、・・・、ＶＬＣ部２１３、２１３、・・・、積算部Σ２１４、２１４、・・・、ならびに、積算部Σ２１５、２１５、・・・に相当する処理が行われる。すなわち、ステップＳ１６で、ＤＣＴ係数に対して量子化スケールＱ＝１での量子化が行われ、ステップＳ１７で、ＶＬＣテーブルが参照されて量子化されたＤＣＴ係数が可変長符号化される。そして、ステップＳ１８で可変長符号化によるマクロブロックにおける発生符号量が計算され、ステップＳ１９で、ステップＳ１８で求められたマクロブロック毎の発生符号量が１フレーム分、積算される。ステップＳ２０で次の量子化スケールＱｎがあるか否かが判断され、次の量子化スケールＱｎがあると判断されたら、処理はステップＳ１６に戻され、次の量子化スケールＱｎに基づく処理が行われる。量子化スケールＱｎ毎の１フレーム分の発生符号量は、それぞれメモリに格納される。
ステップＳ２０で、全ての量子化スケールＱｎの値についてフレームにおける発生符号量の積算値が求められたとされれば、ステップＳ２１で、１フレームの最終マクロブロック（ＭＢ）まで処理が終了したかどうかが判断され、最終マクロブロックまでの処理が終了していなければ、処理がステップＳ１１に戻される。最終マクロブロックまでの処理が終了され１フレーム分の発生符号量が見積もられれば、ステップＳ３１に移行され、実際のエンコード処理が行われる。
ステップＳ３１では、上述のステップＳ１１と同様に、メモリに格納されたビデオデータがラスタスキャンからブロックスキャンへと変換され、マクロブロックが切り出される。次のステップＳ３２では、上述のステップＳ１２でメモリに格納されたＤＣＴモードタイプデータｄｃｔ＿ｔｙｐに基づきＤＣＴ符号化モードが設定される。
ステップＳ３３では、ステップＳ３１でビデオデータから切り出されたマクロブロックが８画素×８画素からなるＤＣＴブロックに分割され、このＤＣＴブロックに対して次元ＤＣＴが行われる。２次元ＤＣＴによりＤＣＴブロックが変換されたＤＣＴ係数は、ステップＳ３４で量子化テーブル（ｑｕａｎｔｉｚｅｒ＿ｔａｂｌｅ）による量子化がなされ、処理はステップＳ３５に移行される。
ステップＳ３５では、上述したステップＳ１１〜Ｓ２１において見積もられた、量子化スケールＱｎ毎の１フレーム分の発生符号量に基づき、実際のエンコード処理において発生される符号量の制御を行うために、後述するステップＳ３６で用いられる量子化スケールＱｎがマクロブロック毎に設定される。
そして、処理はステップＳ３６に移行され、ステップＳ３５で設定された量子化スケールＱｎを用いて、ステップＳ３４で量子化テーブルを用いて量子化されたＤＣＴ係数の量子化が行われる。ステップＳ３６で量子化されたＤＣＴ係数は、次のステップＳ３７でＶＬＣテーブルが参照され可変長符号化される。そして、ステップＳ３８で１フレームの最終マクロブロックまで処理が行われたか否かが判断され、１フレームの最終マクロブロックまで処理されていないと判断されれば、処理がステップＳ３１に戻され、次のマクロブロックに対する量子化処理および可変長符号化処理が行われる。一方、ステップＳ３７で、１フレームの最終マクロブロックまで処理が行われたと判断されれば、１フレーム分のエンコード処理が終了したとされる。
なお、上述では、ステップＳ１１〜Ｓ２１までのプリエンコード処理と、ステップＳ３１〜Ｓ３８までのエンコード処理とを別々の処理として説明したが、これはこの例に限定されない。例えば、ステップＳ１１〜Ｓ２１において発生符号量の見積もりにより得られたデータをメモリに格納し、そこから実際のエンコード処理により得られるデータを選択して取り出すようにする。これにより、ステップＳ３１〜Ｓ３８の処理をステップＳ１１〜Ｓ２１による処理に含まれるループとして組み込むことができる。
なお、上述では、パラメータａｔｔの値を「０．１２５」としたが、これはこの例に限定されず、他の値とすることができる。このパラメータａｔｔの値を変更することで、様々な圧縮率に適した適応量子化に対応することが可能とされる。
以上説明したように、この実施の一形態では、正規化アクティビティを算出する際に、対象となる画像の平坦さや複雑さといった特性、すなわち、当該画像の平均アクティビティに応じて正規化の範囲を変更するようにしている。
そのため、全体的に平坦な画像については、アクティビティの正規化の範囲を小さくし、画像全体で均一に近いアクティビティを用いて量子化を行うことができる。そのため、画像全体で均一な平坦度を確保し、高画質を得ることが可能となる。
一方、複雑な領域と平坦な領域とが混在するような画像については、アクティビティの正規化の範囲を大きくし、複雑な領域にはより大きい符号量を割り当てて精細な量子化を行い、平坦な領域では粗い量子化を行うことにより、視覚的に良質な画像を得ることができる。
【図面の簡単な説明】
第１図は、第２の例による正規化を表す式の一例の特性を示すグラフ、第２図は、ＭＰＥＧのＴＭ５による正規化の一例の特性を示すグラフ、第３図は、全体的に平坦な絵柄から構成される一例の図、第４図は、複雑な絵柄と平坦な絵柄とが混在する一例の図、第５図は、全体的に平坦な絵柄から構成される画像に対してＭＰＥＧのＴＭ５による正規化を用いた場合の正規化アクティビティの例を示す略線図、第６図は、全体的に平坦な絵柄から構成される画像に対してこの発明による正規化を用いた場合の正規化アクティビティの例を示す略線図、第７図は、複雑な絵柄と平坦な絵柄とが混在する画像に対してＭＰＥＧのＴＭ５による正規化を用いた場合の正規化アクティビティの例を示す略線図、第８図は、複雑な絵柄と平坦な絵柄とが混在する画像に対してこの発明による正規化を用いた場合の正規化アクティビティの例を示す略線図、第９図Ａおよび第９図Ｂは、この発明の実施の一形態が適用されたディジタルＶＴＲの一例の構成を示すブロック図、第１０図Ａ、第１０図Ｂおよび第１０図Ｃは、ＭＰＥＧエンコーダの一例の構成をより具体的に示すブロック図、第１１図Ａ、第１１図Ｂおよび第１１図Ｃは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１２図Ａ、第１２図Ｂおよび第１２図Ｃは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１３図Ａおよび第１３図Ｂは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１４図Ａおよび第１４図Ｂは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１５図Ａ、第１５図Ｂおよび第１５図Ｃは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１６図Ａ、第１６図Ｂおよび第１６図Ｃは、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１７図は、ＭＰＥＧエンコーダの各部において転送されるストリームの構成例を示す略線図、第１８図は、この発明による正規化アクティビティを計算するための一例の構成を示すブロック図、第１９図は、ＭＰＥＧエンコーダの処理をソフトウェアで行う場合の一例のフローチャートである。
符号の説明
１０２    タイミングジェネレータＴＧ
１０３    ＭＰＥＧエンコーダ
１１７    システムコントローラ
２０３    メインメモリ
２０４，２０７Ａ，２０７Ｂ    ラスタスキャン／ブロックスキャン変換部
２０５，２０９    アクティビティ部
２０６    平均化部
２０８，２１６    ＤＣＴモード部
２１０Ａ，２１０Ｂ    ＤＣＴ部
２１１Ａ，２１１Ｂ    量子化テーブル部
２１２    量子化部
２１３    ＶＬＣ部
２１４，２１５    積算部Σ
２１７    レートコントロール部
２１８    量子化部
２１９    ＶＬＣ部
Ｓ１    画像の取り込み
Ｓ２    ヘッダの付加
Ｓ３    ラスタスキャン→ブロックスキャン変換
Ｓ４    第１フィールドによるアクティビティ（ａｃｔ）計算
Ｓ５    アクティビティ（ａｃｔ）積算
ｓｕｍ＝ｓｕｍ＋ａｃｔ
Ｓ６    第１フィールドの最終ＭＢか？
Ｓ７    第１フィールドの平均アクティビティ（ａｖｇ＿ａｃｔ）の計算
ａｖｇ＿ａｃｔ＝ｓｕｍ／ＭＢ数
Ｓ１１    ラスタスキャン→ブロックスキャン変換
Ｓ１２    ＤＣＴモードの決定（ｆｉｅｌｄ＿ｄｃｔ／ｆｒａｍｅ＿ｄｃｔ）
Ｓ１３    アクティビティ（ｎｏｒｍ＿ａｃｔ）の計算
Ｓ１４    ＤＣＴの計算
Ｓ１５    Ｑ＿ｔａｂｌｅによる量子化
Ｓ１６    Ｑ＿ｓｃａｌｅによる量子化
Ｓ１７    ＶＬＣによる可変長符号化
Ｓ１８    ＭＢにおける発生符号量の計算
Ｓ１９    フレームにおける発生符号量の積算（Ｑ＿ｓｃａｌｅの種類毎）
Ｓ２０    他のＱ＿ｓｃａｌｅがあるか？
Ｓ２１    最終ＭＢか？
Ｓ３１    ラスタスキャン→ブロックスキャン変換
Ｓ３２    ＤＣＴモードの選択（ｆｉｅｌｄ＿ｄｃｔ／ｆｒａｍｅ＿ｄｃｔ）
Ｓ３３    ＤＣＴの計算
Ｓ３４    Ｑ＿ｔａｂｌｅによる量子化
Ｓ３５    符号量の制御（Ｑ＿ｓｃａｌｅの設定）
Ｓ３６    Ｑ＿ｓｃａｌｅによる量子化
Ｓ３７    ＶＬＣによる可変長符号化
Ｓ３８    最終ＭＢか？
【図１】
2002080575.tif 000011
【図２】
2002080575.tif 000012
【図３】
2002080575.tif 000013
【図４】
2002080575.tif 000014
【図５】
2002080575.tif 000015
【図６】
2002080575.tif 000016
【図７】
2002080575.tif 000017
【図８】
2002080575.tif 000018
【図９】
2002080575.tif 000019
【図９Ａ】
2002080575.tif 000020
【図９Ｂ】
2002080575.tif 000021
【図１０】
2002080575.tif 000022
【図１０Ａ】
2002080575.tif 000023
【図１０Ｂ】
2002080575.tif 000024
【図１０Ｃ】
2002080575.tif 000025
【図１１Ａ】
2002080575.tif 000026
【図１１Ｂ】
2002080575.tif 000027
【図１１Ｃ】
2002080575.tif 000028
【図１２Ａ】
2002080575.tif 000029
【図１２Ｂ】
2002080575.tif 000030
【図１２Ｃ】
2002080575.tif 000031
【図１３Ａ】
2002080575.tif 000032
【図１３Ｂ】
2002080575.tif 000033
【図１４Ａ】
2002080575.tif 000034
【図１４Ｂ】
2002080575.tif 000035
【図１５Ａ】
2002080575.tif 000036
【図１５Ｂ】
2002080575.tif 000037
【図１５Ｃ】
2002080575.tif 000038
【図１６Ａ】
2002080575.tif 000039
【図１６Ｂ】
2002080575.tif 000040
【図１６Ｃ】
2002080575.tif 000041
【図１７】
2002080575.tif 000042
【図１８】
2002080575.tif 000043
【図１９】
2002080575.tif 000044
【手続補正書】
【提出日】平成14年10月22日(2002.10.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
請求の範囲第１項に記載の画像処理装置において、
上記正規化アクティビティ算出手段は、上記画像データを分割したブロック毎に上記正規化アクティビティを算出するようにされ、
上記平均アクティビティに比例する係数に上記ブロック毎のアクティビティを二乗した値を乗じた結果に上記平均アクティビティを二乗した結果を加算した値を、上記係数に上記平均アクティビティを二乗した値を乗じた結果に上記ブロック毎のアクティビティを二乗した結果を加算した値で除した値を、上記ブロック毎の上記正規化アクティビティとすることを特徴とする画像処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
れ第３図および第４図に示されるサンプル画像の、対応する部分における正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲を示す。
なお、第３図は、全体的に平坦な絵柄から構成される画像の例である。特に、背景に掲げられる絵柄は、それぞれが単一若しくは数色により塗り潰された図形より構成され、画像としては簡単な構成であるといえる。「芝」および「羊」部分は、共に背景の絵の一部である。一方、第４図は、複雑な絵柄と平坦な絵柄とが混在する画像の例である。中央部に円で縁取りされて表示される「女性」と、周囲の「ＮＯＩＳＥ」部分からなる。「女性」部分は、第３図と同様に、比較的平坦な絵柄であるが、周囲の「ＮＯＩＳＥ」部分は、画素レベルで見たときの隣接部との相関性が低く、複雑な絵柄である。
第１図において、平均アクティビティａｖｇ＿ａｃｔ＝０では、正規化アクティビティｎｏｒｍ＿ａｃｔ＝１であり、平均アクティビティａｖｇ＿ａｃｔ＝１６のときｎｏｒｍ＿ｇａｉｎ＝３となり、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／３＜ｎｏｒｍ＿ａｃｔ［ｍ］＜３の範囲に分布することが分かる。なお、第１図では、ｎｏｒｍ＿ｇａｉｎは、ｒａｔｅとして記述されている。
一方、第２図では、アクティビティａｃｔ［ｍ］が６４までしか表示されていないので、わかりにくいが、平均アクティビティａｖｇ＿ａｃｔがどのような値をとっても、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、１／２＜ｎｏｒｍ＿ａｃｔ［ｍ］＜２の正規化範囲に分布するのが分かる。
第１図と第２図とを対比させると、この発明が適用された第１図では、正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］は、同一画像内の複雑な絵柄である「ＮＯＩＳＥ」には広い範囲が、比較的平坦な絵柄である「女性」には狭い範囲が割り当てられているのが分かる。これに対して、ＭＰＥＧのＴＭ５が適用された第２図では、「ＮＯＩＳＥ」および「女性」に対して、それぞれ同程度の正規化アクティビティｎｏｒｍ＿ａｃｔ［ｍ］の範囲が割り


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
しない）、パッキングおよびシャフリング部、オーディオ用外符号エンコーダ、ビデオ用外符号エンコーダ、内符号エンコーダ、オーディオ用シャフリング部およびビデオ用シャフリング部などを内蔵する。また、ＥＣＣエンコーダ１０７は、シンクブロック単位でＩＤを付加する回路や、同期信号を付加する回路を含む。なお、実施の第１の形態では、ビデオ信号およびオーディオ信号に対するエラー訂正符号としては、積符号が使用される。積符号は、ビデオ信号またはオーディオ信号の２次元配列の縦方向に外符号の符号化を行い、その横方向に内符号の符号化を行い、データシンボルを２重に符号化するものである。外符号および内符号としては、リードソロモンコード（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  ｃｏｄｅ）を使用できる。
ＥＣＣエンコーダ１０７には、ＭＦＣ回路１０６から出力された変換エレメンタリストリームが供給されると共に、ＳＤＴＩ入力部１０５およびディレイ回路１０４から出力されたオーディオ信号が供給される。ＥＣＣエンコーダ１０７では、供給された変換エレメンタリストリーム及びオーディオ信号に対してシャフリング及びエラー訂正符号化を施し、シンクブロック毎にＩＤおよび同期信号を付加し記録データとして出力する。
ＥＣＣエンコーダ１０７から出力された記録データは、記録アンプを含むイコライザＥＱ１０８で記録ＲＦ信号に変換される。記録ＲＦ信号は、回転ヘッドが所定に設けられた回転ドラム１０９に供給され、磁気テープ１１０上に記録される。回転ドラム１０９には、実際には、隣接するトラックを形成するヘッドのアジマスが互いに異なる複数の磁気ヘッドが取り付けられている。
記録データに対して必要に応じてスクランブル処理を行っても良い。また、記録時にディジタル変調を行っても良く、さらに、パーシャル・


【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
０３Ｃからなる。入力フィールドアクティビティ平均化処理部１０３Ａでは、入力されたビデオデータのアクティビティの平均値が求められてプリエンコード処理部１０３Ｂに渡される。プリエンコード処理部１０３Ｂでは、このアクティビティの平均値を用いて入力ビデオデータの量子化による発生符号量が見積もられる。この見積もり結果に基づき、エンコード部１０３Ｃにおいて、符号量制御しながら入力ビデオデータに対する実際の量子化が行われ、量子化されたビデオデータに対しさらに可変長符号化がなされ、ＭＰＥＧ  ＥＳとされて出力される。
なお、タイミングジェネレータＴＧ２２０は、例えば第９図Ａおよび第９図ＢのタイミングジェネレータＴＧ１０２から供給された水平同期信号ＨＤ、垂直同期信号ＶＤおよびフィールド同期信号ＦＬＤに基づき、ＭＰＥＧエンコーダ１０３内で必要とされるタイミング信号を生成し出力する。また、ＣＰＵ  Ｉ／Ｆブロック２２１は、第９図Ａおよび第９図Ｂのシステムコントローラ１１７とのインターフェイスであり、ＣＰＵ  Ｉ／Ｆブロック２２１を介してやりとりされた制御信号やデータにより、ＭＰＥＧエンコーダ１０３における動作が制御される。
先ず、入力フィールドアクティビティ平均化処理部１０３Ａの処理について説明する。ＳＤＩ入力部１０１から出力されＭＰＥＧエンコーダ１０３に入力されたビデオデータは、入力部２０１に供給され、メインメモリ２０３に格納するのに適したインターフェイスに変換されると共に、パリティチェックがなされる。入力部２０１から出力されたビデオデータは、ヘッダ作成部２０２に供給され、垂直ブランキング区間などを利用してＭＰＥＧにおける、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ、ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ、ｇｏｐ＿ｈｅａｄｅｒなどの各ヘッダが抽出される。抽出された各ヘッダは、メインメモリ２０３に格納される。これらのヘッダは、主に、ＣＰＵ  Ｉ／Ｆブロック２２１から指定される。また、ヘッダ作成部２０２におい


【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
のアドレス情報が格納され、その他の部分は、後段の各部にて埋め込まれるデータやフラグなどのため空き領域とされる。
ＭＰＥＧで扱うマクロブロックは、１６画素×１６ラインのマトリクスである。一方、この入力フィールドアクティビティ平均化処理部１０３Ａでは、第１フィールドだけによるアクティビティを求める処理を行う。そのため、第１フィールドの８ラインまでがメインメモリ２０３に格納された時点で処理を開始することができる。なお、実際には、タイミングジェネレータＴＧ２２０からの指令にて処理が適切に開始される。
アクティビティ部２０５は、マクロブロック毎のアクティビティを計算する。この入力フィールドアクティビティ平均化処理部１０３Ａにおいては、第１フィールドだけからアクティビティが計算され、その計算結果がフィールドアクティビティ信号ｆｉｅｌｄ＿ａｃｔとして出力される。信号ｆｉｅｌｄ＿ａｃｔは、平均化部２０６に供給され、１フィールド分が積算され、その平均値ａｖｇ＿ａｃｔが求められる。平均値ａｖｇ＿ａｃｔは、後述するプリエンコード処理部１０３Ｂのアクティビティ部２０９に供給される。アクティビティ部２０９では、第１および第２フィールドの平均値ａｖｇ＿ａｃｔを共に用いてプリエンコード処理が行われる。
したがって、第１フィールドにおけるアクティビティの平均値ａｖｇ＿ａｃｔが判明した後、その平均値を用いて、適応量子化を考慮したプリエンコード処理を行うことが可能となる。
次に、プリエンコード処理部１０３Ｂについて説明する。ラスタスキャン／ブロックスキャン変換部２０７Ａは、上述したラスタスキャン／ブロックスキャン変換部２０４と基本的には同様の処理を行う。但し、このラスタスキャン／ブロックスキャン変換部２０７Ａは、符号量の見積もりを行うプリエンコード処理のために行われるため、第１フィール


【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
部２０６から得られるフィールドアクティビティの平均値ａｖｇ＿ａｃｔとを用いて、上述した式（８）および式（９）に基づき、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔが求められる。このアクティビティ部２０９における、この発明による正規化アクティビティｎｏｒｍ＿ａｃｔを計算する構成については、後述する。
求められた正規化アクティビティｎｏｒｍ＿ａｃｔは、第１２図Ａに示されるように、ストリーム中のヘッダ部に一時的にフラグとして挿入され、後段に伝えられる。なお、上述のアクティビティａｃｔは、ストリーム中で、正規化アクティビティデータｎｏｒｍ＿ａｃｔに上書きされる。
アクティビティ部２０９の出力は、ＤＣＴ部２１０Ａに供給される。ＤＣＴ部２１０Ａでは、供給されたマクロブロックを８画素×８ラインからなるＤＣＴブロックに分割し、ＤＣＴブロックに対して２次元ＤＣＴが行われ、ＤＣＴ係数が生成される。ＤＣＴ係数は、第１２図Ｂに示されるように、ストリームのデータ部に格納され、量子化テーブル部２１１Ａに供給される。
量子化テーブル部２１１Ａでは、ＤＣＴ部２１０Ａで変換されたＤＣＴ係数に対して量子化マトリクス（ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ）による量子化が行われる。量子化テーブル部２１１Ａで量子化されたＤＣＴ係数は、第１２図Ｃに示されるように、ストリームのデータ部に格納され、出力される。量子化テーブル部２１１Ａの出力は、複数のＱ＿ｎ（量子化）部２１２、２１２、・・・、ＶＬＣ部２１３、２１３、・・・、積算部Σ２１４、２１４、・・・、ならびに、積算部Σ２１５、２１５、・・・とからなる多段階の量子化部に供給される。量子化テーブル部２１１Ａで量子化されたＤＣＴ係数は、この多段階ステップの量子化部で多段階に量子化される。
ＤＣＴ係数は、Ｑ＿ｎ部２１２、２１２、・・・において、それぞれ


【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
エンコード処理部１０３Ｃで用いられるデータは、既にメインメモリ２０３に格納されているが、上述したように、プリエンコード処理部１０３Ｂにより様々な量子化を行った場合の１フレームにおける発生符号量が見積もられた時点で処理を開始することができる。エンコード処理部１０３Ｃの各部における処理は、上述と同様に、タイミングジェネレータＴＧ２２０からの指令に基づき適切に開始される。
メインメモリ２０３から読み出されたビデオデータは、ラスタスキャン／ブロックスキャン変換部２０７Ｂにおいて、上述のラスタスキャン／ブロックスキャン変換部２０７Ａと同様の処理をされて１６画素×１６ラインのマクロブロックが切り出される。切り出されたマクロブロックは、第１５図Ａに示されるように、上述した第１４図Ａに示されるヘッダ部に対応するデータ部に格納され、ＤＣＴモード部２１６に供給される。
ＤＣＴモード部２１６では、上述のＤＣＴモード部２０８と同様に、フィールドＤＣＴ符号化モードおよびフレームＤＣＴ符号化モードのうち何れを用いて符号化するかが決められる。このとき、既にＤＣＴモード部２０８において符号化モードが決められ、その結果がＤＣＴタイプデータｄｃｔ＿ｔｙｐとしてストリーム中に一時的に挿入されている（第１５図Ａ参照）。ＤＣＴモード部２１６では、ストリームからこのＤＣＴタイプデータｄｃｔ＿ｔｙｐを検出し、検出されたＤＣＴタイプデータｄｃｔ＿ｔｙｐに基づきフィールド符号化モードおよびフレーム符号化モードを切り換える。ＤＣＴモード部２１６の出力を第１５図Ｂに示す。
ＤＣＴモード部２１６から出力されたマクロブロックは、ＤＣＴ部２１０Ｂに供給され、上述のＤＣＴ部２１０Ａと同様にして８画素×８ラインのＤＣＴブロック単位で２次元ＤＣＴされる。２次元ＤＣＴされたＤＣＴ係数は、第１５図Ｃに示されるように、ストリーム中のデータ部に


【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
（９）により計算されるものとする。
上述したように、アクティビティ部２０９により、先ず、アクティビティａｃｔが求められる。このアクティビティａｃｔが乗算器３０１の一方および他方の入力端に供給され、ａｃｔ×ａｃｔが計算される。計算結果は、レジスタ３０４および３０７を介して乗算器３１１の一方の入力端に供給されると共に、レジスタ３１５をさらに介して加算器３１８の一方の入力端に供給される。
平均化部２０６から出力された平均アクティビティａｖｇ＿ａｃｔが乗算器３０２の一方および他方の入力端に供給され、ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔが計算される。計算結果は、レジスタ３０５および３０８を介して乗算器３１２の一方の入力端に供給されると共に、レジスタ３１３をさらに介して加算器３１７の一方の入力端に供給される。
平均化部２０６から出力された平均アクティビティａｖｇ＿ａｃｔは、乗算器３０３の一方の入力端にも供給される。乗算器３０３の他方の入力端には、パラメータａｔｔが供給される。なお、パラメータａｔｔは、例えばシステムコントローラ１１７で設定されＣＰＵ  Ｉ／Ｆ２２１を介して供給される。乗算器３０３の計算結果は、レジスタ３０６を介して加算器３１０の一方の入力端に供給される。加算器３１０の他方の入力端には、定数「１」が供給される。乗算器３０３および加算器３１０により、ａｔｔ×ａｖｇ＿ａｃｔ＋１が計算され、ｎｏｒｍ＿ｇａｉｎが求められる。ｎｏｒｍ＿ｇａｉｎは、レジスタ３０９を介して乗算器３１１および３１２それぞれの他方の入力端に供給される。
乗算器３１１では、ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）が計算され、計算結果がレジスタ３１４を介して加算器３１７の他方の入力端に供給される。加算器３１７では、ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ＋ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）が計算される。計算結果は、レジスタ３１９を介して除算器３２１の被除数入力端に供


【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
給される。
同様に、乗算器３１２では、ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）が計算され、計算結果がレジスタ３１６を介して加算器３１８の他方の入力端に供給される。加算器３１８では、ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）＋ａｃｔ×ａｃｔが計算される。計算結果は、レジスタ３２０を介して除算器３２１の除数入力端に供給される。
除算器３２１では、｛ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ＋ｎｏｒｍ＿ｇａｉｎ×（ａｃｔ×ａｃｔ）｝÷｛ｎｏｒｍ＿ｇａｉｎ×（ａｖｇ＿ａｃｔ×ａｖｇ＿ａｃｔ）＋ａｃｔ×ａｃｔ｝が計算される。すなわち、この除算器３２１の出力がこの発明の実施の一形態による正規化アクティビティｎｏｒｍ＿ａｃｔとされる。除算器３２１から出力された正規化アクティビティｎｏｒｍ＿ａｃｔは、セレクタ３２５およびレジスタ３２４を介して出力される。そして、この正規化アクティビティｎｏｒｍ＿ａｃｔは、ストリームにおいて、上述の第１１図Ｃのアクティビティａｃｔを上書きし、第１２図Ａのようにストリーム中に埋め込まれて後段に伝えられる。
なお、比較部３２２において、レジスタ３２０に供給された値（除数）が監視される。若し、除数が「０」であれば、例えばその旨示すフラグがレジスタ３２６を介してセレクタ３２５に供給される。セレクタ３２５は、一方の入力端に上述の除算器３２１の出力が供給され、他方の入力端には、定数「１」が供給される。比較器３２２から供給されたフラグにより、除数が「０」であることが示されると、セレクタにより定数「１」が選択され、正規化アクティビティｎｏｒｍ＿ａｃｔとして出力される。
なお、上述では、ＭＰＥＧエンコーダ１０３における処理がハードウェアにより行われるように説明したが、これはこの例に限定されない。ＭＰＥＧエンコーダ１０３の処理は、ソフトウェアによっても同様に実現可能なものである。例えば、コンピュータ装置にビデオ信号のアナロ


【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
に相当する処理が行われる。すなわち、ステップＳ１６で、ＤＣＴ係数に対して量子化スケールＱ＝１での量子化が行われ、ステップＳ１７で、ＶＬＣテーブルが参照されて量子化されたＤＣＴ係数が可変長符号化される。そして、ステップＳ１８で可変長符号化によるマクロブロックにおける発生符号量が計算され、ステップＳ１９で、ステップＳ１８で求められたマクロブロック毎の発生符号量が１フレーム分、積算される。ステップＳ２０で次の量子化スケールＱｎがあるか否かが判断され、次の量子化スケールＱｎがあると判断されたら、処理はステップＳ１６に戻され、次の量子化スケールＱｎに基づく処理が行われる。量子化スケールＱｎ毎の１フレーム分の発生符号量は、それぞれメモリに格納される。
ステップＳ２０で、全ての量子化スケールＱｎの値についてフレームにおける発生符号量の積算値が求められたとされれば、ステップＳ２１で、１フレームの最終マクロブロック（ＭＢ）まで処理が終了したかどうかが判断され、最終マクロブロックまでの処理が終了していなければ、処理がステップＳ１１に戻される。最終マクロブロックまでの処理が終了され１フレーム分の発生符号量が見積もられれば、ステップＳ３１に移行され、実際のエンコード処理が行われる。
ステップＳ３１では、上述のステップＳ１１と同様に、メモリに格納されたビデオデータがラスタスキャンからブロックスキャンへと変換され、マクロブロックが切り出される。次のステップＳ３２では、上述のステップＳ１２でメモリに格納されたＤＣＴモードタイプデータｄｃｔ＿ｔｙｐに基づきＤＣＴ符号化モードが設定される。
ステップＳ３３では、ステップＳ３１でビデオデータから切り出されたマクロブロックが８画素×８ラインからなるＤＣＴブロックに分割され、このＤＣＴブロックに対して２次元ＤＣＴが行われる。２次元ＤＣＴによ


【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
りＤＣＴブロックが変換されたＤＣＴ係数は、ステップＳ３４で量子化テーブル（ｑｕａｎｔｉｚｅｒ＿ｔａｂｌｅ）による量子化がなされ、処理はステップＳ３５に移行される。
ステップＳ３５では、上述したステップＳ１１〜Ｓ２１において見積もられた、量子化スケールＱｎ毎の１フレーム分の発生符号量に基づき、実際のエンコード処理において発生される符号量の制御を行うために、後述するステップＳ３６で用いられる量子化スケールＱｎがマクロブロック毎に設定される。
そして、処理はステップＳ３６に移行され、ステップＳ３５で設定された量子化スケールＱｎを用いて、ステップＳ３４で量子化テーブルを用いて量子化されたＤＣＴ係数の量子化が行われる。ステップＳ３６で量子化されたＤＣＴ係数は、次のステップＳ３７でＶＬＣテーブルが参照され可変長符号化される。そして、ステップＳ３８で１フレームの最終マクロブロックまで処理が行われたか否かが判断され、１フレームの最終マクロブロックまで処理されていないと判断されれば、処理がステップＳ３１に戻され、次のマクロブロックに対する量子化処理および可変長符号化処理が行われる。一方、ステップＳ３８で、１フレームの最終マクロブロックまで処理が行われたと判断されれば、１フレーム分のエンコード処理が終了したとされる。
なお、上述では、ステップＳ１１〜Ｓ２１までのプリエンコード処理と、ステップＳ３１〜Ｓ３８までのエンコード処理とを別々の処理として説明したが、これはこの例に限定されない。例えば、ステップＳ１１〜Ｓ２１において発生符号量の見積もりにより得られたデータをメモリに格納し、そこから実際のエンコード処理により得られるデータを選択して取り出すようにする。これにより、ステップＳ３１〜Ｓ３８の処理をステップＳ１１〜Ｓ２１による処理に含まれるループとして組み込む


【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
ことができる。
なお、上述では、パラメータａｔｔの値を「０．１２５」としたが、これはこの例に限定されず、他の値とすることができる。このパラメータａｔｔの値を変更することで、様々な圧縮率に適した適応量子化に対応することが可能とされる。
以上説明したように、この実施の一形態では、正規化アクティビティを算出する際に、対象となる画像の平坦さや複雑さといった特性、すなわち、当該画像の平均アクティビティに応じて正規化の範囲を変更するようにしている。
そのため、全体的に平坦な画像については、アクティビティの正規化の範囲を小さくし、画像全体で均一に近いアクティビティを用いて量子化を行うことができる。そのため、画像全体で均一な平坦度を確保し、高画質を得ることが可能となる。
一方、複雑な領域と平坦な領域とが混在するような画像については、アクティビティの正規化の範囲を大きくし、平坦な領域にはより大きい符号量を割り当てて精細な量子化を行い、複雑な領域では粗い量子化を行うことにより、視覚的に良質な画像を得ることができる。


【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】第１０図Ｃ
【補正方法】変更
【補正の内容】
【図１０Ｃ】
2002080575.tif 000045
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】第１２図Ａ
【補正方法】変更
【補正の内容】
【図１２Ａ】
2002080575.tif 000046
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】第１２図Ｂ
【補正方法】変更
【補正の内容】
【図１２Ｂ】
2002080575.tif 000047
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】第１２図Ｃ
【補正方法】変更
【補正の内容】
【図１２Ｃ】
2002080575.tif 000048
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】第１３図Ａ
【補正方法】変更
【補正の内容】
【図１３Ａ】
2002080575.tif 000049
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】第１３図Ｂ
【補正方法】変更
【補正の内容】
【図１３Ｂ】
2002080575.tif 000050
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】第１４図Ａ
【補正方法】変更
【補正の内容】
【図１４Ａ】
2002080575.tif 000051
【手続補正２０】
【補正対象書類名】図面
【補正対象項目名】第１４図Ｂ
【補正方法】変更
【補正の内容】
【図１４Ｂ】
2002080575.tif 000052
【手続補正２１】
【補正対象書類名】図面
【補正対象項目名】第１５図Ａ
【補正方法】変更
【補正の内容】
【図１５Ａ】
2002080575.tif 000053
【手続補正２２】
【補正対象書類名】図面
【補正対象項目名】第１５図Ｂ
【補正方法】変更
【補正の内容】
【図１５Ｂ】
2002080575.tif 000054
【手続補正２３】
【補正対象書類名】図面
【補正対象項目名】第１５図Ｃ
【補正方法】変更
【補正の内容】
【図１５Ｃ】
2002080575.tif 000055
【手続補正２４】
【補正対象書類名】図面
【補正対象項目名】第１６図Ａ
【補正方法】変更
【補正の内容】
【図１６Ａ】
2002080575.tif 000056
【手続補正２５】
【補正対象書類名】図面
【補正対象項目名】第１６図Ｂ
【補正方法】変更
【補正の内容】
【図１６Ｂ】
2002080575.tif 000057
【手続補正２６】
【補正対象書類名】図面
【補正対象項目名】第１６図Ｃ
【補正方法】変更
【補正の内容】
【図１６Ｃ】
2002080575.tif 000058
【手続補正２７】
【補正対象書類名】図面
【補正対象項目名】第１８図
【補正方法】変更
【補正の内容】
【図１８】
2002080575.tif 000059
【国際調査報告】
2002080575.tif 000060
2002080575.tif 000061