JP5654809B2 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP5654809B2
JP5654809B2 JP2010202407A JP2010202407A JP5654809B2 JP 5654809 B2 JP5654809 B2 JP 5654809B2 JP 2010202407 A JP2010202407 A JP 2010202407A JP 2010202407 A JP2010202407 A JP 2010202407A JP 5654809 B2 JP5654809 B2 JP 5654809B2
Authority
JP
Japan
Prior art keywords
sub
block
blocks
compression
image processing
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
JP2010202407A
Other languages
English (en)
Other versions
JP2012060471A (ja
JP2012060471A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010202407A priority Critical patent/JP5654809B2/ja
Publication of JP2012060471A publication Critical patent/JP2012060471A/ja
Publication of JP2012060471A5 publication Critical patent/JP2012060471A5/ja
Application granted granted Critical
Publication of JP5654809B2 publication Critical patent/JP5654809B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像圧縮技術に関するものである。
画像データを圧縮する事で、メモリ容量やメモリ帯域を削減する事が行われている。例えば、特許文献1や特許文献2には固定長圧縮を行う方法が開示されており、圧縮率を固定化し、開始メモリアドレスやデータサイズを確定する事で圧縮データのアクセス容易性を実現している。
また、JPEGは標準方式として一般に利用されており、例えばデジタルカメラでは、撮影した画像をJPEG方式で圧縮してメモリに蓄積している。更に、高解像度の画像を扱う際に複数画素を含むブロックに分割し、圧縮してメモリに格納し、画像処理する際には必要なブロック単位でメモリから読み出し伸長することは一般的に行われている。例えば、特許文献3ではコピー機においてブロック単位に分割して圧縮し、画像メモリに格納している。また、画像処理では、注目画素に対して周辺画素を参照して処理する事が一般的に行われており、ブロック単位で処理する際には対象の周辺ブロックの画素も必要になる。
特開2004−235923号公報 特開平11−355583号公報 特開2003−196044号公報
しかしながら、固定長圧縮では固定の圧縮率にするために、画像全体で画質が均一にならないという問題がある。また、JPEG等の不定長圧縮を行った場合、開始アドレスとサイズをテーブル化することで複数画素を含むブロックのランダムアクセスは可能である。しかしながら、ブロックサイズを大きくした場合、画像処理で必要となる周辺ブロックを読み出す際のオーバーヘッドが大きくなり、メモリ帯域が大きくなるという課題がある。また、ブロックサイズを小さくすれば、圧縮ブロックサイズを読み出す際の帯域のオーバーヘッドは削減可能であるが、ブロック数が増加する事により開始アドレス、サイズ等を含むアドレステーブルが大きくなる。更に、ブロック毎にバイトアラインに載せるオーバーヘッドが必要となる。また、JPEGにおいてはブロックサイズを小さくするとDC成分による圧縮が効きにくくなるという課題がある。
本発明は上記のような問題点を解決するためになされたもので、JPEG等の不定長圧縮においてブロックサイズを大きくしても、画像処理で必要となる周辺ブロック読み出し時のオーバーヘッドを最小にする為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。即ち、入力画像を複数ブロックに分割し、該ブロックを複数のサブブロックに分割する分割手段と、
前記複数のサブブロックのそれぞれを、供給された順に圧縮する圧縮手段であって、該複数のサブブロックの圧縮順序で該複数のサブブロックの伸張が可能であり且つ伸張対象のサブブロックの伸張に他のブロックのサブブロックを要しない圧縮方式で前記圧縮を行う前記圧縮手段と、
前記複数のブロックのうち第1のブロックを構成する第1の複数のサブブロックを、前記入力画像における該第1の複数のサブブロックの並び順に従って前記圧縮手段に供給し、前記入力画像において前記第1のブロックと隣接する第2のブロックを構成する第2の複数のサブブロックを、前記入力画像における該第2の複数のサブブロックの並び順とは逆の順序で前記圧縮手段に供給する並替手段と、
前記圧縮手段により圧縮されたそれぞれのサブブロックをメモリに格納する格納手段と
前記第2のブロックに対する画像処理のために、前記圧縮手段により圧縮された前記第2の複数のサブブロックを前記メモリから読み出すと共に、前記圧縮手段により圧縮された前記第1の複数のサブブロックのうち最初に圧縮されたサブブロックを前記メモリから読み出す読出手段と、
前記読出手段により前記メモリから読み出された前記第2の複数のサブブロックを伸張すると共に、前記読出手段により前記メモリから読み出された前記最初に圧縮されたサブブロックを伸張する伸張手段と、
前記伸張手段による伸張済みの前記第2の複数のサブブロックと、前記伸張手段による伸張済みの前記最初に圧縮されたサブブロックとを用いて、前記第2のブロックに対する画像処理を行う画像処理手段と
を備え、
前記読出手段は、前記複数のブロックのそれぞれについての前記メモリにおける開始アドレス、ブロックサイズ、及びサブブロックサイズの情報が登録されているテーブルを参照することで、前記最初に圧縮されたサブブロックを前記メモリから読み出す
ことを特徴とする。
本発明の構成によれば、JPEG等の不定長圧縮においてブロックサイズを大きくしても、画像処理で必要となる周辺ブロック読み出し時のオーバーヘッドを最小にすることができる。
(a)はシステムのブロック図、(b)は入力画像の分割例を示す図。 (a)は処理単位を示す図、(b)はブロック1000−00の構成例を示す図。 (a)は入力画像並べ替え部300のブロック図、(b)は入力画像並べ替え部300が行う処理を示す図。 画像圧縮部700−0の構成例を示すブロック図。 画像メモリ900のマップ図。 (a)は内部バッファ730の使用方法を示す図、(b)はアドレステーブルの構成例を示す図。 (a)は画像伸張部800−0のブロック図、(b)は圧縮データ読出順を示す図。 (a)は伸張画像並び替え部400のブロック図、(b)は伸張画像並び替え部400が行う処理を示す図。 (a)は画像処理部100のブロック図、(b)は走査の方向を示す図。 処理画像並び替え部500のブロック図、(b)は圧縮データの読出順を示す図。 伸張画像並び替え部400により出力される画素の順序を示す図。 画像処理部100が3×3のフィルタ処理を行うために行う走査の方向を示す図。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態に係るシステムは、入力画像を複数画素から成るブロック毎に分割して圧縮し、画像処理時に必要な部分だけを伸張して用いるシステムである。図1(a)のブロックを用いて、本実施形態に係るシステムの機能構成例について説明する。
映像入力部50は、外部から映像信号を入力するものであり、HDMI(High Definition Mulitimedia Interface)等の入力から、入力画像を構成する各画素のデータを抽出する。これにより、本システムには、入力画像を構成する各画素のデータを入力することができる。しかし、入力画像のデータを入力するための方法はこれに限るものではなく、様々な方法が考え得る。
入力画像並べ替え部300は、映像入力部50により本システムに入力された入力画像を複数画素から成るブロック毎に分割し、分割したそれぞれのブロックを、入力画像内における並び順で選択する。そして入力画像並べ替え部300は、選択したブロックを、複数画素から成るサブブロック毎に分割し、分割したそれぞれのサブブロックを、この選択したブロックについて選択された順序で並び替える。そして入力画像並べ替え部300は、この並び替えた順序でそれぞれのサブブロックを画像圧縮部700−0に送出する。この「順序」について詳しくは後述する。
画像圧縮部700−0は、入力画像並べ替え部300からサブブロックが送出される毎に、このサブブロックに対して圧縮処理を行う。そして画像圧縮部700−0は、1ブロック分の圧縮処理が完了する毎に、この1ブロック分の圧縮データを画像メモリ900に格納する。
上記の構成により、ブロック毎の圧縮データ(更に1ブロック分の圧縮データは、この1ブロックを構成する各サブブロックの圧縮データから成る)を画像メモリ900に格納することができる。
画像伸張部800−0は、画像メモリ900からサブブロック単位で圧縮データを読み出して伸張することで、サブブロック毎のデータ(画素データ)を生成する。伸張画像並び替え部400は、画像伸張部800−0により伸張されたデータを並び替える。画像処理部100は、伸張画像並び替え部400により並び替えられたデータのうち必要なデータを用いて、フィルタ処理等の画像処理を行う。
処理画像並べ替え部500は、画像処理部100により処理されたデータの並べ替えを行う。画像圧縮部700−1は、画像圧縮部700−0と同様の圧縮処理を行い、その結果を画像メモリ900に格納する。画像伸張部800−1は、画像メモリ900に格納されているサブブロック毎の圧縮データを伸張する。出力画像並べ替え部600は、画像伸張部800−1が伸張したそれぞれのサブブロックのデータを並べ替え、並べ替えたデータを結合することで、1枚の画像のデータを生成する。映像出力部200は、出力画像並べ替え部600により生成された1枚の画像のデータを外部に出力する。
入力画像並べ替え部300による入力画像の分割例を図1(b)に示す。入力画像1000が入力画像並べ替え部300に入力されると、入力画像並べ替え部300はこの入力画像1000を(X+1)×(Y+1)個のブロック1000−00〜1000−XYに分割する。ここで、(X+1)はX方向の分割数、(Y+1)はY方向の分割数を示す。なお、分割方法はこれに限定するものではなく、例えば、ブロックを正方形とし、正方形毎に入力画像を分割しても良い。
入力画像1000に対する、画像処理部100による処理単位を図2(a)に示す。画像処理部100は入力画像1000を処理する場合、1100−0〜1100−Nのそれぞれを処理単位とする。処理単位1100−0を処理する場合、ブロック1000−00及び1000―10の処理から始まり、入力画像1000を走査していく。そして最終的には、処理単位1000−0Y及び1000−1Yまでの計2×(Y+1)個のブロックを処理する。
ここで、1つのブロックは複数個のサブブロックから成る。ブロック1000−00の構成例を図2(b)に示す。図2(b)では、ブロック1000−00は8個のサブブロック(1000−00−0〜1000−00−7)から構成されており、1つのサブブロックは8ピクセル×8ピクセルのサイズを有している。これは他のブロックについても同様である。なお、各ブロックを構成するサブブロックの個数やサブブロックのサイズについてはこれに限るものではない。
入力画像並べ替え部300の構成例を、図3(a)のブロック図を用いて説明する。入力画像並べ替え部300が行うものとして上述した処理は入力画像並べ替え制御部310が行い、入力画像並べ替え制御部310が行った処理結果は内部バッファ320に格納される。
ここで、入力画像並べ替え部300が行う処理について、図3(b)を用いて説明する。図3(b)には、入力画像1000において一部のブロック1000−00〜1000−30を示している。なお、それぞれのブロックは上述の通り8個のサブブロックから構成されており、それぞれのサブブロックは8ピクセル×8ピクセルのサイズを有する。例えば、ブロック1000−30は、サブブロック1000−30−0〜1000−30−7により構成されている。
入力画像並べ替え制御部310は、1つのブロックをサブブロック毎に分割し、分割したそれぞれのサブブロックを規定の順序で並び替え、並び替え後の並び順でそれぞれのサブブロックを画像圧縮部700−0に対して出力する。より詳しくは、ブロック毎に、ブロック内におけるサブブロックの並び順(正順)、並び順とは逆の順(逆順)、を交互に選択する。そして、それぞれのサブブロックを、選択した順で並び替えて出力する。図3(b)では、ブロック1000−00についてはサブブロック1000−00−0、1000−00−1、…、1000−00−7の順に画像圧縮部700−0に出力する。一方、ブロック1000−10については、サブブロック1000−10−7、1000−10−6、…、1000−10−0の順に並び替えてから、この並び替えた順に画像圧縮部700−0に出力する。また、ブロック1000−20についてはサブブロック1000−20−0、1000−20−1、…、1000−20−7の順に画像圧縮部700−0に出力する。また、ブロック1000−30については、サブブロック1000−30−7、1000−30−6、…、1000−30−0の順に並び替えてから、この並び替えた順に画像圧縮部700−0に出力する。このように、ブロック毎に、サブブロックの並び順、その逆順、を交互に選択し、ブロック内のそれぞれのサブブロックを、このブロックについて選択した順序で、画像圧縮部700−0に出力する。
画像圧縮部700−0の構成例を、図4のブロック図を用いて説明する。圧縮制御部710は、圧縮部720の動作制御を行う。圧縮部720は、入力画像並べ替え部300から送出されたそれぞれのサブブロックに対してJPEGなどの圧縮符号化技術を用いた圧縮を行うことで、それぞれのサブブロックの圧縮データを生成する。圧縮制御部710は、圧縮部720が1ブロック分の圧縮処理を行う毎に圧縮部720を初期化し、次のブロックに対する圧縮処理を行わせる。このように、ブロック単位で初期化を行うことにより、JPEG等を考えた場合、ブロック間での依存性を無くし、ブロック単位での伸長を可能としている。
また、圧縮制御部710は、圧縮部720による圧縮後のデータサイズ等の圧縮情報をアドレステーブル生成部750に送出すると共に、圧縮部720による圧縮データを内部バッファ730に送出する。
アドレステーブル生成部750は、圧縮情報を用いて後述するアドレステーブルを生成すると共に、DMAコントローラ740に対して開始アドレス、ブロックサイズ、サブブロックサイズ等を指示する。ここで、アドレステーブル生成部750は、サブブロックが正順並びされているブロックについてはバイトアラインされた開始アドレスから増加方向に領域を確保する。また、サブブロックが逆順並びされているブロックについてはバイトアラインされた開始アドレスから減少方向に領域を確保する。
DMAコントローラ740は、アドレステーブル生成部750により指定された情報を元に、内部バッファ730からブロック単位で圧縮データを画像メモリ900に転送する。また、アドレステーブル生成部750で生成されたアドレステーブルは、DMAコントローラ760により画像メモリ900に転送される。
なお、画像圧縮部700−0の構成は図4に示した構成に限るものではなく、例えば、DMAコントローラ740、760の共通化や、アドレステーブルを内部バッファ730に格納する等の構成も考え得る。
画像圧縮部700−0によりそれぞれのサブブロックの圧縮データが格納された画像メモリ900のマップを、図5に示す。図5では1ラインで16バイトを示しており、1ライン毎にアドレスが16バイト(16進で0x10)増加している。
画像圧縮部700−0は、入力画像並べ替え部300からサブブロックを受け取る毎にこのサブブロックを圧縮する。そして画像圧縮部700−0は1ブロックを構成する全てのサブブロックの圧縮が完了する毎に、これらサブブロックの圧縮データを画像メモリ900に格納する。
例えば、ブロック1000−00を圧縮する場合、圧縮部720は、ブロック1000−00を構成するサブブロック1000−00−0〜1000−00−7を、この順で入力画像並べ替え部300から受け取る。そして圧縮部720はこの受け取った順でこれらサブブロック1000−00−0〜1000−00−7を圧縮する。サブブロックを圧縮する毎に、その圧縮データは内部バッファ730の先頭から順に格納される。そしてサブブロック1000−00−7の圧縮データが内部バッファ730に格納された時点で、これらサブブロック1000−00−0〜1000−00−7の圧縮データはDMAコントローラ740を介して画像メモリ900に格納される。図5の例では、サブブロック1000−00−0〜1000−00−7の圧縮データは、画像メモリ900においてアドレス0x000〜0x065に格納される。
また、ブロック1000−10を圧縮する場合、圧縮部720は、ブロック1000−10を構成するサブブロック1000−10−7〜1000−10−0を、この順で入力画像並べ替え部300から受け取る。そして圧縮部720はこの受け取った順でこれらサブブロック1000−10−7〜1000−10−0を圧縮する。サブブロックを圧縮する毎に、その圧縮データは内部バッファ730の後端から順(即ち、ブロック1000−00の場合とは逆順)に先頭に向けて格納される。そしてサブブロック1000−10−0の圧縮データが内部バッファ730に格納された時点で、これらサブブロック1000−10−0〜1000−10−7の圧縮データはDMAコントローラ740を介して画像メモリ900に格納される。
図5では、各ブロック1000−00〜1000−40の境界(太線で示している)はバイトアラインに載っているが、各サブブロックは圧縮率を重視し、バイトアラインには載っていない。
ここで、圧縮部720による内部バッファ730の使用方法について、図6(a)を用いて説明する。図6(a)では内部バッファ730は4kバイト(アドレス0x000〜0xFFF)の容量を有している。
ブロック1000−00の圧縮を行う場合、サブブロック1000−00−0〜1000−00−7の順にそれぞれのサブブロックを圧縮する。そしてサブブロック1000−00−0〜1000−00−7の順に、その圧縮データを、内部バッファ730に格納するが、その場合、内部バッファ730の先頭(アドレス0X000)から順に使用する。
ブロック1000−10の圧縮を行う場合、サブブロック1000−10−7〜1000−10−0の順にそれぞれのサブブロックを圧縮する。そしてサブブロック1000−10−7〜1000−10−0の順に、その圧縮データを、内部バッファ730に格納するが、その場合、内部バッファ730の後端(アドレス0XFFF)から順に使用する。
そして何れの場合にも、1ブロック分の圧縮データが内部バッファ730に格納されると、DMAコントローラ740はこの1ブロック分の圧縮データをまとめて読み出し、画像メモリ900に転送する。なお、内部バッファ730の使用方法はこれに限るものではなく、例えば、逆順の場合にもアドレス0x000からデータを書き込み、内部バッファ730からの読み出しの際にアドレスの最後尾から読み出す等も考えられる。
アドレステーブル生成部750が生成したアドレステーブルの構成例を、図6(b)を用いて説明する。アドレステーブルは各ブロック00〜XYのテーブル2000−00〜2000−XY)から構成される。各テーブルは開始アドレス2010−00〜2010−XY、ブロック座標2020−00〜2020−XY、ブロックサイズ2030−00〜2030−XY、サブブロックサイズ2040−00〜2040−XYより構成される。なお、アドレステーブルの構成はこれに限るものではなく、例えば、ブロック座標2020−00〜2020−XYを省略しても良いし、動画に適用する場合にはフレーム数を付加しても良い。また、逆順ブロック(例えばブロック1000−10)と正順ブロック(例えばブロック1000−00)を隙間無く連続したメモリ領域に格納した場合、開始アドレスのずれは1バイトのみである。これを利用して正順ブロックの開始アドレスのみをアドレステーブルに格納し、逆順ブロックの開始アドレスを正順ブロックの開始アドレスから算出する事でアドレステーブルの容量の削減も可能である。
次に、図6(b)中のサブブロックサイズについて説明する。サブブロックサイズとは、ブロック境界から特定個数のサブブロックを含む圧縮後のサイズを示す。例えば、サブブロックの個数を1とした場合、ブロック境界からサブブロック1つ目を含む最小サイズがサブブロックサイズとして指定される。ブロック1000−00の場合、サブブロック1000−00−0を含む最小サイズが指定され、ブロック1000−10の場合、1000−10−7を含む最小サイズが指定される。このように正順並び替え、逆順並び替えに依存して選択されるサブブロックが異なる。図5のように圧縮後のブロックが格納された場合、ブロック1000−00に対しては1000−00−0を含む最小のサイズ0x12がサブブロックサイズとして指定される。ブロック1000−10に対してはサブブロック1000−10−7を含む最小サイズが指定される。図5ではサブブロック1000−10−7は0×0D4から0x0B9を使用しており、その差を含む最小サイズ0×1Cがサブブロックサイズとして指定される。
このように、ブロック内のそれぞれのサブブロックの圧縮順を、ブロック毎に切り替えることが上記構成の特徴であり、以下の機能を有していれば、その他の構成を採用しても構わない。
即ち、先ずは、入力画像を複数画素から成るブロック毎に分割し、分割したそれぞれのブロックを入力画像内における並び順で選択する。そして、選択したブロックを複数画素から成るサブブロック毎に分割し、分割したそれぞれのサブブロックを規定の順序で選択し、選択したサブブロックに対して圧縮処理を行う。より詳しくは、ブロック毎に、ブロック内におけるサブブロックの並び順、この並び順とは逆の順、を交互に選択する。そして、選択ブロックを分割したそれぞれのサブブロックを、選択ブロックについて選択した順で選択し、選択したサブブロックに対して圧縮処理を行うことで、それぞれのサブブロックの圧縮データを生成する。そして、生成したサブブロック毎の圧縮データをメモリに格納する。
次に、画像処理部100が図2(a)の処理単位1100−0を処理する場合を例に取り、以下の説明を行う。なお、以下の説明が、他の処理単位であっても構わないことは、以下の説明より明らかとなるであろう。
先ず、画像伸張部800−0の構成例を、図7(a)のブロック図を用いて説明する。アドレステーブル抽出部850は、DMAコントローラ860を介して画像メモリ900からアドレステーブルを読み出す。そしてアドレステーブル抽出部850は、読み出したアドレステーブルから必要な情報(開始アドレス、ブロックサイズ、サブブロックサイズ等)を抽出し、DMAコントローラ840に開始アドレス、ブロックサイズ、サブブロックサイズ等を指定する。これによりDMAコントローラ840は、画像メモリ900から必要な圧縮データの読み出しを行う。読み出した圧縮データは一旦、内部バッファ830に保持される。伸張制御部810は、アドレステーブル抽出部850からの圧縮情報に基づき、内部バッファ830から必要な圧縮データを読み出し、読み出した圧縮データを伸張部820に出力する。この圧縮情報には、圧縮後のサイズや、量子化テーブル等の圧縮パラメータが含まれている。
ここで、画像メモリ900からの圧縮データの読み出しについて説明する。前述したように、画像処理部100で3×3のフィルタ処理を実施する場合、周辺サブブロックが必要となる。例えば、図2(a)において処理単位1100−0に対する3×3のフィルタ処理を行うためには、ブロック1000−20の一部も必要となる。この場合におけるDMAコントローラ840による圧縮データの読み出し順を図7(b)に示す。図7(b)には、入力画像1000において一部のブロック1000−00〜1000−40の圧縮データを示している。
DMAコントローラ840は、ブロック1000−00を構成する全てのサブブロック1000−00−0〜1000−00−7の圧縮データを、この順(読み出し順1)で、画像メモリ900から読み出す。また、DMAコントローラ840は、ブロック1000−10を構成する全てのサブブロック1000−10−0〜1000−10−7の圧縮データを、この順とは逆の順(読み出し順2)で、画像メモリ900から読み出す。
即ち、DMAコントローラ840は、着目ブロックを分割したそれぞれのサブブロックの圧縮データを読み出す場合、それぞれのサブブロックの圧縮データを、着目ブロックに対して圧縮時に選択した順で読み出す。
ここで、上記の通り、ブロック1000−20については全てのサブブロックは必要なく、一部(ここではサブブロック1000−20−0)のみ必要である。然るにDMAコントローラ840は、ブロック1000−20については読み出し順3に従って最初のサブブロック1000−20−0のみを画像メモリ900から読み出す。
ここで、読み出し順1及び読み出し順2に関しては、アドレステーブル中のブロックサイズ2030−00〜2030−XYを使用して、DMAコントローラ840に読み出しサイズが設定される。読み出し順3に対しては、サブブロックサイズ2040−00〜2040−XYを使用してDMAコントローラ840に読み出しサイズが設定される。
また、詳細は述べないが、ブロック1000−00、ブロック1000−10のブロックサイズと、ブロック1000−20のサブブロックサイズを使用して一度にDMAコントローラ840を起動する等も可能である。
また、サブブロック1000−20−0の伸長終了後に処理を停止し、リセットする事で次ブロックの伸長が可能となる。DMAコントローラ840により画像メモリ900から読み出されたそれぞれのサブブロックの圧縮データは逐次、内部バッファ830に格納され、順次、伸張制御部810によって伸張部820に転送される。これにより伸張部820は、転送されたサブブロックの圧縮データを伸張する。即ち伸張部820は、着目ブロックを分割したそれぞれのサブブロックの圧縮データを、着目ブロックに対して圧縮時に選択した順で選択し、選択した圧縮データを伸張することになる。
そして伸張制御部810は、伸張されたサブブロックのデータを順次、伸張画像並び替え部400に転送する。そして、処理単位1100−0に対して、ブロック1000−0Y,1000−1Y、1000−2Yまで同様の処理が行われる。
伸張画像並び替え部400の構成例について、図8(a)のブロック図を用いて説明する。伸張画像並び替え制御部410は、画像伸張部800−0から転送されたそれぞれのサブブロックを内部バッファ420に格納し、格納したサブブロックを並び替える。
伸張画像並び替え部400(伸張画像並び替え制御部410)が行う処理について、図8(b)を用いて説明する。伸張画像並び替え制御部410は、ブロック1000−00については、画像伸張部800−0から、サブブロック1000−00−0、1000−00−1、…、1000−00−7の順に受け取る。然るに伸張画像並び替え制御部410は、これらのサブブロックをこの順で内部バッファ420に格納する。伸張画像並び替え制御部410は、ブロック1000−10については、画像伸張部800−0から、サブブロック1000−10−7、1000−10−6、…、1000−10−0の順に受け取る。然るに伸張画像並び替え制御部410は、これらのサブブロックを、この逆の順で内部バッファ420に格納する。
伸張画像並び替え制御部410は、ブロック1000−20については、画像伸張部800−0から、サブブロック1000−20−0のみを受け取る。然るに伸張画像並び替え制御部410は、サブブロック1000−20−0において、処理単位1100−0に対する3×3のフィルタ処理で必要となる左端の縦1列の画素列を内部バッファ420に格納する。図8(b)では、ブロック1000−00、1000−10の処理を示しているが、同様にブロック1000−0Y、1000−1Yまでの処理を実施する。
そして伸張画像並び替え制御部410は、内部バッファ420内で並び替えられたそれぞれのサブブロックから画素のデータをラスタスキャン順に画像処理部100に対して送出する。
画像処理部100の構成例を、図9(a)のブロック図を用いて説明する。伸張画像並び替え制御部410により送出されたそれぞれの画素のデータは順次、内部バッファ110に格納される。フィルタ処理部120は、内部バッファ110に格納されている画素のデータを用いて、3×3のフィルタ処理を行う。
画像処理部100が3×3のフィルタ処理を行うために行う走査の方向について、図9(b)を用いて説明する。図9(b)では3ライン目の走査を示している。図9(b)に示す如く、サブブロック1000−00−0内の左端画素3000−0からサブブロック1000−10−7内の右端画素3000−1までの1ラインを構成する各画素について、その周辺画素を参照しながらフィルタ処理を行う。これは他のラインについての同じである。そして同様な処理をブロック1000−0Y、1000−1Yまで行う。本実施形態では、3×3のフィルタ処理を画像処理の一例として用いたが、周辺画素を用いた画像処理であれば、他の如何なる画像処理であっても良く、例えば、解像度変換等への適用も考えられる。
処理画像並び替え部500の構成例について、図10(a)のブロック図を用いて説明する。ブロック整形部520は、出力がブロック単位となるように整形する。図10(b)の例では、ブロック1000−20内の画素を削除し、サブブロック1000−00−0〜1000−10−7に含まれる画素群が出力され、内部バッファ530に格納される。
処理画像並び替え制御部510は、内部バッファ530からサブブロックのデータを読み出し、入力画像並べ替え部300と同様にして、それぞれのサブブロックの並び替えを行う。
画像圧縮部700−1は、画像圧縮部700−0と同様の動作を行うもので、処理画像並び替え部500からのそれぞれのサブブロックに対して圧縮処理を行うことで、それぞれのサブブロックの圧縮データを生成し、画像メモリ900に格納する。また、画像圧縮部700−1は、画像圧縮部700−0と同様にしてアドレステーブルを作成し、これもまた画像メモリ900に格納する。
次に、図2(a)に示した処理単位1100−1を処理する場合と、処理単位1100−0を処理する場合と、の相違点について説明する。画像伸張部800−0による画像メモリ900からのサブブロックの圧縮データの読み出し順について、図10(b)を用いて説明する。
画像処理部100が処理単位1100−1を処理する場合、ブロック1000−20、1000−30だけでなく、ブロック1000−10、1000−40の一部も必要となる。そこで、最初に図10(b)中の読み出し順1に従い、ブロック1000−10内のサブブロック1000−10−7のみを読み出す。また、ブロック1000−20、1000−30についてはそれぞれ読み出し順2,3に従って、それぞれのブロック内の全てのサブブロックを読み出す。また、読み出し順4に従い、ブロック1000−40内のサブブロック1000−40−0のみを読み出す。
読み出したそれぞれのサブブロックの圧縮データは逐次、内部バッファ830を介して伸張制御部810に転送され、伸張制御部810による制御の元、伸張部820によりそれぞれのサブブロックが伸張される。このような処理を、ブロック1000−1Y,1000−2Y,1000−3Y,1000−4Yまで行う。
この場合の伸張画像並び替え部400(伸張画像並び替え制御部410)により出力される画素の順序を図11に示す。伸張画像並び替え制御部410は、ブロック1000−10については、処理単位1100−1に対する3×3のフィルタ処理で必要となる右端の縦1列の画素列を内部バッファ420に格納する。
ブロック1000−20については、サブブロック1000−20−0、1000−20−1、…、1000−20−7の順に内部バッファ420に格納する。ブロック1000−30については、サブブロック1000−30−0、1000−30−1、…、1000−30−7の順に内部バッファ420に格納する。ブロック1000−40については、処理単位1100−1に対する3×3のフィルタ処理で必要となる左端の縦1列の画素列を内部バッファ420に格納する。
そして伸張画像並び替え制御部410は、内部バッファ420内で並び替えられたそれぞれのサブブロックから画素のデータをラスタスキャン順に画像処理部100に対して送出する。
画像処理部100が3×3のフィルタ処理を行うために行う走査の方向について、図12を用いて説明する。図12では3ライン目の走査を示しており、サブブロック1000−20−0内の左端画素3000−2からサブブロック1000−30−7内の右端画素3000−3までの1ラインを構成する各画素について、その周辺画素を参照しながらフィルタ処理を行う。これは他のラインについての同じである。そして同様な処理をブロック1000−2Y、1000−3Yまで行う。
画像伸張部800−1は、画像伸張部800−0と同様に動作し、画像圧縮部700−1が生成したアドレステーブルを元に、それぞれのサブブロックの圧縮データを画像メモリ900から読み出し、出力画像並び替え部600に出力する。
なお、図1(a)に示した構成は1台の画像処理装置で実現させても良いし、複数台の画像処理装置で実現させても良い。例えば、映像入力部50、入力画像並べ替え部300、画像圧縮部700−0、画像メモリ900、を有する画像処理装置と、その他の各部を有する1台以上の装置とで、上記システムを実現させても良い。
以上の説明により、本実施形態によれば、入力画像を特定の単位(ブロック)に分割し、メモリ格納時に不定長圧縮を行う画像処理システムにおいて、画像処理で必要となる隣接ブロックの読み出しサイズを最小に出来る。これにより、必要なメモリ帯域が削減でき、メモリのクロックが削減可能となり、消費電力を低減することができる。
[第2の実施形態]
図1(a)に示した各部のうち、メモリとして機能する部分以外の各部は、コンピュータプログラムとして実装しても良い。この場合、このコンピュータプログラムは、システムが有する不図示のCPU等によって実行されることで、対応する機能を実現することになる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (5)

  1. 入力画像を複数ブロックに分割し、該ブロックを複数のサブブロックに分割する分割手段と、
    前記複数のサブブロックのそれぞれを、供給された順に圧縮する圧縮手段であって、該複数のサブブロックの圧縮順序で該複数のサブブロックの伸張が可能であり且つ伸張対象のサブブロックの伸張に他のブロックのサブブロックを要しない圧縮方式で前記圧縮を行う前記圧縮手段と、
    前記複数のブロックのうち第1のブロックを構成する第1の複数のサブブロックを、前記入力画像における該第1の複数のサブブロックの並び順に従って前記圧縮手段に供給し、前記入力画像において前記第1のブロックと隣接する第2のブロックを構成する第2の複数のサブブロックを、前記入力画像における該第2の複数のサブブロックの並び順とは逆の順序で前記圧縮手段に供給する並替手段と、
    前記圧縮手段により圧縮されたそれぞれのサブブロックをメモリに格納する格納手段と
    前記第2のブロックに対する画像処理のために、前記圧縮手段により圧縮された前記第2の複数のサブブロックを前記メモリから読み出すと共に、前記圧縮手段により圧縮された前記第1の複数のサブブロックのうち最初に圧縮されたサブブロックを前記メモリから読み出す読出手段と、
    前記読出手段により前記メモリから読み出された前記第2の複数のサブブロックを伸張すると共に、前記読出手段により前記メモリから読み出された前記最初に圧縮されたサブブロックを伸張する伸張手段と、
    前記伸張手段による伸張済みの前記第2の複数のサブブロックと、前記伸張手段による伸張済みの前記最初に圧縮されたサブブロックとを用いて、前記第2のブロックに対する画像処理を行う画像処理手段と
    を備え、
    前記読出手段は、前記複数のブロックのそれぞれについての前記メモリにおける開始アドレス、ブロックサイズ、及びサブブロックサイズの情報が登録されているテーブルを参照することで、前記最初に圧縮されたサブブロックを前記メモリから読み出す
    ことを特徴とする画像処理装置。
  2. 前記格納手段は、前記圧縮手段により圧縮されたサブブロックを、該サブブロックの圧縮順序に従って前記メモリに格納することを特徴とする請求項1に記載の画像処理装置。
  3. 前記圧縮手段は、JPEGによる圧縮を行うことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 画像処理装置が行う画像処理方法であって、
    前記画像処理装置分割手段が、入力画像を複数ブロックに分割し、該ブロックを複数のサブブロックに分割する分割工程と、
    前記画像処理装置圧縮手段が、前記複数のサブブロックのそれぞれを、供給された順に圧縮する圧縮工程であって、該複数のサブブロックの圧縮順序で該複数のサブブロックの伸張が可能であり且つ伸張対象のサブブロックの伸張に他のブロックのサブブロックを要しない圧縮方式で前記圧縮を行う前記圧縮工程と、
    前記画像処理装置の並替手段が、前記複数のブロックのうち第1のブロックを構成する第1の複数のサブブロックを、前記入力画像における該第1の複数のサブブロックの並び順に従って前記圧縮手段に供給し、前記入力画像において前記第1のブロックと隣接する第2のブロックを構成する第2の複数のサブブロックを、前記入力画像における該第2の複数のサブブロックの並び順とは逆の順序で前記圧縮手段に供給する並替工程と、
    前記画像処理装置格納手段が、前記圧縮工程で圧縮されたそれぞれのサブブロックをメモリに格納する格納工程と
    前記画像処理装置の読出手段が、前記第2のブロックに対する画像処理のために、前記圧縮手段により圧縮された前記第2の複数のサブブロックを前記メモリから読み出すと共に、前記圧縮手段により圧縮された前記第1の複数のサブブロックのうち最初に圧縮されたサブブロックを前記メモリから読み出す読出工程と、
    前記画像処理装置の伸張手段が、前記読出工程で前記メモリから読み出された前記第2の複数のサブブロックを伸張すると共に、前記読出工程で前記メモリから読み出された前記最初に圧縮されたサブブロックを伸張する伸張工程と、
    前記画像処理装置の画像処理手段が、前記伸張工程による伸張済みの前記第2の複数のサブブロックと、前記伸張工程による伸張済みの前記最初に圧縮されたサブブロックとを用いて、前記第2のブロックに対する画像処理を行う画像処理工程と
    を備え、
    前記読出工程では、前記複数のブロックのそれぞれについての前記メモリにおける開始アドレス、ブロックサイズ、及びサブブロックサイズの情報が登録されているテーブルを参照することで、前記最初に圧縮されたサブブロックを前記メモリから読み出す
    ことを特徴とする画像処理方法。
  5. コンピュータを、請求項1乃至の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
JP2010202407A 2010-09-09 2010-09-09 画像処理装置、画像処理方法 Expired - Fee Related JP5654809B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010202407A JP5654809B2 (ja) 2010-09-09 2010-09-09 画像処理装置、画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010202407A JP5654809B2 (ja) 2010-09-09 2010-09-09 画像処理装置、画像処理方法

Publications (3)

Publication Number Publication Date
JP2012060471A JP2012060471A (ja) 2012-03-22
JP2012060471A5 JP2012060471A5 (ja) 2013-10-17
JP5654809B2 true JP5654809B2 (ja) 2015-01-14

Family

ID=46057008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010202407A Expired - Fee Related JP5654809B2 (ja) 2010-09-09 2010-09-09 画像処理装置、画像処理方法

Country Status (1)

Country Link
JP (1) JP5654809B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63304293A (ja) * 1987-06-05 1988-12-12 株式会社日立製作所 表示メモリ制御回路
JPH08115239A (ja) * 1994-10-19 1996-05-07 Fuji Xerox Co Ltd ディスクシステム

Also Published As

Publication number Publication date
JP2012060471A (ja) 2012-03-22

Similar Documents

Publication Publication Date Title
JP3732702B2 (ja) 画像処理装置
JP2011049764A (ja) データ圧縮伸長装置
JP2007293533A (ja) プロセッサシステム及びデータ転送方法
JP2008104164A (ja) 画像処理装置及び画像処理方法
JP6679290B2 (ja) 半導体装置
US8488893B2 (en) Image compression apparatus and image compression method
JP5614122B2 (ja) 画像データ復号装置
TW201939953A (zh) 影像壓縮系統及利用影像壓縮系統以壓縮影像畫面的方法
JP3984094B2 (ja) 画像処理装置及び画像処理方法
US20120170664A1 (en) Image processing apparatus, image processing method and program
US20060159350A1 (en) Apparatus and method for image processing
JP5654809B2 (ja) 画像処理装置、画像処理方法
JP2009017468A (ja) 画像処理装置
JP2006340300A (ja) 信号処理方法及び信号処理装置、並びに信号処理プログラム及び情報記録媒体
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP5732765B2 (ja) 画像データ復号装置
JP2008236084A (ja) 画像処理方法、画像処理装置、画像処理プログラム及び記録媒体
JP2016058832A (ja) 画像処理装置、その制御方法、及びプログラム
JP2015122583A (ja) 画像処理装置および画像処理方法、およびプログラム
JP2011139165A (ja) 画像処理装置及びその処理方法
JP3997851B2 (ja) 画像符号化装置および画像符号化プログラム
JP2016225794A (ja) 複写装置
JP2006067513A (ja) 画像拡大縮小変換装置およびデジタル映像システム
JP2015122584A (ja) 画像処理装置およびその制御方法
JP4439746B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141121

R151 Written notification of patent or utility model registration

Ref document number: 5654809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees