KR20000008711A - System for converting gray level value of picture into binary level value - Google Patents

System for converting gray level value of picture into binary level value Download PDF

Info

Publication number
KR20000008711A
KR20000008711A KR1019980028651A KR19980028651A KR20000008711A KR 20000008711 A KR20000008711 A KR 20000008711A KR 1019980028651 A KR1019980028651 A KR 1019980028651A KR 19980028651 A KR19980028651 A KR 19980028651A KR 20000008711 A KR20000008711 A KR 20000008711A
Authority
KR
South Korea
Prior art keywords
binary
level value
gray level
target pixel
value
Prior art date
Application number
KR1019980028651A
Other languages
Korean (ko)
Other versions
KR100313857B1 (en
Inventor
김행환
김철
Original Assignee
윤종용
삼성전자 주식회사
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 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019980028651A priority Critical patent/KR100313857B1/en
Publication of KR20000008711A publication Critical patent/KR20000008711A/en
Application granted granted Critical
Publication of KR100313857B1 publication Critical patent/KR100313857B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
    • H04N1/4053Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions with threshold modulated relative to input image data or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

PURPOSE: A system for converting gray level value of picture into binary level value CONSTITUTION: A system for converting gray level value of picture into binary level value includes a memory (10) storing binary converted error values as to each pixel of previous plural lines from a line having a target pixel; a shift register (12) performing shifting of binary converted error values in a given sized window of the memory (10); a gray level correction part (14) adding an average obtained by multiplying the binary converted error values in the window by a weight and a gray level value of the currently input target pixel to produce a corrected gray level value; and a binary conversion and error computing part (16) storing a binary converted error value of the target pixel in the memory (10) and the current target pixel's position of the shift register (12). The inventive system computes the binary level value of the target pixel before application of the next pixel after inputting the target pixel, and consecutively produces the binary level value by system clock periods so that the gray level value of the picture can be rapidly converted.

Description

화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치Apparatus for converting gray level values of an image into binary level values

본 발명은 화상 처리장치에 관한 것으로, 보다 상세하게는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치에 관한 것이다.The present invention relates to an image processing apparatus, and more particularly, to an apparatus for converting a gray level value of an image into a binary level value.

일반적으로 프린터나 스캐너 등은 입력되는 화상 처리시 그레이 레벨(Grey level)값을 이진 레벨값으로 변환하게 되는 데, 이러한 이진 레벨 변환을 수행하는 알고리즘으로는 Orthered Dithering, 에러확산(Error Diffusion) 방식 등이 있다. 이 중 특히 에러확산 방식은 타겟 픽셀의 이진 레벨값을 구함에 있어, 타겟 픽셀 이전의 복수개의 픽셀들의 이진변환 에러값들에 웨이트를 곱하여 평균한 값으로 타겟 픽셀의 이진 레벨값을 구하는 방법이다.In general, a printer or a scanner converts a gray level value into a binary level value when processing an input image. An algorithm for performing such binary level conversion includes orthered dithering, an error diffusion method, and the like. There is this. In particular, the error diffusion method is a method of obtaining a binary level value of a target pixel by multiplying a weight by binary weight error values of a plurality of pixels before the target pixel.

그런데, 이와 같은 종래의 에러확산 방식을 이용한 이진 레벨값을 계산하기 위한 장치는 구조가 복잡하기 때문에 짧은 시스템 시간(예컨대, 4개의 시스템 클락) 안에 타겟 픽셀에 대한 이진 레벨값을 계산하는 것이 매우 어려운 문제점이 있다.However, since the apparatus for calculating the binary level value using the conventional error diffusion method is complicated in structure, it is very difficult to calculate the binary level value for the target pixel within a short system time (for example, four system clocks). There is a problem.

본 발명의 목적은, 상기와 같은 문제점을 해결하기 위해, 타겟 픽셀 입력후 다음 픽셀 입력되기 전까지 타겟 픽셀의 이진 레벨값을 계산하여 소정 시스템 클락 주기로 연속해서 이진 레벨값을 출력하기 위한 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치를 제공하는 것이다.An object of the present invention is to solve the above problems, the gray level of the image for calculating the binary level value of the target pixel and outputting the binary level value continuously in a predetermined system clock cycle after inputting the target pixel and before the next pixel input. It is to provide a device for converting a value to a binary level value.

도 1은 본 발명에 따른 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치의 실시예의 블록도이다.1 is a block diagram of an embodiment of an apparatus for converting gray level values of an image according to the present invention into binary level values.

도 2는 본 발명에 따른 장치의 동작을 설명하기 위한 흐름도이다.2 is a flowchart illustrating the operation of the apparatus according to the present invention.

상기의 목적을 달성하기 위하여,In order to achieve the above object,

타겟 픽셀이 포함된 라인으로부터 이전 복수개 라인의 각 픽셀들에 대한 이진 변환 에러값들을 저장하기 위한 메모리부; 상기 메모리부의 소정 크기의 윈도우 내에 포함된 픽셀들의 이진변환 에러값들을 일시 저장하고, 시스템 클락에 의해 한 라인씩 상기 윈도우 내의 이진변환 에러값들을 쉬프트시키는 쉬프트 레지스터부; 상기 윈도우 내의 이진변환 에러값들에 웨이트를 곱하여 평균한 값과 현재 입력되는 타겟 픽셀의 그레이 레벨값을 가산하여 보정된 그레이 레벨값을 출력하기 위한 그레이 레벨값 보정부; 및 상기 보정된 그레이 레벨값과 소정의 임계값을 비교하여 타겟 픽셀의 이진레벨값을 계산하여 출력하고, 타겟 픽셀의 이진 변환 에러값을 계산하여 상기 메모리부와 상기 쉬프트 레지스터부의 현재 타겟 픽셀의 위치에 저장하기 위한 이진 변환 및 에러 계산부를 포함함을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치가 제공된다.A memory unit for storing binary conversion error values for each pixel of a plurality of previous lines from a line including a target pixel; A shift register unit for temporarily storing binary conversion error values of pixels included in a window of a predetermined size of the memory unit and shifting the binary conversion error values in the window line by line by a system clock; A gray level value corrector for outputting a gray level value corrected by adding a value obtained by multiplying the binary conversion error values in the window by an average and a gray level value of a target pixel currently input; And calculating a binary level value of a target pixel by comparing the corrected gray level value with a predetermined threshold value, calculating a binary conversion error value of a target pixel, and calculating a position of a current target pixel of the memory unit and the shift register unit. An apparatus for converting a gray level value of an image into a binary level value, comprising a binary conversion and an error calculation unit for storing in a.

이어서, 첨부한 도면들을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.Next, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치의 실시예의 블록도이다.1 is a block diagram of an embodiment of an apparatus for converting gray level values of an image according to the present invention into binary level values.

도 1에 도시된 장치는 메모리부(10), 8비트 쉬프트 레지스터(12), 그레이 레벨값 보정부(14), 이진 변환 및 에러계산부(16)를 포함한다.The apparatus shown in FIG. 1 includes a memory unit 10, an 8-bit shift register 12, a gray level value correction unit 14, a binary conversion and error calculator 16.

메모리부(10)는 타겟 픽셀(현재 이진 레벨값 또는 이진변환 에러값을 구하고자 하는 픽셀)이 포함된 라인으로부터 이전 복수개 라인의 각 픽셀들의 이진 변환 에러값들을 저장한다. 메모리부(10)는 바람직하게는 SRAM으로 구현할 수 있으며, 적어도 이진화하고자 하는 문서의 세로방향으로 복수개 라인 정도는 저장할 수 있는 크기인 것이 바람직하다. WE/, OE/는 메모리부(10)에 저장된 데이터를 각각 WRITE 및 OUT(READ)하기 위한 신호이다.The memory unit 10 stores binary conversion error values of each pixel of the previous plurality of lines from a line including a target pixel (a current binary level value or a pixel for which a binary conversion error value is to be obtained). The memory unit 10 may be preferably implemented as an SRAM, and at least a plurality of lines in a vertical direction of a document to be binarized may be a size that can be stored. WE /, OE / are signals for writing and writing out data stored in the memory unit 10, respectively.

여기서, 이진 변환 에러값이란 픽셀들의 그레이 레벨값(8비트라면 0 - 255레벨까지의 값이 존재)을 이진 레벨값으로 변환하였을 때의 차이를 말한다. 예컨대 그레이 레벨값이 200인 픽셀이 이진 레벨 1(그레이 레벨 255에 해당)로 변환되었을 때의 이진 변환 에러값은 255-200=+55가 된다. 또한, 그레이 레벨값이 130인 픽셀이 이진 레벨 0(그레이 레벨 0에 해당)로 변환되었을 때의 이진 변환 에러값은 0-130=-130이 된다.Here, the binary conversion error value refers to a difference when the gray level value of the pixels (the value of 0 to 255 level if the 8 bits are present) is converted to the binary level value. For example, a binary conversion error value when a pixel having a gray level value of 200 is converted to binary level 1 (corresponding to gray level 255) becomes 255-200 = + 55. Further, the binary conversion error value when the pixel having the gray level value 130 is converted to binary level 0 (corresponding to gray level 0) is 0-130 = -130.

여기서, 복수개 라인은 어떤 크기의 윈도우를 설정하느냐에 따라 결정되는데, 예컨대 5×3 크기의 윈도우를 설정한다면 이진화하고자는 문서의 세로방향으로 적어도 3 라인 정도는 저장할 수 있는 크기가 되어야 한다. 따라서, 이진화하고자는 문서가 A4 크기이고, 입력되는 타겟 픽셀의 속도가 600dpi이며 그레이 레벨이 8비트라면 메모리부(10)의 용량은 적어도 (3Line×5120pixel×8bit) 정도의 크기는 되어야 한다.Here, the plurality of lines is determined by the size of the window to be set. For example, if a 5 × 3 window is set, at least three lines in the vertical direction of the document to be binarized should be a size that can be stored. Therefore, if the document to be binarized is A4 size, the speed of the input target pixel is 600 dpi and the gray level is 8 bits, the capacity of the memory unit 10 should be at least about 3 Line x 5120 pixels x 8 bits.

만약, 6×4 크기의 윈도우를 설정한다면 이진화하고자 하는 문서의 세로방향으로 적어도 4 라인 정도는 저장할 수 있는 크기가 되어야 할 것이다. 그리고, 메모리부(10)를 SRAM으로 구현할 경우, 리드/라이트 하는 엑세스 타임은 시스템 1클락에 가능한 것을 사용하는 것이 바람직하다.If you set a 6x4 window, at least 4 lines in the vertical direction of the document to be binarized should be a size that can be stored. When the memory unit 10 is implemented as an SRAM, it is preferable to use an access time for reading / writing that is possible for one clock of the system.

8비트 쉬프트 레지스터(12)는 메모리부(10)에 포함된 복수개의 라인에서 소정 크기의 윈도우 내에 포함된 픽셀들의 이진변환 에러값들을 일시 저장하고, 시스템 클락에 의해 상기 윈도우 내의 이진변환 에러값들을 쉬프트 시킨다. 도 1에 도시된 실시예에서는 12개의 픽셀들의 이진 변환 에러값들을 일시 저장하기 위한 12개의 플립플롭들(F/F; 120-142)을 포함한다. 표 1을 참조하여 8비트 쉬프트 레지스터(12)의 상세 동작을 설명하기로 한다.The 8-bit shift register 12 temporarily stores binary conversion error values of pixels included in a window of a predetermined size in a plurality of lines included in the memory unit 10, and stores the binary conversion error values in the window by a system clock. Shift it. 1 includes twelve flip-flops (F / F) 120-142 for temporarily storing binary conversion error values of twelve pixels. Referring to Table 1, the detailed operation of the 8-bit shift register 12 will be described.

표 1은 에러 확산 방식 중 윈도우 크기가 5×3인 경우(STUCKI 알고리즘)의 타겟 픽셀 이전의 픽셀들의 위치와 웨이트를 나타낸다.Table 1 shows the positions and weights of the pixels before the target pixel when the window size is 5 × 3 (STUCKI algorithm) among the error diffusion methods.

1(0,4)1 (0,4) 2(0,3)2 (0,3) 4(0,2)4 (0,2) 2(0,1)2 (0,1) 1(0,0)1 (0,0) 2(1,4)2 (1,4) 4(1,3)4 (1,3) 8(1,2)8 (1,2) 4(1,1)4 (1,1) 2(1,0)2 (1,0) 4(2,4)4 (2,4) 8(2,3), C08 (2,3), C0 C1C1 C2C2 C3C3

표 1에서 현재 이진레벨값 또는 이진변환 변환의 에러값을 구하기 위한 타겟 픽셀은 C1이다. C1에 대한 이진 레벨값을 구하기 위해 C1 이전 12개 픽셀들의 이진 변환 에러값들(이미 계산되어 메모리부에 저장되어 있는 상태)을 참조하는 것이다. 표 1의 (0,0)에서 (0,4)의 위치에 해당하는 픽셀들의 이진변환 에러값들은 각각 플립플롭 120-128에 일시 저장되어 있다. 또한, (1,0)에서 (1,4)의 위치에 해당하는 픽셀들의 이진변환 에러값들은 각각 플립플롭 130-138에 일시 저장되어 있다. 그리고, (2,3)에서 (2,4)의 위치에 해당하는 픽셀들의 이진변환 에러값들은 각각 플립플롭 140-142에 일시 저장되어 있다.In Table 1, the target pixel for obtaining the current binary level value or the error value of the binary conversion is C1. In order to find the binary level value for C1, the binary conversion error values of the 12 pixels before C1 are referred to (the state already calculated and stored in the memory unit). The binary conversion error values of the pixels corresponding to the positions of (0, 4) in (0, 0) of Table 1 are temporarily stored in flip-flops 120-128, respectively. In addition, binary conversion error values of pixels corresponding to positions (1, 0) to (1, 4) are temporarily stored in flip-flops 130-138, respectively. In addition, binary conversion error values of pixels corresponding to positions (2, 3) to (2, 4) are temporarily stored in flip-flops 140-142, respectively.

여기서, 초기에는 모든 라인의 픽셀들의 이진변환 에러값들이 플립플롭에 저장되어 있다. 그러나, 시스템 클락이 입력되면 라인 마다 한 픽셀씩 오른쪽으로 쉬프트하게 되는데, 이 때 비게 되는 (0,0) 및 (1,0)의 위치에 해당하는 픽셀의 이진변환 에러값만 메모리부(10)로부터 읽어와서 저장한다. 즉, 모든 픽셀의 이진변환 에러값을 메모리부(10)로부터 읽어와서 저장하는 것이 아니라 쉬프트되어 공백이 된 픽셀의 이진변환 에러값만 읽어서 저장하므로 시스템 클락의 개수를 현저하게 줄일 수 있다.Here, initially, binary conversion error values of pixels of all lines are stored in a flip-flop. However, when the system clock is input, the pixel shifts to the right by one pixel for each line. Only the binary conversion error value of the pixel corresponding to the position of (0,0) and (1,0) is empty. Read from and save. That is, the number of system clocks can be remarkably reduced because the binary conversion error values of all pixels are read and stored instead of being read from the memory unit 10 and stored.

즉, 제1시스템 클락 입력시 (0,1)에서 (0,4)의 위치에 해당하는 이진 변환 에러값은 한 픽셀씩 쉬프트되고, 제2시스템 클락 입력시 (1,1)에서 (1,4)의 위치에 해당하는 이진 변환 에러값은 한 픽셀씩 쉬프트된다. 또한, 제3시스템 클락 입력시 (2,3)에서 (2,4)의 위치에 해당하는 이진 변환 에러값은 한 픽셀씩 쉬프트된다. 이 때 쉬프트되는 것과는 병렬적으로 타겟 픽셀의 이진변환 에러값을 계산하여, 메모리부(10)와 한 픽셀 쉬프트되어 비어있는 플립플롭에 저장하는 것이다.That is, the binary conversion error value corresponding to the position of (0,1) to (0,4) at the time of the first system clock input is shifted by one pixel, and at (1,1) to (1,1) at the time of the second system clock input. The binary conversion error value corresponding to the position of 4) is shifted by one pixel. In addition, the binary conversion error value corresponding to the position of (2, 3) to (2, 4) at the time of the third system clock input is shifted by one pixel. In this case, the binary conversion error value of the target pixel is calculated in parallel with the shifted one, and is shifted by one pixel with the memory unit 10 and stored in an empty flip-flop.

