JP2016045565A - 画像処理装置及びプログラム - Google Patents

画像処理装置及びプログラム Download PDF

Info

Publication number
JP2016045565A
JP2016045565A JP2014167568A JP2014167568A JP2016045565A JP 2016045565 A JP2016045565 A JP 2016045565A JP 2014167568 A JP2014167568 A JP 2014167568A JP 2014167568 A JP2014167568 A JP 2014167568A JP 2016045565 A JP2016045565 A JP 2016045565A
Authority
JP
Japan
Prior art keywords
pixel
pixels
data
target
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.)
Granted
Application number
JP2014167568A
Other languages
English (en)
Other versions
JP6464609B2 (ja
Inventor
玉谷 光之
Mitsuyuki Tamaya
光之 玉谷
和雄 山田
Kazuo Yamada
和雄 山田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2014167568A priority Critical patent/JP6464609B2/ja
Publication of JP2016045565A publication Critical patent/JP2016045565A/ja
Application granted granted Critical
Publication of JP6464609B2 publication Critical patent/JP6464609B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】2値画像の画像処理の並列処理性能を向上させた場合に、並列に処理する着目画素の数に応じた数の処理回路を設ける構成と比べて、回路規模の増大を低減すること
【解決手段】本発明の画像処理装置は、データ入力部20と、画素列抽出部30と、画素値決定部40と、データ出力部50とを有している。更に、画素列抽出部30は、ラインバッファ11、12、13と、結合部21、22、23と、セレクタ31、32、33とを備え、画素値決定部40は、変換部41、42、43と、論理演算部44とを備えている。
【選択図】図4

Description

本発明は、画像処理装置及びプログラムに関する。
下記特許文献1には、2値画像の画像処理に関して、着目画素とその周囲の画素の処理前の各画素値を入力とし計算によって各着目画素の処理後の画素値が決定される処理の高速化の手段として、画素値の計算処理を並列に行う方法が開示されている。
特開平 3− 98175号公報
2値画像の膨張処理や収縮処理において、1個の処理回路で1個の着目画素の処理後の画素値を決定するする画像処理装置では、画像処理全体の高速化を目的として複数の着目画素について並列に処理を行うためには、並列に処理する着目画素の数に応じた数の処理回路を設けなければならず、並列処理性能の向上に伴う画像処理装置全体としての回路規模の増大が問題であった。
本発明は、2値画像の並列処理性能を向上させた場合に、並列に処理する着目画素の数に応じた数の処理回路を設ける構成と比べて、回路規模の増大を低減することを目的とする。
[画像処理装置]
請求項1に係る本発明は、2値画像データの同一ライン上の連続するN個(Nは2以上の整数)の画素をそれぞれ着目画素とし、前記2値画像データから、前記N個の着目画素及び当該N個の着目画素とライン上で隣接する2つの画素からなるN+2個の画素の第1の画素列と、前記第1の画素列とライン方向とは直交する2つの方向でそれぞれ隣接するN+2個の画素からなる第2及び第3の画素列と、の各画素値を、前回抽出した第1、第2及び第3の画素列とそれぞれ2画素ずつ重複するようにしてライン方向に順次抽出する抽出手段と、
前記抽出手段により抽出された前記第1、第2及び第3の画素列の各画素の値が入力され、前記N個の各着目画素の処理後の画素値を、前記着目画素及び当該着目画素の周囲の画素の処理前の画素値に基づいてそれぞれ決定する決定手段と、を備えた画像処理装置である。
請求項2に係る本発明は、前記決定手段が、N+2個の画素からなる前記第1、第2及び第3の画素列の各画素値からなるそれぞれN+2ビットの各画素列データを、予め設定された論理に基づいてそれぞれNビット長の3つの中間データに変換する変換手段と、
前記変換手段により変換された3つの中間データ間の論理演算を行うことにより前記N個の注目画素の変換後の値を決定する論理演算手段と、を備えた画像処理装置である。
[プログラム]
請求項3に係る本発明は、2値画像データの同一ライン上の連続するN個(Nは2以上の整数)の画素をそれぞれ着目画素とし、前記2値画像データから、前記N個の着目画素及び当該N個の着目画素とライン上で隣接する2つの画素からなるN+2個の画素の第1の画素列の各画素値と、前記第1の画素列とライン方向とは直交する2つの方向でそれぞれ隣接するN+2個の画素からなる第2及び第3の画素列の各画素値とを、前回抽出した第1、第2及び第3の画素列とそれぞれ2画素ずつ重複するようにしてライン方向に順次抽出するステップと、
前記抽出された前記第1、第2及び第3の画素列の各画素値が入力され、前記N個の各着目画素の処理後の画素値を、前記着目画素及び当該着目画素の周囲の画素の処理前の画素値に基づいてそれぞれ決定するステップと、
をコンピュータに実行させるためのプログラムである。
請求項1に係る本発明よれば、2値画像の画像処理の高速化のために並列に処理できる着目画素の数を増やす際に、並列に処理する着目画素の数に応じた数の画像処理回路を設ける場合と比べて、回路規模の増大を抑えることができる。
請求項2に係る本発明よれば、2値画像の画像処理の高速化のために並列に処理できる着目画素の数を増やす際に、並列に処理する着目画素の数に応じた数の画像処理回路を設ける場合と比べて、回路規模の増大を抑えることができる。
請求項3に係る本発明よれば、2値画像の画像処理の高速化のために並列に処理できる着目画素の数を増やす際に、並列に処理する着目画素の数に応じた数の画像処理回路を設ける場合と比べて、回路規模の増大を抑えることができる。
オープニング処理の具体例を示す概念図である。 膨張処理を説明する概念図である。 収縮処理を説明する概念図である。 実施例に係る画像処理装置100のブロック図である。 入力画素領域を示す模式図である。 16画素分の画素値から10画素分の画素値を抽出する処理を示す概念図である。 10ビット長の画素列データから8ビット長の中間データへの変換処理を示す概念図である。 比較例に係る画像処理装置200のブロック図である。 比較例に係る画像処理装置300のブロック図である。
[背景技術]
2値化された画像のノイズ低減の方法として、オープニング処理やクロージング処理が知られている。
オープニング処理及びクロージング処理はともに、膨張処理と収縮処理を同じ回数分交互に繰り返す処理であり、先に膨張処理を行ってから次に収縮処理を行うのがオープニング処理(図1)であり、先に収縮処理を行ってから次に膨張処理を行うのがクロージング処理である。
膨張処理及び収縮処理はともに、着目画素及びその周囲に8隣接している各画素の計9個の画素値に基づいて着目画素の処理後の画素値を決定する処理であり、9個の画素値の論理演算により着目画素の処理後の画素値が算出される。
膨張処理は、着目画素の処理後の画素値を、9個の画素値が全て0の場合に0とし、それ以外の場合は1とするもので、9個の画素値の論理和の結果として着目画素の処理後の画素値が決定される(図2参照)。
収縮処理は、着目画素の処理後の画素値を、9個の画素値が全て1の場合に1とし、それ以外の場合は0とするもので、9個の画素値の論理積の結果として着目画素の処理後の画素値が決定される(図3参照)。
以下、本発明を実施するための形態を詳細に説明する。但し、以下に示す実施形態は、本発明の技術思想を具体化するための画像処理装置の一例を示すものであって、本発明をこの実施形態に限定することを意図するものではなく、本発明は特許請求の範囲に示した技術思想を逸脱することなく種々の変更を行ったものにも均しく適用し得るものである。
[実施形態]
本実施形態では、2値画像データの膨張処理及び縮小処理を行う際に、一度の処理で同一ライン上に連続して存在する8個の着目画素について処理後の画素値を算出するようになされた画像処理装置100について説明する。
画像処理装置100は、図4に示すように、データ入力部20と、画素列抽出部30と、画素値決定部40と、データ出力部50とを有している。更に、画素列抽出部30は、ラインバッファ11、12、13と、結合部21、22、23と、セレクタ31、32、33とを備え、画素値決定部40は、変換部41、42、43と、論理演算部44とを備えている。
データ入力部20は入力された2値画像データを記憶しており、画素列抽出部30が、データ入力部20に記憶されている2値画像データから、処理対象の8個の着目画素及びその周囲の22個の画素からなる30個の画素(以下、「入力画素領域」ともいう)の画素値を3個の10ビット長データとして抽出する。
画素値決定部40は、入力画素領域の30個の画素値に基づいて8個の着目画素の処理後の画素値を特定の論理によって決定し、データ出力部50は、画素値決定部40によって決定された画素値から出力画像のデータを生成する。
入力画素領域は、図5に示すように、現在処理中の着目画素が存在するライン(「Mライン」ともいう)上の画素、すなわち処理対象の8個の着目画素とそのライン方向において両隣に位置する画素からなる同一ライン上の10個の画素である第一の画素列と、それぞれ10個の画素であって、第一の画素列とライン方向と直交する方向で隣接する2つの画素列である第二の画素列及び第三の画素列と、に分けることができ、本実施形態においては第一の画素列よりも上(y座標が小さい)方のライン(「Uライン」ともいう)上の画素からなる画素列を第二の画素列、下(y座標が大きい)方のライン(「Bライン」ともいう)上の画素からなる画素列を第三の画素列として説明する。図5等においては、Uライン上の画素を「U+数字」で示し、Mライン上の画素を「M+数字」で示し、Bライン上の画素を「B+数字」で示している。
以下、画像処理装置100において、データ入力部20に記憶される画像データから、出力画像データが生成されまるまでの処理の流れを説明する。
画像処理装置100では、画像がラスタースキャンされる際に各画素が走査される順に準じて、処理対象の画素の処理が行われる。
すなわち、処理対象の画素が異なるライン上に存在する場合は、最もy座標の小さいライン上の画素から(画面表示上、最上のラインの画素から)処理を行い、同一ライン上の画素の処理が全て終わったら、その隣のy座標が一つ大きいライン上の画素の処理を順次行っていく、そして、同一ライン上の画素についてはx座標の小さい画素から(画面表示上、最左の画素から)順に処理する、というものである。
[画素列抽出]
画素列抽出部30においては、以下のようにして、データ入力部20に保持されている入力画像データから、入力画素領域の30個の画素値に基づいた3個の10ビット長データが生成される。
ラインバッファ11、12、13はそれぞれ、入力画像データから同一ライン上の連続した8個の画素の画素値を取り込み、8ビット長データとして結合部21、22、23へ受け渡すラインバッファであり、ラインバッファ11にはUラインの画素の画素値が取り込まれ、ラインバッファ12にはMラインの画素の画素値が取り込まれ、ラインバッファ13にはBラインの画素の画素値が取り込まれる。
結合部21、22、23には、前回処理の際にラインバッファ11、12、13から受け取っていた8ビット長データがそれぞれ保持されており、結合部21、22、23は、前回処理時の8ビット長データと、今回処理の際にラインバッファ11、12、13から受け取る8ビット長データとを結合させることで16ビット長データを生成する。
セレクタ31、32、33では、結合部21、22、23から受け取った16ビット長データから10ビット分を切り出すことで、それぞれ、第二の画素列、第一の画素列、第三の画素列の画素値と対応する(「画素値と対応する」とは、各画素の画素値を左から順番に並べてできる、ということを意味する)10ビット長データである、第二の画素列データ、第一の画素列データ、第三の画素列データが生成される。
なお、前回処理時の8ビット長データと今回処理時の8ビット長データが結合されてできる16ビット長データからの10ビット長データの切り出し方は、図6に示すような、
(1) 前回処理時の8ビット全部 + 今回処理時の8ビットの最先2ビット
の10ビット分とする方法の他、例えば、
(2) 前回処理時の8ビットの最後2ビット + 今回処理時の8ビット全部
(3) 前回処理時の後半5ビット + 今回処理時の前半5ビット
といった複数の方法が考えられるが、いずれの方法によっても順次処理を行うことに伴い、各画素列は、最先2画素が前回処理における画素列の最後2画素と、最後2画素が次回処理における画素列の最先2画素と、それぞれ重複(オーバーラップ:図5、図7参照)することになる。
以降は、画素列抽出部30における処理について、上記(1)の方法で順次切り出す場合について、現在処理中の着目画素をM1〜M8とした場合で具体的に説明する。
ラインバッファ11にはU8〜U15の画素の画素値が取り込まれてU8〜U15の画素の画素値からなる8ビット長データが結合部21へ受け渡される。
結合部21では、図6に示すように、前回処理の際にラインバッファ11から受け取って保持していたU0〜U7の画素の画素値からなる8ビット長データと、今回の処理でラインバッファ11から受け取る8ビット長データとが結合されて、U0〜U15の画素の画素値からなる16ビット長データが生成されると共に、U8〜U15の画素の画素値からる8ビット長データが次回処理まで保持されることになる。
そして、セレクタ31では、16ビット長データから先頭の10ビット分を切り出すことで、U0〜U9の画素の画素値からなる10ビット長データが、第二の画素列データとして生成される。
ここで、U0及びU1は前回処理における第二の画素列の最後2画素分と重複している。そして上記処理は、処理対象とする着目画素をライン方向に8画素分ずらした状態で繰り返されていくことになるため、最先の2画素と最後の2画素の重複も繰り返されていく。例えば、次回処理においては着目画素はM9〜M16となり第一の画素列はM8〜M17の10画素となるから、現在処理中の第二の画素列の最後2画素は、図7(A)、図7(B)に示すように、次回処理における第二の画素列の最先2画素と、U8及びU9として重複することになる。
第一の画素列及び第三の画素列についても、第二の画素列と同様にして、ラインバッファ12、結合部22、セレクタ32、及び、ラインバッファ13、結合部23、セレクタ33、を介して、それぞれM0〜M9の画素の画素値からなる第一の画素列データ、B0〜B9の画素の画素値からなる第三の画素列データが生成されると共に、各画素列の2画素分の重複が繰り返される。
画素列抽出部30では、以上のようにして、30個の画素からなる入力画素領域の画素値を、第一の画素列データ、第二の画素列データ、第三の画素列データとして、順次抽出していく。
上述のようにして画素列抽出部30で生成された3個の画素列データ(10ビット長)は、画素値決定部40へ入力される。
[画素値決定]
画素値決定部40は、10ビット長データを特定の論理で8ビット長データに変換するための変換テーブル(LUT:Look Up Table)を備えており、変換部41、42、43がそれぞれ、変換テーブルを参照することで、10ビット長データである第二の画素列データ、第一の画素列データ、第三の画素列データから、8ビット長データである、第二の中間データ、第一の中間データ、第三の中間データを生成する。
なお、変換テーブルは以下の論理に基づいて作成されている。
(膨張処理の場合)
出力される8ビット長データのi番目(iは1≦i≦8を満たす整数、以下同じ)のビットの値OIiは、入力される10ビット長データのi番目〜i+2番目の3ビット長分のデータ値Iiによって、
i=000の場合、OIi=0
i≠000の場合、OIi=1
と定まる。
これは、入力される10ビット長データのi番目の値をKi、i+1番目の値をKi+1、i+2番目の値をKi+2(但し、Ki、Ki+1、Ki+2はそれぞれ1か0の値)とした場合、すなわちIiがKii+1i+2と表記できる場合に、変換処理によって生成される8ビット長の中間データのi番目のビットの値であるOIiをそれぞれ、Ki、Ki+1、Ki+2の論理和として出力することに相当する。
(収縮処理の場合)
出力される8ビット長データのi番目のビットの値OIiは、入力される10ビット長データのi番目〜i+2番目の3ビット長分のデータ値Iiによって、
i=111の場合、OIi=1
i≠111の場合、OIi=0
と定まる。
これは、入力される10ビット長データのi番目の値をKi、i+1番目の値をKi+1、i+2番目の値をKi+2とした場合、すなわちIiがKii+1i+2と表記できる場合に、変換処理によって生成されるNビット長の中間データのi番目のビットの値であるOIiを、それぞれKi、Ki+1、Ki+2の論理積として出力することに相当する。
すなわち、図7では、今回の処理(A)において、入力される10ビット長データである画素列データの1番目〜10番目のビットの値を、U0〜U9で示し、中間データの1番目〜8番目のビットの値を、A1〜A8で示しており、次回の処理(B)において、画素列データの1番目〜10番目ビットの値を、U8〜U17で示し、中間データの1番目〜8番目のビットの値を、A9〜A16で示したが、変換部41、42、43における10ビット長データから8ビット長データへの変換は、膨張処理であっても収縮処理であっても、中間データの各ビットの値が画素列データの3ビット分の値をそれぞれ論理演算することで得られる点において共通している。例えば、中間データの1ビット目の値A1は、入力される画素列データの1番目、2番目、3番目のビットの値である、U0、U1、U2の値の論理和(膨張処理の場合)又は論理積(縮小処理の場合)として出力される。
ここで、中間データ生成部に入力されるデータが、0001110101というような10ビット長データである場合を例に詳しく説明する。
膨張処理の場合の変換テーブルは、各OIiをそれぞれKi、Ki+1、Ki+2の論理和として出力することに相当し、
i=000の場合、OIi=0
i≠000の場合、OIi=1
によって定義される。
従って、
1=000、よって、OI1=0
2=001、よって、OI2=1
3=011、よって、OI3=1
4=111、よって、OI4=1
5=110、よって、OI5=1
6=101、よって、OI6=1
7=010、よって、OI7=1
8=101、よって、OI8=1
となる。
すなわち、膨張処理用変換テーブルには、
入力:0001110101、に対して、出力:01111111、
と定めておくことになる。
収縮処理の場合の変換テーブルは、各OIiをそれぞれKi、Ki+1、Ki+2の論理積として出力することに相当し、
i=111の場合、OIi=1
i≠111の場合、OIi=0
によって定義される。
従って、
1=000、よって、OI1=0
2=001、よって、OI2=0
3=011、よって、OI3=0
4=111、よって、OI4=1
5=110、よって、OI5=0
6=101、よって、OI6=0
7=010、よって、OI7=0
8=101、よって、OI8=0
となる。
すなわち、収縮処理用変換テーブルには、
入力:0001110101、に対して、出力:00010000、
と定めておくことになる。
上述のようにして生成された3個の中間データ(8ビット長)は、論理演算部44へ受け渡され、論理演算部44では3個の中間データ間の論理演算によって1個の8ビット長データ(出力画素データ)を生成する。
出力画素データは、現在処理中の連続する8個の着目画素である着目画素列の処理後の画素値と対応しており、着目画素列の処理後の各画素値がライン方向に並んだ8ビット長データである。
3個の中間データ間の論理演算とは、具体的には、着目画素列のi番目の画素の処理後の画素値である、出力画素データのi番目のビットの値Oiが、入力される第一中間データ、第二中間データ、第三中間データのi番目の各ビットの値OI1i、OI2i、OI3iを入力とする論理演算によって決定されることを意味し、この論理演算は膨張処理の場合は論理和であり、収縮処理の場合は論理積である。
すなわち、
(膨張処理の場合)
OI1i=OI2i=OI3ii=0の場合、Oi=0
OI1i、OI2i、OI3iiのいずれかが1の場合、Oi=1
と決定され、
(収縮処理の場合)
OI1i=OI2i=OI3ii=1の場合、Oi=1
OI1i、OI2i、OI3iiのいずれかが0の場合、Oi=0
と決定される。
ここで、入力画素領域が以下のような画素値である場合を例に、画素値決定部40における処理を具体的に説明する。
第二の画素列(U0〜U9):0010000111
第一の画素列(M0〜M9):1110000111
第三の画素列(B0〜B9):0001000111
※着目画素M1〜M8の画素値は、11000011となる
(膨張処理の場合)
画素列抽出部30から受け渡された3個の10ビット長データは、変換部41、42、43で8ビット長データへそれぞれ変換される。
ここでは膨張処理であるため、Ki、Ki+1、Ki+2からOIiを導いた場合の論理演算は論理和であり、変換部41、42、43は、以下の定義、
i=000の場合、OIi=0
i≠000の場合、OIi=1
で定められた膨張処理用変換テーブルを参照する。
従って、第一画素列データ(1110000111)から生成される第一中間データとしては11100111が出力され、第二画素列データ(00110000111)から生成される第二中間データとしては11100111が出力され、第三画素列データ(0001000111)から生成される第三中間データとしては01110111が出力される。
第二中間データ:11100111
第一中間データ:11100111
第三中間データ:01110111
論理演算部44では、第一中間データ、第二中間データ、第三中間データを入力として、1個の8ビット長データである出力画素データを論理演算によって生成するが、ここでは膨張処理であるため、出力データの各ビットの値を、入力される各データの各ビットの値から算出するための論理演算は論理和であり、
OI11=1、OI21=1、OI31=0、よって、O1=1
OI12=1、OI22=1、OI32=1、よって、O2=1
OI13=1、OI23=1、OI33=1、よって、O3=1
OI14=0、OI24=0、OI34=1、よって、O4=1
OI15=0、OI25=0、OI35=0、よって、O5=0
OI16=1、OI26=1、OI36=1、よって、O6=1
OI17=1、OI27=1、OI37=1、よって、O7=1
OI18=1、OI28=1、OI38=1、よって、O8=1
と決定され、出力画素データとして、「11110111」が出力される。
(収縮処理の場合)
画素列抽出部30から受け渡された3個の10ビット長データは、変換部41、42、43で8ビット長データへそれぞれ変換されるが、ここでは収縮処理であるため、Ki、Ki+1、Ki+2からOIiを導く論理演算算は論理積であり、変換部41、42、43が参照する収縮処理用変換テーブルのロジックは、
i=111の場合、OIi=1
i≠111の場合、OIi=0
である。
従って、第一中間データ、第二中間データ、第三中間データは、以下のとおりに出力される。
第二中間データ:00000001
第一中間データ:10000001
第三中間データ:00000001
論理演算部44では、第一中間データ、第二中間データ、第三中間データを入力として、1個の8ビット長データである出力画素データを論理演算によって生成するが、ここでは膨張処理であるため、出力データの各ビットの値を、入力される各データの各ビットの値から算出するための論理演算は論理和であり、
OI11=1、OI21=1、OI31=0、よって、O1=1
OI12=1、OI22=1、OI32=1、よって、O2=1
OI13=1、OI23=1、OI33=1、よって、O3=1
OI14=0、OI24=0、OI34=1、よって、O4=1
OI15=0、OI25=0、OI35=0、よって、O5=0
OI16=1、OI26=1、OI36=1、よって、O6=1
OI17=1、OI27=1、OI37=1、よって、O7=1
OI18=1、OI28=1、OI38=1、よって、O8=1
と決定され、出力画素データとして、「11110111」が出力される。
論理演算部44では、第一中間データ、第二中間データ、第三中間データを入力として、1個の8ビット長データである出力画素データを論理演算によって生成するが、ここでは収縮処理であるため、出力データの各ビットの値を、入力される各データの各ビットの値から算出するための論理演算は論理積であり、
OI11=1、OI21=0、OI31=0、よって、O1=0
OI12=0、OI22=0、OI32=0、よって、O2=0
OI13=0、OI23=0、OI33=0、よって、O3=0
OI14=0、OI24=0、OI34=0、よって、O4=0
OI15=0、OI25=0、OI35=0、よって、O5=0
OI16=0、OI26=0、OI36=0、よって、O6=0
OI17=0、OI27=0、OI37=0、よって、O7=0
OI18=1、OI28=1、OI38=1、よって、O8=1
と決定され、出力画素データとして、00000001が出力される。
画素値決定部40では、以上のようにして、入力画素領域の各画素の画素値を入力として、着目画素の処理後の画素値を当該着目画素の周囲の画素の処理前の画素値に基づいて決定していく。
データ出力部50は、上述のようにして算出された、着目画素の処理後の画素値と対応する出力画素データを順次画素値決定部40から受け取り、出力画像データを生成する。
以上のようにして本実施形態に係る画像処理装置100は、入力画素領域を構成する30個の画素値を基に、8個の着目画素の処理後の値を一度に決定することができる。
本実施形態においては同時に処理する着目画素を8個とする場合の例を示したが、本発明においては同時に処理する着目画素の数に理論上の制限はなく、予め用意しておく変換テーブルの規模によって、同時に処理可能な着目画素の数を制御することができる。
[比較例]
次に、2値画像の膨張処理、収縮処理に際して、一回の処理で1個の着目画素の処理を行う画像処理部120(実施形態に係る画像処理装置100における画素列抽出部30及び画素値決定部40に相当する)を有する、従来型の画像処理装置200について、図8を参照して説明する。
画像処理装置200は、画像処理部120の他、入力された画像データを記憶するデータ入力部110と、画像処理部120の出力する画素値を8個結合して8ビット長データを生成する結合部140と、結合部140の出力する8ビット長データを用いて出力画像データを生成するデータ出力部150を備えており、画像処理部120は、ラインバッファ111、112、113と、セレクタ121、122、123と、論理演算部124を有している
画像処理装置200は、1個の着目画素とその周囲の8近傍の画素の画素値を基に、当該着目画素の処理後の画素値を決定するものである。ラインバッファ111、112、113は、データ入力部110に記憶される入力画像データから同一ライン上の連続した8個の画素の画素値を取り込み、8ビット長データとしてセレクタ121、122、123へ受け渡すラインバッファであり、着目画素M1を含むMラインの画素は、ラインバッファ112に取り込まれ、Mラインより上方のUラインの画素はラインバッファ111に取り込まれ、Mラインより下方のBラインの画素はラインバッファ113に取り込まれる。
セレクタ121、122、123においては、ラインバッファ111、112、113から受け取った8ビット長データから、それぞれ、U0〜U2、M0〜M2、B0〜B2の画素の画素値からなる、先頭の3ビット分が切り出され、3個の3ビット長データが論理演算部124へ受け渡される。
論理演算部124では、以上のようにして抽出された着目画素及びその8隣接画素(U0〜U2、M0〜M2、B0〜B2)の画素値について、膨張処理の場合は論理和をとり、収縮処理の場合は論理積をとることで、着目画素M1の処理後の画素値を出力する。
画像処理部120は、上記処理を着目画素M2〜M8について繰り返し、計8個分の着目画素の処理後の画素値を出力していく。
結合部140では、順次出力される着目画素M1〜M8の処理後の画素値を結合することで8ビット長データを生成して出力画素データとしてデータ出力部150へ出力する。
データ出力部150は、実施形態に係るデータ出力部50と同様にして、出力画素データを順次結合部140から受け取り、出力画像データを生成する。
次に、上述した画像処理装置200が備える、ラインバッファ111、112、113と、セレクタ121、122、123と、論理演算部124を有している画像処理部120を8個備え、8個の着目画素についての画素値の決定を並列に処理できるように為された、従来型の画像処理装置300について図9を参照して説明する。
画像処理装置300は、8個の画像処理部120(以下、画像処理部120a〜画像処理部120hと区別する)を有し、画像処理の高速化のために8個の着目画素について並列に処理を行えるようになされており、その他に、8個の画像処理部120から同時に出力される8個の着目画素(M1〜M8)の処理後の画素値を結合して8ビット長データである出力画素データを生成する結合部240と、画像処理装置200と同様にデータ入力部110、データ出力部150を有している。
画像処理装置300においては、画像処理装置200において説明したようにして着目画素の処理後の画素値を出力する画像処理部120が8個あり、画像処理部120が並列に処理を行うことで、8個の着目画素(M1〜M8)について、同時に処理後の画素値が決定されて、結合部240に受け渡されることになる。
以下、実施形態と同様の以下のような画素値の入力画素領域を処理対象とした場合の画像処理装置300における処理の流れを説明する。
第二の画素列(U0〜U9):0010000111
第一の画素列(M0〜M9):1110000111
第三の画素列(B0〜B9):0001000111
※着目画素M1〜M8の画素値は、11000011となる
(膨張処理)
[入力画素値抽出]
画像処理部120aは、データ入力部110に保持されている入力画像データから、1番目の着目画素M1とその8隣接画素とからなるU0〜U2、M0〜M2、B0〜B2、の画素値を抽出する。
Uラインの画素値は0、0、1、Mラインの画素値は1、1、1、Bラインの画素値は0、0、0となるため、入力画素値として、0、0、1、1、1、1、0、0、0が得られる。
[出力画素値算出]
次いで、画像処理部120aは、得られた9個の画素値について論理和を取ることで、着目画素の処理後の画素値を決定し、1番目の着目画素の処理後の画素値として、「1」を出力する。
そして画像処理装置300においては、残りの着目画素(M2〜M8)について並列に処理を行うため、画像処理部120b〜120hにおいても、画像処理部120aと同様の出力画素値の算出の処理が並行して行われる。
画像処理部120b〜120hではそれぞれ、2〜8番目の各着目画素(M2〜M8)について、着目画素とその8隣接画素の各画素値を抽出した後、得られた9個の画素値について、論理和を取ることで、各着目画素の処理後の画素値を決定する。
着目画素M2とその8隣接画素の画素値は、0、1、0、1、1、0、0、0、1であり、画像処理部120bは、2番目の着目画素M2の処理後の画素値として、「1」を出力する。
着目画素M3とその8隣接画素の画素値は、1、0、0、1、0、0、0、1、0であり、画像処理部120cは、3番目の着目画素M3の処理後の画素値として、「1」を出力する。
着目画素M4とその8隣接画素の画素値は、0、0、0、0、0、0、1、0、0であり、画像処理部120dは、4番目の着目画素M4の処理後の画素値として、「1」を出力する。
着目画素M5とその8隣接画素の画素値は、0、0、0、0、0、0、0、0、0であり、画像処理部120eは、5番目の着目画素M5の処理後の画素値として、「0」を出力する。
着目画素M6とその8隣接画素の画素値は、0、0、1、0、0、1、0、0、1であり、画像処理部120fは、6番目の着目画素M6の処理後の画素値として、「1」を出力する。
着目画素M7とその8隣接画素の画素値は、0、1、1、0、1、1、0、1、1であり、画像処理部120gは、7番目の着目画素M7の処理後の画素値として、「1」を出力する。
着目画素M8とその8隣接画素の画素値は、1、1、1、1、1、1、1、1、1であり、画像処理部120hは、8番目の着目画素M8の処理後の画素値として、「1」を出力する。
[出力画素データ生成]
結合部240では、画像処理部120a〜120hがそれぞれ出力した画素値を入力として、各画素値を順番に並べることで8ビット長データ「11110111」生成し、出力画素データとして出力する。
(収縮処理)
次に、画像処理装置300において収縮処理を行い場合を説明するが、上述した膨張処理との違いは、[出力画素値算出]の際の論理演算として論理積を用いることのみであるため、[入力画素値抽出]の説明については省略する。
[出力画素値算出]
画像処理部120a〜120hはそれぞれ、得られた9個の画素値について論理積を取ることで、各着目画素の処理後の画素値を決定する。
画像処理部120aは、1番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120bは、2番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120cは、3番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120dは、4番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120eは、5番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120fは、6番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120gは、7番目の着目画素の処理後の画素値として「0」を出力する。
画像処理部120hは、8番目の着目画素の処理後の画素値として「1」を出力する。
[出力画素データ生成]
結合部240では、画像処理部120a〜120hがそれぞれ出力した画素値を入力として、各画素値を順番に並べることで8ビット長データ「00000001」生成し、出力画素データとして出力する。
[画像データ出力]
データ出力部150では、上述のようにして出力される出力画素データを順次受け取り、画像データを生成する。
上述した比較例に示されるとおり、2値画像の画像処理において1個の処理回路(画像処理部120)で1個の着目画素を処理するように為されている従来型の画像処理装置においては、複数の着目画素について並列に処理できるようにするためには、並列に処理したい着目画素の個数分の処理回路が必要となる。
一方、画像処理装置100として上記で説明した実施形態では、並列的に処理できる着目画素の数が増えても、比較例における画像処理部120に相当する、画素列抽出部30及び画素値決定部40を複数用意する必要はなく、変換テーブルさえ用意しておけば複数の着目画素の並列処理が可能であるため、処理性能を向上させた場合の回路規模の増大が抑えられている。
100、200、300…画像処理装置
11、12、13、111、112、113…ラインバッファ
20、110…データ入力部
21、22、23、140、240…結合部
30…画素列抽出部
31、32、33、121、122、123…セレクタ
40…画素値決定部
41、42、43…変換部
44、124…論理演算部
50、150…データ出力部
120…画像処理部

Claims (3)

  1. 2値画像データの同一ライン上の連続するN個(Nは2以上の整数)の画素をそれぞれ着目画素とし、前記2値画像データから、前記N個の着目画素及び当該N個の着目画素とライン上で隣接する2つの画素からなるN+2個の画素の第1の画素列の各画素値と、前記第1の画素列とライン方向とは直交する2つの方向でそれぞれ隣接するN+2個の画素からなる第2及び第3の画素列の各画素値とを、前回抽出した第1、第2及び第3の画素列とそれぞれ2画素ずつ重複するようにしてライン方向に順次抽出する抽出手段と、
    前記抽出手段により抽出された前記第1、第2及び第3の画素列の各画素値が入力され、前記N個の各着目画素の処理後の画素値を、前記着目画素及び当該着目画素の周囲の画素の処理前の画素値に基づいてそれぞれ決定する決定手段と、
    を備えた、画像処理装置。
  2. 前記決定手段は、N+2個の画素からなる前記第1、第2及び第3の画素列の各画素値からなるそれぞれN+2ビットの各画素列データを、予め設定された論理に基づいてそれぞれNビット長の3つの中間データに変換する変換手段と、
    前記変換手段により変換された3つの中間データ間の論理演算を行うことにより前記N個の注目画素の値を決定する論理演算手段と、
    を備えた請求項1に記載の画像処理装置。
  3. 2値画像データの同一ライン上の連続するN個(Nは2以上の整数)の画素をそれぞれ着目画素とし、前記2値画像データから、前記N個の着目画素及び当該N個の着目画素とライン上で隣接する2つの画素からなるN+2個の画素の第1の画素列と、前記第1の画素列とライン方向とは直交する2つの方向でそれぞれ隣接するN+2個の画素からなる第2及び第3の画素列と、の各画素値を、前回抽出した第1、第2及び第3の画素列とそれぞれ2画素ずつ重複するようにしてライン方向に順次抽出するステップと、
    抽出された前記第1、第2及び第3の画素列の各画素の値が入力され、前記N個の各着目画素の処理後の画素値を、前記着目画素及び当該着目画素の周囲の画素の処理前の画素値に基づいてそれぞれ決定するステップと、
    をコンピュータに実行させるためのプログラム。
JP2014167568A 2014-08-20 2014-08-20 画像処理装置及びプログラム Expired - Fee Related JP6464609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014167568A JP6464609B2 (ja) 2014-08-20 2014-08-20 画像処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014167568A JP6464609B2 (ja) 2014-08-20 2014-08-20 画像処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016045565A true JP2016045565A (ja) 2016-04-04
JP6464609B2 JP6464609B2 (ja) 2019-02-06

Family

ID=55636114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014167568A Expired - Fee Related JP6464609B2 (ja) 2014-08-20 2014-08-20 画像処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6464609B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227872A (ja) * 1988-07-18 1990-01-30 Ricoh Co Ltd 画質改善方式
JP2005275679A (ja) * 2004-03-24 2005-10-06 Fuji Xerox Co Ltd 画像処理装置
US20090263041A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Block Based Image Processing
JP2009284094A (ja) * 2008-05-20 2009-12-03 Canon Inc 画像処理装置、画像処理方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227872A (ja) * 1988-07-18 1990-01-30 Ricoh Co Ltd 画質改善方式
JP2005275679A (ja) * 2004-03-24 2005-10-06 Fuji Xerox Co Ltd 画像処理装置
US20090263041A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Block Based Image Processing
JP2009284094A (ja) * 2008-05-20 2009-12-03 Canon Inc 画像処理装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
JP6464609B2 (ja) 2019-02-06

Similar Documents

Publication Publication Date Title
JP2007140843A (ja) リンク関係表示装置、リンク関係表示装置の制御方法及びプログラム
EP3819820B1 (en) Method and apparatus for recognizing key identifier in video, device and storage medium
US8948502B2 (en) Image processing method, and image processor
JP6464609B2 (ja) 画像処理装置及びプログラム
KR102161746B1 (ko) 반복 길이 부호화된 스트림을 업데이트하기 위한 방법 및 시스템
WO2016152190A1 (ja) 画像処理装置、画像処理システムおよび画像処理方法
CN104200451B (zh) 一种基于非局部稀疏k‑svd算法的图像融合方法
JP2010108205A (ja) 超解像画像作成方法
CN103092567B (zh) 一种基于单幅图像的真随机数序列生成方法
CN103077498A (zh) 基于移位变换的图像加密算法
Zhang et al. A generalized 3-D Hilbert scan using look-up tables
JP2012043437A (ja) 画像処理方法及び画像処理装置
JPWO2016056502A1 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
US9042651B2 (en) Multi-point image labeling method
JP2012247897A (ja) 画像処理装置および画像処理方法
JP5826980B1 (ja) 画像処理装置及び画像処理方法
JP7106144B2 (ja) 画像解析装置
KR101463744B1 (ko) 영상 인식 하드웨어 고속화장치 및 방법
JP5081739B2 (ja) 映像データ処理装置
Fan et al. A novel line based connected component labeling algorithm
JP2008017059A (ja) 非線形変換装置および非線形変換方法
Akhila et al. Image Steganography using Pixel Value Differencing with Modulus Function and Optimization
JP2020119001A (ja) 情報処理装置、情報処理方法、及びプログラム
KR20140091393A (ko) 데이터 은닉 장치 및 방법, 데이터 복원 장치 및 방법
US11328383B2 (en) Image provision apparatus, image provision method, and computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees