WO2010089836A1 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
WO2010089836A1
WO2010089836A1 PCT/JP2009/007201 JP2009007201W WO2010089836A1 WO 2010089836 A1 WO2010089836 A1 WO 2010089836A1 JP 2009007201 W JP2009007201 W JP 2009007201W WO 2010089836 A1 WO2010089836 A1 WO 2010089836A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
histogram
pixels
pixel
processing
Prior art date
Application number
PCT/JP2009/007201
Other languages
English (en)
French (fr)
Inventor
小林正浩
Original Assignee
Kobayashi Masahiro
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 Kobayashi Masahiro filed Critical Kobayashi Masahiro
Priority to US13/145,388 priority Critical patent/US8724196B2/en
Publication of WO2010089836A1 publication Critical patent/WO2010089836A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing

Definitions

  • a histogram is used as an image evaluation technique, the number of pixels is graphed for each color brightness level, and the pixel distribution in the image is shown. Shadow (left part of histogram), halftone (center of histogram) ) And highlights (right part of the histogram) are displayed, and a method is used to determine if the image has enough detail to make the appropriate corrections.
  • Japanese Patent Application Laid-Open No. 2004-228688 discloses a step of reading light from an original to generate image data, a step of creating a density distribution histogram from the image data, and a density distribution closer to the light and dark ends of the total density of the image data.
  • An image processing method includes a step of generating a density correction curve based on the ratio of the number of data and a step of correcting the density of image data using the density correction curve.
  • Patent Document 2 a large amount of processing capability is required in an image processing system that generates a histogram in which all colors of R, G, and B are combined in the color mode and a histogram of only the G color in the gray mode. There is a problem that the processing time becomes long unless a host computer with high ability is used.
  • FIG. 1 is an example of a basic system of the present invention.
  • This system is basically a microcomputer or a personal computer equipped with a graphics board, and a frame grabber 6 that captures an image via an interface 4 such as a graphic board, ROM 2a, RAM 2b, and PCI via the system bus 3 to the CPU 1. Consists of.
  • an operation device 7 such as a button and an external connection port 8 such as a serial port are provided through the I / O interface 5 in order to operate this apparatus.
  • the processing frame buffer 11 and the output frame buffer 12 can express a plurality of color spaces. In this case, YCbCr, HSV, Lab, and HLS are targeted.
  • the display output circuit 13 converts the contents of the output frame buffer 12 expressed in the color space into a video signal suitable for the display. It supports a plurality of video signals, and analog RGB is generally used, but DVI, components (D1 to D4), YC separation, composite, etc. can also be output.
  • the image processing method handles each frame of a moving image or a still image, capture means for capturing image data in units of pixels from an image obtained by photographing a subject, and a specific color space for the captured image data in units of pixels.
  • Histogram generation means for generating a luminance histogram after being decomposed into two, and reading the image luminance information with a predetermined reading pattern 16 and reading the reading based on an average histogram excluding pixels at specific positions in the reading pattern 16 The brightness of the pixel at a specific position of the pattern 16 is set.
  • the GPU used in the example is a scalar processor having 128 arithmetic units capable of parallel processing.
  • the histogram is generally averaged and the brightness distribution is adjusted to improve the image, or a gamma curve conversion having an S-shaped curve is used.
  • the image is expanded by expanding an image having a low contrast so that the dark portion is dark and the bright portion is bright to make the image sharp.
  • the histogram is averaged, the details will be clear in the dark part, but since there are many dark parts, the part in contact with the sky will be too bright and the detail will be damaged.
  • the area is divided into the sky (bright part), the boundary between the sky and the background, and the ground (dark part), and the histogram is averaged in each area, thereby loss of detail. Can be reduced.
  • the above method has the following problems when processing moving images in real time and cannot be processed at high speed, and the algorithm for dividing the area is difficult to generalize and becomes a complicated algorithm.
  • the processing can be performed with only one histogram averaging.
  • FIG. 3 shows the positional relationship between the screen and a predetermined reading pattern.
  • FIG. 3A shows the entire screen for displaying an image, and shows a reading pattern 16 on the image display screen 15.
  • the pixel and the predetermined pattern are moved according to a predetermined rule, and an average histogram of the predetermined pattern after movement is generated.
  • An image processing method is employed that subtracts the histograms of pixels that no longer overlap before and after movement, and adds only the histograms of pixels that newly enter the area of the predetermined pattern.
  • the screen is composed of pixels of m rows and n columns, if the array is expressed by (row, column), the screen starts from the pixel of (0, 0), and the first row is (1, n ) And ends in (m, n) pixels.
  • FIG. 3B shows a reading pattern, and in the reading pattern 16, a specific pixel is set as the target pixel 17.
  • FIG. 3C is a diagram showing a processed image area in the image display screen. If the entire reading pattern 16 is not in the image display screen 15 when performing the histogram averaging process, a different histogram averaging algorithm must be used, and extra processing time is generated.
  • the reading pattern 16 when the reading pattern 16 is composed of 7 cells both vertically and horizontally, a non-scan area having a width of 3 cells is set in each row and each column, and (3, 3), (1, n ⁇ 3) If the area surrounded by (m ⁇ 3, n ⁇ 3) and (3, n ⁇ 3) is a processing screen area, the reading pattern 16 always exists in the image display screen 15.
  • the data of the area surrounded by the pixels (m-5, 4), (m-5, 6), (m-3, 4), (m-3, 6) is converted into the pixel (m-2, 1). ), (M ⁇ 2, 3), (m, 3), and (m, 1).
  • FIG. 3 (e) illustrates a data copy method in the first to third lines and the m-2 to m lines excluding the four corners of the screen.
  • the data in the area surrounded by the pixels (4, 4), (4, n-3), (3, n-3), (6, 4) is shifted leftward by 3 cells to obtain the pixel (1, 4) Copy to areas (1, n-3), (3, n-3), (3, 4).
  • the data in the area surrounded by the pixels (m-5, 4), (m-5, n-3), (m-3, n-3), (m-3, 4) is moved downward.
  • the data is shifted by 3 pixels and copied to the areas of pixels (m ⁇ 2, 4), (m ⁇ 2, n ⁇ 3), (m, n ⁇ 3), and (m, 4).
  • FIG. 3 (f) illustrates the data copy method in the first to third columns excluding the four corners of the screen.
  • the data in the area surrounded by the pixels (4, 4), (4, 6), (m-3, 6), (m-3, 4) is shifted leftward by 3 pixels to obtain the pixel (4 1) Copy to areas (4, 3), (m-3, 3), (m-3, 1).
  • the data in the area surrounded by the pixels (4, n-5), (4, n-3), (m-3, n-3), (m-3, n-5) is moved downward.
  • the image is shifted by 3 pixels and copied to the areas of pixels (4, n-2), (4, n), (m-3, n), and (m-3, n-2).
  • the histogram is defined as the brightness distribution of each pixel in the histogram extraction area. If the brightness is 8-bit information, there are 256 arrays indicating the brightness.
  • details can be extracted by averaging histograms for images that are too bright or too dark, and in an image that contains both bright and dark parts, the areas are separated. If the histograms are averaged separately, the details of the boundary can be extracted.
  • the algorithm for dividing the area can be expected to be complicated, and it is necessary to perform processing such as fading to connect the boundary of the area naturally on the image, and it is more natural to divide the area into a large number within a small range.
  • details can be extracted, there is a problem that if the area is too small, the connection with the surrounding area becomes unnatural, and details having the same size as the area may not be extracted.
  • the calculation area is 1 pixel, and that averaging of the histogram is calculated using the surrounding histogram to determine the brightness of the pixel.
  • the following merit can be considered by setting the calculation area to 1 pixel. -The calculation process of dividing the area is not necessary, and histogram averaging can be realized with only one pass. -There is no need to consider the synthesis of area boundaries. -The problem of losing details of the same size as the area can be avoided. However, histogram averaging is required for all pixels (approximately 300,000 for VGA), and an algorithm for reducing this calculation amount is required.
  • the number of pixels having the brightness is stored in each element, where the subscript number of the array is the brightness.
  • processing is independent for each line, parallel processing is performed using pixels mounted on a general graphic board, and high-speed processing is possible. Processing is completed in the processing time.
  • a brightness conversion table is generated based on the histogram array calculated in the previous section, and brightness is calculated according to the conversion table.
  • the brightness of the area is calculated according to the conversion table using the following algorithm.
  • x, y is the area origin
  • dx, dy is the area range
  • get_pix (x, y) is the function to acquire the brightness of the original image
  • put_pix (x, y, p) is the calculation result to the conversion destination image This function stores brightness.
  • this algorithm can be applied as it is, but in the case of a color image, it is generally necessary to separate color information and brightness information.
  • history averaging is processed for each RGB plane, but in this case, the color space used in JPEG, MPEG, etc. is used, and the color space is used using the basic functions of the graphic board. By processing only the necessary planes, the processing is equivalent to a black and white image.
  • ⁇ ⁇ Input images are selected from the above color space according to the internal representation of the graphic board, and only the luminance plane is processed to avoid repeated RGB conversion processing three times and hue variations.
  • FIG. 4 is a principle diagram of histogram optimization for pixel unit detection.
  • the histogram of the selected pixel is calculated in the reading pattern 16 in FIG. Thereafter, the selected pixels for histogram calculation are shifted to the right.
  • the pixels in the 8th column from the 2nd column to the 7th column are newly calculated, and this is the pixel (1, 1), (1, 7), (7 in the previous histogram calculation. 1) Subtract the data of the first column from the second column to the seventh column from the total value of the histogram of the area surrounded by (7, 7), and the eighth column from the second column to the seventh column. A histogram can be easily calculated by adding the data.
  • the solid line area in FIG. 4B shows a calculation area at the time of the next calculation, and the pixel of the fourth row and the fifth column is the pixel of interest 17, the pixels (1, 2), (1 , 8), (7, 2), and (7, 8), the area excluding the pixel of interest (4, 5) is the calculation area.
  • the actual calculation is the previous calculation. Since the first column histogram is subtracted from the value and the fifth column is simply added, processing can be performed in a short time.
  • FIG. 5 shows an example in which calculation is performed by moving every other pixel.
  • the predetermined pattern in addition to the method of scanning the pixels one by one as described above, when the predetermined pattern is moved in the horizontal scanning direction, if the entire predetermined pattern is within the screen, before and after the movement.
  • the pattern is thinned by moving it according to a predetermined rule while having a predetermined overlap portion in the overlapping portion, and the processing speed can be increased while improving the contrast with respect to the entire screen. Details of the thinning-out high-speed processing will be described below.
  • the pixel 17 is moved by 2 pixels in the horizontal direction, and the pixel 17 of interest is set to the pixel (3, 5), and the pixels (1, 3), (1, 7), (5, 3 ), (5, 7), the area from pixel (1,3) to pixel (5,3), the area of pixels (1,5) and (2,5), pixel (4,5) ) And (5, 5), and the average value of the pixels for the regions from pixel (1, 7) to (5, 7) is determined, and the value of pixel (3, 5) that is pixel of interest 17 is determined. .
  • Fig. 6 shows an example of parallel processing.
  • the processing time can be shortened by distributing the processing to a plurality of calculation cells and performing parallel processing.
  • the area surrounded by the pixels (1, 1), (1, 5), (5, 1), (5, 5) is the first reading pattern 16, and the pixel (6, 1) , (6, 5), (10, 1), a region surrounded by (10, 5) is the second pattern 16a.
  • the histogram of (1, 5) to (5, 5) is calculated, and the average value is used to determine the value of pixel (3, 3).
  • the histogram of (6, 5) to (10, 5) is calculated, and the average value is used to determine the value of pixel (3, 3).
  • Fig. 7 (a) is an example of the original image, which was taken in the evening near the bridge in front of the forest.
  • the screen is dark overall.
  • FIG. 7B is an image corrected by the algorithm according to the present invention, and is an image that can recognize the vicinity of the bridge in front of the forest.
  • image processing can be performed in a short time, so that not only the still image shown in FIG. 5 but also a video image obtained by photographing a similar dark scene can be reproduced in real time. Therefore, it is an effective technique for image correction even in a video image obtained by photographing a scene in which extremely bright portions and dark portions are mixed in the same screen such as a surveillance camera and an indoor window.
  • the image processing method of the present invention By using the image processing method of the present invention, not only a surveillance camera but also a general video camera can have high sensitivity close to that of a night vision camera by correcting with a circuit without using an expensive bright lens. Therefore, the world of visual arts can be expanded by providing high-performance video equipment to the market at low cost.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】 画像におけるコントラスト改善手段のひとつであるヒストグラム平均化で動画の画質処理をしようとすると、画素数の多い画面全体のヒストグラムを計算すると時間がかかってしまい、装置が大かがりになってしまう。 【解決手段】 動画のフレーム毎又は静止画の画像処理において、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記画像を色別に所定のパターンで読み出し、前記パターンの中の特定位置のピクセルを除いた平均ヒストグラムを基本として前記パターンの特定位置のピクセルの輝度を設定するようにした。

Description

画像処理装置
 監視カメラや室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する画面で構成される画面を見やすい画面に変換する画像処理方法を提供する。
 監視カメラの映像は24時間稼動しているため、極端に明るい状況や暗い状況が刻々変化する。カメラの一般的なオートゲインコントロールなどでは変化が大きい場合には極端な変化に追いつけない場合が多い。また、室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する場合はゲインコントロールでは対応することが出来ない。
 そこで、画像評価技術としてヒストグラムを使い、各カラーの明るさのレベル別にピクセル数をグラフ化し、画像内のピクセル分布を示したものであり、シャドウ(ヒストグラムの左側部分)、中間調(ヒストグラムの中央)およびハイライト(ヒストグラムの右側部分)のディテールが表示され、画像に適切な補正を行うための十分なディテールがあるかどうかを判断する方法が使われている。
 例えば、特許文献1には、光学像を光電変換して電気信号を出力する撮像素子と、該撮像素子から出力された電気信号を処理して映像信号を生成する信号処理手段と、該信号処理手段から出力された映像信号からヒストグラムを生成するヒストグラム回路と、該ヒストグラム回路によって検出されたヒストグラムを用いて露光制御を行う露光制御手段とを有する撮像装置が開示されている。
 また特許文献2には、原稿からの光を読取って画像データを生成する工程と、前記画像データから濃度分布のヒストグラムを作成する工程と、前記画像データの全データ数に対する濃度分布の明暗両端寄りのデータ数の割合に基づいて濃度補正曲線を生成する工程と、前記濃度補正曲線で画像データの濃度補正を行う工程とを有する画像処理方法が開示されている。
 更に特許文献3には、被写体を撮像し、撮像画像の画像データを取得する撮像手段と、その撮像手段により取得された画像データからなる撮像画像の所定の画素部分であって輝
