JP4154902B2 - 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体 - Google Patents

画像処理装置および画像処理方法、並びにプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4154902B2
JP4154902B2 JP2002061399A JP2002061399A JP4154902B2 JP 4154902 B2 JP4154902 B2 JP 4154902B2 JP 2002061399 A JP2002061399 A JP 2002061399A JP 2002061399 A JP2002061399 A JP 2002061399A JP 4154902 B2 JP4154902 B2 JP 4154902B2
Authority
JP
Japan
Prior art keywords
block
dimensional dct
pixel
adjacent
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002061399A
Other languages
English (en)
Other versions
JP2003264832A5 (ja
JP2003264832A (ja
Inventor
哲二郎 近藤
秀雄 中屋
俊彦 浜松
秀樹 大塚
丈晴 西片
威 國弘
孝文 森藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002061399A priority Critical patent/JP4154902B2/ja
Publication of JP2003264832A publication Critical patent/JP2003264832A/ja
Publication of JP2003264832A5 publication Critical patent/JP2003264832A5/ja
Application granted granted Critical
Publication of JP4154902B2 publication Critical patent/JP4154902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関し、特に、例えば、画像データをMPEG符号化した符号化データを、高画質の画像データに復号することができるようにする画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関する。
【0002】
【従来の技術】
MPEG(Moving Picture Experts Group)1や2等の符号化方式では、画像データが、8×8画素のブロック単位で、DCT(Discrete Cosine Transform)変換され、さらに量子化されることにより、符号化データとされる。このため、MPEGの規格に準拠したMPEGデコーダでは、符号化データが、逆量子化され、さらに逆DCT変換されることにより復号される。
【0003】
上述のように、MPEG符号化方式では、画像データが、ブロック単位でDCT変換され、その結果得られるDCT係数が量子化されるため、MPEGの規格に準拠したMPEGデコーダにおいて得られる復号画像には、符号化時の量子化の影響により、ブロック歪みやモスキートノイズといった各種の歪みが生じる。
【0004】
復号画像に生じする歪みを低減する方法としては、例えば、特開平11−187400号公報や特開平11−205792号公報に記載されているように、復号画像に対して後処理を施すことにより、その復号画像に生じている歪みを検知して補正する方法がある。
【0005】
【発明が解決しようとする課題】
しかしながら、上述のように、歪みを検知して補正する方法では、ブロック境界の位置を検出する必要がある。さらに、符号化データがMPEG2方式で、画像データを符号化したものである場合には、マクロブロック単位で設定可能なDCTタイプが、フレームDCTまたはフィールドDCTのうちのいずれであったかを判別する必要もある。従って、ブロック境界の位置の検出や、DCTタイプの判別を誤ると、復号画像に生じている歪みを、十分に除去することが困難なことがある。
【0006】
さらに、上述の方法は、復号画像に生じる歪み波形の基底をなすコサイン波形の位相とは無関係に、補正のためのフィルタ処理を施すものとなっており、従って、必ずしも、最適な歪み除去方式とは言えない。
【0007】
本発明は、このような状況に鑑みてなされたものであり、各種の歪みを十分に低減した高画質の復号画像を得ることができるようにするものである。
【0008】
【課題を解決するための手段】
本発明の第1の画像処理装置は、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換手段と、画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、注目画素の近傍位置にある幾つかの画素値の集合との積和演算を行うことにより、注目画素の画素値を求めること、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して注目画素の画素値を求めること、および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより、注目画素の画素値を求めることのうちのいずれかにより、符号化データを復号する処理手段とを備えることを特徴とする。
【0009】
本発明の第1の画像処理方法は、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、注目画素の近傍位置にある幾つかの画素値の集合との積和演算を行うことにより、注目画素の画素値を求めること、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して注目画素の画素値を求めること、および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより、注目画素の画素値を求めることのうちのいずれかにより、符号化データを復号する処理ステップとを備えることを特徴とする。
【0010】
本発明の第1のプログラムは、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、注目画素の近傍位置にある幾つかの画素値の集合との積和演算を行うことにより、注目画素の画素値を求めること、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して注目画素の画素値を求めること、および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより、注目画素の画素値を求めることのうちのいずれかにより、符号化データを復号する処理ステップとを備えることを特徴とする。
【0011】
本発明の第1の記録媒体は、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、注目画素の近傍位置にある幾つかの画素値の集合との積和演算を行うことにより、注目画素の画素値を求めること、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して注目画素の画素値を求めること、および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより、注目画素の画素値を求めることのうちのいずれかにより、符号化データを復号する処理ステップをコンピュータに実行させるためのプログラムを記録されていることを特徴とする。
【0012】
本発明の第2の画像処理装置は、学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化手段と、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換手段と、学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとの演算係数を求める学習手段とを備えることを特徴とする。
【0013】
本発明の第2の画像処理方法は、学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとの演算係数を求める学習ステップとを備えることを特徴とする。
【0014】
本発明の第2のプログラムは、学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとの演算係数を求める学習ステップとを備える。
【0015】
本発明の第2の記録媒体は、学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとの演算係数を求める学習ステップとをコンピュータに実行させるためのプログラムを記録されていることを特徴とする。
【0016】
本発明の第1の画像処理装置および画像処理方法、並びにプログラムにおいては、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数が求められ、画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われる。そして、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、注目画素の近傍位置にある幾つかの画素値の集合との積和演算を行うことにより、注目画素の画素値を求めること、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して注目画素の画素値を求めること、および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、注目画素のクラスに対応するものと、2次元DCT係数のうちの、注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との積和演算を行うことにより、注目画素の画素値を求めることのうちのいずれかにより、符号化データが復号される。
【0017】
本発明の第2の画像処理装置および画像処理方法、並びにプログラムにおいては、学習用の画像データが、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データが出力される。さらに、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける注目画素の位置に対応する1次元DCT係数から求められる特徴量と、注目ブロックにおける、注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する1次元DCT係数、および、隣接ブロックにおける、注目ブロックに隣接する位置に対応する1次元DCT係数から求められる特徴量とを含むコードを、注目画素のクラスコードとして出力することで、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われ、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとの演算係数が求められる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について説明するが、その前に、MPEGに準拠した復号方式について、簡単に説明する。
【0019】
図1は、例えば、MPEG2方式で符号化された符号化データを、MPEGに準拠して復号するMPEGデコーダの構成例を示している。
【0020】
画像データをMPEG2方式で符号化することにより得られる符号化データ(ビデオストリーム)は、分離部1に供給される。分離部1は、符号化データから、コーデッドブロックパターン(Coded Block Pattern)(以下、適宜、CBPという)、DCTタイプ、量子化されたDCT係数のVLC(可変長符号化)コード、量子化スケール、動きベクトル、動き補償タイプ(frame motion type, field motion type)等を分離して出力する。
【0021】
DCT係数抽出/逆量子化部2は、分離部1が出力する、量子化されたDCT係数(以下、適宜、量子化DCT係数という)のVLCコード、量子化スケール、およびDCTタイプを受信し、DCT係数を復号する。即ち、DCT係数抽出/逆量子化部2は、分離部1が出力する量子化DCT係数のVLCコードを可変長復号し、8×8画素のブロックごとの量子化DCT係数を求める。さらに、DCT係数抽出/逆量子化部2は、ブロックごとの量子化DCT係数を、分離部1が出力する量子化スケールによって逆量子化し、ブロックごとのDCT係数を求める。DCT係数抽出/逆量子化部2で得られたブロックごとのDCT係数は、逆DCT変換部3に供給される。
【0022】
逆DCT変換部3は、DCT係数抽出/逆量子化部2からのブロックごとのDCT係数を逆DCT変換し、動き補償加算部6に供給される。
【0023】
動き補償加算部6には、逆DCT変換部3が出力する逆DCT変換結果の他、分離部1が出力するCBPおよびDCTタイプが供給される。動き補償加算部6は、CBPやDCTタイプに基づき、必要に応じて、逆DCT変換部3からの逆DCT結果に対して、画像メモリ5に記憶された予測画像を加算することで、8×8の画素値のブロックを復号して出力する。
【0024】
即ち、MPEG符号化では、Iピクチャのブロックは、イントラ(intra)符号化され、Pピクチャのブロックは、イントラ符号化、または前方予測符号化され、Bピクチャのブロックは、イントラ符号化、前方予測符号化、後方予測符号化、または両方向予測符号化される。
【0025】
ここで、前方予測符号化では、符号化対象のブロックのフレーム(またはフィールド)より時間的に先行するフレーム(またはフィールド)の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値(以下、適宜、残差画像という)がDCT変換される。
【0026】
また、後方予測符号化では、符号化対象のブロックのフレームより時間的に後行するフレームの画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値(残差画像)がDCT変換される。
【0027】
さらに、両方向予測符号化では、符号化対象のブロックのフレームより時間的に先行するフレームと後行するフレームの2フレーム(またはフィールド)の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値(残差画像)がDCT変換される。
【0028】
従って、ブロックが、ノンイントラ(non-intra)符号化(前方予測符号化、後方予測符号化、または両方向予測符号化)されている場合、逆DCT変換部3が出力する逆DCT変換結果は、残差画像(元の画像と、その予測画像との差分値)であり、動き補償加算部6は、この残差画像と、画像メモリ5に記憶された予測画像とを加算することで、ノンイントラ符号化されたブロックを復号する。
【0029】
一方、動き補償加算部6は、逆DCT変換部4が出力するブロックが、イントラ符号化されたものであった場合には、そのブロックを、そのまま復号結果とする。
【0030】
動き補償加算部6は、1フレーム(またはフィールド)分のブロックの復号結果、即ち、1フレーム(またはフィールド)の復号画像を得ると、その復号画像を、画像メモリ(I,Pピクチャ用画像メモリ)7と、ピクチャ選択部8に供給する。
【0031】
画像メモリ7は、動き補償加算部6から供給される復号画像が、IピクチャまたはPピクチャの画像である場合、その復号画像を、その後に復号される符号化データの参照画像として一時記憶する。なお、MPEG2では、Bピクチャは参照画像とされないことから、動き補償加算部6から供給される復号画像が、Bピクチャの画像である場合には、その復号画像は、画像メモリ7に記憶されない。
【0032】
ピクチャ選択部8は、動き補償加算部6が出力する復号画像、または画像メモリ7に記憶された復号画像のフレーム(またはフィールド)を、表示順に選択して出力する。即ち、MPEG2方式では、画像のフレーム(またはフィールド)の表示順と復号順(符号化順)とが一致していないため、ピクチャ選択部8は、復号順に並んでいる復号画像のフレーム(またはフィールド)を表示順に並べ替えて出力する。
【0033】
このようにして表示順の並びとされた復号画像は、例えば、図示せぬディスプレイ等に供給されて表示される。
【0034】
一方、動き補償部4は、分離部1が出力する動きベクトルや動き補償タイプを受信し、その動き補償タイプに基づいて、参照画像となるフレーム(またはフィールド)を、画像メモリ7から読み出す。さらに、動き補償部4は、画像メモリ7から読み出した参照画像に対して、分離部1が出力する動きベクトルにしたがった動き補償を施し、その結果得られる予測画像を、画像メモリ5に供給して記憶させる。
【0035】
このようにして画像メモリ5に記憶された予測画像は、上述したように、動き補償加算部6において、逆DCT変換部3が出力する残差画像と加算される。
【0036】
なお、図1のMPEGデコーダにおいては、各ブロックにおける遅延時間を吸収するためのタイミング調整用のメモリと同期信号を必要とするが、その図示は、省略してある。後述する画像処理装置や学習装置においても同様である。
【0037】
次に、図2は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。なお、図中、図1のMPEGデコーダにおける場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0038】
図2の画像処理装置は、前処理部11、バッファメモリ12、クラス分類部13、タップ係数記憶部14、および画像再構成部15から構成されており、例えば、画像データをMPEG2方式で符号化することにより得られる符号化データを復号するようになっている。
【0039】
即ち、符号化データは、前処理部11に供給されるようになっている。また、前処理部11には、符号化データの他、画像再構成部15から、既に復号された画像が、参照画像として供給されるようになっている。
【0040】
前処理部11は、分離部1、DCT係数抽出/逆量子化部2、動き補償部4、画像メモリ5、DCT変換部21、周波数領域動き補償加算部22から構成されており、符号化データに対して、前処理を施すようになっている。
【0041】
即ち、DCT変換部21には、分離部1から、DCTタイプが供給されるとともに、画像メモリ5から、動き補償部4において参照画像に動き補償処理を施すことにより得られた予測画像が供給される。
【0042】
ここで、いま、復号の対象となっているブロックを、以下、適宜、注目ブロックという。
【0043】
また、以下、適宜、画素値で構成されるブロックを、画素ブロックというとともに、DCT係数で構成されるブロックを、DCTブロックという。
【0044】
さらに、以下、適宜、注目ブロックとなっている画素ブロックまたはDCTブロックを、それぞれ、注目画素ブロックまたは注目DCTブロックという。
【0045】
DCT変換部21は、分離部1から供給されるDCTタイプに基づき、DCT係数抽出/逆量子化部2が出力する注目ブロックのDCTタイプを認識する。さらに、DCT変換部21は、注目ブロックのDCTタイプに基づいて、画像メモリ5に記憶された予測画像から、ブロックと同一の大きさの8×8画素を選択し、DCT係数に変換する。この予測画像から得られたDCT係数(以下、適宜、予測DCT係数という)は、DCT変換部21から周波数領域動き補償加算部22に供給される。
【0046】
周波数領域動き補償加算部22には、DCT変換部21から、8×8の予測DCT係数が供給される他、分離部1から、注目ブロックを含むマクロブロック(以下、適宜、注目マクロブロックという)のCBPが供給されるとともに、DCT係数抽出/逆量子化部2から、注目ブロックが供給される。
【0047】
周波数領域動き補償加算部22は、注目マクロブロックのCBPに基づき、必要に応じて、注目ブロックの各DCT係数と、対応する予測DCT係数とを加算することで、注目ブロックの画素値をDCT変換した注目DCTブロックを求める。
【0048】
即ち、注目ブロックがイントラ符号化されているものである場合、その注目ブロックのDCT係数は、画素値のブロック(画素ブロック)をDCT変換したものとなっているから、周波数領域動き補償加算部22は、その注目ブロックを、そのまま、注目DCTブロックとする。
【0049】
また、注目ブロックがノンイントラ符号化されているものである場合、その注目ブロックは、画素値のブロック(画素ブロック)と、予測画像との差分値(残差画像)をDCT変換したものとなっているから、周波数領域動き補償加算部22は、その注目ブロックの各DCT係数と、DCT変換部21において8×8画素の予測画像をDCT変換して得られる8×8の予測DCT係数のうちの対応するものとを加算することにより、注目DCTブロックを求める。
【0050】
周波数領域動き補償加算部22において求められた注目DCTブロックは、分離部1が出力する、その注目DCTブロック(を含むマクロブロック)のDCTタイプと対応付けられ、前処理部11からバッファメモリ12に供給される。
【0051】
バッファメモリ12は、前処理部11から供給される注目DCTブロックとそのDCTタイプとのセットを、一時記憶する。なお、クラス分類部13では、後述するように、注目ブロックの情報の他、その注目ブロックの上下左右にそれぞれ隣接する4つのブロックの情報も用いて処理が行われるようになっている。このため、バッファメモリ12は、画面2行分のマクロブロックに、1つのマクロブロックを加えた分の2次元DCT係数およびDCTタイプを記憶することのできる記憶容量を、少なくとも有している。
【0052】
ここで、バッファメモリ12に記憶されるブロックのDCT係数は、前処理部11の周波数領域動き補償加算部22が出力するものであるから、ブロックのピクチャタイプによらず、また、ブロックがイントラ符号化またはノンイントラ符号化されたかによらず、元の画像の画素値(残差画像ではなく、元の画像)をDCT変換したものとなっている。
【0053】
なお、ここでいう元の画像は、残差画像と予測画像とを加算して得られるものを意味し、MPEG符号化の対象となった原画像そのものではない。
【0054】
クラス分類部13は、1次元逆DCT変換部31、隣接1次元DCT係数選択/変換部32、ACパワー算出部33、AC内積計算部34、隣接タップデータ生成部35、クラスコード生成部36および37から構成され、バッファメモリ12に記憶されたブロックのDCT係数とDCTタイプに基づき、注目ブロックの各画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行う。
【0055】
即ち、1次元逆DCT変換部31は、バッファメモリ12に記憶されたブロックのDCT係数を、1次元逆DCT変換することにより、水平方向の空間周波数成分を表す水平1次元DCT係数と、垂直方向の空間周波数成分を表す垂直1次元DCT係数とを求める。
【0056】
ここで、以下、適宜、垂直1次元DCT係数と水平1次元DCT係数とをまとめて、1次元DCT係数という。
【0057】
また、MPEG符号化された符号化データに含まれるDCT係数は、水平方向と垂直方向の2方向の空間周波数成分を表すものであり、1次元DCT係数と区別するために、以下、適宜、2次元DCT係数という。
【0058】
さらに、以下、適宜、画素値から2次元DCT係数への変換を、2次元DCT変換と、2次元DCT係数から画素値への変換を、2次元逆DCT変換と、それぞれいう。図2のDCT変換部21で行われるDCT変換は、2次元DCT変換であり、図1の逆DCT変換部3で行われる逆DCT変換は、2次元逆DCT変換である。
【0059】
1次元逆DCT変換部31で得られる1次元DCT係数は、隣接1次元DCT係数選択/変換部32、ACパワー算出部33、AC内積計算部34、隣接タップデータ生成部35、およびクラスコード生成部36に供給される。
【0060】
隣接1次元DCT係数選択/変換部32は、バッファメモリ12から、注目ブロックのDCTタイプを受信し、そのDCTタイプに基づき、注目ブロックに隣接する画素(列)の1次元DCT係数(以下、適宜、隣接1次元DCT係数という)を、1次元逆DCT変換部31から供給される1次元DCT係数から取得し、ACパワー算出部33、AC内積計算部34、隣接タップデータ生成部35、およびクラスコード生成部36に供給する。
【0061】
ACパワー算出部33は、1次元逆DCT係数変換部31から供給される1次元DCT係数の交流成分のパワー(以下、適宜、ACパワーという)を求めるとともに、隣接1次元DCT係数選択/変換部32から供給される1次元DCT係数のACパワーを求め、クラスコード生成部36および37に供給する。
【0062】
AC内積計算部34は、1次元逆DCT係数変換部31から供給される注目ブロックの境界部分の1次元DCT係数の交流成分と、隣接1次元DCT係数選択/変換部32から供給される隣接1次元DCT係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その2つのベクトルの内積(以下、適宜、AC内積という)を求める。AC内積計算部34で求められるAC内積は、クラスコード生成部36に供給される。
【0063】
隣接タップデータ生成部35は、1次元逆DCT変換部31から供給される1次元DCT係数と、隣接1次元DCT係数選択/変換部32から供給される隣接1次元DCT係数の中から、後述する適応処理部51において構成される予測タップとなる1次元DCT係数を選択し、適応処理部51に供給する。
【0064】
クラスコード生成部36は、輝度信号Yのブロックを構成する画素のクラス分類を行い、クラスコード生成部37は、色差信号(色信号)Cのブロックを構成する画素のクラス分類を行う。
【0065】
ここで、符号化データは、カラーの画像データをMPEG符号化したものとなっている。
【0066】
そして、1次元逆DCT変換部31は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックの1次元DCT係数を、隣接1次元DCT係数選択/変換部32は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックに隣接する隣接1次元DCT係数を、ACパワー算出部33は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたACパワーを、AC内積計算部34は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたAC内積を、それぞれ、クラスコード生成部36に供給するようになっており、クラスコード生成部36は、そこに供給される情報に基づいて、注目ブロックの各画素をクラス分類する。
【0067】
さらに、クラスコード生成部36は、注目ブロックの輝度信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、タップ係数記憶部14に供給する。ここで、クラスコード生成部36において得られる、輝度信号のブロックの画素についてのクラスコードを、以下、適宜、輝度クラスコードという。
【0068】
クラスコード生成部36が出力する注目ブロックの各画素についての輝度クラスコードは、クラスコード生成部37にも供給される。また、クラスコード生成部37には、ACパワー算出部33から、注目ブロックが色差信号のブロックである場合の、その注目ブロックについて得られたACパワーも供給されるようになっている。
【0069】
クラスコード生成部37は、ACパワー算出部33から供給される注目ブロックのACパワーと、クラスコード生成部36から供給される、色差信号の注目ブロックに対応する輝度信号のブロックの画素の輝度クラスコードとに基づいて、注目ブロックの各画素をクラス分類する。
【0070】
そして、クラスコード生成部37は、注目ブロックの色差信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、タップ係数記憶部14に供給する。ここで、クラスコード生成部37において得られる、色差信号のブロックの画素についてのクラスコードを、以下、適宜、色差クラスコードという。
【0071】
タップ係数記憶部14は、タップ係数選択部41および42、並びに係数メモリ43および44から供給され、クラス分類部13のクラスコード生成部36または37から供給されるクラスコードに対応するタップ係数を取得し、画像再構成部15に供給する。
【0072】
即ち、タップ係数選択部41には、クラスコード生成部36が出力する輝度クラスコードが供給されるようになっており、タップ係数選択部42には、クラスコード生成部37が出力する色差クラスコードが供給されるようになっている。
【0073】
また、係数メモリ43には、輝度信号の画素について、後述する学習により得られたクラスごとのタップ係数が記憶されており、係数メモリ44には、色差信号の画素について、学習により得られたクラスごとのタップ係数が記憶されている。
【0074】
そして、タップ係数選択部41は、クラスコード生成部36から供給される輝度クラスコード(に対応するクラス)のタップ係数を、係数メモリ43から読み出し、画像再構成部15の適応処理部51に供給する。
【0075】
また、タップ係数選択部42は、クラスコード生成部37から供給される色差クラスコード(に対応するクラス)のタップ係数を、係数メモリ44から読み出し、画像再構成部15の適応処理部51に供給する。
【0076】
画像再構成部15は、画像メモリ7、ピクチャ選択部8、および適応処理部51から構成されており、バッファメモリ12に記憶された2次元DCT係数および隣接タップデータ生成部35から供給される1次元DCT係数、並びにタップ係数記憶部14の係数メモリ43と44から供給されるタップ係数を用いて、画像を復号(再構成)する。
【0077】
即ち、適応処理部51は、バッファメモリ12に記憶された注目ブロックの2次元DCT係数および隣接タップデータ生成部35から供給される1次元DCT係数を、タップ係数記憶部14の係数メモリ43と44から供給されるタップ係数を用いて適応処理することにより、注目ブロックの画素値に変換する。さらに、適応処理部51は、1フレーム(またはフィールド)分の画素値、即ち、1フレーム(またはフィールド)の画像データを復号すると、その復号画像データを、画像メモリ7とピクチャ選択部8に供給する。
【0078】
画像メモリ7は、適応処理部51から供給される復号画像データのうち、IピクチャとPピクチャの復号画像データを、参照画像として記憶する。ピクチャ選択部8は、適応処理部51から供給される復号画像データ、または画像メモリ7に記憶された復号画像データを、表示順で選択して出力する。
【0079】
ここで、適応処理部51では、上述したように、DCT係数を、タップ係数を用いて画素値に変換する適応処理が行われる。
【0080】
即ち、適応処理では、例えば、DCT係数と、所定のタップ係数との線形結合により、元の画素の予測値を求めることで、DCT係数が、元の画素値に復号される。
【0081】
具体的には、例えば、いま、画像の画素値を教師データとするとともに、その画像を、ブロック単位でDCT変換し、さらに量子化、逆量子化をして得られるDCT係数を生徒データとして、教師データである画素の画素値yの予測値E[y]を、幾つかのDCT係数x1,x2,・・・の集合と、所定のタップ係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0082】
Figure 0004154902
【0083】
式(1)を一般化するために、タップ係数wjの集合でなる行列W、生徒データxijの集合でなる行列X、および予測値E[yj]の集合でなる行列Y’を、
【数1】
Figure 0004154902
で定義すると、次のような観測方程式が成立する。
【0084】
XW=Y’・・・(2)
【0085】
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)(予測タップ)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算されるタップ係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(1)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(1)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0086】
式(2)の観測方程式に最小自乗法を適用して、元の画素値yに近い予測値E[y]を求めることを考える。この場合、教師データとなる真の画素値yの集合でなる行列Y、および画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0004154902
で定義すると、式(2)から、次のような残差方程式が成立する。
【0087】
XW=Y+E・・・(3)
【0088】
この場合、元の画素値yに近い予測値E[y]を求めるためのタップ係数wjは、自乗誤差
【数3】
Figure 0004154902
を最小にすることで求めることができる。
【0089】
従って、上述の自乗誤差をタップ係数wjで微分したものが0になる場合、即ち、次式を満たすタップ係数wjが、元の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0090】
【数4】
Figure 0004154902
・・・(4)
【0091】
そこで、まず、式(3)を、タップ係数wjで微分することにより、次式が成立する。
【0092】
【数5】
Figure 0004154902
・・・(5)
【0093】
式(4)および(5)より、式(6)が得られる。
【0094】
【数6】
Figure 0004154902
・・・(6)
【0095】
さらに、式(3)の残差方程式における生徒データxij、タップ係数wj、教師データyi、および残差eiの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0096】
【数7】
Figure 0004154902
・・・(7)
【0097】
なお、式(7)に示した正規方程式は、行列(共分散行列)Aおよびベクトルvを、
【数8】
Figure 0004154902
で定義するとともに、ベクトルWを、数1で示したように定義すると、式
AW=v・・・(8)
で表すことができる。
【0098】
式(7)における各正規方程式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wjの数Jと同じ数だけたてることができ、従って、式(8)を、ベクトルWについて解くことで(但し、式(8)を解くには、式(8)における行列Aが正則である必要がある)、最適なタップ係数(ここでは、自乗誤差を最小にするタップ係数)wjを求めることができる。なお、式(8)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0099】
以上のようにして、最適なタップ係数、即ち、画素値の予測値の統計的な誤差を最小にするタップ係数wjを求めておき、さらに、そのタップ係数wjを用いて、式(1)により、元の画素値yに近い予測値E[y]を求めるのが適応処理である。
【0100】
なお、上述のように、画像の画素値を教師データとするとともに、その画像を、ブロック単位でDCT変換し、さらに量子化、逆量子化をして得られるDCT係数を生徒データとする場合には、DCT係数(画素値をDCT変換し、量子化し、さらに、逆量子化して得られるDCT係数)を、式(1)の線形予測演算によって、元の画素値(の予測値)に変換するのに最適なタップ係数を得ることができる。そして、DCT係数は、周波数領域のデータであり、画素値は時間領域の信号であるから、上述のようなタップ係数を用いて、DCT係数を画素値に変換する適応処理は、周波数(Frequency)と時間(Time)の頭文字をとって、FT変換と呼ぶことができる。
【0101】
ここで、上述の場合には、画像を2次元DCT変換し、さらに量子化、逆量子化して得られるDCT係数を生徒データとするとともに、原画像を教師データとして、タップ係数を求めるようにしたが、タップ係数は、その他、例えば、原画像を2次元DCT変換し、さらに量子化、逆量子化して得られるDCT係数を生徒データとするとともに、原画像を2次元DCT変換して得られるDCT係数を教師データとして求めるようにすることも可能である。この場合、量子化誤差のあるDCT係数を、量子化誤差のないDCT係数(の予測値)に変換するのに最適なタップ係数を得ることができる。
【0102】
また、タップ係数は、原画像を2次元DCT変換し、さらに、量子化、逆量子化、2次元逆DCT変換して得られる復号画像を生徒データとするとともに、原画像を教師データとして求めるようにすることも可能である。この場合、復号画像を、原画像(の予測値)に変換するのに最適なタップ係数を得ることができる。
【0103】
次に、図3は、図2のDCT変換部21および周波数領域動き補償加算部22の構成例を示している。
【0104】
DCT変換部21は、(8×8画素)サンプリング部61とDCT部62から構成され、画像メモリ5に記憶された予測画像を2次元DCT変換した予測DCT係数を生成するようになっている。
【0105】
即ち、サンプリング部61には、画像メモリ5に記憶された予測画像と、分離部1(図2)が出力する注目ブロック(を含むマクロブロック)のDCTタイプが供給されるようになっている。
【0106】
ここで、画像メモリ5には、動き補償部4(図2)から、マクロブロックと同一の大きさである16×16画素の予測画像が供給されるようになっており、画像メモリ5は、注目ブロックに対応する16×16画素の予測画像を記憶する。従って、画像メモリ5は、少なくとも16×16画素の画像を記憶することのできる記憶容量を有している。
【0107】
サンプリング部61は、画像メモリ5に記憶された16×16画素の予測画像を、注目ブロックのDCTタイプにしたがってサンプリングし、ブロックと同一の大きさの8×8画素の予測画像を生成する。
【0108】
即ち、画像メモリ5に記憶された16×16画素の予測画像は、フレーム構造になっており、注目ブロックの構造と一致している場合と、一致していない場合とがある。
【0109】
具体的には、注目ブロックがフレーム構造である場合には、注目ブロックと、画像メモリ5に記憶された16×16画素の予測画像とは、一致した構造のものとなる。
【0110】
従って、注目ブロックが、図4(A)に示すように、マクロブロック(注目マクロブロック)の左上、左下、右上、または右下のブロックである場合、サンプリング部61は、図4(B)に示すように、画像メモリ5に記憶された16×16画素の予測画像のうち、左上、左下、右上、または右下の8×8画素を、それぞれサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある8×8画素の予測画像を得て、DCT部62に供給する。
【0111】
ここで、図4において(後述する図5においても同様)、影を付してあるラインは、奇数ライン(トップフィールド)を表し、影を付していないラインは、偶数ライン(ボトムフィールド)を表す。
【0112】
一方、注目ブロックがフィールド構造である場合は、注目ブロックと、画像メモリ5に記憶された16×16画素の予測画像とは、異なる構造のものとなる。
【0113】
即ち、この場合、注目ブロックを含むマクロブロック(注目マクロブロック)は、図5(A)に示すように、上側の8ラインが奇数ライン(トップフィールド)で構成され、下側の8ラインが偶数ライン(ボトムフィールド)で構成される。
【0114】
従って、注目ブロックが、注目マクロブロックの左上のブロックである場合、その注目ブロックの8×8画素は、図5(B)に示すように、画像メモリ5に記憶された16×16画素の予測画像のうちの、8つの奇数ライン(影を付してあるライン)の左側の8画素に対応する。また、注目ブロックが、注目マクロブロックの左下のブロックである場合、その注目ブロックの8×8画素は、図5(B)に示すように、画像メモリ5に記憶された16×16画素の予測画像のうちの、8つの偶数ライン(影を付してないライン)の左側の8画素に対応する。さらに、注目ブロックが、注目マクロブロックの右上のブロックである場合には、その注目ブロックの8×8画素は、図5(B)に示すように、画像メモリ5に記憶された16×16画素の予測画像のうちの、8つの奇数ライン(影を付してあるライン)の右側の8画素に対応し、また、注目ブロックが、注目マクロブロックの右下のブロックである場合には、その注目ブロックの8×8画素は、図5(B)に示すように、画像メモリ5に記憶された16×16画素の予測画像のうちの、8つの偶数ライン(影を付してないライン)の右側の8画素に対応する。
【0115】
そこで、サンプリング部61は、注目ブロックが、フィールド構造である場合には、画像メモリ5に記憶された16×16画素の予測画像のうち、注目マクロブロックにおける注目ブロックの位置に対応する、上述のような8×8画素をサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある8×8画素の予測画像を得て、DCT部62に供給する。
【0116】
DCT部62は、サンプリング部61から供給される、注目ブロックの各画素と空間的に対応する位置にある8×8画素の予測画像を2次元DCT変換し、これにより、8×8の予測DCT係数を得て、周波数領域動き補償加算部22に供給する。
【0117】
なお、サンプリング部61において、注目ブロックの構造は、分離部1(図2)が出力する注目ブロック(を含む注目マクロブロック)のDCTタイプに基づいて認識される。
【0118】
周波数領域動き補償加算部22は、DCT係数選択部71、加算部72、および選択部73から構成され、DCT係数抽出/逆量子化部2(図2)から供給される注目ブロックの2次元DCT係数と、DCT変換部21から供給される予測DCT係数とを、必要に応じて加算することにより、注目ブロックの元の画像の2次元DCT係数を求める。
【0119】
即ち、DCT係数選択部71には、DCT係数抽出/逆量子化部2(図2)が出力する注目ブロックの2次元DCT係数と、分離部1(図2)が出力する注目ブロック(を含む注目マクロブロック)のCBPが供給されるようになっている。
【0120】
注目ブロックがイントラ符号化されたものである場合、その注目ブロックの2次元DCT係数は、注目ブロックの元の画像を2次元DCT変換したものであるから、DCT係数選択部71は、注目ブロックを、そのまま出力する。DCT係数選択部71の出力は、加算部72と選択部73に供給される。
【0121】
注目ブロックがイントラ符号化されたものである場合、加算部72は、特に処理を行わず、また、選択部73は、DCT係数選択部71の出力を選択し、後段のバッファメモリ12(図2)に供給する。
【0122】
従って、注目ブロックがイントラ符号化されたものである場合、即ち、DCT係数抽出/逆量子化部2(図2)が出力する注目ブロックの2次元DCT係数が、注目ブロックの元の画像を2次元DCT変換したものである場合には、DCT係数抽出/逆量子化部2(図2)が出力する注目ブロックが、そのまま、バッファメモリ12(図2)に供給される。
【0123】
一方、DCT係数選択部71は、注目ブロックがノンイントラ符号化されたものである場合、その注目ブロックのCBPを参照し、残差画像の2次元DCT係数の有無を認識する。即ち、注目ブロックがノンイントラ符号化されたものである場合には、その注目ブロックには、原則として、残差画像の2次元DCT係数が配置されるが、残差画像の2次元DCT係数がすべて0となるときには、CBPが0とされ、2次元DCT係数は配置されない。そして、この場合、注目ブロックの画像は、予測画像に一致する。
【0124】
そこで、DCT係数選択部71は、注目ブロックがノンイントラ符号化されたものであり、そのCBPが0である場合には、残差画像の2次元DCT係数として0を出力する。
【0125】
また、DCT係数選択部71は、注目ブロックがノンイントラ符号化されたものであり、そのCBPが1である場合、DCT係数抽出/逆量子化部2(図2)が出力する注目ブロックには、残差画像の2次元DCT係数が配置されているから、その2次元DCT係数を出力する。
【0126】
DCT係数選択部71の出力は、上述したように、加算部72と選択部73に供給される。
【0127】
加算部72は、注目ブロックがノンイントラ符号化されたものである場合、DCT係数選択部71の出力と、DCT変換部21(のDCT部62)が出力する予測画像の2次元DCT係数とを加算し、これにより、注目ブロックについて、元の画像の2次元DCT係数を得て、選択部73に供給する。
【0128】
選択部73は、注目ブロックがノンイントラ符号化されたものである場合、演算部72の出力を選択し、後段のバッファメモリ12(図2)に供給する。
【0129】
従って、注目ブロックがノンイントラ符号化されたものである場合において、注目ブロックのCBPが0であるときには、注目ブロックの画像が、予測画像に一致するため、加算部72において、DCT係数選択部71が出力する0と、DCT部62が出力する予測画像のDCT係数(予測DCT係数)とが加算されることにより、注目ブロックの元の画像の2次元DCT係数が求められる。
【0130】
また、注目ブロックのCBPが1であるときには、加算部72において、DCT係数選択部71が出力する注目ブロックの残差画像のDCT係数と、DCT部62が出力する予測画像のDCT係数(予測DCT係数)とが加算されることにより、やはり、注目ブロックの元の画像の2次元DCT係数が求められる。
【0131】
そして、選択部73では、加算部72において上述したようにして得られる、注目ブロックの元の画像の2次元DCT係数が選択されて出力される。
【0132】
なお、前処理部11(図2)では、周波数領域において、残差画像と予測画像とを加算して、元の画像の2次元DCT係数を求めるようにしたが、即ち、残差画像の2次元DCT係数と、予測画像の2次元DCT係数とを加算して、元の画像の2次元DCT係数を求めるようにしたが、これは、後段のクラス分類部13において、周波数領域のDCT係数を用いて処理を行うため、前処理部11とクラス分類部13の処理を、周波数領域で行うように統一した方が都合が良いと考えられるためである。
【0133】
従って、元の画像の2次元DCT係数は、残差画像と予測画像とを、時間領域において加算し、その加算結果を、2次元DCT変換することによって求めても良い。
【0134】
次に、図6および図7を参照して、図2の1次元逆DCT変換部31の処理について説明する。
【0135】
MPEGやJPEG(Joint Photographic Experts Group)等のDCT変換を利用した画像の符号化方式では、画像データが、水平方向および垂直方向の2次元のDCT変換(2次元DCT変換)/逆DCT変換(2次元逆DCT変換)が行われる。
【0136】
図3(A)に示すような8×8画素のブロックにおける画素値を、8行×8列の行列Xで表すとともに、図3(B)に示すような8×8のブロックにおけるDCT係数を、8行×8列の行列Fで表すこととすると、2次元DCT変換/2次元逆DCT変換は、次式で表すことができる。
【0137】
CXCT=F・・・(9)
TFC=X・・・(10)
【0138】
ここで、上付のTは、転置を表す。また、Cは、8行×8列のDCT変換行列で、その第i+1行第j+1列のコンポーネントcijは、次式で表される。
【0139】
ij=Ai×cos((2j+1)×i×π/16)・・・(11)
【0140】
但し、式(11)において、i=0のときは、Ai=1/(2√2)であり、i≠0のときは、Ai=1/2である。また、iとjは、0乃至7の範囲の整数値である。
【0141】
式(9)は、画素値Xを、2次元DCT係数Fに変換する2次元DCT変換を表し、式(10)は、2次元DCT係数Fを、画素値Xに変換する2次元逆DCT変換を表す。
【0142】
従って、式(10)によれば、2次元DCT係数Fは、その左側から行列CTをかけるとともに、その右側から行列Cをかけることにより、画素値Xに変換されるが、1次元逆DCT変換部31は、2次元DCT係数Fに対して、その左側から行列CTをかけるだけか、または、その右側から行列Cをかけるだけかすることにより、1次元DCT係数を求める。
【0143】
即ち、1次元逆DCT変換部31は、2次元DCT係数Fに対して、その左側から行列CTだけをかける。この場合、図6(C)に示すように、2次元DCT係数Fにおける垂直方向が空間領域に変換され、水平方向が周波数領域のままとされる垂直1次元逆DCT変換が行われることとなり、その結果、水平方向の空間周波数成分を表す水平1次元DCT係数vXhFを得ることができる。
【0144】
また、1次元逆DCT変換部31は、2次元DCT係数Fに対して、その右側から行列Cだけをかける。この場合、図6(D)に示すように、2次元DCT係数Fにおける水平方向が空間領域に変換され、垂直方向が周波数領域のままとされる水平1次元逆DCT変換が行われることとなり、その結果、垂直方向の空間周波数成分を表す垂直1次元DCT係数hXvFを得ることができる。
【0145】
なお、横×縦が8×8の2次元DCT係数Fを、垂直1次元逆DCT変換した場合には、8×1の水平1次元DCT係数が、8セット(8行分)得られることになる(図6(C))。また、2次元DCT係数Fを、水平1次元逆DCT変換した場合には、1×8の垂直1次元DCT係数が、8セット(8列分)得られることになる(図6(D))。
【0146】
そして、ある行における8×1の水平1次元DCT係数については、その左端のDCT係数が、その行の8画素の画素値の直流成分(DC成分)(8画素の画素値の平均値)を表し、他の7つのDCT係数が、その行の水平方向の交流成分を表す。また、ある列における1×8の垂直1次元DCT係数については、その最上行のDCT係数が、その列の8画素の画素値の直流成分を表し、他の7つのDCT係数が、その列の垂直方向の交流成分を表す。
【0147】
ここで、式(9)によれば、水平1次元DCT係数は、2次元DCT係数Fに対応する画素値Xに対して、その右側から行列CTをかける水平1次元DCT変換を行うことによっても求めることができる。また、垂直1次元DCT係数は、2次元DCT係数Fに対応する画素値Xに対して、その左側から行列Cをかける垂直1次元DCT変換を行うことによっても求めることができる。
【0148】
図7は、実際の画像と、その画像についての2次元DCT係数、水平1次元DCT係数、および垂直1次元DCT係数を示している。
【0149】
なお、図7は、8×8ブロックの画像と、その画像についての2次元DCT係数、水平1次元DCT係数、および垂直1次元DCT係数を示している。また、図7(A)が、実際の画像を、図7(B)が、2次元DCT係数を、図7(C)が、水平1次元DCT係数を、図7(D)が、垂直1次元DCT係数を、それぞれ示している。
【0150】
ここで、図7(A)の画像は、8ビットの画素値を有するものであり、そのような画素値から求められるDCT係数は、負の値も取り得る。但し、図7(B)乃至図7(D)の実施の形態では、求められたDCT係数に対して、128(=27)を加算し、その加算値が0未満となるものは0にクリップするとともに、加算値が256以上となるものは255にクリップすることにより、0乃至255の範囲のDCT係数を、図示してある。
【0151】
2次元DCT係数には、8×8画素のブロック全体の情報が反映されているため、2次元DCT係数からでは、ブロック内の特定の画素の情報等の局所的な情報を把握するのは困難である。これに対して、水平1次元DCT係数または垂直1次元DCT係数には、ブロックのある1行または1列だけの情報が、それぞれ反映されているため、2次元DCT係数に比較して、ブロック内の局所的な情報を容易に把握することができる。
【0152】
即ち、ブロックのある行の特徴は、その行の8×1の水平1次元DCT係数から把握することができ、ある列の特徴は、その列の1×8の垂直1次元DCT係数から把握することができる。さらに、ブロックのある画素の特徴は、その画素が位置する行の8×1の水平1次元DCT係数と、その画素が位置する列の1×8の垂直1次元DCT係数とから把握することができる。
【0153】
また、左右に隣接するブロックどうしの境界の状態は、ブロック全体の情報が反映された2次元DCT係数よりも、ブロックの境界部分の垂直方向の空間周波数成分を表す垂直1次元DCT係数を用いた方が、より正確に把握することができる。さらに、上下に隣接するブロックどうしの境界の状態も、ブロック全体の情報が反映された2次元DCT係数よりも、ブロックの境界部分の水平方向の空間周波数成分を表す水平1次元DCT係数を用いた方が、より正確に把握することができる。
【0154】
次に、図2の隣接次元DCT係数選択/変換部32は、上述したように、1次元逆DCT変換部31から供給される1次元DCT係数の中から、注目ブロックに隣接する画素(列)の1次元DCT係数(隣接1次元DCT係数)を取得するが、この隣接1次元DCT係数は、注目ブロックと、その注目ブロックと空間的に隣接するブロック(以下、適宜、隣接ブロックという)との間のブロック境界の状態を分析するのに用いられるものであるため、空間領域において、注目ブロックの境界と隣接する画素列を1次元DCT変換したものである必要がある。
【0155】
しかしながら、MPEG2では、マクロブロック単位で、フレーム構造とフィールド構造の選択が可能であることから、注目ブロックを含む注目マクロブロックの構造や、注目マクロブロックに隣接するマクロブロック(以下、適宜、隣接マクロブロックという)の構造によっては、注目ブロックに隣接する隣接ブロックにおける、注目ブロックに隣接する1次元DCT係数が、空間領域において、注目ブロックの境界と隣接する画素列を1次元DCT変換したものとなっていない場合がある。
【0156】
そこで、隣接1次元DCT係数選択/変換部32は、バッファメモリ12から供給されるDCTタイプによって、注目ブロックと隣接ブロックの構造を認識し、注目ブロックの構造を基準として、空間領域において、その注目ブロックの境界と隣接する隣接ブロックの画素列を1次元DCT変換した1次元DCT係数(隣接1次元DCT係数)を取得するようになっている。
【0157】
ここで、図8乃至図23を参照して、注目ブロックの構造を基準とした場合に、空間領域において、その注目ブロックの境界と隣接する隣接ブロックの画素列を1次元DCT変換したものとなる1次元DCT係数について説明する。
【0158】
なお、図8乃至図23では、注目マクロブロックをMBNと、注目マクロブロックMBN上下左右に隣接するマクロブロックを、それぞれMBU,MBD,MBL,MBRと表す。
【0159】
さらに、注目マクロブロックMBNの左上、左下、右上、右下のブロックを、それぞれ、BNUL,BNDL,BNUR,BNDRと表し、上隣接マクロブロック(注目ブロックの上に隣接するマクロブロック)MBUの左上、左下、右上、右下のブロックを、それぞれ、BUUL,BUDL,BUUR,BUDRと表す。また、下隣接マクロブロック(注目ブロックの下に隣接するマクロブロック)MBDの左上、左下、右上、右下のブロックを、それぞれ、BDUL,BDDL,BDUR,BDDRと表し、左隣接マクロブロック(注目ブロックの左に隣接するマクロブロック)MBLの左上、左下、右上、右下のブロックを、それぞれ、BLUL,BLDL,BLUR,BLDRと表す。さらに、右隣接マクロブロック(注目ブロックの右に隣接するマクロブロック)MBRの左上、左下、右上、右下のブロックを、それぞれ、BRUL,BRDL,BRUR,BRDRと表す。
【0160】
図8は、注目マクロブロックMBNの左上のブロックBNULが注目ブロックであるとした場合に、空間領域において、注目ブロックBNULの上側の境界、即ち、最上行の8画素に隣接する隣接ブロックの画素列(以下、適宜、上隣接画素列という)を示している。
【0161】
なお、図8において、影を付してあるラインが、注目ブロックBNULの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【0162】
注目マクロブロックMBNの左上のブロックBNULが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックMBNの中のブロックではない上隣接マクロブロックMBUの左下のブロックBUDLとなるから、注目ブロックBNU Lの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、上隣接マクロブロックMBUの両方の構造を考慮する必要がある。
【0163】
即ち、注目マクロブロックMBNと上隣接マクロブロックMBUのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの左上の8×8画素であり、図8(A)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最上行の水平1次元DCT係数に対し、空間領域において上側に隣接する画素列の水平1次元DCT係数(以下、適宜、上隣接1次元DCT係数という)は、ブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0164】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、上隣接マクロブロックMBUのDCTタイプが、フィールドDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの左上の8×8画素であり、図8(B)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フィールド構造の上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0165】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、上隣接マクロブロックMBUのDCTタイプが、フレームDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの8つの奇数ラインの左側の8画素であり、図8(C)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の上隣接マクロブロックMBUの左下ブロックBUDLの第7行目(上から7行目)の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDLの第7行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0166】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、上隣接マクロブロックMBUのDCTタイプも、フィールドDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの8つの奇数ラインの左側の8画素であり、図8(D)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フィールド構造の上隣接マクロブロックMBUの左上のブロックBUULの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0167】
次に、図9は、注目マクロブロックMBNの左上のブロックBNULが注目ブロックであるとした場合に、空間領域において、注目ブロックBNULの下側の境界、即ち、最下行の8画素に隣接する隣接ブロックの画素列(以下、適宜、下隣接画素列という)を示している。
【0168】
なお、図9において、影を付してあるラインが、注目ブロックBNULの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【0169】
注目マクロブロックMBNの左上のブロックBNULが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックMBNの中の左下のブロックBNDLとなるから、注目ブロックBNULの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNの構造のみを考慮すれば良い。
【0170】
即ち、注目マクロブロックMBNのDCTタイプが、フレームDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの左上の8×8画素であり、図9(A)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの左下のブロックBNDLの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最下行の水平1次元DCT係数に対し、空間領域において下側に隣接する画素列の水平1次元DCT係数(以下、適宜、下隣接1次元DCT係数という)は、ブロックBNDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0171】
注目マクロブロックMBNのDCTタイプが、フィールドDCTである場合は、注目ブロックBNULは、注目マクロブロックMBNの8つの奇数ラインの左側の8画素であり、図9(B)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの下に隣接する下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0172】
次に、図10は、注目マクロブロックMBNの左上のブロックBNULが注目ブロックであるとした場合に、空間領域において、注目ブロックBNULの左側の境界、即ち、最左列の8画素に隣接する隣接ブロックの画素列(以下、適宜、左隣接画素列という)を示している。
【0173】
なお、図10において、影を付してあるラインが、注目ブロックBNULの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【0174】
注目マクロブロックMBNの左上のブロックBNULが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックMBNの中のブロックではない左隣接マクロブロックMBLの右上のブロックBLURとなるから、注目ブロックBNULの最左列の画素列の左に隣接する左隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、左隣接マクロブロックMBLの両方の構造を考慮する必要がある。
【0175】
即ち、注目マクロブロックMBNと左隣接マクロブロックMBUのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの左上の8×8画素であり、図10(A)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フレーム構造の左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最左列の垂直1次元DCT係数に対し、空間領域において左側に隣接する画素列の垂直1次元DCT係数(以下、適宜、左隣接1次元DCT係数という)は、ブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0176】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、左隣接マクロブロックMBLのDCTタイプが、フィールドDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの左上の8×8画素であり、図10(B)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フィールド構造の左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLURにおける最右列の上4画素とブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0177】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、左隣接マクロブロックMBLのDCTタイプが、フレームDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの8つの奇数ラインの左側の8画素であり、図10(C)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フレーム構造の左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の奇数行の4画素と、その右下のブロックBLDRにおける奇数行の4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLURにおける最右列の奇数行の4画素とブロックBLDRにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0178】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、左隣接マクロブロックMBLのDCTタイプも、フィールドDCTの場合は、注目ブロックBNULは、注目マクロブロックMBNの8つの奇数ラインの左側の8画素であり、図10(D)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フィールド構造の左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0179】
次に、図11は、注目マクロブロックMBNの左上のブロックBNULが注目ブロックであるとした場合に、空間領域において、注目ブロックBNULの右側の境界、即ち、最右列の8画素に隣接する隣接ブロックの画素列(以下、適宜、右隣接画素列という)を示している。
【0180】
なお、図11において、影を付してあるラインが、注目ブロックBNULの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【0181】
注目マクロブロックMBNの左上のブロックBNULが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックMBNの中の右上のブロックBNURになるから、注目ブロックBNULの最右列の画素列の右に隣接する右隣接画素列は、必ず、ブロックNURの最左列の8画素となるので、注目マクロブロックMBNや、その注目マクロブロックMBNに隣接するマクロブロックの構造を考慮する必要はない。
【0182】
即ち、注目マクロブロックMBNの左上のブロックBNULが注目ブロックである場合には、図11に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、注目ブロックBNULの右隣のブロックBNURの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNULの最右列の垂直1次元DCT係数に対し、空間領域において右側に隣接する画素列の垂直1次元DCT係数(以下、適宜、右隣接1次元DCT係数という)は、ブロックBNURの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0183】
次に、図12は、注目マクロブロックMBNの左下のブロックBNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDLの上側の境界、即ち、最上行の8画素に隣接する隣接ブロックの画素列(上隣接画素列)を示している。
【0184】
なお、図12において、影を付してあるラインが、注目ブロックBNDLの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【0185】
注目マクロブロックMBNの左下のブロックBNDLが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックMBNの中の左上のブロックBNULとなるから、注目ブロックBNDLの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNの構造のみを考慮すれば良い。
【0186】
即ち、注目マクロブロックMBNのDCTタイプが、フレームDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの左下の8×8画素であり、図12(A)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの左上ブロックBNULの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBNULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0187】
注目マクロブロックMBNのDCTタイプが、フィールドDCTである場合は、注目ブロックBNDLは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図12(B)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの上に隣接する上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0188】
次に、図13は、注目マクロブロックMBNの左下のブロックBNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDLの下側の境界、即ち、最下行の8画素に隣接する隣接ブロックの画素列(下隣接画素列)を示している。
【0189】
なお、図13において、影を付してあるラインが、注目ブロックBNDLの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【0190】
注目マクロブロックMBNの左下のブロックBNDLが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックMBNの中のブロックではない下隣接マクロブロックMBDの左上のブロックBDULとなるから、注目ブロックBNDLの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、下隣接マクロブロックMBDの両方の構造を考慮する必要がある。
【0191】
即ち、注目マクロブロックMBNと下隣接マクロブロックMBDのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの左下の8×8画素であり、図13(A)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0192】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、下隣接マクロブロックMBDのDCTタイプが、フィールドDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの左下の8×8画素であり、図13(B)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フィールド構造の下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0193】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、下隣接マクロブロックMBDのDCTタイプが、フレームDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図13(C)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の下隣接マクロブロックMBDの左上のブロックBDULの第2行目の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDULの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0194】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、下隣接マクロブロックMBDのDCTタイプも、フィールドDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図13(D)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フィールド構造の下隣接マクロブロックMBDの左下のブロックBDDLの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0195】
次に、図14は、注目マクロブロックMBNの左下のブロックBNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDLの左側の境界、即ち、最左列の8画素に隣接する隣接ブロックの画素列(左隣接画素列)を示している。
【0196】
なお、図14において、影を付してあるラインが、注目ブロックBNDLの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【0197】
注目マクロブロックMBNの左下のブロックBNDLが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックMBNの中のブロックではない左隣接マクロブロックMBLの右下のブロックBLDRとなるから、注目ブロックBNDLの最左列の画素列の左に隣接する左隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、左隣接マクロブロックMBLの両方の構造を考慮する必要がある。
【0198】
即ち、注目マクロブロックMBNと左隣接マクロブロックMBLのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの左下の8×8画素であり、図14(A)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フレーム構造の左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0199】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、左隣接マクロブロックMBLのDCTタイプが、フィールドDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの左下の8×8画素であり、図14(B)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フィールド構造の左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の下4画素と、その右下のブロックBLDRにおける最右列の下4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLURにおける最右列の下4画素とブロックBLDRにおける最右列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0200】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、左隣接マクロブロックMBLのDCTタイプが、フレームDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図14(C)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フレーム構造の左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の偶数行の4画素と、その右下のブロックBLDRにおける偶数行の4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLURにおける最右列の偶数行の4画素とブロックBLDRにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0201】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、左隣接マクロブロックMBLのDCTタイプも、フィールドDCTの場合は、注目ブロックBNDLは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図14(D)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フィールド構造の左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0202】
次に、図15は、注目マクロブロックMBNの左下のブロックBNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDLの右側の境界、即ち、最右列の8画素に隣接する隣接ブロックの画素列(右隣接画素列)を示している。
【0203】
なお、図15において、影を付してあるラインが、注目ブロックBNDLの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【0204】
注目マクロブロックMBNの左下のブロックBNDLが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックMBNの中の右下のブロックBNDRになるから、注目ブロックBNDLの最右列の画素列の右に隣接する右隣接画素列は、必ず、ブロックNDRの最左列の8画素となるので、注目マクロブロックMBNや、その注目マクロブロックMBNに隣接するマクロブロックの構造を考慮する必要はない。
【0205】
即ち、注目マクロブロックMBNの左下のブロックBNDLが注目ブロックである場合には、図15に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、注目ブロックBNDLの右隣のブロックBNDRの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDLの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBNDRの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0206】
図16は、注目マクロブロックMBNの右上のブロックBNURが注目ブロックであるとした場合に、空間領域において、注目ブロックBNURの上側の境界、即ち、最上行の8画素に隣接する隣接ブロックの画素列(上隣接画素列)を示している。
【0207】
なお、図16において、影を付してあるラインが、注目ブロックBNURの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【0208】
注目マクロブロックMBNの右上のブロックBNURが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックMBNの中のブロックではない上隣接マクロブロックMBUの右下のブロックBUDRとなるから、注目ブロックBNURの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、上隣接マクロブロックMBUの両方の構造を考慮する必要がある。
【0209】
即ち、注目マクロブロックMBNと上隣接マクロブロックMBUのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの右上の8×8画素であり、図16(A)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の上隣接マクロブロックMBUの右下のブロックBUDRの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0210】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、上隣接マクロブロックMBUのDCTタイプが、フィールドDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの右上の8×8画素であり、図16(B)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フィールド構造の上隣接マクロブロックMBUの右下ブロックBUDRの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0211】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、上隣接マクロブロックMBUのDCTタイプが、フレームDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの8つの奇数ラインの右側の8画素であり、図16(C)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の上隣接マクロブロックMBUの右下のブロックBUDRの第7行目の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDRの第7行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0212】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、上隣接マクロブロックMBUのDCTタイプも、フィールドDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの8つの奇数ラインの右側の8画素であり、図16(D)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フィールド構造の上隣接マクロブロックMBUの右上のブロックBUURの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUURの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0213】
次に、図17は、注目マクロブロックMBNの右上のブロックBNURが注目ブロックであるとした場合に、空間領域において、注目ブロックBNURの下側の境界、即ち、最下行の8画素に隣接する隣接ブロックの画素列(下隣接画素列)を示している。
【0214】
なお、図17において、影を付してあるラインが、注目ブロックBNURの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【0215】
注目マクロブロックMBNの右上のブロックBNURが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックMBNの中の右下のブロックBNDRとなるから、注目ブロックBNURの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNの構造のみを考慮すれば良い。
【0216】
即ち、注目マクロブロックMBNのDCTタイプが、フレームDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの右上の8×8画素であり、図17(A)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの右下のブロックBNDRの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBNDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0217】
注目マクロブロックMBNのDCTタイプが、フィールドDCTである場合は、注目ブロックBNURは、注目マクロブロックMBNの8つの奇数ラインの右側の8画素であり、図17(B)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの下に隣接する下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0218】
次に、図18は、注目マクロブロックMBNの右上のブロックBNURが注目ブロックであるとした場合に、空間領域において、注目ブロックBNURの左側の境界、即ち、最左列の8画素に隣接する隣接ブロックの画素列(左隣接画素列)を示している。
【0219】
なお、図18において、影を付してあるラインが、注目ブロックBNURの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【0220】
注目マクロブロックMBNの右上のブロックBNURが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックMBNの中の左上のブロックBNULになるから、注目ブロックBNURの最左列の画素列の左に隣接する左隣接画素列は、必ず、ブロックBNULの最右列の8画素となるので、注目マクロブロックMBNや、その注目マクロブロックMBNに隣接するマクロブロックの構造を考慮する必要はない。
【0221】
即ち、注目マクロブロックMBNの右上のブロックBNURが注目ブロックである場合には、図18に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、注目ブロックBNURの左隣のブロックBNULの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBNULの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0222】
次に、図19は、注目マクロブロックMBNの右上のブロックBNURが注目ブロックであるとした場合に、空間領域において、注目ブロックBNURの右側の境界、即ち、最右列の8画素に隣接する隣接ブロックの画素列(右隣接画素列)を示している。
【0223】
なお、図19において、影を付してあるラインが、注目ブロックBNURの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【0224】
注目マクロブロックMBNの右上のブロックBNURが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックMBNの中のブロックではない右隣接マクロブロックMBRの左上のブロックBRULとなるから、注目ブロックBNURの最右列の画素列の右に隣接する右隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、右隣接マクロブロックMBRの両方の構造を考慮する必要がある。
【0225】
即ち、注目マクロブロックMBNと右隣接マクロブロックMBRのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの右上の8×8画素であり、図19(A)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フレーム構造の右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0226】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、右隣接マクロブロックMBRのDCTタイプが、フィールドDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの右上の8×8画素であり、図19(B)に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、フィールド構造の右隣接マクロブロックMBLの左上のブロックBRULにおける最左列の上4画素と、その左下のブロックBRDLにおける最左列の上4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULにおける最左列の上4画素とブロックBRDLにおける最左列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0227】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、右隣接マクロブロックMBRのDCTタイプが、フレームDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの8つの奇数ラインの右側の8画素であり、図19(C)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フレーム構造の右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の奇数行の4画素と、その左下のブロックBRDLにおける奇数行の4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULにおける最右列の奇数行の4画素とブロックBRDLにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0228】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、右隣接マクロブロックMBRのDCTタイプも、フィールドDCTの場合は、注目ブロックBNURは、注目マクロブロックMBNの8つの奇数ラインの右側の8画素であり、図19(D)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フィールド構造の右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNURの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0229】
次に、図20は、注目マクロブロックMBNの右下のブロックBNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDRの上側の境界、即ち、最上行の8画素に隣接する隣接ブロックの画素列(上隣接画素列)を示している。
【0230】
なお、図20において、影を付してあるラインが、注目ブロックBNDRの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【0231】
注目マクロブロックMBNの右下のブロックBNDRが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックMBNの中の右上のブロックBNURとなるから、注目ブロックBNDRの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNの構造のみを考慮すれば良い。
【0232】
即ち、注目マクロブロックMBNのDCTタイプが、フレームDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの右下の8×8画素であり、図20(A)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの右下のブロックBNDRの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBNDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0233】
注目マクロブロックMBNのDCTタイプが、フィールドDCTである場合は、注目ブロックBNDRは、注目マクロブロックMBNの8つの偶数ラインの右側の8画素であり、図20(B)に示すように、その最上行の8画素(影を付してある部分)は、空間領域において、フレーム構造の注目マクロブロックMBNの上に隣接する上隣接マクロブロックMBUの右下のブロックBUDRの最下行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最上行の水平1次元DCT係数に対する上隣接1次元DCT係数は、ブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0234】
次に、図21は、注目マクロブロックMBNの右下のブロックBNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDRの下側の境界、即ち、最下行の8画素に隣接する隣接ブロックの画素列(下隣接画素列)を示している。
【0235】
なお、図21において、影を付してあるラインが、注目ブロックBNDRの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【0236】
注目マクロブロックMBNの右下のブロックBNDRが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックMBNの中のブロックではない下隣接マクロブロックMBDの右上のブロックBDURとなるから、注目ブロックBNDRの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、下隣接マクロブロックMBDの両方の構造を考慮する必要がある。
【0237】
即ち、注目マクロブロックMBNと下隣接マクロブロックMBDのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの右下の8×8画素であり、図21(A)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0238】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、下隣接マクロブロックMBDのDCTタイプが、フィールドDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの右下の8×8画素であり、図21(B)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フィールド構造の下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBND Rの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0239】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、下隣接マクロブロックMBDのDCTタイプが、フレームDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの8つの偶数ラインの右側の8画素であり、図21(C)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フレーム構造の下隣接マクロブロックMBDの右上のブロックBDURの第2行目の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDURの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0240】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、下隣接マクロブロックMBDのDCTタイプも、フィールドDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの8つの偶数ラインの右側の8画素であり、図21(D)に示すように、その最下行の8画素(影を付してある部分)は、空間領域において、フィールド構造の下隣接マクロブロックMBDの右下のブロックBDDRの最上行の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最下行の水平1次元DCT係数に対する下隣接1次元DCT係数は、ブロックBDDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数になる。
【0241】
次に、図22は、注目マクロブロックMBNの右下のブロックBNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDRの左側の境界、即ち、最左列の8画素に隣接する隣接ブロックの画素列(左隣接画素列)を示している。
【0242】
なお、図22において、影を付してあるラインが、注目ブロックBNDRの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【0243】
注目マクロブロックMBNの右下のブロックBNDRが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックMBNの中の左下のブロックBNDLになるから、注目ブロックBNDRの最左列の画素列の左に隣接する左隣接画素列は、必ず、ブロックNDLの最右列の8画素となるので、注目マクロブロックMBNや、その注目マクロブロックMBNに隣接するマクロブロックの構造を考慮する必要はない。
【0244】
即ち、注目マクロブロックMBNの右下のブロックBNDRが注目ブロックである場合には、図22に示すように、その最左列の8画素(影を付してある部分)は、空間領域において、注目ブロックBNDRの左隣のブロックBNDLの最右列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最左列の垂直1次元DCT係数に対する左隣接1次元DCT係数は、ブロックBNDLの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0245】
次に、図23は、注目マクロブロックMBNの右下のブロックBNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックBNDRの右側の境界、即ち、最右列の8画素に隣接する隣接ブロックの画素列(右隣接画素列)を示している。
【0246】
なお、図23において、影を付してあるラインが、注目ブロックBNDRの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【0247】
注目マクロブロックMBNの右下のブロックBNDRが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックMBNの中のブロックではない右隣接マクロブロックMBRの右下のブロックBRDLとなるから、注目ブロックBNDRの最右列の画素列の右に隣接する右隣接画素列がいずれの画素列になるかは、注目マクロブロックMBNと、右隣接マクロブロックMBRの両方の構造を考慮する必要がある。
【0248】
即ち、注目マクロブロックMBNと右隣接マクロブロックMBRのDCTタイプが、いずれもフレームDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの右下の8×8画素であり、図23(A)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フレーム構造の右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0249】
注目マクロブロックMBNのDCTタイプが、フレームDCTであり、右隣接マクロブロックMBRのDCTタイプが、フィールドDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの右下の8×8画素であり、図23(B)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フィールド構造の右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の下4画素と、その左下のブロックBRDLにおける最左列の下4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULにおける最左列の下4画素とブロックBRDLにおける最左列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0250】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、右隣接マクロブロックMBRのDCTタイプが、フレームDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの8つの偶数ラインの左側の8画素であり、図23(C)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フレーム構造の右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の偶数行の4画素と、その左下のブロックBRDLにおける最左列の偶数行の4画素の合計8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最左列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRULにおける最左列の偶数行の4画素とブロックBRDLにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0251】
注目マクロブロックMBNのDCTタイプが、フィールドDCTであり、右隣接マクロブロックMBRのDCTタイプも、フィールドDCTの場合は、注目ブロックBNDRは、注目マクロブロックMBNの8つの偶数ラインの右側の8画素であり、図23(D)に示すように、その最右列の8画素(影を付してある部分)は、空間領域において、フィールド構造の右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素(斜線を付してある部分)と隣接する。従って、注目ブロックBNDRの最右列の垂直1次元DCT係数に対する右隣接1次元DCT係数は、ブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数になる。
【0252】
次に、図24は、図8乃至図23で説明したような、注目ブロックに対する隣接1次元DCT係数(上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、および右隣接1次元DCT係数)を取得する、図2の隣接1次元DCT係数選択/変換部32の構成例を示している。
【0253】
隣接1次元DCT係数選択/変換部32において、1次元逆DCT変換部31(図2)が出力する1次元DCT係数(水平1次元DCT係数および垂直1次元DCT係数)は、メモリ81に供給されるようになっており、バッファメモリ12に記憶された注目マクロブロックと隣接マクロブロック(上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロック)のDCTタイプは、サンプリング部83および選択部85に供給されるようになっている。
【0254】
制御部80は、隣接1次元DCT係数選択/変換部32を構成する各ブロックを制御する。
【0255】
メモリ81は、1次元逆DCT変換部31(図2)が出力する1次元DCT係数を、一時記憶する。
【0256】
垂直1次元逆DCT変換部82は、メモリ81に記憶された垂直1次元DCT係数を読み出して、垂直1次元逆DCT変換し、これにより、横×縦が1×8の画素列を得て出力する。垂直1次元逆DCT変換部82が出力する1×8の画素列は、サンプリング部83に供給される。
【0257】
サンプリング部83は、バッファメモリ12(図2)に記憶された注目マクロブロックと隣接マクロブロックのDCTタイプに基づき、垂直1次元逆DCT変換部83から供給される画素列を対象としたサンプリングを行い、そのサンプリングの結果得られる画素から、1×8の画素列を再構成して、垂直1次元DCT変換部84に供給する。
【0258】
垂直1次元DCT変換部84は、サンプリング部83から供給される1×8の画素列を、垂直1次元DCT変換し、これにより、横×縦が1×8の垂直1次元DCT係数を得て、選択部85に供給する。
【0259】
選択部85は、メモリ81に記憶された水平1次元DCT係数もしくは垂直1次元DCT係数、または垂直1次元DCT変換部84が出力する垂直1次元DCT係数を選択し、隣接1次元DCT係数として出力する。
【0260】
次に、図25のフローチャートを参照して、図24の隣接1次元DCT係数選択/変換部32の処理(隣接1次元DCT係数選択/変換処理)について説明する。
【0261】
メモリ81には、注目マクロブロック、上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロックの1次元DCT係数が供給されて記憶される。また、サンプリング部83および選択部85には、注目マクロブロック、上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロックのDCTタイプが供給される。
【0262】
そして、ステップS1において、制御部80は、注目マクロブロックにおける注目ブロックの位置を判定する。ステップS1において、注目ブロックが、注目ブロックの左上、左下、右上、または右下のブロックであると判定された場合、ステップS2,S3,S4、またはS5にそれぞれ進み、左上ブロック処理、左下ブロック処理、右上ブロック処理、または右下ブロック処理がそれぞれ行われ、処理を終了する。
【0263】
なお、図25のフローチャートに示した処理は、例えば、注目ブロックが変更されるごとに行われる。
【0264】
次に、図26のフローチャートを参照して、図25のステップS2における左上ブロック処理について説明する。
【0265】
左上ブロック処理では、注目マクロブロックの左上のブロックBNULについて、上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、右隣接1次元DCT係数が取得される。
【0266】
即ち、左上ブロック処理では、まず最初に、ステップS11において、選択部85が、注目マクロブロックと上隣接マクロブロックのDCTタイプを判定する。
【0267】
ステップS11において、注目マクロブロックと上隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS12に進み、選択部85は、図8(A)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0268】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフレーム構造であるときには、上隣接1次元DCT係数は、図8(A)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDLの第8行の水平1次元DCT係数である。ブロックBUDLの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS12において、メモリ81から、ブロックBUDLの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0269】
また、ステップS11において、注目マクロブロックのDCTタイプがフレームDCTであり、上隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS13に進み、選択部85は、図8(B)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0270】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフレーム構造であり、上隣接マクロブロックがフィールド構造であるときには、上隣接1次元DCT係数は、図8(B)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDLの第8行の水平1次元DCT係数である。ブロックBUDLの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS13において、メモリ81から、ブロックBUDLの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0271】
また、ステップS11において、注目マクロブロックのDCTタイプがフィールドDCTであり、上隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS14に進み、選択部85は、図8(C)で説明したように、上隣接マクロブロックMBUの左下ブロックBUDLの第7行目の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0272】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフィールド構造であり、上隣接マクロブロックがフレーム構造であるときには、上隣接1次元DCT係数は、図8(C)で説明したように、上隣接マクロブロックMBUの左下ブロックBUDLの第7行目の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDLの第7行の水平1次元DCT係数である。ブロックBUDLの第7行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS14において、メモリ81から、ブロックBUDLの第7行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0273】
また、ステップS11において、注目マクロブロックと上隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS15に進み、選択部85は、図8(D)で説明したように、上隣接マクロブロックMBUの左上のブロックBUULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0274】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフィールド構造であるときには、上隣接1次元DCT係数は、図8(D)で説明したように、上隣接マクロブロックMBUの左上のブロックBUULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUULの第8行の水平1次元DCT係数である。ブロックBUULの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS15において、メモリ81から、ブロックBUULの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0275】
ステップS12乃至S15の処理後は、いずれも、ステップS16に進み、選択部85が、注目マクロブロックのDCTタイプを判定する。
【0276】
ステップS16において、注目マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS17に進み、選択部85は、図9(A)で説明したように、注目マクロブロックMBNの左下のブロックBNDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0277】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフレーム構造であるときには、下隣接1次元DCT係数は、図9(A)で説明したように、注目マクロブロックMBNの左下のブロックBNDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBNDLの第1行の水平1次元DCT係数である。ブロックBNDLの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS17において、メモリ81から、ブロックBNDLの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0278】
また、ステップS16において、注目マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS18に進み、選択部85は、図9(B)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0279】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフィールド構造であるときには、下隣接1次元DCT係数は、図9(B)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDULの第1行の水平1次元DCT係数である。ブロックBDULの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS18において、メモリ81から、ブロックBDULの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0280】
ステップS17およびS18の処理後は、いずれも、ステップS19に進み、サンプリング部83および選択部85が、注目マクロブロックと左隣接マクロブロックのDCTタイプを判定する。
【0281】
ステップS19において、注目マクロブロックと左隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS20に進み、選択部85は、図10(A)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0282】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフレーム構造であるときには、左隣接1次元DCT係数は、図10(A)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBLURの第8列(左から8列目)の垂直1次元DCT係数である。ブロックBLURの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS20において、メモリ81から、ブロックBLURの第8列の垂直1次元DCT係数を読み出して選択し、左隣接1次元DCT係数として出力する。
【0283】
また、ステップS19において、注目マクロブロックのDCTタイプがフレームDCTであり、左隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS21乃至S23に順次進み、選択部85は、図10(B)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0284】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフレーム構造であり、左隣接マクロブロックがフィールド構造であるときには、左隣接1次元DCT係数は、図10(B)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、このような垂直1次元DCT係数は、メモリ81に存在しない。
【0285】
そこで、サンプリング部83は、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0286】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS21において、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBLURの第8列の8画素と、ブロックBLDRの第8列の8画素を得て、サンプリング部83に供給し、ステップS22に進む。
【0287】
ステップS22では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBLURの第8列の8画素のうちの上4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBLDRの第8列の8画素のうちの上4画素をサンプリングし、ブロックBLURの第8列からサンプリングした上4画素を奇数行(トップフィールド)に配置するとともに、ブロックBLDRの第8列からサンプリングした上4画素を偶数行(ボトムフィールド)に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0288】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS23において、その8画素を、垂直1次元DCT変換し、これにより、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、左隣接1次元DCT係数として出力する。
【0289】
また、ステップS19において、注目マクロブロックのDCTタイプがフィールドDCTであり、左隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS24乃至S26に順次進み、選択部85は、図10(C)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の奇数行の4画素と、その右下のブロックBLDRにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0290】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックがフィールド構造であり、左隣接マクロブロックがフレーム構造であるときには、左隣接1次元DCT係数は、図10(C)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の奇数行の4画素と、その右下のブロックBLDRにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、そのような垂直1次元DCT係数は、メモリ81に存在しない。
【0291】
そこで、サンプリング部83は、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0292】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS24において、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBLURの第8列の8画素と、ブロックBLDRの第8列の8画素を得て、サンプリング部83に供給し、ステップS25に進む。
【0293】
ステップS25では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBLURの第8列の8画素のうちの奇数行の4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBLDRの第8列の8画素のうちの奇数行の4画素をサンプリングし、ブロックBLURの第8列からサンプリングした奇数行の4画素を上側に配置するとともに、ブロックBLDRの第8列からサンプリングした奇数行の4画素を下側に配置することにより、注目マクロブロックと同一のフィールド(トップフィールド)構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0294】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS26において、その8画素を、垂直1次元DCT変換し、これにより、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の奇数行の4画素と、その右下のブロックBLDRにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、左隣接1次元DCT係数として出力する。
【0295】
また、ステップS19において、注目マクロブロックと左隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS27に進み、選択部85は、図10(D)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0296】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフィールド構造であるときには、左隣接1次元DCT係数は、図10(D)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBLURの第8列の垂直1次元DCT係数である。ブロックBLURの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS27において、メモリ81から、ブロックBLURの第8列の垂直1次元DCT係数を読み出して選択し、左隣接1次元DCT係数として出力する。
【0297】
ステップS20,S23,S26、およびS27の処理後は、いずれも、ステップS28に進み、選択部85は、図11で説明したように、注目ブロックBNULの右隣のブロックBNURの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0298】
即ち、注目ブロックが、注目マクロブロックの左上のブロックBNULである場合には、右隣接1次元DCT係数は、図11で説明したように、注目ブロックBNULの右隣のブロックBNURの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBNURの第1列の垂直1次元DCT係数である。ブロックBNURの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS28において、メモリ81から、ブロックBNURの第1列の垂直1次元DCT係数を読み出して選択し、右隣接1次元DCT係数として出力して、左上ブロック処理を終了する。
【0299】
次に、図27のフローチャートを参照して、図25のステップS3における左下ブロック処理について説明する。
【0300】
左下ブロック処理では、注目マクロブロックの左下のブロックBNDLについて、上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、右隣接1次元DCT係数が取得される。
【0301】
即ち、左下ブロック処理では、まず最初に、ステップS31において、選択部85が、注目マクロブロックのDCTタイプを判定する。
【0302】
ステップS31において、注目マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS32に進み、選択部85は、図12(A)で説明したように、注目マクロブロックMBNの左上のブロックBNULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0303】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフレーム構造であるときには、上隣接1次元DCT係数は、図12(A)で説明したように、注目マクロブロックMBNの左上のブロックBNULの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBNULの第8行の水平1次元DCT係数である。ブロックBNULの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS32において、メモリ81から、ブロックBNULの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0304】
また、ステップS31において、注目マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS33に進み、選択部85は、図12(B)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0305】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフィールド構造であるときには、上隣接1次元DCT係数は、図12(B)で説明したように、上隣接マクロブロックMBUの左下のブロックBUDLの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDLの第8行の水平1次元DCT係数である。ブロックBUDLの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS33において、メモリ81から、ブロックBUDLの第1行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0306】
ステップS32およびS33の処理後は、いずれも、ステップS34に進み、選択部85が、注目マクロブロックと下隣接マクロブロックのDCTタイプを判定する。
【0307】
ステップS34において、注目マクロブロックと下隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS35に進み、選択部85は、図13(A)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULにおける最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0308】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフレーム構造であるときには、下隣接1次元DCT係数は、図13(A)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULにおける最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDULの第1行の水平1次元DCT係数である。ブロックBDULの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS35において、メモリ81から、ブロックBDULの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0309】
また、ステップS34において、注目マクロブロックのDCTタイプがフレームDCTであり、下隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS36に進み、選択部85は、図13(B)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0310】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフレーム構造であり、下隣接マクロブロックがフィールド構造であるときには、下隣接1次元DCT係数は、図13(B)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDULの第1行の水平1次元DCT係数である。ブロックBDULの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS36において、メモリ81から、ブロックBDULの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0311】
また、ステップS34において、注目マクロブロックのDCTタイプがフィールドDCTであり、下隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS37に進み、選択部85は、図13(C)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0312】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフィールド構造であり、下隣接マクロブロックがフレーム構造であるときには、下隣接1次元DCT係数は、図13(C)で説明したように、下隣接マクロブロックMBDの左上のブロックBDULの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDULの第2行の水平1次元DCT係数である。ブロックBDULの第2行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS37において、メモリ81から、ブロックBDULの第2行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0313】
また、ステップS34において、注目マクロブロックと下隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS38に進み、選択部85は、図13(D)で説明したように、下隣接マクロブロックMBDの左下のブロックBDDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0314】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフィールド構造であるときには、下隣接1次元DCT係数は、図13(D)で説明したように、下隣接マクロブロックMBDの左下のブロックBDDLの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDDLの第1行の水平1次元DCT係数である。ブロックBDDLの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS38において、メモリ81から、ブロックBDDLの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0315】
ステップS35乃至S38の処理後は、いずれも、ステップS39に進み、サンプリング部83および選択部85が、注目マクロブロックと左隣接マクロブロックのDCTタイプを判定する。
【0316】
ステップS39において、注目マクロブロックと左隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS40に進み、選択部85は、図14(A)で説明したように、左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0317】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフレーム構造であるときには、左隣接1次元DCT係数は、図14(A)で説明したように、左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBLDRの第8列の垂直1次元DCT係数である。ブロックBLDRの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS40において、メモリ81から、ブロックBLDRの第8列の垂直1次元DCT係数を読み出して選択し、左隣接1次元DCT係数として出力する。
【0318】
また、ステップS39において、注目マクロブロックのDCTタイプがフレームDCTであり、左隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS41乃至S43に順次進み、選択部85は、図14(B)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の下4画素と、その右下のブロックBLDRにおける最右列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0319】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフレーム構造であり、左隣接マクロブロックがフィールド構造であるときには、左隣接1次元DCT係数は、図14(B)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、このような垂直1次元DCT係数は、メモリ81に存在しない。
【0320】
そこで、サンプリング部83は、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0321】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS41において、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBLURの第8列の8画素と、ブロックBLDRの第8列の8画素を得て、サンプリング部83に供給し、ステップS42に進む。
【0322】
ステップS42では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBLURの第8列の8画素のうちの下4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBLDRの第8列の8画素のうちの下4画素をサンプリングし、ブロックBLURの第8列からサンプリングした上4画素を奇数行(トップフィールド)に配置するとともに、ブロックBLDRの第8列からサンプリングした上4画素を偶数行(ボトムフィールド)に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0323】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS43において、その8画素を、垂直1次元DCT変換し、これにより、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の上4画素と、その右下のブロックBLDRにおける最右列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、左隣接1次元DCT係数として出力する。
【0324】
また、ステップS39において、注目マクロブロックのDCTタイプがフィールドDCTであり、左隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS44乃至S46に順次進み、選択部85は、図14(C)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の偶数行の4画素と、その右下のブロックBLDRにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0325】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックがフィールド構造であり、左隣接マクロブロックがフレーム構造であるときには、左隣接1次元DCT係数は、図14(C)で説明したように、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の偶数行の4画素と、その右下のブロックBLDRにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、そのような垂直1次元DCT係数は、メモリ81に存在しない。
【0326】
そこで、サンプリング部83は、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0327】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS44において、ブロックBLURの第8列の垂直1次元DCT係数と、ブロックBLDRの第8列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBLURの第8列の8画素と、ブロックBLDRの第8列の8画素を得て、サンプリング部83に供給し、ステップS45に進む。
【0328】
ステップS45では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBLURの第8列の8画素のうちの偶数行の4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBLDRの第8列の8画素のうちの偶数行の4画素をサンプリングし、ブロックBLURの第8列からサンプリングした偶数行の4画素を上側に配置するとともに、ブロックBLDRの第8列からサンプリングした偶数行の4画素を下側に配置することにより、注目マクロブロックと同一のフィールド(ボトムフィールド)構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0329】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS46において、その8画素を、垂直1次元DCT変換し、これにより、左隣接マクロブロックMBLの右上のブロックBLURにおける最右列の偶数行の4画素と、その右下のブロックBLDRにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、左隣接1次元DCT係数として出力する。
【0330】
また、ステップS39において、注目マクロブロックと左隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS47に進み、選択部85は、図14(D)で説明したように、左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0331】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフィールド構造であるときには、左隣接1次元DCT係数は、図14(D)で説明したように、左隣接マクロブロックMBLの右下のブロックBLDRの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBLDRの第8列の垂直1次元DCT係数である。ブロックBLDRの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS47において、メモリ81から、ブロックBLDRの第8列の垂直1次元DCT係数を読み出して選択し、左隣接1次元DCT係数として出力する。
【0332】
ステップS40,S43,S46、およびS47の処理後は、いずれも、ステップS48に進み、選択部85は、図15で説明したように、注目ブロックBNDLの右隣のブロックBNDRの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0333】
即ち、注目ブロックが、注目マクロブロックの左下のブロックBNDLである場合には、右隣接1次元DCT係数は、図15で説明したように、注目ブロックBNDLの右隣のブロックBNDRの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBNDRの第1列の垂直1次元DCT係数である。ブロックBNDRの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS48において、メモリ81から、ブロックBNDRの第1列の垂直1次元DCT係数を読み出して選択し、右隣接垂直1次元DCT係数として出力して、左下ブロック処理を終了する。
【0334】
次に、図28のフローチャートを参照して、図25のステップS4における右上ブロック処理について説明する。
【0335】
右上ブロック処理では、注目マクロブロックの右上のブロックBNURについて、上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、右隣接1次元DCT係数が取得される。
【0336】
即ち、右上ブロック処理では、まず最初に、ステップS51において、選択部85が、注目マクロブロックと上隣接マクロブロックのDCTタイプを判定する。
【0337】
ステップS51において、注目マクロブロックと上隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS52に進み、選択部85は、図16(A)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0338】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフレーム構造であるときには、上隣接1次元DCT係数は、図16(A)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDRの第8行の水平1次元DCT係数である。ブロックBUDRの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS52において、メモリ81から、ブロックBUDRの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0339】
また、ステップS51において、注目マクロブロックのDCTタイプがフレームDCTであり、上隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS53に進み、選択部85は、図16(B)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0340】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフレーム構造であり、上隣接マクロブロックがフィールド構造であるときには、上隣接1次元DCT係数は、図16(B)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDRの第8行の水平1次元DCT係数である。ブロックBUDRの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS53において、メモリ81から、ブロックBUDRの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0341】
また、ステップS51において、注目マクロブロックのDCTタイプがフィールドDCTであり、上隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS54に進み、選択部85は、図16(C)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRの第7行目の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0342】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフィールド構造であり、上隣接マクロブロックがフレーム構造であるときには、上隣接1次元DCT係数は、図16(C)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRの第7行目の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDRの第7行の水平1次元DCT係数である。ブロックBUDRの第7行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS54において、メモリ81から、ブロックBUDRの第7行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0343】
また、ステップS51において、注目マクロブロックと上隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS55に進み、選択部85は、図16(D)で説明したように、上隣接マクロブロックMBUの右上のブロックBUURの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0344】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフィールド構造であるときには、上隣接1次元DCT係数は、図16(D)で説明したように、上隣接マクロブロックMBUの右上のブロックBUURの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUULの第8行の水平1次元DCT係数である。ブロックBUURの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS55において、メモリ81から、ブロックBUURの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0345】
ステップS52乃至S55の処理後は、いずれも、ステップS56に進み、選択部85が、注目マクロブロックのDCTタイプを判定する。
【0346】
ステップS56において、注目マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS57に進み、選択部85は、図17(A)で説明したように、注目マクロブロックMBNの右下のブロックBNDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0347】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフレーム構造であるときには、下隣接1次元DCT係数は、図17(A)で説明したように、注目マクロブロックMBNの右下のブロックBNDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBNDRの第1行の水平1次元DCT係数である。ブロックBNDRの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS57において、メモリ81から、ブロックBNDRの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0348】
また、ステップS56において、注目マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS58に進み、選択部85は、図17(B)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0349】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフィールド構造であるときには、下隣接1次元DCT係数は、図17(B)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDURの第1行の水平1次元DCT係数である。ブロックBDURの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS58において、メモリ81から、ブロックBDURの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0350】
ステップS57およびS58の処理後は、いずれも、ステップS59に進み、サンプリング部83および選択部85が、注目マクロブロックと右隣接マクロブロックのDCTタイプを判定する。
【0351】
ステップS59において、注目マクロブロックと右隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS60に進み、選択部85は、図19(A)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0352】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフレーム構造であるときには、右隣接1次元DCT係数は、図19(A)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBRULの第1列の垂直1次元DCT係数である。ブロックBRULの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS60において、メモリ81から、ブロックBRULの第1列の垂直1次元DCT係数を読み出して選択し、右隣接1次元DCT係数として出力する。
【0353】
また、ステップS59において、注目マクロブロックのDCTタイプがフレームDCTであり、右隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS61乃至S63に順次進み、選択部85は、図19(B)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の上4画素と、その左下のブロックBRDLにおける最左列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0354】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフレーム構造であり、右隣接マクロブロックがフィールド構造であるときには、右隣接1次元DCT係数は、図19(B)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の上4画素と、その左下のブロックBRDLにおける最左列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、このような垂直1次元DCT係数は、メモリ81に存在しない。
【0355】
そこで、サンプリング部83は、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0356】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS61において、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBRULの第1列の8画素と、ブロックBRDLの第1列の8画素を得て、サンプリング部83に供給し、ステップS62に進む。
【0357】
ステップS62では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBRULの第1列の8画素のうちの上4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBRDLの第1列の8画素のうちの上4画素をサンプリングし、ブロックBRULの第1列からサンプリングした上4画素を奇数行(トップフィールド)に配置するとともに、ブロックBRDLの第1列からサンプリングした上4画素を偶数行(ボトムフィールド)に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0358】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS63において、その8画素を、垂直1次元DCT変換し、これにより、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の上4画素と、その左下のブロックBRDLにおける最左列の上4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、右隣接1次元DCT係数として出力する。
【0359】
また、ステップS59において、注目マクロブロックのDCTタイプがフィールドDCTであり、右隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS64乃至S66に順次進み、選択部85は、図19(C)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の奇数行の4画素と、その左下のブロックBRDLにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0360】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックがフィールド構造であり、右隣接マクロブロックがフレーム構造であるときには、右隣接1次元DCT係数は、図19(C)で説明したように、右隣接マクロブロックMBLの左上のブロックBRULにおける最左列の奇数行の4画素と、その左下のブロックBRDLにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、そのような垂直1次元DCT係数は、メモリ81に存在しない。
【0361】
そこで、サンプリング部83は、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0362】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS64において、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBRULの第1列の8画素と、ブロックBRDLの第1列の8画素を得て、サンプリング部83に供給し、ステップS65に進む。
【0363】
ステップS65では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBRULの第1列の8画素のうちの奇数行の4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBRDLの第1列の8画素のうちの奇数行の4画素をサンプリングし、ブロックBRULの第1列からサンプリングした奇数行の4画素を上側に配置するとともに、ブロックBRDLの第1列からサンプリングした奇数行の4画素を下側に配置することにより、注目マクロブロックと同一のフィールド(トップフィールド)構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0364】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS66において、その8画素を、垂直1次元DCT変換し、これにより、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の奇数行の4画素と、その左下のブロックBRDLにおける奇数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、右隣接1次元DCT係数として出力する。
【0365】
また、ステップS59において、注目マクロブロックと右隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS67に進み、選択部85は、図19(D)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0366】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフィールド構造であるときには、右隣接1次元DCT係数は、図19(D)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBRULの第1列の垂直1次元DCT係数である。ブロックBRULの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS67において、メモリ81から、ブロックBRULの第1列の垂直1次元DCT係数を読み出して選択し、右隣接1次元DCT係数として出力する。
【0367】
ステップS60,S63,S66、およびS67の処理後は、いずれも、ステップS68に進み、選択部85は、図18で説明したように、注目ブロックBNURの左隣のブロックBNULの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0368】
即ち、注目ブロックが、注目マクロブロックの右上のブロックBNURである場合には、左隣接1次元DCT係数は、図18で説明したように、注目ブロックBNURの左隣のブロックBNULの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBNULの第8列の垂直1次元DCT係数である。ブロックBNURの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS68において、メモリ81から、ブロックBNULの第8列の垂直1次元DCT係数を読み出して選択し、左隣接垂直1次元DCT係数として出力して、右上ブロック処理を終了する。
【0369】
次に、図29のフローチャートを参照して、図25のステップS5における右下ブロック処理について説明する。
【0370】
右下ブロック処理では、注目マクロブロックの右下のブロックBNDRについて、上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、右隣接1次元DCT係数が取得される。
【0371】
即ち、右下ブロック処理では、まず最初に、ステップS71において、選択部85が、注目マクロブロックのDCTタイプを判定する。
【0372】
ステップS71において、注目マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS72に進み、選択部85は、図20(A)で説明したように、注目マクロブロックMBNの右上のブロックBNURの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0373】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフレーム構造であるときには、上隣接1次元DCT係数は、図20(A)で説明したように、注目マクロブロックMBNの右上のブロックBNURの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBNURの第8行の水平1次元DCT係数である。ブロックBNURの第8行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS72において、メモリ81から、ブロックBNURの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0374】
また、ステップS71において、注目マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS73に進み、選択部85は、図20(B)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数を、上隣接1次元DCT係数として取得する。
【0375】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフィールド構造であるときには、上隣接1次元DCT係数は、図20(B)で説明したように、上隣接マクロブロックMBUの右下のブロックBUDRの最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBUDRの第8行の水平1次元DCT係数である。ブロックBUDRの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS73において、メモリ81から、ブロックBUDRの第8行の水平1次元DCT係数を読み出して選択し、上隣接1次元DCT係数として出力する。
【0376】
ステップS72およびS73の処理後は、いずれも、ステップS74に進み、選択部85が、注目マクロブロックと下隣接マクロブロックのDCTタイプを判定する。
【0377】
ステップS74において、注目マクロブロックと下隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS75に進み、選択部85は、図21(A)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURにおける最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0378】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフレーム構造であるときには、下隣接1次元DCT係数は、図21(A)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURにおける最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDURの第1行の水平1次元DCT係数である。ブロックBDURの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS75において、メモリ81から、ブロックBDURの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0379】
また、ステップS74において、注目マクロブロックのDCTタイプがフレームDCTであり、下隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS76に進み、選択部85は、図21(B)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0380】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフレーム構造であり、下隣接マクロブロックがフィールド構造であるときには、下隣接1次元DCT係数は、図21(B)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURにおける最下行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDURの第1行の水平1次元DCT係数である。ブロックBDURの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS76において、メモリ81から、ブロックBDURの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0381】
また、ステップS74において、注目マクロブロックのDCTタイプがフィールドDCTであり、下隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS77に進み、選択部85は、図21(C)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0382】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフィールド構造であり、下隣接マクロブロックがフレーム構造であるときには、下隣接1次元DCT係数は、図21(C)で説明したように、下隣接マクロブロックMBDの右上のブロックBDURの第2行目の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDURの第2行の水平1次元DCT係数である。ブロックBDURの第2行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS77において、メモリ81から、ブロックBDURの第2行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0383】
また、ステップS74において、注目マクロブロックと下隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS78に進み、選択部85は、図21(D)で説明したように、下隣接マクロブロックMBDの右下のブロックBDDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数を、下隣接1次元DCT係数として取得する。
【0384】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフィールド構造であるときには、下隣接1次元DCT係数は、図21(D)で説明したように、下隣接マクロブロックMBDの右下のブロックBDDRの最上行の8画素を水平1次元DCT変換した水平1次元DCT係数であり、この水平1次元DCT係数は、ブロックBDDRの第1行の水平1次元DCT係数である。ブロックBDDRの第1行の水平1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS78において、メモリ81から、ブロックBDDRの第1行の水平1次元DCT係数を読み出して選択し、下隣接1次元DCT係数として出力する。
【0385】
ステップS75乃至S78の処理後は、いずれも、ステップS79に進み、サンプリング部83および選択部85が、注目マクロブロックと左隣接マクロブロックのDCTタイプを判定する。
【0386】
ステップS79において、注目マクロブロックと左隣接マクロブロックのDCTタイプが、いずれもフレームDCTであると判定された場合、ステップS80に進み、選択部85は、図23(A)で説明したように、右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0387】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフレーム構造であるときには、右隣接1次元DCT係数は、図23(A)で説明したように、右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBRDLの第1列の垂直1次元DCT係数である。ブロックBRDLの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS80において、メモリ81から、ブロックBRDLの第1列の垂直1次元DCT係数を読み出して選択し、右隣接1次元DCT係数として出力する。
【0388】
また、ステップS79において、注目マクロブロックのDCTタイプがフレームDCTであり、右隣接マクロブロックのDCTタイプがフィールドDCTであると判定された場合、ステップS81乃至S83に順次進み、選択部85は、図23(B)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の下4画素と、その左下のブロックBRDLにおける最左列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0389】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフレーム構造であり、右隣接マクロブロックがフィールド構造であるときには、右隣接1次元DCT係数は、図23(B)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の下4画素と、その左下のブロックBRDLにおける最左列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、このような垂直1次元DCT係数は、メモリ81に存在しない。
【0390】
そこで、サンプリング部83は、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0391】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS81において、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBRULの第1列の8画素と、ブロックBRDLの第1列の8画素を得て、サンプリング部83に供給し、ステップS82に進む。
【0392】
ステップS82では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBRULの第1列の8画素のうちの下4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBRDLの第1列の8画素のうちの下4画素をサンプリングし、ブロックBRULの第1列からサンプリングした上4画素を奇数行(トップフィールド)に配置するとともに、ブロックBRDLの第1列からサンプリングした上4画素を偶数行(ボトムフィールド)に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0393】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS83において、その8画素を、垂直1次元DCT変換し、これにより、右隣接マクロブロックMBLの左上のブロックBRULにおける最左列の下4画素と、その左下のブロックBRDLにおける最左列の下4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、右隣接1次元DCT係数として出力する。
【0394】
また、ステップS79において、注目マクロブロックのDCTタイプがフィールドDCTであり、右隣接マクロブロックのDCTタイプがフレームDCTであると判定された場合、ステップS84乃至S86に順次進み、選択部85は、図23(C)で説明したように、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の偶数行の4画素と、その左下のブロックBRDLにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0395】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックがフィールド構造であり、右隣接マクロブロックがフレーム構造であるときには、右隣接1次元DCT係数は、図23(C)で説明したように、右隣接マクロブロックMBLの左上のブロックBRULにおける最左列の偶数行の4画素と、その左下のブロックBRDLにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数となるが、そのような垂直1次元DCT係数は、メモリ81に存在しない。
【0396】
そこで、サンプリング部83は、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数の垂直1次元逆DCT変換を、垂直1次元逆DCT変換部82に要求する。
【0397】
垂直1次元逆DCT変換部82は、サンプリング部83からの要求に応じ、ステップS84において、ブロックBRULの第1列の垂直1次元DCT係数と、ブロックBRDLの第1列の垂直1次元DCT係数を、メモリ81から読み出し、垂直1次元逆DCT変換を施す。これにより、垂直1次元逆DCT変換部82は、ブロックBRULの第1列の8画素と、ブロックBRDLの第1列の8画素を得て、サンプリング部83に供給し、ステップS85に進む。
【0398】
ステップS85では、サンプリング部83は、垂直1次元逆DCT変換部82から供給されるブロックBRULの第1列の8画素のうちの偶数行の4画素をサンプリングするとともに、同じく垂直1次元逆DCT変換部82から供給されるブロックBRDLの第1列の8画素のうちの偶数行の4画素をサンプリングし、ブロックBRULの第1列からサンプリングした偶数行の4画素を上側に配置するとともに、ブロックBRDLの第1列からサンプリングした偶数行の4画素を下側に配置することにより、注目マクロブロックと同一のフィールド(ボトムフィールド)構造とした垂直方向に並ぶ8画素を、垂直1次元DCT変換部84に供給する。
【0399】
垂直1次元DCT変換部84は、サンプリング部83でサンプリングされた8画素を受信すると、ステップS86において、その8画素を、垂直1次元DCT変換し、これにより、右隣接マクロブロックMBRの左上のブロックBRULにおける最左列の偶数行の4画素と、その左下のブロックBRDLにおける偶数行の4画素の合計8画素を垂直1次元DCT変換した垂直1次元DCT係数を得て、選択部85に供給する。選択部85は、垂直1次元DCT変換部84から供給される垂直1次元DCT係数を選択し、右隣接1次元DCT係数として出力する。
【0400】
また、ステップS79において、注目マクロブロックと右隣接マクロブロックのDCTタイプが、いずれもフィールドDCTであると判定された場合、ステップS87に進み、選択部85は、図23(D)で説明したように、右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、右隣接1次元DCT係数として取得する。
【0401】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフィールド構造であるときには、右隣接1次元DCT係数は、図23(D)で説明したように、右隣接マクロブロックMBRの左下のブロックBRDLの最左列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBRDLの第1列の垂直1次元DCT係数である。ブロックBRDLの第1列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS87において、メモリ81から、ブロックBRDLの第1列の垂直1次元DCT係数を読み出して選択し、右隣接1次元DCT係数として出力する。
【0402】
ステップS80,S83,S86、およびS87の処理後は、いずれも、ステップS88に進み、選択部85は、図22で説明したように、注目ブロックBNDRの左隣のブロックBNDLの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数を、左隣接1次元DCT係数として取得する。
【0403】
即ち、注目ブロックが、注目マクロブロックの右下のブロックBNDRである場合には、左隣接1次元DCT係数は、図22で説明したように、注目ブロックBNDRの左隣のブロックBNDLの最右列の8画素を垂直1次元DCT変換した垂直1次元DCT係数であり、この垂直1次元DCT係数は、ブロックBNDLの第8列の垂直1次元DCT係数である。ブロックBNDLの第8列の垂直1次元DCT係数は、メモリ81に記憶されており、選択部85は、ステップS88において、メモリ81から、ブロックBNDLの第8列の垂直1次元DCT係数を読み出して選択し、左隣接垂直1次元DCT係数として出力して、右下ブロック処理を終了する。
【0404】
次に、図2のACパワー算出部33の処理について説明する。
【0405】
ACパワー算出部33は、上述したように、1次元逆DCT係数変換部31から供給される1次元DCT係数の交流成分のパワー(ACパワー)を求めるとともに、隣接1次元DCT係数選択/変換部32から供給される隣接1次元DCT係数のACパワーを求めるようになっている。
【0406】
即ち、ACパワー算出部33は、図30に示すように、注目ブロックにおける注目画素の位置の行の水平1次元DCT係数から、水平方向のACパワーを求めるとともに、注目画素の位置の列の垂直1次元DCT係数から、垂直方向のACパワーを求める。
【0407】
ここで、1次元DCT係数の7つの交流成分をACnと表すこととすると(n=1,2,・・・,7)、ACパワーPACは、次式によって計算される。
【0408】
AC=ΣACn 2・・・(12)
【0409】
但し、式(12)において、Σは、変数nを1から7に変えてのサメーションを表す。
【0410】
また、ACパワー算出部33は、注目ブロックについての上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、右隣接1次元DCT係数それぞれについても、式(12)にしたがい、ACパワーを求める。なお、上隣接1次元DCT係数と下隣接1次元DCT係数は、いずれも水平1次元DCT係数であり、従って、これらから求められるACパワーは、水平方向のACパワーである。また、左隣接1次元DCT係数と右隣接1次元DCT係数は、いずれも垂直1次元DCT係数であり、従って、これらから求められるACパワーは、垂直方向のACパワーである。
【0411】
ACパワー算出部33は、さらに、注目ブロックの1次元DCT係数のうち、その境界に隣接するもの(以下、適宜、境界1次元DCT係数という)についても、式(12)にしたがい、ACパワーを求める。
【0412】
即ち、ACパワー算出部33は、注目ブロックの上側の境界に隣接する第1行の水平1次元DCT係数(以下、適宜、上境界1次元DCT係数という)から、水平方向のACパワーを求める。さらに、ACパワー算出部33は、注目ブロックの下側の境界に隣接する第8行の水平1次元DCT係数(以下、適宜、下境界1次元DCT係数という)から、水平方向のACパワーを求める。また、ACパワー算出部33は、注目ブロックの左側の境界に隣接する第1列の垂直1次元DCT係数(以下、適宜、左境界1次元DCT係数という)から、垂直方向のACパワーを求めるとともに、注目ブロックの右側の境界に隣接する第8列の垂直1次元DCT係数(以下、適宜、右境界1次元DCT係数という)から、垂直方向のACパワーを求める。
【0413】
次に、図31は、以上のようにしてACパワーを求める図2のACパワー算出部33の構成例を示している。
【0414】
水平1次元DCT係数抽出部91および垂直1次元DCT係数抽出部92には、1次元逆DCT変換部31(図2)と、隣接1次元DCT係数選択/変換部32から、1次元DCT係数が供給されるようになっている。
【0415】
水平1次元DCT係数抽出部91は、そこに供給される1次元DCT係数から、ACパワーの計算対象とするものを抽出し、水平ACパワー計算部93に供給する。即ち、水平1次元DCT係数抽出部91は、そこに供給される1次元DCT係数から、注目ブロックにおける注目画素の位置の行の水平1次元DCT係数、注目ブロックについての上隣接1次元DCT係数および下隣接1次元DCT係数、並びに注目ブロックの上境界1次元DCT係数および下境界1次元DCT係数を抽出し、水平ACパワー計算部93に供給する。
【0416】
垂直1次元DCT係数抽出部92には、そこに供給される1次元DCT係数から、ACパワーの計算対象とするものを抽出し、垂直ACパワー計算部94に供給する。即ち、垂直1次元DCT係数抽出部92は、そこに供給される1次元DCT係数から、注目ブロックにおける注目画素の位置の列の垂直1次元DCT係数、注目ブロックについての左隣接1次元DCT係数および右隣接1次元DCT係数、並びに注目ブロックの左境界1次元DCT係数および右境界1次元DCT係数を抽出し、垂直ACパワー計算部94に供給する。
【0417】
水平ACパワー計算部93は、水平1次元DCT係数抽出部91から供給される水平1次元DCT係数から、式(12)にしたがって、水平方向のACパワーを計算して出力する。即ち、水平ACパワー計算部93は、注目ブロックにおける注目画素の位置の行の水平1次元DCT係数、注目ブロックについての上隣接1次元DCT係数および下隣接1次元DCT係数、並びに注目ブロックの上境界1次元DCT係数および下境界1次元DCT係数それぞれから、水平方向のACパワーを計算する。
【0418】
垂直ACパワー計算部94は、垂直1次元DCT係数抽出部92から供給される垂直1次元DCT係数から、式(12)にしたがって、垂直方向のACパワーを計算して出力する。即ち、垂直ACパワー計算部94は、注目ブロックにおける注目画素の位置の列の垂直1次元DCT係数、注目ブロックについての左隣接1次元DCT係数および右隣接1次元DCT係数、並びに注目ブロックの左境界1次元DCT係数および右境界1次元DCT係数それぞれから、垂直方向のACパワーを計算する。
【0419】
なお、以上のようにして、1次元DCT係数から求められるACパワーは、その1次元DCT係数に対応する8画素の交流成分の電力と捉えることができ、従って、画像のアクティビティを表す。
【0420】
次に、図2のAC内積計算部34の処理について説明する。
【0421】
AC内積計算部34は、上述したように、1次元逆DCT係数変換部31から供給される注目ブロックの境界部分の1次元DCT係数(境界1次元DCT係数)の交流成分と、隣接1次元DCT係数選択/変換部32から供給される隣接1次元DCT係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その2つのベクトルの内積(AC内積)を求める。
【0422】
即ち、AC内積計算部34は、図32に示すように、注目ブロックについての上境界1次元DCT係数の交流成分と、上隣接1次元DCT係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その2つのベクトルのAC内積(以下、上内積という)を、次式にしたがって求める。
【0423】
I=Σ(ACn×ACn’)・・・(13)
【0424】
但し、式(13)において、Iは、AC内積を表す。さらに、ACnは、注目ブロックについての上境界1次元DCT係数のn番目の交流成分を表し、ACn’は、注目ブロックについての上隣接1次元DCT係数のn番目の交流成分を表す。また、Σは、nを1から7に変えてのサメーションを表す。
【0425】
AC内積計算部34は、注目ブロックについての下境界1次元DCT係数と下隣接1次元DCT係数、左境界1次元DCT係数と左隣接1次元DCT係数、または右境界1次元DCT係数と右隣接1次元DCT係数それぞれについても、式(13)にしたがい、AC内積を求める。
【0426】
ここで、以下、適宜、注目ブロックについての下境界1次元DCT係数と下隣接1次元DCT係数とから求められるAC内積を、下内積と、左境界1次元DCT係数と左隣接1次元DCT係数とから求められるAC内積を、左内積と、右境界1次元DCT係数と右隣接1次元DCT係数とから求められるAC内積を、右内積と、それぞれいう。
【0427】
AC内積は、注目ブロックの境界を挟む境界1次元DCT係数と隣接1次元DCT係数の交流成分が類似する場合、即ち、境界1次元DCT係数の交流成分をコンポーネントとするベクトルと、隣接1次元DCT係数の交流成分をコンポーネントとするベクトルとがつくる角度が90度未満(以上)である場合に正の値(0以上の値)となる。従って、AC内積が正の値であることは、注目ブロックの境界を挟む境界1次元DCT係数に対応する8画素と、隣接1次元DCT係数に対応する8画素の波形パターンが似ていることを表しており、例えば、注目ブロックとそれに隣接するブロックの境界において、その境界を横切る形で連続しているエッジが存在することを表す。
【0428】
次に、図33は、注目ブロックについて、上述のようなAC内積(上内積、下内積、左内積、右内積)を計算する図2のAC内積計算部34の構成例を示している。
【0429】
1次元逆DCT変換部31と隣接1次元DCT係数選択/変換部32が出力する1次元DCT係数は、上内積用1次元DCT係数抽出部101、下内積用1次元DCT係数抽出部102、左内積用1次元DCT係数抽出部103、および右内積用1次元DCT係数抽出部104に供給されるようになっている。
【0430】
上内積用1次元DCT係数抽出部101は、注目ブロックについて、上内積を計算するのに用いる上境界1次元DCT係数と上隣接1次元DCT係数を、そこに供給される1次元DCT係数から抽出し、上内積演算部105に供給する。
【0431】
上内積演算部105は、上内積用1次元DCT係数抽出部101から供給される上境界1次元DCT係数と上隣接1次元DCT係数から、式(13)にしたがって、上内積を計算して出力する。
【0432】
下内積用1次元DCT係数抽出部102は、注目ブロックについて、下内積を計算するのに用いる下境界1次元DCT係数と下隣接1次元DCT係数を、そこに供給される1次元DCT係数から抽出し、下内積演算部106に供給する。
【0433】
下内積演算部106は、下内積用1次元DCT係数抽出部102から供給される下境界1次元DCT係数と下隣接1次元DCT係数から、式(13)にしたがって、下内積を計算して出力する。
【0434】
左内積用1次元DCT係数抽出部103は、注目ブロックについて、左内積を計算するのに用いる左境界1次元DCT係数と左隣接1次元DCT係数を、そこに供給される1次元DCT係数から抽出し、左内積演算部107に供給する。
【0435】
左内積演算部107は、左内積用1次元DCT係数抽出部103から供給される左境界1次元DCT係数と左隣接1次元DCT係数から、式(13)にしたがって、左内積を計算して出力する。
【0436】
右内積用1次元DCT係数抽出部104は、注目ブロックについて、右内積を計算するのに用いる右境界1次元DCT係数と右隣接1次元DCT係数を、そこに供給される1次元DCT係数から抽出し、右内積演算部108に供給する。
【0437】
右内積演算部108は、右内積用1次元DCT係数抽出部104から供給される右境界1次元DCT係数と右隣接1次元DCT係数から、式(13)にしたがって、右内積を計算して出力する。
【0438】
次に、図34は、図2のクラスコード生成部36の構成例を示している。
【0439】
クラスコード生成部36は、輝度信号のブロックを対象に、そのブロックを構成する画素をクラス分類するようになっている。
【0440】
即ち、比較部111および112には、ACパワー算出部33(図2)が出力するACパワーが供給される。平坦性条件判定部113には、ACパワー算出部33(図2)が出力するACパワー、並びに1次元逆DCT変換部31および隣接1次元DCT係数選択/変換部32が出力する1次元DCT係数が供給される。連続性判定部114には、AC内積計算部34(図2)が出力するAC内積が供給される。境界部エッジ条件判定部115には、1次元逆DCT変換部31および隣接1次元DCT係数選択/変換部32が出力する1次元DCT係数が供給される。
【0441】
比較部111は、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の行の水平1次元DCT係数から求められた水平方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部116に供給する。
【0442】
比較部112は、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の列の垂直1次元DCT係数から求められた垂直方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部116に供給する。
【0443】
平坦性条件判定部113は、注目ブロックについて、境界1次元DCT係数から求められたACパワー、隣接1次元DCT係数から求められたACパワー、さらには、境界1次元DCT係数の直流成分、隣接1次元DCT係数の直流成分に基づき、注目ブロックの上下左右それぞれの境界について、各境界部分における画像の平坦性を判定し、その判定結果を、クラスコード生成部116に供給する。
【0444】
連続性条件判定部114は、注目ブロックについて求められた上内積、下内積、左内積、右内積に基づき、注目ブロックの上下左右それぞれの境界について、各協会部分における画像の連続性を判定し、その判定結果を、クラスコード生成部116に供給する。
【0445】
境界部エッジ条件判定部115は、注目ブロックについての境界1次元DCT係数の直流成分と、隣接1次元DCT係数の直流成分とに基づき、注目ブロックの上下左右それぞれの境界について、その境界に沿ってエッジが存在するかどうかを判定し、その判定結果を、クラスコード生成部116に供給する。
【0446】
クラスコード作成部116は、比較部111および112、平坦性条件判定部113、連続性条件判定部114、並びに境界部エッジ条件判定部115の出力に基づき、注目画素をクラス分類し、そのクラスを表すクラスコード(輝度クラスコード)を作成(生成)して出力する。
【0447】
ここで、図35は、クラスコード作成部116が出力するクラスコードのフォーマットを示している。
【0448】
図35の実施の形態では、クラスコードは、10ビットとされており、その先頭から、2ビットのACパワークラスコード、4ビットのブロック平坦性クラスコード、4ビットのブロック間連続性クラスコードが順次配置されて構成される。
【0449】
2ビットのACパワークラスコードは、注目画素を、その垂直方向のACパワーと水平方向のACパワーによってクラス分けするもので、その先頭のビットは、注目画素の列の垂直1次元DCT係数から求められた垂直方向のACパワーによって決定され、2番目のビットは、注目画素の行の水平1次元DCT係数から求められた水平方向のACパワーによって決定される。従って、ACパワークラスコードは、画素ごとに決定される。
【0450】
4ビットのブロック平坦性クラスコードは、注目画素を含むブロック(注目ブロック)を、その上下左右それぞれの境界部分の平坦性(注目ブロックとそれに隣接するブロックとの間における画像の平坦さ)によってクラス分けするもので、その1乃至4番目のビットは、注目ブロックの上、下、左、右それぞれの境界の平坦性によって決定される。従って、ブロック平坦性クラスコードは、ブロックごとに決定される。
【0451】
4ビットのブロック間連続性クラスコードは、注目画素を含むブロック(注目ブロック)を、その上下左右それぞれの境界部分の連続性(注目ブロックとそれに隣接するブロックとの間における画像のつながり具合)によってクラス分けするもので、その1乃至4番目のビットは、注目ブロックの上、下、左、右それぞれの境界の連続性によって決定される。従って、ブロック連続性クラスコードも、ブロック平坦性クラスコードと同様に、ブロックごとに決定される。
【0452】
以上から、ACパワークラスコードは、基本的に、画素ごとに異なるが、ブロック平坦性クラスコードとブロック間連続性クラスコードは、同一ブロックの画素については、同一となる。
【0453】
次に、図36のフローチャートを参照して、図34のクラスコード生成部36の処理(クラス分類処理)について説明する。
【0454】
クラスコード生成部36では、まず最初に、ステップS91において、比較部111が、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の行の水平1次元DCT係数から求められた水平方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部116に供給する。さらに、ステップS91では、比較部112が、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の列の垂直1次元DCT係数から求められた垂直方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部116に供給する。
【0455】
そして、クラスコード作成部116は、比較部111と112の出力に基づいて、注目画素のACパワークラスコードを決定する。
【0456】
即ち、クラスコード作成部116は、注目画素の列の垂直1次元DCT係数から求められた垂直方向のACパワーが、所定の閾値Aより大の場合は、2ビットのACパワークラスコードのうちの1番目のビットを、例えば1とし、その垂直方向のACパワーが、所定の閾値Aより大でない場合は、ACパワークラスコードの1番目のビットを、例えば、0とする。さらに、クラスコード作成部116は、注目画素の行の水平1次元DCT係数から求められた水平方向のACパワーが、所定の閾値Aより大の場合は、2ビットのACパワークラスコードのうちの2番目のビットを、例えば1とし、その水平方向のACパワーが、所定の閾値Aより大でない場合は、ACパワークラスコードの2番目のビットを、例えば、0とする。
【0457】
その後、ステップS92に進み、境界部エッジ条件判定部115は、注目ブロックについての境界1次元DCT係数の直流成分と、隣接1次元DCT係数の直流成分とに基づき、注目ブロックの境界について、その境界に沿ってエッジが存在するという境界部エッジ条件が満たされるかどうかを判定する。
【0458】
即ち、境界部エッジ条件判定部115は、例えば、注目ブロックについての境界1次DCT係数の直流成分DCと、隣接1次DCT係数の直流成分DC’との差分絶対値|DC−DC’|が、所定の閾値Eよりも大きい(または以上である)という条件を、境界部エッジ条件として、そのような境界部エッジ条件が満たされるかどうかを判定する。
【0459】
ステップS92において、境界部エッジ条件が満たされると判定した場合、即ち、注目ブロックについての境界1次DCT係数の直流成分DCと、隣接1次DCT係数の直流成分DC’との差が非常に大きく、従って、注目ブロックの境界部分にエッジが存在し、注目ブロックとそれに隣接するブロックの画像パターンにつながりがないと考えられる場合、境界部エッジ条件判定部115は、その旨を、クラスコード作成部116に出力し、ステップS97に進む。ステップS97では、クラスコード作成部116は、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも、例えば0とし、ステップS98に進む。
【0460】
また、ステップS92において、境界部エッジ条件が満たされないと判定された場合、ステップS93に進み、平坦性条件判定部113は、注目ブロックについて、境界1次元DCT係数から求められたACパワー、隣接1次元DCT係数から求められたACパワー、さらには、境界1次元DCT係数の直流成分、隣接1次元DCT係数の直流成分に基づき、注目ブロックの境界部分が平坦であるという平坦性条件が満たされるかどうかを判定する。
【0461】
即ち、平坦性条件判定部113は、例えば、次式で表される条件を、平坦性条件として、そのような平坦性条件が満たされるかどうかを判定する。
【0462】
(PAC≦B)∩(PAC’≦B)∩(|DC−DC’|≦D)・・・(14)
【0463】
AC’≦C・・・(15)
【0464】
但し、式(14)および(15)において、B,C,Dは、所定の閾値であり、閾値Cは、閾値Bよりも十分小さいものとする。また、式(14)および(15)において、PACは、注目ブロックについての境界1次元DCT係数から求められたACパワーを表し、PAC’は、注目ブロックについての隣接1次元DCT係数から求められたACパワーを表す。さらに、式(14)において、DCは、注目ブロックについての境界1次元DCT係数の直流成分を表し、DC’は、注目ブロックについての隣接1次元DCT係数の直流成分を表す。また、∩は、論理積を表す。
【0465】
式(14)は、注目ブロックについての境界1次元DCT係数と隣接1次元DCT係数からそれぞれ求められるACパワーPACとPAC’が、いずれも閾値B以下で(または未満で)、かつ、それぞれの直流成分DCとDC’の差分絶対値|DC−DC’|が、閾値D以下(または未満)の場合に、真となる。また、式(15)は、注目ブロックについての隣接1次元DCT係数から求められたACパワーPAC’が、閾値C以下(または未満)の場合に、真となる。
【0466】
ここで、閾値Cは、上述したように、閾値Bよりも十分小さい、例えば、0に近い値であり、従って、式(15)は、注目ブロックについての隣接1次元DCT係数から求められたACパワーPAC’が0に近い場合に、真となる。
【0467】
なお、ここでは、平坦性条件は、例えば、式(14)および(15)のうちのいずれか一方が真であれば満たされるものとする。
【0468】
ステップS93において、平坦性条件が満たされると判定された場合、平坦性条件判定部113は、その旨を、クラスコード作成部116に供給して、ステップS94に進む。
【0469】
ステップS94では、クラスコード作成部116は、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも、例えば1とし、ステップS98に進む。
【0470】
また、ステップS93において、平坦性条件が満たされないと判定された場合、ステップS95に進み、連続性条件判定部114は、注目ブロックについて求められたAC内積に基づき、注目ブロックの境界部分に連続性があるという連続性条件が満たされるかどうかを判定する。
【0471】
即ち、連続性条件判定部114は、例えば、注目ブロックについてのAC内積Iが、正の値(または0以上)であるという条件を、連続性条件として、そのような連続性条件が満たされるかどうかを判定する。
【0472】
ステップS95において、連続性条件が満たされると判定された場合、連続性条件判定部114は、その旨を、クラスコード作成部116に供給して、ステップS96に進む。
【0473】
ステップS96では、クラスコード作成部116は、ブロック平坦性クラスコードを、例えば、0とするとともに、ブロック間連続性クラスコードを、例えば、1とし、ステップS98に進む。
【0474】
一方、ステップS96において、連続性条件が満たされないと判定された場合、連続性条件判定部114は、その旨を、クラスコード作成部116に供給して、ステップS97に進む。ステップS97では、クラスコード作成部116は、上述したように、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも0とし、ステップS98に進む。
【0475】
なお、ステップS92乃至S97の処理は、注目ブロックの上下左右の境界それぞれについて、独立に行われ、これにより、ブロック平坦性クラスコードとブロック間連続性クラスコードは、注目ブロックの上下左右の境界それぞれについて求められる。
【0476】
ステップS98では、クラスコード作成部116は、ステップS91乃至S97の処理によって求められたACパワークラスコード、ブロック平坦性クラスコード、およびブロック間連続性クラスコードから、図35に示した10ビットのクラスコードを作成し、処理を終了する。
【0477】
なお、図36のフローチャートに示した処理は、新たな画素が注目画素とされるごとに行われる。但し、上述したように、ブロック平坦生クラスコードとブロック間連続性クラスコードは、同一ブロックの画素については同一となるため、同一ブロックを構成する画素については、最初の画素に対してのみ、ステップS91乃至98の処理を行い、他の画素に対しては、ステップS91とS98の処理だけを行い、ブロック平坦生クラスコードとブロック間連続性クラスコードは、最初の画素に対して得られたものを流用するようにすることが可能である。
【0478】
ここで、本実施の形態では、図35に示したように、クラスコードを10ビットとしているため、そのような10ビットのクラスコードによれば、1024(=210)通りのクラスを表すことができる。
【0479】
しかしながら、図36に示したクラス分類処理では、ブロック平坦性クラスコードが1で、ブロック間連続性クラスコードが0となるケースは、存在しない。即ち、ここでは、ブロックの境界部分が平坦であるのに、連続性がないということはありえないとして、ブロック平坦性クラスコードが1となる場合には、ブロック間連続性クラスコードも、必ず1とするようにしている。
【0480】
従って、例えば、ブロックの上の境界についてのブロック平坦性クラスコードとブロック間連続性クラスコードとの組(b1,b2)は、(0,0),(0,1),(1,1)の3通りしか取り得ない。その結果、ブロックの上下左右の4つの境界すべてについての4ビットのブロック平坦性クラスコード、および4ビットのブロック間連続性クラスコードで表現されるクラス数は、81(=34)通りとなる。
【0481】
また、2ビットのACパワークラスコードで表現されるクラス数は、4(=22)通りである。
【0482】
従って、ここでは、図35の10ビットのクラスコードで表現されるクラス数は、324(=81×4)通りとなる。
【0483】
ここで、上述の場合において、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組(b1,b2)が、(0,0)となるケースは、注目ブロックとそれに隣接する隣接ブロックにおける画像どうしにつながりがなく、注目ブロックと隣接ブロックとが、いわば「無関係」であることを表す。また、(b1,b2)が、(0,1)となるケースは、注目ブロックと隣接ブロックにおける画像が、平坦ではないが、「連続」していることを表す。さらに、(b1,b2)が、(1,1)となるケースは、注目ブロックと隣接ブロックにおける画像が、「平坦」であること(従って、「連続」でもある)ことを表す。
【0484】
なお、上述の場合には、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組(b1,b2)を、3通りとして、10ビットのクラスコードにより、324通りのクラスを表現するようにしたが、(b1,b2)は、3通りではなく、(0,0),(0,1),(1,0)、(1,1)の4通りを取り得るようにして、10ビットのクラスコードにより、1024(=210)通りのクラスを表現することができるようにすることも可能である。
【0485】
即ち、上述の場合には、式(14)または(15)のいずれか一方のみが満たされれば、平坦性条件が満たされることとして、(b1,b2)に(1,1)を割り当てるようにしたが、例えば、式(14)と(15)の両方が満たされる場合と、式(14)だけが満たされる場合とを区別するようにし、式(14)と(15)の両方が満たされる場合には、(b1,b2)に、(1,1)を割り当てるとともに、式(14)だけが満たされる場合には、(b1,b2)に、(1,0)を割り当てるようにすることが可能である。
【0486】
この場合、(b1,b2)が、(1,1)となるケースは、注目ブロックと隣接ブロックにおける画像が、「注目ブロック側と隣接ブロック側の両方で平坦」であることを表し、(b1,b2)が、(1,0)となるケースは、注目ブロックと隣接ブロックにおける画像が、「隣接ブロック側だけで平坦」であることを表す。
【0487】
また、図36のフローチャートでは、境界エッジ条件が満たされるケースであっても、平坦性条件と連続性条件のいずれもが満たされないケースであっても、(b1,b2)を、(0,0)とするようにしたが、境界エッジ条件が満たされるケースか、平坦性条件と連続性条件のいずれもが満たされないケースのうちのいずれか一方を、(1,0)に割り当てることにより、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組(b1,b2)が、4通りを取り得るようにすることも可能である。
【0488】
さらに、式(14)と(15)の両方が満たされるケースと、式(14)だけが満たされるケースとを区別するとともに、境界エッジ条件が満たされるケースと、平坦性条件と連続性条件のいずれもが満たされないケースとを区別するようにすることも可能である。但し、この場合、注目ブロックと隣接ブロックにおける画像が「連続」しているケース、および注目ブロックと隣接ブロックにおける画像が「平坦」であるケースとあわせると、注目ブロックの1つ(1辺)の境界について、5通りの場合分けが必要となる。従って、この場合、注目ブロックの境界によるクラスの場合の数は、625通りとなり、その結果、2ビットのACパワークラスコードも考慮すると、全クラス数は、2500となる。
【0489】
次に、図37は、図2のクラスコード生成部37の構成例を示している。
【0490】
クラスコード生成部37は、色差信号のブロックを対象に、そのブロックを構成する画素をクラス分類するようになっている。
【0491】
従って、クラスコード生成部37は、輝度クラスコードを出力するクラスコード生成部36と同様に構成することも可能である。
【0492】
しかしながら、色差信号のブロックは、一般に、輝度信号のブロックに比較して、画像のアクティビティが低く、1次元DCT係数の交流成分の値が小さくなるため、クラスコード生成部36と同一の処理を行うと、効果的なクラス分類が困難な場合がある。
【0493】
そこで、ここでは、クラスコード生成部37は、クラスコード生成部36で得られた輝度クラスコードをも用いて、色差信号の画素のクラス分類を行うようになっている。
【0494】
即ち、図37の実施の形態において、比較部121および122には、ACパワー算出部33(図2)が出力するACパワーが供給される。
【0495】
比較部121は、図34の比較部111と同様に、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の行の水平1次元DCT係数から求められた水平方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部123に供給する。
【0496】
比較部122は、図33の比較部112と同様に、ACパワー算出部33(図2)が出力するACパワーのうちの、注目画素の列の垂直1次元DCT係数から求められた垂直方向のACパワーを、所定の閾値Aと比較し、その比較結果を、クラスコード作成部123に供給する。
【0497】
なお、クラスコード生成部37では、色差信号のブロックを対象に処理が行われるが、上述したように、色差信号については、その1次元DCT係数の交流成分の値が小さくなることから、ACパワーも小さくなる。このため、比較部121と122で用いられる閾値Aは、図33の比較部111と112で用いられるものよりも小さい値のものを用いるのが望ましい。
【0498】
クラスコード作成部123には、比較部121および122の出力の他、クラスコード作成部36が出力する図35の輝度クラスコードも供給されるようになっており、クラスコード作成部123は、これらの比較部121および122の出力、並びに輝度クラスコードに基づき、注目画素をクラス分類し、そのクラスを表すクラスコード(色差クラスコード)を作成(生成)して出力する。
【0499】
ここで、クラスコード作成部123は、図35に示した輝度クラスコードと同一フォーマットの色差クラスコードを作成するようになっている。
【0500】
即ち、クラスコード作成部123は、注目画素のACパワークラスコードについては、比較部121と122の出力に基づき、図33のクラスコード作成部116と同様にして作成する。
【0501】
また、クラスコード作成部123は、注目画素のブロック平坦性クラスコードと、ブロック間連続性クラスコードについては、その注目画素を含む色差信号のブロック(注目ブロック)と空間的に同一位置にある輝度信号のブロックにおける画素の輝度クラスコードを用いて作成する。
【0502】
即ち、例えば、いま、画像データがYUV形式で表されるものとし、その画像フォーマットが、4:2:2であるとすると、図38(A)に示すように、左右に並ぶ2つの輝度ブロックY1およびY2と、1つの色差ブロックUと、1つの色差ブロックVとが対応する。
【0503】
そして、この場合、色差ブロックUの上の境界は、左の輝度ブロックY1の上の境界aと右の輝度ブロックY2の上の境界bに、色差ブロックUの下の境界は、輝度ブロックY1の下の境界eと輝度ブロックY2の下の境界fに、色差ブロックUの左の境界は、輝度ブロックY1の左の境界cに、色差ブロックUの右の境界は、輝度ブロックY2の右の境界dに、それぞれ対応する。
【0504】
そこで、図38(A)に点線で示してあるように、色差ブロックUを、横×縦が4×8画素の、左右に隣接する2つの小ブロックUlとUrに分割すると、図38(B)に示すように、左の小ブロックUlの上の境界は、輝度ブロックY1の上の境界aに、小ブロックUlの下の境界は、輝度ブロックY1の下の境界eに、小ブロックUlの左の境界は、輝度ブロックY1の左の境界cに、小ブロックUlの右の境界は、輝度ブロックY2の右の境界dに、それぞれ対応する。また、右の小ブロックUrの上の境界は、輝度ブロックY2の上の境界bに、小ブロックUrの下の境界は、輝度ブロックY2の下の境界fに、小ブロックUrの左の境界は、輝度ブロックY1の左の境界cに、小ブロックUrの右の境界は、輝度ブロックY2の右の境界dに、それぞれ対応する。
【0505】
ここで、図35のクラスコードにおいて、ブロックの上下左右の境界について求められたブロック平坦性クラスコードを、以下、適宜、上境界平坦性コード、下境界平坦性コード、左境界平坦性コード、右境界平坦性コードと、それぞれいう。また、ブロックの上下左右の境界について求められたブロック間連続性クラスコードを、以下、適宜、上境界連続性コード、下境界連続性コード、左境界連続性コード、右境界連続性コードと、それぞれいう。さらに、以下、適宜、上境界平坦性コードと上境界連続性コードをまとめて、上境界コードと、下境界平坦性コードと下境界連続性コードをまとめて、下境界コードと、左境界平坦性コードと左境界連続性コードをまとめて、左境界コードと、右境界平坦性コードと右境界連続性コードをまとめて、右境界コードと、それぞれいう。また、以下、適宜、上境界コード、下境界コード、左境界コード、および右境界コードをまとめて、境界コードという。
【0506】
輝度ブロックY1およびY2の境界と、小ブロックUlやUrの境界との間には、上述のような対応関係があることから、クラスコード作成部123は、小ブロックUlとUrそれぞれの画素の色差クラスコードにおける境界コードとして、輝度ブロックY1およびY2の対応する境界について求められたものを、そのまま用いるようになっている。
【0507】
即ち、クラスコード作成部123は、小ブロックUlの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY1の上境界コード、輝度ブロックY1の下境界コード、輝度ブロックY1の左境界コード、輝度ブロックY2の右境界をセットする。
【0508】
また、クラスコード作成部123は、小ブロックUrの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY2の上境界コード、輝度ブロックY2の下境界コード、輝度ブロックY1の左境界コード、輝度ブロックY2の右境界コードをセットする。
【0509】
色差ブロックVと、輝度ブロックY1およびY2との対応関係も、色差ブロックUと、輝度ブロックY1およびY2との対応関係と同一であり、クラスコード作成部123は、色差ブロックUにおける場合と同様に、色差ブロックVを、横×縦が4×8画素の2つの小ブロックVlとVrに分割し、小ブロックVlとVrの色差クラスコードにおける境界コードとして、輝度ブロックY1およびY2の境界コードを、色差ブロックUにおける場合と同様にしてセットする。
【0510】
その結果、クラスコード作成部123では、小ブロックUl,Ur,Vl,Vrの画素について、次のような色差クラスコードが作成される。
【0511】
即ち、例えば、いま、図39(A)に示すように、色差ブロックU,Vに対応する2つの輝度ブロックY1またはY2の画素について得られている10ビットの輝度クラスコードの第iビット(最下位ビットからiビット目)を、BL#i−1またはBR#i−1と、それぞれ表すこととすると、小ブロックUl,Ur,Vl,Vrの画素については、図39(B)に示すようなクラスコードが作成される。
【0512】
即ち、小ブロックUl,Vlの画素の色差クラスコードの第1乃至第8ビットには、BR0,BL1,BL2,BL3,BR4,BL5,BL6,BL7がそれぞれ配置される。また、小ブロックUr,Vrの画素の色差クラスコードの第1乃至第8ビットには、BR0,BL1,BR2,BR3,BR4,BL5,BR6,BR7がそれぞれ配置される。
【0513】
ここで、色差クラスコードの第9ビットと第10ビットは、輝度クラスコードにおける場合と同様に、注目画素のACパワーに基づいて決定される。
【0514】
次に、画像フォーマットが、例えば、4:2:0である場合には、図40(A)に示すように、左上、左下、右上、右下の位置関係にある4つの隣接する輝度ブロックY1,Y2,Y3,Y4と、1つの色差ブロックUと、1つの色差ブロックVとが対応する。
【0515】
そして、この場合、図40(A)に点線で示してあるように、色差ブロックUを、横×縦が4×4画素の左上、左下、右上、右下の位置関係にある4つの小ブロックUul,Ull,Uur,Ulrに分割すると、図40(B)に示すように、小ブロックUulの上の境界は、輝度ブロックY1の上の境界aに、小ブロックUulの下の境界は、輝度ブロックY3の下の境界gに、小ブロックUulの左の境界は、輝度ブロックY1の左の境界cに、小ブロックUulの右の境界は、輝度ブロックY2の右の境界dに、それぞれ対応する。また、小ブロックUllの上の境界は、輝度ブロックY1の上の境界aに、小ブロックUllの下の境界は、輝度ブロックY3の下の境界gに、小ブロックUllの左の境界は、輝度ブロックY3の左の境界eに、小ブロックUllの右の境界は、輝度ブロックY4の右の境界fに、それぞれ対応する。さらに、小ブロックUurの上の境界は、輝度ブロックY2の上の境界bに、小ブロックUurの下の境界は、輝度ブロックY4の下の境界hに、小ブロックUurの左の境界は、輝度ブロックY1の左の境界cに、小ブロックUurの右の境界は、輝度ブロックY2の右の境界dに、それぞれ対応する。さらに、小ブロックUlrの上の境界は、輝度ブロックY2の上の境界bに、小ブロックUlrの下の境界は、輝度ブロックY4の下の境界hに、小ブロックUlrの左の境界は、輝度ブロックY3の左の境界eに、小ブロックUlrの右の境界は、輝度ブロックY4の右の境界fに、それぞれ対応する。
【0516】
輝度ブロックY1乃至Y4の境界と、小ブロックUulや、Ull,Uur,Ulrの境界との間には、上述のような対応関係があることから、クラスコード作成部123は、画像フォーマットが4:2:2である場合と同様に、小ブロックUul,Ull,Uur,Ulrそれぞれの画素の色差クラスコードにおける境界コードとして、輝度ブロックY1乃至Y4の対応する境界について求められたものを、そのまま用いるようになっている。
【0517】
即ち、クラスコード作成部123は、小ブロックUulの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY1の上境界コード、輝度ブロックY3の下境界コード、輝度ブロックY1の左境界コード、輝度ブロックY2の右境界をセットする。
【0518】
また、クラスコード作成部123は、小ブロックUllの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY1の上境界コード、輝度ブロックY3の下境界コード、輝度ブロックY3の左境界コード、輝度ブロックY4の右境界をセットする。
【0519】
さらに、クラスコード作成部123は、小ブロックUurの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY2の上境界コード、輝度ブロックY4の下境界コード、輝度ブロックY1の左境界コード、輝度ブロックY2の右境界コードをセットする。
【0520】
また、クラスコード作成部123は、小ブロックUlrの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックY2の上境界コード、輝度ブロックY4の下境界コード、輝度ブロックY3の左境界コード、輝度ブロックY4の右境界コードをセットする。
【0521】
色差ブロックVと、輝度ブロックY1乃至Y4との対応関係も、色差ブロックUと、輝度ブロックY1乃至Y4との対応関係と同一であり、クラスコード作成部123は、色差ブロックUにおける場合と同様に、色差ブロックVを、横×縦が4×4画素の4つの小ブロックVul,Vll,Vur,Vlrに分割し、小ブロックVul,Vll,Vur,Vlrの色差クラスコードにおける境界コードとして、輝度ブロックY1乃至Y4の境界コードを、色差ブロックUにおける場合と同様にしてセットする。
【0522】
その結果、クラスコード作成部123では、小ブロックUul,Ull,Uur,Ulr、およびVul,Vll,Vur,Vlrの画素について、次のような色差クラスコードが作成される。
【0523】
即ち、例えば、いま、図41(A)に示すように、色差ブロックU,Vに対応する2つの輝度ブロックY1乃至Y4の画素について得られている10ビットの輝度クラスコードの第iビットを、BUL#i−1,BUR#i−1,BDL#i−1,BDR#i−1と、それぞれ表すこととすると、小ブロックUul,Ull,Uur,Ulr、およびVul,Vll,Vur,Vlrの画素については、図41(B)に示すようなクラスコードが作成される。
【0524】
即ち、小ブロックUul,Vulの画素の色差クラスコードの第1乃至第8ビットには、BUR0,BUL1,BDL2,BUL3,BUR4,BUL5,BDL6,BUL7がそれぞれ配置される。また、小ブロックUll,Vllの画素の色差クラスコードの第1乃至第8ビットには、BDR0,BDL1,BDL2,BUL3,BDR4,BDL5,BDL6,BUL7がそれぞれ配置される。さらに、小ブロックUur,Vurの画素の色差クラスコードの第1乃至第8ビットには、BUR0,BUL1,BDR2,BUR3,BUR4,BUL5,BDR6,BUR7がそれぞれ配置される。また、小ブロックUlr,Vlrの画素の色差クラスコードの第1乃至第8ビットには、BDR0,BDL1,BDR2,BUR3,BDR4,BDL5,BDR6,BUR7がそれぞれ配置される。
【0525】
ここで、色差クラスコードの第9ビットと第10ビットは、輝度クラスコードにおける場合と同様に、注目画素のACパワーに基づいて決定される。
【0526】
なお、ここでは、画像データが、Y,U,V形式で表されるものとして説明したが、画像データが、その他、例えば、Y,Cb,Cr形式で表される場合も、同様のクラス分類を行うことが可能である。
【0527】
さらに、ここでは、画像フォーマットが、4:2:2の場合と、4:2:0の場合について説明したが、画像フォーマットが、4:4:4の場合(例えば、画像データが、R(red),G(green),B(blue)形式の場合)は、各信号について、同一のクラス分類を行っても良いし、ある信号について行ったクラス分類により得られたクラスコードを、そのまま、他の信号に用いるようにしても良い。
【0528】
次に、図42は、図2の適応処理部51の構成例を示している。
【0529】
予測タップ生成部131は、バッファメモリ12(図2)から2次元DCT係数を読み出すとともに、隣接タップデータ生成部35が出力する1次元DCT係数を受信することにより、注目画素を予測する式(1)の線形1次予測演算を行うための予測タップを生成し、積和演算部133に供給する。
【0530】
即ち、予測タップ生成部131は、例えば、バッファメモリ12に記憶された注目ブロックの2次元DCT係数すべてを、予測タップとする。この場合、予測タップは、64(=8×8)タップで構成されることになる。
【0531】
また、予測タップ生成部131は、例えば、バッファメモリ12に記憶された注目ブロックの2次元DCT係数すべてと、その注目ブロックの上下左右それぞれに隣接する4つのブロックの2次元DCT係数すべてとを、予測タップとする。この場合、予測タップは、320(=8×8×5)タップで構成されることになる。
【0532】
さらに、予測タップ生成部131は、例えば、バッファメモリ12に記憶された注目ブロックの2次元DCT係数すべてと、隣接タップデータ生成部35から供給される、注目ブロックについての上隣接1次元DCT係数、下隣接1次元DCT係数、左隣接1次元DCT係数、および右隣接1次元DCT係数を、予測タップとする。この場合、予測タップは、96(=8×8+8×4)タップで構成されることになる。
【0533】
ここで、予測タップは、その他、注目ブロックの1次元DCT係数等を含めて構成することも可能である。
【0534】
なお、以下では、説明を簡単にするため、予測タップは、注目ブロックのすべての2次元DCT係数(64の2次元DCT係数)で構成されるものとする。
【0535】
タップ係数バッファ132は、タップ係数記憶部14(図2)から供給されるタップ係数を一時記憶する。
【0536】
積和演算部131は、予測タップ生成部131から供給される予測タップと、タップ係数バッファ132に記憶されたタップ係数とを用いて、式(1)の線形1次予測演算を行い、注目画素の復号値を出力する。
【0537】
次に、図43のフローチャートを参照して、図42の適応処理部51の処理(適応処理)について説明する。
【0538】
まず最初に、ステップS101において、予測タップ生成部131は、注目ブロックの各画素を予測する式(1)の線形1次予測演算を行うための予測タップを、例えば、バッファメモリ12に記憶された注目ブロックのすべての2次元DCT係数を用いて生成し、積和演算部133に供給して、ステップS102に進む。
【0539】
ステップS102では、積和演算部133が、画素位置モードを表す変数iを、例えば1に初期化する。
【0540】
ここで、ブロックの2次元DCT係数を逆DCT変換する場合は、そのブロックにおける各画素の空間上の位置を表す位置情報が、式(11)に示した変換行列Cのコンポーネントcijを定義するcos((2j+1)×i×π/16)の位相という形で考慮される。
【0541】
一方、適応処理では、予測タップを構成するDCT係数と、タップ係数とを用いた式(1)の線形1次予測演算が行われるが、この線形1次予測演算では、復号しようとしている画素(注目画素)の位置情報が考慮されない。そこで、注目画素の位置情報を考慮した線形1次予測演算を行うために、ここでは、注目画素の位置によって異なるタップ係数が用いられるようになっている。即ち、同一のクラスに分類される画素であっても、ブロックの位置が異なる場合には、異なるタップ係数を用いて、線形1次予測演算が行われるようになっている。この場合、線形1次予測演算に用いるタップ係数が、ブロックにおける注目画素の位置によって切り替えられることとなるが、この注目画素の位置を表す情報が、画素位置モードである。
【0542】
いまの場合、ブロックは8×8画素で構成されるから、64カ所の位置が存在し、ここでは、例えば、ラスタスキャン順で、i番目の位置を、画素位置モード#iと表すこととする。
【0543】
その後、画素位置モード#iの画素が注目画素とされ、クラス分類部13(図2)において、その注目画素についてクラス分類が行われることにより、タップ係数記憶部14から、注目画素のクラスコードに対応するタップ係数が供給されてくるのを待って、ステップS103に進む。
【0544】
ステップS103では、タップ係数記憶部14からのタップ係数が、タップ係数バッファ132に供給されて記憶される。
【0545】
ここで、上述のように、同一のクラスに分類される画素であっても、ブロックにおける位置(画素位置モード)が異なる場合には、異なるタップ係数が用いられる。従って、タップ係数記憶部14からは、注目画素のクラスのタップ係数として、画素位置モードの総数である64セットのタップ係数が供給されるようになっており、タップ係数バッファ132は、そのような64セットのタップ係数を記憶する。
【0546】
その後、ステップS104に進み、積和演算部133は、画素位置モード#iに対応するタップ係数のセット(式(1)におけるw1,w2,・・・)を、タップ係数バッファ132から読み出し、ステップS105に進む。
【0547】
ステップS105では、積和演算部133は、予測タップ生成部131からの予測タップと、タップ係数バッファ132から読み出したタップ係数とを用いて、式(1)の線形1次予測演算を行い、これにより、注目画素の画素値を復号する。
【0548】
そして、ステップS106に進み、積和演算部133は、画素位置モード#iが、注目ブロックの画素数である64(=8×8)に等しいかどうかを判定する。
【0549】
ステップS106において、画素位置モード#iが64に等しくないと判定された場合、ステップS107に進み、積和演算部133は、画素位置モード#iを1だけインクリメントして、ステップS103に戻り、以下、同様の処理が繰り返される。
【0550】
また、ステップS106において、画素位置モード#iが64に等しいと判定された場合、即ち、注目ブロックのすべての画素値を復号した場合、処理を終了する。
【0551】
なお、適応処理部51では、バッファメモリ12(図2)に記憶されるブロックを、順次、注目ブロックとして、図43の適応処理を繰り返し行う。
【0552】
また、積和演算部133は、1フレーム(またはフィールド)の復号画像を得るまでは、復号したブロックを一時記憶しており、1フレームの復号画像が得られると、その1フレームの復号画像を出力する。
【0553】
ここで、MPEG符号化では、8ビットの画像データを符号化する場合、画素値および2次元DCT係数を、0を中心とした正側と負側に均等に分布させるため、原画像の画素値から128(=27)を減算して得られる画素値が符号化される。
【0554】
このため、積和演算部133では、復号画像として、各画素値のレベルが、128だけ低いものが得られる。そこで、積和演算部133は、復号画像の各画素値に、128を加算して出力するようになっている。
【0555】
次に、図2の係数メモリ43および44に記憶させるタップ係数の学習について説明する。
【0556】
MPEGでは、予測方式の違いにより、Iピクチャ、Pピクチャ、Bピクチャの3つのピクチャタイプがあるので、タップ係数の学習も、ピクチャタイプごとに行われる。
【0557】
図44は、Iピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。
【0558】
教師データストレージ141は、学習用の画像データを、教師データとして記憶している。
【0559】
生徒データ生成部142は、MPEGエンコーダ151、分離部152、およびDCT係数抽出/逆量子化部153から構成され、教師データストレージ141に記憶された学習用の画像データ(ここでは、教師データでもある)から、生徒データを生成するようになっている。
【0560】
即ち、MPEGエンコーダ151は、教師データストレージ141に記憶された学習用の画像データを読み出して、MPEG符号化し、その結果得られる符号化データを、分離部152に供給する。分離部152とDCT係数抽出/逆量子化部153は、図2の分離部1とDCT係数抽出/逆量子化部2とそれぞれ同様に構成されており、符号化データから、量子化DCT係数を分離、抽出し、逆量子化して出力する。
【0561】
なお、分離部152およびDCT係数抽出/逆量子化部153は、Iピクチャのみを対象に処理を行う。また、分離部152は、符号化データから、量子化DCT係数の他、量子化スケールやDCTタイプ等の、いわゆるサイドインフォメーションも、必要に応じて分離する。
【0562】
従って、DCT係数抽出/逆量子化部153からは、Iピクチャについての2次元DCT係数の他、DCTタイプ等の必要なサイドインフォメーションも出力される。
【0563】
DCT係数抽出/逆量子化部153が出力するIピクチャについての2次元DCT係数やDCTタイプ等は、生徒データとして、生徒データストレージ143に供給される。
【0564】
生徒データストレージ143は、生徒データ生成部142(のDCT係数抽出/逆量子化部153)から供給される生徒データを記憶する。
【0565】
予測タップ生成部144は、生徒データストレージ143に記憶された生徒データから、図42の予測タップ生成部131が生成するのと同一の予測タップを生成し、足し込み部146に供給する。従って、ここでは、予測タップ生成部144は、生徒データストレージ143に記憶された生徒データとしての2次元DCT係数のうち、注目ブロックを構成するすべての2次元DCT係数を読み出して、予測タップとする。
【0566】
なお、図42の予測タップ生成部131が注目ブロックの2次元DCT係数の他、注目ブロックに隣接するブロックの2次元DCT係数や1次元DCT係数、注目ブロックの1次元DCT係数等を用いて予測タップを生成する場合には、予測タップ生成部144も、注目ブロックの2次元DCT係数の他、注目ブロックに隣接する2次元DCT係数や1次元DCT係数、注目ブロックの1次元DCT係数等を用いて、予測タップ生成部131が生成するのと同一構造の予測タップを生成する。この場合、予測タップ生成部144では、注目ブロックに隣接するブロックの2次元DCT係数は、生徒データストレージ143から取得され、注目ブロックとそれに隣接するブロックの1次元DCT係数は、後述するクラス分類部145から取得される。
【0567】
クラス分類部145は、図2のクラス分類部13と同様にされ、生徒データストレージ143に記憶された生徒データとしての2次元DCT係数から1次元DCT係数を求め、さらに、その1次元DCT係数に基づき、図2のクラス分類部13における場合と同様にして、注目ブロックにおける注目画素をクラス分類し、注目画素のクラスを表すクラスコードを、足し込み部146に出力する。
【0568】
足し込み部146は、生徒データストレージ143に記憶された生徒データとしての2次元DCT係数のブロックを、順次、注目ブロックとし、さらに、注目ブロックの画素を、順次、注目画素として、予測タップ生成部144からの生徒データとしての予測タップ(を構成する2次元DCT係数)、および注目画素を対象とした足し込みを行う。
【0569】
即ち、足し込み部146は、クラス分類部145から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)を用い、式(8)の行列Aにおける各コンポーネントとなっている、生徒データどうしの乗算(xinim)と、サメーション(Σ)に相当する演算を行う。
【0570】
さらに、足し込み部146は、やはり、クラス分類部145から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)および注目画素(教師データ)を用い、式(8)のベクトルvにおける各コンポーネントとなっている、生徒データと教師データの乗算(xini)と、サメーション(Σ)に相当する演算を行う。
【0571】
なお、足し込み部146における、上述のような足し込みは、各クラスについて、注目画素に対する画素位置モードごとに行われる。
【0572】
足し込み部146は、以上の足し込みを、生徒データストレージ143に記憶されている生徒データとしての2次元DCT係数を構成するブロックすべてを注目ブロックとして行い、これにより、各クラスについて、画素位置モードごとに、式(8)に示した正規方程式をたてる。
【0573】
タップ係数演算部147は、足し込み部146においてクラスごとに、かつ、画素位置モードごとに生成された各正規方程式を解くことにより、クラスごとに、64の画素位置モードに対応した64セットのタップ係数を求める。
【0574】
なお、学習用の画像として用意する画像の枚数や、その画像の内容等によっては、足し込み部146において、タップ係数を求めるのに必要な数の正規方程式が得られないクラス、さらには画素位置モードが生じる場合があり得るが、タップ係数演算部147は、そのようなクラスや画素位置モードについては、例えば、デフォルトのタップ係数を出力する。
【0575】
次に、図45のフローチャートを参照して、図44の学習装置の処理(学習処理)について説明する。
【0576】
まず最初に、ステップS111において、生徒データ生成部142は、上述したように、教師データストレージ141に記憶された学習用の画像データから、Iピクチャについての生徒データを生成し、生徒データストレージ143に供給して記憶させる。
【0577】
そして、ステップS112に進み、足し込み部146は、生徒データストレージ143に記憶された生徒データとしての2次元DCT係数のブロックのうち、まだ、注目ブロックとしていないものの1つを選択して、注目ブロックとし、ステップS113に進む。
【0578】
ステップS113では、予測タップ生成部144が、注目ブロックの生徒データとしての2次元DCT係数すべてを、生徒データストレージ143から読み出すことにより、予測タップを生成し、ステップS114に進む。
【0579】
ステップS114では、足し込み部146が、画素位置モードを表す変数iを、例えば1に初期化し、ステップS115に進む。ステップS115では、クラス分類部145が、注目ブロックにおける画素位置モード#iが表す位置の画素を注目画素として、図2のクラス分類部13における場合と同様にして、注目画素のクラス分類を行い、その結果得られるクラスコードを、足し込み部146に出力する。
【0580】
足し込み部146は、ステップS116において、教師データストレージ141から、注目画素となっている教師データ(画素値)を読み出し、生徒データとしての予測タップ(を構成する2次元DCT係数)、および教師データとしての注目画素を対象として、式(8)の行列Aとベクトルvの、上述したような足し込みを行う。なお、この足し込みは、クラス分類部145からのクラスコードに対応するクラスごとに、かつ注目画素に対する画素位置モード#iごとに行われる。
【0581】
そして、ステップS117に進み、足し込み部146は、画素位置モード#iが、注目ブロックの画素数である64に等しいかどうかを判定する。
【0582】
ステップS117において、画素位置モード#iが64に等しくないと判定された場合、ステップS118に進み、足し込み部146は、画素位置モード#iを1だけインクリメントして、ステップS115に戻り、以下、同様の処理が繰り返される。
【0583】
また、ステップS117において、画素位置モード#iが64に等しいと判定された場合、即ち、注目ブロックのすべての画素を注目画素として足し込みを行った場合、ステップS119に進み、足し込み部146は、生徒データストレージ143に記憶された生徒データとしての2次元DCT係数のブロックのうち、まだ、注目ブロックとしていないもの(以下、適宜、未処理ブロックという)があるかどうかを判定する。
【0584】
ステップS119において、未処理ブロックがあると判定された場合、ステップS112に戻り、その未処理ブロックの中から、新たに注目ブロックとするものが選択され、以下、同様の処理が繰り返される。
【0585】
また、ステップS119において、未処理ブロックがないと判定された場合、即ち、足し込み部146において、各クラスについて、画素位置モードごとの正規方程式が得られた場合、ステップS120に進み、タップ係数演算部147は、各クラスの画素位置モードごとに生成された正規方程式を解くことにより、各クラスごとに、そのクラスの64の画素位置モードそれぞれに対応する64セットのタップ係数を求め、学習処理を終了する。
【0586】
次に、図46は、Pピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、図中、図44における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図46の学習装置は、生徒データ生成部151に代えて、生徒データ生成部162が設けられている他は、図44における場合と基本的に同様に構成されている。
【0587】
ここで、Pピクチャは、時間的に先行して復号(符号化)されるIまたはPピクチャを参照画像として予測符号化(ノンイントラ符号化)されるため、即ち、原画像から予測画像を減算した残差画像が2次元DCT変換されるため、図2の画像処理装置では、前処理部11において、先に復号されたIまたはPピクチャに動き補償を施し、その結果得られる予測画像の2次元DCT係数と、残差画像の2次元DCT係数とを加算した後に、適応処理部51において、適応処理を施すようになっている。
【0588】
従って、Pピクチャ用のタップ係数の学習においては、残差画像の2次元DCT係数に、予測画像の2次元DCT係数を加算したものを、生徒データとして用いる必要がある。
【0589】
ところで、Pピクチャの予測画像は、先に復号されたIまたはPピクチャを参照画像として、その参照画像に、動き補償が施されることで得ることができるが、いまの場合、Pピクチャのタップ係数を学習しようとしているので、Pピクチャ用のタップ係数は存在しない。
【0590】
一方、Iピクチャ用のタップ係数は、図44の学習装置において、あらかじめ求めておくことができる。
【0591】
そこで、図46の学習装置では、生徒データ生成部162において、Iピクチャを参照画像として予測符号化されるPピクチャのブロックについて、生徒データが生成されるようになっている。
【0592】
即ち、MPEGエンコーダ171は、教師データストレージ141に記憶された学習用の画像データを読み出して、MPEG符号化し、その結果得られる符号化データを、分離部172に供給する。分離部172とDCT係数抽出/逆量子化部173は、図2の分離部1とDCT係数抽出/逆量子化部2とそれぞれ同様に構成されており、符号化データから、量子化DCT係数を分離、抽出し、逆量子化する。
【0593】
なお、分離部172およびDCT係数抽出/逆量子化部173は、Iピクチャと、Pピクチャの予測符号化されたブロックのみを対象に処理を行う。また、分離部172は、符号化データから、量子化DCT係数の他、量子化スケールやDCTタイプや動きベクトル等のサイドインフォメーションも、必要に応じて分離する。
【0594】
DCT係数抽出/逆量子化部173は、Iピクチャの2次元DCT係数を得た場合、そのIピクチャの2次元DCT係数を、クラス分類部174および適応処理部176に供給する。
【0595】
また、DCT係数抽出/逆量子化部173は、Pピクチャの予測符号化されたブロックの2次元DCT係数、即ち、残差画像の2次元DCT係数を得た場合、その残差画像の2次元DCT係数を、周波数領域動き補償加算部181に供給する。
【0596】
さらに、DCT係数抽出/逆量子化部173は、Pピクチャの予測符号化されたブロックの動きベクトルを得た場合、その動きベクトルを、動き補償部178に供給する。
【0597】
クラス分類部174は、DCT係数抽出/逆量子化部173から供給されるIピクチャのブロックの画素を、順次、注目画素として、その注目画素について、図2のクラス分類部13における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部175に供給する。タップ係数記憶部175は、図44の学習装置で得られたIピクチャ用のタップ係数を記憶しており、図2のタップ係数記憶部14と同様に、クラス分類部174から供給されるクラスコードに対応するタップ係数を取得して、適応処理部176に供給する。
【0598】
適応処理部176は、図2の適応処理部51と同様に、DCT係数抽出/逆量子化部173から供給される、注目画素を含むブロックの2次元DCT係数すべてを予測タップとして、その予測タップと、タップ係数記憶部175から供給されるタップ係数とを用いた線形1次予測演算、即ち、適応処理を行う。
【0599】
適応処理部176において適応処理が行われることにより得られるIピクチャの復号画像は、Iピクチャストレージ177に供給されて記憶される。
【0600】
その後、動き補償部178は、DCT係数抽出/逆量子化部173から供給される動きベクトルによって動き補償を施すべき参照画像としてのIピクチャを、Iピクチャストレージ177から読み出し、そのIピクチャに動き補償を施すことで、予測画像を生成する。この予測画像は、画像メモリ179に供給されて記憶される。画像メモリ179に記憶された予測画像は、DCT変換部180において2次元DCT係数に変換され、周波数領域動き補償加算部181に供給される。周波数領域動き補償加算部181は、DCT係数抽出/逆量子化部173から供給されるPピクチャの残差画像の2次元DCT係数と、DCT変換部180から供給される予測画像の2次元DCT係数とを加算する。
【0601】
即ち、動き補償部178、画像メモリ179、DCT変換部180、および周波数領域動き補償加算部181は、図2の動き補償部4、画像メモリ5、DCT変換部21、周波数領域動き補償加算部22と同様に構成されるものであり、従って、周波数領域動き補償加算部181において、DCT係数抽出/逆量子化部173からのPピクチャの残差画像の2次元DCT係数と、DCT変換部180からの予測画像の2次元DCT係数とが加算されることにより、Pピクチャの元の画像(上述したように、原画像ではない)を2次元DCT変換した2次元DCT係数が得られる。
【0602】
周波数領域動き補償加算部181で得られたPピクチャの元の画像の2次元DCT係数は、生徒データとして、生徒データストレージ143に供給されて記憶される。
【0603】
以降は、図44の学習装置における場合と同様の処理が行われ、これにより、Pピクチャ用(正確には、Pピクチャの予測符号化されたブロック用)のタップ係数が求められる。
【0604】
次に、図47は、Bピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、Bピクチャ用のタップ係数を学習する学習装置も、図46のPピクチャ用のタップ係数を学習する学習装置と同様に、生徒データ生成部だけが、図44のIピクチャ用のタップ係数を学習する学習装置と異なるだけであるため、図47においては、Bピクチャ用のタップ係数を学習する学習装置の生徒データ生成部だけを図示してある。
【0605】
Bピクチャも、Pピクチャと同様に、時間的に先行して復号されるIまたはPピクチャを参照画像として予測符号化(ノンイントラ符号化)されるため、即ち、原画像から予測画像を減算した残差画像が2次元DCT変換されるため、図2の画像処理装置では、前処理部11において、先に復号されたIまたはPピクチャに動き補償を施し、その結果得られる予測画像の2次元DCT係数と、残差画像の2次元DCT係数とを加算した後に、適応処理部51において、適応処理を施すようになっている。
【0606】
従って、Bピクチャ用のタップ係数の学習においては、残差画像の2次元DCT係数に、予測画像の2次元DCT係数を加算したものを、生徒データとして用いる必要がある。
【0607】
そこで、図47の学習装置では、そのような生徒データを生成して、学習を行うようになっている。
【0608】
即ち、MPEGエンコーダ191には、学習用の画像データ(ここでは、教師データに等しい)が供給されるようになっており、MPEGエンコーダ191は、その学習用の画像データをMPEG符号化し、その結果得られる符号化データを、分離部192に供給する。分離部192とDCT係数抽出/逆量子化部193は、図2の分離部1とDCT係数抽出/逆量子化部2とそれぞれ同様に構成されており、符号化データから、量子化DCT係数を分離、抽出し、逆量子化して出力する。
【0609】
DCT係数抽出/逆量子化部193が出力するIピクチャの2次元DCT係数は、クラス分類部194と適応処理部196に供給される。また、DCT係数抽出/逆量子化部193が出力するPピクチャの2次元DCT係数は、周波数領域動き補償加算部201に供給される。さらに、DCT係数抽出/逆量子化部193が出力するBピクチャの2次元DCT係数は、周波数領域動き補償加算部209に供給される。
【0610】
ここで、分離部192は、符号化データから、量子化DCT係数の他、量子化スケールやDCTタイプや動くベクトル等のサイドインフォメーションも、必要に応じて分離し、DCT係数抽出/逆量子化部193を介して、必要なブロックに供給する。なお、サイドインフォメーションについては、図47の実施の形態では、DCT係数抽出/逆量子化部193から動き補償部198へのPピクチャの動きベクトルの供給と、DCT係数抽出/逆量子化部193から動き補償部206へのBピクチャの動きベクトルの供給だけを、図示してある。
【0611】
また、DCT係数抽出/逆量子化部193は、Bピクチャの予測符号化されたブロックの2次元DCT係数、即ち、残差画像の2次元DCT係数だけを、周波数領域動き補償加算部209に供給する。
【0612】
さらに、DCT係数抽出/逆量子化部193は、Pピクチャについては、予測符号化されたブロックの2次元DCT係数だけを、周波数領域動き補償加算部201に供給する。さらに、DCT係数抽出/逆量子化部193では、Pピクチャのイントラ符号化されたブロックの2次元DCT係数は、クラス分類部194および適応処理部196に供給され、以下、イントラ符号化されたIピクチャと同様に処理される。
【0613】
クラス分類部194は、DCT係数抽出/逆量子化部193から供給されるIピクチャおよびPピクチャのイントラ符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図2のクラス分類部13における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部195に供給する。タップ係数記憶部195は、図44の学習装置で得られたIピクチャ用のタップ係数を記憶しており、図2のタップ係数記憶部14と同様に、クラス分類部194から供給されるクラスコードに対応するタップ係数を取得して、適応処理部196に供給する。
【0614】
適応処理部196は、図2の適応処理部51と同様に、注目画素を含むブロックの2次元DCT係数すべてを予測タップとして、その予測タップと、タップ係数記憶部195から供給されるタップ係数とを用いた線形1次予測演算、即ち、適応処理を行う。
【0615】
適応処理部196において適応処理が行われることにより得られるIピクチャの復号画像は、Iピクチャストレージ197に供給されて記憶される。なお、適応処理部196では、イントラ符号化されたPピクチャのブロックの復号画像も得られるが、このPピクチャの復号画像は、適応処理部196からPピクチャストレージ205に供給されて記憶される。
【0616】
その後、動き補償部198は、DCT係数抽出/逆量子化部193から供給される動きベクトルによって動き補償を施すべき参照画像としてのIピクチャを、Iピクチャストレージ197から読み出し、そのIピクチャに動き補償を施すことで、Pピクチャの予測画像を生成する。このPピクチャの予測画像は、画像メモリ199に供給されて記憶される。画像メモリ199に記憶された予測画像は、DCT変換部200において2次元DCT係数に変換され、周波数領域動き補償加算部201に供給される。周波数領域動き補償加算部201は、DCT係数抽出/逆量子化部193から供給されるPピクチャの残差画像の2次元DCT係数と、DCT変換部200から供給される予測画像の2次元DCT係数とを加算する。
【0617】
即ち、動き補償部198、画像メモリ199、DCT変換部200、および周波数領域動き補償加算部201は、図2の動き補償部4、画像メモリ5、DCT変換部21、周波数領域動き補償加算部22と同様に構成されるものであり、従って、周波数領域動き補償加算部201において、DCT係数抽出/逆量子化部193からのPピクチャの残差画像の2次元DCT係数と、DCT変換部200からの予測画像の2次元DCT係数とが加算されることにより、Pピクチャの元の画像(上述したように、原画像ではない)を2次元DCT変換した2次元DCT係数が得られる。
【0618】
周波数領域動き補償加算部201で得られたPピクチャの元の画像の2次元DCT係数は、クラス分類部202および適応処理部204に供給される。
【0619】
クラス分類部202は、周波数領域動き補償加算部201から供給されるPピクチャの予測符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図2のクラス分類部13における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部203に供給する。タップ係数記憶部203は、図46の学習装置で得られたPピクチャ用のタップ係数を記憶しており、図2のタップ係数記憶部14と同様に、クラス分類部202から供給されるクラスコードに対応するタップ係数を取得して、適応処理部204に供給する。
【0620】
適応処理部204は、図2の適応処理部51と同様に、注目画素を含むブロックの2次元DCT係数すべてを予測タップとして、その予測タップと、タップ係数記憶部203から供給されるタップ係数とを用いた線形1次予測演算、即ち、適応処理を行う。
【0621】
適応処理部204において適応処理が行われることにより得られる、予測符号化されたPピクチャのブロックの復号画像は、Pピクチャストレージ205に供給されて記憶される。なお、上述したように、Pピクチャストレージ205は、適応処理部196から供給される、イントラ符号化されたPピクチャのブロックの復号画像も記憶する。
【0622】
その後、動き補償部206は、DCT係数抽出/逆量子化部193から供給されるBピクチャの動きベクトルによって動き補償を施すべき参照画像としてのIまたはPピクチャを、Iピクチャストレージ197またはPピクチャストレージ205から読み出し、そのIまたはPピクチャに動き補償を施すことで、Bピクチャの予測画像を生成する。このBピクチャの予測画像は、画像メモリ207に供給されて記憶される。画像メモリ207に記憶された予測画像は、DCT変換部208において2次元DCT係数に変換され、周波数領域動き補償加算部209に供給される。周波数領域動き補償加算部209は、DCT係数抽出/逆量子化部193から供給されるBピクチャの残差画像の2次元DCT係数と、DCT変換部208から供給される予測画像の2次元DCT係数とを加算する。
【0623】
即ち、動き補償部206、画像メモリ207、DCT変換部208、および周波数領域動き補償加算部209は、図2の動き補償部4、画像メモリ5、DCT変換部21、周波数領域動き補償加算部22と同様に構成されるものであり、従って、周波数領域動き補償加算部209において、DCT係数抽出/逆量子化部193からのBピクチャの残差画像の2次元DCT係数と、DCT変換部208からの予測画像の2次元DCT係数とが加算されることにより、Bピクチャの元の画像(上述したように、原画像ではない)を2次元DCT変換した2次元DCT係数が得られる。
【0624】
周波数領域動き補償加算部209で得られたBピクチャの元の画像の2次元DCT係数は、生徒データとして出力される。そして、以降は、図44の学習装置における場合と同様の処理が行われ、これにより、Bピクチャ用(正確には、Bピクチャの予測符号化されたブロック用)のタップ係数が求められる。
【0625】
図2の係数メモリ43および44には、以上のような学習によって、各クラスごとに求められた64の画素位置モードそれぞれごとの、I,P,Bピクチャ用のタップ係数が記憶されている。
【0626】
従って、係数メモリ43および44に記憶されたタップ係数は、線形1次予測演算を行うことにより得られる元の画素値の予測値の予測誤差(ここでは、自乗誤差)が、統計的に最小になるように学習を行うことにより求められたものであり、その結果、図2の適応処理部51によれば、MPEG符号化された画像を、元の画像に限りなく近い画像、即ち、ブロック歪みやモスキートノイズ等の各種の歪みを十分に低減した、画質の良い画像に復号することができる。
【0627】
ここで、学習装置では、輝度信号と色差信号について、別々に正規方程式がたてられ、輝度信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ43に記憶され、色差信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ44に記憶される。
【0628】
また、上述したように、MPEG符号化では、原画像の画素値から128(=27)を減算して得られる画素値が符号化される。このため、足し込み部146は、足し込みにおいて、教師データストレージ141に記憶された教師データとしての画素値から、128を減算した値を用いるようになっている。
【0629】
なお、図2の画像処理装置において、Iピクチャのブロックについては、Iピクチャ用のタップ係数を用いて適応処理が行われる。また、PピクチャまたはBピクチャのブロックについては、そのブロックが予測符号化(ノンイントラ符号化)されている場合には、PピクチャまたはBピクチャ用のタップ係数を用いて適応処理が行われるが、ブロックがイントラ符号化されている場合には、Iピクチャ用のタップ係数を用いて適応処理が行われる。
【0630】
また、上述の場合には、I,P,Bピクチャそれぞれ用のタップ係数を学習するようにしたが、Bピクチャ用のタップ係数の学習は省略することが可能である。この場合、図2の画像処理装置では、PピクチャとBピクチャの予測符号化されたブロックについて、例えば、いずれも、Pピクチャ用のタップ係数を用いて適応処理が行われる。
【0631】
次に、図48および図49は、図2の画像処理装置で、MPEG符号化された画像を復号するシミュレーションを行って得られたシミュレーション結果を示している。
【0632】
なお、シミュレーションにおいては、4:2:2フォーマットの画像を、約3.3MbpsのデータレートでMPEG2方式により符号化して得られた符号化データを用いた。また、シミュレーションでは、IピクチャとPピクチャを、それぞれ偶数フレームと奇数フレームとして、1フレームごとに交代する画像シーケンスを用いた。さらに、シミュレーションでは、上述の閾値A,B,C,D,Eとして、それぞれ、700,700,350,120,120を用いた。但し、色差信号については、閾値Aとして、80を用いた。
【0633】
図48は、シミュレーションによって得られた復号画像の輝度信号についてのS/N(Signal to Noise ratio)を示している。
【0634】
図48において、実線で示すS/Nは、図2の画像処理装置による復号画像のものを示しており、点線で示すS/Nは、MPEGの規格に準拠した従来のMPEGソフトウェアデコーダによる復号画像のものを示している。図48から、図2の画像処理装置による復号画像のS/Nが、従来のMPEGソフトウェアデコーダによる復号画像と比較して、約1dB程度向上していることが分かる。
【0635】
図49は、シミュレーションによって得られた復号画像を示している。
【0636】
即ち、図49(A)は、原画像を、図49(B)は、従来のMPEGソフトウェアデコーダによる復号画像を、図49(C)は、図2の画像処理装置による復号画像を、それぞれ示している。なお、図49(A)乃至図49(C)において、その右側の約1/3の部分が、瓶の全体が表示されている全体の画像を示しており、左側の約2/3の部分が、その瓶のラベルの部分を拡大した画像を示している。また、図49に示した画像は、Iピクチャの画像である。
【0637】
図49(A)の原画像と、図49(B)の従来のMPEGソフトウェアデコーダによる復号画像を比較すると、図49(B)の復号画像には、ブロックの境界が顕著に現れるブロック歪みが生じ、さらに、瓶のラベルにおける「Z」の文字の部分に、モスキートノイズが顕著に現れている。
【0638】
これに対して、図49(C)の図2の画像処理装置による復号画像においては、ブロック歪みが十分に低減されており、さらに、モスキートノイズも低減されている。
【0639】
次に、図50は、本発明を適用した画像処理装置の第2実施の形態の構成例を示している。なお、図中、図2における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図50の画像処理装置は、画像再構成部15において、逆DCT変換部52が新たに設けられている他は、図2における場合と基本的に同様に構成されている。
【0640】
逆DCT変換部52は、適応処理部51の出力を2次元逆DCT変換することにより、復号画像を求め、画像メモリ7およびピクチャ選択部8に出力するようになっている。
【0641】
即ち、図2の実施の形態においては、タップ係数記憶部14において、画素値を、教師データとするとともに、その画素値を2次元DCT変換、量子化し(MPEG符号化し)、さらに逆量子化した2次元DCT係数を生徒データとして学習を行うことにより得られたタップ係数が記憶され、適応処理部51において、そのようなタップ係数を用いて適応処理を行うことにより、2次元DCT係数を画素値に変換するFT変換が行われるようになっていた。
【0642】
これに対して、図50の実施の形態においては、タップ係数記憶部14において、画素値を2次元DCT変換した2次元DCT係数を教師データとするとともに、その2次元DCT係数を量子化し、さらに逆量子化した2次元DCT係数を生徒データとして学習を行うことにより得られたタップ係数が記憶されており、適応処理部51において、そのようなタップ係数を用いて適応処理を行うことにより、そのまま逆2次元DCT変換したのではブロック歪み等の目立つ復号画像となってしまう2次元DCT係数を、ブロック歪み等が目立たない復号画像が得られる2次元DCT係数に変換するようになっている。
【0643】
そして、図50の実施の形態では、適応処理部51で得られる2次元DCT係数が、逆DCT変換部52において2次元逆DCT変換され、これにより、ブロック歪み等が十分に低減された復号画像を得ることができるようになっている。
【0644】
ここで、上述のように、画素値を2次元DCT変換した2次元DCT係数を教師データとするとともに、その2次元DCT係数を量子化し、さらに逆量子化した2次元DCT係数を生徒データとする場合には、量子化され、さらに逆量子化された2次元DCT係数を、式(1)の線形予測演算によって、元の2次元DCT係数(量子化される前の2次元DCT係数)に変換するのに最適なタップ係数を得ることができる。そして、2次元DCT係数は、周波数領域のデータであるから、上述のようなタップ係数を用いて、そのまま逆2次元DCT変換したのではブロック歪み等の目立つ復号画像となってしまう2次元DCT係数を、ブロック歪み等が目立たない復号画像が得られる2次元DCT係数に変換する適応処理は、周波数(Frequency)の頭文字をとって、FF変換と呼ぶことができる。
【0645】
次に、図51は、上述のようなFF変換を行う場合に用いるタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図44における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0646】
学習用データストレージ221は、学習用の画像データを記憶している。
【0647】
教師データ生成部222は、学習用データストレージ221から学習用の画像データを読み出して、MPEG符号化における場合と同様に、ブロック単位で、2次元DCT変換し、その結果得られる2次元DCT係数を、教師データとして出力する。ここで、教師データ生成部222が出力する2次元DCT係数は、学習用の画像データを2次元DCT変換のみしたものであり、従って量子化、逆量子化されていないので、その2次元DCT係数を、2次元逆DCT変換することにより、原画像と同一の復号画像を得ることができる。
【0648】
教師データ生成部222が出力する教師データとしての2次元DCT係数は、教師データストレージ141に供給されて記憶される。
【0649】
生徒データ生成部223は、学習用データストレージ221から学習用の画像データを読み出し、図44、図46、図47における場合とそれぞれ同様にして、生徒データとなる2次元DCT係数を生成して出力する。生徒データ生成部223が出力する生徒データとしての2次元DCT係数は、生徒データストレージ143に供給されて記憶される。
【0650】
以降は、教師データストレージ141に記憶された2次元DCT係数を教師データとするとともに、生徒データストレージ143に記憶された2次元DCT係数を生徒データとして、図44の学習装置における場合と同様の処理が行われ、これにより、上述のようなFF変換を行うためのI,P,Bピクチャそれぞれ用のタップ係数が求められる。
【0651】
次に、上述の場合には、FT変換を行うためのタップ係数や、FF変換を行うためのタップ係数を用いて適応処理を行うことにより、各種の歪みが低減された復号画像を得るようにしたが、その他、例えば、後述するTT変換を行うためのタップ係数を用いて適応処理を行うことにより、各種の歪みが低減された復号画像を得るようにすることも可能である。
【0652】
即ち、図2の画像処理装置においては、図52(A)に示すように、適応処理部51において、符号化データから得た2次元DCT係数から予測タップを生成し、FT変換を行うためのタップ係数を用いて適応処理を行うことにより、復号画像を得るようにした。さらに、図50の画像処理装置においては、図52(B)に示すように、適応処理部51において、符号化データから得た2次元DCT係数から予測タップを生成し、FF変換を行うためのタップ係数を用いて適応処理を行うことにより得た2次元DCT係数を、2次元逆DCT変換することにより、復号画像を得るようにした。
【0653】
その他、図52(C)に示すように、適応処理部51において、従来のMPEGエンコーダが出力する画像から予測タップを生成して適応処理を施すことにより、各種の歪みが低減された復号画像を得るようにすることが可能である。
【0654】
図53は、そのような画像処理装置の一実施の形態の構成例を示している。なお、図中、図2における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0655】
図53において、MPEGデコーダ301には、MPEG符号化された符号化データが供給されるようになっている。MPEGデコーダ301は、MPEGの規格に準拠したデコーダで、そこに供給される符号化データをMPEGデコードし、その結果得られる復号画像(以下、適宜、MPEG復号画像という)を画像再構成部15およびDCT変換部302に供給する。なお、MPEGデコーダ301は、符号化データに含まれるDCTタイプその他のサイドインフォメーションを、クラス分類部13に供給するようにもなっている。
【0656】
DCT変換部302は、MPEGデコーダ301からのMPEG復号画像を、ブロック単位で2次元DCT変換し、その結果得られる2次元DCT係数を、クラス分類部13に供給する。クラス分類部13およびタップ係数記憶部14では、図2における場合と同様の処理が行われ、これにより、必要なタップ係数が、画像再構成部15に供給される。
【0657】
なお、タップ係数記憶部14においては、後述するTT変換用のタップ係数が記憶されている。
【0658】
画像再構成部15は、適応処理部51だけで構成されており、MPEGデコーダ301からのMPEG復号画像から予測タップを生成し、即ち、例えば、MPEG復号画像の注目画素を含むブロックの画素値すべてを予測タップとし、その予測タップと、タップ係数記憶部14から供給されるタップ係数とを用いて、式(1)の線形1次予測演算を行うことにより、各種の歪みが除去された復号画像を得て出力する。
【0659】
次に、図54は、図53のタップ係数記憶部14に記憶されるタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図44における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0660】
図54の実施の形態においては、生徒データ生成部142が、MPEGエンコーダ311とMPEGデコーダ312とから構成されている。MPEGエンコーダ311は、教師データストレージ141に記憶された画像データをMPEG符号化し、その結果得られる符号化データを、MPEGデコーダ312に出力する。MPEGデコーダ312は、MPEGエンコーダ311からの符号化データをMPEGデコードし、その結果得られるMPEG復号画像を、生徒データとして出力する。
【0661】
MPEGデコーダ312が生徒データとして出力するMPEG復号画像は、生徒データストレージ143に供給されて記憶される。
【0662】
なお、MPEGデコーダ312は、MPEGエンコーダ311が出力する符号化データから、DCTタイプ等の必要なサイドインフォメーションを抽出し、このサイドインフォメーションも、生徒データストレージ143に供給して記憶させるようになっている。
【0663】
DCT変換部321は、生徒データストレージ143に記憶された生徒データとしてのMPEG復号画像を読み出し、ブロック単位で2次元DCT変換することにより、2次元DCT係数を得て、クラス分類部145に供給する。クラス分類部145は、DCT変換部321からの2次元DCT係数に基づき、必要に応じて、生徒データストレージ143に記憶されたサイドインフォメーションを参照しながら、図2のクラス分類部13における場合と同様にクラス分類を行う。
【0664】
以降は、教師データストレージ141に記憶された画像データを教師データとするとともに、生徒データストレージ143に記憶されたMPEG復号画像を生徒データとして、図44の学習装置における場合と同様の処理が行われ、これにより、タップ係数が求められる。なお、予測タップ生成部144では、図53の適応処理部51が生成するのと同一構造の予測タップが生成される。
【0665】
ここで、上述のように、画像データ(原画像)を教師データとするとともに、その画像データをMPEG符号化し、さらにMPEG復号して得られるMPEG復号画像を生徒データとする場合には、MPEG復号画像を、式(1)の線形予測演算によって、ブロック歪み等のない原画像データ(の予測値)に変換するのに最適なタップ係数を得ることができる。そして、原画像データおよびMPEG復号画像は、時間領域のデータであるから、上述のようなタップ係数を用いて、MPEG復号画像を、原画像データが得られる2次元DCT係数に変換する適応処理は、時間(Time)の頭文字をとって、TT変換と呼ぶことができ、図54の学習装置で学習されるタップ係数は、TT変換用のタップ係数ということができる。
【0666】
なお、ここでは、TT変換用のタップ係数を、ピクチャタイプ別に学習するようにしなかったが、TT変換用のタップ係数も、FT変換用のタップ係数と同様に、ピクチャタイプ別に学習するようにすることが可能である。
【0667】
次に、図55は、本発明を適用した画像処理装置のさらに他の実施の形態の構成例を示している。なお、図中、図2における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図55の画像処理装置は、図2の画像処理装置と基本的に同様に構成されている。但し、適応処理部51には、バッファメモリ12に記憶された2次元DCT係数ではなく、DCT係数抽出/逆量子化部2が出力する2次元DCT係数と、画像メモリ5に記憶された予測画像が供給されるようになっている。
【0668】
従って、適応処理部51では、DCT係数抽出/逆量子化部2が出力する2次元DCT係数と、画像メモリ5に記憶された予測画像とから、予測タップが生成される。即ち、適応処理部51は、例えば、DCT係数抽出/逆量子化部2が出力する注目ブロックの64個の2次元DCT係数と、画像メモリ5に記憶された、注目ブロックに対応する8×8画素の予測画像の64個の画素値との合計で128タップからなる予測タップを生成する。
【0669】
ここで、イントラ符号化されたブロックについては、予測画像は存在せず、DCT係数抽出/逆量子化部2が出力する2次元DCT係数は、元の画像を2次元DCT変換したものとなっている。また、ノンイントラ符号化されたブロックについては、予測画像が存在し、DCT係数抽出/逆量子化部2が出力する2次元DCT係数は、元の画像から予測画像を減算して得られる残差画像を2次元DCT変換したものとなっているが、MPEGでは、残差画像の画素値がほとんど0である場合には、残差画像の2次元DCT係数が存在しないことがある。
【0670】
このため、適応処理部51では、イントラ符号化されたブロックが注目ブロックとされた場合には、予測画像から生成される64の予測タップは、例えば0とされる。また、適応処理部51では、ノンイントラ符号化されたブロックが注目ブロックとされ、その注目ブロックにおける残差画像の2次元DCT係数が存在しない場合には、DCT係数抽出/逆量子化部2が出力する2次元DCT係数から生成される64の予測タップは、例えば0とされる。
【0671】
図55の画像処理装置では、適応処理部51における予測タップの生成以外については、図2における場合と同様の処理が行われ、これにより、画像再構成部15からは、ブロック歪み等が低減された復号画像が出力される。
【0672】
ここで、図55の適応処理部51では、上述したように、DCT係数抽出/逆量子化部2が出力する注目ブロックの64個の2次元DCT係数と、画像メモリ5に記憶された、注目ブロックに対応する8×8画素の予測画像の64個の画素値との合計で128タップからなる予測タップが生成され、その予測タップを用いて適応処理が行われることにより、原画像の予測値、即ち、ブロック歪み等の低減された復号画像が求められる。即ち、ノンイントラ符号化されたブロックについては、残差画像の2次元DCT係数と、予測画像の画素値からなる予測タップから、画像が復号される。
【0673】
従って、この場合、適応処理部51での適応処理では、ブロック歪み等の低減とともに、残差画像に対する予測画像の加算が一括して行われているということができる。
【0674】
次に、図55の画像処理装置において用いられるタップ係数の学習について説明する。
【0675】
まず、Iピクチャ用のタップ係数の学習は、図44の学習装置で行うことができる。但し、図44の予測タップ生成部144では、図55の適応処理部51における場合と同様に、注目ブロックの64個の2次元DCT係数と、注目ブロックに対応する8×8画素の予測画像の64個の画素値との合計で128タップからなる予測タップが生成される。また、上述したように、イントラ符号化されるIピクチャのブロックについては、予測画像から生成される64の予測タップは0とされる。
【0676】
次に、図56は、図55のタップ係数記憶部14に記憶されるPピクチャ用のタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図46における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図56の学習装置は、基本的に、図46における場合と同様に構成されている。
【0677】
但し、生徒データストレージ143には、周波数領域動き補償加算部181から、元の画像の2次元DCT係数(残差画像の2次元DCT係数と、予測画像の2次元DCT係数とを加算したもの)が供給される他、DCT係数抽出/逆量子化部173から、Pピクチャの残差画像の2次元DCT係数が供給されるとともに、画像メモリ179に記憶された予測画像が供給されるようになっている。
【0678】
そして、クラス分類部145では、図2のクラス分類部13における場合と同様に、生徒データストレージ143に記憶された元の画像の2次元DCT係数を用いてクラス分類が行われる。
【0679】
また、予測タップ生成部144では、生徒データストレージ143に記憶されたPピクチャの残差画像の2次元DCT係数と、予測画像とから、図5の適応処理部51で生成されるのと同一構造の予測タップが生成される。
【0680】
次に、図57は、図55のタップ係数記憶部14に記憶されるBピクチャ用のタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図47における場合と対応する部分については、同一の符号を付してある。また、図57においても、図47における場合と同様に、生徒データ生成部以外のブロックの図示は省略してある。
【0681】
図57の学習装置は、基本的には、図47の学習装置と同様に構成されている。但し、周波数領域動き補償加算部209から、Bピクチャの元の画像の2次元DCT係数(残差画像の2次元DCT係数と、予測画像の2次元DCT係数とを加算したもの)が、生徒データとして出力される他、Bピクチャの残差画像の2次元DCT係数と、予測画像も、DCT係数抽出/逆量子化部193と、画像メモリ207それぞれから、生徒データとして出力されるようになっている。
【0682】
そして、以降の処理では、図56の学習装置における場合と同様に、Bピクチャの元の画像の2次元DCT係数を用いてクラス分類が行われるとともに、Bピクチャの残差画像の2次元DCT係数と、予測画像とから、予測タップが生成される。
【0683】
なお、図55の実施の形態では、予測画像と、残差画像の2次元DCT係数(あるいは元の画像の2次元DCT係数)とから生成した予測タップを用いて適応処理を行うことにより、ブロック歪み等を低減した復号画像を得るようにしたが、その他、例えば、予測画像と、残差画像の2次元DCT係数とから生成した予測タップを用いて、ブロック歪み等を低減した2次元DCT係数を得て、その2次元DCT係数を2次元逆DCT変換することにより、ブロック歪み等を低減した復号画像を得るようにすることも可能である。
【0684】
この場合、タップ係数の学習は、画像データ(原画像)を教師データとするのではなく、画像データをブロック単位で2次元DCT変換して得られる2次元DCT係数を教師データとして行うようにすれば良い。
【0685】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0686】
そこで、図58は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0687】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク405やROM403に予め記録しておくことができる。
【0688】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体411に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体411は、いわゆるパッケージソフトウエアとして提供することができる。
【0689】
なお、プログラムは、上述したようなリムーバブル記録媒体411からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部408で受信し、内蔵するハードディスク405にインストールすることができる。
【0690】
コンピュータは、CPU(Central Processing Unit)402を内蔵している。CPU402には、バス401を介して、入出力インタフェース410が接続されており、CPU402は、入出力インタフェース410を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部407が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)403に格納されているプログラムを実行する。あるいは、また、CPU402は、ハードディスク405に格納されているプログラム、衛星若しくはネットワークから転送され、通信部408で受信されてハードディスク405にインストールされたプログラム、またはドライブ409に装着されたリムーバブル記録媒体411から読み出されてハードディスク405にインストールされたプログラムを、RAM(Random Access Memory)404にロードして実行する。これにより、CPU402は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU402は、その処理結果を、必要に応じて、例えば、入出力インタフェース410を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部406から出力、あるいは、通信部408から送信、さらには、ハードディスク405に記録等させる。
【0691】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0692】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0693】
以上のように、1次元DCT係数に基づいてクラス分類を行い、各クラスごとに処理を行うようにしたので、ブロック間における水平方向や垂直方向の平坦さや連続性が反映された、効果的なクラス分けをすることができ、そのようなクラスごとに、適応処理を行うことで、ブロック歪みやモスキートノイズ等の歪みを十分に低減した高画質の復号画像を得ることが可能となる。
【0694】
なお、本実施の形態では、教師データの予測値を、式(1)の線形1次予測演算によって求めるようにしたが、教師データの予測値は、その他、例えば、2次以上の高次の式を用いて求めるようにすることが可能である。
【0695】
また、本実施の形態では、クラス分類を、注目ブロックとそれに隣接するブロックの1次元DCT係数を用いて行うようにしたが、その他、クラス分類は、注目ブロックと空間的または時間的に近いブロックの1次元DCT係数をも用いて行うことが可能である。さらに、クラス分類は、1次元DCT係数の他、2次元DCT係数も用いて行うことが可能である。また、クラス分類は、注目ブロックに対して、時間方向に近接するブロックの1次元DCT係数をも用いて行うことが可能である。
【0696】
さらに、本実施の形態では、MPEG符号化された動画像を対象としたが、本発明は、2次元DCT変換を用いる、MPEG以外の符号化方式により符号化された動画像や、JPEG符号化された静止画等を復号する場合にも適用可能である。
【0697】
【発明の効果】
本発明の第1の画像処理装置および画像処理方法、並びにプログラムによれば、2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数が求められ、その1次元DCT係数に基づいて、画像データを構成する画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われる。そして、その結果得られるクラスごとに、符号化データが処理される。従って、例えば、高画質の画像を復号することが可能となる。
【0698】
本発明の第2の画像処理装置および画像処理方法、並びにプログラムによれば、学習用の画像データが、少なくとも2次元DCT変換されることにより符号化され、2次元DCT係数を含む符号化データが出力される。さらに、符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数が求められる。そして、学習用の画像データから得られる、学習の教師となる教師データを、1次元DCT係数に基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われ、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとのタップ係数が求められる。従って、そのタップ係数を用いることにより、高画質の画像を復号することが可能となる。
【図面の簡単な説明】
【図1】MPEGデコーダの構成例を示すブロック図である。
【図2】本発明を適用した画像処理装置の第1実施の形態の構成例を示すブロック図である。
【図3】DCT変換部21と周波数領域動き補償加算部22の構成例を示すブロック図である。
【図4】サンプリング部61の処理を説明するための図である。
【図5】サンプリング部61の処理を説明するための図である。
【図6】2次元DCT変換および2次元逆DCT変換、並びに1次元DCT変換および1次元逆DCT変換を説明するための図である。
【図7】原画像、水平1次元DCT係数、垂直1次元DCT係数、および2次元DCT係数を示すディスプレイ上に表示された中間階調の写真である。
【図8】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図9】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図10】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図11】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図12】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図13】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図14】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図15】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図16】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図17】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図18】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図19】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図20】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図21】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図22】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図23】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図24】隣接1次元DCT係数選択/変換部32の構成例を示すブロック図である。
【図25】隣接1次元DCT係数選択/変換部32の処理を説明するフローチャートである。
【図26】左上ブロック処理の詳細を説明するフローチャートである。
【図27】左下ブロック処理の詳細を説明するフローチャートである。
【図28】右上ブロック処理の詳細を説明するフローチャートである。
【図29】右下ブロック処理の詳細を説明するフローチャートである。
【図30】ACパワーを説明するための図である。
【図31】ACパワー算出部33の構成例を示すブロック図である。
【図32】AC内積を説明するための図である。
【図33】AC内積計算部34の構成例を示すブロック図である。
【図34】クラスコード生成部36の構成例を示すブロック図である。
【図35】クラスコードのフォーマットを示す図である。
【図36】クラスコード生成部36の処理を説明するフローチャートである。
【図37】クラスコード生成部37の構成例を示すブロック図である。
【図38】4:2:2フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図39】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図40】4:2:0フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図41】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図42】適応処理部51の構成例を示すブロック図である。
【図43】適応処理部51の処理を説明するフローチャートである。
【図44】タップ係数を学習する学習装置の第1実施の形態の構成例を示すブロック図である。
【図45】学習装置による学習処理を説明するフローチャートである。
【図46】タップ係数を学習する学習装置の第2実施の形態の構成例を示すブロック図である。
【図47】タップ係数を学習する学習装置の第3実施の形態の構成例を示すブロック図である。
【図48】シミュレーションにより得られた復号画像のS/Nを示す図である。
【図49】シミュレーションにより得られた復号画像を示すディスプレイ上に表示された中間階調の写真である。
【図50】本発明を適用した画像処理装置の第2実施の形態の構成例を示すブロック図である。
【図51】タップ係数を学習する学習装置の第4の実施の形態の構成例を示すブロック図である。
【図52】本発明を適用した画像処理装置の第3実施の形態の概要を説明する図である。
【図53】本発明を適用した画像処理装置の第3実施の形態の構成例を示すブロック図である。
【図54】タップ係数を学習する学習装置の第5の実施の形態の構成例を示すブロック図である。
【図55】本発明を適用した画像処理装置の第4実施の形態の構成例を示すブロック図である。
【図56】タップ係数を学習する学習装置の第6の実施の形態の構成例を示すブロック図である。
【図57】タップ係数を学習する学習装置の第7の実施の形態の構成例を示すブロック図である。
【図58】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 分離部, 2 DCT係数抽出/逆量子化部, 4 動き補償部, 5 画像メモリ, 11 前処理部, 12 バッファメモリ, 13 クラス分類部, 14 タップ係数記憶部, 15 画像再構成部, 21 DCT変換部, 22 周波数領域動き補償加算部, 31 1次元逆DCT変換部, 32隣接1次元DCT係数選択/変換部, 33 ACパワー算出部, 34 AC内積計算部, 35 隣接タップデータ生成部, 36,37 クラスコード生成部, 41,42 タップ係数選択部, 43,44 係数メモリ, 51適応処理部, 52 逆DCT変換部, 61 サンプリング部, 62 DCT部, 71 DCT係数選択部, 72 加算部, 73 選択部, 80制御部, 81 メモリ, 82 垂直1次元逆DCT変換部, 83 サンプリング部, 84 垂直1次元DCT変換部, 85 選択部, 91 水平1次元DCT係数抽出部, 92 垂直1次元DCT係数抽出部, 93 水平ACパワー計算部, 94 垂直ACパワー計算部, 101 上内積用1次元DCT係数抽出部, 102 下内積用1次元DCT係数抽出部, 103 左内積用1次元DCT係数抽出部, 104 右内積用1次元DCT係数抽出部,105 上内積演算部, 106 下内積演算部, 107 左内積演算部,108 右内積演算部, 111,112 比較部, 113 平坦性条件判定部, 114 連続性条件判定部, 115 境界部エッジ条件判定部, 116 クラスコード作成部, 121,122 比較部, 123 クラスコード作成部, 131 予測タップ生成部, 132 タップ係数バッファ, 133 積和演算部, 141 教師データストレージ, 142 生徒データ生成部, 143 生徒データストレージ, 144 予測タップ生成部, 145 クラス分類部, 146 足し込み部, 147 タップ係数演算部, 151 MPEGエンコーダ, 152 分離部, 153 DCT係数抽出/逆量子化部, 171 MPEGエンコーダ, 172 分離部, 173 DCT係数抽出/逆量子化部, 174 クラス分類部, 175 タップ係数記憶部, 176 適応処理部, 177 Iピクチャストレージ, 178 動き補償部, 179 画像メモリ, 180 DCT変換部, 181 周波数領域動き補償加算部, 191 MPEGエンコーダ, 192 分離部, 193 DCT係数抽出/逆量子化部, 194 クラス分類部, 195 タップ係数記憶部, 196 適応処理部, 197 Iピクチャストレージ, 198 動き補償部, 199 画像メモリ, 200 DCT変換部, 201 周波数領域動き補償加算部, 202 クラス分類部, 203 タップ係数記憶部, 204 適応処理部, 205 Pピクチャストレージ, 206 動き補償部, 207 画像メモリ, 208 DCT変換部, 209 周波数領域動き補償加算部, 221 学習用データストレージ, 222 教師データ生成部, 223 生徒データ生成部, 301 MPEGデコーダ, 302 DCT変換部, 311 MPEGエンコーダ, 312 MPEGデコーダ, 401 バス, 402 CPU, 403 ROM, 404 RAM, 405 ハードディスク, 406 出力部, 407 入力部, 408 通信部, 409 ドライブ, 410 入出力インタフェース, 411 リムーバブル記録媒体

Claims (48)

  1. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号する画像処理装置であって、
    前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換手段と、
    前記画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、前記注目画素の近傍位置にある幾つかの画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して前記注目画素の画素値を求めること、
    および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること
    のうちのいずれかにより、前記符号化データを復号する処理手段と
    を備えることを特徴とする画像処理装置。
  2. 前記1次元逆DCT変換手段は、前記注目ブロックの2次元DCT係数を、水平方向の空間周波数成分を表す水平1次元DCT係数と、垂直方向の空間周波数成分を表す垂直1次元DCT係数に変換し、
    前記クラス分類手段は、前記注目ブロックの水平1次元DCT係数のうちの、前記注目画素の位置に対応するものと、前記注目ブロックの垂直1次元DCT係数のうちの、前記注目画素の位置に対応するものとに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記注目ブロックにおける前記注目画素の位置に対応する前記水平1次元DCT係数の交流成分の自乗和と、垂直1次元DCT係数の交流成分の自乗和とを、それぞれの交流成分のパワーとして求めるパワー算出手段をさらに備え、
    前記クラス分類手段は、前記交流成分のパワーに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項2に記載の画像処理装置。
  4. 前記クラス分類手段は、前記注目ブロックにおける前記1次元DCT係数から、前記注目画素のアクティビティを求め、そのアクティビティに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項2に記載の画像処理装置。
  5. 前記クラス分類手段は、前記1次元DCT係数の交流成分の自乗和を、前記アクティビティとして求める
    ことを特徴とする請求項4に記載の画像処理装置。
  6. 前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数とに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項1に記載の画像処理装置。
  7. 前記クラス分類手段は、前記注目ブロックと空間上において隣接するブロックを、前記隣接ブロックとして、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数とに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項6に記載の画像処理装置。
  8. 前記符号化データは、前記画像データをMPEG(Moving Picture xperts Group)符号化したものであり、
    前記注目ブロックを含むマクロブロックである注目マクロブロックのDCTタイプと、前記注目マクロブロックに隣接するマクロブロックのDCTタイプによって、前記注目ブロックの構造と前記隣接ブロックの構造を認識し、前記注目ブロックの構造を基準として、空間領域において、前記注目ブロックに隣接する前記隣接ブロックの画素列を1次元DCT変換することにより、前記注目ブロックと空間上において隣接する前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数を取得する隣接1次元DCT係数取得手段をさらに備える
    ことを特徴とする請求項7に記載の画像処理装置。
  9. 前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数の交流成分のパワーと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数の交流成分のパワーとに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項6に記載の画像処理装置。
  10. 前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数の直流成分と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数の直流成分とに基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項6に記載の画像処理装置。
  11. 前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数をコンポーネントとするベクトルと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数をコンポーネントとするベクトルとの内積を求める内積演算手段をさらに備え、
    前記クラス分類手段は、前記注目ブロックと隣接ブロックの前記1次元DCT係数から求められる内積に基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項2に記載の画像処理装置。
  12. 前記注目ブロックにおける前記1次元DCT係数と、前記隣接ブロックにおける前記1次元DCT係数と、所定の閾値とからなる所定の平坦性条件を表す式が満たされるか否かにより、前記注目ブロックと隣接ブロックとの間の平坦性を判定する平坦性判定手段をさらに備え、
    前記クラス分類手段は、前記注目ブロックと隣接ブロックとの間の平坦性に基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項2に記載の画像処理装置。
  13. 前記平坦性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数の交流成分のパワーと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数の交流成分のパワーとに基づいて、前記注目ブロックと隣接ブロックとの間の平坦性を判定する
    ことを特徴とする請求項12に記載の画像処理装置。
  14. 前記平坦性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数の直流成分と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数の直流成分に基づいて、前記注目ブロックと隣接ブロックとの間の平坦性を判定する
    ことを特徴とする請求項12に記載の画像処理装置。
  15. 前記注目ブロックにおける前記1次元DCT係数と、前記隣接ブロックにおける前記1次元DCT係数と、所定の閾値とからなる所定の連続性条件を表す式が満たされるか否かにより、前記注目ブロックと隣接ブロックとの間の連続性を判定する連続性判定手段をさらに備え、
    前記クラス分類手段は、前記注目ブロックと隣接ブロックとの間の連続性に基づいて、前記注目画素のクラス分類を行う
    ことを特徴とする請求項2に記載の画像処理装置。
  16. 前記連続性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記1次元DCT係数をコンポーネントとするベクトルと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数をコンポーネントとするベクトルとの内積に基づいて、前記注目ブロックと隣接ブロックとの間の連続性を判定する
    ことを特徴とする請求項15に記載の画像処理装置。
  17. 前記画像データは、カラーの画像データであり、
    前記クラス分類手段は、輝度信号の画素と、色信号の画素とを別にクラス分類する
    ことを特徴とする請求項1に記載の画像処理装置。
  18. 前記クラス分類手段は、前記輝度信号の画素のクラス分類の結果を用いて、前記色信号の画素のクラス分類を行う
    ことを特徴とする請求項17に記載の画像処理装置。
  19. 前記符号化データは、前記画像データをMPEG(Moving Picture Experts Group)符号化したものであり、
    前記クラス分類手段は、輝度信号のマクロブロックを構成するブロックの画素のクラス分類の結果を用いて、対応する色信号のマクロブロックを構成するブロックの画素のクラス分類を行う
    ことを特徴とする請求項17に記載の画像処理装置。
  20. 前記処理手段は、前記符号化データに含まれる前記2次元DCT係数を、画素値に変換する
    ことを特徴とする請求項1に記載の画像処理装置。
  21. 前記処理手段は、
    所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
    前記取得手段によって取得された前記演算係数との前記積和演算に用いる係数の集合を、前記2次元DCT係数から生成する係数集合生成手段と、
    前記注目画素のクラスの演算係数と、前記画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求める予測演算手段と
    を有する
    ことを特徴とする請求項20に記載の画像処理装置。
  22. 前記演算係数は、前記2次元DCT係数と演算係数との前記積和演算を行うことにより得られる前記注目画素の画素値の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
    ことを特徴とする請求項21に記載の画像処理装置。
  23. 前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記係数集合生成手段は、前記注目画素を含むブロックである注目ブロックの前記2次元DCT係数すべてを用いて、前記係数の集合を生成する
    ことを特徴とする請求項21に記載の画像処理装置。
  24. 前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
    前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いて、前記積和演算を行う
    ことを特徴とする請求項23に記載の画像処理装置。
  25. 前記係数集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記係数の集合を生成する
    ことを特徴とする請求項23に記載の画像処理装置。
  26. 前記係数集合生成手段は、前記隣接ブロックの2次元DCT係数または1次元DCT係数をも用いて、前記係数の集合を生成する
    ことを特徴とする請求項25に記載の画像処理装置。
  27. 前記処理手段は、
    所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
    前記取得手段によって取得された前記演算係数との前記積和演算に用いる係数の集合を、前記2次元DCT係数から生成する係数集合生成手段と、
    前記注目画素のクラスの演算係数と、前記係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな2次元DCT係数を求める予測演算手段と、
    前記新たな2次元DCT係数を、2次元逆DCT変換することにより、前記注目画素の画素値を求める2次元逆DCT変換手段と
    を有する
    ことを特徴とする請求項1に記載の画像処理装置。
  28. 前記演算係数は、前記2次元DCT係数と演算係数の前記積和演算を行うことにより得られる前記注目画素に対する新たな2次元DCT係数の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
    ことを特徴とする請求項27に記載の画像処理装置。
  29. 前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記係数集合生成手段は、前記注目画素を含むブロックである注目ブロックの前記2次元DCT係数すべてを用いて、前記係数の集合を生成する
    ことを特徴とする請求項27に記載の画像処理装置。
  30. 前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
    前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いた前記積和演算を行う
    ことを特徴とする請求項29に記載の画像処理装置。
  31. 前記係数集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記係数の集合を生成する
    ことを特徴とする請求項29に記載の画像処理装置。
  32. 前記係数集合生成手段は、前記隣接ブロックの2次元DCT係数または1次元DCT係数をも用いて、前記係数の集合を生成する
    ことを特徴とする請求項31に記載の画像処理装置。
  33. 前記符号化データを、前記画像データに復号する復号手段と、
    前記復号手段により復号された前記画像データを、2次元DCT変換することにより、2次元DCT係数を求める2次元DCT変換手段と
    をさらに備え、
    前記1次元逆DCT変換手段は、前記2次元DCT変換手段が出力する前記2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求め、
    前記クラス分類手段は、前記1次元DCT係数に基づいて、前記画像データを構成する画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行い、
    前記処理手段は、前記クラス分類手段によるクラス分類の結果得られるクラスごとに、前記符号化データから復号された前記画像データを処理する
    ことを特徴とする請求項1に記載の画像処理装置。
  34. 前記処理手段は、
    所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
    前記取得手段によって取得された前記演算係数との前記積和演算に用いる画素値の集合を、前記復号手段が出力する前記画像データを構成する画素から生成する画素値集合生成手段と、
    前記注目画素のクラスの演算係数と、前記画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求める予測演算手段と
    を有する
    ことを特徴とする請求項33に記載の画像処理装置。
  35. 前記演算係数は、前記画素値の集合演算係数との前記積和演算を行うことにより得られる前記注目画素の画素値の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
    ことを特徴とする請求項34に記載の画像処理装置。
  36. 前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記画素値集合生成手段は、前記注目画素を含むブロックである注目ブロックの画素すべてを用いて、前記画素値の集合を生成する
    ことを特徴とする請求項34に記載の画像処理装置。
  37. 前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
    前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いた前記積和演算を行う
    ことを特徴とする請求項36に記載の画像処理装置。
  38. 前記画素値集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記画素値の集合を生成する
    ことを特徴とする請求項36に記載の画像処理装置。
  39. 前記画素値集合生成手段は、前記隣接ブロックの2次元DCT係数または1次元DCT係数をも用いて、前記画素値の集合を生成する
    ことを特徴とする請求項38に記載の画像処理装置。
  40. 前記符号化データは、前記画像データから、その予測画像を減算して得られる残差画像を2次元DCT変換した2次元DCT係数を含み、
    前記処理手段が前記符号化データを処理することにより得られる、前記画像データの復号画像から、前記予測画像を生成する予測画像生成手段と、
    前記予測画像を2次元DCT変換し、2次元DCT係数を出力する2次元DCT変換手段と、
    前記残差画像の2次元DCT係数と、対応する前記予測画像の2次元DCT係数とを加算し、元の画像の2次元DCT係数を求める加算手段と
    をさらに備え、
    前記1次元逆DCT変換手段は、前記元の画像の2次元DCT係数を、1次元DCT係数に変換する
    ことを特徴とする請求項1に記載の画像処理装置。
  41. 前記予測画像生成手段は、前記画像データの復号画像を参照画像として、動き補償を施すことにより、前記予測画像を生成する
    ことを特徴とする請求項40に記載の画像処理装置。
  42. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号する画像処理方法であって、
    前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、前記注目画素の近傍位置にある幾つかの画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して前記注目画素の画素値を求めること、
    および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること
    のうちのいずれかにより、前記符号化データを復号する処理ステップと
    を備えることを特徴とする画像処理方法。
  43. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号する画像処理を、コンピュータに行わせるプログラムであって、
    前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、前記注目画素の近傍位置にある幾つかの画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して前記注目画素の画素値を求めること、
    および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること
    のうちのいずれかにより、前記符号化データを復号する処理ステップと
    を備えることを特徴とするプログラム。
  44. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
    前記符号化データは、前記画像データを、所定のブロック単位で2次元DCT変換した前記2次元DCT係数を含み、
    前記2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数を2次元逆DCT変換して得られる画素値のうちの、前記注目画素の近傍位置にある幾つかの画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること、
    所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな2次元DCT係数を求め、その新たな2次元DCT係数を2次元逆DCT変換して前記注目画素の画素値を求めること、
    および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記2次元DCT係数のうちの、前記注目画素の近傍位置に対応する幾つかの2次元DCT係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素の画素値を求め ること
    のうちのいずれかにより、前記符号化データを復号する処理ステップと
    をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  45. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号するのに用いる演算係数を学習する画像処理装置であって、
    学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化手段と、
    前記符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換手段と、
    前記学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、
    前記教師データと、前記学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、前記教師データのクラスごとに学習を行うことにより、前記クラスごとの前記演算係数を求める学習手段と
    を備えることを特徴とする画像処理装置。
  46. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号するのに用いる演算係数を学習する画像処理方法であって、
    学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、
    前記符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    前記教師データと、前記学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、前記教師データのクラスごとに学習を行うことにより、前記クラスごとの前記演算係数を求める学習ステップと
    を備えることを特徴とする画像処理方法。
  47. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号するのに用いる演算係数を学習する画像処理を、コンピュータに行わせるプログラムであって、
    学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、
    前記符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    前記教師データと、前記学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、前記教師データのクラスごとに学習を行うことにより、前記クラスごとの前記演算係数を求める学習ステップと
    を備えることを特徴とするプログラム。
  48. 画像データを、少なくとも2次元DCT(Discrete Cosine Transform)変換して得られる2次元DCT係数を含む符号化データを復号するのに用いる演算係数を学習する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
    学習用の画像データを、所定のブロック単位で、少なくとも2次元DCT変換することにより符号化し、2次元DCT係数を含む符号化データを出力する符号化ステップと、
    前記符号化データに含まれる2次元DCT係数を、1次元逆DCT変換することにより、1次元DCT係数を求める1次元逆DCT変換ステップと、
    前記学習用の画像データから得られる、学習の教師となる教師データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記1次元DCT係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記1次元DCT係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記1次元DCT係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
    前記教師データと、前記学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、前記教師データのクラスごとに学習を行うことにより、前記クラスごとの前記演算係数を求める学習ステップと
    をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2002061399A 2002-03-07 2002-03-07 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体 Expired - Fee Related JP4154902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002061399A JP4154902B2 (ja) 2002-03-07 2002-03-07 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002061399A JP4154902B2 (ja) 2002-03-07 2002-03-07 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体