그레이 레벨값 보정부(14)는 8 비트 쉬프트 레지스터(12)의 윈도우 내에 포함된 픽셀들의 이진변환 에러값들에 근거하여 입력되는 타겟 픽셀의 그레이 레벨값을 보정하여 출력한다. C를 현재 입력되는 타겟 픽셀의 그레이 레벨값, C'을 보정된 타겟 픽셀의 그레이 레벨값이라 할 때, 그레이 레벨값 보정부(14)는 구체적으로 다음과 같은 연산을 수행한다.The gray level value corrector 14 corrects and outputs the gray level value of the input target pixel based on the binary conversion error values of the pixels included in the window of the 8-bit shift register 12. When C is a gray level value of a target pixel currently input and C 'is a gray level value of a corrected target pixel, the gray level value corrector 14 specifically performs the following operation.

C' = C + {1/42}{1×ERR(0,0) + 2×ERR(0,1) + 4×ERR(0,2) + ... + 2×ERR(1,4) + 8×ERR(2,3) + 4×ERR(2,4)}C '= C + {1/42} {1 × ERR (0,0) + 2 × ERR (0,1) + 4 × ERR (0,2) + ... + 2 × ERR (1,4) + 8 × ERR (2,3) + 4 × ERR (2,4)}

이러한 연산은 복수개의 승산기와 가산기를 사용하면 쉽게 수행할 수 있다.This operation can be easily performed using a plurality of multipliers and adders.

