JP5003739B2 - 画像表示装置および画像表示方法 - Google Patents

画像表示装置および画像表示方法 Download PDF

Info

Publication number
JP5003739B2
JP5003739B2 JP2009229557A JP2009229557A JP5003739B2 JP 5003739 B2 JP5003739 B2 JP 5003739B2 JP 2009229557 A JP2009229557 A JP 2009229557A JP 2009229557 A JP2009229557 A JP 2009229557A JP 5003739 B2 JP5003739 B2 JP 5003739B2
Authority
JP
Japan
Prior art keywords
image data
data
horizontal
pixels
resolution conversion
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
JP2009229557A
Other languages
English (en)
Other versions
JP2010045814A (ja
JP2010045814A5 (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009229557A priority Critical patent/JP5003739B2/ja
Publication of JP2010045814A publication Critical patent/JP2010045814A/ja
Publication of JP2010045814A5 publication Critical patent/JP2010045814A5/ja
Application granted granted Critical
Publication of JP5003739B2 publication Critical patent/JP5003739B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、所定の圧縮フォーマットで圧縮された画像データを伸張しつつ、伸張された画像データを所望の画像データサイズに解像度変換する画像表示装置および画像表示方法に関する。
JPEG(Joint Photographic Experts Group)等の種々のフォーマットによる圧縮画像データを伸張し、伸張画像データの表す画像を表示する画像表示装置や、伸張画像データの表す画像を印刷する印刷装置などの画像処理装置では、伸張画像データの画像データサイズが所望の画像データサイズと異なっている場合には、伸張画像データのサイズを所望の画像データサイズとなるように解像度変換することが行われている。なお、以下では、この画像データサイズを「解像度」とも呼ぶこととする。
上記解像度変換の機能は、一般的には、画像処理装置において、圧縮画像データを全て伸張し、伸張画像データの全体を一旦メモリに記憶し、メモリに記憶した伸張画像データを読み出して解像度変換を行うことにより実現される。
また、JPEGフォーマットの圧縮画像データを1MCU(Minimum Coded Unit)ごとに伸張しつつ、これにより得られた画像データを1MCUを構成する8×8画素のブロック単位で解像度変換する構成によっても実現可能である(特許文献1参照。)。
特開2003−84738号公報
しかしながら、上記一般的な構成の画像処理装置では、伸張画像データの全体を一旦メモリに記憶する必要があり、伸張画像データのサイズに対応した大容量のメモリが必要となる。また、伸張画像データの全体を一旦メモリに記憶し、メモリに記憶した伸張画像データを読み出して解像度変換を行うため、伸張画像データのサイズが大きくなるほど、すなわち、解像度が大きくなるほど、メモリに対するアクセスの頻度が高くなる。このため、メモリへのアクセスに要する時間が多く必要とされ、このアクセスに要する時間が画像処理装置全体としての処理速度の向上を妨げる要因となり、これに応じて伸張画像データの表す画像の解像度に対する変換可能な解像度の範囲に制限を加えなければならない、という問題がある。
また、特許文献1の画像処理装置では、ブロック単位で解像度変換が実行されるため、伸張された画像データを少ない容量のメモリで解像度変換すること、および、変換可能な解像度の範囲の制限を緩和することは可能であるが、ブロック間の境界における画像の画素間の連続性が損なわれるようなノイズ(「ブロックノイズ」とも呼ばれる。)が発生しやすく、解像度変換後の画像の画質が劣化する場合がある、という問題がある。
そこで、この発明は、従来技術における上述の課題を解決するためになされたものであり、圧縮された画像データの伸張および伸張した画像データの所望の画像データサイズへの解像度変換を、ブロックノイズの発生を抑制しつつ、伸張した画像データのサイズよりも少ない容量のメモリを使用して実行することが可能な技術を提供することを目的とする。
本発明は、上記した目的の少なくとも一部を達成するためになされたものであり、以下の形態または適用例として実現することが可能である
本願の第1の形態は、画像表示装置であって、
圧縮画像データを伸張して伸張画像データを出力する伸張部と、
前記伸張画像データの水平方向に連続する第1の画素数の画素からなる第1の画素列を単位として、前記伸張画像データの水平解像度変換を行って、水平解像度変換画像データを出力する水平解像度変換部と、
前記水平解像度変換画像データの垂直方向に連続する第2の画素数の画素からなる第2の画素列を単位として、前記水平解像度変換画像データの垂直解像度変換を行って、垂直解像度変換画像データを出力する垂直解像度変換部と、
を備え、
前記水平解像度変換部は、
前記第1の画素列として前記伸張画像データから前記第1の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、前記第1の画素数に対して不足する画素数の画素を補い、
前記垂直解像度変換部は、
前記第2の画素列として前記水平解像度変換画像データから前記第2の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、前記第2の画素数に対して不足する画素数の画素を補う
ことを特徴とする。
第1の形態の画像表示装置によれば、圧縮された画像データの伸張および伸張した画像データの所望の画像データサイズへの解像度変換を行う際に、水平解像度変換部では、第1の画素列として伸張画像データから第1の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、第1の画素数に対して不足する画素数の画素を補い、垂直解像度変換部では、第2の画素列として水平解像度変換画像データから第2の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、第2の画素数に対して不足する画素数の画素を補うことができるので、水平解像度変換後の画像データや垂直解像度変換後の画像データにノイズが発生して画質が劣化することを抑制することができる。
上記第1の形態の画像表示装置において、
前記水平解像度変換部は、前記伸張画像データに対してmタップ(mは2以上の整数)のフィルタ処理を行うことによって前記水平解像度変換を行い、
前記垂直解像度変換部は、前記水平解像度変換画像データに対してnタップ(nは2以上の整数)のフィルタ処理を行うことによって前記垂直解像度変換を行い、
前記第1の画素数は前記mであり、前記第2の画素数は前記nであるとすることができる。
また、上記第1の形態の画像表示装置において、
前記伸張画像データを記憶するブロックバッファを備え、
前記ブロックバッファの構成は、前記圧縮画像データの圧縮モードに応じて構成されるMCUに基づいて変化する
ようにすることができる。
また、上記第1の形態の画像表示装置において、
前記水平解像度画像データを記憶するラインバッファを備え、
前記ラインバッファの構成は、前記圧縮画像データの圧縮モードに応じて構成されるMCUに基づいて変化する
ようにすることができる。
本発明の第2の形態は、画像表示方法であって、
(a)圧縮画像データを伸張して伸張画像データを出力する工程と、
(b)前記伸張画像データの水平方向に連続する第1の画素数の画素からなる第1の画素列を単位として、前記伸張画像データの水平解像度変換を行って、水平解像度変換画像データを出力する工程と、
(c)前記水平解像度変換画像データの垂直方向に連続する第2の画素数の画素からなる第2の画素列を単位として、前記水平解像度変換画像データの垂直解像度変換を行って、垂直解像度変換画像データを出力する工程と、
を備え、
前記工程(b)は、
前記第1の画素列として前記伸張画像データから前記第1の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、前記第1の画素数に対して不足する画素数の画素を補う工程を含み、
前記工程(c)は、
前記第2の画素列として前記水平解像度変換画像データから前記第2の画素数の画素を切り出すことができない場合には、切り出すことができる画素数の画素からなる画素列を折り返すことにより、前記第2の画素数に対して不足する画素数の画素を補う工程を含む
ことを特徴とする。
第2の形態の画像表示方法によれば、第1の形態の画像表示装置と同様に、水平解像度変換後の画像データや垂直解像度変換後の画像データにノイズが発生して画質が劣化することを抑制することができる。
[適用例1]
圧縮画像データを伸張し、得られる伸張画像データの解像度を変換する画像処理装置であって、
前記圧縮画像データは、水平方向および垂直方向にマトリクス状に並ぶ複数の画素を単位とするブロックにより、水平方向および垂直方向にマトリクス状に区分された画像データを圧縮した画像データであり、
前記圧縮画像データを伸張しつつ、得られる前記伸張画像データを前記ブロックごとに順に出力する伸張部と、
前記伸張部から出力される前記ブロックごとの前記伸張画像データのうち、少なくとも、水平方向に並ぶ1行分のブロックのうちの一部のブロックの前記伸張画像データを、前記ブロック単位で一時記憶するブロックバッファ部と、
前記ブロックバッファ部に記憶される前記一部のブロックの前記伸張画像データのうち、水平方向に並ぶ複数の画素の前記伸張画像データに対して、フィルタ処理することにより、前記伸張画像データの水平方向の解像度を変換する水平解像度変換部と、
前記水平解像度変換部によって水平方向の解像度が変換され、水平方向および垂直方向にマトリクス状に並ぶ画素の画像データで構成される水平解像度変換画像データのうち、垂直方向に並ぶ一部の行の前記水平解像度変換画像データを行単位で一時記憶するラインバッファ部と、
前記ラインバッファ部に記憶される前記一部の行の前記水平解像度変換画像データのうち、垂直方向に並ぶ複数の画素の前記水平解像度変換画像データに対して、フィルタ処理することにより、前記水平解像度変換データの垂直方向の解像度を変換する垂直解像度変換部と、
を備えることを特徴とする画像処理装置。
適用例1によれば、圧縮された画像データの伸張および伸張した画像データの所望の画像データサイズへの解像度変換を、ブロックノイズの発生を抑制しつつ、伸張した画像データのサイズよりも少ない容量のメモリを使用して実行することが可能となる。
[適用例2]
適用例1に記載の画像処理装置であって、
前記ブロックバッファ部は、一時記憶されている前記一部のブロックの前記伸張画像データの中から、前記水平解像度変換部からの要求に応じて必要な複数の画素に対応する前記伸張画像データを読み出して、前記水平解像度変換部へ出力することを特徴とする画像処理装置。
適用例2によれば、一時記憶されている一部のブロックの伸張画像データの中から、水平解像度変換部からの要求に応じて必要な複数の画素に対応する伸張画像データを、水平解像度変換部へ容易に出力することができる。
[適用例3]
適用例2記載の画像処理装置であって、
前記ブロックバッファ部は、前記必要な複数の画素として、前記画像データの表す画像の左端よりも前側、あるいは、前記画像データの表す画像の右端よりも後側となる画素が対象となる場合において、前記左端よりも前側の画素に対しては、前記左端から右端へ向かって前記水平方向に並ぶ画素の伸張画像データを前記左端から左方向に折り返して割り当て、前記右端よりも後側の画素に対しては、前記右端から左端へ向かって前記水平方向に並ぶ画素の伸張画像データを前記右端から右方向に折り返して割り当てることを特徴とする画像処理装置。
適用例3によれば、水平方向の解像度を変換することにより、画像の左端部分あるいは右端部分に発生するノイズを抑制することが可能である。
[適用例4]
適用例1ないし適用例3のいずれかに記載の画像処理装置であって、
前記ラインバッファ部は、一時記憶されている前記一部の行の前記水平解像度変換画像データの中から、前記垂直解像度変換部からの要求に応じて必要な複数の画素に対応する前記水平解像度変換画像データを読み出して、前記垂直解像度変換部へ出力することを特徴とする画像処理装置。
適用例4によれば、一時記憶されている一部の行の水平解像度変換画像データの中から、垂直解像度変換部からの要求に応じて必要な複数の画素に対応する水平解像度変換画像データを、垂直解像度変換部へ容易に出力することができる。
[適用例5]
適用例4記載の画像処理装置であって、
前記ラインバッファ部は、前記必要な複数の画素として、前記画像データの表す画像の上端よりも上側、あるいは、前記画像データの表す画像の下端よりも下側となる画素が対象となる場合において、前記上端よりも上側の画素に対しては、前記上端から下端へ向かって前記垂直方向に並ぶ画素の水平解像度変換画像データを前記上端から上方向に折り返して割り当て、前記下端よりも下側の画素に対しては、前記下端から上側へ向かって前記垂直方向に並ぶ画素の水平解像度変換画像データを前記下端から下方向に折り返して割り当てることを特徴とする画像処理装置。
適用例5によれば、垂直方向の解像度を変換することにより、画像の上端部分あるいは下端部分に発生するノイズを抑制することが可能である。
なお、本発明は、画像処理装置に限られず、画像処理方法の態様でも実現することができる。
この発明の一実施例としての画像処理装置10を示すブロック図である。 JPEG伸張部100の内部構成を示すブロック図である。 画像サイズおよび切り出しサイズについて示す説明図である。 圧縮モードについて示す説明図である。 ブロックバッファ部200の内部構成を示すブロック図である。 ラインバッファ部400の内部構成を示すブロック図である。 画像処理装置10による解像度変換処理において各ブロックが実行する処理動作について示す説明図である。 画像処理装置10による解像度変換処理において各ブロックが実行する処理動作について示す説明図である。 画像処理装置10による解像度変換処理において各ブロックが実行する処理動作について示す説明図である。 ブロックバッファ部200のブロックバッファメモリ部210において実行される伸張データの記憶処理について示す説明図である。 水平ミラーミラーリング処理について示す説明図である。 ブロックバッファメモリ部210にブロック単位で記憶されている伸張データの更新について示す説明図である。 ラインバッファ部400のラインバッファメモリ部410において実行される水平処理データの記憶処理について示す説明図である。
以下、本発明を実施するための最良の形態を実施例に基づき以下の順序で説明する。
A.画像処理装置の構成:
B.解像度変換処理動作:
C.変形例:
A.画像処理装置の構成:
図1は、この発明の一実施例としての画像処理装置10を示すブロック図である。図1に示す画像処理装置10は、JPEG伸張部100と、ブロックバッファ部200と、水平解像度変換部300と、ラインバッファ部400と、垂直解像度変換部500と、解像度変換制御部600と、を備える。この画像処理装置10は、プロジェクタに用いられる画像処理装置の一部を構成し、JPEGフォーマットによる圧縮画像データを伸張しつつ、伸張された画像データ(以下、「伸張データ」と呼ぶ。)に対して順次解像度変換を実行する解像度変換装置である。
解像度変換制御部600は、図示しないCPUやメモリを含み、メモリに記憶されている制御プログラムに基づいて動作することにより、JPEG伸張部100、ブロックバッファ部200、水平解像度変換部300、ラインバッファ部400、および、垂直解像度変換部500の各ブロックの動作を制御する。なお、解像度変換制御部600と各ブロックとの間は、種々の信号線で結ばれているが、以下の説明で特に必要な、処理開始通知FMST、JPEG画像情報JINF、切り出し情報CINF、圧縮モード情報JPMD、および、解像度変換情報RINFの伝送のための信号線のみが図示されている。
JPEG伸張部100は、JPEGフォーマットに従った任意サイズの1枚分の圧縮された画像データ(以下、単に「圧縮画像データ」と呼ぶ。)を入力し、入力された圧縮画像データを伸張し、伸張された画像データ(以下、単に「伸張画像データ」とも呼ぶ。)を、後述するブロック単位で順に出力する機能ブロックである。
図2は、JPEG伸張部100の内部構成を示すブロック図である。このJPEG伸張部100は、JPEGデータ復号部110と、MCUバッファ部120と、領域切り出し部130と、色変換部140と、JPEG伸張制御部150と、を備える。
JPEG伸張制御部150は、解像度変換制御部600から供給される処理開始通知FMST、切り出し情報CINFに基づいて、JPEGデータ復号部110、MCUバッファ部120、領域切り出し部130、および、色変換部140の動作を制御する。
JPEG伸張制御部150は、処理開始通知FMSTを受けると、これに基づいて、伸張処理のための制御動作を開始し、伸張開始通知DstをMCU単位でブロックバッファ部200へ出力する。また、JPEG伸張制御部150は、JPEGデータ復号部110から、JPEGデータとして入力される圧縮画像データ(JPEG画像データ)の表す画像の伸張後の画像サイズ(幅および高さ)を取得する。また、切り出し領域の大きさを示す切り出しサイズ(幅および高さ)および切り出しの開始位置を示す切り出し開始位置(BX,BY)を取得する。取得した画像サイズはMCUバッファ部120および領域切り出し部130に供給され、取得した切り出しサイズおよび切り出し開始位置は領域切り出し部130に供給される。ここで、上記画像サイズは、JPEGデータのヘッダを参照することにより取得することができる。また、切り出しサイズおよび切り出し開始位置は、解像度変換制御部600から供給される切り出し情報CINFを参照することにより取得することができる。
図3は、画像サイズおよび切り出しサイズについて示す説明図である。JPEGフォーマットによる圧縮画像データは、その元となる圧縮前の画像データが8×8画素のブロックおよびこのブロックにより構成されるMCUを基準として処理されたデータである。そこで、画像サイズおよび切り出しサイズを示す幅および高さは、ブロックの数で表すことが可能である。また、切り出し開始位置は、左上のブロックを基準(原点)として、水平方向および垂直方向の座標(BX,BY)で表すことが可能である。例えば、図に示す切り出し開始位置の座標(BX,BY)は(2,2)となる。
また、JPEG伸張制御部150(図2)は、JPEGデータ復号部110を制御してMCUごとに入力される圧縮画像データの復号処理を実行するとともに、ブロックごとの復号処理の開始を示すブロック伸張開始通知DBstをMCUバッファ部120へ出力し、また、処理の対象となっているブロックを示すポインタ(x,y)を、MCUバッファ部120および領域切り出し部130へ出力する。なお、MCUのブロック構成は、圧縮モードに応じて決められており、入力されるJPEGデータがいずれの圧縮モードであるかは、ヘッダに記載されている圧縮モード情報を参照することにより判断することができる。なお、この圧縮モード情報は、画像サイズとともに、JPEG画像情報JINFとして解像度変換制御部600に供給される。
図4は、圧縮モードについて示す説明図である。図4に示すように、圧縮モードは、2種類の系列に分類される。
第1種類の系列は、図4(A)に示すように、水平方向に並ぶ4つのブロックを1つのMCUとする系列である。また、第2種類の系列は、図4(B)に示すように、水平方向の2ブロックおよび垂直方向の2ブロックの2×2ブロックを1つのMCUとする系列である。図中の各ブロックに付されている符号B00〜B99は、各ブロックをブロックの座標(BX,BY)を用いて示したものである。例えば、B00は座標(0,0)のブロックを示している。また、各ブロックに付されている括弧内の数字(1〜80)は、ブロックの並び順を示している。
上記のように、MCUの構成が異なるので、切り出し領域の設定は、第1種類の系列の場合には、図4(A)に示すように、ブロック単位で実行することができるが、第2種類の系列の場合には、図4(B)に示すように、MCU単位、すなわち、2×2ブロックの4つのブロックを単位として設定しなければならない。なお、第1種類の系列に含まれる圧縮モードには、YUV444,YUV422,YUV411,および、Grayscale等の圧縮モードがあげられる。また、第2種類の系列に含まれる圧縮モードには、YUV420等のモードがあげられる。
JPEGデータ復号部110は、図示しないJPEGデータ出力装置へ出力するJPEGデータ要求通知Cdrqに対する応答として、上記出力装置からMCU単位で出力されるJPEGデータCdを、JPEGデータCdとともに出力されるJPEGデータ有効通知Cdvldに基づいて入力し、入力したJPEGデータとしての圧縮画像データを、MCU単位で順に復号する。復号した画像データ(以下、「復号データ」と呼ぶ。)Ccdは、MCUバッファ部120から出力される復号データ要求通知Ccrqに対する応答として、復号データ有効通知CcvldとともにMCUバッファ部120へ出力される。なお、JPEGデータ復号部110から出力される復号データCcdは、MCUを構成するブロック単位で順に出力される。
MCUバッファ部120は、JPEGデータ復号部110から出力される復号データCcdを、復号データCcdとともに出力される復号データ有効通知Ccvldに基づいて順に入力する。そして、入力した復号データに対して、圧縮モードに応じて不足する色差データ(Uデータ,Vデータ)の補完を行い、これにより得られた復号補完データCcdcを、ブロック単位で順に、復号補完データ有効通知Cccvldとともに、領域切り出し部130へ出力する。
領域切り出し部130は、MCUバッファ部120から出力される復号補完データCcdcを、復号補完データ有効通知Cccvldに基づいて入力する。領域切り出し部130は、入力した復号補完データから切り出し領域に対応するブロックの復号補完データを切り出し、切り出しデータKdとして切り出しデータ有効通知Kdvldとともに色変換部140へ出力する。
色変換部140は、輝度(Y)および2種類の色差(U,V)で表されたデータ(YUVデータと呼ばれる。)を、R,G,B各色の輝度で表されたデータ(RGBデータと呼ばれる。)に変換する。そして、色変換部140は、変換したRGBデータを伸張データDdとして出力する。なお、この伸張データDdの出力は、ブロックバッファ部200から出力される伸張データ要求通知Ddrqに対する応答として、伸張データ有効通知Ddvldの出力とともに、行われる。
ブロックバッファ部200(図1)は、JPEG伸張部100から出力される伸張データをブロック単位で一時記憶し、水平解像度変換部300からの要求に応答して出力する機能ブロックである。
図5は、ブロックバッファ部200の内部構成を示すブロック図である。このブロックバッファ部200は、ブロックバッファメモリ部210と、ブロックバッファ管理部220と、を備える。
ブロックバッファメモリ部210は、伸張データをブロック(8×8画素)単位で記憶するための8つのブロックメモリBM1〜BM8を有している。ブロックメモリへの伸張データの書き込みは、ブロックバッファ管理部220から供給されるライトデータ(伸張データ)WDを、ブロックバッファ管理部220から供給されるブロック選択信号BSEL、ライトアドレスWADおよびライト制御信号WCに基づいて書き込むことにより、実行される。また、ブロックメモリからの伸張データの読み出しは、ブロックバッファ管理部220から供給されるリードアドレスRADおよびリード制御信号RCに基づいて読み出すことにより実行される。読み出したリードデータ(伸張データ)RDは、ブロックバッファ管理部220へ供給される。
ブロックバッファ管理部220は、処理開始通知FMST、伸張開始通知Dst、および、ブロック伸張開始通知DBstの入力に基づいて、伸張データDdの入力をブロック単位で実行する。伸張データDdの入力は、伸張データ要求通知Ddrqを出力し、これに応答してJPEG伸張部100から出力される伸張データDdを、同時に出力される伸張データ有効通知Ddvldに基づいて取り込むことにより、実行される。そして入力された伸張データDdをライトデータWDとし、ブロック選択信号BSELに従って選択されるブロックメモリの、ライトアドレスWADに対応するアドレスの記憶領域に、ライト制御信号WCに基づいて書き込む。なお、ブロックバッファ管理部220は、あらかじめ解像度変換制御部600から供給される圧縮モード情報JPMDに応じて、ブロック単位の伸張データを記憶するブロックメモリの選択、書き込み、および、いずれのブロックメモリにいずれの伸張データが記憶されているか、を管理する。
また、ブロックバッファ管理部220は、水平解像度変換部300から供給される水平対象画素位置データXYhおよび水平対象データ要求通知Dhtrqに基づいて、水平対象データDhtとして水平解像度変換部300に供給するための伸張データを、ブロックバッファメモリ部210から読み出し、水平対象データDhtとして出力する。水平対象データDhtの出力は、水平対象データ要求通知Dhtrqに対する応答として、水平対象画素の画像データを生成するために必要な画素の画素データが記憶されているブロックメモリのアドレスをリードアドレスRADとして出力し、そのアドレスに書き込まれている伸張データを、リード制御信号RCに基づいて読み出す。そして、読み出した伸張データを、水平対象データDhtとして、水平対象データ有効通知Dhtvldとともに出力する。
水平解像度変換部300(図1)は、解像度変換制御部600から供給される解像度変換情報INFに基づいて、JPEG伸張部100で伸張された伸張データの表す画像の水平方向の解像度を変換する。この水平解像度変換部300は、mタップ(mは2以上の整数であり、本例ではm=16とする。)のデジタルフィルタを用いた一般的な解像度変換回路により構成することができる。従って、水平解像度変換部300は、水平対象画素位置データXYhの表す水平対象画素位置を基準とし、この水平対象画素の水平方向の前後に並ぶm画素分の伸張データを水平対象データDhtとして入力して、水平対象画素の画像データを生成することにより、水平方向についての解像度変換を実行する。
また、水平解像度変換部300は、ラインバッファ部400からの水平処理データ要求通知Dhrqに応答して、解像度変換した画像データを水平処理データDhとして、水平処理データ有効通知Dhvldとともに、ラインバッファ部400へ出力する。
ラインバッファ部400は、水平解像度変換部300から出力される水平処理データを、ライン単位(行単位)で一時保存し、垂直解像度変換部500からの要求に応答して出力する機能ブロックである。
図6は、ラインバッファ部400の内部構成を示すブロック図である。このラインバッファ部400は、ラインバッファメモリ部410と、ラインバッファ管理部420と、を備える。
ラインバッファメモリ部410は、水平処理データを水平ライン(以下、単に「ライン」と呼ぶ。)単位で記憶するためのラインメモリLMを有している。ラインメモリLMは水平方向に解像度変換された画像データをライン単位で記憶するための32ライン分の記憶領域を有している。1ラインあたりの記憶領域は、水平方向に解像度変換された画像データ(水平処理データ)の水平方向の最大値に応じて設定される。なお、上記したように、圧縮伸張の処理単位は、MCU単位およびMCUを構成するブロック単位で扱われており、垂直方向について着目すると、1ブロックは8ライン単位で扱われているので、ラインメモリLMは、便宜上8ラインごとに区分した4つのラインブロックLM1〜LM4で示されている。ラインメモリへの水平処理データの書き込みは、ラインバッファ管理部420から供給されるライトデータ(水平処理データ)WDLを、ラインバッファ管理部420から供給されるラインブロック選択信号LSEL、ライトアドレスWADLおよびライト制御信号WCLに基づいて書き込むことにより、実行される。また、ラインメモリからの水平処理データの読み出しは、ラインバッファ管理部420から供給されるリードアドレスRADLおよびリード制御信号RCLに基づいて読み出すことにより実行される。読み出したリードデータ(水平処理データ)RDLは、ラインバッファ管理部420へ供給される。
ラインバッファ管理部420は、処理開始通知FMSTの入力に基づいて、水平処理データDhの入力をライン単位で実行する。水平処理データDhの入力は、水平処理データ要求通知Dhrqを出力し、これに応答して水平解像度変換部300から出力される水平処理データDhを、同時に出力される水平処理データ有効通知Dhvldに基づいて取り込むことにより、実行される。そして入力された水平処理データDhをライトデータWDLとし、ラインブロック選択信号LSELに従って選択されるラインメモリの、ライトアドレスWADLに対応するアドレスの記憶領域に、ライト制御信号WCLに基づいて書き込む。なお、ラインバッファ管理部420は、あらかじめ解像度変換制御部600から供給される圧縮モード情報JPMDに応じて、ライン単位の水平処理データを記憶するラインメモリの選択、書き込み、および、いずれのラインにいずれの水平処理データが記憶されているか、を管理する。
また、ラインバッファ管理部420は、垂直解像度変換部500から供給される垂直対象画素位置データXYvおよび垂直対象データ要求通知Dvtrqに基づいて、垂直対象データDvtとして垂直解像度変換部500に供給するための水平処理データを、ラインバッファメモリ部410から読み出し、垂直対象データDvtとして出力する。垂直対象データDvtの出力は、垂直対象データ要求通知Dvtrqに対する応答として、垂直対象画素の画像データを生成するために必要な画素の画像データが記憶されているラインメモリのアドレスを、リードアドレスRADLとして出力し、そのアドレスに書き込まれている水平処理データを、リード制御信号RCLに基づいて読み出す。そして、読み出した水平処理データを、垂直対象データDvtとして、垂直対象データ有効通知Dvtvldとともに出力する。
垂直解像度変換部500(図1)は、解像度変換制御部600から供給される解像度変換情報INFに基づいて、水平解像度変換部300で水平方向について解像度変換されることにより得られた画像データ(ラインバッファ部400から出力される水平処理データ)の垂直方向の解像度を変換する。この垂直解像度変換部500は、水平解像度変換部300と同様に、nタップ(nは2以上の整数であり、本例ではn=16とする。)のデジタルフィルタを用いた一般的な解像度変換回路により構成することができる。従って、垂直解像度変換部500は、垂直対象画素位置データXYvの表す垂直対象画素位置を基準とし、この垂直対象画素の垂直方向の上下に並ぶn画素分の水平処理データを垂直対象データDvtとして入力して、垂直対象画素の画像データを生成することにより、垂直方向への解像度変換を実行する。
そして、垂直解像度変換部500による垂直方向への解像度変換により得られた解像度変換データDrは、解像度変換データ有効通知Drvldとともにフレームメモリへ出力される。なお、フレームメモリでは、解像度変換データ有効通知Drvldに基づいて、解像度変換データDrが入力されて書き込まれる。
以上のようにして、本実施例の画像処理装置10は、入力したJPEGデータに含まれる圧縮画像データを伸張処理しつつ、解像度変換を実行することができる。
B.解像度変換処理動作:
図7〜図9は、画像処理装置10による解像度変換処理において、各ブロックが実行する処理動作について示す説明図である。
まず、ステップS102では、JPEG伸張部100のJPEG伸張制御部150(図2)に、伸張後の画像サイズ(幅および高さ)と、切り出しサイズ(幅および高さ)および切り出し開始位置(BX,BY)とが設定される。
また、ステップS104では、ブロックバッファ部200およびラインバッファ部400(図2)に、圧縮モードが設定される。
そして、上記設定の終了後、実際に解像度変換処理が開始される。なお、以下の説明では、MCUが2×2の4つのブロックで構成され、図4(B)に示すように、切り出し領域が設定された場合を例に説明することとする。
まず、ステップS106では、JPEG伸張部100のJPEGデータ復号部110(図2)によって、1MCU分のJPEG画像データに対して復号処理が実行される。このとき、得られた復号データは、JPEG伸張部100のMCUバッファ部120(図2)に入力され、圧縮モードの種類に応じて、補完処理がなされた後、領域切り出し部130に入力される。
ステップS108では、JPEG伸張部100の領域切り出し部130(図2)によって、復号処理された1つのMCUを構成する全ブロックの中に切り出し領域に相当するブロックが含まれているか否か判断される。
ここで、切り出し領域に相当するブロックが含まれていない場合には(ステップS108:NO)、ステップS110において、領域切り出し部130によって、復号処理された1つのMCUを構成する全ブロックの復号データは破棄される。
一方、切り出し領域に相当するブロックが含まれている場合には(ステップS108:YES)、ステップS112において、領域切り出し部130によって、切り出し領域に相当するブロックの復号データが切り出し処理されて、色変換部140(図2)へ出力される。
例えば、図4(B)に示すように切り出し領域が設定されているとする。このとき、番号1〜4が付されている4つのブロックB00,B10,B01,B11により構成されるMCUには、切り出し領域が含まれていないので、これに含まれる4つのブロックの復号データは破棄される。一方、番号25〜28が付されている4つのブロックB22,B32,B23,B33により構成されるMCUには、切り出し領域が含まれているので、これに含まれる復号データは、ブロックごとに順に切り出し処理されて、色変換部140へ出力される。
そして、ステップS114では、色変換部140によって、領域切り出し部130から入力された切り出しデータが、YUV形式のデータ(YUVデータ)からRGB形式のデータ(RGBデータ)に変換され、ステップS116では、色変換部140によって、RGBデータに変換された切り出しデータが、JPEG伸張部100によって処理された伸張データとして、ブロックバッファ部200(図1)へ出力される。なお、ブロックバッファ部200へ出力された伸張データは、ブロックバッファ部200のブロックバッファメモリ部210(図5)に記憶される。
そして、ステップS118では、ブロックバッファ部200のブロックバッファ管理部220において、水平解像度変換処理に必要なブロック数の復号処理が終了し、必要なブロック数の伸張データがブロックバッファ部200のブロックバッファメモリ部210に記憶されているか否か判断される。
ここで、まだ、必要なブロック数の伸張データがブロックバッファメモリ部210に記憶されておらず、水平解像度変換処理に必要なブロック数の復号処理が終了していない場合には(ステップS118:NO)、ステップS106に戻って、次のMCUの復号処理が実行される。
一方、必要なブロック数の伸張データがブロックバッファメモリ部210に記憶されており、水平解像度変換処理に必要なブロック数の復号処理が終了している場合には(ステップS118:YES)、ブロックバッファ部200において、後述するステップS120の処理が実行される。
図10は、ブロックバッファ部200のブロックバッファメモリ部210において実行される伸張データの記憶処理について示す説明図である。JPEG伸張部100から出力される伸張データは、MCU(2×2ブロック)単位で、かつ、MCUを構成する4つのブロックに対して規定されている順番で、ブロックバッファ部200に入力され、ブロックバッファメモリ部210のブロックメモリBM1〜BM8に記憶される。例えば、図4(B)に示した切り出し領域の先頭のMCUを構成する番号25〜28が付された4つのブロックB22,B32,B23,B33は、まず、図10(A)に示すように、ブロックバッファメモリ部210の左側に並ぶ2行2列の4つのブロックメモリBM1,BM2,BM5,BM6に記憶される。
上記したように、水平解像度変換部300(図1)は、m(m=16)タップのデジタルフィルタによって構成されているため、水平解像度変換部300において1つの水平対象画素の画像データを生成するために必要な画像データ(伸張データ)の数は、m画素(16画素)となる。従って、ブロックバッファ部200は、水平解像度変換部300から供給される水平対象画素位置データXYhに対して、水平対象画素位置(x,y)を含み、水平方向に前後に並ぶm画素(16画素)分の伸張データを、水平対象データとして出力する必要がある。ただし、水平対象画素位置データXYhの表す座標は、実際の水平対象画素位置を示す座標の少数部分を無視して整数部分のみで表したものであり、実際の水平対象画素位置は、整数で表された座標xからその次の座標x+1までの間となる。しかしながら、ブロックバッファ部200において、整数で表された座標を水平画素位置の座標として扱っても、水平解像度変換部300における処理に関して何ら問題は無い。座標(x,y)の小数点以下の値を反映するために、水平解像度変換部300に入力された16画素分の伸張データに対して、座標(x,y)の小数点以下の値の重み付けを加味したフィルタ係数を用いて水平解像度変換の演算を行う。そこで、以下では、水平対象画素位置データXYhの表す座標(x,y)を水平対象画素位置の座標として説明することとする。なお、水平対象データとして出力する16画素分の伸張データとしては、水平対象画素位置データXYhの表すx座標の画素と、この画素よりも前列側の7画素と、この画素よりも後列側の8画素の16画素分(x座標がx−7〜x+8)の伸張データが出力される。
このとき、水平対象画素位置データXYhの表す座標(x,y)が、例えば、図に示すように、第2のブロックメモリBM2に記憶されているブロックB32内の伸張データを示している場合、2つのブロックメモリBM1,BM2に記憶され、水平方向に並ぶ16画素の伸張データのみでは、水平対象画素位置よりも後列側の8画素分の伸張データを得ることができない。このため、第2のブロックメモリBM2に記憶されているブロックB32の次のブロック(図4(B)のB42(番号29))の伸張データが必要となる。
そこで、このような状況下において、ステップS118では、水平解像度変換処理に必要なブロック数の伸張処理がまだ終了していないと判断され(ステップS118:NO)、ステップS106に戻って、次のMCUの復号処理が開始される。これにより、図10に示すように、例えば、図4(B)に示した切り出し領域における、次のMCUを構成する4つのブロックB42,B52,B43,B53が、残りの4つのブロックメモリBM3,BM4,BM7,BM8に記憶される。
なお、上記のように、水平対象画素位置の座標(x,y)が第2のブロックメモリBM2に記憶されているブロックB43内の伸張データを示している場合に、新たに必要な伸張データのブロック数は、ブロックB42の次のブロックB52のみでよいが、JPEG伸張部100において実行される伸張処理は、MCU単位であるので、4つのブロックの圧縮データが伸張処理されて出力される。従って、ブロックバッファ部200では、4ブロック単位で伸張データをブロックバッファメモリ部210に記憶しておく必要がある。
以上のようにして、水平方向に連続する2つのMCUに含まれる8つのブロックの伸張データがブロックバッファメモリ部210に記憶されることにより、ブロックバッファ部200では、水平解像度変換部300から要求される水平対象画素位置データXYhの表す水平画素位置の座標(x,y)に対応する16画素分(x座標がx−7〜x+8)の伸張データを、水平解像度変換部300へ供給することが可能となる。そして、水平解像度変換部300では、JPEG伸張部100で伸張された画像データの解像度変換を水平方向に対してのみ実行することができる。
次に、ステップS120では、ブロックバッファ部200のブロックバッファ管理部220において、水平解像度変換部300に対して水平対象データを供給するために、水平ミラーリング処理が必要か否か判断される。
ここで、水平ミラーリング処理が必要な場合には(ステップS120:YES)、ステップS122において、ブロックバッファメモリ部210に記憶されている伸張データに対して水平ミラーリング処理を実行することによりデータ補完が行われ、水平方向についての解像度変換に必要な水平対象データとして、水平方向に並ぶ16画素分の画像データ(伸張データ)が水平解像度変換部300へ出力される。
一方、水平ミラーリング処理が不要な場合には(ステップS120:NO)、ブロックバッファメモリ部210から、水平方向についての解像度変換に必要な水平対象データとして、水平方向に並ぶ16画素分の伸張データが読み出されて、水平解像度変換部300へ出力される。
図11は、水平ミラーリング処理について示す説明図である。図は4つのブロックメモリBM1,BM2,BM5,BM6に、図4(B)に示した切り出し領域の先頭のMCUのブロックB22(番号25),B23(番号26),B23(番号27),B33(番号28)が記憶されている状態を示している。
水平対象画素位置の座標(x,y)が、画像の左端縁に相当する部分、例えば、図に示すように、切り出し領域の先頭のブロックB22内の位置を示していた場合、対応する16画素分のうち、その座標の画素よりも前列側の画素として存在しない画素が発生する。このような場合には、ブロックB22の伸張データを水平方向にミラーリング処理することにより、ブロックB22よりも前側のブロックを仮想的に構築して、不足する伸張データを補完するようにすればよい。例えば、図に示すように、水平対象画素位置の座標(x,y)に対応する行のブロックB33の画素を先頭から後列に向かって順にa,b,c,d,e,f,gである場合には、ブロックB33をミラーリング処理することにより、仮想的に構築されたブロックにおける画素は、前列に向かって順にa,b,c,d,e,f,gとされる。
なお、図11で説明した例は、画像の左端縁に相当する部分について示したが、画像の右端縁に相当する部分についても同様であり、水平ミラーリング処理によりデータを補完すればよい。
以上のように、画像の左端縁および右端縁に相当する部分について、水平ミラーリング処理を利用することにより、水平解像度変換後の画像データにノイズが発生して画質が劣化することを抑制することができる。
そして、ステップS124では、水平解像度変換部300(図1)において、ブロックバッファ部200から水平対象データとして出力される16画素分の伸張データを用いて、水平対象画素位置に対応する画像データを生成することにより、水平方向についての解像度変換が実行される。
また、ステップS126では、水平解像度変換部300において、生成した画像データが水平方向について解像度変換された水平処理データとして、ラインバッファ部400(図1)へ出力される。
そして、ステップS128では、ブロックバッファ部200のブロックバッファ管理部220において、ブロックバッファメモリ部210(図6)にブロック単位で記憶されている伸張データの更新が必要であるか否か判断される。
ここで、伸張データの更新が必要でない場合には(ステップS128:NO)、ステップS120〜S126の処理が繰り返される。
一方、伸張データの更新が必要である場合には(ステップS128:YES)、ステップS130で、ラインバッファ部400のラインバッファ管理部420(図6)において、垂直解像度変換処理に必要なライン数の復号処理が終了し、必要なライン数の水平処理データがラインバッファ部400のラインバッファメモリ部410(図6)に記憶されているか否か判断される。
ここで、まだ、必要なライン数の水平処理データがラインバッファメモリ部410に記憶されておらず、垂直解像度変換処理に必要なライン数の水平解像度変換処理が終了していない場合には(ステップS130:NO)、ステップS106に戻って、ステップS106〜ステップS128までの処理が繰り返される。
図12は、ブロックバッファメモリ部210にブロック単位で記憶されている伸張データの更新について示す説明図である。水平解像度変換部300から順に供給される水平対象画素位置データXYhの表す座標が順に変化して、例えば、図12(A)に示すように、水平方向に並ぶ4つめのブロックB62(図4(B))内の伸張データを示している場合、解像度変換のために必要な伸張データの数に不足が発生する。そこで、このような場合には、上記処理ステップS128において、ブロック単位の伸張データの更新が必要と判断され(ステップS128:YES)、さらに、ステップS130において垂直解像度変換処理に必要な数のラインの水平解像度変換処理が終了したかを判断し、ステップS106に戻って、さらに、次のMCUの復号処理が開始されることになる。これにより、図12(B)に示すように、不要となった伸張データが記憶されていた4つのブロックメモリBM1,BM2,BM5,BM6が更新され、次のMCUの復号処理により得られた4つのブロックB62,B72,B63,B73の伸張データが記憶される。これにより、ブロックバッファメモリ部210の8つのブロックメモリBM1〜BM8に記憶される画像データ(伸張データ)の更新を実行することができる。なお、図12(B)に示す図は、水平方向のブロックの並び順をわかりやすくするために、便宜上、4つのブロックメモリBM3,BM4,BM7,BM8を前段側、4つのブロックメモリBM1,BM2,BM5,BM6を後段側として、示している。
一方、ステップS130において、必要なライン数の水平処理データがラインバッファメモリ部410に記憶されており、垂直解像度変換処理に必要なライン数の水平解像度変換処理が終了している場合には(ステップS130:YES)、ラインバッファ部400において、後述する次のステップS132の処理が実行される。
ここで、図13は、ラインバッファ部400のラインバッファメモリ部410において実行される水平処理データの記憶処理について示す説明図である。水平解像度変換部300から出力される水平処理データは、解像度変換前の垂直方向の2ブロックに相当するライン数、すなわち、8×2ライン(16ライン)ごとに、ラインバッファメモリ部410のラインブロックLM1〜LM4に記憶される。例えば、図4(B)に示した切り出し領域の1番上のブロックの行に並ぶブロックB22(番号25),B32(番号26),B42(番号29),B52(番号30),B62(番号33),B72(番号34)の8つのブロックの伸張データを水平方向に解像度変換することにより得られた水平処理データは、第1のラインブロックLM1に記憶され、図4(B)に示した切り出し領域の2番目のブロックの行に並ぶブロックB23(番号27),B33(番号28),B43(番号31),B53(番号32),B63(番号35),B73(番号36)の8つのブロックの伸張データを水平方向に解像度変換することにより得られた水平処理データは、第2のラインブロックLM2に記憶される。
上記したように、垂直解像度変換部500(図1)は、n(n=16)タップのデジタルフィルタによって構成されているため、垂直解像度変換部500において1つの垂直対象画素の画像データを生成するために必要な画像データ(水平処理データ)の数は、n画素(16画素)となる。従って、ラインバッファ部400は、垂直解像度変換部500から供給される垂直対象画素位置データXYvに対して、垂直対象画素位置(x,y)を含み、垂直方向に上下に並ぶn画素(16画素)分の水平処理データを、垂直対象データとして出力する必要がある。ただし、垂直対象画素位置データXYvの表す座標は、水平対象画素位置データXYhと同様に、実際の垂直対象画素位置を示す座標の小数部分を無視した整数部分のみで表したものであり、実際の垂直対象画素位置は、整数で表された座標yからその次の座標y+1までの間となる。しかしながら、ラインバッファ部400において、整数で表された座標を垂直画素位置の座標として扱っても、垂直解像度変換部500における処理に関して何ら問題は無い。座標(x,y)の小数点以下の値を反映するために、垂直解像度変換部300に入力された16画素分の伸張データに対して、座標(x,y)の小数点以下の値の重み付けを加味したフィルタ係数を用いて垂直解像度変換の演算を行う。そこで、以下では、垂直対象画素位置データXYvの表す座標(x,y)を垂直対象画素位置の座標として説明することとする。なお、垂直対象データとして出力する16画素分の水平処理データとしては、垂直対象画素位置データXYvの表すy座標の画素と、この画素よりも上行側の7画素と、この画素よりも下行側の8画素の16画素分(y座標がy−7〜y+8)の水平処理データが出力される。
このとき、垂直対象画素位置データXYvの表す座標(x,y)が、例えば、図に示すように、第2のラインブロックLM2に記憶されている水平処理データ(図4(B)に示した切り出し領域の2番目のブロックの行に並ぶブロックB23〜B73の8つのブロックの水平方向について解像度変換した画像データ)を示している場合、2つのラインブロックLM1,LM2に記憶され、垂直方向に並ぶ16画素の水平処理データのみでは、垂直画素位置よりも下行側の8画素分の伸張データを得ることができない、このため、第2のラインブロックLM2に記憶されている水平処理データに対応するブロックの行の次のブロックの行(例えば、図4(B)に示した切り出し領域における3番目のブロックの行に並ぶブロックB24,B34,B44,B54,B64,B74)の水平処理データが必要となる。
そこで、このような状況下においては、ステップS130では、垂直解像度変換処理に必要なライン数の伸張処理が終了していないと判断され(ステップS130:NO)、ステップS106に戻って、次のMCUの復号処理が繰り返し実行される。これにより、図13に示すように、例えば、図4(B)に示した切り出し領域の3番目のブロックの行に並ぶブロックB24,B34,B44,B54,B64,B74に対応する水平処理データが、第3のラインブロックLM3に記憶され、図4(B)に示した切り出し領域の4番目のブロックの行に並ぶブロックB25,B35,B45,B55,B65,B75に対応する水平処理データが、第4のラインブロックLM4に記憶される。
なお、上記のように、垂直対象画素位置の座標(x,y)が第2のラインブロックLM2に記憶されている水平処理データを示していた場合に、新たに必要な水平処理データのライン数は、次のブロックの行、すなわち、8ライン分の水平処理データでよいが、上記したように、JPEG伸張部100において実行される伸張処理は、2×2ブロックで構成されるMCU単位であるので、水平解像度変換部300からは、垂直方向に並ぶ2つのブロックの行に相当するライン数、すなわち、16ライン分の水平処理データが出力されることになる。従って、ラインバッファ部400では、4つのブロックの行に対応するライン数、すなわち、8×4(=32)ライン分の水平処理データをラインバッファメモリ部410に記憶しておく必要がある。
以上のようにして、垂直方向に連続する4つのブロックの行に対応する32ラインの水平処理データをラインバッファメモリ部410に記憶することにより、垂直解像度変換部500では、垂直解像度変換部500から要求される垂直対象画素位置データXYvの表す垂直対象画素位置の座標(x,y)に対応する16画素分(y座標がy−7〜y+8)の水平処理データを、垂直解像度変換部500へ供給することが可能となる。そして、垂直解像度変換部500では、水平解像度変換部300で水平方向について解像度変換された画像データを垂直方向について解像度変換することができる。
次に、ステップS132では、ラインバッファ部400のラインバッファ管理部420において、垂直解像度変換部500に対して垂直対象データを供給するために、垂直ミラーリング処理が必要か否か判断される。
ここで、垂直ミラーリング処理が必要な場合には(ステップS132:YES)、ステップS134において、ラインバッファメモリ部410に記憶されている水平処理データに対して垂直ミラーリング処理を実行することによりデータ補完が行われ、垂直方向についての解像度変換に必要な垂直対象データとして、垂直方向に並ぶ16画素分の画像データ(水平処理データ)が垂直解像度変換部500へ出力される。
一方、垂直ミラーリング処理が不要な場合には(ステップS132:NO)、ラインバッファメモリ部410から、垂直方向についての解像度変換に必要な垂直対象データとして、垂直方向に並ぶ16画素分の水平処理データが読み出されて、垂直解像度変換部500へ出力される。
なお、この垂直ミラーリング処理は、画像の上端縁および下端縁に相当する部分に関して実行される点を除いて、上記したブロックバッファメモリ部210における水平ミラーリング処理と同様であり、その目的および効果も同様であるので、ここでは説明を省略する。
そして、ステップS136では、垂直解像度変換部500において、ラインバッファ部400から垂直対象データとして出力される16画素分の水平処理データを用いて、垂直対象画素位置に対応する画像データを生成することにより、垂直方向への解像度変換が実行される。
また、ステップS138では、垂直解像度変換部500において、生成した解像度変換データがフレームメモリへ出力される。
そして、ステップS140では、ラインバッファ部400において、ラインバッファメモリ部410にライン単位で記憶されている水平処理データの更新が必要であるか否か判断される。
ここで、水平処理データの更新が必要でない場合には(ステップS140:NO)、ステップS132〜S138の処理が繰り返される。
一方、水平処理データの更新が必要である場合には(ステップS140:YES)、ステップS142において、さらに、1フレーム、すなわち、画像1枚分の処理が終了したか否か判断される。
ここで、まだ、画像1枚分の処理が終了していない場合には(ステップS142:NO)、ステップS106へ戻って、ステップS106〜ステップS140までの処理が繰り返される。
一方、画像1枚分の処理が終了した場合には(ステップS142:YES)、この解像度変換処理動作が終了する。
なお、ステップS140における水平処理データの更新の判断は、上記したステップS128における伸張データの更新の判断と同様の手順で実行することができるので、ここでは説明を省略する。
以上のように、上記実施例の解像度変換装置としての画像処理装置では、JPEGフォーマットによる圧縮画像データを、MCU単位で伸張処理しつつ、伸張処理された画像データを順次解像度変換することにより、少ない容量のメモリを用いて、ブロックノイズの発生を抑制しつつ、効率よく解像度変換することが可能である。
また、伸張処理された画像データのうち、設定した切り出し領域に対応する画像データのみを切り出して順次解像度変換することができるので、不要な部分を解像度変換する必要がなく、効率よく解像度変換することが可能である。
C.変形例:
なお、上記実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は付加的な要素であり、適宜省略可能である。また、この発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上記実施例では、MCUを構成するブロックを2×2ブロックとした場合を例に説明したが、MCUを構成するブロックを水平方向に並ぶ4ブロックとした場合にも同様に適用可能である。ただし、この場合には、ブロックバッファメモリ部に備えるブロックメモリの数は最低3個でよく、ラインバッファメモリ部に備えるラインメモリのライン数は、24ラインでよい。
C2.変形例2:
上記実施例では、8×8画素で構成されるブロックを例に説明したが、これに限定されるものではなくp×q画素(p,qは2以上の整数)で構成されるブロックであってもよい。ただし、この場合には、ブロックのサイズに応じて、ブロックバッファ部のブロックバッファメモリ部に含まれるブロックメモリの構成や、ラインバッファ部のラインバッファメモリ部に含まれるラインメモリの構成を変更することが好ましい。
また、MCUの構成も種々の構成とすることができる。ただし、この場合においても、同様に、MCUの構成に応じて、ブロックバッファ部のブロックバッファメモリ部に含まれるブロックメモリの構成や、ラインバッファ部のラインバッファメモリ部に含まれるラインメモリの構成を変更することが好ましい。
C3.変形例3:
上記実施例では、任意の画像サイズを有する画像データ(伸張画像データ)から、あらかじめ設定された切り出しサイズを有する画像を有する画像データ(伸張画像データ)を切り出して、解像度を変換する場合を例に説明しているが、切り出しサイズを画像サイズに一致させることにより、切り出した画像データではなく、任意の画像サイズの画像データの解像度を変換することが可能である。なお、画像の切り出しが不要な場合には、JPEG伸張部に備える領域切り出し部を省略すればよい。
C4.変形例4:
上記実施例では、JPEG伸張部を、YUVデータをRGBデータに変換する色変換部を備える構成として説明しているが、これに限定されるものではなく、色変換部を省略する構成であってもよい。
C5.変形例5:
上記実施例の画像処理装置は、プロジェクタに用いられる画像処理装置の一部を構成することとして説明したが、これに限定されるものではなく、他の画像表示装置や印刷装置等の種々の装置を構成する画像処理装置の構成要素として適用することが可能である。
10…画像処理装置
100…JPEG伸張部
110…JPEGデータ復号部
120…MCUバッファ部
130…領域切り出し部
140…色変換部
150…JPEG伸張制御部
200…ブロックバッファ部
210…ブロックバッファメモリ部
220…ブロックバッファ管理部
300…水平解像度変換部
400…ラインバッファ部
410…ラインバッファメモリ部
420…ラインバッファ管理部
500…垂直解像度変換部
600…解像度変換制御部

Claims (7)

  1. 画像表示装置であって、
    圧縮画像データを伸張して伸張画像データをブロックごとに出力する伸張部と、
    前記伸張画像データの複数のブロックにわたって抽出され、且つ所定の位置を基準に水平方向に対称に連続する第1の画素数の画素からなる第1の画素列に対して、水平解像度変換を行、水平解像度変換画像データを出力する水平解像度変換部と、
    前記第1の画素列ごとに水平解像度変換を行った複数の水平解像度変換画像データから抽出され、且つ所定の位置を基準に垂直方向に対称に連続する第2の画素数の画素からなる第2の画素列に対して、垂直解像度変換を行、垂直解像度変換画像データを出力する垂直解像度変換部と、
    を備え、
    前記水平解像度変換部は、
    記伸張画像データから前記第1の画素数の画素の一部抽出することができない場合、抽出することができる一部の画素からなる画素列を折り返す折り返し処理、または、前記伸張画像データの新たなブロックの更新処理により、前記第1の画素数に対して不足する画素を補い、
    前記垂直解像度変換部は、
    複数の水平解像度変換画像データから前記第2の画素数の画素の一部を抽出することができない場合、抽出することができる一部の画素からなる画素列を折り返す折り返し処理、または、新たな複数の水平解像度変換画像データの更新処理により、前記第2の画素数に対して不足する画素を補う
    ことを特徴とする画像表示装置。
  2. 請求項1に記載の画像表示装置であって、
    前記伸張部により出力される伸張画像データの複数のブロックを記憶する第1の記憶部を備え、
    前記水平解像度変換部において、
    前記不足する画素が、前記第1の記憶部により既に記憶されているブロックの次に記録されるブロック内に存在する場合に、前記更新処理によって第1の記憶部に記憶される伸張画像データのブロックを更新して前記不足する画素を補い、
    前記不足する画素が、前記伸張画像データの端縁部に相当するブロックの外側になる場合に、前記折り返し処理によって前記不足する画素を補う
    ことを特徴とする画像表示装置。
  3. 請求項1または2に記載の画像表示装置であって、
    前記水平解像度変換部により出力される複数の水平解像度変換画像データを記憶する第2の記憶部を備え、
    前記垂直解像度変換部において、
    前記不足する画素が、前記第2の記憶部により既に記憶されている水平解像度変換画像データの次に記録される水平解像度変換画像データ内に存在する場合に、前記更新処理によって第2の記憶部に記憶される水平解像度変換画像データを更新して前記不足する画素を補い、
    前記不足する画素が、前記伸張画像データの端縁部に相当するブロックに対応する前記複数の水平解像度変換画像データの外側にある場合に、前記折り返し処理によって前記不足する画素を補う
    ことを特徴とする画像表示装置。
  4. 請求項1〜3のいずれか一項に記載の画像表示装置であって、
    前記水平解像度変換部は、前記伸張画像データに対してmタップ(mは2以上の整数)のフィルタ処理を行うことによって前記水平解像度変換を行い、
    前記垂直解像度変換部は、前記水平解像度変換画像データに対してnタップ(nは2以上の整数)のフィルタ処理を行うことによって前記垂直解像度変換を行い、
    前記第1の画素数は前記mであり、前記第2の画素数は前記nである
    ことを特徴とする画像表示装置。
  5. 請求項1〜4のいずれか一項に記載の画像表示装置であって、
    前記第1の記憶部の構成は、前記圧縮画像データの圧縮モードに応じて構成されるMCUに基づいて変化する
    ことを特徴とする画像表示装置。
  6. 請求項1〜5のいずれか一項に記載の画像表示装置であって、
    前記第2の記憶部の構成は、前記圧縮画像データの圧縮モードに応じて構成されるMCUに基づいて変化する
    ことを特徴とする画像表示装置。
  7. 画像表示方法であって、
    (a)圧縮画像データを伸張して伸張画像データをブロックごとに出力する工程と、
    (b)前記伸張画像データの複数のブロックにわたって抽出され、且つ所定の位置を基準に水平方向に対称に連続する第1の画素数の画素からなる第1の画素列に対して、水平解像度変換を行、水平解像度変換画像データを出力する工程と、
    (c)前記第1の画素列ごとに水平解像度変換を行った複数の水平解像度変換画像データから抽出され、且つ所定の位置を基準に垂直方向に対称に連続する第2の画素数の画素からなる第2の画素列に対して、垂直解像度変換を行、垂直解像度変換画像データを出力する工程と、
    を備え、
    前記工程(b)は、
    記伸張画像データから前記第1の画素数の画素の一部抽出することができない場合、抽出することができる一部の画素からなる画素列を折り返す折り返し処理、または、前記伸張画像データの新たなブロックの更新処理により、前記第1の画素数に対して不足する画素を補う工程を含み、
    前記工程(c)は、
    複数の水平解像度変換画像データから前記第2の画素数の画素の一部抽出することができない場合、抽出することができる一部の画素からなる画素列を折り返す折り返し処理、または、新たな複数の水平解像度変換画像データの更新処理により、前記第2の画素数に対して不足する画素を補う工程を含む
    ことを特徴とする画像表示方法。
JP2009229557A 2009-10-01 2009-10-01 画像表示装置および画像表示方法 Expired - Fee Related JP5003739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009229557A JP5003739B2 (ja) 2009-10-01 2009-10-01 画像表示装置および画像表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009229557A JP5003739B2 (ja) 2009-10-01 2009-10-01 画像表示装置および画像表示方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007179824A Division JP4380740B2 (ja) 2007-07-09 2007-07-09 画像処理装置

Publications (3)

Publication Number Publication Date
JP2010045814A JP2010045814A (ja) 2010-02-25
JP2010045814A5 JP2010045814A5 (ja) 2010-08-05
JP5003739B2 true JP5003739B2 (ja) 2012-08-15

Family

ID=42016731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009229557A Expired - Fee Related JP5003739B2 (ja) 2009-10-01 2009-10-01 画像表示装置および画像表示方法

Country Status (1)

Country Link
JP (1) JP5003739B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003234903A (ja) * 2002-02-12 2003-08-22 Seiko Epson Corp 画像処理方法及び画像処理装置
JP3973089B2 (ja) * 2002-09-13 2007-09-05 株式会社リコー 画像処理装置、画像処理方法、プログラム及び記録媒体
JP4148462B2 (ja) * 2003-01-20 2008-09-10 株式会社リコー 画像処理装置、電子カメラ装置及び画像処理方法
JP2005094212A (ja) * 2003-09-16 2005-04-07 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4244046B2 (ja) * 2004-11-02 2009-03-25 パナソニック株式会社 画像処理方法および画像処理装置

Also Published As

Publication number Publication date
JP2010045814A (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
JP2007067917A (ja) 画像データ処理装置
JP2007280284A (ja) 画像の高解像度化方法及び装置
JP4380740B2 (ja) 画像処理装置
US20160352952A1 (en) Data processing apparatus, data processing method, and storage medium
JP2019528627A (ja) パノラマビデオ圧縮方法および装置
JP6722278B2 (ja) 画像処理装置
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
JP4380741B2 (ja) 画像処理装置
JP7170478B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP5585885B2 (ja) 画像処理装置及び画像処理方法
JP5947143B2 (ja) 魚眼画像の補正装置及び補正方法
JP5003739B2 (ja) 画像表示装置および画像表示方法
JP2006287583A (ja) 画像データ領域取得補間回路
US9646403B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US7787700B2 (en) Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium
JP2008228251A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP6524644B2 (ja) 画像処理装置および電子機器
JP2010011485A (ja) 画像処理装置
JP6295619B2 (ja) 画像処理装置及び方法、並びに電子機器
WO2015098721A1 (ja) 画像処理装置、画像処理方法、画像処理用プログラム、および、撮像装置
JP2007110419A (ja) 画像変倍方法
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP2007094391A (ja) 動画像表示装置
JP4274187B2 (ja) 表示データ伸張方法、表示データ圧縮伸張方法、表示データ伸張装置および表示データ圧縮伸張装置
US20070103568A1 (en) Method of enlarging an image by interpolation means and a related digital camera using the same

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

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: 20120424

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: 20120507

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5003739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees