JP6030321B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6030321B2
JP6030321B2 JP2012068985A JP2012068985A JP6030321B2 JP 6030321 B2 JP6030321 B2 JP 6030321B2 JP 2012068985 A JP2012068985 A JP 2012068985A JP 2012068985 A JP2012068985 A JP 2012068985A JP 6030321 B2 JP6030321 B2 JP 6030321B2
Authority
JP
Japan
Prior art keywords
image
data
image processing
wrapper
dummy
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.)
Active
Application number
JP2012068985A
Other languages
English (en)
Other versions
JP2013201624A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2012068985A priority Critical patent/JP6030321B2/ja
Publication of JP2013201624A publication Critical patent/JP2013201624A/ja
Application granted granted Critical
Publication of JP6030321B2 publication Critical patent/JP6030321B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像処理装置に関する。
JPEG(Joint Photographic Experts Group)等の圧縮処理では、処理単位(MCU(Minimum Coded Unit)とも称される)となる画像サイズが予め規定されている。このため、圧縮対象画像は上記所定の画像サイズごとにJPEGモジュールへ入力される。JPEGのMCUは、YUV422の場合、例えば幅(H)が16画素、高さ(V)が8画素の矩形画像である。
JPEGモジュールは、図14に示す従来の構成下では、バスに直接接続されている。同様に、CPU(Central Processing Unit)と、DRAM(Dynamic Random Access Memory)と、DMA(Direct Memory Access)コントローラもそれぞれバスに直接接続されている。なお、その他のモジュールがバスに接続されていても構わない。図14の構成によれば、JPEGモジュールとDRAMとの間でのデータ転送は、DMAコントローラによって行われる。
特開2000−175021号公報
上記のように、JPEGモジュールへの入力は所定の入力画像サイズごとに行う必要がある。ところが、圧縮対象画像は必ずしも、その入力画像サイズの倍数(具体的には、幅方向の画素数が16の倍数、且つ、高さ方向の画素数が8の倍数)であるとは限らない。このため、実際には上記入力画像サイズに満たない小さいブロックは、不要な画素(すなわち不要な画素データ)を含んだ状態で圧縮されることになる。そのような不要画素は、圧縮の品質に影響を及ぼす可能性がある。また、不要画素も一緒にDRAM等から読み出すことにより、バスの帯域が増加してしまう。
ここで、不要画素を含んだ状態で圧縮を行うと、それを伸長して得られる画像は不要画素を含むことになる。このため、伸長画像を不要画素も一緒にDRAM等へ書き出すことにより、帯域が増加してしまう。
また、DRAMの表示用メモリ領域に既に背景画像が置かれており、その上に伸長画像を配置する場合、伸長画像に含まれる不要画素が背景画像を上書きしてしまう。これを避けるためには、図15に示すように、伸長画像を一旦、別のメモリ領域に展開し、不要部分を除いた部分、すなわち画像本体部分を、背景画像が既に置かれているメモリ領域へ転送すればよい。しかし、この手法によれば、余分な転送動作が必要になるので、帯域増加およびパフォーマンス低下を招いてしまう。
なお、上記ではJPEGを例示したが、他の圧縮/伸長技術についても同様の問題が生じうる。また、画像圧縮/伸長処理だけでなく、他の画像処理についても同様の問題が生じうる。
本発明は、帯域増加の防止等を実現可能な画像処理装置を提供することを目的とする。
本発明の第1の態様に係る画像処理装置は、画像処理モジュールと、ラッパーとを含む。前記画像処理モジュールは、第1の画像処理を実行可能に構成されており、前記第1の画像処理用の入力フォーマットに従ってデータの入力を受け付け、受け付けたデータに対して前記第1の画像処理を実行し、処理済みデータを出力する。前記ラッパーは、前記画像処理モジュールとバスとの間に接続されており、前記画像処理モジュールと前記バスとを仲介するラッパー処理を行う。前記ラッパー処理は、前記バスを介して、前記第1の画像処理に供される画像データをその画像サイズに合わせて読み込む、第1の読み込み処理と、前記第1の読み込み処理と並行してまたは前記第1の読み込み処理の終了後に、読み込んだ画像データを前記第1の画像処理用の前記入力フォーマットに適合するように変換する、変換処理とを含む。前記変換処理は、前記第1の画像処理用の前記入力フォーマットで規定された入力画像サイズに満たない小さい画像ブロックが存在する場合に、ダミーデータを補充して前記小さい画像ブロックを前記入力画像サイズに拡大する、補充処理を含む。前記ラッパーは、前記第1の読み込み処理によって前記バスを介して読み込んだ前記画像データを、前記ダミーデータ用に保持しておく、ダミーデータ保持部を含む。前記ラッパーは、前記ダミーデータ保持部が保持しておいた前記画像データを、前記補充処理の際に前記ダミーデータとして利用する。

本発明の第2の態様に係る画像処理装置は、上記の第1の態様に係る画像処理装置であって、前記ラッパー処理は、前記第1の画像処理によって得られた第1の処理済みデータを前記バスへ書き出す第1の書き出し処理を含み、前記第1の書き出し処理は、前記第1の処理済みデータに、前記ダミーデータが補充された領域を特定可能な情報である補充関連情報を付加する情報付加処理を含む。
本発明の第3の態様に係る画像処理装置は、上記の第2の態様に係る画像処理装置であって、前記画像処理モジュールは、前記第1の画像処理として圧縮処理を実行可能であると共に、前記第1の処理済みデータに対する伸長処理を第2の画像処理として実行可能に構成されている。前記ラッパー処理は、前記第1の処理済みデータを前記バスを介して読み込む第2の読み込み処理と、前記第2の画像処理によって前記第1の処理済みデータから得られた第2の処理済みデータが前記ダミーデータを含む場合に、前記第1の処理済みデータに付加されていた前記補充関連情報に基づいて前記第2の処理済みデータから前記ダミーデータを削除するダミー削除処理と、前記ダミーデータが削除された前記第2の処理済みデータを前記バスへ書き出す第2の書き出し処理とを含む。
本発明の第4の態様に係る画像処理装置は、上記の第1ないし第3の態様のうちのいずれか1つに係る画像処理装置であって、前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方からなる画像端部を引き伸ばした画像が形成されるように、前記ダミーデータを補充する。
本発明の第5の態様に係る画像処理装置は、上記の第1ないし第3の態様のうちのいずれか1つに係る画像処理装置であって、前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方を対称軸とした鏡像が形成されるように、前記ダミーデータを補充する。
本発明の第6の態様に係る画像処理装置は、上記の第1ないし第3の態様のうちのいずれか1つに係る画像処理装置であって、前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方を対称軸とし前記小さい画像ブロック中の画素データのみからなる鏡像部分と、前記鏡像部分の右辺と下辺とのうちの少なくとも一方からなる鏡像端部を引き伸ばした引き伸ばし部分とを有する画像が形成されるように、前記ダミーデータを補充する。
上記の第1の態様によれば、第1の読み込み処理では、第1の画像処理に供される画像データを、その画像サイズに合わせて読み込む。すなわち、不要なデータは読み込まない。したがって、帯域増加を防止できる。また、第1の読み込み処理に伴って、第1の画像処理用の入力画像サイズに満たない小さい画像ブロックが生じたとしても、当該小さい画像ブロックは補充処理によって上記入力画像サイズに拡大される。このため、画像処理モジュールへのデータ入力に支障を来さない。
また、第1の態様によれば、ラッパーが画像処理モジュールとは別個に用意され、画像処理モジュールとバスとの間に接続されている。このため、例えばバスの仕様を変更する場合、その仕様変更をラッパーの修正で吸収することにより、画像処理モジュール自体は修正しなくて済む。また、別仕様の画像処理モジュールを採用する場合にも、ラッパーを修正すれば足りる。したがって、開発期間の短縮、開発コストの削減等を図ることができる。
上記の第2の態様によれば、画像処理モジュール自体は、ダミーデータの補充を把握および管理する機能を必要としない。このため、そのような機能を有さない画像処理モジュールを利用可能である。したがって、画像処理モジュールの選択、開発等の自由度が高くなる。
上記の第3の態様によれば、伸長データ(第2の処理済みデータ)は、圧縮時に補充したダミーデータを削除した上で、バスに書き出される。すなわち、不要なデータは書き出さない。したがって、帯域増加を防止できる。また、例えば、伸長データを表示用メモリ領域へ直接転送可能になるので、ダミーデータを削除するために一旦、別のメモリ領域へ転送する構成に比べて、パフォーマンスが向上する。
上記の第4の態様によれば、処理中の小さい画像ブロックに含まれる画素データをダミーデータに利用するので、当該小さい画像ブロックに近似しないデータを補充する構成に比べて、第1の画像処理に起因した画質劣化を抑制できる。また、ダミーデータとして利用するために保持しておくデータ量が少なくて済むので、回路規模を小さくできる。
上記の第5の態様によれば、処理中の小さい画像ブロックに含まれる画素データをダミーデータに利用するので、当該小さい画像ブロックに近似しないデータを補充する構成に比べて、第1の画像処理に起因した画質劣化を抑制できる。また、鏡像の利用によれば画像の急激な変化を抑制可能であるので、かかる点も画質劣化の抑制に貢献する。
上記の第6の態様によれば、処理中の小さい画像ブロックに含まれる画素データをダミーデータに利用するので、当該小さい画像ブロックに近似しないデータを補充する構成に比べて、第1の画像処理に起因した画質劣化を抑制できる。また、鏡像の利用によれば画像の急激な変化を抑制可能であるので、かかる点も画質劣化の抑制に貢献する。また、鏡像部分および引き伸ばし部分は処理中の小さい画像ブロックの画素データのみからなるので、当該小さい画像ブロックに隣接する画像ブロックのデータを保持しておく必要がない。このため、隣接画像ブロックのデータもダミーデータ用に保持する構成に比べて、回路規模を小さくできる。
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態について画像処理装置を例示するブロック図である。 実施の形態について処理対象画像を例示する図である。 実施の形態について画像処理装置による圧縮動作を例示するフローチャートである。 実施の形態についてラスタスキャン順のデータ読み込みを例示する図である。 実施の形態について画像処理モジュールへのデータ供給を例示する図である。 実施の形態について補充処理の対象となる小さい画像ブロックを例示する図である。 実施の形態について補充処理(引き伸ばし法)を例示する図である。 実施の形態について補充処理(折り返し法)を例示する図である。 実施の形態について補充処理(折り返し法+引き伸ばし法)を例示する図である。 実施の形態について画像処理装置による伸長動作を例示するフローチャートである。 実施の形態についてラッパーを例示するブロック図である。 実施の形態について補充処理回路を例示するブロック図である。 実施の形態について補充処理回路(引き伸ばし法)を例示するブロック図である。 従来技術の概略図である。 従来技術について表示上の問題点を説明する図である。
<1.画像処理装置の構成>
図1に、実施の形態に係る画像処理装置10のブロック図を例示する。図1の例によれば、画像処理装置10は、CPU12と、メモリ14と、画像処理モジュール16と、ラッパー18と、バス20とを含んでいる。CPU12は画像処理装置10の全体的な制御を行う。メモリ14は例えばDRAM等で構成される。図1の例では、CPU12およびメモリ14はバス20にそれぞれ直接接続されている。
画像処理モジュール16は、所定の画像処理を行うように構成されたハードウェアモジュールである。ここでは、画像処理モジュール16として、JPEGに従って圧縮処理および伸長処理を行うJPEGモジュール16を例示する。但し、この例に限定されるものではなく、例えばJPEG XR(Joint Photographic Experts Group eXtended Range)等の他の圧縮/伸長方式を採用したモジュールを採用することも可能である。また、画像処理モジュール16は、圧縮処理および伸長処理以外の画像処理を行うモジュールであってもよい。
また、JPEGモジュール16は、既存のモジュール、例えばいわゆるIP(Intellectual Property)コアとして提供されるモジュールを用いることにする。そのような既存のモジュールでは、データの入力フォーマットおよび出力フォーマットが予め規定されている。このため、例えば圧縮処理に関し、JPEGモジュール16は、圧縮処理用の入力フォーマットに従ってデータの入力を受け付け、受け付けたデータに対して圧縮処理を実行し、処理済みデータすなわち圧縮データを圧縮処理用の出力フォーマットに従って出力する。伸長処理に関しても同様である。
例えば、圧縮処理用の入力フォーマットとして、処理単位(換言すればMCU)となる画像サイズが予め規定されている。なお、当該所定の画像サイズを処理画像サイズ、入力画像サイズ等とも称することにする。例えば、入力画像データがYUV422で構成されており、JPEGモジュール16の入力画像サイズが幅(H)方向に16画素であり高さ(V)方向に8画素である場合を例示する。また、例えば圧縮対象の画像データのY、UおよびVの各成分の入力順序も、入力フォーマットとして、予め規定されている。
ラッパー18は、画像処理モジュール16用に設けられたハードウェアモジュールである。ラッパー18は、画像処理モジュール16の外部に配置されており、画像処理モジュール16とバス20との間に接続されている。すなわち、画像処理モジュール16はラッパー18を介してバス20に接続されており、画像処理モジュール16とバス20との間でのデータ転送等はラッパー18によって仲介される。なお、ラッパー18によるそのような仲介処理をラッパー処理とも称する。ラッパー処理の具体例は後述する。
なお、バス20に、他のモジュール、例えばJPEG処理以外の画像処理(各種補正等)を実行するモジュール、外部接続用(外部記憶媒体用、表示装置用等)のインターフェースを提供するモジュールが接続されていてもよい。
また、画像処理装置10は1チップに集積された画像集積回路として提供可能であるが、その例に限定されるものではない。また、画像処理装置10は種々に変形可能である。例えば、CPU12を画像処理装置10内から省き、外部のCPUを画像処理装置10に接続するように変形可能である。また、CPU12の替わりにあるいはCPU12と共に、メモリ14とバス20の一方または両方を画像処理装置10内から省いてもよい。
<2.圧縮動作>
まず、図2に、以下の説明で用いる画像を例示する。図2に例示の画像30は、幅(H)方向に76画素が並び高さ(V)方向に45画素が並んだ矩形をしている。但し、この例に限定されるものではない。
図3に、画像処理装置10による圧縮動作フローS100を例示する。かかる圧縮動作フローS100は、読み込み処理S110と、変換処理S120と、圧縮処理S130と、書き出し処理S140とに大別される。圧縮処理S130はJPEGモジュール16が実行し、他の処理S110,S120,S140はラッパー18が実行する。
<2.1.圧縮対象画像の読み込み処理>
読み込み処理S110では、ラッパー18が、圧縮処理に供される画像30のデータをバス20を介して、画像供給元(ここではメモリ14とする)から読み込む。ここでは、図4に示すように、画像30の画素データをラスタスキャン順にメモリ14から読み込むものとする。特にこのとき、ラッパー18は、画像30のデータを、当該画像30の全体サイズ(幅76画素×高さ45画素)に合わせて読み込む。具体的には、第0行目の76画素分のデータを左端(すなわち第0列目)の画素から右端(すなわち第75列目)の画素へ向けて順に読み込み、その後、第1行目の76画素分のデータを同様の順序で読み込み、第2行目〜第44行目の画素データも同様に読み込む。
<2.2.圧縮対象画像の変換処理>
変換処理S120では、ラッパー18が、読み込み処理S110で読み込んだ画像データを、JPEGモジュール16の入力フォーマットに適合するように変換し、変換したデータをJPEGモジュール16へ供給する。
例えば、画素データの並びを変換する。すなわち、読み込み処理S110でラスタスキャン順に読み込んだデータを、JPEGモジュール16の入力フォーマットに適合した順序に並び替える。
具体的には、読み込み処理S110で読み込んだ画像30を、図2に示すように、左上隅の画素を起点(換言すれば原点)にして、JPEGモジュール16の入力画像サイズ単位に分割していく(分割処理S121)。
なお、分割された画像(以下、画像ブロック、ブロック等と称する場合もある)Bを区別する場合は、図2に示すように、符号Bに、その分割画像の位置を示す文字列を付加することにする。具体的には、起点となる画像左上隅に位置するブロックBに符号B00を用い、当該ブロックB00から幅(H)方向に沿って順に符号B01,B02,B03,B04を用い、また、当該ブロックB00から高さ(V)方向に沿って順に符号B10,B20,B30,B40,B50を用いる。その他のブロックBについても同様の規則で符号を割り当てるものとする。なお、高さ方向の位置が同じで幅方向に並んだ複数のブロックB(例えばブロックB00,B01,B02,B03,B04)をまとめてブロックラインと称する場合もある。
分割処理S121は、圧縮対象画像30全体の読み込みが完了した後に実行可能である。あるいは、画像30がラスタスキャン順に読み込まれる場合(図4参照)には、1つのブロックラインの読み込みが完了する度に、ブロック分割処理S121を実行することも可能である。後者の例によれば、読み込み処理S110と分割処理S121以降の処理とを並行して実行可能である。
ブロック分割の際、JPEGモジュール16の入力画像サイズに満たない小さい画像ブロックBが生じる場合がある。図2の例では、全体画像30の右辺部および下辺部に位置するブロックB04,B14,B24,B34,B44,B54,B50,B51,B52,B53(図2では分かりやすくするために斜線ハッチングを施している)が、ここで言う小さい画像ブロックに該当する。
ラッパー18は、そのような小さいブロックBの存在を判別し(サイズ判別処理S122)、小さいブロックBについては後述の補充処理S123によってJPEGモジュール16の入力画像サイズに拡大する。なお、例えば、ラッパー18は読み込み処理S110においてCPU12から画像30の全体画像サイズ(幅方向の画素数、高さ方向の画素数)の情報を得るので、ラッパー18はその全体画像サイズと入力画像サイズとの比較によって(例えば全体画像サイズを入力画像サイズで割った剰余によって)、小さいブロックBの存在およびそのサイズを取得可能である。
サイズ判別処理S212でJPEGモジュール16の入力画像サイズを有していると判別されたブロックBについては、ラッパー18は、図5に示すようにブロックB内の画素データをラスタスキャン順にJPEGモジュール16へ供給する。また、後述の補充処理S123によってJPEGモジュール16の入力画像サイズに拡大されたブロックBも、同様にJPEGモジュール16へ供給される。
このように、ラッパー18は、ブロックBがラスタスキャン順に並ぶように、且つ、各ブロック内の画素データがラスタスキャン順に並ぶように、圧縮対象画像30の画素データの並びを変換する。
なお、JPEGモジュール16の入力フォーマットが各画素データのY、U、V成分データの入力順序を規定している場合、例えばY,Y,Y,…,U,U,U,…,V,V,V,…の入力順序を規定している場合には、そのような並び替えもラッパー18による変換処理S120で行うものとする。
また、例えば読み込み処理S110で読み込む画像データがRGB成分で構成されている場合、RGB成分からYUV成分への色空間変換(換言すれば、コンポーネント変換)もラッパー18による変換処理S120で行うものとする。但し、そのような色空間変換機能をJPEGモジュール16が有している場合には、ラッパー18はRGB成分のままJPEGモジュール16へ画像データを供給すればよい。
<2.3.補充処理>
補充処理S123においてラッパー18は、JPEGモジュール16の入力画像サイズに満たない小さいブロックBに対してダミーの画素データを補充し、それによりその小さいブロックBをJPEGモジュール16の入力画像サイズに拡大する。
図6に、補充処理S123の対象となる小さいブロックBの一例として、画像30の右下隅のブロックB54を太線枠で囲んで図示している。ブロックB54は幅方向に12画素が並び高さ方向に5画素が並んだ矩形画像である。なお、ブロックB54中の各画素Pを区別する場合、ブロックBの表記と同様に、符号Pの後ろに位置を示す文字列を付加することにする。また、説明を簡単にするため、各画素Pの画素データにも符号Pを用いることにする。
また、図6には、JPEGモジュール16の入力画像サイズ40をブロックB54に重ねて図示している。すなわち、図6において砂状ハッチングが施され一点鎖線で区切られた各領域が、ダミーの画素データが補充される空き画素である。
以下ではブロックB54を例に挙げて具体的なデータ補充手法を説明するが、かかる手法は他の小さいブロックB04,B14,B24,B34,B44,B50,B51,B52,B53(図2参照)にも応用可能である。また、以下で例示する手法以外のデータ補充手法を採用してもよい。
<2.3.1.引き伸ばし法>
図7を参照し、ダミーデータの補充手法の第1例として引き伸ばし法を説明する。図7に示すように、引き伸ばし法によれば、ブロックB54の右辺および下辺からなる画像端部を引き伸ばした画像が形成されるように、ダミーデータが補充される。具体的には、上記画像端部に位置する各画素P0B,P1B,P2B,P3B,P4B,P4A,P49,P48,P47,P46,P45,P44,P43,P42,P41,P40の画素データが、引き伸ばし方向(例えば、右辺部の場合は幅方向)へコピーされた画像が得られる。
<2.3.2.折り返し法>
次に、図8を参照し、ダミーデータの補充手法の第2例として折り返し法を説明する。折り返し法によれば、ブロックB54の右辺および下辺を対称軸とした鏡像が形成されるように、ダミーデータが補充される。例えば、画素P0Bの右側の4つの空き画素には、ブロックB54から遠ざかる方向に向けて順番に、画素データP0B,P0A,P09,P08が補充される。
ここで、折り返し法によれば、データ補充を要する小さいブロックBの幅が入力画像サイズ40の幅の半分よりも小さい場合、そのブロックB自身の画素データだけでは空き画素を補充しきれない。しかし、そのような場合には、処理中の小さいブロックBの左側の隣接ブロックBの画素データも利用すればよい。また、小さいブロックBの高さが入力画像サイズ40の高さの半分よりも小さい場合についても同様である。
<2.3.3.折り返し法+引き伸ばし法>
隣接ブロックBの画素データで補充する替わりに、引き伸ばし法を適用することも可能である。そのような折り返し法と引き伸ばし法の組み合わせを、データ補充手法の第3例として説明する。かかる手法では、図9に例示するように、処理中の小さいブロックBの画素データのみで折り返し法を適用した鏡像部分と、当該鏡像部分の端部(ここでは鏡像部分の右辺部および下辺部からなる)に引き伸ばし法を適用した引き伸ばし部分とを有した画像が形成されるように、ダミーデータが補充される。
<2.4.圧縮処理>
圧縮処理S130(図3参照)では、JPEGモジュール16が、ラッパー18から入力画像サイズごとのデータを受け取り、当該入力データを所定の圧縮手法で圧縮し、圧縮データをラッパー18へ出力する。
<2.5.圧縮データの書き出し処理>
書き出し処理S140(図3参照)では、ラッパー18が、JPEGモジュール16から受け取った圧縮データを、バス20へ書き出す。より具体的には、圧縮データは、バス20を介して、圧縮データ転送先(ここではメモリ14とする)へ書き出される。
特に、書き出し処理S140においてラッパー18は、圧縮データに、ダミーデータが補充された領域を特定可能な情報である補充関連情報を付加する(情報付加処理S141)。補充関連情報として、例えば、補充処理前の画像30の全体サイズ(読み込み処理S110で取得されている)を利用可能である。すなわち、画像30の全体サイズを越える部分を、ダミーデータ領域として特定可能である。補充関連情報は例えば圧縮データのヘッダ(より具体的には、JPEGストリームのヘッダ)に付加される。補充関連情報は例えば、以下に説明する伸長動作で利用される。
<3.伸長動作>
図10に、画像処理装置10による伸長動作フローS200を例示する。かかる伸長動作フローS200は、読み込み処理S210と、伸長処理S220と、変換処理S230と、ダミー削除処理S240と、書き出し処理S250とに大別される。伸長処理S220はJPEGモジュール16が実行し、他の処理S210,S230,S240,S250はラッパー18が実行する。
<3.1.圧縮データの読み込み処理>
読み込み処理S210では、ラッパー18が、圧縮データすなわち伸長対象データをバス20を介して、圧縮データ保存元(ここではメモリ14とする)から読み込む。そして、ラッパー18は、読み込んだ圧縮データを、伸長処理用の入力フォーマットに従ってJPEGモジュール16へ供給する。例えば、図2に例示の画像30はブロックB単位で圧縮されているので、圧縮データをブロックB単位でJPEGモジュール16へ供給する。
<3.2.伸長処理>
伸長処理S220では、JPEGモジュール16が、ラッパー18からブロックB単位の圧縮データを受け取り、当該圧縮データを所定の伸長手法で伸長し、処理済みデータすなわち伸長データをラッパー18へ出力する。
<3.3.伸長データの変換処理>
変換処理S230では、ラッパー18が伸長データを所定のフォーマットに変換する。例えば、上記のように伸長データはブロックB単位で生成されるので(図5参照)、伸長画像全域の伸長データをラスタスキャン順に並び替える(図4参照)。
変換処理S230は、画像全体の伸長が完了した後に実行可能である。あるいは、1つのブロックラインの伸長が完了する度に、変換処理S230を実行することも可能である。後者の例によれば、伸長処理S220と変換処理S230以降の処理とを並行して実行可能である。
なお、圧縮動作に係る変換処理S120で例示したのと同様に、各画素データのYUV成分データの並び順の変換、色空間変換、等も、この変換処理S230で実行するようにしてもよい。
<3.4.ダミー削除処理>
ダミー削除処理S240では、伸長画像が圧縮時の上記ダミーデータを含む場合に、ラッパー18がそのダミーデータを削除する。伸長画像中のダミーデータ領域は、圧縮データに付加されていた上記補充関連情報に基づいて判別可能である。例えば、図2を再び参照すると、画像30の幅方向の画素数(76画素)は補充関連情報から取得可能である。その画素数(76画素)を、JPEGモジュール16の圧縮処理用の入力画像サイズの幅方向の画素数(16画素)で割ると、商が4で余りが12となる。これにより、幅方向に5つのブロックBが並び、最右のブロックにおいて第12列目〜第15列目の画素はダミーであることが求められる。高さ方向のダミーデータ領域も同様に求められる。
<3.5.伸長データの書き出し処理>
書き出し処理S250では、ラッパー18が、変換処理S230およびダミー削除処理S240を経た伸長データを、バス20へ書き出す。より具体的には、伸長データは、バス20を介して、伸長データ転送先(ここではメモリ14とする)へ書き出される。
<4.ラッパーの構成例>
図11にラッパー18の構成の一例を示す。なお、図11には説明のためにJPEGモジュール16およびバス20も図示している。図11の例によれば、ラッパー18は、DMAリーダー51と、変換部52と、出力選択部53と、DMAライター54とを含んでいる。
DMAリーダー51は、上記の読み込み処理S110,S210(図3および図10参照)を実行するDMAコントローラである。特に圧縮動作における読み込み処理S110では、読み込む画像30の全体サイズ(幅76画素×高さ45画素)に合わせて、例えば転送開始アドレス、転送終了アドレス等がCPU12からDMAリーダー51に与えられる。これにより、DMAリーダー51は、画像30を当該画像30の全体サイズに合わせて読み込むことが可能である。すなわち、不要画素のデータを読み込まないようにできる。
図11の例ではDMAリーダー51の出力部が、変換部52の圧縮動作用入力部と、JPEGモジュール16の伸長動作用入力部とに接続されているが、圧縮動作では、読み込んだ圧縮対象データが変換部52によって有効に取得され、伸長動作では、読み込んだ圧縮済みデータがJPEGモジュール16によって有効に取得される。
変換部52は、上記の変換処理S120,S230(図3および図10参照)を実行するモジュールである。図11の例では、変換処理S120,S230の両方で共用可能な回路を単一の変換部52内に設けることにより、ハードウェアリソースの削減が図られている。なお、変換処理S120,S230で別々の変換部を設けることも可能である。変換部52は、圧縮動作では、DMAリーダー51から入力される圧縮対象データに対して変換処理S120を実行し、伸長動作では、JPEGモジュール16から入力される伸長済みデータに対して変換処理S230を実行する。
図11の例では変換部52の出力部が、JPEGモジュール16の圧縮動作用入力部と、出力選択部53の伸長動作用入力部とに接続されているが、圧縮動作では、変換処理S120を経た圧縮対象データがJPEGモジュール16によって有効に取得され、伸長作時には、変換処理S230を経た伸長済みデータが出力選択部53によって有効に取得される。
出力選択部53は、JPEGモジュール16の圧縮動作用出力端と、変換部52の出力端とに接続されており、圧縮動作では、JPEGモジュール16が出力する圧縮済みデータをDMAライター54へ伝達し、伸長動作では、変換部52が出力する伸長済みデータをDMAライター54へ伝達する。
DMAライター54は、上記の書き出し処理S140,S250(図3および図10参照)を実行するDMAコントローラであり、出力選択部53から受け取ったデータをバス20へ書き出す。特に圧縮動作における書き出し処理S140において、DMAライター54は、上記の補充関連情報付加処理S141(図3参照)を行う。また、DMAライター54は、伸長動作では、ダミー削除処理S240(図10参照)を行う。
なお、補充関連情報付加処理S141とダミー削除処理S240のうちの一方または両方を、出力選択部53が実行するようにしてもよい。また、ダミー削除処理S240については、変換部52が実行するようにしてもよい。
<5.補充処理回路の構成例>
図12に、上記のダミーデータ補充処理S123を実行するための回路例を示す。図12の例によれば、処理対象のブロックB中の画素データが入力される画素データ入力端と、ダミーデータ保持部62からダミーデータが入力されるダミーデータ入力端とを有したセレクタ61が利用される。また、セレクタ61には、上記2つの入力データのいずれを出力するかを指示する選択指示が入力される。
より具体的には、上記入力画素サイズ40(図6参照)に対応する幅16画素×高さ8画素の領域中の各画素位置をラスタスキャン順にカウントしていき、処理対象のブロックBにおいてそのカウント値で示される位置に画素データが実在すれば、その実在する画素データがセレクタ61へ入力され且つセレクタ61から出力される。これに対し、処理対象のブロックBにおいて、カウント値で示される位置に画素データが実在しなければ、ダミーデータがセレクタ61から出力される。
ダミーデータ保持部62は、セレクタ61から出力されるデータをダミーデータ用に保持しておき、採用されているデータ補充手法に応じてダミーデータを出力する。図13に、引き伸ばし法に応じて構成されたダミーデータ保持部62を例示する。
図13の例によれば、上記セレクタ61の出力データが、1画素分の画素データを保持するフリップフロップ(FF)71と、16画素分の画素データを保持するFIFO(First In First Out)型のラインメモリ72とに入力される。FF71の出力データとラインメモリ72の出力データとのうちのいずれかの一方が、セレクタ73によって選択され、ダミーデータ保持部62の出力データとして出力される。
セレクタ73は、図7の例を参照すると、小さいブロックB54の右側にダミーデータを補充する場合にはFF71の出力データを選択し、小さいブロックB54の下側にダミーデータを補充する場合にはラインメモリ72の出力データを選択する。換言すれば、処理対象のブロックBの各行において第0列目に画素データが実在する場合にはFF71の出力データを選択し、そうでなければラインメモリ72の出力データを選択する。
<6.効果>
上記の各種構成によれば、以下の効果が得られる。
まず、圧縮動作における読み込み処理S110では、上記のように、圧縮処理に供される画像30のデータを、その画像サイズに合わせて読み込む。すなわち、不要なデータは読み込まない。したがって、帯域増加を防止できる。
また、そのような読み込み処理S110によって、圧縮処理用の入力画像サイズ40に満たない小さい画像ブロック(ブロックB54等)が生じたとしても、当該小さい画像ブロックは補充処理S123によって上記入力画像サイズ40に拡大される。このため、JPEGモジュール16へのデータ入力に支障を来さない。
また、ラッパー18がJPEGモジュール16とは別個に用意され、JPEGモジュール16とバス20との間に接続されている(図1参照)。このため、例えばバス20の仕様を変更する場合、その仕様変更をラッパー18の修正で吸収することにより、JPEGモジュール16自体は修正しなくて済む。また、別仕様のJPEGモジュール16を採用する場合にも、ラッパー18を修正すれば足りる。したがって、開発期間の短縮、開発コストの削減等を図ることができる。
また、JPEGモジュール16自体は、ダミーデータの補充を把握および管理する機能を必要としない。このため、そのような機能を有さないJPEGモジュールを利用可能である。したがって、JPEGモジュール16の選択、開発等の自由度が高くなる。
また、伸長データは、圧縮時に補充したダミーデータをダミー削除処理S240で削除した上で、バス20に書き出される(図10参照)。すなわち、不要なデータは書き出さない。したがって、帯域増加を防止できる。また、例えば、伸長データを表示用メモリ領域へ直接転送可能になるので、ダミーデータを削除するために一旦、別のメモリ領域へ転送する構成に比べて、パフォーマンスが向上する。
また、ダミーデータの補充に関し、上記引き伸ばし法(図7参照)によれば、処理中の小さい画像ブロックに含まれる画素データをダミーデータに利用するので、当該小さい画像ブロックに近似しないデータを補充する構成(例えば一律に白色のデータを補充する構成)に比べて、圧縮による画質劣化を抑制できる。また、引き伸ばし法によれば、ダミーデータとして利用するために保持しておくデータ量が少なくて済むので、回路規模を小さくできる。
また、折り返し法(図8参照)においても、処理中の小さい画像ブロックに含まれる画素データをダミーデータに利用する。このため、引き伸ばし法と同様に、当該小さい画像ブロックに近似しないデータを補充する構成に比べて、圧縮による画質劣化を抑制できる。特に折り返し法によれば、鏡像を利用するので、画像の急激な変化を抑制可能である。かかる点も画質劣化の抑制に貢献する。
また、折り返し法と引き伸ばし法の組み合わせ(図9参照)によれば、上記2つの手法と同様に、圧縮による画質劣化を抑制できる。また、折り返し法と同様に、鏡像の利用も画質劣化の抑制に貢献する。
特に折り返し法と引き伸ばし法との組み合わせによれば、鏡像部分および引き伸ばし部分は処理中の小さい画像ブロックの画素データのみからなる。このため、折り返し法とは異なり、隣接画像ブロックのデータを保持しておく必要がない。このため、隣接画像ブロックのデータもダミーデータ用に保持する構成に比べて、回路規模を小さくできる。
<7.変形例>
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
本発明に係る画像処理装置は例えばデジタルカメラに搭載可能である。但し、この例に限定されるものではない。
10 画像処理装置
16 JPEGモジュール(画像処理モジュール)
18 ラッパー
20 バス
30 画像
40 入力画像サイズ
S110,S210 読み込み処理
S120,S230 変換処理
S123 補充処理
S130 圧縮処理
S140,S250 書き出し処理
S141 情報付加処理
S220 伸長処理
S240 ダミー削除処理

Claims (6)

  1. 第1の画像処理を実行可能に構成されており、前記第1の画像処理用の入力フォーマットに従ってデータの入力を受け付け、受け付けたデータに対して前記第1の画像処理を実行し、処理済みデータを出力する、画像処理モジュールと、
    前記画像処理モジュールとバスとの間に接続されており、前記画像処理モジュールと前記バスとを仲介するラッパー処理を行う、ラッパーと
    を備え、
    前記ラッパー処理は、
    前記バスを介して、前記第1の画像処理に供される画像データをその画像サイズに合わせて読み込む、第1の読み込み処理と、
    前記第1の読み込み処理と並行してまたは前記第1の読み込み処理の終了後に、読み込んだ画像データを前記第1の画像処理用の前記入力フォーマットに適合するように変換する、変換処理と
    を含み、
    前記変換処理は、
    前記第1の画像処理用の前記入力フォーマットで規定された入力画像サイズに満たない小さい画像ブロックが存在する場合に、ダミーデータを補充して前記小さい画像ブロックを前記入力画像サイズに拡大する、補充処理
    を含み、
    前記ラッパーは、
    前記第1の読み込み処理によって前記バスを介して読み込んだ前記画像データを、前記ダミーデータ用に保持しておく、ダミーデータ保持部を含み、
    前記ダミーデータ保持部が保持しておいた前記画像データを、前記補充処理の際に前記ダミーデータとして利用する、
    画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記ラッパー処理は、
    前記第1の画像処理によって得られた第1の処理済みデータを前記バスへ書き出す第1の書き出し処理
    を含み、
    前記第1の書き出し処理は、
    前記第1の処理済みデータに、前記ダミーデータが補充された領域を特定可能な情報である補充関連情報を付加する情報付加処理
    を含む、画像処理装置。
  3. 請求項2に記載の画像処理装置であって、
    前記画像処理モジュールは、前記第1の画像処理として圧縮処理を実行可能であると共に、前記第1の処理済みデータに対する伸長処理を第2の画像処理として実行可能に構成されており、
    前記ラッパー処理は、
    前記第1の処理済みデータを前記バスを介して読み込む第2の読み込み処理と、
    前記第2の画像処理によって前記第1の処理済みデータから得られた第2の処理済みデータが前記ダミーデータを含む場合に、前記第1の処理済みデータに付加されていた前記補充関連情報に基づいて前記第2の処理済みデータから前記ダミーデータを削除するダミー削除処理と、
    前記ダミーデータが削除された前記第2の処理済みデータを前記バスへ書き出す第2の書き出し処理と
    を含む、画像処理装置。
  4. 請求項1ないし請求項3のうちのいずれか1項に記載の画像処理装置であって、
    前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方からなる画像端部を引き伸ばした画像が形成されるように、前記ダミーデータを補充する、画像処理装置。
  5. 請求項1ないし請求項3のうちのいずれか1項に記載の画像処理装置であって、
    前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方を対称軸とした鏡像が形成されるように、前記ダミーデータを補充する、画像処理装置。
  6. 請求項1ないし請求項3のうちのいずれか1項に記載の画像処理装置であって、
    前記補充処理では、前記小さい画像ブロックの右辺と下辺とのうちの少なくとも一方を対称軸とし前記小さい画像ブロック中の画素データのみからなる鏡像部分と、前記鏡像部分の右辺と下辺とのうちの少なくとも一方からなる鏡像端部を引き伸ばした引き伸ばし部分とを有する画像が形成されるように、前記ダミーデータを補充する、画像処理装置。
JP2012068985A 2012-03-26 2012-03-26 画像処理装置 Active JP6030321B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012068985A JP6030321B2 (ja) 2012-03-26 2012-03-26 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012068985A JP6030321B2 (ja) 2012-03-26 2012-03-26 画像処理装置

Publications (2)

Publication Number Publication Date
JP2013201624A JP2013201624A (ja) 2013-10-03
JP6030321B2 true JP6030321B2 (ja) 2016-11-24

Family

ID=49521501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012068985A Active JP6030321B2 (ja) 2012-03-26 2012-03-26 画像処理装置

Country Status (1)

Country Link
JP (1) JP6030321B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2913896B2 (ja) * 1991-05-17 1999-06-28 日本電気株式会社 動画像符号化装置及び動画像復号化装置
JP2001320703A (ja) * 2000-05-08 2001-11-16 Canon Inc 画像符号化装置および画像復号化装置、画像符号化方法および画像復号化方法
JP2010154001A (ja) * 2008-12-24 2010-07-08 Olympus Corp 画像圧縮処理装置、および画像圧縮方法

Also Published As

Publication number Publication date
JP2013201624A (ja) 2013-10-03

Similar Documents

Publication Publication Date Title
US8464025B2 (en) Signal processing apparatus with signal control units and processor units operating based on different threads
US9262314B2 (en) Data transfer device
JP2008054222A (ja) 画像データバッファ装置及び画像転送処理システム
US10803589B2 (en) Image processing device
US10225425B2 (en) Information processing apparatus and method for controlling the same
JP4795808B2 (ja) 描画装置、描画方法、描画プログラム及び描画集積回路
JP2002328881A (ja) 画像処理装置および画像処理方法並びに携帯用映像機器
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP2008193529A (ja) 走査変換装置及び走査変換方法
JP2007293533A (ja) プロセッサシステム及びデータ転送方法
KR102400104B1 (ko) 이미지 처리 장치 및 이미지 처리 방법
JP4786484B2 (ja) 演算処理用データ供給方法および画像処理装置
JP5865696B2 (ja) 画像処理装置
JP6030321B2 (ja) 画像処理装置
JP2004234280A (ja) メモリ装置
JP5675278B2 (ja) データ処理装置および画像処理装置
JP2016134005A (ja) 画像処理装置
JP2010244113A (ja) 画像処理装置および画像処理方法、並びにプログラム
JP5738639B2 (ja) データ処理装置およびデータ処理方法
JPH09259075A (ja) Dmaコントローラ
JP5658612B2 (ja) 画像処理装置、画像処理システム及び画像処理方法
JP2005311745A (ja) 画像処理装置
JP5606341B2 (ja) 画像処理装置及び画像処理システム
JP7159555B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2006141001A (ja) 電力消耗が減少した画像処理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161020

R150 Certificate of patent or registration of utility model

Ref document number: 6030321

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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