이진 변환 및 에러계산부(16)는 그레이 레벨값 보정부(14)에서 보정된 타겟 픽셀의 그레이 레벨값과 소정의 임계값을 비교하여 이진레벨값으로 변환하여 출력한다. 보정된 타겟 픽셀의 그레이 레벨값이 소정의 임계값 보다 크면 이진 레벨 1을 출력하고, 그 반대의 경우에는 이진 레벨 0을 출력한다. 또한, 상기 보정된 그레이 레벨값과 상기 변환된 이진레벨값의 차이인 현재 타겟 픽셀의 이진 변환 에러값을 계산하여 메모리부(10)와 8 비트 쉬프트 레지스터(12)의 현재 타겟 픽셀에 저장한다. 예컨대, 보정된 그레이 레벨값이 150인데, 임계값이 130으로 설정되어 있으면 이진 레벨값은 1(그레이 레벨 255에 해당)이 된다. 그리고, 이진변환 에러값은 255-150=+105가 된다.The binary conversion and error calculation unit 16 compares the gray level value of the target pixel corrected by the gray level value correction unit 14 with a predetermined threshold value, converts it to a binary level value, and outputs the binary level value. If the gray level value of the corrected target pixel is larger than the predetermined threshold value, binary level 1 is output, and vice versa, binary level 0 is output. The binary conversion error value of the current target pixel, which is the difference between the corrected gray level value and the converted binary level value, is calculated and stored in the current target pixel of the memory unit 10 and the 8-bit shift register 12. For example, if the corrected gray level value is 150 and the threshold is set to 130, the binary level value is 1 (corresponding to gray level 255). The binary conversion error value is 255-150 = + 105.

이러한 저장까지의 동작이 C1에 대한 세 번째 클락(제3시스템 클락)내에 완료된다. 다음 타겟 픽셀이 입력될 때까지 4 클락이 소요된다면, 한 클락 만큼 여유 타임(더미 시스템 클락)이 생기게된다.The operation up to this storage is completed in the third clock (C3 system clock) for C1. If it takes 4 clocks until the next target pixel is input, there is a free time (dummy system clock) by one clock.

C2 픽셀의 첫 번째 및 두 번째 클락에서는 메모리부(10)으로부터 새로운 픽셀의 이진변환 에러값을 읽어 한 픽셀씩 쉬프트 되어 비어 있는 8 비트 쉬프트 레지스터(12)의 플립플롭[(0,0) 및 (1,0)의 위치]에 저장한다. 세 번째 클락에 의해서는 C0 와 C1 픽셀 까지의 이진 변환 에러값을 고려하여 C2에 대한 이진 레벨값을 계산하고, 계산결과를 다시 메모리부(10)와 8 비트 쉬프트 레지스터(12)에 저장을 한다.In the first and second clocks of the C2 pixel, the flip-flops [(0,0) and () of the empty 8-bit shift register 12 are read by the binary conversion error value of the new pixel from the memory unit 10 and shifted by one pixel. Location of 1)]. The third clock calculates the binary level value for C2 in consideration of the binary conversion error values up to C0 and C1 pixels, and stores the result in the memory unit 10 and the 8-bit shift register 12 again. .