Publications (3)

Publication Number Publication Date
JP2003264832A JP2003264832A (ja) 2003-09-19
JP2003264832A5 JP2003264832A5 (ja) 2005-08-25
JP4154902B2 true JP4154902B2 (ja) 2008-09-24

Family

ID=29195728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002061399A Expired - Fee Related JP4154902B2 (ja) 2002-03-07 2002-03-07 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4154902B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7126504B2 (ja) 2017-02-08 2022-08-26 ヘレウス ドイチェラント ゲーエムベーハー ウント カンパニー カーゲー 付加製造プロセスにおいて使用するための粉末

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004010706A1 (ja) * 2002-07-19 2004-01-29 Sony Corporation 情報信号処理装置、情報信号処理方法、画像信号処理装置および画像表示装置、それに使用される補正データの生成装置および生成方法、係数データの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体
WO2014196118A1 (ja) * 2013-06-04 2014-12-11 三菱電機株式会社 画像符号化装置、画像解析装置、画像符号化方法及び画像解析方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7126504B2 (ja) 2017-02-08 2022-08-26 ヘレウス ドイチェラント ゲーエムベーハー ウント カンパニー カーゲー 付加製造プロセスにおいて使用するための粉末

Also Published As

Publication number Publication date
JP2003264832A (ja) 2003-09-19

Similar Documents

Publication Publication Date Title
Thyagarajan Still image and video compression with MATLAB
US7289671B2 (en) Data processing apparatus and method and recording medium
JP5143120B2 (ja) 画像の符号化方法及び装置、復号化方法及び装置
JP2013211908A (ja) ビデオ圧縮方法
JP2009530958A (ja) 画像の符号化方法及び装置、復号化方法及び装置
JP2004528791A (ja) インターフレーム符号化方法および装置
EP1501296A1 (en) Data converting apparatus, data converting method, learning apparatus, leaning method, program, and recording medium
JP4154902B2 (ja) 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体
JP4154647B2 (ja) データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体
JP4154903B2 (ja) 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体
JP4147789B2 (ja) 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体
US7424057B2 (en) Data format transcoding apparatus and associated method
JP2003224868A (ja) 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、および画像伸張プログラム
JP4081745B2 (ja) 復号装置および復号方法、学習装置および学習方法、並びにプログラムおよび記録媒体
JP4000589B2 (ja) 復号装置および復号方法、並びにプログラムおよび記録媒体
JP2002010256A (ja) 画像処理装置および画像処理方法、並びに記録媒体
Chung et al. A high performance lossless bayer image compression scheme
JP4505729B2 (ja) 画像処理装置、画像処理方法、プログラム、および記録媒体
JP2001320277A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2001320587A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP4678454B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JPH11136674A (ja) 画像符号化方法及び記憶媒体
JP3869303B2 (ja) 画像復号化方法及び装置
JP4538699B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2001320711A (ja) データ処理装置およびデータ処理方法、並びに記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080630

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees