(57)【特許請求の範囲】
【請求項１】
互いに直交する第１方向および第２方向の各々に複数のＤＣＴ係数を有するＤＣＴブロックによって形成される画像データにＩＤＣＴ変換を施す画像表示装置において、
前記ＤＣＴブロックを形成する複数のＤＣＴ係数の全てに前記第２方向の１次元ＩＤＣＴ変換を施して、前記ＤＣＴブロックを形成しかつ前記第１方向に延びる特定ＤＣＴ係数列に属する複数のＤＣＴ係数にそれぞれ対応する複数の第１ＩＤＣＴ変換結果のみを生成する第１変換手段、および
前記第１変換手段によって生成された複数の第１ＩＤＣＴ変換結果の全てに前記第１方向の１次元ＩＤＣＴ変換を施して、前記特定ＤＣＴ係数列に属する特定ＤＣＴ係数に対応する第２ＩＤＣＴ変換結果のみを生成する第２変換手段を備え、
前記第１方向は縦方向および横方向の一方であり、前記第２方向は前記縦方向および前記横方向の他方であり、前記特定ＤＣＴ係数列は前記第２方向において偶数番目および奇数番目の一方に存在し、前記特定ＤＣＴ係数は前記第１方向において前記偶数番目および前記奇数番目の一方に存在することを特徴とする、画像表示装置。
【請求項２】
前記第１方向は前記横方向であり、前記第２方向は前記縦方向である、請求項１記載の画像表示装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は画像表示装置に関し、特にたとえば電子スチルカメラに適用され、縦方向および横方向の各々に複数のＤＣＴ係数を有するＤＣＴブロックによって形成される画像データにＩＤＣＴ変換を施す、画像表示装置に関する。
【０００２】
【従来の技術】
従来のこの種の画像表示装置では、原画像の符号化データを伸長して原画像よりも少ない画素数をもつ小型ＬＣＤ表示装置に表示するとき、符号データをハフマン復号化および逆量子化し、全ての逆量子化データをＩＤＣＴ変換し、そしてこれによって生成された伸長画像データのうち小型ＬＣＤ表示装置に表示しない画素データを間引いていた。
【０００３】
【発明が解決しようとする課題】
しかし、これでは表示しない画素データまでも生成するため、処理に時間がかかるという問題があった。
それゆえに、この発明の主たる目的は、画像を表示する処理に要する時間を短縮することができる、画像表示装置を提供することである。
【０００４】
【課題を解決するための手段】
この発明に従う画像表示装置は、互いに直交する第１方向および第２方向の各々に複数のＤＣＴ係数を有するＤＣＴブロックによって形成される画像データにＩＤＣＴ変換を施す画像表示装置において、ＤＣＴブロックを形成する複数のＤＣＴ係数の全てに第２方向の１次元ＩＤＣＴ変換を施して、ＤＣＴブロックを形成しかつ第１方向に延びる特定ＤＣＴ係数列に属する複数のＤＣＴ係数にそれぞれ対応する複数の第１ＩＤＣＴ変換結果のみを生成する第１変換手段、および第１変換手段によって生成された複数の第１ＩＤＣＴ変換結果の全てに第１方向の１次元ＩＤＣＴ変換を施して、特定ＤＣＴ係数列に属する特定ＤＣＴ係数に対応する第２ＩＤＣＴ変換結果のみを生成する第２変換手段を備え、第１方向は縦方向および横方向の一方であり、第２方向は縦方向および横方向の他方であり、特定ＤＣＴ係数列は第２方向において偶数番目および奇数番目の一方に存在し、特定ＤＣＴ係数は第１方向において偶数番目および奇数番目の一方に存在することを特徴とする。
【０００５】
【作用】
画像データは、互いに直交する第１方向および第２方向の各々に複数のＤＣＴ係数を有するＤＣＴブロックによって形成される。このような画像データに基づく画像を表示するとき、第１変換手段は、ＤＣＴブロックを形成する複数のＤＣＴ係数の全てに第２方向の１次元ＩＤＣＴ変換を施して、ＤＣＴブロックを形成しかつ第１方向に延びる特定ＤＣＴ係数列に属する複数のＤＣＴ係数にそれぞれ対応する複数の第１ＩＤＣＴ変換結果のみを生成する。また、第２変換手段は、第１変換手段によって生成された複数の第１ＩＤＣＴ変換結果の全てに第１方向の１次元ＩＤＣＴ変換を施して、特定ＤＣＴ係数列に属する特定ＤＣＴ係数に対応する第２ＩＤＣＴ変換結果のみを生成する。ここで、第１方向は縦方向および横方向の一方であり、第２方向は縦方向および横方向の他方である。また、特定ＤＣＴ係数列は第２方向において偶数番目および奇数番目の一方に存在し、特定ＤＣＴ係数は第１方向において偶数番目および奇数番目の一方に存在する。
【０００６】
【発明の効果】
この発明によれば、画像を表示するのに要する時間を短縮することができる。
【０００７】
【実施例】
図１を参照して、この実施例のディジタルスチルカメラ１０は映像信号処理回路１２を含み、画素数が縦×横＝４８０×６４０画素のＣＣＤ(Charge Coupled Device) １１から出力されたＲＧＢデータが、これによってＹＵＶデータに変換される。原理的にはＲＧＢデータのままでも画像圧縮は可能であるが、ＹＵＶデータに変換しＵＶデータを大きく圧縮することで、大きな圧縮率と高い画質で再生することができるため、まず始めに数１に従ってＹＵＶデータに変換される。映像信号処理回路１２ではさらに、ＵＶデータが水平方向および垂直方向に１／２に間引かれる。これは、人間の目が輝度の変化には敏感であるが色の変化には比較的鈍感であるという特性を利用したものである。
【０００８】
【数１】
Ｙ＝０．２９９０・Ｒ＋０．５８７０・Ｇ＋０．１１４０・Ｂ
Ｕ＝−０．１６８４・Ｒ−０．３３１６・Ｇ＋０．５０００・Ｂ
Ｖ＝０．５０００・Ｒ−０．４１８７・Ｇ−０．０８１３・Ｂ
間引き処理がなされたＹＵＶデータは、ＤＲＡＭ１４に一旦格納された後、ＣＰＵ２２で縦方向×横方向＝８×８画素の画素ブロック単位でＤＣＴ変換され、ＤＣＴ変換係数が量子化され、そして量子化データがハフマン符号化される。このようなＤＣＴ変換からハフマン符号化までのプロセス（ベースラインプロセス）によって得られた圧縮画像データがフラッシュメモリ２４に格納される。
【０００９】
伸長時は、フラッシュメモリ２４からその圧縮画像データが読み出され、ＣＰＵ２２によって圧縮時と逆の処理がかけられる。すなわち、圧縮画像データがハフマン復号化され、復号データが逆量子化され、そして逆量子化データが８×８画素のブロック単位でＩＤＣＴ変換される。このようにして、圧縮される前のＹＵＶデータとほぼ同じデータが生成される。このＹＵＶデータは１フィールドずつ生成され、ＶＲＡＭ１６を介して、映像信号処理回路１８で数２に従ってＲＧＢデータに戻される。
【００１０】
【数２】
Ｒ＝Ｙ                  ＋１．４０２０・Ｖ
Ｇ＝Ｙ−０．３４４１・Ｕ−０．７１３９・Ｖ
Ｂ＝Ｙ＋１．７７１８・Ｕ−０．００１２・Ｖ
ＲＧＢデータはその後、ＣＣＤの画素数よりも少ない縦×横＝２２０×２７９画素のＬＣＤ表示装置２０から出力される。
【００１１】
ＣＰＵ２２は、１フィールド分の圧縮画像データが与えられる毎に図２に示すフローを開始し、その圧縮画像データに含まれる８×８画素の画素ブロック単位で伸長処理を行う。すなわち、１フィールド分の圧縮画像データが入力されると、ステップＳ１でそのデータをハフマン復号化し、次にステップＳ３で復号データを逆量子化する。この逆量子化データには複数ＤＣＴ係数ブロックが含まれ、それぞれのＤＣＴ係数ブロックには図３に示すようなＤＣＴ係数ｙ00〜ｙ77が含まれる。なお、それぞれのＤＣＴ係数に付された２桁の係数のうち左側は横方向の位置を示し、右側は縦方向の位置を示す。
【００１２】
ステップＳ５以降ではこのＤＣＴブロック毎にＩＤＣＴ変換を行い、画素データすなわち伸長画像データを生成する。すなわち、ステップＳ５でまずｙ00〜ｙ07に対して１次元ＩＤＣＴ変換を行い、ステップＳ７でＩＤＣＴ変換を８回行ったかどうか判断する。このときはまだ８回もＩＤＣＴ変換を行っていないので、再びステップＳ５に戻る。そして今度はＤＣＴ係数ｙ10〜ｙ17についてＩＤＣＴ変換を行い、ステップＳ７に移行する。このようにしてステップＳ５およびＳ７のループを８回繰り返してＤＣＴ係数ｙ00〜ｙ07からｙ70〜ｙ77のそれぞれについて１次元ＩＤＣＴ変換を行う。これによって、図４に示すようなＩＤＣＴ変換結果が得られる。
【００１３】
この処理を以下で詳しく説明する。ＤＣＴ係数をｙn0，ｙn1，ｙn2，ｙn3，ｙn4，ｙn5，ｙn6およびｙn7（ｎ＝０〜７）とし、変数ｔ10，ｔ11，ｔ12およびｔ13は、右側の係数が０および偶数のＤＣＴ係数ｙn0，ｙn2，ｙn4およびｙn6に基づいて、数３〜数５に従って求められる。
【００１４】
【数３】
ｚ1 ＝（ｚ2 ＋ｚ3 ）・√２・ｃ6 
ｚ2 ＝ｙn2
ｚ3 ＝ｙn6
【００１５】
【数４】
ｔ0 ＝ｙn0＋ｙn4
ｔ1 ＝ｙn0−ｙn4
ｔ2 ＝ｚ1 ＋ｚ3 ・√２・（ｃ2 ＋ｃ6 ）
ｔ3 ＝ｚ1 ＋ｚ2 ・√２・（ｃ2 −ｃ6 ）
【００１６】
【数５】
ｔ10＝ｔ0 ＋ｔ3 
ｔ11＝ｔ1 ＋ｔ2 
ｔ12＝ｔ1 −ｔ2 
ｔ13＝ｔ0 −ｔ3 
すなわち、まずＤＣＴ係数ｙn2およびｙn6と基底ベクトルｃ6 とに基づいて変数ｚ1 〜ｚ3 が求められ、次にＤＣＴ係数ｙn0およびｙn4と変数ｚ1 〜ｚ3 と基底ベクトルｃ2 およびｃ6 とを用いて変数ｔ0 〜ｔ3 が求められ、そして、この変数ｔ0 〜ｔ3 を用いて変数ｔ10〜ｔ13が求められる。
【００１７】
また、右側の係数が奇数のＤＣＴ係数ｙn1，ｙn3，ｙn5およびｙn7に基づいて、数６〜数１１に従ってｔ0 ″〜ｔ3 ″が求められる。
【００１８】
【数６】
ｔ0 ＝ｙn7
ｔ1 ＝ｙn5
ｔ2 ＝ｙn3
ｔ3 ＝ｙn1
【００１９】
【数７】
ｚ1 ＝ｔ0 ＋ｔ3 
ｚ2 ＝ｔ1 ＋ｔ2 
ｚ3 ＝ｔ0 ＋ｔ2 
ｚ4 ＝ｔ1 ＋ｔ3 
ｚ5 ＝（ｚ3 ＋ｚ4 ）・√２・ｃ3 
【００２０】
【数８】
ｔ0 ′＝ｔ0 ・√２・（−ｃ1 ＋ｃ3 ＋ｃ5 −ｃ7 ）
ｔ1 ′＝ｔ1 ・√２・（ｃ1 ＋ｃ3 −ｃ5 ＋ｃ7 ）
ｔ2 ′＝ｔ2 ・√２・（ｃ1 ＋ｃ3 ＋ｃ5 −ｃ7 ）
ｔ3 ′＝ｔ3 ・√２・（ｃ1 ＋ｃ3 −ｃ5 −ｃ7 ）
【００２１】
【数９】
ｚ1 ′＝ｚ1 ・√２・（ｃ7 −ｃ3 ）
ｚ2 ′＝ｚ2 ・√２・（−ｃ1 −ｃ3 ）
ｚ3 ′＝ｚ3 ・√２・（−ｃ3 −ｃ5 ）
ｚ4 ′＝ｚ4 ・√２・（ｃ5 −ｃ3 ）
【００２２】
【数１０】
ｚ3 ″＝ｚ3 ′＋ｚ5 
ｚ4 ″＝ｚ4 ′＋ｚ5 
【００２３】
【数１１】
ｔ0 ″＝ｔ0 ′＋ｚ1 ′＋ｚ3 ″
ｔ1 ″＝ｔ1 ′＋ｚ2 ′＋ｚ4 ″
ｔ2 ″＝ｔ2 ′＋ｚ2 ′＋ｚ3 ″
ｔ3 ″＝ｔ3 ′＋ｚ1 ′＋ｚ4 ″
すなわち、まず変数ｔ0 〜ｔ3 が定義され、これに基づいて変数ｚ1 〜ｚ5 が求められる。続いて、変数ｔ0 〜ｔ3 と基底ベクトルｃ1 ，ｃ3 ，ｃ5 およびｃ7 を用いて変数ｔ0 ′〜ｔ3 ′が求められる。その後、変数ｚ1 〜ｚ4 と基底ベクトルｃ1 ，ｃ3 ，ｃ5 およびｃ7 とを用いて変数ｚ1 ′〜ｚ4 ′が求められ、変数ｚ3 ′およびｚ4 ′と変数ｚ5 ′とに基づいて変数ｚ3 ″およびｚ4 ″が求められる。そして、変数ｔ0 ′〜ｔ3 ′とｚ1 ′およびｚ2 ′とｚ3 ″およびｚ4 ″とに基づいて変数ｔ0 ″〜ｔ3 ″が求められる。
【００２４】
ただし、数３〜数５において用いられる変数ｚ1 〜ｚ3 およびｔ0 〜ｔ3 と数６〜数１１で用いられる変数ｚ1 〜ｚ5 およびｔ0 〜ｔ3 とは互いに無関係である。また、基底ベクトルｃ1 ，ｃ3 ，ｃ5 およびｃ7 はＤＣＴ変換に用いられる基底ベクトルであり、数１２で表される。なお、ＤＣＴ変換のアルゴリズムについては、１９９３年１２月２１日付で公表された“ＭＰＥＧ  Ｖｉｄｅｏ技術”（片山泰男  （株）グラフィックス・コミュニケーション・ラボラトリーズ）を参照されたい。
【００２５】
【数１２】
ｃm ＝√２ cos（ｍπ／１６）
このようにして求められた変数ｔ10〜ｔ13とｔ0 ″〜ｔ3 ″とに基づいて数１３に示す１次元ＩＤＣＴ変換結果ｘn0′，ｘn2′，ｘn4′およびｘn6′が求められる。
【００２６】
【数１３】
ｘn0′＝ｔ10＋ｔ3 ″
ｘn2′＝ｔ12＋ｔ1 ″
ｘn4′＝ｔ13−ｔ0 ″
ｘn6′＝ｔ11−ｔ2 ″
なお、１次元ＩＤＣＴ変換結果ｘn1′，ｘn3′，ｘn5′およびｘn7′は数１４に従って求められるが、この実施例ではその計算が省かれる。
【００２７】
【数１４】
ｘn1′＝ｔ11＋ｔ2 ″
ｘn3′＝ｔ13＋ｔ0 ″
ｘn5′＝ｔ12−ｔ1 ″
ｘn7′＝ｔ10−ｔ3 ″
この計算を図２のステップＳ５およびＳ７で８回すなわちｎ＝０からｎ＝７まで繰り返すことによって、図４に示すＩＤＣＴ変換結果が求められる。
【００２８】
ステップＳ９およびＳ１１では、図４に示すＩＤＣＴ変換結果をさらに水平方向に対して４回ＩＤＣＴ変換し、図５に示す変換結果ｘ00〜ｘ60からｘ06〜ｘ66のそれぞれを求める。このときの計算方法は数３〜数１３とほぼ同様である。
すなわち、ステップＳ５およびＳ７におけるＩＤＣＴ変換の結果をｘ0n′，ｘ1n′，ｘ2n′，ｘ3n′，ｘ4n′，ｘ5n′，ｘ6n′およびｘ7n′（ｎ＝０，２，４，６）とすると、変数ｔ10〜ｔ13が数１５〜数１７に従って求められる。数１５はｚ2 がｘ2n′と定義され、ｚ3 がｚ6n′と定義される点を除き、数３と同じである。また、数１６はｔ0 がｘ0n′＋ｘ4n′と定義され、ｔ1 がｘ0n′−ｘ4n′と定義される点を除き、数４と同じである。
【００２９】
【数１５】
ｚ1 ＝（ｚ2 ＋ｚ3 ）・√２・ｃ6 
ｚ2 ＝ｘ2n′
ｚ3 ＝ｘ6n′
【００３０】
【数１６】
ｔ0 ＝ｘ0n′＋ｘ4n′
ｔ1 ＝ｘ0n′−ｘ4n′
ｔ2 ＝ｚ1 ＋ｚ3 ・√２・（ｃ2 ＋ｃ6 ）
ｔ3 ＝ｚ1 ＋ｚ2 ・√２・（ｃ2 −ｃ6 ）
【００３１】
【数１７】
ｔ10＝ｔ0 ＋ｔ3 
ｔ11＝ｔ1 ＋ｔ2 
ｔ12＝ｔ1 −ｔ2 
ｔ13＝ｔ0 −ｔ3 
また、変数ｔ0 ″〜ｔ3 ″が数１８〜数２３に従って求められる。
【００３２】
【数１８】
ｔ0 ＝ｘ7n′
ｔ1 ＝ｘ5n′
ｔ2 ＝ｘ3n′
ｔ3 ＝ｘ1n′
【００３３】
【数１９】
ｚ1 ＝ｔ0 ＋ｔ3 
ｚ2 ＝ｔ1 ＋ｔ2 
ｚ3 ＝ｔ0 ＋ｔ2 
ｚ4 ＝ｔ1 ＋ｔ3 
ｚ5 ＝（ｚ3 ＋ｚ4 ）・√２・ｃ3 
【００３４】
【数２０】
ｔ0 ′＝ｔ0 ・√２・（−ｃ1 ＋ｃ3 ＋ｃ5 −ｃ7 ）
ｔ1 ′＝ｔ1 ・√２・（ｃ1 ＋ｃ3 −ｃ5 ＋ｃ7 ）
ｔ2 ′＝ｔ2 ・√２・（ｃ1 ＋ｃ3 ＋ｃ5 −ｃ7 ）
ｔ3 ′＝ｔ3 ・√２・（ｃ1 ＋ｃ3 −ｃ5 −ｃ7 ）
【００３５】
【数２１】
ｚ1 ′＝ｚ1 ・√２・（ｃ7 −ｃ3 ）
ｚ2 ′＝ｚ2 ・√２・（−ｃ1 −ｃ3 ）
ｚ3 ′＝ｚ3 ・√２・（−ｃ3 −ｃ5 ）
ｚ4 ′＝ｚ4 ・√２・（ｃ5 −ｃ3 ）
【００３６】
【数２２】
ｚ3 ″＝ｚ3 ′＋ｚ5 
ｚ4 ″＝ｚ4 ′＋ｚ5 
【００３７】
【数２３】
ｔ0 ″＝ｔ0 ′＋ｚ1 ′＋ｚ3 ″
ｔ1 ″＝ｔ1 ′＋ｚ2 ′＋ｚ4 ″
ｔ2 ″＝ｔ2 ′＋ｚ2 ′＋ｚ3 ″
ｔ3 ″＝ｔ3 ′＋ｚ1 ′＋ｚ4 ″
ただし、このとき変数ｔ0 〜ｔ3 のそれぞれは、数１８からわかるように、ｘ7n′，ｘ5n′，ｘ3n′およびｘ1n′と定義される。また、数１９〜数２３は数７〜数１１と同じである。
【００３８】
このようにして求められた変数ｔ10〜ｔ13とｔ0 ″〜ｔ3 ″に基づいて数２４に従ってＩＤＣＴ変換結果ｘ0n，ｘ2n，ｘ4nおよびｘ6nが求められる。なお、ＩＤＣＴ変換結果ｘ1n，ｘ3n，ｘ5nおよびｘ7nは数２５に従って求めることができるが、この実施例ではこの計算が省かれる。
【００３９】
【数２４】
ｘ0n＝ｔ10＋ｔ3 ″
ｘ2n＝ｔ12＋ｔ1 ″
ｘ4n＝ｔ13−ｔ0 ″
ｘ6n＝ｔ11−ｔ2 ″
【００４０】
【数２５】
ｘ1n＝ｔ11＋ｔ2 ″
ｘ3n＝ｔ13＋ｔ0 ″
ｘ5n＝ｔ12−ｔ1 ″
ｘ7n＝ｔ10−ｔ3 ″
以上の計算をｎ＝０，２，４および６のそれぞれについて、すなわち４回行うことによって、図５に示すＩＤＣＴ変換結果が求められる。そして、このＩＤＣＴ変換結果が画素データとして映像信号処理回路１８を介してＬＣＤ２０から出力される。
【００４１】
ステップＳ１１で“ＹＥＳ”と判断されると、つまり１つのＤＣＴブロックに対応する画素ブロックが求められると、ステップＳ１３で１フィールド分の逆量子化データに含まれる全てのＤＣＴブロックを処理したかどうか判断し、“ＮＯ”であればステップＳ５に戻るが、“ＹＥＳ”であれば処理を終了する。そして、次回の処理は次のフィールドの圧縮画像データが読み出されたときに開始される。
【００４２】
なお、伸長処理によって得られる画素数は原画像の１／２の２４０×３２０画素であるため、ＬＣＤ表示装置２０は、伸長画像データの一部を切り落として出力する。
この実施例によれば、図３に示す逆量子化データのＤＣＴブロックを縦方向および横方向にＩＤＣＴ変換することによって、図５に示すかつＬＣＤ２０と同じ数の画素データを得るようにしたため、伸長処理に要する時間を短縮することができる。
【００４３】
なお、この実施例では係数が０および偶数の画素データのみを求めることによって伸長画像データの画素数を原画像の１／２としたが、伸長画像データの画素数を１／２とするには係数が奇数の画素データのみを求めるようにしてもよいことはもちろんである。また、ＬＣＤ２０の画素数に従って求める画素データを変えることは上述の数１３，数１４，数２４および数２５から容易である。
【００４４】
さらに、この実施例ではまず縦方向にＩＤＣＴ変換し次に横方向にＩＤＣＴ変換するようにしたが、この順序を逆にしてもよいことはもちろんである。
【図面の簡単な説明】
【図１】この発明の一実施例を示すブロック図である。
【図２】図１実施例の動作の一部を示すフロー図である。
【図３】図１実施例の動作の一部を示す図解図である。
【図４】図１実施例の動作の一部を示す図解図である。
【図５】図１実施例の動作の一部を示す図解図である。
【符号の説明】
１０  …ディジタルスチルカメラ
２０  …ＬＣＤ
２２  …ＣＰＵ
【図１】
0003795960.tif 000002
【図２】
0003795960.tif 000003
【図３】
0003795960.tif 000004
【図４】
0003795960.tif 000005
【図５】
0003795960.tif 000006