KR910006682B1 - 화상전송기기의 이미지 데이터 변곡점 검출방법 - Google Patents
화상전송기기의 이미지 데이터 변곡점 검출방법 Download PDFInfo
- Publication number
- KR910006682B1 KR910006682B1 KR1019880015863A KR880015863A KR910006682B1 KR 910006682 B1 KR910006682 B1 KR 910006682B1 KR 1019880015863 A KR1019880015863 A KR 1019880015863A KR 880015863 A KR880015863 A KR 880015863A KR 910006682 B1 KR910006682 B1 KR 910006682B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- inflection point
- data
- scan
- bit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명을 수행하기 위한 화상전송기기의 일부분의 블럭도.
제2도는 제1도 스캔버퍼의 메모리맵.
제3도는 본 발명에 따른 이미지 데이터 변곡점 검출 흐름도의 블럭 다이어그램.
제4도는 본 발명에 따른 비트디덱터 메모리 테이블.
제5도는 본 발명에 따른 마스크 테이블.
제6도는 제3도 흐름도의 상세흐름도.
본 발명은 화상전송기기의 이미지 데이터 변곡점 검출방법에 관한 것이다. 현재 화상송기기는 여러가지가 있으나 그의 대표적인 것으로써 원고의 화상을 전송하는 팩시밀리(Facsimile : 이하 FAX라함)을 들 수 있다.
상기와 같이 FAX로 전송하려고 하는 제반 도큐멘트(Document : 이하 DOC라함)는 CCITT T.4에서 규정된 크기의 라인별로 스캔되어 논리화 되어진후 전송하려는 데이터의 비트수를 감소하기 위한 압축(Coding)을 실행한 후 전송되어 진다.
스캔닝되어 논리화 되어진 FAX 이미지 데이터(Image Data)는 흑(Black)과 백(White)으로 분리되어지며, 상기와 같이 분리되는 단위를 화소라 한다.
하나의 화소하나의 크기는 세로 1/7.7mm, 가로 1/8mm이다. 상기 크기는 시스템 해상도에 따라 변할 수도 있다.
예를 들어 A4사이즈(Size)의 도큐멘트를 스캔하였을때 한라인의 화소수는 1728개가 된다. 상기의 압축방식(Cosing Method)도 역시 CCITT규정 T.4에 권고되고 있으며, 주로 MH(Modified Huffman Code) 방식과 MR(Modified Read Code) 방식이 사용되고 있다.
상기 MH팅은 한라인(One Line) 즉 1728개의 화소중 흑(Black) 화소나 백(White) 화소의 연속되는 화소의 갯수로 코드테이블(Code Table)에 따라 라인별로 코딩하는 방법이다.
예를 들어 스캔되어진 스캔데이터(화소데이터)의 백화수소 3개 연속되거나 블랙회소가 10개 연속적으로 되는 것이라면, 백화소수 3에 해당하는 코드와 블랙소수 10개에 해당하는 코드로 구성하여 전송하는 것이다.
상기와 같은 MH코딩 과정에서 스캔데이터의 연속되는 동일 색깔의 화소수를 구하기 위해서는 스캔데이터가 백색화소의 논리 0에서 흑색화소의 논리 "1" 또는 그와 반대되는 경우인 색갈 변환점(Change Point : 이하 변곡점 이라함)을 검출(Detect) 하여야만 한다. MR코딩의 경우도 기준라인(Reference Line)을 두고 현재 라인(Current Line)을 코딩(Coding)하여 나가는 방법이다.
상기 MR코딩에 있어서 기준라인(Reference Line)이란 바로전이 코딩이 끝난 이전라인을 말하며, 현재의 라인을 전라인의 바로밑에 위치하는 라인이며, 현재 코딩하려는 라인을 칭한다.
상기와 같은 MR코딩 방식도 현재의 라인을 코딩하기 위해서는 기준라인 및 현재라인의 변곡점을 구하여만 변곡점간의 거리비교를 통해서 코딩을 수행할 수 있게 된다.
그러므로 상기 MH코딩이나 MR코딩을 행할 경우에 있어서는 변곡점의 검출이 꼭 실행되어야만 한다. 따라서 본 발명의 목적은 이미지 데이터를 코딩하여 전송하는 화상전송기기에 있어서, 상기 이미지 데이터를 코딩시 필요로 하는 변곡점을 디덱션하는 방법을 제공함에 있다.
본 발명의 다른 목적은 이미지 데이터의 변곡점을 비트 디덱션 테이블과 마스크테이블을 사용하여 검출토록 하는 방법을 제공함에 있다.
이하 본 발명은 첨부한 도면을 참조하여 상세히 설명한다.
제1도는 본 발명을 수행하기 위한 FAX의 일부분의 블럭도로써, 도면중 MPU는 마이크로프로세서, DMA는 데렉트 메모리 엑세스 DOC는, 도큐멘트(원고) CCD는 광전면환소자(Charge Coupled device), LES는 레벨슬라이서(Level Slicer), SR은 시프트레지스터, SBM은 스캔버퍼 메모리(SCAN Buffer Memory)이다.
상기의 구성은 모든 FAX내에 구성된 것으로, 원고를 광으로 주주사시에 광전변환소자 CCD가 원고 DOC로부터의 광을 수광하여 광전변환하며, 상기 광전변환 신호는 레벨슬라이서 LES에 의해 레벨스라이싱됨으로써 디지탈화된 로직데이터로 변환된다. 상기 레벨슬라이서 LES에서 디지탈화 되어진 데이터는 시프트레지스터 SR에 입력된다.
상기 시프트레지스터 SR의 동작에 의해 병렬 변환되는 데이터는, 마이크로프로세서 MPU의 제어에 의해 디렉트 메모리 억세스 DMA에 의해서 스캔버퍼 메모리 SBM에 순차적으로 세이브된다. 상기와 같이 스캔버퍼 메모리 SBM에 세이브된 스캔데이트 즉 화소데이터 8비트를 화소단위로하여 세이브된다. 이때, 상기 스캔버퍼 메모리 SBM의 메모리 맵핑은 제2도와 같다.
제2도 (A)는 스캔버퍼의 바이트 어드레스 상태를 도시한 것으로써 스캔라인별 100H 바이트(byte)이다. 이때 라인을 100H 바이트로 한것은 A4용지를 스캔시 화소는 216바이트 B4용지 스캔시에도 화소바이트 수가 256바이트이기 때문이다.
제2도 (B)는 스캔버퍼의 바이트 어드레스내의 8비트 화소데이터 각각을 지정하기 위한 화소비트 어드레스를 나타낸 것이다. A4원고(도큐멘트) DOC를 스캔하였을때 한라인(One Line)의 화소는 1728개 이므로 바이트 어드레스로는 000H-00D7H이고, 비트 어드레스로는 06COH이다. B4원고 DOC를 스캔하였을때, 한라인의 화소수는 2048개 이므로 바이트 어드레스는 0000H-00FFH이고, 비트 어드레스로는 0800H이다.
제3도는 본 발명에 따른 변곡점 검출흐름도로써 소프트웨어블럭이다.
제4도는 본 발명에 따른 변곡점 검출을 위한 비트디덱션 테이블로써, 한 바이트분내의 화소데이터내에서의 변곡점을 검출하기 위하여 한바이트로 나타낼 수 있는 00H-FFH로(256바이트)까지의 어드레스 영역에서 임의의 해당하는 숫자를 인덱스(Index)로 하면 바로 한바이트 화소들내의 화소 변곡점 비트위치를 알 수 있도록 정의한 것이다.
상기 비트디덱션 테이블(Bit Detection Table : 이하 BITDET이라함)은 MSB(한바이트중 상위비트)로부터 연속되는 논리0의 갯수를 구하는 것인데 어드레스 00H-FFH까지의 숫자를 인덱스(Index2)로 하고 각 숫자로부터 이 연속되는 0의 갯수를 인덱스(Index1)로 하는 메모리 위치의 데이터가 되도록 만든 테이블이다.
제5도는 본 발명에 따른 마스크테이블로써, 한바이트분 내의 화소데이터내에 위치한 변곡점을 검출한 후 동일 바이트내에 위치할 수 있는 변곡점의 검출을 행할 시에 변곡점이 검출된 화소비트 데이터를 마스크하는 테이블이다. 상기의 테이블도 인덱스(Index1)를 이용하여 그 인덱스(Index)에 히당하는 데이터를 페치해서 사용하게 된다.
제6도는 본 발명에 따른 제3도의 상세흐름도이다. 이하 본 발명의 동작예를 상술한 제1도 내지 제6도를 참조하여 설명하기에 앞서 제1도의 원고DOC 사이즈가 A4라고 가정한다. 지금 제1도와 같이 회로에 있어서 원고DOC가 FAX의 원고 삽입구에 삽입되면, 제1도의 동작에서 제2도와 같은 스캔버퍼 메모리(SBM)의 소정 바이트 어드레스 영역에 순서적으로 세이브된다.
상기와 같이 스캔버퍼 메모리(SBM)에 스캔데이터가 세이브되는 상태에서 변곡점 검출 플로우가 런(RUN)되면, 마이크로프로세서 MPU는 제6도 (6a)과정에서 현재까지 검출된 변곡점 비트 어드레스와 한 라인의 규정화소 비트수와 비교를 통해 상기 규정 화소비트수 보다 적은가를 판단한다.
예를 들어 제2도 스캔버퍼 메모리(SBM)의 초기 시작번지인 바이트 어드레스 0000H내의 비트 어드레스 0000H의 화소비트 데이터를 억세스 한것이라면 이는 A4원고 한라인 화소비트수 1728보다 적으므로 (6b)과정에서 마이크로프로세서 MPU내의 워크레지스터(Work Register)를 클리어한다.
이때 상기 워크레지스터는 2바이트로 구성되어 상위, 하위 바이트를 분리 사용이 가능하며, RA, RB, RC, RD 4개가 마이크로프로세서에 내장되어 있다. 상기 (6b)과정을 수행한 마이크로프로세서 MPU는 (6c)과정에서 스캔버퍼 메모리(SBM)의 현재 스캔버퍼 메모리의 바이트 어드레스(SBMA)와 소정값의 화소 비교데이터 COMDAT를 배타적 논리합하여 그 결과를 레지스터 RBL에 세이브한다.
이때 상기 화소 비교 데이터 COMDAT는 한라인의 첫번째 변곡점 검출수행시 00H로 초기화(Initital)되어진 값이며, 이는 본 발명의 루틴이 수행시마다 보수(Complement)가 취하여져 변환된다.
상기 레지스터 RBL은 워크레지스터 RB의 하위바이트를 나타낸다. 따라서 스캔버퍼 메모리(SBM)의 초기 바이트 번지 0000H의 화소데이터가 제2도와 같이 "00011100"인 경우에는 레지스터 RBL에 세이브되는 데이터는 "00011100"이다. 왜냐하면, 초기 화소 비교되어지는 00H이므로써 스캔버퍼 메모리(SBM)의 바이트 어드레스 0000H가 그대로 세이브되기 때문이다.
상기 (6c)과정을 수행한 마이크로프로세서 MPU는 (6d)과정에서 마스크테이블(Mask table : 이하 Maskble라함)의 인덱스 레지스터(Index1)내의 데이터에 의한 값으로 제4도의 마스크테이블 값을 억세스 한다.
이때 상기 인덱스(Index1)는 마스크테이블(Maskble)의 특정값을 억세스 하기 위한 레지스터(Register)이며, 초기 동작시에는 00H로 초기화 되어져 있다.
따라서 마이크로프로세서 MPU는 6d과정에서 제5도의 마스크테이블의 어드레스 00H의 데이터 "111111111"를 내부 인덱스 레지스터(Index1)의 값에 의해 억세스하고 레지스터 RBL에 세이브된 데이터와 논리곱(AND)하여 그 결과를 레지스터(RBL)에 세이브한다. 이후 마이크로프로세서 MPU는 6e과정에서 레지스터(RBL)의 데이터가 모두 "0"인가를 검색하여 스캔데이터한 바이트분내 변곡점 데이터가 있는가를 검색한다.
검색결과 모두 "0"가 아니라면, 레지스커(RBL)의 현재 세이브 데이터를 인덱스 레지스터(Index2)에 6l과정에서 세이브하고, 상기 6l과정에서 인덱스(Index2)에 세이브된 데이터를 비트디덱트 테이블 어드레스로 하여 상기 비트디덱트 테이블의 데이터를 억세스하며, 그 결과의 데이타를 6m과정에서 내부 레지스터(RAL)에 로드한다. 즉 6m과정에서 전술한 레지스터(RBL)의 데이터 "00011100"를 어드레스로 하여 제4도의 비트디덱트 테이블에서 03H의 데이터를 엑세스하고 상기 억세스 데이터를 레지스터(RAL)에 세이브한다. 이후 상기 6m과정에 의해서 레지스터(RAL)에 세이브된 내용을 차기 마스크테이블의 어드레스 인덱스로 사용하기 위하여 상기 레지스터(RAL)의 데이터 03H를 6n과정에서 인덱스(Index1)에 세이브한다.
상기 6n과정을 수행한 마이크로프로세서(MPU)는 6o과정에서 현재 스캔버퍼 메모리(SBM)의 16비트 어드레스 SBMA를 내부 레지스터 RC에 세이브한다. 상기 6o과정을 수행한 마이크로프로세서(mpu)는 내부 레지스터 RC의 하위 레지스터 RCL의 어드레스 즉 스캔버퍼 메모리(SBM)의 하위 어드레스를 6p과정에서 레지스터 RD의 하위 레지스터 RDL에 세이브하고, 6r과정에서는 스캔버퍼 메모리(SBM) 어드레스의 하위 2바이트를 왼쪽으로 3번 시프트하여 비트어드레스화 한다.
상기 6r과정을 수행한 마이크로프로세서 MPU는 6s과정에서 비트어드레스화한 레지스터(RD)의 하위 레지스터(RDL)의 내용과 6m과정에 의해 디텍트된 스캔버퍼 메모리(SBM)의 바이트 어드레스중의 변곡점 위치데이터 03H를 가산(Adding)하여 변곡점 비트어드레스를 계산하여 구하고 그 결과를 레지스터(RDL)에 로드한다.
스캔버퍼 메모리(SBM)의 바이트 어드레스내의 변곡점 비트어드레스를 계산한 마이크로프로세서(MPU)는 레지스터(RD)에 세이브된 변곡점 비트어드레스를 6t과정에서 변곡점 비트어드레스 리턴값(Return Value)를 저장하는 레지스터(CPRV)에 이를 로드하고 6u과정에서 비교데이터 COMDAT를 콤플리멘팅(Complementing)한다. 이때 비교데이터 COMDAT를 콤플리멘트 하는 이유는 한번 변곡점이 디덱트 되어진 다음 변곡점을 찾기 위한 것이다.
만약 전술한 6e과정에서 레지스터(RBL)의 데이터가 모두 "0"이라면 현재 억세스된 스캔버퍼 메모리(SBM)의 어드레스 영역의 데이터내에 변곡점이 존재치 않는 것이라고 판단하고 6f과정에서 스캔버퍼 메모리(SBM)의 어드레스를 증가(Incrementing)한다. 스캔버퍼 메모리(SBM)의 어드레스를 증가시킨 후 마이크로프로세서(MPU)는 라인별 스캔데이터의 스타트 스캔버퍼 어드레스(SBMAO)에서 현재 스캔버퍼 메모리 어드레스(SBMA)를 뺀값이 도큐멘트 DOC 사이즈별 바이트하소수(TBC)와 같은가를 6g과정에서 검색한다.
이때 도큐멘트 DOC 사이즈별 바이트화소수(TBL)는 A4시 216바이트 B4시 256바이트이다.
6g과정의 검색결과 같지 않다면, 6h과정에서 현재 스캔버퍼 메모리 어드레스(SBMA) 영역의 데이터와 모두 비트가 같은 논리인 비교데이터 COMDAT를 비교하여 변곡점이 존재하는가를 검색한다. 상기 6h과정의 검색결과 현스캔 바이트의 화소데이터가 비교데이터와의 논리가 같아 변곡점이 없다면 전술한 6f과정을 반복 수행하고, 변곡점이 검출되면 6i과정에서 현재 스캔버퍼 메모리 어드레스(SBMA)를 소정버퍼(CPBASA)에 세이브한다. 이때 상기 버퍼(CPBASA)는 변곡점이 있는 스캔버퍼 어드레스를 세이브하는 영역의 어드레스이다.
상기 6i과정을 수행한 마이크로프로세서(MPU)는 6j과정에서 다음번째의 스캔버퍼 메모리 어드레스를 세이브하기 위해 소정버퍼(CPBASA)를 업데이트(Up Date)한다. 상기 6j과정에서 업데이트를 실행한 마이크로프로세서 MPU는 6k과정에서 비교데이터 COMDAT와 현재 스캔버퍼 메모리 어드레스(SBMA)의 지정에 의한 스캔데이터를 배타적 논리합하여 그 결과를 레지스터 RBL에 로드하고 전술한 6l과정을 수행하여 현재 스캔버퍼 메모리(SBM) 바이트내의 변곡점 비트어드레스를 전술한 바와 같이 계산한다.
따라서 전술한 6i, 6j, 6k과정에서는 현재라인(Current Line)의 변곡점 검출시 변곡점이 있는 스캔버퍼 메모리의 어드레스를 소정 버퍼에 세이브하여 MR코딩에 사용하려함을 알 수 있다.
한편 전술한 6g과정에서의 비교결과가 같다면, 마이크로프로세서(MPU)는 변곡점이 존재하는 스캔버퍼 메모리 어드레스 세이브 영역 즉 CPBASA에 라인끝(Line End)을 표시하는 데이터를 6w과정에서 세이브한다.
상기 6w과정을 수행한 마이크로프로세서 MPU는 변곡점 비트어드레스(CPRV)에 라인끝 비트어드레스를 로드한다. 예를 들면 원고DOC가 A4인 경우 06COH를 6x과정에서 로드한다.
상술한 바와 같이 본 발명은 스캔버퍼 메모리이 스캔데이커의 변곡점을 비트디덕션 테이블과 마스크테이블의 데이터와 간단한 소프트웨어로써 정확하게 검출함으로써 FAX 이미지 데이터를 압축 손쉽게 할 수 있다.
Claims (1)
- 화상전송기기의 이미지 데이터 변곡점 검출방법에 있어서, 현재까지 검출된 변곡점 비트어드레스와 한라인의 규정화소 비트수를 비교하여 현재 변곡점 비트어드레스가 규정화소수 비트수보다 적은가를 검색하는 제1단계와, 상기 제1단계의 검색결과가 규정화소수 보다 클때 변곡점 비트 위치에 화소수에 해당하는 값을 로딩하고 비교데이터를 보수하는 제2단계와, 상기 제1단계의 검색결과가 규정화소수 보다 적을때에 스캔데이터의 한바이트내에 변곡점이 있는가를 검색하는 제3단계와, 상기 제3단계에 검색결과 변곡점 존재시 스캔데이터 한바이트내의 변곡점 비트어드레스를 계산하고 비교테이터를 보수하고, 변곡점이 없을때 스캔버퍼 메모리 어드레스를 증가시키는 제4단계와, 스캔버퍼 어드레스 증가후 스캔버퍼 어드레스가 라인끝 어드레스인가를 검색하는 제5단계와, 상기 제5단계에서의 검색결과가 라인끝일때 변곡점이 존재하는 스캔버퍼 메모리 어드레스 세이브 영역에 라인끝을 표시하고 변곡점 비트 위치에 화소수에 해당하는 값을 로딩후 비교데이터를 보수하는 제6단계와, 상기 제5단계에서의 검색결과가 라인끝 아닐때 스캔데이터 한바이트내 변곡점이 존재하는가를 검색하여 존재시 변곡점이 존재하는 스캔버퍼 메모리의 어드레스를 세이브하고 스캔 한바이트내의 변곡점 비트 어드레스를 계산하여 비교데이터를 보수하는 제7단계와, 상기 제6단계에서 검색결과 스캔데이터 한바이트내 변곡점이 없을때 스캔버퍼 메모리 어드레스를 증가시키는 제8단계로 이루어짐을 특징으로 하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019880015863A KR910006682B1 (ko) | 1988-11-30 | 1988-11-30 | 화상전송기기의 이미지 데이터 변곡점 검출방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019880015863A KR910006682B1 (ko) | 1988-11-30 | 1988-11-30 | 화상전송기기의 이미지 데이터 변곡점 검출방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900008833A KR900008833A (ko) | 1990-06-03 |
KR910006682B1 true KR910006682B1 (ko) | 1991-08-30 |
Family
ID=19279740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019880015863A KR910006682B1 (ko) | 1988-11-30 | 1988-11-30 | 화상전송기기의 이미지 데이터 변곡점 검출방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR910006682B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100443827B1 (ko) * | 2001-10-23 | 2004-08-09 | 주식회사 유일산업 | 증류수를 분리해 내는 장치 |
-
1988
- 1988-11-30 KR KR1019880015863A patent/KR910006682B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR900008833A (ko) | 1990-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5293432A (en) | Document image scanner with variable resolution windows | |
KR100264331B1 (ko) | 원고 비틀림 보정 장치 및 방법 | |
US6031632A (en) | Image retrieval apparatus capable of printing a mark sheet for retrieval | |
US5818607A (en) | Image signal processing apparatus and information transmission/reception apparatus | |
US7352480B2 (en) | Image processing apparatus and image processing method | |
US4731862A (en) | Binarizing system of picture image signals | |
KR910006682B1 (ko) | 화상전송기기의 이미지 데이터 변곡점 검출방법 | |
US5452102A (en) | Image processing unit | |
US6674912B2 (en) | Data compression processing method and apparatus | |
KR100232846B1 (ko) | 스캐너의 불요데이터 제거방법 | |
KR910008524B1 (ko) | 팩시밀리의 의사중간조 화상데이터 압축을 위한 블럭패턴 반복 부호화방법 | |
US5369506A (en) | Circuit arrangement for selecting an image data correction scheme, writing the correction scheme to a correction table and correcting image data gradation | |
US5682250A (en) | Method and apparatus for reproducing an image without salt and pepper specks | |
US5452092A (en) | Changing pixel detector for coding of image data | |
KR0154698B1 (ko) | 팩시밀리에서 기록용지 절약방법 | |
JP2748130B2 (ja) | ファクシミリ装置 | |
KR100334114B1 (ko) | 스캐너 이미지 정정 방법 | |
KR19980073781A (ko) | 연속성에 따른 이치화방법 | |
US20050201630A1 (en) | Image processing apparatus | |
JPH0732448B2 (ja) | 画像処理装置 | |
JPS5779564A (en) | Line-picture information conversion system | |
KR100245021B1 (ko) | 현재 처리중인 라인영상의 임계치 값 결정방법 | |
JPS625773A (ja) | 画像読取り装置 | |
JP2000184203A (ja) | 情報処理装置 | |
KR930003634A (ko) | 고화질 스므딩 처리를 위한 고해상도 변환방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20000726 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |