説明

画像処理装置及び方法、並びに画像処理プログラムを供給するプログラム供給媒体

【課題】 ランレングス符号化されている画像を用いて演算処理を行うとき、メモリの無駄をなくし、処理時間を短縮する。
【解決手段】 繰り返し数を累積して行方向における各即値の座標値を求める行内座標累算手段22と、各即値が所定の条件を満足するか否かを判定する判定手段2と、判定手段2により所定の条件を満足すると判定された即値の座標値のうち即値の最小座標値を行毎に記憶する行内最小座標値記憶手段23と、所定の条件を満足すると判定された即値の座標値のうち行内座標累算手段22により求められた即値の最大座標値を行毎に記憶する行内最大座標値記憶手段24と、最小座標値及び最大座標値を用いて、有効と判定された即値からなる画像領域を包含する領域を示す領域情報を算出する画像領域算出手段2とを備える。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ランレングス符号化方式によって符号化された画像を構成する画素の画素値に応じて、有効な画素値を有する領域を求めて出力する画像処理装置及び方法、並びに画像処理プログラムを供給するプログラム供給媒体に関する。
【0002】
【従来の技術】ランレングス符号化方式は、同一値の連続(run)を、繰り返し回数(run length)とその値そのもの、すなわち即値の対で表現することにより、情報を圧縮する符号化方式である。このランレングス符号化は、例えば画像をファイルに格納するとき等において多く用いられている。そして、2次元情報である画像をランレングス符号化する場合には、一般的に、行(ラスタ)方向についてランレングス符号化が適用される。
【0003】図6を用いて、ランレングス符号化方式により符号化された画像データについて説明する。図6(a)は元の画像データの一行分、すなわちランレングス符号化前の画像データの一行分である。図6(b)はランレングス符号化方式により圧縮符号化された画像データである。図6(a)のデータ領域101では“12”の同一の画素値が7回繰り返されている。同様にデータ領域102では“25”の画素値が3回繰り返され、データ領域103では“18”の画素値が6回繰り返されている。そこで、図6(b)においては、上記データ領域101を繰り返し回数「7」と画素値そのものである即値“12”とを対{「7」“12”}と表現したデータ領域104としている。同様に、上記データ領域102を対{「3」“25”}と表現したデータ領域105としている。また、同様に、上記データ領域103を対{「6」“18”}としたデータ領域106として表現している。最後に付加した零領域107は、行の終わりを示す印である。
【0004】このような画像のランレングス符号化方式については、例えば文献「J.Murrayand W.vanRyper, Graphics File Formats, O'Reilly & Associates, second edition, 1996.」に詳細に記載されている。
【0005】従来の画像を用いた演算処理において、所定の演算式に従ってなされる画素値の演算において、有効な画素値を有する画素の集合が画像全体に対して小さいことがあった。
【0006】このとき、演算処理の処理量の低減を図るために、有効な画素値を有する画素の集合を包含するような形状の有効領域を設定し、演算処理の対象を当該有効領域の内部に限定する手法が用いられることが多い。
【0007】有効領域の形状としては、有効領域の内部と外部とを容易に判定できるような比較的簡単な数式で表現される形状が用いられることが多い。有効領域として多く用いられる形状は、最も簡単に表現することができる矩形であり、4つの頂点を示すデータを設定することで表現される。この矩形は、有効な画素値を有する画素の集合と外接するように設定されるので、外接矩形と呼ばれている。このように、演算処理の対象を設定する有効領域に限定することや外接矩形の概念は、画像処理分野においては周知の技術であり、例えば文献「J.Foley, et al.,Computer Graphics: Principle and Practice,Addison-Wesley, second edition,1990.」に記載されている。
【0008】外接矩形等を用いて、演算処理の対象を有効領域に限定する画像演算処理の例としては、例えば画像合成処理が挙げられる。この画像合成処理において、背景画像の上に重ね合わせる前景画像の有効な画素値を有する画素の集合の面積が、画像全体の面積と比較して小さいことが多い。
【0009】そこで、画像合成処理を行う前に、画像の有効な画素値を有する画素の集合を識別し、有効な画素値を有する画素の集合がなす領域に外接する外接矩形の座標を求める処理を行う。これにより、合成演算処理において、演算処理の対象となる範囲を限定することができ、演算量を削減することができる。
【0010】ここで、各画素値が有効であるか無効であるかは、例えば画素に付随するアルファ値等で表現される。このアルファ値とは、各画素についての不透明度を示す値である。すなわち、アルファ値が「0」である画素は完全に透明であり画素値がないことを示しており、複数の画像を用いて新たな画像を作成するときの演算処理の対象とはなり得ず無効と判定される。なお、このような画像合成処理についての技術は、例えば文献「T.Porter and T.Duff,“ Compositing Digital Images”, Computer Graphics Vol.18,No.3 (1984), pp.253-259.」に記載されている。
【0011】
【発明が解決しようとする課題】ここで、例えば上記画像合成処理の対象となる前景画像がランレングス符号化されているときの処理の一例について説明する。
【0012】上述した従来の手法による画像演算処理は、図7に示すように、先ずステップS101において、ランレングス符号化された全画像データの符号伸張処理が行われる。すなわち、上述の図6(a)に示す画像データから、符号伸張処理を行うことで、図6(b)に示す画像データとする処理を行う。次のステップS102においては、符号伸張処理がされた画像データに対して、有効な画素値を有する画素が存在する有効領域を調べて外接矩形を設定する処理を行う。次のステップS103においては、上述のステップS102で設定した外接矩形で示される有効領域に対して例えば画像合成処理の演算が実行される。
【0013】上述したような画像合成処理等を含む画像を用いた演算処理においては、有効な画素値を有する一部の領域、外接矩形の内部領域の画像データしか用いない。しかし、上述の図7に示した画像演算処理においては、ステップS101において全画像データの符号伸張処理を行う必要があり、当該符号伸張処理を行うときに画像全体の画像データをメモリに読み込んで符号伸張処理を行う必要がある。このような符号伸張処理により、従来のランレングス符号化された画像を用いた演算処理では、メモリを無駄に消費し、処理時間も膨大となるという問題点があった。
【0014】そこで、本発明は、上述したような実情に鑑みて提案されたものであり、ランレングス符号化されている画像を用いて演算処理を行うとき、メモリの無駄をなくし、処理時間を短縮することができる画像処理装置及び方法、並びに画像処理プログラムを供給するプログラム供給媒体を提供することを目的とする。
【0015】
【課題を解決するための手段】上述の課題を解決する本発明に係る画像処理装置は、同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標を求める行内座標累算手段と、各即値が所定の条件を満足するか否かを判定する判定手段と、上記判定手段により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算手段により求められた即値の最小座標値を行毎に記憶する行内最小座標値記憶手段と、上記判定手段により所定の条件を満足すると判定された即値の座標のうち、上記行内座標累算手段により求められた即値の最大座標を各行毎に記憶する行内最大座標値記憶手段と、上記行内最小座標値記憶手段に記憶された行毎の最小座標値及び行内最大座標値記憶手段に記憶された行毎の最大座標値を用いて、上記判定手段により有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出する画像領域算出手段とを備えることを特徴とするものである。
【0016】このような画像処理装置は、判定手段により所定の条件を満足すると判定された即値の座標値のうち、上記行内最小座標値記憶手段及び行内最大座標値記憶手段に記憶された座標値を用いて、画像演算処理を行うときに用いる画像を包含する領域を示す領域情報を、画像領域算出手段により算出する。
【0017】また、本発明に係る画像処理方法は、同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標を求め、各即値が所定の条件を満足するか否かを判定し、所定の条件を満足すると判定された即値の座標値のうち、即値の最小座標値を行毎に記憶するとともに、即値の最大座標値を行毎に記憶し、記憶した行毎の最小座標値及び行毎の最大座標値を用いて、有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出することを特徴とする。
【0018】また、本発明に係る画像処理プログラムを供給するプログラム供給媒体は、同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標値を求める行内座標累算処理と、各即値が所定の条件を満足するか否かを判定する判定処理と、上記判定処理により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算処理により求められた即値の最小座標値を行毎に記憶する行内最小座標値記憶処理と、上記判定処理により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算処理により求められた即値の最大座標値を行毎に記憶する行内最大座標値記憶処理と、上記行内最小座標値記憶処理で記憶した行毎の最小座標値及び行内最大座標値記憶処理で記憶した行毎の最大座標値を用いて、上記判定処理により有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出する画像領域算出処理とを有する画像処理プログラムを供給することを特徴とする。
【0019】この画像処理プログラムを供給するプログラム供給媒体は、例えばコンピュータに読み込まれることにより、判定処理により所定の条件を満足すると判定された即値の座標値のうち、行内最小座標記憶処理及び行内最大座標値記憶処理により記憶された座標値を用いて、画像演算処理を行うときに用いる画像を包含する領域を示す領域情報を、画像領域算出処理により算出する画像処理プログラムを当該コンピュータに供給する。
【0020】
【発明の実施の形態】以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0021】本発明は、例えば図1に示すように構成された画像処理装置1に適用される。
【0022】この画像処理装置1は、画像演算処理を行うCPU(central processing unit:中央処理装置)2と、CPU2により画像演算処理を実行させるための処理プログラムが少なくとも格納される記憶部3と、CPU2による画像演算処理の対象となる入力画像の画像データが少なくとも格納される外部記憶部4とを備える。
【0023】CPU2は、記憶部3に格納された処理プログラムに従って制御信号を生成し、記憶部3及び外部記憶部4を制御することで、外部記憶部4に格納されたランレングス符号化された画像データに画像演算処理を行って結果画像を作成する。
【0024】具体的には、CPU2は、処理プログラムを実行することで、画像演算処理の処理対象である外部記憶部4に格納された画像データについての有効領域を設定する。そして、このCPU2は、設定した有効領域の範囲内における画像データを用いて符号伸張処理及び演算処理を行うことで新たな画像を作成する。なお、このCPU2が画像演算処理を行うときの処理手順等については後述する。
【0025】記憶部3は、CPU2によりその内容が制御される。この記憶部3は、CPU2により制御されることで格納する内容が制御されるレジスタ部11と、CPU2に画像演算処理を実行させる処理プログラムを格納するプログラム記憶部12とが形成されている。
【0026】上記レジスタ部11は、CPU2により格納される内容が制御される変数領域であり、CPU2の作業用レジスタとして機能する。このレジスタ部11には、CPU2により処理対象となっている画像データのY座標(y=1,2,・・・)を示す変数yを保持するY座標レジスタ21と、CPU2により処理対象となっている画像データのX座標(x=1,2,・・・)を示す変数xを保持するX座標レジスタ22とが形成される。また、レジスタ部11には、CPU2により画像データについて演算処理を行っている行内の有効画素のうち最小のX座標値における変数xを示す行内最小X座標l_xminを保持する行内最小X座標レジスタ23と、CPU2により画像データについて演算処理を行っている行内の有効画素のうち最大のX座標値を示す行内最大X座標l_xmaxを保持する行内最大X座標レジスタ24とが形成される。更に、このレジスタ部11は、画面内でのX方向の最小及び最大座標値を表す最小X座標a_xmin及び最大X座標a_xmaxを保持する最小X座標レジスタ25及び最大X座標レジスタ26と、画面内でのY方向の最小及び最大座標値を表す最小Y座標a_ymin及び最大Y座標a_ymaxを保持する最小Y座標レジスタ27及び最大Y座標レジスタ28とが形成される。
【0027】外部記憶部4は、例えばハードディスクを備えたHDD(ハードディスク・ドライブ)装置からなり、CPU2からの制御信号に応じて、格納されているランレングス符号化された画像データを記憶部3のCPU2に出力する。また、この外部記憶部4には、CPU2からの制御信号に応じて、CPU2の画像演算処理により作成された新たな画像が入力される。
【0028】この外部記憶部4に格納される画像データは、ランレングス符号化された符号列であり、同一値の連続(run)を、繰り返し回数(run length)とその値そのもの、すなわち即値の対で表現されることで圧縮された符号列である。この画像データは、2次元情報である画像をランレングス符号化する場合には、一般的に、行(ラスタ)方向についてランレングス符号化が適用される。
【0029】このような画像データで表現される画像は、図2に示すように、画面全体30の一部に有効な画素値を有する有効画素を含む有効領域31と、当該有効領域31に外接され有効画素からなる有効画素群32とを含んでいる。
【0030】画面全体30は、横方向にW(W=0,1,2,・・・)画素、縦方向にH(H=0,1,2,・・・)画素からなり、X座標は0≦x≦W−1、Y座標は0≦y≦H−1の範囲の整数値で表現された画像である。
【0031】また、有効領域31は、(xmin,xmax,ymin,ymax)で示される4つの数値パラメータで表現される有効領域情報で示され、例えば(a_xmin,a_ymin)、(a_xmax,a_ymin)、(a_xmax,a_ymax)、(a_xmin,a_ymax)の4つの頂点からなる矩形領域からなる。有効領域31におけるX方向の最小及び最大座標値を表す最小X座標a_xmin及び最大X座標a_xmax、有効領域におけるY方向の最小及び最大座標値を表す最小Y座標a_ymin及び最大Y座標a_ymaxは、以下に説明する画像演算処理がなされるときに設定され、最小X座標レジスタ25及び最大X座標レジスタ26、最小Y座標レジスタ27及び最大Y座標レジスタ28に格納される。
【0032】このように構成された画像処理装置1により、ランレングス符号化された画像データを用いて画像演算処理を行う一例について図3に示すフローチャートを用いて説明する。
【0033】この図3に示すフローチャートによれば、先ず、ステップS1において、CPU2は、ランレングス符号化された画像データを外部記憶部4から読み込むとともに、プログラム記憶部12から処理プログラムを読み込む処理を行い、有効領域を設定する処理を行う。
【0034】具体的には、CPU2は、画像データの繰り返し数を累積して行方向における各即値の座標値を求め、各即値が所定の条件を満足するか否かを判定し、所定の条件を満足すると判定された即値の座標値のうち、即値の行内最小X座標l_xminを行毎に行内最小X座標レジスタ23に記憶するともに、即値の行内最大X座標l_xmaxを行毎に行内最大X座標レジスタ24に記憶する処理を行う。そして、CPU2は、記憶した行毎の行内最小X座標l_xmin及び行毎の行内最大X座標l_xmaxを用いて、有効領域を算出する処理を行う。
【0035】更に、ステップS1において、CPU2は、各行についての行内最小X座標l_xmin及び行内最大X座標l_xmaxを各行に亘って更新するとともに、所定の条件を満足すると判定した即値を含む行を示す行番号のうち、最小の値を有する最小Y座標a_ymin及び最大の値を有する最大Y座標a_ymaxを最小Y座標レジスタ27及び最大Y座標レジスタ28に記憶し、画面内での行内最小X座標l_xmin及び行内最大X座標l_xmax、記憶した画面内での最小Y座標a_ymin及び最大Y座標a_ymaxを用いて、矩形の有効領域を算出する処理を行っても良い。
【0036】なお、このステップS1で行う詳細な処理手順は後述する。
【0037】次のステップS2において、CPU2は、上述のステップS1において、算出した有効領域に含まれる画像データを内部のメモリに読み込む処理を行って、符号伸張処理を行う。
【0038】次のステップS3において、CPU2は、上述のステップS2において符号伸張処理をした画像データを用いて、所定の画像演算処理を行う。
【0039】つぎに、上述のステップS1において、CPU2により処理プログラムに従って、図2に示すようなランレングス符号化された画像データの有効領域を設定する処理を図4及び図5のフローチャートを参照して説明する。
【0040】このフローチャートによれば、先ず、ステップS11において、CPU2は、Y座標レジスタ21に格納するY座標の変数yの値を“0”に初期化する処理を行う。
【0041】次のステップS12において、CPU2は、Y座標レジスタ21に格納された変数yの値が、画像の高さHよりも小さいか否かを判定する。そして、CPU2は、変数yの値が画像の高さHよりも小さいと判定したときにはステップS13に進み、変数yの値が画像の高さHよりも小さくないと判定したときにはステップS19に進む。
【0042】ステップS13において、CPU2は、X座標レジスタ22に格納するX座標の変数xの値を“0”に初期化する処理を行う。
【0043】次のステップS14において、CPU2は、上述のステップS13又は後述のステップS17で指定された変数xにおける繰り返し数と即値の対からなる画像データを外部記憶部4から読み込む処理を行う。
【0044】次のステップS15において、CPU2は、上述のステップS14において読み込んだ画像データが行内の終わりの印を示すか否かを判定する。そして、CPU2は、行内の終わりの印を示すと判定したときにはステップS18に進み、行内の終わりの印を示すではないと判定したときにはステップS16に進む。
【0045】次のステップS16において、CPU2は、ステップS14で読み込んだ画像データが、有効な画素値を有する有効画素の画像データか否かを判定する。具体的には、CPU2は、例えばアルファ値が「0」であるか否か等を判定することで画像データが有効画素か否かを判定する。そして、CPU2は、画像データが有効画素であると判定したときには、演算処理を行っている行内において最初の有効画素を検出したと判定してステップS21に進み、画像データが有効画素でないと判定したときにはステップS17に進む。
【0046】ステップS17において、CPU2は、X座標レジスタ22に格納した変数xの値に、上述のステップS14で読み込んだ画像データについての繰り返し数(run length)を加算する処理を行う。これにより、CPU2は、上述のステップS14で次に読み込む画像データのX座標を設定して、ステップS14に戻る。
【0047】一方、ステップS21においては、有効画素の画像データを検出したと判定したことに応じて、処理の対象となっていた画像データの変数xを、行内最小X座標レジスタ23に格納して行内最小X座標l_xminとする処理を行ってステップS22に進む。
【0048】すなわち、CPU2は、ステップS14〜ステップS17までの処理を行うことで、X座標レジスタ22に格納する変数xを順次更新してステップS16で画像データが有効画素か否かの判定を行い、Y座標レジスタ21に格納する変数yにおける行内で最初に検出される有効画素の画像データを、行内において最小の行内最小X座標l_xminにおける画像データとして検出する。
【0049】上述のステップS15において読み込んだ画像データが変数yが示す行内の終わりの印を示すと判定したときのステップS18において、CPU2は、Y座標レジスタ21に格納した変数yの値をインクリメントする処理を行って、上述のステップS12に戻る。
【0050】また、上述のステップS12において変数yの値が画像の高さHよりも小さくないと判定したときのステップS19において、CPU2は、画面全体で有効画素の画像データが存在しないと判断して、例えば有効画素が存在しない旨を出力して処理を終了する。
【0051】次に、ステップS22において、CPU2は、行内最大X座標l_xmaxを格納する行内最大X座標レジスタ24を初期化する処理を行う。このとき、CPU2は、X座標レジスタ22に格納している変数xの値に、繰り返し数を加算し、“1”を減算した値を行内最大X座標レジスタ24に格納する処理を行う。このように変数xの値に、繰り返し数を加算し、“1”を減じた値の変数xの値は、同じ値の即値における最大の座標値となる。
【0052】次のステップS23において、CPU2は、X座標レジスタ22に格納されている変数xの値に、繰り返し数を加算する処理を行う。これにより、CPU2は、行内最小X座標l_xmaxを求めるために用いる変数xの値を求める。
【0053】次のステップS24において、CPU2は、上述のステップS23で指定された変数xにおける繰り返し数と即値の対からなる画像データを外部記憶部4から読み込む処理を行う。
【0054】次のステップS25において、CPU2は、上述のステップS15と同様に、ステップS24において読み込んだ画像データが行内の終わりの印を示すか否かを判定する。そして、CPU2は、行内の終わりの印を示すと判定したときにはステップS28に進み、行内の終わりの印を示すではないと判定したときにはステップS26に進む。
【0055】ステップS26において、CPU2は、上述のステップS16と同様に、ステップS24で読み込んだ画像データが、有効な画素値を有する有効画素の画像データか否かを判定する。そして、CPU2は、画像データが有効画素であると判定したときには、演算処理を行っている行内において有効な画像データの画素を検出したと判定してステップS27に進み、画像データが有効画素でないと判定したときにはステップS23に戻る。
【0056】ステップS27において、CPU2は、行内最大X座標レジスタ24に格納した行内最大X座標l_xmaxの値を更新する処理を行ってステップS23に戻る。このとき、CPU2は、X座標レジスタ22に格納している変数xの値に、繰り返し数を加算し、“1”を減算した値を行内最大X座標l_xmaxとして格納する処理を行う。
【0057】すなわち、CPU2は、上述のステップS23〜ステップS27までの処理を行うことにより、ステップS27で行内最大X座標レジスタ24に格納する行内最大X座標l_xmaxをステップS26で有効画素が検出されることに応じて更新し、ステップS25により変数yの値における行内の終わりと判定するまで画像データの有効、無効を判定することで、行内最大X座標l_xmaxを設定する。
【0058】ステップS25で読み込んだ画像データが行内の終わりの印を示すと判断したときのステップS28において、CPU2は、画面内において、有効画素の画像データを検出した最小の座標値を有する最小Y座標a_yminを記憶する処理を行う。このとき、CPU2は、ステップS25からステップS28に移行するときにおけるY座標レジスタ21に記憶している変数yの値を、最小Y座標レジスタ27に記憶することで、最小Y座標a_yminを設定する。
【0059】次のステップS29において、CPU2は、最小X座標レジスタ25に記憶する最小X座標a_xminの値を行内最小X座標レジスタ23に記憶する行内最小X座標l_xminとするとともに、最大X座標レジスタ26に記憶する最大X座標a_xmaxの値を行内最大X座標レジスタ24に記憶する行内最大X座標l_xmaxとする。
【0060】次のステップS30において、CPU2は、最大Y座標レジスタ28に記憶している最大Y座標a_ymaxの値を、ステップS29からステップS30に移行したときにY座標レジスタ21に記憶している変数yの値とする。
【0061】次のステップS31において、CPU2は、Y座標レジスタ21に記憶している変数yの値をインクリメントする処理を行う。
【0062】次のステップS32〜ステップS37において、CPU2は、上述のステップS12〜ステップS17と同様の処理を行う。これにより、CPU2は、ステップS31でY座標レジスタ21に記憶した変数yの値における行の最小の座標値の有効画素をステップS36で検出したときにはステップS40以降の行内における最大の座標値を検出する処理に進む。一方、CPU2は、変数yにおける行の最小の座標値の有効画素を検出しないときにはステップS31に戻りステップS31で次の行を示す変数yにおける行について有効画素を検出する処理に移行する。
【0063】ステップS40において、CPU2は、ステップS36からステップS40に移行したときにX座標レジスタ22に記憶している変数xを、行内最小X座標レジスタ23に記憶する行内最小X座標l_xminとする処理を行ってステップS41に進む。
【0064】ステップS41において、CPU2は、上述のステップS22と同様に、行内最大X座標l_xmaxを格納する行内最大X座標レジスタ24を初期化する処理を行う。このとき、CPU2は、X座標レジスタ22に格納している変数xの値に、繰り返し数を加算し、“1”を減算した値を行内最大X座標レジスタ24に格納する処理を行う。このように変数xの値に、繰り返し数を加算し、“1”を減じた変数xの値は、同じ値の即値における最大の座標値となる。
【0065】次のステップS42〜ステップS46において、CPU2は、上述のステップS23〜ステップS27と同様の処理を行うことで、ステップS46で行内最大X座標レジスタ24に格納する行内最大X座標l_xmaxをステップS45で有効画素が検出されることに応じて更新し、ステップS44により変数yの値における行内の終わりと判定するまで画像データの有効、無効を判定することで、行内最大X座標l_xmaxを設定する。
【0066】次のステップS47において、CPU2は、最小X座標レジスタ25に記憶している最小X座標a_xminの値及び最大X座標レジスタ26に記憶する最大X座標a_xmaxの値を更新する処理を行う。具体的には、CPU2は、行内最小X座標レジスタ23に記憶している行内最小X座標l_xminの値が、最小X座標レジスタ25に記憶している最小X座標a_xminの値よりも小さいときには、最小X座標レジスタ25に記憶している最小X座標a_xminの値を、行内最小X座標レジスタ23に記憶している行内最小X座標l_xminの値とするように更新する。また、このCPU2は、行内最大X座標レジスタ24に記憶している行内最大X座標l_xmaxの値が、最大X座標レジスタ26に記憶している最大X座標a_xmaxの値よりも大きいときには、最大X座標レジスタ26に記憶している最大X座標a_xmaxの値を、行内最大X座標レジスタ24に記憶している行内最大X座標l_xmaxの値とするように更新する。
【0067】次のステップS48において、CPU2は、画面内において、有効画素の画像データを検出した最大の座標値を有する最大Y座標a_ymaxを記憶する処理を行ってステップS31に戻る。このとき、CPU2は、ステップS44からステップS47に移行するときにおけるY座標レジスタ21に記憶している変数yの値を、最大Y座標レジスタ28に記憶することで、最大Y座標a_ymaxを設定してステップS31に戻る。
【0068】すなわち、このCPU2は、ステップS31で設定した変数yにおける行の最小の座標値の有効画素をステップS32〜ステップS37の処理を行うことで検出し、最大の座標値の有効画素をステップS40〜ステップS46の処理により検出することで、ステップS47において各行毎に画面内の最小X座標a_xmin及び最大X座標a_xmaxを更新し、ステップS48で最大Y座標a_ymaxを更新する処理を繰り返して行う。
【0069】これにより、CPU2は、上述したような処理を行うことで、ステップS28で最小Y座標a_ymin、ステップS47で最小X座標a_xmin及び最大X座標a_xmax、ステップS48で最大Y座標a_ymaxを設定する。
【0070】そして、CPU2は、ステップS32において画像の高さHよりも変数yの値が小さくないと判定したときのステップS38においては、上述した処理を行うことで得た最小X座標a_xmin、最大X座標a_xmax、最小Y座標a_ymin及び最大Y座標a_ymaxの値を出力する。これらの値は、上述の図2に示した有効領域31の外接矩形の4辺を表しており、最小X座標a_xminが外接矩形左辺のX座標、最大X座標a_xmaxが外接矩形右辺のX座標、最小Y座標a_yminが外接矩形下辺のY座標、最大Y座標a_ymaxが外接矩形上辺のY座標に対応する。これによりCPU2は、4つの数値パラメータで定義される矩形の有効領域を示す有効領域情報を生成する。
【0071】このような処理を行うCPU2を備えた画像処理装置1は、ランレングス符号化された画像データについて画像演算処理を行うとき、符号伸張処理を行うことなく、有効画素を示す座標値を検出して最小X座標a_xmin、最大X座標a_xmax、最小Y座標a_ymin及び最大Y座標a_ymaxの値を得ることができ、図2内の有効画素群32に外接する矩形の有効領域31を設定する有効領域情報を生成することができる。
【0072】したがって、このような処理を行うCPU2を備えた画像処理装置1によれば、有効画素が存在する有効領域を設定するために符号伸張処理を画面全体について行うことで画面全体の画像データを一旦メモリに読み込む必要がなく、メモリを無駄に消費し、処理時間が膨大となるようなことがない。したがって、この画像処理装置1によれば、ランレングス符号化されている画像を用いて画像演算処理を行うとき、メモリの無駄をなくし、処理時間を大幅に短縮することができる。
【0073】特に、この画像処理装置1によれば、有効な画素値を有する一部の領域、外接矩形の内部領域の画像データしか用いられない画像については従来の画像演算処理と比較して大幅に処理時間の低減を実現することができる。
【0074】なお、上述した本発明を適用した画像処理装置1の説明においては、最小X座標a_xmin、最大X座標a_xmax、最小Y座標a_ymin及び最大Y座標a_ymaxの値の4つの数値パラメータで定義される矩形の有効領域を設定する有効領域情報を生成する一例について説明したが、各行についての行内最小X座標l_xmin及び行内最大X座標l_xmaxを用いて任意の形状の有効領域を設定する有効領域情報を生成しても良い。
【0075】また、画像処理装置1は、上述した実施例に限定されるものではなく、ソフトウェア的に有効領域を設定する処理を行って良く、更にはハードウェア的に有効領域を設定する処理を行って良い。
【0076】さらに、上述の画像処理装置1は、画像データが有効か否かの判定は、画素データの成分のいくつかが所定の条件を満足するものであるか否かを判定するものであっても良い。例えばアルファ値が「0」であるか否かという判定でも良く、更には色成分値の値のいずれかが「0」であるか否かという判定でも良く、任意に決定した一定の値以上であるか否かを判定するものであっても良い。
【0077】更に、上述した本発明を適用した画像処理装置1の説明では、プログラム記憶部12に格納された処理プログラムにより図4及び図5に示した処理をCPU2により実行する一例について説明したが、外部記憶部4内に備えられている記録媒体に処理プログラムを格納しても良い。このような場合、画像処理装置1は、画像演算処理を行うときには外部記憶部4の記録媒体から処理プログラムを一旦プログラム記憶部12に格納して実行することになる。
【0078】更に、画像処理装置1は、CPU2により処理プログラムに従って画像演算処理を実行する場合のみならず、例えばインターネット等の通信ネットワークと接続されたインターフェイス回路を介して外部記憶部4の記録媒体に格納した処理プログラムを外部に出力し、他の装置により画像演算処理を実行させても良い。これにより、画像データが他の装置に格納されている場合においても、上述の画像演算処理を行わせることができる。
【0079】
【発明の効果】以上詳細に説明したように、本発明に係る画像処理装置は、判定手段により所定の条件を満足すると判定された即値の座標のうち、上記行内最小座標値記憶手段及び行内最大座標値記憶手段に記憶された座標を用いて、画像演算処理を行うときに用いる画像を包含する領域を画像領域算出手段により算出するので、ランレングス符号化された画像を用いて演算処理を行うとき、符号伸張処理を行うことなく画像を包含する領域を算出することができ、メモリの無駄をなくし、処理時間を短縮することができる。
【0080】また、本発明に係る画像処理方法は、所定の条件を満足すると判定された即値の座標のうち、即値の最大座標及び最小座標を各行毎に記憶し、記憶した最大座標及び最小座標を用いて、画像演算処理を行うときに用いる画像を包含する領域を算出するので、ランレングス符号化された画像を用いて演算処理を行うとき、符号伸張処理を行うことなく画像を包含する領域を算出することができ、メモリの無駄をなくし、処理時間を短縮することができる。
【0081】更に、本発明に係る画像処理プログラムを供給するプログラム供給媒体は、例えばコンピュータに読み込まれることにより、判定処理により所定の条件を満足すると判定された即値の座標のうち、行内最小座標記憶処理及び行内最大座標値記憶処理により記憶された座標を用いて、画像演算処理を行うときに用いる画像を包含する領域を、画像領域算出処理により算出する画像処理プログラムを当該コンピュータに供給するので、ランレングス符号化された画像を用いて演算処理を行うとき、符号伸張処理を行うことなく画像を包含する領域を算出させることができ、メモリの無駄をなくし、処理時間を短縮させることができる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置の構成を示すブロック図である。
【図2】外部記憶部に格納された画像データで表される画像について説明するための図である。
【図3】本発明を適用した画像処理装置によりランレングス符号化された画像データを用いて画像演算処理を行う処理手順を示すフローチャートである。
【図4】ランレングス符号化された画像データの有効領域を設定する処理の処理手順を示すフローチャートである。
【図5】ランレングス符号化された画像データの有効領域を設定する処理の処理手順を示すフローチャートである。
【図6】ランレングス符号化により符号化された画像データについて説明するための図であり、(a)は元の画像データ、すなわちランレングス符号化前の画像データについて説明するための図であり、(b)はランレングス符号化により圧縮された画像データについて説明するための図である。
【図7】従来において、ランレングス符号化されている画像データについて行う画像演算処理の処理手順を説明するためのフローチャートである。
【符号の説明】
1 画像処理装置、2 CPU、3 記憶部、11 レジスタ部、12 プログラム記憶部、21 Y座標レジスタ、22 X座標レジスタ、23 行内最小X座標レジスタ、24 行内最大X座標レジスタ、25 最小X座標レジスタ、26 最大X座標レジスタ、27 最小Y座標レジスタ、28 最大Y座標レジスタ、31 有効領域、32 有効画素群

【特許請求の範囲】
【請求項1】 同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標を求める行内座標累算手段と、各即値が所定の条件を満足するか否かを判定する判定手段と、上記判定手段により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算手段により求められた即値の最小座標値を行毎に記憶する行内最小座標値記憶手段と、上記判定手段により所定の条件を満足すると判定された即値の座標のうち、上記行内座標累算手段により求められた即値の最大座標を各行毎に記憶する行内最大座標値記憶手段と、上記行内最小座標値記憶手段に記憶された行毎の最小座標値及び行内最大座標値記憶手段に記憶された行毎の最大座標値を用いて、上記判定手段により有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出する画像領域算出手段とを備えることを特徴とする画像処理装置。
【請求項2】 上記行内最小座標記憶手段に格納されている最小座標値を行毎に更新して記憶する最小座標記憶手段と、上記行内最大座標記憶手段に格納されている最大座標値を行毎に更新して記憶する最大座標記憶手段と、上記判定手段により所定の条件を満足すると判定された即値を含む行の行番号のうち、最小の行番号を記憶する最小行番号記憶手段と、上記判定手段により所定の条件を満足すると判定された即値を含む行の行番号のうち、最大の行番号を記憶する最大行番号記憶手段とを備え、上記画像領域算出手段は、最小座標記憶手段に記憶された画面内での最小座標値、最大座標記憶手段に記憶された画面内での最大座標値、最小行番号記憶手段に記憶された画面内での最小行番号、最大行番号記憶手段に記憶された画面内での最大行番号を用いて、矩形の領域を示す領域情報を算出することを特徴とする請求項1記載の画像処理装置。
【請求項3】 同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標を求め、各即値が所定の条件を満足するか否かを判定し、所定の条件を満足すると判定された即値の座標値のうち、即値の最小座標値を行毎に記憶するとともに、即値の最大座標値を行毎に記憶し、記憶した行毎の最小座標値及び行毎の最大座標値を用いて、有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出することを特徴とする画像処理方法。
【請求項4】 各行についての上記最小座標値及び最大座標値を各行に亘って更新するとともに、所定の条件を満足すると判定した即値を含む行を示す行番号のうち、最小の値を有する最小行番号及び最大の値を有する最大行番号を記憶し、画面内での上記最小座標及び最大座標、記憶した画面内での上記最小行番号及び最大行番号を用いて、矩形の領域を示す領域情報を算出することを特徴とする請求項3記載の画像処理方法。
【請求項5】 同一画素値の画素の繰り返し回数を示す繰り返し数と画素の画素値を表す即値との対の連続で表現される符号化方式によって符号化された画像についての前記繰り返し数を累積して行方向における各即値の座標値を求める行内座標累算処理と、各即値が所定の条件を満足するか否かを判定する判定処理と、上記判定処理により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算処理により求められた即値の最小座標値を行毎に記憶する行内最小座標値記憶処理と、上記判定処理により所定の条件を満足すると判定された即値の座標値のうち、上記行内座標累算処理により求められた即値の最大座標値を行毎に記憶する行内最大座標値記憶処理と、上記行内最小座標値記憶処理で記憶した行毎の最小座標値及び行内最大座標値記憶処理で記憶した行毎の最大座標値を用いて、上記判定処理により有効と判定された即値の画素からなる画像領域を包含する領域を示す領域情報を算出する画像領域算出処理とを有する画像処理プログラムを供給することを特徴とする画像処理プログラムを供給するプログラム供給媒体。
【請求項6】 上記行内最小座標記憶処理で記憶した最小座標値を行毎に更新して記憶する最小座標記憶処理と、上記行内最大座標記憶処理で記憶した最大座標値を行毎に更新して記憶する最大座標記憶処理と、上記判定処理により所定の条件を満足すると判定された即値を含む行の行番号のうち、最小の行番号を記憶する最小行番号記憶処理と、上記判定処理により所定の条件を満足すると判定された即値を含む行の行番号のうち、最大の行番号を記憶する最大行番号記憶処理とを有し、上記画像領域算出処理は、最小座標記憶処理で記憶した画面内での最小座標値、最大座標記憶処理で記憶した画面内での最大座標値、行番号最小行番号記憶処理で記憶した画面内での最小行番号、最大行番号記憶処理で記憶した画面内での最大行番号を用いて、矩形の領域を示す領域情報を算出する画像処理プログラムを供給することを特徴とする請求項5記載の画像処理プログラムを供給するプログラム供給媒体。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【公開番号】特開2000−242792(P2000−242792A)
【公開日】平成12年9月8日(2000.9.8)
【国際特許分類】
【出願番号】特願平11−45323
【出願日】平成11年2月23日(1999.2.23)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】