(57)【特許請求の範囲】
【請求項１】
画像の解像度を第１の解像度から第２の解像度に変換する方法であって、第１の複数の空間周波数係数（ＳＦＣ）値が、該第１の解像度の該画像に対応し、第２の複数のＳＦＣ値が、該第２の解像度の該画像に対応し、
該方法は、
（ａ）複数のあらかじめ計算された値（ＰＣＶ）を格納するステップであって、該複数のあらかじめ計算された値は、
【数１０】
0004030144.tif 000022
に従って、計算されたものであり、
【数１１】
0004030144.tif 000023
は、該第２の解像度の該画像のｉ番目のマクロブロックおよびｊ番目のブロックにおける複数のＰＣＶ値であって、該第１の解像度の該画像のｉ’番目のマクロブロックおよびｊ’番目のブロックにおける複数のＰＣＶ値であり、ｕ、ｖは、空間周波数領域における該第２の解像度の該画像の座標であり、ｕ’、ｖ’は、空間周波数領域における該第１の解像度の該画像の座標であり、ｕ、ｖ、ｕ’、ｖ’は、０から（Ｎ−１）までの任意の整数であり、ｘ、ｙ、ｍ、ｎは、和をとるために用いられる変数であり、該ＰＣＶ値は、該第１の解像度から該第２の解像度への該画像の解像度の変化を決定し、
【数１２】
0004030144.tif 000024
は、該第２の解像度の該画像のｉ番目のマクロブロックおよびｊ番目のブロックにおける複数の変換係数であって、該第１の解像度の該画像のｉ’番目のマクロブロックおよびｊ’番目のブロックにおける複数の変換係数であり、ｍ、ｎは、画素領域における該第１の解像度の該画像の空間座標であり、ｘ、ｙは、画素領域における該第２の解像度の該画像の空間座標であり、ｍ、ｎ、ｘ、ｙは、０から（Ｎ−１）までの任意の整数であり、
ｃ（ｕ）、ｃ（ｖ）は、該空間周波数領域における該第２の解像度の該画像のｕ、ｖ座標に対する変換係数値であり、
ｃ（ｕ’）、ｃ（ｖ’）は、該空間周波数領域における該第１の解像度の該画像のｕ’、ｖ’座標に対する変換係数値であり、
Ｎは、該画素領域における該第１の解像度の該画像の空間座標の数であり、
（ｂ）空間周波数領域において、該第１の複数のＳＦＣ値を該第２の複数のＳＦＣ値にマッピングすることによって、該画像の該解像度を直接変換するステップと
を包含し、
該第２の複数のＳＦＣ値は、該第１の複数のＳＦＣ値とは異なる数のＳＦＣ値を有し、
該ステップ（ｂ）は、
該複数のあらかじめ計算された値を該第１の複数のＳＦＣ値に乗算することによって、複数の処理済みの値を生成するステップと、
【数１３】
0004030144.tif 000025
に従って、該複数の処理済みの値のうちのいくつかを組み合わせることによって、該第２の複数のＳＦＣ値を生成するステップと
を包含し、
【数１４】
0004030144.tif 000026
は、ｊ番目のブロックおよびｊ番目のマクロブロックに対する該第２の複数のＳＦＣ値であり、ｕ、ｖは、空間周波数領域における該第２の複数のＳＦＣ値の座標であり、ｕ、ｖは、０から（Ｎ−１）までの任意の整数であり、かつ、和をとるために用いられる変数であり、
【数１５】
0004030144.tif 000027
は、ｊ’番目のブロックおよびｊ’番目のマクロブロックに対する該第１の複数のＳＦＣ値であり、ｕ’、ｖ’は、空間周波数領域における該第１の複数のＳＦＣ値の座標であり、ｕ’、ｖ’は、０から（Ｎ−１）までの任意の整数であり、かつ、和をとるために用いられる変数である、方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、空間周波数領域において、符号化された信号における元の変換係数を新しい変換係数に直接マッピングすることによって、符号化された信号におけるサンプル数を変化させるプロセッサに関する。より詳細には、本発明は、元の離散コサイン変換係数を新しい離散コサイン変換係数に直接マッピングすることによって、符号化された画像、例えばＭＰＥＧ−２符号化されたビデオ信号により表現される画像の解像度を変化させることに関する。
【０００２】
【従来の技術】
米国では、ディジタル的に符号化された高精細度テレビジョン信号についてある規格が提案されている。この規格の一部は、国際標準化機構（ＩＳＯ）のムービング・ピクチャ・エキスパート・グループ（ＭＰＥＧ）により提案されているＭＰＥＧ−２規格と本質的に同じである。この規格は、「情報技術−動画およびそれに付随する音声の生成符号化、勧告Ｈ．６２６」（ＩＳＯ／ＩＥＣ１３８１８−２、１９９５年（Ｅ））と題された国際規格（ＩＳ）公報中に記載されている。この公報はＩＳＯから入手可能であり、本願明細書も、そのＭＰＥＧ−２ディジタルビデオ符号化規格に関する教示については参考として援用している。
【０００３】
ＭＰＥＧ−２規格は、実際には、異なるいくつかの規格を含んでいる。ＭＰＥＧ−２では、異なるいくつかのプロファイルが規定されており、各プロファイルは、符号化された画像のもつ複雑性の別々のレベルにそれぞれ対応している。また、各プロファイルについて、異なるいくつかのレベルが規定されており、各レベルは別々の画像解像度にそれぞれ対応している。メインプロファイル・メインレベル（ＭＰ＠ＭＬ）として知られている、あるＭＰＥＧ−２規格は、現存のテレビジョン規格（すなわち、ＮＴＳＣやＰＡＬなど）に準拠したビデオ信号を符号化するためのものである。また、メインプロファイル・ハイレベル（ＭＰ＠ＨＬ）として知られている別の規格は、高精細度テレビジョン画像を符号化するためのものである。
【０００４】
ＭＰ＠ＨＬ規格に従って符号化された画像は、１イメージフレームあたり１，１５２本ものアクティブライン、１ラインあたり１，９２０個もの画素を有することがある。一方、ＭＰ＠ＭＬ規格は、１ライン当たりの最大ピクチャサイズを７２０画素、１フレーム当たりの最大ライン数を５６７ラインと規定している。米国においてＨＤＴＶ符号化のために提案された高精細度テレビジョン規格は、ＭＰ＠ＨＬ規格の１サブセットである。この高精細度テレビジョン規格によれば、１フレーム当たり１，０８０本ものラインを、１ライン当たり１，９２０個もの画素を有することがあり、このフレームサイズの場合の最大フレームレートは、１秒当たり３０フレームである。
【０００５】
ＭＰＥＧ−２規格は、データと制御情報との混合体を含む複雑なシンタックスを規定している。この制御情報の一部は、異なるいくつかのフォーマットをもつ信号をこの規格により変換可能とするために用いられる。これらのフォーマットは、１ライン当たりの絵素（画素）数、１フレームまたは１フィールド当たりのライン数、および１秒当たりのフレーム数またはフィールド数がそれぞれ異なる、数種類の画像を規定している。また、ＭＰＥＧ−２メインプロファイルの基本的シンタックスでは、１シーケンスの画像を表現する圧縮されたＭＰＥＧ−２ビットストリームを６つのレイヤで規定している。すなわち、シーケンスレイヤ、グループオブピクチャレイヤ、ピクチャレイヤ、スライスレイヤ、マクロブロックレイヤおよびブロックレイヤの６つである。ブロックレイヤを除くこれらすべてのレイヤには、制御情報が導入されている。最後に、副次的情報としても知られているその他の制御情報（例えば、フレームタイプ、マクロブロックパターン、画像の動きベクトル、係数のジグザグパターンおよび逆量子化情報）が、符号化されたビットストリームの全体にわたって散在させられている。
【０００６】
ＨＤＴＶシステムを実現する際には、例えばＮＴＳＣやＰＡＬのような現存するシステムとの互換性が取られるべきである。したがって、ディジタル画像を効率よく受信するためには、ＨＤＴＶ復号化器は、ＭＰ＠ＨＬ規格やＭＰ＠ＭＬ規格に対応するピクチャを生成することによって、現存する受信機や送信機と互換性をとれるようにできるべきである。例えば、ＨＤＴＶ復号化器は、ＭＰ＠ＭＬ符号化された信号からＭＰ＠ＨＬ規格に対応するピクチャを発生させるか、またはＭＰ＠ＨＬ符号化された信号からＭＰ＠ＭＬ規格に対応するピクチャを発生させることができるべきである。
【０００７】
さらには、ＭＰ＠ＨＬ信号から発生された画像を表示することができる高精細度ビデオモニタを有する新しい受信機を用いることは、ある種のユーザにはコスト面でとても手が届かない可能性がある。したがって、ＭＰ＠ＨＬ規格またはＭＰ＠ＭＬ規格に対応するピクチャを発生することができるＨＤＴＶ復号化器は、ＭＰ＠ＭＬよりは高いが、ＭＰ＠ＨＬほど高くはない解像度を提供するビデオモニタを有する、より低コストな新しい受信機の使用を可能にするべきである。とはいうものの、このようなモニタのうちのいずれかを含むテレビジョンセットは、たとえ解像度が低くても、ＭＰ＠ＨＬ信号から発生された画像を表示できるべきである。
【０００８】
現在の技術によれば、復号化器は、画素領域における信号を補間または間引きすることによって、ＭＰ＠ＨＬからＭＰ＠ＭＬへと画像の解像度を低くする補間回路を用いて実現されうる。このような従来の方法により、ＭＰ＠ＨＬ符号化された画像を処理してＭＰ＠ＭＬ信号を生成するために、ＭＰ＠ＨＬ符号化された画像は、空間周波数領域から画素領域へと変換され、補間されることによって、解像度の低くなった画像を生成する。その後、補間された画像は、空間周波数領域へと再変換される。しかし、このようなタイプの処理は、コストが主要なファクタとなる民生用テレビジョン受信機に復号化器を実現するという主旨にはそぐわないものである。よって、信号を復号化し、補間または間引きした後、符号化するためには、別の回路を追加することが必要になる。また、復号化動作および符号化動作をおこなうと、解像度が低くなった符号化された信号により表現される画像には、望ましくないアーティファクトがもたらされることもある。
【０００９】
別の選択肢としては、Jill Boyceらの「ＨＤＴＶ復号化能力を有するＳＤＴＶ受信機」（1995年２月。1995年５月18日のＡＣＡＴＳテクニカルサブグループミーティングでも提案された）に示されているように、復号化をおこなう前に、入力ＨＤＴＶビットストリームの一部を選択する復号化器を用いる方法がある。この論文に開示されている復号化器は、標準的なテレビジョン受信機に対して、コストを下げ、複雑さを緩和する試みとして、いくつかの技術を用いている。プリパーザ（pre-parser）は、入力ビットストリームを調べ、重要度の低い符号化要素、すなわちＤＣＴ係数を捨てる。このような要素は、高周波数のＤＣＴ係数を含んでいる。次に、これらの符号化要素は、空間周波数領域から、画素領域における画素へと変換される。そして、これらの画素がダウンサンプリングされることによって、より低い解像度に対応する画素を生成する。
【００１０】
画像を符号化するためにその他の変換技術を用いるその他のシステムも提案されている。例えば、空間周波数領域において画像を符号化するためには、フーリエ変換やＺ変換が用いられてきている。このようなシステムは、例えば、K．Blair Bensonによるテレビジョン・エンジニアリング・ハンドブック（1992年）の第18.3頁に示されている。この文献については、本願でも、画像のディジタル符号化に関するその教示を参考として援用している。このシステムは、画像を符号化するためにフーリエ変換を用いる。ＭＰＥＧ規格の場合と同様に、このシステムも、異なるいくつかの解像度で画像を符号化するのに用いることができる。
【００１１】
【発明が解決しようとする課題】
よって、上述した従来技術によるいくつかのシステムの場合でも、より高解像度の画像とより低解像度の画像との間で変換をおこなうことによって、異種の受信機間で互換性を取ることができるようにする必要性がある。
【００１２】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、係数を画素に変換して画素を間引きまたは補間し、間引きまたは補間がなされた画素を補正して再びＤＣＴ係数値に戻すための回路を追加する必要がない解像度変換装置および方法を提供することにある。
【００１３】
【課題を解決するための手段】
本発明による画像解像度変換装置は、画像の解像度を第１の解像度から第２の解像度へと変換する装置において、第１の複数の空間周波数係数（ＳＦＣ）値が、該第１の解像度の該画像に対応しており、かつ第２の複数のＳＦＣ値が、該第２の解像度の該画像に対応している、装置であって、複数のあらかじめ計算された値を格納するメモリ手段であって、該あらかじめ計算された値が、該画像の該解像度の該第１の解像度から該第２の解像度への変化を決定する、メモリ手段と、空間周波数領域において、該第１の複数のＳＦＣ値を該第２の複数のＳＦＣ値へとマッピングすることによって、該画像の該解像度を直接変換する変換器手段であって、（ａ）該あらかじめ計算された値を該第１の複数のＳＦＣ値と組み合わせることによって、複数の処理された値を生成する手段、および（ｂ）該複数の処理された値のうちのいくつかを組み合わせることによって、該第２の複数のＳＦＣ値のうちの少なくとも１つを生成する手段を含んでいる変換器手段と、を備えており、そのことにより上記目的が達成される。
【００１４】
ある実施形態では、前記変換器手段が、前記複数のあらかじめ計算された値の１つに、前記第１の複数のＳＦＣ値の１つを乗算する手段と、該複数のあらかじめ計算された値の別の１つに、該第１の複数のＳＦＣ値の１つを乗算する手段と、該２つの乗算された値を加算することによって、前記第２の複数のＳＦＣ値の１つを生成する手段と、をさらに備えている。
【００１５】
ある実施形態では、前記変換器手段が、前記複数のあらかじめ計算された値の第１の値に、前記第１の複数のＳＦＣ値の第１の値を乗算することによって、第１の中間値を生成する手段と、該複数のあらかじめ計算された値の第２の値に、該第１の複数のＳＦＣ値の第２の値を乗算することによって、第２の中間値を生成する手段と、該第１および該第２の中間値を組み合わせることによって、前記第２の複数のＳＦＣ値の１つを生成する手段と、をさらに備えている。
【００１６】
ある実施形態では、前記変換器手段が、前記あらかじめ計算された値を前記メモリ手段から取り出す。
【００１７】
ある実施形態では、前記第１の複数のＳＦＣ値および前記第２の複数のＳＦＣ値が、離散コサイン変換（ＤＣＴ）係数である。
【００１８】
ある実施形態では、前記第１の複数のＳＦＣ値が、複数のマクロブロック中の複数のブロックに配置され、前記第２の複数のＳＦＣ値が、複数の変換されたマクロブロック中の複数の変換されたブロックに配置され、前記複数のあらかじめ計算された値の１つが、ｉ１番目のマクロブロックのｊ１番目のブロックのｚ１番目のＤＣＴ係数を、ｉ番目の変換されたマクロブロックのｊ番目の変換されたブロックのｚ番目のＳＦＣ値へとマッピングするのに用いられる（ここで、ｚ１、ｊ１、ｉ１、ｚ、ｊおよびｉは整数である）。
【００１９】
ある実施形態では、前記第１の解像度の前記画像が、前記第１の複数のＳＦＣ値を含むＭＰＥＧメインプロファイル・ハイレベル信号によって表現され、前記第２の解像度の前記画像が、前記第２の複数のＳＦＣ値を含むＭＰＥＧメインプロファイル・メインレベル信号によって表現され、かつ、前記変換器手段がさらに、該ＭＰＥＧメインプロファイル・ハイレベル信号を該ＭＰＥＧメインプロファイル・メインレベル信号へと変換するためのものである。
【００２０】
ある実施形態では、前記第１の解像度の前記画像が、前記第１の複数のＳＦＣ値を含むＭＰＥＧメインプロファイル・メインレベル信号によって表現され、前記第２の解像度の前記画像が、前記第２の複数のＳＦＣ値を含むＭＰＥＧメインプロファイル・ハイレベル信号によって表現され、かつ、前記変換器手段がさらに、該ＭＰＥＧメインプロファイル・ハイレベル信号を該ＭＰＥＧメインプロファイル・メインレベル信号へと変換するためのものである。
【００２１】
ある実施形態では、前記第１の複数のＳＦＣ値が、前記画像の高い空間周波数成分に対応する高周波数ＳＦＣ値を含んでいる装置であって、該高周波数ＳＦＣ値を除去することによって、該画像の該高い空間周波数成分を排除するフィルタ手段をさらに備えている。
【００２２】
ある実施形態では、前記あらかじめ計算された値が、前記第１の複数のＳＦＣ値を変換するための、前記空間周波数領域における変換係数の組み合わせを表現しており、該組み合わせが、画素領域における対応する画素の補間と等価である。
【００２３】
本発明による符号化器は、ＭＰＥＧ符号化された画像を復号化し、該符号化された画像の解像度を変化させる復号化器であって、ＤＣＴ値を含む入力信号を受け取り復号化する可変長復号化手段であって、該ＤＣＴ値が、該画像の第１の解像度を規定している、可変長復号化手段と、該ＤＣＴ値を逆量子化する逆量子化手段と、複数のあらかじめ計算された値を格納するメモリ手段であって、該あらかじめ計算された値が、該符号化された画像の該解像度の該第１の解像度から第２の解像度への変化を決定する、メモリ手段と、空間周波数領域において、該ＤＣＴ係数値を複数の変換された係数値へとマッピングすることによって、該符号化された画像の該解像度を直接変換する変換器手段であって、（ａ）該あらかじめ計算された値を該ＤＣＴ係数値と組み合わせることによって、複数の処理された値を生成する手段、および（ｂ）該複数の処理された値を組み合わせることによって、該複数の変換された係数値のうちの少なくとも１つを生成する手段を含んでいる変換器手段と、を備えており、そのことにより上記目的が達成される。
【００２４】
本発明による画像解像度変換方法は、画像の解像度を第１の解像度から第２の解像度へと変換する方法において、第１の複数の空間周波数係数（ＳＦＣ）値が、該第１の解像度の該画像に対応しており、かつ第２の複数のＳＦＣ値が、該第２の解像度の該画像に対応している、方法であって、（ａ）複数のあらかじめ計算された値を格納するステップであって、該あらかじめ計算された値が、該画像の該解像度の該第１の解像度から該第２の解像度への変化を決定する、ステップと、（ｂ）空間周波数領域において、該第１の複数のＳＦＣ値を該第２の複数のＳＦＣ値へとマッピングすることによって、該画像の該解像度を直接変換するステップであって、該あらかじめ計算された値を該第１の複数のＳＦＣ値へと適用することによって、複数の処理された値を生成するステップ、および該複数の処理された値のうちのいくつかを組み合わせることによって、該第２の複数のＳＦＣ値のうちの少なくとも１つを生成するステップを含んでいるステップと、を含んでおり、そのことにより上記目的が達成される。
【００２５】
ある実施形態では、前記ステップ（ｂ）が、前記複数のあらかじめ計算された値の第１の値に、前記第１の複数のＳＦＣ値の第１の値を乗算することによって、第１の中間値を生成するステップと、該複数のあらかじめ計算された値の第２の値に、該第１の複数のＳＦＣ値の第２の値を乗算することによって、第２の中間値を生成するステップと、該第１および該第２の中間値を組み合わせることによって、前記第２の複数のＳＦＣ値の１つを生成するステップと、を含んでいる。
【００２６】
ある実施形態では、前記第１の複数のＳＦＣ値および前記第２の複数のＳＦＣ値が、離散コサイン変換係数である。
【００２７】
ある実施形態では、前記あらかじめ計算された値が、前記第１の複数のＳＦＣ値を変換するための、前記空間周波数領域における変換係数の組み合わせを表現しており、該組み合わせが、画素領域における対応する画素の補間と等価である。
【００２８】
以下に作用を説明する。空間周波数領域において、画像の解像度を第１の画像解像度から第２の画像解像度へと演算を用いて変換する装置である。第１の画像解像度で画像を表現する第１のグループの変換値が、空間周波数領域において、第２の画像解像度で画像を表現する第２のグループの変換値へとマッピングされる。この装置は、第１のグループの変換値と第２のグループの変換値との間のマッピング係数値である、格納されたあらかじめ計算された値を含んでいる。これらのあらかじめ計算された値は、メモリから取り出された後、空間周波数領域において第１のグループの変換値を第２のグループの変換値へと直接マッピングするのに用いられる。
【００２９】
本発明は、空間周波数領域において、画像の解像度を第１の画像解像度から第２の画像解像度へと演算を用いて変換する装置として実現される。第１の画像解像度で画像を表現する第１のグループの変換値が、空間周波数領域において、第２の画像解像度で画像を表現する第２のグループの変換値へとマッピングされる。この装置は、第１のグループの変換値と第２のグループの変換値との間のマッピング係数値である、格納されたあらかじめ計算された値を含んでいる。これらのあらかじめ計算された値は、メモリから取り出された後、空間周波数領域において第１のグループの変換値を第２のグループの変換値へと直接マッピングするのに用いられる。
【００３０】
【発明の実施の形態】
本発明の実施形態は、元の画像のＤＣＴ係数値F'i'j'(u',v')を変換された係数値Fij(u,v)に空間周波数領域でマッピングすることによって、画像の解像度を異なる解像度に変える。その結果、例えば画素領域での間引きまたは補間によって画像の解像度を増加または減少させるために、元のＤＣＴ係数値F'i'j'(u',v')は、画素領域で画素に変換される必要はない。よって、係数を画素に変換して画素を間引きまたは補間し、間引きまたは補間がなされた画素を補正して再びＤＣＴ係数値に戻すための回路を追加する必要がなくなる。
【００３１】
（概観）
元のＤＣＴ係数値F'i'j'(u',v')を変換されたＤＣＴ係数値Fij(u,v)に変換領域において変換することは実現可能である。なぜなら、変換の前後でピクチャ中の空間画素には、異なる解像度のＤＣＴ係数値間での相関関係に移し変える（translate）ことのできる相関があるからである。例えばフーリエ変換やＺ変換を含む他の変換方法のための空間周波数領域における変換値も、変換された変換値に変えられうる。なぜなら、変換の前後における時間領域には、異なる解像度の変換値間での相関関係に移し変えることのできる相関があるからである。
【００３２】
元のＤＣＴ係数値F'i'j'(u',v')は、第１の解像度を有する画像を規定し、Ｎ点２次元ＤＣＴを用いて画像中の画素をＤＣＴ係数値に変換することによってつくられる。Ｎ点２次元ＤＣＴは、数１において定義される。
【００３３】
【数１】
0004030144.tif 000002
【００３４】
F'i'j'(u',v')は、j'番目のブロックおよびi'番目のマクロブロックについての元のＤＣＴ係数値であり、ここでu'およびv'は、空間周波数領域における座標であって、u',v'=0,1,2,…,N-1である。f'i'j'(m,n)は、画像中の画素値であって、ここでmおよびnは、画素領域における空間座標であって、m,n=0,…,N-1である。c(u')およびc(v')は、数２において定義される変換係数値である。
【００３５】
【数２】
0004030144.tif 000003
【００３６】
逆に画像の画素値f'i'j'(m,n)は、Ｎ点逆離散コサイン変換（ＩＤＣＴ）を用いて元のＤＣＴ係数値F'i'j'(u',v')からつくられうる。Ｎ点ＩＤＣＴは、数３によって定義される。
【００３７】
【数３】
0004030144.tif 000004
【００３８】
画像の解像度は、例えば画素領域における画素値f'i'j'(m,n)の補間または間引きによって増加または減少されうる。例えば変換された画素値fij(x,y)は、数４で示される画素領域における元の画像の画素の線形重ね合わせを用いて、元の画素値f'i'j'(m,n)からつくられうる。
【００３９】
【数４】
0004030144.tif 000005
【００４０】
αは、元の画素値f'i'j'(m,n)および変換された画素値fij(x,y)の間の変換係数である。変換された画素値fij(x,y)によって規定される画像は、元の画素値fi'j'(m,n)によって規定される画像とは異なる解像度を有する。
【００４１】
変換されたＤＣＴ係数値Fij(u,v)は、変換された画素値fij(x,y)から数５を用いてつくられうる。
【００４２】
【数５】
0004030144.tif 000006
【００４３】
Fij(u,v)は、j番目のブロックおよびｉ番目のマクロブロックについての変換されたＤＣＴ係数値であり、ここでuおよびvは、変換された画像中の空間周波数領域における座標であって、u,v=0,…,N-1である。fij(x,y)は、変換された画素値であり、ここでxおよびyは、変換された画像中の画素領域における空間座標であって、x,y=0,…,N-1である。元の画素値f'i'j'(m,n)および変換されたＤＣＴ係数値Fij(u,v)間の相関は、数６において以下のように示される。数６は、変換された画素値fij(x,y)の代わりに数４の右辺を代入することによって数５を書き換えれば得られる。
【００４４】
【数６】
0004030144.tif 000007
【００４５】
元の画素値f'i'j'(m,n)は、元のＤＣＴ係数値F'i'j'(u',v')によって数３に示すように表現できるので、変換されたＤＣＴ係数値Fij(u,v)は、元のＤＣＴ係数値F'i'j'(u',v')によって表現できる。これは数７において以下のように示される。数７は、数６に示す元の画素値f'i'j'(m,n)の代わりに数３の右辺を代入することで得られる。
【００４６】
【数７】
0004030144.tif 000008
【００４７】
数７は、数８および数９のように書き直すことができる。
【００４８】
【数８】
0004030144.tif 000009
【００４９】
ただし、
【００５０】
【数９】
0004030144.tif 000010
【００５１】
である。mおよびnは、画素領域における元の画素値f'i'j'(m,n)の空間座標であって、m,n=0,…,Nである。xおよびyは、画素領域における変換された画素値fij(x,y)の空間座標であって、x,y=0,…,N-1である。u'およびv'は、元のＤＣＴ係数値F'i'j'(u',v')の空間周波数領域における座標であって、u',v'=0,1,2,…,N-1である。uおよびvは、変換されたＤＣＴ係数値Fij(u,v)の空間周波数領域における座標であって、u,v=0,1,2,…,N-1である。αは、変換係数である。
【００５２】
変換係数αの値の例は、以下の表１〜表６に示されており、これらは後述するように３×２のマクロブロックのかたちで配置された６個のマクロブロックを１個のマクロブロックに変換するためのものである。数９中のそれぞれの値x、y、m、n、u、v、u'、v'およびαは定数なので、あらかじめ計算された値ＰＣＶは、変換されるべき元のＤＣＴ係数値F'i'j'(u',v')に独立な数９を用いて計算されうる。あらかじめ計算された値ＰＣＶの計算は、元のＤＣＴ係数値F'i'j'(u',v')または変換されたＤＣＴ係数値Fij(u,v)に依存しない。３×２のマクロブロックで配置された６個のマクロブロックから１個の変換されたマクロブロックへの変換について、どんな元のＤＣＴ係数値F'i'j'(u',v')であっても、変換された係数値Fij(u,v)に変換するためには、あらかじめ計算された値ＰＣＶが用いられる。
【００５３】
上述のように、変換されたＤＣＴ係数値Fij(u,v)は、元のＤＣＴ係数値F'i'j'(u',v')によって表現される画像とは異なる解像度をもつ画像に対応する。よって画像の解像度は、元のＤＣＴ係数値F'i'j'(u',v')を変換されたＤＣＴ係数値Fij(u,v)にマッピングすることによって変えることができる。これにより元のＤＣＴ係数値F'i'j'(u',v')を画素値に変換してから、補間または間引きをおこなう回路を追加する必要がなくなり、かつ画素を変換されたＤＣＴ係数値Fij(u,v)に再び変換して処理を完成するのに必要な回路もなくせる。加えて画像を変換するための処理時間は、ＤＣＴ係数を画素値に変換するステップ、画素値を処理するステップ、そして処理された画素値を再びＤＣＴ係数値に変換するステップをなくすことによって減少させることができる。最後に、この方法によってつくられる変換された画像は、画素領域に変換され、補間された後に、空間周波数領域に再び変換された画像よりもアーティファクトが少ない。
【００５４】
（実施形態の説明）
図１は、本発明のある実施形態による、元のＤＣＴ係数値F'i'j'(u',v')を、空間周波数領域において変換されたＤＣＴ係数値Fij(u,v)にマッピングするＤＣＴ変換装置５の全体構成を示す。ＤＣＴ変換装置５は、元のＤＣＴ係数値F'i'j'(u',v')の数を減少させるか、または増加させる。
【００５５】
図１に示すように、元のＤＣＴ係数値F'i'j'(u',v')によって表現される符号化された画像データは、メモリ１０に格納される。符号化された画像データは、例えば、ＭＰ＠ＨＬまたはＭＰ＠ＭＬ符号化された画像である。元のＤＣＴ係数値F'i'j'(u',v')は、マクロブロックのかたちで構成されており、量子化はされていない。元のＤＣＴ係数値F'i'j'(u',v')は、元のＤＣＴ係数値F'i'j'(u',v')を、解像度の減少した画像または解像度の増加した画像を表現する変換された係数値Fij(u,v)にマッピングするＤＣＴ変換器１４０に供給される。例えば、入力ビットストリームがＭＰ＠ＨＬからＭＰ＠ＭＬに変換されるときには、ＤＣＴ係数値の数は減らされる。入力ビットストリームがＭＰ＠ＭＬからＭＰ＠ＨＬに変換されるときには、ＤＣＴ係数値の数は増やされる。変換されたＤＣＴ係数値は、メモリ３０に格納される。ＤＣＴ変換器１４０については、後で詳しく述べる。
【００５６】
ＤＣＴ変換器１４０は、画像の解像度における変化、すなわち１９２０×１０８０画素のインタレースされた画像を６４０×５４０画素のインタレースされた画像へと変換すること、を特定する制御信号ＣＳ２に応答して、元のＤＣＴ係数値F'i'j'(u',v')を変換された係数値Fij(u,v)にマッピングする。制御信号ＣＳ２に応答して元のＤＣＴ係数値F'i'j'(u',v')がメモリ１０から取り出され、メモリ４０に格納されているあらかじめ計算された値ＰＣＶが、選択信号ＳＳ１に応答して取り出される。メモリ４０は、例えばランダムアクセスメモリまたはリードオンリーメモリである。
【００５７】
あらかじめ計算された値ＰＣＶは、上述のように、元のＤＣＴ係数値F'i'j'(u',v')とは独立に計算されうる。あらかじめ計算された値ＰＣＶは、元のＤＣＴ係数値F'i'j'(u',v')を変換されたＤＣＴ係数値Fij(u,v)に変換する前にメモリ４０に格納されている。あらかじめ計算された値ＰＣＶは、後述するようにメモリ４０から取り出される。数８に示すように、また以下に詳述するように、元のＤＣＴ係数値F'i'j'(u',v')は、対応するあらかじめ計算された値ＰＣＶによって乗算され、空間周波数領域において変換されたあらかじめ計算された値Fij(u,v)をつくるために和がとられる。
【００５８】
ＤＣＴ変換器１４０について、図２〜図７を参照してさらに詳しく述べる。まず図２に示すステップ２００においてＤＣＴ変換器１４０は、制御信号ＣＳ２に応答し、空間周波数領域において元のＤＣＴ係数値F'i'j'(u',v')を変換するように設定される。制御信号ＣＳ２は、変換されるべき画像の解像度における変化を特定する。
【００５９】
元のＤＣＴ係数値F'i'j'(u',v')は、マクロブロックのかたちで保持されている。図４は、変換されるべき画像の一部を構成する６個のマクロブロックＭＢ０〜ＭＢ５を示すデータ構造図である。図５に示すように、それぞれのマクロブロックＭＢ０〜ＭＢ５は、６個のブロック、つまり４個の輝度（luminance）ブロックｂ０〜ｂ３および２個の色差（chrominance）ブロックｂ４およびｂ５を有する。このフォーマットは、ＭＰＥＧ−２規格においては「４：２：０」とよばれる。
【００６０】
図１０に示すように、ブロックｂ０〜ｂ５のそれぞれのブロックは、０〜６３のアドレス値ｚ１が割り当てられた６４個のＤＣＴ係数値を含む。あるいは、アドレス値は、元のＤＣＴ係数値F'i'j'(u',v')の空間座標u'およびv'によって特定されてもよい。変換されたＤＣＴ係数値Fij(u,v)のそれぞれも、やはり６４個のＤＣＴ係数値を含み、それぞれ０〜６３のアドレス値ｚが割り当てられている。元のＤＣＴ係数値は、元のＤＣＴ係数値のアドレス値ｚ１、元のＤＣＴ係数値を含むj'番目のブロック、およびj'番目のブロックを含むｉ'番目のマクロブロックを特定することによってメモリ１０から取り出される。
【００６１】
図４のマクロブロックの変換は図７に示されている。ここで画像は画素領域における画素によって表現されており、マクロブロックがフレームフォーマットであるマクロブロックＭＢ０〜ＭＢ５に配置されている。元の画素値f'i'j'(m,n)は、目盛り３００のそれぞれに位置しており、変換された画素値fij(u,v)は、黒丸が付された目盛り３１０のそれぞれに位置している。図７において、元の画像は、１９２０×１０８０画素であり、変換された画像は、６４０×５４０画素である。元の画像は有効画素（effectively）で水平に３分の１に間引きされ、有効画素で（effectively）垂直に２分の１に間引きされる結果、６４０×５４０画素の解像度をもつ画像をつくることができる。水平および垂直方向についての有効間引き係数（effective decimation factor）は、制御信号ＣＳ２に応答して決定される。水平および垂直間引き係数αi,j,x,yi',j',m,nのそれぞれのセットについて、メモリ４０にはあらかじめ計算された値ＰＣＶの対応するセットが存在する。上述のように、あらかじめ計算された値ＰＣＶは数９を用いて計算され、図１に示すメモリ４０のそれぞれのメモリ位置に格納される。
【００６２】
次に図２に示すステップ２１０において、あらかじめ計算された値ＰＣＶは、メモリ４０から取り出され、ＤＣＴ変換器１４０に供給される。あらかじめ計算された値ＰＣＶは、元のＤＣＴ係数値および変換されたＤＣＴ係数値のマクロブロック、ブロックおよびアドレス値に応答してメモリ４０から選択される。あらかじめ計算された値ＰＣＶは、アドレス信号ＳＳ１によって特定される、メモリ４０中のアドレスに格納される。アドレス信号ＳＳ１は、ｉ'番目の元のマクロブロックのj'番目のブロックのｚ１番目のＤＣＴ係数値を、変換されたマクロブロックのj番目のブロックのｚ番目のＤＣＴ係数値に変換するための、あらかじめ計算された値ＰＣＶのアドレスを与える。ｚ１は、元のＤＣＴ係数値のアドレス値であり、ｚは、変換されたＤＣＴ係数値のアドレス値である。
【００６３】
次にステップ２２０において、変換された係数値Fij(u,v)は、元のＤＣＴ係数値F'i'j'(u',v')およびあらかじめ計算された値ＰＣＶを用いて、数８にしたがってつくられる。以下の表１は、元のＤＣＴ係数値F'i'j'(u',v')およびあらかじめ計算された値ＰＣＶを用いて、変換された係数値Fij(u,v)を決定するＣコードの一例である。
【００６４】
【表１】
0004030144.tif 000011
【００６５】
表１における値は、以下のように定義される。
【００６６】
ｊ：変換されたマクロブロックのｊ番目のブロックを表す。
【００６７】
ｚ：変換されたマクロブロックのｊ番目のブロックのｚ番目のＤＣＴ係数値を表す。
【００６８】
ｉ１：元のマクロブロックのｉ’番目のマクロブロックを表す。
【００６９】
ｊ１：ｉ’番目の元のマクロブロックのｊ’番目のブロックを表す。
【００７０】
ｚ１：ｉ’番目の元のマクロブロックのｊ’番目のブロックのｚ１番目のＤＣＴ係数値を表す。
【００７１】
マップ［ｊ］、［ｚ］、［ｉ１］、［ｊ１］、［ｚ１］：（１）変換されたマクロブロックのｊ番目のブロックのｚ番目のＤＣＴ係数値と、（２）ｉ’番目の元のマクロブロックのｊ’番目のブロックのｚ１番目のＤＣＴ係数値との間の変換のためのあらかじめ計算された値ＰＣＶを表す。
【００７２】
ｍｂ＿ｏｌｄ：元のマクロブロックＭＢ０〜ＭＢ５を表す。
【００７３】
ｍｂ＿ｎｅｗ：変換されたマクロブロックを表す。
【００７４】
ｄｃｌｉｐ（）：ＤＣＴ係数を−２０４８〜２０４８の範囲でクリッピングすることを表す。
【００７５】
ステップ２１０および２２０、および表１のコードを、図３に示すフローチャートを参照して説明する。はじめにステップ４１０において、変換されたＤＣＴ係数値Fij(u,v)のどれがつくられるべきかが決定される。６個のマクロブロックを１個のマクロブロックに変換するために、６４個の変換されたＤＣＴ係数値がつくられる。変換されたＤＣＴ係数値は、０のアドレス値が割り当てられた変換されたＤＣＴ係数値から始まり、６３のアドレス値が割り当てられた最後の変換されたＤＣＴ係数値に至るまで連続してつくられる。それからステップ４１５において値Ｆｔｅｍｐがゼロに設定される。
【００７６】
次にステップ４２０において、元のＤＣＴ係数値F'i'j'(u',v')が図１に示すメモリ１０から取り出される。ＤＣＴ変換器は、図１に示すように、メモリ４０に格納された元のＤＣＴ係数値F'i'j'(u',v')のそれぞれについてのアドレスを保持する。アドレスは、元のＤＣＴ係数値F'i'j'(u',v')についてのアドレス値ｚ１、ブロック値ｊ１、およびマクロブロック値ｉ１によって特定される。アドレス値ｚ１は、元のＤＣＴ係数値F'i'j'(u',v')の１つを識別し、値ｊ１は、どのブロックから元のＤＣＴ係数値F'i'j'(u',v')が取り出されるかを特定し、値ｉ１は、どのマクロブロックから元のＤＣＴ係数値F'i'j'(u',v')が取り出されるかを特定する。元のＤＣＴ係数値F'i'j'(u',v')をメモリ４０から取り出すためのアドレスは、ＤＣＴ変換器１４０によってつくられる。
【００７７】
ＤＣＴ変換器１４０は、数８において特定される元のＤＣＴ係数値F'i'j'(u',v')にしたがって、元のＤＣＴ係数値F'i'j'(u',v')のどれが取り出されるかを決定し、かつ、ステップ４１０において次の変換されたＤＣＴ係数値Fij(u,v)を計算するために、どれが用いられるかを決定する。
【００７８】
例えば表１に示す上記コードに示すように、変換されたマクロブロックについての輝度マクロブロックは、元の６個のマクロブロックのそれぞれの中のＤＣＴ係数値F'i'j'(u',v')のそれぞれからつくられる。元のＤＣＴ係数値F'i'j'(u',v')は、第１の元のマクロブロック中の第１のブロックから連続的に取り出される。つまりステップ４２０が繰り返されるたびに、次の連続する元のＤＣＴ係数値が取り出される。いったん元のＤＣＴ係数値F'i'j'(u',v')のすべてが第１のブロックから取り出されると、第１のマクロブロック中の次のブロックの中の元のＤＣＴ係数値F'i'j'(u',v')が取り出される。いったん第１のマクロブロック中の元のＤＣＴ係数値F'i'j'(u',v')のすべてが取り出されると、元のＤＣＴ係数値は、次のマクロブロックの第１のブロックから取り出される。このプロセスは、マクロブロックのそれぞれの中の元のＤＣＴ係数値F'i'j'(u',v')のすべてが取り出されるまで繰り返される。
【００７９】
次にステップ４４０において、ＤＣＴ変換器は、あらかじめ計算された値ＰＣＶをメモリ４０から選択する。表１に示すように、値ｚ、ｊ、ｚ１、ｊ１およびｉ１もまた、あらかじめ計算された値のどれがメモリ４０から取り出されるかを決定するために用いられる。上述のように、変換されたマクロブロックのｊ番目のブロックのｚ番目の変換されたＤＣＴ係数値と、ｉ１番目のマクロブロックのｊ１番目のブロックのｚ１番目の元のＤＣＴ係数との間のマッピングのためのメモリには、あらかじめ計算された値ＰＣＶが格納されている。あらかじめ計算された値は、以下の表２〜表７に示される上述の値α、および数９に示される値αを用いて計算される。
【００８０】
【表２】
0004030144.tif 000012
【００８１】
【表３】
0004030144.tif 000013
【００８２】
【表４】
0004030144.tif 000014
【００８３】
【表５】
0004030144.tif 000015
【００８４】
【表６】
0004030144.tif 000016
【００８５】
【表７】
0004030144.tif 000017
【００８６】
表２は、輝度ブロックｂ０を変換するために用いられる値αを含み、表３は、輝度ブロックｂ１を変換するために用いられる値αを含み、表４は、輝度ブロックｂ２を変換するために用いられる値αを含み、表５は、輝度ブロックｂ３を変換するために用いられる値αを含み、表６は、色差ブロックｂ４を変換するために用いられる値αを含み、表７は、色差ブロックｂ５を変換するために用いられる値αを含む。あらかじめ計算された値ＰＣＶは、表２〜表７における値αから発生される。
【００８７】
表２〜表７の値αから計算されたあらかじめ計算された値ＰＣＶは、ＤＣＴ係数値を、フレームからフレームへのＤＣＴ変換するためのものである。図１７および図１８は、４：２：０ブロックフォーマットのためのフレームＤＣＴ符号化における輝度マクロブロック構造、およびＤＣＴフィールド符号化における輝度マクロブロック構造をそれぞれ示す。フレーム符号化されたマクロブロックにおいて、それぞれのブロックｂ０〜ｂ３は、２つのフィールドから交互に構成されている。フィールド符号化されたマクロブロックにおいて、それぞれのブロックｂ０〜ｂ３は、２つのフィールドのうちの１つからのラインで構成されている。それぞれのフォーマットのための色差マクロブロックは、フレームフォーマットで組み立てられている。あらかじめ計算された値は、フレーム符号化されたマクロブロックのセットを１個のフレーム符号化されたマクロブロックに変換するためのものである。あらかじめ計算された値は、フィールド符号化されたマクロブロックのセットを１個のフィールド符号化されたマクロブロックに変換するためにも用いられる。係数を格納するために用いられるメモリのサイズを低減するためには、フレームからフレームへの変換またはフィールドからフィールドへの変換のうちのいずれか１つのタイプのあらかじめ計算された値を与えるようにすれば効果的である。
【００８８】
あるいはあらかじめ計算された値ＰＣＶは、ＤＣＴ変換器１４０によって値αから計算される。以下の表８は、値αからあらかじめ計算された値を計算するための疑似コードである。
【００８９】
【表８】
0004030144.tif 000018
【００９０】
この別の実施形態においては、値αはメモリ４０に格納される。値αはメモリ４０から取り出され、あらかじめ計算された値ＰＣＶは、表８の疑似コードを用いて変換器１４０によって計算される。
【００９１】
次に、ステップ４６０において、あらかじめ計算された値ＰＣＶにより乗算された取り出された元のＤＣＴ係数値に、以前の一時的な値Ftempを加算することによって、一時的な値Ftempが計算される。変換された係数値Fij(u,v)は、元の係数値F'i'j'(u',v')のいくつかから発生されうるので、ステップ４７０では、次に、選択された変換された係数値Fij(u,v)をつくるためには、元の係数値F'i'j'(u',v')がさらに必要であるかどうかが判定される。もし元の係数値F'i'j'(u',v')がさらに必要であるであるのなら、ステップ４２０が繰り返される。そうでない場合には、ステップ４８０で、変換された係数値Fij(u,v)が、値Ftempに等しく設定される。そして、ステップ４９０では、変換されたマクロブロックの変換された係数値Fij(u,v)がさらにつくられるべきかどうかが判定される。もしつくられるべき変換された係数値Fij(u,v)がまだあるのなら、ステップ４１０が繰り返される。
【００９２】
その結果、ＤＣＴ係数値を画素値に変換しなくても、空間周波数領域において、変換されたＤＣＴ係数値Fij(u,v)を、元のＤＣＴ係数値F'i'j'(u',v')から迅速に発生することができる。
【００９３】
上述した本発明の実施形態例においては、ＭＰＥＧ符号化された信号を効率よく間引きまたは補間するために、直接ＤＣＴマッピングを用いるものとしたが、係数値の直接マッピングは、空間周波数領域において変換係数により表現される信号を直接マッピングすることによって、画素領域における信号を間引きまたは補間することを必要とするどのようなシステムにも応用可能である。
【００９４】
図１１は、本発明の別の実施形態により、元のＤＣＴ係数値F'i'j'(u',v')を変換されたＤＣＴ係数値Fij(u,v)にマッピングするＤＣＴ変換器１４０を含む復号化器の全体構成を示す図である。図１１に示すように、入力ビットストリームＩＢＳが可変長復号化器（ＶＬＤ）１００に与えられる。この入力ビットストリームは、例えば、ＭＰ＠ＨＬ符号化されたビットストリームである。ＶＬＤ１００は、入力ビットストリームＩＢＳを復号化することによって、量子化された離散コサイン変換（ＤＣＴ）係数値ＱＤＣＴのブロックを発生させる。量子化されたＤＣＴ係数値ＱＤＣＴは、係数値を並べ替える逆ジグザグスキャンメモリ１１０に与えられる。
【００９５】
複数のマクロブロックにおける複数のＤＣＴ係数値は、先に参照したＭＰＥＧ−２規格により詳細が規定されているフォーマットにしたがって、１度に１つの値ずつ与えられる。図８および図９は、ＭＰＥＧ−２規格において用いられる異なる２種のジグザグスキャンパターン（パターン０およびパターン１）を示している。逆ジグザグスキャンメモリ１１０では、スキャンパターンのタイプが検出され、ＤＣＴ係数値が、図１０に示すように並べ替えられる。
【００９６】
次に、ＤＣＴ係数値は、フィルタ１２０に与えられる。フィルタ１２０は、画像の解像度を低下させるべきときに、マクロブロックを対角線状に切り捨てる（diagonally truncates）ことによって、画像の高周波数成分を取り除くローパスフィルタである。コントローラ１６０は、フィルタ１２０をイネーブルまたはディセーブルする制御信号ＣＳ１を供給する。フィルタ１２０は、エイリアシングを防止するために用いられる。フィルタ１２０は、より低解像度の画像からより高解像度の画像が生成される時には、マクロブロックをフィルタリングしない。
【００９７】
ＤＣＴ係数値は、次に、逆量子化器１３０で逆量子化される。元のＤＣＴ係数値F'i'j'(u',v')である、逆量子化された係数値は、メモリ１０に格納される。メモリ１０、ＤＣＴ変換器１４０、ならびにメモリ３０および４０は、第１の実施形態に述べたように動作する。コントローラ１６０は、制御信号ＣＳ２をＤＣＴ変換器１４０に与える。制御信号ＣＳ２は、第１の実施形態において述べた制御信号ＣＳ２と同じである。
【００９８】
図１２は、ＭＰＥＧ−２ビットストリームダウン変換回路に関わる本発明の別の実施形態を示す図である。この実施形態では、ＤＣＴマッピングによって画像の解像度を変化させるだけではなく、結果として生成される画像には、新しいヘッダ情報と、動きベクトルとが生成される。図１２に示す実施形態では、元の動きベクトルがスケーリングされ、適切な動きベクトルが元の画像におけるマクロブロックから発生されることによって、新しいマクロブロックに対応する動きベクトルを異なる画像解像度で生成する。
【００９９】
ＭＰＥＧ−２メインプロファイルの基本的シンタックスでは、圧縮されたＭＰＥＧ−２ビットストリームを５つのレイヤ（すなわち、シーケンスレイヤ、グループオブピクチャレイヤ、ピクチャレイヤ、スライスレイヤ、およびマクロブロックレイヤの５つ）における１シーケンスの画像として規定している。これらのレイヤには、それぞれ制御情報が導入される。すなわち、シーケンスレイヤにはシーケンスヘッダＳＨが、グループオブピクチャレイヤにはグループオブピクチャヘッダＧＯＰＨが、ピクチャレイヤにはピクチャヘッダＰＨが、スライスレイヤにはスライスヘッダＳＬＨが、マクロブロックレイヤにはマクロブロックレイヤヘッダＭＢＨが設けられる。最後に、副次的情報としても知られているその他の制御情報（例えば、フレームタイプ、マクロブロックパターン、画像の動きベクトル、係数のジグザグパターンおよび逆量子化情報）が、符号化されたビットストリームの全体にわたって散在させられる。
【０１００】
図１２に示すように、各種レイヤおよび制御情報を含む入力ビットストリームＩＢＳは、可変長復号化器（ＶＬＤ）６０５に与えられる。この入力ビットストリームは、例えば、ＭＰ＠ＨＬ符号化されたビットストリームである。ＶＬＤ６０５は、入力ビットストリームＩＢＳを復号化することによって、量子化された離散コサイン変換（ＤＣＴ）係数値のブロックを発生させる。また、ＶＬＤ６０５は、逆ジグザグスキャンをおこなうことによって、量子化された係数値を並べ替える。量子化されたＤＣＴ係数値ＱＤＣＴは、フィルタ１２０に与えられる。また、ＶＬＤ６０５は、シーケンスヘッダＳＨを第１の変換器６１０に、グループオブピクチャヘッダＧＯＰＨをコンバイナ６７０に、ピクチャヘッダＰＨを第２の変換器６２０に、スライスヘッダＳＬＨを第３の変換器６３０に、マクロブロックレイヤヘッダＭＢＨを第４の変換器６４０にそれぞれ与える。
【０１０１】
第１、第２および第３の変換器６１０、６２０および６３０は、解像度の変化に応答して、それぞれシーケンスヘッダＳＨ、グループオブピクチャヘッダＧＯＰＨ、ピクチャヘッダＰＨおよびスライスヘッダＳＬＨに対して、それらの値をほとんど固定したままでごくわずかに変化させる。以下の表９〜表１１は、変換の結果としてヘッダ情報を変化させるための疑似コードの一例を示している。
【０１０２】
【表９】
0004030144.tif 000019
【０１０３】
【表１０】
0004030144.tif 000020
【０１０４】
【表１１】
0004030144.tif 000021
【０１０５】
シーケンスヘッダＳＨ、グループオブピクチャヘッダＧＯＰＨ、ピクチャヘッダＰＨおよびスライスヘッダＳＬＨは、入力ビットストリームＩＢＳにより表現される画像に対して特定されたサイズ変換係数に応答して修正される。これらのヘッダのフォーマットは、既に参照したＭＰＥＧ−２規格のセクション６．２および６．３に詳細に述べられている。変換器６１０〜６４０は、入力画像解像度から出力画像解像度への変化を特定するヘッダ制御信号ＨＣＳに応答して、ヘッダＳＨ、ＧＯＰＨ、ＰＨおよびＳＬＨを修正する。
【０１０６】
元の画像におけるマクロブロックに与えられた動きベクトルは、通常、それらのマクロブロックが間引きまたは補間された後には、修正することが必要になる。なぜなら、異なる解像度の画像を生成するためには、大量の処理がおこなわれるからである。マクロブロックが動きベクトルをもつかどうかは、そのマクロブロックがイントラ符号化されるのか、あるいは非イントラ符号化されるのかに依存している。マクロブロックは、単一のフレームからの情報のみを用いて符号化される場合には、イントラ符号化（Ｉ−符号化）される。一方で、マクロブロックは、もし先行する参照フィールドまたはフレームからの動き補償された予測を用いて符号化される（Ｐ−符号化）か、あるいは、もし先行するおよび／または後続する参照フィールドまたはフレームからの動き補償された予測を用いて符号化される（Ｂ−符号化）のなら、そのマクロブロックは非イントラ符号化される。
【０１０７】
図１を参照して既に述べたように、元のＤＣＴ係数値F'i'j'(u',v')は、逆量子化器１３０によって逆量子化された後、ＤＣＴ変換器１４０によって、変換されたＤＣＴ係数値Fij(u,v)にマッピングされる。ＤＣＴ変換器６００は、ＤＣＴ変換器１４０と同様に動作し、元のＤＣＴ係数値を変換されたＤＣＴ係数値に変換する。また、ＤＣＴ変換器６００は、以下に述べる動作をさらにおこなう。さらに、ＤＣＴ変換器６００は、あらかじめ計算された値ＰＣＶと、元のＤＣＴ係数値と、変換されたＤＣＴ係数値とを格納するメモリを備えている。
【０１０８】
元のＤＣＴ係数値F'i'j'(u',v')がＤＣＴ変換器６００に与えられることによって、変換されたマクロブロックＣＭＢを発生させる。本発明の実施形態例では、符号化された出力画像の６４０×５４０の単一のマクロブロックを生成するためには、１９２０×１０２４の解像度を有する符号化された入力画像の垂直２マクロブロック×水平３マクロブロックにより規定される領域が用いられる。ピクチャの全幅に対応する入力画像の一部が格納される。画像のこの部分は、１つ以上のスライスを含んでいる。スライスとは、画像の連続する１６本の水平ラインのグループを表す、連続する一連のマクロブロックである。例えば、ＭＰ＠ＨＬ符号化された信号の場合には、１本のロウの２４０個の連続するマクロブロックが、画像の１本のロウ全体に対応している。
【０１０９】
例えば、図４からのマクロブロックＭＢ０〜ＭＢ２およびＭＢ３〜ＭＢ５は、図１６では、それぞれスライスＡおよびＢに含まれるものとして示されている。変換されたマクロブロックが発生される時、スライスＡにおけるマクロブロックＭＢ０〜ＭＢ２はＤＣＴ変換器６００のメモリ（不図示）に格納される。スライスＢにおけるマクロブロックＭＢ３〜ＭＢ５は、メモリに供給されて格納され、図６に示す変換されたマクロブロックＣＭＢを発生させるためにメモリから取り出されたマクロブロックＭＢ０〜ＭＢ２と組み合わせて用いられる。
【０１１０】
変換されたＤＣＴ係数値Fij(u,v)を変換されたマクロブロックＣＭＢに発生させるばかりではなく、ＤＣＴ変換器６００は、また、マクロブロックの動きパラメータに応答して、マクロブロックを処理する。マクロブロックを処理して、変換されたマクロブロックに対応する動きパラメータを発生させる回路の動作について、図１３を参照して以下にさらに詳しく述べる。
【０１１１】
図１３に示すように、ステップ７００において、ＤＣＴ変換器６００は、マクロブロックが非イントラ符号化されたマクロブロックであるのか、あるいは、イントラ符号化されたマクロブロックであるのか判定する。図７の例に示されているように、６つのマクロブロックＭＢ０〜ＭＢ５が１つのマクロブロックＣＭＢに変換される。換言すれば、６つのマクロブロックＭＢ０〜ＭＢ５を含むピクチャの解像度は、１フレーム当たり１９２０×６４０画素から１フレーム当たり６４０×５４０画素に変えられる。さらに、６つのマクロブロックＭＢ０〜ＭＢ５のそれぞれは、非イントラ符号化されてもいいし、イントラ符号化されてもいい。よって、元の６つのマクロブロックＭＢ０〜ＭＢ５に基づいて、変換されるマクロブロックは、非イントラ符号化されるべきか、あるいはイントラ符号化されるべきかを判定する必要がある。ＤＣＴ変換器６００は、元のマクロブロックＭＢ０〜ＭＢ５を用いて多数決の法則に基づき、変換されるマクロブロックが非イントラ符号化されるべきか、あるいはイントラ符号化されるべきかを判定する。
【０１１２】
例えば図４を参照すると、もし元のマクロブロックのうちの４つのマクロブロックＭＢ０、ＭＢ１、ＭＢ２およびＭＢ４が非イントラ符号化され、元のマクロブロックの残りの２つのマクロブロックＭＢ３およびＭＢ５がイントラ符号化されるのなら、変換されるマクロブロックは非イントラ符号化される。あるいは、もし元のマクロブロックのうちの４つのマクロブロックＭＢ０、ＭＢ１、ＭＢ２およびＭＢ４がイントラ符号化され、元のマクロブロックの残りの２つマクロブロックＭＢ３およびＭＢ５が非イントラ符号化されるのなら、変換されるマクロブロックはイントラ符号化される。もし元のマクロブロックのうちの３つのマクロブロックＭＢ０、ＭＢ１、およびＭＢ４が非イントラ符号化され、元のマクロブロックの残りの３つのマクロブロックＭＢ２、ＭＢ３およびＭＢ５がイントラ符号化されるのなら、本発明者は、変換されるマクロブロックのコードタイプは非イントラ符号化されると決定した。
【０１１３】
図１３を参照すると、もしステップ７００で、変換されるマクロブロックＣＭＢはイントラ符号化されるマクロブロックであると判定されたのなら、ステップ７１０では、元のマクロブロックＭＢ０〜ＭＢ５のどれがイントラ符号化されており、どれが非イントラ符号化されているかが判定される。非イントラ符号化されている元のマクロブロック（例えば、マクロブロックＭＢ３およびＭＢ５）のそれぞれにおける元のＤＣＴ係数値が平均され、平均ＤＣＴ係数値を発生させる。次に、ステップ７２０では、非イントラ符号化されたマクロブロックにおける元のＤＣＴ係数値F'i'j'(u',v')がそれぞれ、平均ＤＣＴ係数値に置き換えられる。例えば、マクロブロックＭＢ３における元のＤＣＴ係数値F'i'j'(u',v')のＤＣＴ平均値が生成され、マクロブロックＭＢ３における元のＤＣＴ係数値F'i'j'(u',v')はそれぞれ、平均ＤＣＴ値に置き換えられる。ステップ７２０の後、あるいはステップ７１０の後、ステップ７３０が実行される。
【０１１４】
ステップ７３０では、マクロブロックＭＢ０〜ＭＢ５がフィールドフォーマットであるか、あるいはフレームフォーマットであるかが判定される。ステップ７４０では、もしマクロブロックＭＢ０〜ＭＢ５がフィールドフォーマットであると判定されたのなら、マクロブロックＭＢ０〜ＭＢ５ＭＢ０のフォーマットはフレームフォーマットに変換される。マクロブロックのフォーマットは、マクロブロックのそれぞれが同一のフォーマットで処理されるように変換される。これによって、システムの動作が簡略化される。別の実施形態では、フレームフォーマットのマクロブロックＭＢ０〜ＭＢ５がフィールドフォーマットに変換され、マクロブロックＭＢ０〜ＭＢ５は、フレームフォーマットではなく、以下に述べるようにフィールドフォーマットでも処理されうる。
【０１１５】
変換されたマクロブロックＣＭＢを生成させるために用いられる元のマクロブロックＭＢ０〜ＭＢ５のそれぞれに対して、適切なステップ７１０、７２０、７３０および７４０がおこなわれる。例えば、元のマクロブロックＭＢ０が、フィールドフォーマットであり、イントラ符号化されているものとすると、マクロブロックＭＢ０はステップ７１０およびステップ７３０で順次処理される。もし次のマクロブロックＭＢ１がフィールドフォーマットであり、非イントラ符号化されているものとすると、マクロブロックＭＢ１は、ステップ７１０、７２０、７３０および７４０を通して順次処理される。その他の元のマクロブロックＭＢ２〜ＭＢ５はそれぞれ、元のマクロブロックＭＢ０〜ＭＢ５それぞれのフォーマットおよび符号化タイプに応じて、適切に処理される。
【０１１６】
次に、ステップ７５０において、元のマクロブロックＭＢ０〜ＭＢ５におけるＤＣＴ係数値が、変換されたＤＣＴ係数値Fij(u,v)にマッピングされる。ステップ７５０でおこなわれるマッピングは、図２および図３を参照して先に説明した処理と同じである。ステップ７６０では、量子化されたスケールファクタＱ＿ｓｃａｌｅが、画像の解像度の変化に基づいて、変換されたマクロブロックに与えられる。
【０１１７】
図１２を再び参照すると、ＤＣＴ変換器６００により与えられた変換されたＤＣＴ係数値Fij(u,v)が、ＤＣＴ変換器６００により生成された量子化されたスケールファクタＱ＿ｓｃａｌｅを用いて量子化器６５０によって量子化される。図１３に示すようにステップ７６０で決定される量子化されたスケールファクタＱ＿ｓｃａｌｅおよび図１３に示すようにステップ７００で決定される変換されたマクロブロックＣＭＢの符号化タイプは、第４の変換器６４０に供給される。そして、マクロブロックヘッダＭＢは、変換されたマクロブロックの符号化タイプと量子化されたスケールファクタＱ＿ｓｃａｌｅとを用いて、第４の変換器６４０により修正される。最後に、量子化された変換されたＤＣＴ係数値は、可変長符号化される。
【０１１８】
あるいは、もし図１３に示すステップ７００で、変換されるマクロブロックは非イントラ符号化されるべきであると判定されたのなら、元のマクロブロックＭＢ０〜ＭＢ５は、図１４および図１５に示すように、ステップ７００、８００、８１０および８２０において処理される。図１４に示すように、ステップ７００では、前述したように、すべてのマクロブロック９００が考慮されて、変換されるマクロブロックがイントラ符号化されるかどうかを判定する。図１３に示すステップ８００では、変換されるマクロブロックの非イントラ符号化タイプが決定される。ステップ８００では、Ｐ−タイプのＭＢは落とされる。なぜなら、予測タイプの多数はＢ−タイプであるからである。図１４に示すように、非イントラ符号化されたマクロブロック９１０のみが、符号化タイプを決定するのに用いられる。ステップ７００に関して既に述べたように、符号化タイプの決定には多数決の法則が用いられる。図１４において、多数派をなす符号化タイプは、Ｂ−タイプである。よって、変換されるマクロブロックＣＭＢは、Ｂ−タイプで符号化される。次に、図１３に示されているステップ８１０では、図１４に図示されているように、Ｂ−タイプのマクロブロック９２０のみが、動き判定タイプを決定するのに用いられる。ステップ８１０では、Ｂ−タイプのブロックの１つが落とされる。なぜなら、そのブロックはフレームベースの予測を用いているのに、その他のブロックは、フィールドベースの予測を用いているからである。
【０１１９】
フィールド予測では、予測は、１つ以上の以前に復号化されたフィールドからのデータを用いて、それぞれのフィールドに対して独立におこなわれる。フレーム予測は、１つ以上の以前に復号化されたフレームからのフレームに対して、予測を成す。したがって、ステップ８００で選択された元のマクロブロックのフィールドフォーマットおよびフレームフォーマットに基づいて、フィールド予測またはフレーム予測が、変換されるマクロブロックＣＭＢに対して選択される。フィールド予測またはフレーム予測のいずれかを選択する際には、多数決の法則が用いられる。図１４に図示されているように、ステップ８１０ではフィールド予測が選択される。なぜなら、元のマクロブロックＭＢ０、ＭＢ２およびＭＢ４が多数派を成しており、フィールド予測を用いて符号化されているからである。最後に、ステップ８２０において、変換されるマクロブロックに対する動きベクトルが、残っているマクロブロック９３０を用いて選択される。図１３に示すステップ８００および８１０では、動きベクトルの選択に多数決の法則が用いられる。
【０１２０】
予測タイプを決定するもととなる多数派が存在しない場合には、予測タイプは、以下の優先順位（すなわち、両方向予測、順方向予測および逆方向予測）に基づいて選択される。例えば、もし予測タイプを選択するもととなるマクロブロックが２つしか残っておらず、その１つが両方向符号化され、他方が順方向符号化されるのなら、変換されるマクロブロックについて選択される予測タイプは、両方向となる。
【０１２１】
動きタイプが決定されるもととなる多数派が存在しない場合には、変換されるマクロブロックについて選択される動きタイプは、フレームタイプとなる。動きベクトルが決定されるもととなる多数派が存在しない場合には、図１３に示すステップ８２０で処理された第１のマクロブロックの第１の動きベクトルが、変換されるマクロブロックＣＭＢについて選択される動きベクトルとなる。
【０１２２】
図１５は、異なる入力マクロブロックＭＢ０〜ＭＢ５に応答して、図１３に示すステップ７００、８００、８１０および８２０でおこなわれる動作を説明する別のデータ構造図である。図１５において、マクロブロックの大半は、非イントラ符号化されている。非イントラ符号化されたマクロブロックＭＢ０〜ＭＢ４が、図１３に示すステップ８００で用いられ、予測タイプをＰ−符号化と決定する。次に、図１３に示すステップ８１０では、Ｐ−符号化されたマクロブロックＭＢ１、ＭＢ２およびＭＢ３のみが用いられて、動き判定タイプをフレーム予測と決定する。最後に、ステップ８２０において、変換されるマクロブロックに対する動きベクトルが、フレーム予測Ｐ−タイプマクロブロックＭＢ１およびＭＢ３を用いて選択される。
【０１２３】
次に、図１３に示すステップ８３０において、元のマクロブロックＭＢ０〜ＭＢ５のそれぞれについて、元のマクロブロックＭＢ０〜ＭＢ５は、変換されたマクロブロックＣＭＢに対して選択された予測タイプ、動きタイプおよび動きベクトルが同じであるかどうかが判定される。予測タイプ、動きタイプおよび動きベクトルが同じではない元のマクロブロックＭＢ０〜ＭＢ５のそれぞれには、ステップ８６０で、ゼロに設定される元の係数値が残っている。そうでない場合には、次に、ステップ８４０において、元のマクロブロックがフレームフォーマットであるか、フィールドフォーマットであるかが判定される。そして、いったんマクロブロックがステップ８５０でフレームフォーマットに変換された後に、あるいはもしそのマクロブロックが既にフレームフォーマットであるのなら、ステップ７５０では、前述したように、ＤＣＴマッピングがおこなわれる。
【０１２４】
画像の解像度が増大すると、マクロブロックの個数も増加する。この場合、イントラ／非イントラ符号化、動きタイプ、予測タイプ、および動きベクトルは、変換されるマクロブロックに対して同一の方法を用いて選択される。変換されるマクロブロックに対するＤＣＴ係数は、また、元のマクロブロックのＤＣＴ係数を直接マッピングしてＤＣＴ係数の個数を増やすすることによっても、発生される。
【０１２５】
次に、ステップ７６０では、変換されたマクロブロックＣＭＢを発生させるのに用いられる元のマクロブロックＭＢ０〜ＭＢ５の量子化スケールファクタを平均することによって、量子化スケールファクタＱ＿ｓｃａｌｅ ｆａｃｔｏｒが生成される。図１２に示す量子化器６５０は、量子化スケールファクタＱ＿ｓｃａｌｅ ｆａｃｔｏｒを変換されるＤＣＴ係数に適用することによって、量子化されたＤＣＴ係数値ＱＤＣＴ’を生成する。
【０１２６】
次に、図１２に示す第４の変換器６４０が、変換された量子化された係数値ＱＤＣＴ’に対して変換されたマクロブロックヘッダを発生する。それぞれ図１３に示されている、ステップ７００によるイントラ／非イントラマクロブロックタイプの判定結果、ステップ８００による予測タイプの判定結果、ステップ８１０による動きタイプの判定結果、およびステップ８２０による動きベクトルは、ＤＣＴ変換器６００から第４の変換器６４０に与えられる。Ｑ＿ｓｃａｌｅ ｆａｃｔｏｒは、量子化器６５０から与えられる。表９〜表１１を参照して既に述べたように、第４の変換器６４０は、それぞれが図１３に示されている、ステップ７００によるイントラ／非イントラマクロブロックタイプの判定結果、ステップ８００による予測タイプの判定結果、ステップ８１０による動きタイプの判定結果、およびステップ８２０による動きベクトル、解像度の変化、ならびに、量子化スケールファクタＱ＿ｓｃａｌｅを用いて、変換されたマクロブロックヘッダを生成する。
【０１２７】
図１２に示すように、シーケンスヘッダＳＨ、グループオブピクチャヘッダＧＯＰＨ、ピクチャヘッダＰＨ、スライスヘッダＳＬＨ、およびマクロブロックヘッダＭＢＨは、コンバイナ６７０において、ＶＬＣ６６０からの可変長符号化された信号と結合されて、出力ビットストリームＯＢＳを生成する。この出力ビットストリームは、例えば、ＭＰＥＧ−２によりＭＰ＠ＭＬ符号化された信号である。
【０１２８】
以上に本発明を、その具体的な実施形態に言及しながら説明し記載したが、本発明は、それにもかかわらず以上に示された詳細に限定されるものではない。むしろ、請求の範囲に等価であるとみなされる範囲内にあり、かつ、本発明の着想から離れることがない限り、さまざまな改変を細部にわたって施すことが可能である。
【０１２９】
【発明の効果】
本発明によれば、係数を画素に変換して画素を間引きまたは補間し、間引きまたは補間がなされた画素を補正して再びＤＣＴ係数値に戻すための回路を追加する必要がない画像解像度変換装置、復号化器、および画像解像度変換方法を提供することができる。
【図面の簡単な説明】
【図１】本発明のある実施形態例によるＤＣＴ変換装置のブロック図である。
【図２】本発明のある実施形態例による図１に示すＤＣＴ変換器１４０の動作を説明するフローチャート図である。
【図３】本発明のある実施形態例による図１に示すＤＣＴ変換器１４０の動作を説明するフローチャート図である。
【図４】６つのマクロブロックを示すデータ構造図である。
【図５】図４に示すマクロブロックのうちの１つの内容を示すデータ構造図である。
【図６】図４に示す６つのマクロブロックから発生された、変換されたマクロブロックＣＭＢを示すデータ構造図である。
【図７】画素領域における６つのマクロブロックから１つのマクロブロックへのマッピングを示すデータ構造図である。
【図８】ＭＰＥＧスキャンパターン０のフォーマットを示すチャートである。
【図９】ＭＰＥＧスキャンパターン１のフォーマットを示すチャートである。
【図１０】図１１に示す逆ジグザグスキャンメモリ１２０による逆ジグザグスキャン後のＤＣＴ係数のフォーマットを示すチャートである。
【図１１】本発明のある実施形態例による復号化装置のブロック図である。
【図１２】ＭＰＥＧ−２ビットストリームダウン変換回路に関する本発明の別の実施形態例のブロック図である。
【図１３】図１２に示すＭＰＥＧ−２ビットストリームダウン変換回路の動作を説明するフローチャートである。
【図１４】図１２に示すステップ７００、８００、８１０および８２０の動作を説明するデータ構造図である。
【図１５】図１２に示すステップ７００、８００、８１０および８２０の動作を説明するデータ構造図である。
【図１６】スライスにおけるマクロブロック構成を示すデータ構造図である。
【図１７】４：２：０ブロックフォーマットの場合のフレームＤＣＴ符号化における輝度マクロブロック構造を示すデータ構造図である。
【図１８】４：２：０ブロックフォーマットの場合のフィールドＤＣＴ符号化における輝度マクロブロック構造を示すデータ構造図である。
【符号の説明】
５  ＤＣＴ変換装置
１０  メモリ
３０  メモリ
４０  メモリ
１４０  ＤＣＴ変換器
ＣＳ２  制御信号
ＳＳ１  選択信号
ＰＣＶ  あらかじめ計算された値
【図１】
0004030144.tif 000028
【図２】
0004030144.tif 000029
【図３】
0004030144.tif 000030
【図４】
0004030144.tif 000031
【図５】
0004030144.tif 000032
【図６】
0004030144.tif 000033
【図７】
0004030144.tif 000034
【図８】
0004030144.tif 000035
【図９】
0004030144.tif 000036
【図１０】
0004030144.tif 000037
【図１１】
0004030144.tif 000038
【図１２】
0004030144.tif 000039
【図１３】
0004030144.tif 000040
【図１４】
0004030144.tif 000041
【図１５】
0004030144.tif 000042
【図１６】
0004030144.tif 000043
【図１７】
0004030144.tif 000044
【図１８】
0004030144.tif 000045