(57)【要約】【課題】複数の画像処理手段によるパイプライン処理を行う画像処理装置において、画像処理ごとに処理後データを圧縮してメモリに保持する際に、メモリアクセスに用いるアドレステーブルを共有化して処理効率を向上させる。【解決手段】第1画像処理部100で処理された画像を、第1画像圧縮部100でブロック単位で圧縮して画像メモリ109に書き込む。このときアドレステーブル生成部102が、圧縮データのブロックごとにメモリ上の開始アドレスと圧縮データサイズの情報を記載したアドレステーブルを生成する。第1画像伸長部104はアドレステーブルを参照して、画像メモリ109から圧縮データを読み出して伸長する。第2画像処理部105は該伸長データを処理し、第2画像圧縮部106が該処理データをブロック単位で、アドレステーブルが示すデータサイズ以下に圧縮する。このように画像処理間でアドレステーブルを共有することで、テーブル用のメモリ容量およびテーブル作成用のメモリ帯域が削減できる。【選択図】図1
2015122583.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像処理手段によるパイプライン処理を行う画像処理装置であって、
入力画像に対し、第1の画像処理手段によって画像処理が施された画像をブロック単位で圧縮して画像メモリに書き込む第1の圧縮手段と、
前記第1の圧縮手段で圧縮した画像を前記画像メモリへ書き込む際の基点となるアドレスの情報をオフセットとして保持する保持手段と、
前記第1の圧縮手段で前記画像メモリに書き込まれた画像に対し、前記ブロックごとに、前記オフセットに対する相対的な開始アドレスと圧縮データサイズの情報を保持したアドレステーブルを生成するテーブル生成手段と、
前記アドレステーブルと前記オフセットを用いて、前記第1の圧縮手段による圧縮データを前記画像メモリから前記ブロック単位で読み出して伸長する伸長手段と、
前記伸長手段で伸長された画像に対し、前記第1の画像処理手段よりもパイプライン後段にある第2の画像処理手段によって画像処理が施された画像を、前記アドレステーブルと前記オフセットを用いて前記ブロック単位で圧縮して前記画像メモリに書き込む第2の圧縮手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第2の圧縮手段は前記ブロックごとに、前記アドレステーブルに記載された前記圧縮データサイズ以下のサイズとなるように圧縮した画像を、前記アドレステーブルに記載された開始アドレスに対して前記オフセットを加えたアドレスに基づいて前記画像メモリに書き込むことを特徴とする請求項1に記載の画像処理装置。
【請求項３】
前記伸長手段は、前記第1の圧縮手段で圧縮された画像を、前記アドレステーブルに記載された開始アドレスに対して前記オフセットを加えたアドレスに基づき前記画像メモリから読み出すことを特徴とする請求項1または2に記載の画像処理装置。
【請求項４】
前記保持手段は、前記第2の圧縮手段で圧縮した画像を前記画像メモリへ書き込む際の基点となるアドレスの情報で、前記オフセットを更新することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項５】
前記保持手段は、パイプラインに滞留している複数の入力画像のそれぞれに対して前記オフセットを保持することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項６】
前記テーブル生成手段は、前記第1の圧縮手段による圧縮データのサイズに対して所定のマージンを加えた値を前記圧縮データサイズとすることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項７】
前記第1および第2の圧縮手段は、可変長圧縮を行うことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項８】
前記第1の画像処理手段と前記第2の画像処理手段では、前記入力画像におけるブロックの処理順が異なることを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項９】
さらに、前記第2の画像処理手段による画像処理の内容に応じて、前記第1および第2の圧縮手段のいずれによる圧縮を行うかを選択する選択手段を有し、
前記選択手段で前記第1の圧縮手段が選択された場合に、前記テーブル生成手段は該第1の圧縮手段による圧縮結果に基づいて前記アドレステーブルを更新することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項１０】
前記第2の圧縮手段は、前記第1の圧縮手段で圧縮されて前記伸長手段で伸長された画像に対し、前記第2の画像処理手段よりもパイプライン後段にある第3の画像処理手段によって画像処理が施された画像を、前記アドレステーブルを参照して前記ブロック単位で圧縮して前記画像メモリに書き込むことを特徴とする請求項9に記載の画像処理装置。
【請求項１１】
前記選択手段は、前記第2の画像処理手段が解像度変換を行う場合に、前記第1の圧縮手段を選択することを特徴とする請求項9または10に記載の画像処理装置。
【請求項１２】
前記選択手段は、前記第2の画像処理手段が画像合成を行う場合に、前記第1の圧縮手段を選択することを特徴とする請求項9または10に記載の画像処理装置。
【請求項１３】
前記入力画像は、映像の1フレームであることを特徴とする請求項1乃至12のいずれか1項に記載の画像処理装置。
【請求項１４】
第1および第2の圧縮手段、保持手段、テーブル生成手段、伸長手段を有し、複数の画像処理手段によるパイプライン処理を行う画像処理装置における画像処理方法であって、
前記第1の圧縮手段が、入力画像に対し、第1の画像処理手段によって画像処理が施された画像をブロック単位で圧縮して画像メモリに書き込み、
前記保持手段が、前記第1の圧縮手段で圧縮した画像を前記画像メモリへ書き込む際の基点となるアドレスの情報をオフセットとして保持し、
前記テーブル生成手段が、前記第1の圧縮手段で前記画像メモリに書き込まれた画像に対し、前記ブロックごとに、前記オフセットに対する相対的な開始アドレスと圧縮データサイズの情報を保持したアドレステーブルを生成し、
前記伸長手段が、前記アドレステーブルと前記オフセットを用いて、前記第1の圧縮手段による圧縮データを前記画像メモリから前記ブロック単位で読み出して伸長し、
前記第2の圧縮手段が、前記伸長手段で伸長された画像に対し、前記第1の画像処理手段よりもパイプライン後段にある第2の画像処理手段によって画像処理が施された画像を、前記アドレステーブルと前記オフセットを用いて前記ブロック単位で圧縮して前記画像メモリに書き込む、ことを特徴とする画像処理方法。
【請求項１５】
コンピュータで実行されることにより、該コンピュータを請求項1乃至13のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対してパイプラインによる複数の画像処理を施す画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
画像データを圧縮することで、該画像データを格納するためのメモリ容量やメモリ帯域を削減することが広く行われている。例えば、固定長圧縮によって圧縮率を固定化し、開始メモリアドレスやデータサイズを確定することで圧縮データのアクセス容易性を実現する技術が提案されてい(例えば、特許文献1,2参照)。
【０００３】
また、JPEG方式による可変長圧縮も一般に利用されており、例えばデジタルカメラにおいては、撮影した画像をJPEG方式で圧縮してメモリに蓄積している。さらに、特に高解像度の画像を扱う際には、画素ブロックに分割して圧縮した後にメモリに格納し、画像処理を施す際には必要なブロック単位でメモリから読み出して伸長する、という処理が一般的に行われている。例えばプリンタ等において、画像をブロック単位に分割して可変長圧縮した後に、画像メモリに格納する技術が提案さている(例えば、特許文献3参照)。
【０００４】
一方、注目画素を処理する際にその周辺画素を参照することが一般的に行われており、ブロック単位での処理を行う際には、注目ブロックに対する周辺ブロックの画像データも必要になる。しかしながら、圧縮された画像データにおいては、必要とする画素がメモリ上の何処に格納されているか分からないため、必要な画素を得るために圧縮データを順次伸長しなければならない。上記特許文献3では、ブロック単位で圧縮コードの先頭アドレスを管理することで、画像メモリに圧縮して格納された画像データから、その一部の領域の画像データをランダムにアクセス可能としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2004-235923号公報
【特許文献２】特開平11-355583号公報
【特許文献３】特開平8-317225号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像データをブロック単位で処理する場合、固定長圧縮を行う場合には、ブロック単位で固定のデータサイズへの圧縮を行うため、ブロック毎に画質が異なり、画像全体で画質が均一にならないという問題がある。
【０００７】
また、JPEG等の可変長圧縮を行う場合には、開始アドレスと圧縮後のデータサイズをテーブル化することで、画素ブロックのランダムアクセスを行うことは可能となる。しかしながら、画像メモリを用いてパイプラインで複数の画像処理を行う場合について考えると、以下のような問題がある。すなわちこの場合、可変長圧縮を行うステージ毎にアドレステーブルを持つことになり、アドレステーブルを保持するためのメモリ容量及びアドレステーブルの作成に必要なメモリ帯域が増大してしまう、という課題がある。
【０００８】
本発明は上述した問題を解決するために、パイプラインによる画像処理ごとに、画像データを圧縮してメモリに保持する際に、メモリアクセスに用いるアドレステーブルを共有化して処理効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明に係る画像処理装置は以下の構成を備える。すなわち、複数の画像処理手段によるパイプライン処理を行う画像処理装置であって、入力画像に対し、第1の画像処理手段によって画像処理が施された画像をブロック単位で圧縮して画像メモリに書き込む第1の圧縮手段と、前記第1の圧縮手段で圧縮した画像を前記画像メモリへ書き込む際の基点となるアドレスの情報をオフセットとして保持する保持手段と、前記第1の圧縮手段で前記画像メモリに書き込まれた画像に対し、前記ブロックごとに、前記オフセットに対する相対的な開始アドレスと圧縮データサイズの情報を保持したアドレステーブルを生成するテーブル生成手段と、前記アドレステーブルと前記オフセットを用いて、前記第1の圧縮手段による圧縮データを前記画像メモリから前記ブロック単位で読み出して伸長する伸長手段と、前記伸長手段で伸長された画像に対し、前記第1の画像処理手段よりもパイプライン後段にある第2の画像処理手段によって画像処理が施された画像を、前記アドレステーブルと前記オフセットを用いて前記ブロック単位で圧縮して前記画像メモリに書き込む第2の圧縮手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、パイプラインによる画像処理ごとに、画像データを圧縮してメモリに保持する際に、メモリアクセスに用いるアドレステーブルを共有化することで処理効率が向上する。
【図面の簡単な説明】
【００１１】
【図１】第1実施形態における画像処理装置の構成を示すブロック図、
【図２】画像のブロック分割例を示す図、
【図３】第1画像圧縮部及びアドレステーブル生成部の構成を示すブロック図、
【図４】画像メモリにおけるブロック単位のデータ保存例を示す図、
【図５】アドレステーブルの構成例を示す図、
【図６】補正値保持部におけるアドレスオフセット値の保持例を示す図、
【図７】第1画像伸長部の構成を示すブロック図、
【図８】画像伸長時における画像処理単位を示す図、
【図９】第2画像圧縮部の構成を示すブロック図、
【図１０】第2実施形態における画像処理装置の構成を示すブロック図、である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜第1実施形態＞
本実施形態では、映像入力データに対して、複数の画像処理手段によるパイプライン処理を行った後、映像出力データとして出力する画像処理装置を例として説明する。
【００１４】
●装置構成(全体)
図1は、本実施形態に係る画像処理装置の基本構成を示す図である。以下、同図に示す各構成の概要について説明する。
【００１５】
第1画像処理部100は、外部からラスタ順に入力される映像信号から1フレーム分の画像信号を抽出し、該抽出したフレーム画像を複数画素からなるブロックに分割して第1画像圧縮部101へ送出する。
【００１６】
第1画像圧縮部101は、第1画像処理部100でブロックに分割された画像データに対し、JPEG等の圧縮手法によってブロック単位の圧縮を施し、圧縮データを画像メモリ109へ書き込む。このとき第1画像圧縮部101は、処理対象のフレーム画像が画像メモリ109上で格納される領域の基点となるアドレスのオフセット情報を補正値保持部103から取得して、該アドレスへの圧縮データの書き込みを行う。
【００１７】
補正値保持部103はフレーム画像毎の圧縮データのアドレス管理部として機能する。すなわち、第1画像圧縮部101または第2画像圧縮部106による圧縮データのサイズに応じて、各フレーム画像を画像メモリ109に格納する際の基点となるアドレス(オフセット)を決定する。
【００１８】
アドレステーブル生成部102は、第1画像圧縮部101が圧縮して画像メモリ109に書き込んだ圧縮画像データに対して、ブロック単位の開始アドレスと圧縮データサイズを含むレコードからなるアドレステーブルを生成する。具体的には、画像左上のブロックの開始アドレスを0番地として、フレーム画像内の各ブロックについての画像メモリ109上での相対的な開始アドレスを算出する。なお、生成されたアドレステーブルは、画像メモリ109と物理的に共通の構成をなす、不図示の共有メモリに格納されるとする。
【００１９】
第1画像伸長部104は、第2画像処理部105が処理対象とするフレーム画像のアドレステーブルと補正値保持部103が保持するオフセット値を用いて、第2画像処理部105の処理単位に応じて画像メモリ109から圧縮データをブロック単位で読み出す。そして、該読みだしたブロックを伸長し、第2画像処理部105へ送出する。
【００２０】
第2画像処理部105は、伸長されたフレーム画像データに対してフィルタ処理等の画像処理を行い、該処理後のフレーム画像データをブロック単位で第2画像圧縮部106へ送出する。
【００２１】
第2画像圧縮部106は、処理対象とするフレーム画像のアドレステーブルを参照して、第2画像処理部105から取得したフレーム画像をJPEG等の手法によりブロック単位で圧縮し、画像メモリ109へ書き込む。このとき第2画像圧縮部106はアドレステーブルから、処理対象ブロックに対応する、第1画像圧縮部101による圧縮データサイズと開始アドレスを取得し、該ブロックの画像データを該圧縮データサイズ以下に圧縮する。そして、圧縮されたフレーム画像を画像メモリ109に格納する領域の基点となるアドレス(オフセット)を補正値保持部103より取得し、該オフセットにアドレステーブルから取得した開始アドレスを加えたアドレスへ、ブロック毎に圧縮データを書き込む。
【００２２】
第2画像伸長部107は、第3画像処理部108が処理対象とするフレーム画像のアドレステーブルと補正値保持部103が保持するオフセットに基づき、第3画像処理部108の処理単位に応じて画像メモリ109から圧縮データをブロック単位で読み出す。そして、該圧縮データを伸長して第3画像処理部108へ送出する。
【００２３】
第3画像処理部108では、伸長後のフレーム画像データをブロック単位で処理し、最終的な映像出力信号としてラスタ順に出力する。
【００２４】
以下、図1に示す各構成について、その動作を詳細に説明する。
【００２５】
●第1画像処理部
図2(a)に、第1画像処理部100における入力画像の分割例を示す。図2(a)に示す1フレームの入力映像1000は、1000-00〜1000-XYの、全X×Y個のブロックに分割されている。ここで、X,Yはそれぞれ、X方向、Y方向の分割数を示す。第1画像処理部100は内部バッファを有し、ラスタ順に入力されるフレーム画像データを該内部バッファに保持する。そして、分割ブロック1000-00,1000-10,…,1000-X0,1000-01,…,1000-XY、の順に第1画像圧縮部101へ送出する。なお、画像の分割方法はこの例に限定されず、例えば正方ブロックへの分割等も考えられる。
【００２６】
図2(b)は、図2(a)における分割ブロック(1000-00〜1000-XY)の構成例を示す。本実施形態の分割ブロックは、8×8ピクセルのサブブロック8個(1000-00-0〜1000-00-7)で構成される。なお、分割ブロックの構成は図3に示す例に限定されず、例えばサブブロックのサイズを16×16ピクセルとする等も考えられる。
【００２７】
●第1画像圧縮部とアドレステーブル生成部
図3に、第1画像圧縮部101およびアドレステーブル生成部102の構成を示す。第1画像圧縮部101は、圧縮制御部200、圧縮部201、内部バッファ202、DMAコントローラ203、より構成される。アドレステーブル生成部102は、テーブル作成部204、DMAコントローラ205、より構成される。
【００２８】
第1画像処理部100から入力されたフレーム画像はブロック単位で、圧縮制御部200で入力画素数を計測されると同時に、圧縮部201に入力され、JPEG等の可変長圧縮が行われる。圧縮制御部200はまた、圧縮後データサイズ等の圧縮情報を、アドレステーブル生成部102に出力すると同時に、内部バッファ202に圧縮後のデータを出力する。
【００２９】
アドレステーブル生成部102のテーブル作成部204では、フレーム画像の圧縮情報に基づいてアドレステーブルを作成する。このとき、第1画像圧縮部101のDMAコントローラ203に対して、アドレステーブルに記載した開始アドレスやデータサイズ(ブロックサイズ)を指示する。ここで、データサイズとしては例えば、実際の圧縮結果として得られるサイズに所定のマージンを加えた値を設定しておくことで、後段の画像処理後の圧縮時における許容範囲を広げることができる。
【００３０】
第1画像圧縮部101のDMAコントローラ203は、アドレステーブル生成部102のテーブル作成部204から指定された開始アドレスに基づいて、圧縮データを画像メモリ109に格納する。一方、テーブル作成部204で作成されたアドレステーブルは、DMAコントローラ205を介して画像メモリ109と物理的に共通な構成からなる、不図示の共有メモリに格納される。なお、これらの構成は一例に過ぎず、例えばDMAコントローラ203,205を共通化したり、アドレステーブルを内部バッファに保持する等の構成も考えられる。
【００３１】
ここで図4に、第1画像圧縮部101が画像メモリ109にブロック単位でフレーム画像データを保存した例を示す。図4は1ラインで16バイトを示しており、すなわち1ライン毎にアドレスが16バイト(16進で0x10)増加している。第1画像圧縮部101では可変長圧縮を行うため、ブロック毎に圧縮後のデータサイズが異なっている。第1画像圧縮部101では、ブロック毎に第1画像処理部100から受けたフレーム画像データを圧縮し、ブロック内の圧縮データが揃った時点で画像メモリ109に格納する。例えば分割ブロック1000-00であれば、サブブロック1000-00-0〜1000-00-7を、受けた順に圧縮する。サブブロック1000-00-7の圧縮終了まで、圧縮データは第1画像圧縮部101の内部バッファ202に保持され、サブブロック1000-00-7の圧縮が終了した時点で、DMAコントローラ203を介して画像メモリ109に格納される。図4において、圧縮データは画像左上、すなわちサブブロック1000-00-0から順に画像メモリ109に格納されており、基点となるサブブロック1000-00-0は、オフセット値＋0x000番地に配置される。ここでオフセット値は、第1画像圧縮部101によって圧縮されたフレーム画像が画像メモリ109上に格納される領域の基点となるアドレスに相当し、先頭ブロックの格納時に補正値保持部103に保持される。
【００３２】
図5に、アドレステーブル生成部102によって生成される、あるフレーム画像に対するアドレステーブルの構成例を示す。アドレステーブルは各分割ブロックのレコード(2000-00〜2000-XY)から構成され、各レコードは開始アドレス(2010-10〜2010-XY)と圧縮データサイズ(2020-00〜2020-XY)から構成される。本実施形態では開始アドレスを4バイト、データサイズを4バイトの情報として保持するとする。アドレステーブル生成部102は、入力映像の各フレーム画像に対してアドレステーブルを作成して不図示の共有メモリに格納し、各フレーム画像に対応するアドレステーブルの格納先を、後述する識別子と対応付けて管理する。これにより、識別子を用いて所定のフレーム画像のアドレステーブルを参照することができる。なお、フレーム画像ごとのアドレステーブルは、該フレーム画像が本画像処理装置内で使用されなくなるまで保持される。なお、アドレステーブルにおけるレコード構成は図5の例に限定されず、例えば、ブロック座標やサブブロックのサイズを付加することも考えられる。また、保持する各情報のサイズを入力される画像の解像度に応じて設定することで、アドレステーブル容量を削減することも可能である。
【００３３】
●補正値保持部
図6に、補正値保持部103におけるアドレスのオフセット値の保持例を示す。同図においてフレーム識別子3000は、本画像処理装置のパイプラインに滞留しているフレーム画像の識別子である。図6では3枚のフレーム画像がパイプラインに滞留している例を示しており、各フレーム画像に対してそれぞれFID_A、FID_B、FID_Cの識別子が与えられ、各識別子に対してアドレスのオフセット値3001が紐付けされている。
【００３４】
第1画像処理部100および第2画像処理部105は、映像入力として順次入力されパイプラインを流れるフレーム画像を順次処理する際に、フレーム識別子3000を用いて処理対象とする画像を扱う。
【００３５】
例えば第1画像処理部100が、映像入力から同期信号と共に得られるフレーム画像に対し、FID_A→FID_B→FID_C→FID_A…のようにフレーム識別子3000を順次割り当て、第1画像圧縮部101に出力する。すると補正値保持部103が、第1画像圧縮部101によってフレーム画像の圧縮データが格納される画像メモリ109の領域の基点となるアドレスを算出し、該アドレスをオフセット値3001としてフレーム識別子3000と対応付けて管理する。
【００３６】
第2画像処理部105では、処理対象となるフレーム画像を第1画像伸長部104から取得するが、この際にフレーム識別子3000が指定される。第1画像伸長部104ではすなわち、補正値保持部103で該フレーム識別子3000に紐付けされたオフセット値3001と、該フレーム識別子3000に対応するアドレステーブルを参照して、所望するフレーム画像の圧縮データをブロック単位で得る。
【００３７】
そして、第2画像処理部105が画像処理を施した同フレーム画像を画像メモリ109に格納する際に、第2画像圧縮部106による圧縮および格納が行われる。このとき補正値保持部103は、同フレーム画像のフレーム識別子3000に紐付けされたオフセット値3001を、該格納に応じた新たなアドレスに置き換える。これにより、後段の第3画像処理部108が第2画像伸長部107を介して同フレーム画像を取得する際にも、同フレーム識別子3000を指定すれば良い。該指定により、新たに紐付けされたオフセット値3001と、対応するアドレステーブルを参照して、第2画像処理部105で処理されたフレーム画像を得ることができる。
【００３８】
●第1画像伸長部
図7に、第1画像伸長部104の構成を示す。同図に示すように第1画像伸長部104は、伸長制御部800、伸長部801、内部バッファ802、DMAコントローラ803、テーブル抽出部804、DMAコントローラ805、より構成される。
【００３９】
テーブル抽出部804は、DMAコントローラ805を介して、第2画像処理部105が処理対象とするフレーム画像のアドレステーブルから、処理単位で処理順に、分割ブロック毎のレコードを読み出す。例えば第2画像処理部105では、第1画像処理部100で図2(a)に示す矩形単位で処理されたフレーム画像について、図8に示す走査順で処理を行うとすると、テーブル抽出部804はこの走査順に応じてアドレステーブルのレコードを読み出す。そして、読み出したレコードから必要情報を抽出して、DMAコントローラ803に開始アドレス、ブロックサイズ等を指定する。なお、ここでDMAコントローラ803に指定される開始アドレスとは、アドレステーブルから取得した開始アドレスに、補正値保持部103から取得したオフセット値を加えたアドレスである。これにより、DMAコントローラ803が画像メモリ109から圧縮データを読み出し、読み出された圧縮データは一旦、内部バッファ802に保持される。
【００４０】
伸長制御部800は、テーブル抽出部804からの圧縮情報に基づき、内部バッファ802から圧縮データを読み出し、伸長部801に出力する。ここで圧縮情報とは、圧縮後のデータサイズや、量子化テーブル等の圧縮パラメータの情報が含まれる。伸長部801で伸長されたフレーム画像は、伸長制御部800を介して第2画像処理部105に出力される。
【００４１】
なお、第1画像伸長部104の構成は図7の例に限定されず、例えばDMAコントローラ803と805を共通化する等の構成も考えられる。
【００４２】
●第2画像処理部
ここで第2画像処理部105における処理について、上記図8を用いて説明する。図8は、入力画像1000を分割した結果に対して、第2画像処理部105が画像処理を実施する単位および処理順を示している。すなわちこの例では、入力画像1000を縦方向に分割した1000-0〜1000-Nの矩形単位に画像処理を行うとする。各矩形内、例えば矩形1000-0においては、分割ブロック1000-00,1000-10,1000-01,…,1000-1Y、の順に画像を走査する。このため、上記図4のようなブロック単位で画像メモリ109に書き込まれた圧縮データを、書き込みとは異なる順で読み出すこととなる。また、フィルタ処理等の画像処理を行う際には、処理対象である注目画素に対し、圧縮された画像データの中からその周辺画素を効率的に読み出す必要があり、圧縮データに対して所定の領域の画像データをランダムにアクセス可能とすることが要求される。
【００４３】
第2画像処理部105におけるランダムアクセスは、補正値保持部103での説明において述べたように、フレーム識別子の指定によって可能となる。すなわち、第1画像伸長部104においてフレーム識別子が指定されることで、対応するオフセット値とアドレステーブルから、所望するフレーム画像における所望するブロックの画像データを取得することが可能である。
【００４４】
なお、第2画像処理部における処理単位および処理順は図8の例に限定されず、例えば画像を横方向に分割してラスタ順に処理を行うようにしても良い。本実施形態では、画像処理に必要な内部バッファ量や周辺画素の読み出し効率を鑑みて、図8の処理順での処理を行うとする。
【００４５】
●第2画像圧縮部
図9に、第2画像圧縮部106の構成を示す。同図に示すように第2画像圧縮部106は、圧縮制御部900、圧縮部901、内部バッファ902、DMAコントローラ903、テーブル抽出部904、DMAコントローラ905、より構成される。
【００４６】
第2画像処理部105から出力された画像は、圧縮制御部900でブロック単位で入力画素数を計測されると同時に、圧縮部901に入力される。一方、テーブル抽出部904は、DMAコントローラ905を介して処理対象であるフレーム画像のアドレステーブルを参照し、圧縮部901が圧縮対象とする分割ブロックのレコードを抽出する。そして該抽出したレコードから、当該ブロックが第1画像圧縮部101で圧縮された結果である圧縮後のデータサイズを、圧縮情報として圧縮制御部900に通知する。テーブル抽出部904では同時に、当該ブロックの圧縮データを画像メモリ109に書き込むために、書き込み先のオフセットを補正値保持部103から取得して、開始アドレスやブロックサイズ等の情報をDMAコントローラ903に指定する。なお、ここでDMAコントローラ903に指定される開始アドレスとは、アドレステーブルから取得した開始アドレスに、補正値保持部103から取得したオフセット値を加えたアドレスである。なおこのオフセット値は、第2画像圧縮部106による先頭ブロックの書き込みの際に、画像メモリ109への格納の基点となるアドレスとして補正値保持部103に保持されており、上述した第1画像伸長部104における参照時点のオフセット値とは異なる。
【００４７】
圧縮部901は、テーブル抽出部904から取得したブロック単位の圧縮後のデータサイズを目標値として、該ブロックの圧縮結果が該目標値以内となるように圧縮を行い、内部バッファ902に格納する。具体的には、JPEG等、目標サイズへの圧縮を可能とする周知の圧縮技術を用いることで、該ブロックの圧縮後サイズを目標値以内に収めることができる。なお、第1画像圧縮部101と第2画像圧縮部106とにおける圧縮手法としては、処理単位となるブロックサイズが等しければ、必ずしも同じ圧縮手法である必要はない。
【００４８】
DMAコントローラ903は、テーブル抽出部904から指定された開始アドレスとブロックサイズの情報に基づいて、ブロック毎の圧縮データを画像メモリ109に格納する。このとき、格納の基点となるアドレスとしては上述したように、補正値保持部103に保持されたオフセット値が提供される。すなわち、画像メモリ109における、該オフセット値に開始アドレスを加えたアドレスから、当該フレーム画像の圧縮データの格納を開始する。
【００４９】
なお、第2画像圧縮部の構成は図9の例に限定されない。例えばテーブル抽出部904を、第2画像処理部105に接続される第1画像伸長部104のテーブル抽出部804と共通にして、アドレステーブルの読み出しを共通化することで、読み出しに係る帯域を削減可能とする構成等も考えられる。
【００５０】
●第2画像伸長部
第2画像伸長部107は、第1画像伸長部104と同様の構成からなる。すなわち第2画像伸長部107では、処理対象となるフレーム画像のアドレステーブルを参照して、第3画像処理部108の処理単位、処理順に分割ブロックの圧縮データを画像メモリ109から読み出し、伸長して第3画像処理部108に出力する。
【００５１】
●第3画像処理部
第3画像処理部108は内部バッファを有し、第2画像伸長部107から、1ライン分の画像データを含む複数の分割ブロックの画像データを取得する。図2に示す画像例であれば、1000-00〜1000-X0の画像データを内部バッファに保持し、映像出力信号としてラスタ順に出力する。
【００５２】
以上説明したように本実施形態によれば、入力画像に対してパイプラインにより複数の画像処理を施す際に、パイプライン前段で画像をブロック単位で圧縮する際にアドレステーブルを作成し、パイプライン後段では該アドレステーブルを参照して圧縮を行う。すなわち、画像処理の度に行われる画像圧縮処理において、メモリアクセス用のアドレステーブルを共有することで、アドレステーブルを保持するために必要なメモリ容量、およびアドレステーブルの作成に必要なメモリ帯域を削減することができる。
【００５３】
＜第2実施形態＞
以下、本発明に係る第2実施形態について説明する。第2実施形態では、第1実施形態と同様にパイプラインによる複数の画像処理のたびに参照されるアドレステーブルを、当該画像処理の内容に応じて生成するか否かを制御することを特徴とする。
【００５４】
図10は、第2実施形態に係る画像処理装置の基本構成を示す図である。図10において、上述した第1実施形態の図1と同様の構成には同一番号を付し、説明を省略する。図10に示すように第2実施形態においては、映像入力に対して第1画像処理部100、第2画像処理部105、第3画像処理部710、第4画像処理部711、第5画像処理部712によってパイプラインで画像処理を行い、映像出力を行う。第2実施形態においても、画像処理のたびに処理後の画像を圧縮して画像メモリ109へ格納し、次段の処理のために伸長を行う。第2実施形態ではその圧縮/伸長処理に使用される第1画像圧縮部101、第2画像圧縮部106、および第1画像伸長部104が、スイッチ713を介して選択可能とすることで、上記各画像処理部で共有される。
【００５５】
上記各画像処理部は、第1画像圧縮部101、第2画像圧縮部106、第1画像伸長部104を時分割で使用する。第1画像処理部100および第2画像処理部105は第1実施形態と同様であり、それぞれにおける画像データの圧縮/伸長処理の際には第1実施形態と同様に、第1画像圧縮部101または第2画像圧縮部106、及び第1画像伸長部104を用いる。また第5画像処理部712は、第1実施形態における第3画像処理部108と同様の構成からなり、第1画像伸長部104から画像データを取得し、最終的な映像出力を行う。各画像処理部が第1画像圧縮部101、第2画像圧縮部106、第1画像伸長部104の何れを使用するかは、各画像処理部からの制御信号に基づいてスイッチ713により切り替えられる。
【００５６】
第3画像処理部710は、第2画像処理部105で処理して第2画像圧縮部106で圧縮し、画像メモリ109に格納したフレーム画像を、第1画像伸長部104を介して取得し、必要に応じて解像度変換を施す。具体的には、HD画質の映像を4K2Kの解像度を有するパネルに出力する場合や、映像入力と共にデータ放送を表示するために映像を縮小する場合等に、解像度変換を行うとする。そして、解像度変換を行った場合には、処理後のフレーム画像を画像メモリ109に格納する際に第1画像圧縮部101を用いて圧縮を行うが、解像度変換を行わなかった場合には、未処理のフレーム画像に対し第2画像圧縮部106を用いて圧縮を行う。これは、以下の理由による。画像に対して解像度変換が行われると、該画像を構成する画素が変換前後で大きく変化することが考えられ、これをブロック単位で圧縮すると、各ブロックの圧縮後のデータサイズが大きく変動してしまう場合がある。このような場合に、解像度変換後の画像を第2画像圧縮部106で圧縮すると、ブロックによっては不適切なデータサイズに圧縮され、画質が劣化してしまう。したがって第3画像処理部710では、解像度変換を行った場合には第1画像圧縮部101での圧縮を行うように制御することで、所定の圧縮率による圧縮を可能とする。
【００５７】
第2実施形態におけるアドレステーブル生成部702も第1実施形態と同様に、フレーム画像のアドレステーブルの作成を行う。すなわち、第1画像圧縮部101での圧縮が行われた場合に、処理対象であるフレーム画像のアドレステーブルを新規に作成すると共に、該圧縮完了の通知を受けた時点で、該フレーム画像の識別子に紐付けされたアドレステーブルの格納先を更新する。これにより、第3画像処理部710より後段の画像処理部において同識別子を指定すると、第3画像処理部710での画像処理後の圧縮時に更新されたアドレステーブルを参照することができる。
【００５８】
第4画像処理部711は、第3画像処理部710での画像処理後に画像メモリ109に格納された圧縮データを、第1画像伸長部104を介して取得し、必要に応じて画像合成処理を行う。例えば、画像メモリ109に格納されたデータ放送を映像と共に表示する場合や、メニュー等のグラフィクスを映像に重畳して表示する場合等に、合成処理を行うとする。そして、画像合成を行った場合には、処理後のフレーム画像を画像メモリ109に格納する際に第1画像圧縮部101を用いて圧縮を行うが、画像合成を行わなかった場合には、未処理のフレーム画像に対し第2画像圧縮部106を用いて圧縮を行う。アドレステーブル生成部702はこの場合も、第1画像圧縮部101での圧縮に応じてアドレステーブルを更新し、該圧縮の完了通知を受けた時点で、圧縮対象であるフレーム画像の識別子に紐付けされたアドレステーブルの格納先を更新する。これにより、第4画像処理部711より後段の画像処理部において同識別子を指定すると、第4画像処理部711での画像処理後の圧縮時に更新されたアドレステーブルを参照することができる。
【００５９】
なお、各画像処理部の処理内容は上記例に限定されず、処理内容や処理部の数、処理部の順序等は柔軟に変更しても良い。例えば、解像度変換を行う画像処理部の後にアフィン変形を行う画像処理部を挿入しても良いし、合成処理を行う画像処理部の後ろにフレームレート変換を行う画像処理部を挿入しても良い。
【００６０】
以上説明したように第2実施形態によれば、上述した第1実施形態に対してさらに、実質的な画像処理内容に応じてアドレステーブルを更新するか否かを制御することによって、アドレステーブルの更新を最低限に抑え、より効率的な処理が可能となる。
【００６１】
＜他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【図１】
2015122583.tif 000003
【図２】
2015122583.tif 000004
【図３】
2015122583.tif 000005
【図４】
2015122583.tif 000006
【図５】
2015122583.tif 000007
【図６】
2015122583.tif 000008
【図７】
2015122583.tif 000009
【図８】
2015122583.tif 000010
【図９】
2015122583.tif 000011
【図１０】
2015122583.tif 000012