度レベルが所定の範囲内にある画素からなる画素部分に対し、当該画素部分における各画素の輝度値を、各画素間の相対的な輝度の上下関係を維持したまま各画素間の輝度間隔を増大させるよう変換する階調補正を行う階調補正手段とを備えた撮像装置が開示されている。
特開2002-142150号公報 特開2003-051944号公報 特開2007-124087号公報
 特許文献1では、例えば静止画の撮影を行う場合において、CPUを使って画面全体でヒストグラム生成部25により生成された撮像画像のヒストグラムについて、有用データ範囲とした、明るさが分布している輝度範囲と、無用データ範囲とした明るさが分布していない輝度範囲とを検索しているが、画素数の多い画面では大きな処理能力を持つCPUを使わないとリアルタイムでの静止画撮影は難しい。
 特許文献2では、カラーモードの場合にはR、G、B全色を合成したヒストグラムを、グレーモードの場合にはG色のみのヒストグラムを生成する画像処理システムにおいては多くの処理能力が必要となり、能力の高いホストコンピュータを使わないと処理時間が長くなってしまうという問題点がある。
 特許文献3では、撮像画像のヒストグラムを使って補正カーブに従ってガンマ補正(階調補正)を行ない、例えば分布にふたつの山がある場合は、双方の分布域範囲が、処理以前に各々の高輝度側に存在していた無用データ範囲(明るさが分布していない輝度範囲)を消失させるよう、それぞれ高輝度側に拡大することにより記録画像には、全体の階調関係を保持しながら暗い部分(遠距離の背景)と明るい部分(近距離の被写体)に十分な階調を割り当てることができるとしている。しかしこの方法では、画素数の多い画面全体のヒストグラムを計算すると時間がかかってしまい、動画には使えないという問題がある。
 上記の課題を解決するために、本発明においては、動画のフレーム毎又は静止画毎の画像処理方法であって、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記取込手段にて前記画像を所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記所定パターンのヒストグラムを生成し、次いで、当該所定パターンの中の特定位置のピクセルの輝度を生成したヒストグラムに基づいて決定するにあたり、ループ回数をピクセル値としたアルゴリズムに基づいて行うようにした。
 また、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンのヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算することや、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることも考えられる。
 本発明によるアルゴリズムは、2パス方式を取らず単純なアルゴリズムで同等の結果を得るアルゴリズムであり、現在一般的に市販されている安価なマイクロコンピュータやパーソナルコンピュータとグラフィックボードの組み合わせで容易にVGA動画のリアルタイム処理を行うことが可能であり、FPGAなどへのハードウエア化やDSPによる処理も可能となる。
基本システム例である。 ヒストグラムの比較例である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 ピクセル単位検出のヒストリ最適化の基本原理例である。 2列毎にスキャンする例である。 複数分散処理の例である。 補正前と補正後の画像比較例である。
  以下に本発明の実施例を記載する。なお、以下の実施例は本発明においてグラフィックボードは旧来のものではなく、プロセッサあたり120個以上のコアを搭載したマルチコアGPUを搭載したグラフィックボード使うことが望ましい。
 図1は、本発明の基本システム例である。本システムは、基本的にはグラフィクスボードを搭載したマイクロコンピュータまたはパーソナルコンピュータであって、CPU1にはシステムバス3を介してグラフィックボード、ROM2a、RAM2b、PCIなどのインターフェイス4を通して画像を取り込むフレームグラバ6で構成される。また、本装置を操作するためにI/Oインターフェイス5を通してボタン等の操作装置7やシリアルポート等の外部接続ポート8を持つ。
 グラフィックボードは、一並列処理セルを持つGPU9、処理用フレームバッファ11、出力用フレームバッファ12、表示出力回路13から構成されている。
 動画のフレーム毎又は静止画の画像処理方法において、上記の構成をとることにより、本発明の画像処理方法では、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記取込手段にて前記画像を色別に所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記パターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って前記特定位置のピクセルの輝度を設定するようにした。
 GPU9はCPU1から指示を受けて各セルに対して処理用フレームバッファ11にある画像データを指示に従って処理を行い、処理結果を出力用フレームバッファ12へ書き込むよう命令する。セルは複数あり並列処理を行うことでCPUからの指示をセルの数だけ一斉に処理する。
 コンピュータのCPU1は、起動時にROM2aから本件処理に相当するソフトウエア
をRAM2bへ転送しソフトウエアを実行する。実行したソフトウエアは
(1)フレームグラバから画像を取り込む
(2)取り込んだ画像をグラフィックボード上の処理用フレームバッファ11へ転送する(3)GPUへ本件処理を指示する
(4)GPU内セルが並列処理によって指示を実行する
(5)処理結果がすべて出力用フレームバッファに書き込まれるまで待つ
(6)処理結果を表示
といった一連の動作を繰り返す。
 処理用フレームバッファ11や出力用フレームバッファ12では複数の色空間を表現することが出来る。本件ではYCbCr、HSV、Lab、HLSを対象とする。
 表示出力回路13は上記色空間表現となっている出力用フレームバッファ12の内容をディスプレイに適合した映像信号に変換する。複数の映像信号に対応しており、アナログRGBが一般的であるが、DVI、コンポーネント(D1~D4)、YC分離、コンポジットなどを出力することも出来る。
 本発明の画像処理方法は、動画のフレーム毎又は静止画の画像を扱い、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データをピクセル単位で特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記画像輝度情報を所定の読み取りパターン16で読み出し、前記読み取りパターン16の中の特定位置のピクセルを除いた平均ヒストグラムを基本として前記読み取りパターン16の特定位置のピクセルの輝度を設定するようにした。
 また、前記所定の読み取りパターン16は水平走査方向に移動させた場合に、移動前後の読み取りパターン16は重複部分において移動前後で完全にオーバーラップさせることにより、前記画像上で読み取りパターン16を移動させてもデータ互換が保証される。
 上記において、計算をコンピュータのCPUではなく、グラフィックボードのGPUを使うことにより、基本的に動的なデータをストリームとして処理が可能となり、カーネルでの演算処理過程においては、データをリアルタイムに解析し、高精度かつ高速処理が行える。
 カーネルがストリームの演算処理を行う際には、動的なデータの並列処理が可能なパイプライン処理が利用され、従来のマルチコアCPUのコア数が2~4コアであるのに対して、本実施例で使ったGPUは並列処理が可能な128個の演算ユニットを持つスカラプロセッサとなっている。
 上記のスカラプロセッサを使っても、画像のリアルタイム処理には莫大な計算量があるので、3Dグラフィクスには960コアのGPUが使われる例もあり、まだ充分な計算能力には達していないのが現状であり、本発明は3D処理には充分な性能とは言えないGPUを使ってリアルタイムで動画のヒストグラム最適化を可能とするものである。
 図2はヒストグラムの比較例である。図2(a)はオリジナルのヒストグラム例で、左右にふたつの山がある。図2(b)は均一化して略フラット化したヒストグラムである。
 一般的には明るさの分布が均一でない画像に対しては一般的にヒストグラムの平均化を行って明るさ分布を調整して画像改善を行うか、S字カーブを持つガンマ曲線変換を用いてコントラストの低い画像を伸張することによってコントラストを広げ、暗い箇所は暗く、明るい箇所は明るくしメリハリのある画像にする処理を行っている。
 ヒストグラムの平均化を行えば、暗い部分はディテールがはっきりするが、暗い部分が多いため空と空に接している部分が明るくなり過ぎてディテールを損なう。この境界部分のディテールを抽出するには、例えば空(明るい部分)と空と背景の境界と地上(暗い部分)にエリアを分割してそれぞれの領域でヒストグラムの平均化を行うことでディテールの損失を軽減出来る。
 また、予め画像を走査して明るさの分布を検出し、エリアを分けてヒストグラムの平均化を行うことで、明暗が極端な画像に対しても中間部分のディテールを抽出することも可能である。
 前記の方法ではエリア分割のために画像を走査する必要があり、その後にヒストグラムの平均化を行うためにもう一度画像走査を行う2パス方式となる。
 前記の方法は動画をリアルタイム処理するにあたって下記の問題があり高速に処理出来ないし、エリアを分割するアルゴリズムは一般化が難しく複雑なアルゴリズムになってしまう。
 また、ヒストグラムの平均化は全画面を走査して明るさの変換テーブルを作成した後にテーブルに従って画像を変換する必要があり、分割結果を記憶する画像と同程度のメモリが必要となる。
 更に、エリア分割で2回、ヒストグラムの平均化で2回の計4回画像を走査する必要があり、エリアとエリアの境界部分が不自然もしくはフェード合成を行う必要がある。
 しかし、以下に詳細を説明する本発明の方法であれば、算出エリアを1ピクセルとすることでエリアを区切る算出過程が不要なのでヒストグラムの平均化1パスのみで処理できるようになる。
 図3は、画面と所定の読み取りパターンの位置関係を示している。図3(a)は画像を表示する画面の全体を示し画像表示画面15における読み取りパターン16を示している。
 本発明においては以下に詳細説明されているように、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンの平均ヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算する画像処理方法を採用している。
 ここで、画面がm行n列のピクセルで構成されるとすると、(行、列)で配列を表現すれば、(0,0)のピクセルから画面が始まり、1行目は(1,n)のピクセルで終わり、最終は(m、n)のピクセルとなる。
 図3(b)は読み取りパターンを示していて、読み取りパターン16において、特定ピクセルを着目ピクセル17として設定している。
 図3(c)は、画像表示画面内の処理画像領域を示した図である。もしヒストグラム平均化処理を行う際に、読み取りパターン16の全てが画像表示画面15内にない場合には異なるヒストグラム平均化アルゴリズムを使わなくてはならなくなり、余計な処理時間が発生する。
 そこで、処理画面領域を画像表示画面15より狭い領域に限定し、必ず読み取りパターン16の全てが画像表示画面15内に入るようにすることで、読み取りパターン16の全てが画像表示画面15内にあるかどうかの判定を省略することができる。
 具体的には、例えば読み取りパターン16が縦横共に7セルで構成されている場合には、各行と各列に3セル幅の非スキャン領域を設定し、(3,3)、(1,n-3)、(m-3、n-3)、(3、n-3)で囲まれる領域を処理画面領域とすれば読み取りパターン16は必ず画像表示画面15内に存在することになる。
 (3,3)、(1,n-3)、(m-3、n-3)、(3、n-3)で囲まれる領域の全てのピクセルに対してヒストグラム平均化処理が終了した時点で、(4,4)、(4,6)、(6,6)、(6,4)で囲まれた領域のデータを(1,1)、(1,3)、(3,3)、(1,3)で囲まれた領域に平行移動してピクセル(4、4)のデータがピクセル(1、1)となり、ピクセル(6,6)のデータがピクセル(3、3)になるようにコピーする。
 同様に、ピクセル(m-5,4)、(m-5,6)、(m-3,4)、(m-3,6)で囲まれた領域のデータをピクセル(m-2,1)、(m-2,3)、(m,3)、(m,1)で囲まれた領域にコピーする。
 図3(e)は、画面四隅を除く1~3行目およびm-2~m行目のデータコピー方法を図示したものである。ピクセル(4,4)、(4,n-3)、(3、n-3)、(6、4)で囲まれた領域のデータを左方向に3セル分シフトして、ピクセル(1,4)、(1,n-3)、(3、n-3)、(3、4)の領域にコピーする。
 同様に、ピクセル(m-5,4)、(m-5,n-3)、(m-3、n-3)、(m-3、4)で囲まれた領域のデータを下方向に3ピクセル分シフトして、ピクセル(m-2,4)、(m-2,n-3)、(m,n-3)、(m、4)の領域にコピーする。
 図3(f)は、画面四隅を除く1~3列目のデータコピー方法を図示したものである。ピクセル(4,4)、(4,6)、(m-3、6)、(m-3、4)で囲まれた領域のデータを左方向に3ピクセル分シフトして、ピクセル(4,1)、(4,3)、(m-3、3)、(m-3、1)の領域にコピーする。
 同様に、ピクセル(4,n-5)、(4,n-3)、(m-3、n-3)、(m-3、n-5)で囲まれた領域のデータを下方向に3ピクセル分シフトして、ピクセル(4,n-2)、(4,n)、(m-3,n)、(m-3、n-2)の領域にコピーする。
 ここで、ヒストグラムとはヒストグラム抽出エリア内の各ピクセルの明るさの分布として定義する。明るさが8ビット情報であれば明るさを示す256個の配列となる。
 上記に述べたように、明るすぎる画像や暗すぎる画像についてはヒストグラムの平均化を行うことでディテール抽出が可能となり、明るい部分と暗い部分が混在している画像においては領域を区切ってそれぞれの領域内で別々にヒストグラムの平均化を行えば境界部分のディテールも抽出することが出来る。
 しかしエリアを区切るアルゴリズムは複雑になると予想出来るし、エリアの境界を画像上で自然に繋ぐにはフェードなどの処理が必要となってしまい、エリアは小さい範囲で多数に分割する方がより自然にディテールを抽出出来るが、エリアが狭すぎるとエリア周辺
とのつながりが不自然になり、エリアと同サイズのディテールを抽出することが出来ない場合がある等の問題がある。
 そこで、算出エリアを1ピクセルとし、そのピクセルの明るさを決めるために周辺のヒストグラムを利用してヒストグラムの平均化の算出を行うことを考案した。
 算出エリアを1ピクセルとすることで次のメリットが考えられる。
- エリアを区切る算出過程が不要となり、ヒストグラムの平均化を1パスのみで実現出来る。
- エリア境界の合成を考える必要がない。
- エリアと同サイズのディテールを失う問題を回避出来る。
ただし、全ピクセル(VGAで約30万)に対してヒストグラムの平均化計算が必要となり、この計算量を減らすアルゴリズムが必要となる。
 配列の添え字番号を明るさとして、各要素はその明るさを持つピクセルの数が格納される。
 一般的には配列をクリアした後にエリアを走査してピクセルの明るさを取得し、各配列の要素をインクリメントすることで実装される。
 本アルゴリズムではピクセル単位で算出を行うため、最初の1ピクセルでは上記算出が必要になるが、2回目は着目ピクセル17が右へひとつ移動するだけであるため、ヒストグラムを再計算する必要はなく、移動によって失った左列のピクセルを減算し、追加された右列のピクセルを加算するだけでよい。
 このようにピクセル単位でヒストグラムの平均化を算出することでヒストグラムの更新は大幅に省力化が可能となる。
 また、処理は各ラインで独立しているため、一般的なグラフィックボードに搭載されているピクセルを利用して並列処理を行って高速な処理が可能となり、256セルのグラフィックボードだと2ライン分の処理時間で処理が完了する。
 一般的なヒストグラムの平均化算出は前項で算出したヒストグラム配列を元に明るさ変換テーブルを生成し、変換テーブルに従って明るさを算出する。
 以下に、一般的なテーブルの算出アルゴリズムを示す。(明るさは8ビットを想定、ヒストグラム配列はhist、変換テーブル配列はtable、エリア内の画素数の合計をtotalとしている)
for ( i=n=0; i<256; i++) {
n = n + hist[ i ];
table[ i ] = n * 256 / total;
}
 この後、以下のようなアルゴリズムを使って変換テーブルに従ってエリアの明るさを算出する。
for ( i=0; i<dy; i++) {
for ( j=0; j<dx; j++) {
p = get_pix( x + j , y + i);
p = table[ p ];
put_pix( x + j , y + i , p );
}
}
 上記において、x,yはエリア原点、dx,dyはエリア範囲、get_pix(x,y)は元画像の明るさを取得する関数、put_pix(x,y,p)は変換先画像へ算出後の明るさを格納する関数である。
 ここで、本アルゴリズムでは算出エリアを1ピクセルとしたため、上記例のようなループは不要となる。また、変換テーブルも算出対象となっているピクセルの明るさのみ変換出来ればよいので、段落(0061)および(0062)と同等処理のアルゴリズムは下記のようになる。
p = get_pix( x , y );
for ( i=n=0; i<=p; i++){
n = n + hist[ i ];
}
p = n * 256 / total;
put_pix( x , y , p );
 白黒画像の場合は本アルゴリズムをそのまま適応可能であるが、カラー画像の場合は、一般的には色情報と明るさ情報を分ける必要がある。
 一般的にヒストリの平均化はRGBの各プレーンに対して処理されるが、本件ではJPEGやMPEGなどで用いられている色空間を利用することで、グラフィックボードが持つ基本機能を使って色空間を分離し、必要なプレーンのみを処理することで白黒画像と同等の処理となっている。
 色空間と処理するプレーンの対応は例えば下記のものが考えられる。
   YCbCr : Yプレーン
   HSV   : Vプレーン
   Lab   : Lプレーン
   HLS   : Lプレーン
 入力画像はグラフィックボードの内部表現に合わせて上記の色空間から選択し、輝度プレーンのみを処理することでRGB変換処理と3回同じ処理の繰り返しや色相の変動を回避する。
 図4はピクセル単位検出のヒストグラム最適化の原理図である。本実施例においては、図4(a)読み取りパターン16において選択ピクセルのヒストグラムを計算し、着目ピクセル17の値を段落(0064)のアルゴリズムで計算する。
その後、ヒストグラム計算のための選択ピクセルは右へシフトする。
 着目ピクセル17が1ピクセル右へ移動した図4(b)においては、ヒストグラム計算における選択ピクセル1行目から7行目までのうち2列目~7列目は図4(a)と共通であるが、新たに2列目~7列目までの8列目が追加となっている。
 よって2列目~7列目までの8列目にあるピクセルについては新たな計算対象となるが、これは前回のヒストグラムの計算において、ピクセル(1,1)、(1、7)、(7、1)、(7,7)で囲まれる領域のヒストグラムの合計値から2列目~7列目までの1列目のデータを減算し、2列目~7列目までの8列目のデータを加算すれば容易にヒストグラムを計算することができる。
 図4(b)の実線領域は次の計算時の計算エリアを示し、4行5列目のピクセルがヒストリ平均化による明るさ算出対象となる着目ピクセル17、ピクセル(1、2)、(1,8)、(7,2)、(7、8)で囲まれる領域から着目ピクセル(4、5)を除いた領域が計算領域となるが、前述の通り、実際の計算は、前の計算値から1列目のヒストグラムを減算し、5列目を加算するだけなので短時間で処理できる。
 図5は、ひとつおきにピクセルを移動させて計算する例である。本発明においては、上記の如くピクセルを1つずつスキャンさせる方法以外に、前記所定のパターンは水平走査方向に移動させる際に、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることで間引き処理を行い、画面全体に対するコントラストを改善させながら処理の高速化ができる。以下に、前記間引き高速処理の詳細を説明する。
 最初に図5(a)に示すように、ピクセル(1,1)、(1、5)、(5,1)、(5,5)で囲まれる領域において、ピクセル(1,1)からピクセル(5,1)までの領域とピクセル(1,3)と(2,3)の領域、ピクセル(4,3)と(5,3)の領域、ピクセル(1、5)から(5,5)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,3)の値を決定する。
 次に、図5(b)のように水平方向に2ピクセル分移動して、着目ピクセル17をピクセル(3,5)とし、ピクセル(1,3)、(1、7)、(5,3)、(5,7)で囲まれる領域において、ピクセル(1,3)からピクセル(5,3)までの領域とピクセル(1,5)と(2,5)の領域、ピクセル(4,5)と(5,5)の領域、ピクセル(1、7)から(5,7)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,5)の値を決定する。
 図6は並列処理の例である。処理を複数の計算セルに分散し、並列処理することにより計算時間を短縮できる。図6(a)において、ピクセル(1,1)、(1,5)、(5、1)、(5,5)で囲まれた領域が第1読み取りパターン16で、ピクセル(6,1)、(6,5)、(10、1)、(10,5)で囲まれた領域が第2パターン16aである。
 第1読み取りパターン16では、ピクセル(1,1)~(5、1)と、ピクセル(1,3)及び(2,3)と、ピクセル(4,3)及び(5,3)と、ピクセル(1,5)~(5,5)のヒストグラムを計算し、その平均値を使ってピクセル(3,3)の値を決定する。
 第2読み取りパターン16aでは、ピクセル(6,1)~(10、1)と、ピクセル(6,3)及び(7,3)と、ピクセル(9,3)及び(10,3)と、ピクセル(6,5)~(10,5)のヒストグラムを計算し、その平均値を使ってピクセル(3,3)の値を決定する。
 図7(a)は元画像の例であり、森の手前にある橋付近を夕方撮影したものである。全体的に暗い画面となっている。
 図7(b)は、本発明によるアルゴリズムで補正した画像で、森の手前にある橋付近が認識できる画像となっている。
 本発明の画像処理方法で採用したアルゴリズムを使うことにより、短時間で画像処理できるので、図5にある静止画のみならず、同様の暗い場面を撮影したビデオ画像でもリアルタイムに再生することができるので監視カメラや室内の窓など同一画面内において極端
に明るい部分と暗い部分が混在する場面を撮影したビデオ画像においても画像補整に有効な技術である。
 本発明の画像処理方法を使うことにより、監視カメラだけでなく、一般のビデオカメラにおいても高価な明るいレンズを使わなくとも回路で補正することにより暗視カメラに近い高い感度を持たせることができるので安価に高性能な映像機器を市場に提供することにより映像芸術の世界を広げることができる。
 1 CPU
 2a ROM
 2b RAM
 2c 本体メモリ
 3 システムバス
 4 I/F(PCI等)
 5 I/F(I/O等)
 6 フレームグラバ
 7 操作装置
 8 外部接続ポート
 9 GPU
 10 GPUメモリ
 11 フレームバッファ(処理用)
 12 フレームバッファ(出力用)
 13 表示出力回路
 14 ディスプレイ
 15 画像表示画面
 16 読み取りパターン
 16a 読み取りパターン
 17 着目ピクセル
 17a 着目ピクセル

Claims (1)

  1. 1パスの画像走査で画像の明るさを変換する画像処理装置であって、前記画像走査の走査位置を含む所定パターンの移動エリアについて明るさ情報iのヒストグラムhist(i)を求める手段と、前記ヒストグラムhist(i)をi≦p(ただしpは前記走査位置の変換前の明るさ情報)の範囲で累積して累積度数nを求める手段と、前記走査位置の明るさ情報pを前記累積度数nに応じて明るさ情報に変換する手段とを備える画像処理装置。
PCT/JP2009/007201 2009-02-06 2009-12-24 画像処理装置 WO2010089836A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/145,388 US8724196B2 (en) 2009-02-06 2009-12-24 Image processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009025941A JP4386959B1 (ja) 2009-02-06 2009-02-06 画像処理装置
JP2009-025941 2009-02-06

Publications (1)

Publication Number Publication Date
WO2010089836A1 true WO2010089836A1 (ja) 2010-08-12

Family

ID=41549814

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/007201 WO2010089836A1 (ja) 2009-02-06 2009-12-24 画像処理装置

Country Status (3)

Country Link
US (1) US8724196B2 (ja)
JP (1) JP4386959B1 (ja)
WO (1) WO2010089836A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917180A (zh) * 2011-08-05 2013-02-06 佳能企业股份有限公司 影像撷取方法及影像撷取装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5701010B2 (ja) * 2010-10-22 2015-04-15 キヤノン株式会社 画像処理装置およびその制御方法
JP5178933B1 (ja) * 2012-05-21 2013-04-10 正浩 小林 画像処理装置
TWI473039B (zh) * 2013-03-05 2015-02-11 Univ Tamkang 影像的動態範圍壓縮與局部對比增強方法及影像處理裝置
WO2017132858A1 (en) * 2016-02-03 2017-08-10 Chongqing University Of Posts And Telecommunications Methods, systems, and media for image processing
US11049224B2 (en) 2018-12-05 2021-06-29 Microsoft Technology Licensing, Llc Automated real-time high dynamic range content review system
TWI727306B (zh) * 2019-04-16 2021-05-11 瑞昱半導體股份有限公司 對比調整系統及對比調整方法
US20230162473A1 (en) * 2021-01-22 2023-05-25 Logic And Design Co., Ltd Image processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530368A (ja) * 2001-05-02 2004-09-30 アピカル リミテッド 画質向上方法及びそのための装置
JP2005055744A (ja) * 2003-08-06 2005-03-03 Minolta Co Ltd 撮像装置、およびプログラム
JP2007234034A (ja) * 2007-03-30 2007-09-13 Matsushita Electric Ind Co Ltd 画像処理装置及び画像処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501252B2 (ja) * 1995-06-16 2004-03-02 三菱電機株式会社 階調補正装置
JPH099040A (ja) * 1995-06-21 1997-01-10 Minolta Co Ltd 画像処理装置
JP2002142150A (ja) 2000-10-31 2002-05-17 Hitachi Ltd 撮像装置
JP2003051944A (ja) 2001-08-07 2003-02-21 Canon Inc 画像処理方法、画像処理システム、プログラム及び記憶媒体
JP4774915B2 (ja) 2005-10-26 2011-09-21 カシオ計算機株式会社 撮像装置、階調補正方法及びプログラム
US7639893B2 (en) * 2006-05-17 2009-12-29 Xerox Corporation Histogram adjustment for high dynamic range image mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530368A (ja) * 2001-05-02 2004-09-30 アピカル リミテッド 画質向上方法及びそのための装置
JP2005055744A (ja) * 2003-08-06 2005-03-03 Minolta Co Ltd 撮像装置、およびプログラム
JP2007234034A (ja) * 2007-03-30 2007-09-13 Matsushita Electric Ind Co Ltd 画像処理装置及び画像処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUMIHIKO SAITO: "Optimal Parameters Estimation in Local Adaptive Contrast Enhancement Using Genetic Algorithm", THE JOURNAL OF THE INSTITUTE OF IMAGE ELECTRONICS ENGINEERS OF JAPAN, vol. 28, no. 5, 25 October 1999 (1999-10-25), pages 669 *
SOSUKE SHIMOYAMA: "Evaluation of High Speed and High Quality Dynamic-Range-Compression Method Using Local Histogram Equalization", PROCEEDINGS OF THE 2008 IEICE GENERAL CONFERENCE, pages 24 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917180A (zh) * 2011-08-05 2013-02-06 佳能企业股份有限公司 影像撷取方法及影像撷取装置

Also Published As

Publication number Publication date
US8724196B2 (en) 2014-05-13
US20110273748A1 (en) 2011-11-10
JP4386959B1 (ja) 2009-12-16
JP2010183409A (ja) 2010-08-19

Similar Documents

Publication Publication Date Title
JP4386959B1 (ja) 画像処理装置
US7791652B2 (en) Image processing apparatus, image capture apparatus, image output apparatus, and method and program for these apparatus
JP7077395B2 (ja) 多重化高ダイナミックレンジ画像
US10255888B2 (en) Merging multiple exposures to generate a high dynamic range image
JP4290193B2 (ja) 画像処理装置
US20130235181A1 (en) Information processing apparatus, information processing method, program, and imaging apparatus including optical microscope
KR100548611B1 (ko) 영상 처리에 있어서의 에지 강조를 위한 장치 및 방법
US20120127336A1 (en) Imaging apparatus, imaging method and computer program
JPWO2006134923A1 (ja) 画像処理装置、コンピュータプログラム製品および画像処理方法
JPWO2011083555A1 (ja) 画像処理装置、画像生成システム、方法、およびプログラム
JP5411786B2 (ja) 撮影装置および画像統合プログラム
JPH09101236A (ja) 表示欠陥検査装置および表示欠陥検査方法
JP2014147047A (ja) 画像処理装置、方法、及びプログラム、並びに撮像装置
JP5202749B1 (ja) 画像処理方法
JP5256236B2 (ja) 画像処理装置および方法,ならびに画像処理プログラム
KR20160001582A (ko) 화상 처리 장치 및 화상 처리 방법
JP5178933B1 (ja) 画像処理装置
JP2023111637A (ja) 画像処理装置及び方法、及び撮像装置
US20200351417A1 (en) Image processing
JP2005318499A (ja) 画像処理装置
JP5159647B2 (ja) 画像処理装置及び画像処理方法
KR20160069452A (ko) 영상 처리 장치, 영상 처리 방법, 및 프로그램
JP2005136497A (ja) 画像処理方法、画像処理装置
JP7502902B2 (ja) 画像処理装置、撮像装置、制御方法及びプログラム
KR100688757B1 (ko) 이미지 데이터의 에지 강조 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09839614

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13145388

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09839614

Country of ref document: EP

Kind code of ref document: A1