이와 같은 방법을 C3, C4, C5, ... 에 적용하면 소정 시스템 클락 주기로 연속해서 타겟 픽셀의 그레이 레벨값이 이진 레벨값으로 변환되어 출력하게 된다.When such a method is applied to C3, C4, C5, ..., the gray level value of the target pixel is converted into a binary level value in succession in a predetermined system clock period and output.

도 2는 본 발명에 따른 장치의 동작을 설명하기 위한 흐름도이다.2 is a flowchart illustrating the operation of the apparatus according to the present invention.

도 2는 메모리부(10)로 SRAM을 사용하고, 윈도우 크기를 5×3으로 설정한 경우의 이진 레벨 변환 흐름도이다.2 is a flowchart of binary level conversion in the case where SRAM is used as the memory unit 10 and the window size is set to 5x3.

타겟 픽셀을 입력한다.(202 단계) 타겟 픽셀의 그레이 레벨값을 그레이 레벨값 보정부(14)에 입력한다.The target pixel is input (step 202). The gray level value of the target pixel is input to the gray level value corrector 14.

SRAM에서 (0,0) 위치의 픽셀에 대한 이진 변환 에러값[ERR(0,0)]을 읽어 8 비트 쉬프트 레지스터(0,0) 위치의 플립플롭에 저장한다.(204 단계) 이 때, C1에 대한 첫 번째 시스템 클락인 제1시스템 클락이 필요하다.The binary conversion error value [ERR (0,0)] for the pixel at position (0,0) is read from the SRAM and stored in a flip-flop at position 8-bit shift register (0,0). We need the first system clock for C1, the first system clock.

SRAM에서 (1,0) 위치의 픽셀에 대한 이진 변환 에러값[ERR(1,0)]을 읽어 8 비트 쉬프트 레지스터(1,0) 위치의 플립플롭에 저장한다.(206 단계) 이 때는, C1에 대한 두 번째 시스템 클락인 제2시스템 클락이 필요하다.The binary conversion error value [ERR (1,0)] for the pixel at position (1,0) is read from the SRAM and stored in a flip-flop at the position of the 8-bit shift register (1,0). A second system clock, C2, is needed.

C1의 이전 12 개픽셀에 대한 픽셀 에러값을 합산한다.(208 단계) 이는 각 픽셀에 대한 웨이트와 에러값을 각각 곱한 값들을 모두 더한 값(SUMERR)이다.The pixel error values for the previous 12 pixels of C1 are summed (step 208). This is the sum of sums of the weights and the error values for each pixel, respectively (SUMERR).

208 단계에서 합산한 값을 웨이트의 총합으로 나눈다.(210 단계) 이 값을 이하에서, DIVERR이라 한다.The value added in step 208 is divided by the sum of the weights (step 210). This value is hereinafter referred to as DIVERR.

DIVERR와 202 단계에서 입력된 타겟 픽셀에 대한 그레이 레벨값을 합산한다.(212 단계) 이 값이 타겟 픽셀의 보정된 그레이 레벨값이 된다.The gray level values for the target pixel input in step 202 and DIVERR are summed (step 212). This value becomes the corrected gray level value of the target pixel.

212 단계에서 구해진 보정된 그레이 레벨값을 이진 레벨값으로 변환한다.(214 단계) 상기 보정된 그레이 레벨값과 임계값을 비교하여 이진레벨값으로 변환하게 된다.The corrected gray level value obtained in step 212 is converted into a binary level value (step 214). The corrected gray level value and a threshold value are compared to be converted into a binary level value.

214 단계에서 변환된 이진 레벨값을 출력한다.(216 단계)The binary level value converted in step 214 is output (step 216).

이진 변환 에러값을 계산한다.(218 단계) 상기 보정된 그레이 레벨값과 이진 레벨값을 비교하여 구한다.The binary conversion error value is calculated (step 218). The corrected gray level value and the binary level value are compared and obtained.

계산된 이진 변환 에러값은 다음 타겟 픽셀의 이진 레벨값을 구하기 위해 SRAM에 WRITE한다.(220 단계) 또한, 8 비트 쉬프트 레지스터(12)의 (2,3) 픽셀의 위치에 WRITE한다.(222 단계) C1 타겟 픽셀의 이진 변환 에러값을 레지스터의 플립플롭 (2,3)의 위치에 WRITE하는 것은 에러값 계산후 한 픽셀씩 오른쪽으로 이동하기 때문이다. 208-222 단계의 동작이 세 번 째 시스템 클락 안에 이루어지게 된다.The calculated binary conversion error value is written to the SRAM to obtain the binary level value of the next target pixel (step 220). Also, the binary conversion error value is written to the position of the (2,3) pixel of the 8-bit shift register 12. (222) Step) Writing the binary conversion error value of the C1 target pixel to the position of the flip-flop (2, 3) of the register is because the pixel shifts to the right one pixel after the error value calculation. Actions in steps 208-222 will occur within the third system clock.

본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다. 즉, 본 발명에서는 윈도우 크기가 5×3인 경우를 예를들어 설명하였으나 다른 크기의 윈도우에도 적용할수 있음은 물론이다. 또한, 그레이 레벨값이 8비트로 된 경우에 대해 설명하였으나, 16비트, 32비트 등에도 적용할 수 있다.The present invention is not limited to the above-described embodiment, and of course, modifications may be made by those skilled in the art within the spirit of the present invention. That is, in the present invention, the case where the window size is 5x3 has been described as an example, but it can be applied to other size windows. In addition, although the case where the gray level value becomes 8 bits was demonstrated, it is applicable also to 16 bits, 32 bits, etc.

본 발명에 따르면, 타겟 픽셀 입력후 다음 픽셀 입력되기 전까지 타겟 픽셀의 이진 레벨값을 계산하여 소정 시스템 클락 주기로 연속해서 이진 레벨값을 출력함으로써 적은 용량의 메모리와 간단한 하드웨어로 화상의 그레이 레벨값을 빠르게 이진 레벨값으로 변환할 수 있다.According to the present invention, the binary level value of the target pixel is calculated after inputting the target pixel and before the next pixel is input, and the binary level value is continuously output in a predetermined system clock cycle, thereby rapidly increasing the gray level value of the image with a small amount of memory and simple hardware. Can be converted to binary level values.

Claims (6)

타겟 픽셀이 포함된 라인으로부터 이전 복수개 라인의 각 픽셀들에 대한 이진 변환 에러값들을 저장하기 위한 메모리부;A memory unit for storing binary conversion error values for each pixel of a plurality of previous lines from a line including a target pixel; 상기 메모리부의 소정 크기의 윈도우 내에 포함된 픽셀들의 이진변환 에러값들을 일시 저장하고, 시스템 클락에 의해 한 라인씩 상기 윈도우 내의 이진변환 에러값들을 쉬프트시키는 쉬프트 레지스터부;A shift register unit for temporarily storing binary conversion error values of pixels included in a window of a predetermined size of the memory unit and shifting the binary conversion error values in the window line by line by a system clock; 상기 윈도우 내의 이진변환 에러값들에 웨이트를 곱하여 평균한 값과 현재 입력되는 타겟 픽셀의 그레이 레벨값을 가산하여 보정된 그레이 레벨값을 출력하기 위한 그레이 레벨값 보정부; 및A gray level value corrector for outputting a gray level value corrected by adding a value obtained by multiplying the binary conversion error values in the window by an average and a gray level value of a target pixel currently input; And 상기 보정된 그레이 레벨값과 소정의 임계값을 비교하여 타겟 픽셀의 이진레벨값을 계산하여 출력하고, 타겟 픽셀의 이진 변환 에러값을 계산하여 상기 메모리부와 상기 쉬프트 레지스터부의 현재 타겟 픽셀의 위치에 저장하기 위한 이진 변환 및 에러 계산부를 포함함을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.Comparing the corrected gray level value with a predetermined threshold value, a binary level value of a target pixel is calculated and outputted, and a binary conversion error value of the target pixel is calculated to be located at a current target pixel position of the memory unit and the shift register unit. An apparatus for converting gray level values of an image into binary level values comprising a binary conversion and an error calculation unit for storing. 제1항에 있어서, 상기 메모리부는The method of claim 1, wherein the memory unit SRAM이고, 적어도 3라인에 대한 픽셀의 이진변환 에러값을 저장하는 것을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.And an SRAM, which stores a binary conversion error value of a pixel for at least three lines. 제2항에 있어서, 상기 SRAM은 엑세스 타임으로 1개의 시스템 클락을 소요하는 것을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.3. The apparatus of claim 2, wherein the SRAM takes one system clock in access time. 제2항에 있어서, 상기 쉬프트 레지스터부의 윈도우 크기는 5×3임을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.The apparatus of claim 2, wherein the window size of the shift register unit is 5x3. 제4항에 있어서, 상기 쉬프트 레지스터는 현재 타겟 픽셀의 이전 12개의 이진 변환 에러값을 일시적으로 저장하기 위한 12개의 플립플롭을 포함함을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.5. The gray level value of an image as claimed in claim 4, wherein the shift register includes twelve flip-flops for temporarily storing previous twelve binary conversion error values of a current target pixel. Device for. 제1항에 있어서, 상기 이진 변환 및 에러 계산부는The method of claim 1, wherein the binary conversion and error calculation unit 소정 개의 시스템 클락 주기로 타겟 픽셀들의 이진 레벨값을 연속해서 출력함을 특징으로 하는 화상의 그레이 레벨값을 이진레벨값으로 변환하기 위한 장치.An apparatus for converting gray level values of an image into binary level values, characterized by continuously outputting binary level values of target pixels at predetermined system clock periods.
KR1019980028651A 1998-07-15 1998-07-15 Apparatus for converting gray level values of an image into binary level values KR100313857B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980028651A KR100313857B1 (en) 1998-07-15 1998-07-15 Apparatus for converting gray level values of an image into binary level values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980028651A KR100313857B1 (en) 1998-07-15 1998-07-15 Apparatus for converting gray level values of an image into binary level values

Publications (2)

Publication Number Publication Date
KR20000008711A true KR20000008711A (en) 2000-02-15
KR100313857B1 KR100313857B1 (en) 2001-12-12

Family

ID=19544328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028651A KR100313857B1 (en) 1998-07-15 1998-07-15 Apparatus for converting gray level values of an image into binary level values

Country Status (1)

Country Link
KR (1) KR100313857B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363965B1 (en) * 2000-11-16 2002-12-11 이성수 Method of optimizing color image for 4 gray-level display

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363965B1 (en) * 2000-11-16 2002-12-11 이성수 Method of optimizing color image for 4 gray-level display

Also Published As

Publication number Publication date
KR100313857B1 (en) 2001-12-12

Similar Documents

Publication Publication Date Title
JP4217657B2 (en) Image processing method, program, storage medium, and apparatus
JP3830561B2 (en) Error diffusion method, error diffusion system, and error generation method
JPH04119763A (en) Image processor
EP0454495A1 (en) Half-tone image processing system
KR980003999A (en) Histogram equalization circuit based on CDF computation domain and its method
KR100313857B1 (en) Apparatus for converting gray level values of an image into binary level values
US6167160A (en) Encoding and decoding methods and devices, and image processing apparatus using the same
US6222950B1 (en) Image processing with conversion from N-value to M-value data
EP1874031A1 (en) Method and apparatus capable of producing fm lattice points in high speed
US7627188B2 (en) Error diffusion method and hardware architecture
JPH06253134A (en) Picture processing device
JP3271354B2 (en) Image processing device
US8245091B2 (en) Methods and devices for generating dots of an image by using two error row memories
JPH0698157A (en) Halftone image forming device
US5646745A (en) Image data processing apparatus having line memory
US7394569B2 (en) Error-diffusion image processing system and method thereof
US5949923A (en) Image reader
EP0840495B1 (en) Method and apparatus of correcting image data levels
EP0762733A2 (en) Binarization processing apparatus and method
JP2002094785A (en) Image processing unit, image processing method, and storage medium
JP3679522B2 (en) Image processing method and apparatus
JP3697027B2 (en) Image processing apparatus and method
JP4906784B2 (en) Error diffusion processing apparatus and error diffusion processing method
JPH0654173A (en) Image processor
JP2001333277A (en) Device and method for processing image

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080930

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee