KR900001821B1 - 2진 데이타 압축, 신장 처리 장치 - Google Patents

2진 데이타 압축, 신장 처리 장치 Download PDF

Info

Publication number
KR900001821B1
KR900001821B1 KR1019870001792A KR870001792A KR900001821B1 KR 900001821 B1 KR900001821 B1 KR 900001821B1 KR 1019870001792 A KR1019870001792 A KR 1019870001792A KR 870001792 A KR870001792 A KR 870001792A KR 900001821 B1 KR900001821 B1 KR 900001821B1
Authority
KR
South Korea
Prior art keywords
code
data
decoding
run
unit
Prior art date
Application number
KR1019870001792A
Other languages
English (en)
Other versions
KR870008445A (ko
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 가부시기가이샤 도시바
Publication of KR870008445A publication Critical patent/KR870008445A/ko
Application granted granted Critical
Publication of KR900001821B1 publication Critical patent/KR900001821B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • H04N1/4175Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

내용 없음.

Description

2진 데이타 압축·신장 처리 장치
제1도는 본 발명의 한 실시예에 따른 2진 데이타 압축 및 신장 처리 장치의 블록도.
제2도는 제1도에 도시된 디코딩 처리부의 디코딩부 및 인코딩 종단 처리부의 구성을 도시한 블록도.
제3도는 제1도에 도시된 생성 처리부의 카운터부 및 생성부의 구성을 도시한 블록도.
제4도는 제1도에 도시된 디코딩 처리부의 참조 라인어드레스 발생기 및 EOL검출기의 구성을 도시한 블록도.
제5도는 제1도에 도시된 생성처리부의 a1, b1 검출기의 구성을 도시한 블록도.
제6도는 제2도에 도시된 디코딩 처리부의 디코딩 순서를 도시한 선도.
제7도는 제2도에 도시된 디코딩 처리부의 생성순서를 도시한 선도.
제8도는 제2도에 도시된 검출기 ROM의 어드레스 포멧.
제9a도는 제2도에 도시된 디코더 ROM의 출력 포멧.
제9b도는 제9a도에 도시된 디코더 ROM의 출력 포멧의 데이타 부분에 대한 출력 포멧.
제10a 내지 10f도는 본 발명에 따른 2진 데이타 압축 및 신장 처리 장치의 동작을 도시한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
1 : 2진 데이타 처리 제어기 2 : 압축 및 신장 처리부
3 : 참조라인 어드레스 발생기 4 : 참조라인 데이타 기억부
5 : 클록 발생기 7 : 디코딩 처리부
8 : 생성 처리부 12 : 인코딩 종단처리부
13 : 디코딩부 14 : 카운터부
15 : 생성부 16 : a1, b1 검출기
30 : 퍼널 시프터 36 : 디코딩 포인터
80 : 정지어드레스레지스터 81 : EOL검출기
94 : 참조라인 버퍼 RAM 102 : b1검출기
104 : a1검출기
본 발명은 2진 데이타를 고속으로 신장처리할 수 있고, 특히 M2R방법으로 압축된 2진 데이타를 파이프라인 방식으로 병렬 디코드할 수 있는 2진 데이타 압축 및 신장 처리 장치에 관한 것이다.
2진 데이타를 신장 및 압축하기 위한 방법으로는 CCTTT에 의해 추천된 MH방법, MR방법 및 M2R방법과 같은 코딩 방법이 국제적으로 표준화되어 있으며 널리 채용되고 있다. 이러한 세가지 코딩 방법, 즉 MH, MR 및 M2R방법중에서 M2R방법이 가장 높은 화상 압축 효율을 나타낸다.
M2R방법은 그룹 IV의 팩시밀리 시스템용 코딩 방법으로 잘 알려져 있다. 이 방법에 있어서는, a : 라인의 종단(End-of-Line : EOL)코드가 생략되고, b : K파라미터가 무한대로 설정되며, c : 한 페이지의 시작시에 참조라인의 모든 비트가 백의 픽셀로 나타난다. 이러한 가정으로, 데이타 압축비는 MR방법의 경우보다 개선될 수 있다. 만일 전송에러가 발생될 경우. 그 에러는 주요 문제로서 차후의 주사선에 순차적으로 전송된다. 이것을 방지하기 위해서, 1차원 코딩 주사선이 압축처리에 삽입된다. K파라미터는 이러한 1차원 코딩 주사선 사이의 2차원 코딩 주사선의 수이다.
통상의 2진데이타 압축 및 신장처리 장치는 이러한 방법에 따라 인코드된 데이타의 신장 처리를 수행하기 위하여 범용 마이크로 컴퓨터를 사용하여 소프트웨어 방식으로 실현된다. 이러한 처리에 있어서, 상기 장치는 데이타 전송 속도가 9600bps로 제한되는 팩시밀리 시스템에 인가될 때 아무런 문제가 없다. 그러나, 통상의 장치가 컴퓨터 시스템의 작업소 상에 화상 데이타를 표시하는데 사용될 때에는 양호한 맨머신(man-machine) 인터페이스 예를 들어 1/2초 또는 그 이하의 페이지 응답시간이 얻어질 수 없다. 그러므로, 순차적 신장처리가 M2R방법에 따라 실행될 때, 그 동작 속도는 MH방법에 비해 상당히 감소된다.
이러한 문제의 한가지 원인은 전체 처리 시스템의 처리 방법의 문제이다. 보다 구체적으로 말하여, 통상의 시스템에서 디코딩은 비트 직렬 방식으로 수행된다. 그 문제를 해결하기 위하여 평행처리, 전진처리 및 파이프라인 처리등이 널리 이용된다. 2진 화상 데이타 신장 처리는 명백히 다음과 같이 나누어질 수 있다. a : 코드의 디코딩 처리, b : 디코드된 코드에 대한 화상 데이타의 생성처리 따라서, 디코딩 및 생성 처리는 별도의 하드웨어 구성에 의해 병렬로 수행된다. 이러한 구성에서 한 코드가 신장되는 동안 다음 코드는 디코드되고, 전체 처리가 파이프라인된다. MH 및 MR방법에 의해 인코드된 2진 데이타가 신장될 때에는, 전진처리에 있어서 아무런 문제가 없다. 그러나, M2R방법은 다음의 문제점을 가진다.
MH, MR 및 M2R방법 모두에 있어서, 각 라인의 시작 런(run)은 항상 백 런(white run)이고 백의 퍽셀로 디코드 되어야 한다. MH 및 MR방법의 경우에는 EOL코드가 사용된다. 따라서, 전진 처리를 수행하는 디코딩 처리부는 생성 처리부에 의한 생성처리의 진행에도 불구하고, EOL코드가 존재함으로 인해 다음 라인의 시작을 검출한다.
그러나, M2R방법에서는 EOL코드가 없기 때문에, 다음 라인의 시작만이 생성 처리부가 각 코드를 인출하여 라인의 종단에 도달될 때 검출될 수 있다. 따라서, 다음 라인의 시작이 미정인 경우, 이 부분의 색이 백색으로 결정될 것인지 판단될 수 없다.
결과적으로, 백.런과 흑.런에 대한 별도의 코드표를 사용한 수평 모드의 디코딩 동작은 전진 방식으로 시작될 수 없다. 보다 구체적으로 말하여, M2R방법의 신장처리에 있어서는 전진처리가 효과적으로 수행될 수 없다.
진술한 바와 같이, 종래의 장치는 처리 속도에 관한 어떤 문제점을 갖고 있으며, 범용으로도 어떤 한계를 지니고 있다.
본 발명은 상기 사정을 고려하여 이루어진 것으로, 2진 데이타를 고속으로 디코드할 수 있고, 특히 M2R방법에 의해 인코드된 2진 코드 데이타를 확장처리함에 있어, 입력 2진 코드데이터를 파이프라인 방식으로 병렬 디코드할 수 있고, 또한 EOFB코드(MH방법 또는 MR방법에서 2개의 연속되는 EOL코드들과 동일한 패턴을 갖는 코드)의 검출을 고속화하여 전진 처리를 가능하게 해서 고속 신장처리를 할 수 있는 2진 데이타 압축 및 신장처리 장치를 제공하는 것을 그 목적으로 한다.
상기 목적을 달성하기 위해, 코드를 파이프라인 방식으로 디코드할 수 있는 2진 데이타 압축 및 신장처리 장치는 미리 설정된 제1길이를 가진 코드 데이타를 수신해서 미리 설정된 제2길이에 대한 최신 코드 데이타를 기억하는 기억수단(26)과, 상기 기억수단(26)내에 기억된 코드 데이타를 수신해서, 비트 위치 데이타에 따라 선택된 입력 제어 데이타 및 코드 데이타 위치중에서 코드 데이타 블록을 생성하고, 출력 명령에 따라 생성된 코드데이타 블록을 출력시키는 블록 추력 수단(30,31)과; 코드 단위의 길이를 지시하는 데이타와, 코드 데이타 블록의 입력에 따라 코드 데이타 블록의 리딩 비트에서 시작하는 코드 비트나 일치하는 런랭스 데이타를 생성하기 위한 디코딩 수단(32) : 기억된 비트의 위치 데이타를 상기 블록 출력 수단(30,31)으로 출력시키고, 상기 디코딩 수단(32)의 코드 단위 길이 데이타에 따라 비트위 위치 데이타를 갱신 시키는 비트위치 지정 수단(34,36)을 포함한다.
상기 목적을 달성하기 위해, 코드 데이타를 병렬디코드할 수 있는 제2진 데이타 압축 및 신장 처리 장치는 코드 단위로 포함하는 입력제어 데이타와 입력코드 데이타로부터 디코드될 코드단위로서 어드레스 데이타를 생성해내는 어드레싱 수단(31)과 : 다음 코드 단위와 디코드된 런 랭스 데이타의 디코드시 참조될 표를 지시하는 다음 상태 데이타를 출력하기 위해, 코드단위를 디코드할 수 있는 다수의 코드표를 갖는 디코딩 수단(32)과 : 다음 상태 데이타에 따라 현재의 코드 단위를 디코드하기 위해 제어 데이타를 출력시키는 제어수단(1)을 구비한다.
본 발명에 의하면 다음의 효과가 얻어질 수 있다.
1. M2R코드의 디코딩시에는, 파이프라인 방식으로 병렬처리를 실현하도록 전진처리가 가능하기 때문에 처리 특히 신장처리가 고속으로 수행될 수 있다. MH 및 MR코드는 동일한 처리를 받게 되므로, 그것의 처리속도가 종래의 장치에 비해 개선될 수 있다.
2. 전진 처리가 수행되지만, 처리되어질 라인이 갱신될 때의 재디코딩 처리(redecoding processing)가 용이하게 수행될 수 있다.
3. 특수 처리가 EOFB코드를 판별하기 위하여 라인의 경계부에서 수행되지 않는 경우에도 디코딩 처리부가 EOFB코드의 1/2을 검출하도록 라인의 종단에서(2클럭 늦게)즉시 검출할 수 있다.
4. 참조라인 버퍼가 제공되기 때문에, 화상 메모리가 참조 라인 화상 데이타를 판독하는 데에 필요치 않으므로 고속 처리가 가능하다.
5. 참조라인 버퍼가 제공되기 때문에, 화상메모리에 참조라인 데이타 어드레스를 발생하기 위한 복합회로가 생략될 수 있다.
이하, 도면을 참조하여, 본 발명의 2진 데이타 압축 및 신장 처리 장치의 구성에 대해 설명한다. 우선, 제1도를 참조하여 본 발명의 2진 데이타 압축 및 신장 처리 장치이 구성에 대해 설명한다. 상기 실시예의 장치는 장치 전체의 동작을 제어하기 위한 2진 데이타 처리 제어기(1), 2진 입력데이타가 코드일 때 2진화상 패턴 데이타를 발생하고 2진 입력데이타가 화상 패턴 데이타 일때는 코드를 발생하는 압축 및 신장처리부(2), 참조 라인 데이타를 발생하기 위한 참조라인 데이타 기억부(4), 상기 참조라인 데이타 기억부(4)에 대한 어드레스 데이타를 발생하기 위한 참조라인 어드레스발생기(3) 및 제어 클록을 발생하기 위한 클록 발생기(5)를 구비한다.
상기 압축 및 신장 처리부(2)는 2진 입력 데이타가 코드일 때 런 랭스 데이타를 발생하기 위한 디코딩 처리부(7)와, 상기 런 랭스 데이타에 따라 처리된 2진화상 패턴 데이타를 처리하기 위한 생성 처리부(8)를 구비한다.
상기 디코딩 처리부(7)는 생성처리가 라인의 종단까지 완료되었는지 검사해서 소정의 조건하에서 EOL코드를 검출하는 EOL검출기(11), 압축처리중에 EOL코드를 생성하는데 사용된 인코딩 종단 처리부(12) 및 디코딩부(13)를 구비한다.
상기 생성 처리부(8)는 디코딩부(13)로 부터의 출력을 래치하고 처리된 바이트수를 카운트하기 위한 카운터(14), 상기 카운터부(14)의 데이타에 의거해서 처리된 2진 데이타를 생성하기 위한 생성부(15) 및 a1, b1를 검출하기 위한 a1,b1검출기(16)를 구비한다.
상기 2진 데이타 처리 제어기(1)는 제어클록을 생성하기 위한 클록 발생기(5)에 접속되어, 상기 클록 발생기(5)의 클록들에 의거해서 디코딩 처리부(7), 생성 처리부(8) 및 참조라인 어드레스 발생기(3)의 동작 타이밍을 제어하고, 처리 진행에 의거해서 필요한 명령들을 출력한다.
다음에, 제2 내지 5도를 참조하여 각부의 구성에 대해 설명한다. 도면을 간략하게 하기 위해 제어신호들의 도시는 생략하였다.
우선, 디코딩 처리부(7)에 대해 상세히 설명한다. 제2도에는 디코딩 처리부(7)중에서 인코딩 종단 처리부(12)와 디코딩부(13)가 도시되어 있다. 래치(22)는 1바이트 데이타를 입력 데이타 버스에 입력하고 래치한다. 상기 래치(22)에 의해 래치된 2진 데이타는 인버터(24)에 의해 인버트되고 레지스터(26)와 EOL검출기(11)에 데이타 K로서 입력된다. 레지스터(26)는 입력 바이트 데이타 RDTI15-08을 데이타 RDT107-00으로 시프트 시키고, 새로운 입력 데이타를 데이타 RDTI15-08로서 래치시키며, 데이타 RDTI07-00과 함께 16비트 데이타로서 유지시킨다.
16비트의 레지스터 데이타 RDTI15-00은 인코딩 및 처리부(12)를 거쳐 퍼널 시프터(30)로 출력된다. 데이타 RDT107-00은 바이트 데이타 F로서 참조라인 데이타 기억부(4)로 출력된다. 디코딩 포인터(36)는 퍼널 시프터(30)에 입력된 레지스터 데이타 RDTI15-00중에서 다음에 추출될 코드의 LSB(최하위 비트)위치, 즉 코드의 일부를 지시한다. 상기 디코딩 포인터(36)의 지시 값은 2진 데이타 처리 제어기 (1)의 제어신호에 따라 퍼널 시프터(30)에 공급된다.
상기 퍼널 시프터(30)는 상기 디코딩 포인터(36)의 지시값에 의해 데이타 RDTI15-00을 좌측으로 시프트함으로써 얻어진 9비트의 출력 LSHT08-00을 생성해서 선택기(31)로 출력시킨다. 비압축 모드에서 코딩하는 경우, 출력 데이타LSHT08-00의 데이타 LSHT04-00은 데이타 G로서 생성처리부(8)로 출력된다. 데이타 LSHT08-00은 2진 데이타처리 제어기(1)의 데이타 LSHT10-09에 대응하는 데이타X에 가산되고, 11비트 데이타로서 선택기(31)로 출력된다. 상기 선택기(31)는 상기 2진데이타처리 제어기(1)로부터 데이타 LSHT08-06또는 데이타 LSHT08-07에 대응하는 데이타 Y를 수신한다. 이러한 입력 데이타들이 상기 2진 데이타 처리 제어기(1)의 제어신호에 응답하여 선택되고, 11비트 어드레스 데이타로서 디코더 ROM(32)으로 출력된다. 또한 데이타X도 디코더 ROM(32)에 공급된다.
상기 디코더 ROM(32)은 16비트의 데이타 DROM15-00을 출력한다. 특히, 데이타 DROM07-00에서는, 압축처리시에 2진 입력 데이타가 출력되고, 신장처리시에는 런 랭스 데이타가 출력된다. 런 랭스 데이타 1는 생성 처리부(8)로 전송된다. 데이타DROM11-08에서는, 입력된 데이타중 의미있는 데이타가 출력된다. 데이타DROM15-12에서는, 다음 상태를 지정하기 위한 제어 데이타가 출력된다. 어드레스 포맷과 출력 포맷에 대해서는 후에 설명한다.
데이타 DROM11-08은 가산기(34)로 출력된다. 동시에, 가산기(34)는 디코딩 포인터(36)로부터 데이타를 수신한다. 따라서, 가산기(34)에서 데이타 DROM11-08이 상기 디코딩 포인터(36)의 데이타에 가산되고, 가산된 결과 데이타는 선택기(38)로 출력된다. 상기 선택기(38)는 a1,b1 검출기(16)로부터 데이타 D도 수신하는데, 상기 데이타D는 압축처리시에는 사용되나 신장처리시에는 사용될 수 없는 데이타이다. 따라서, 신장 처리가 상기 2진 데이타 처리 제어기(1)의 제어신호에 따라 실행될 때, 상기 가산된 데이타는 다시 디코딩 포인터(36)의 내용이 된다. 이러한 방식으로 디코딩 포인터(36)가 디코드된 코드의 다음 코드의 LSB위치를 지시한다.
상기 가산기(34)에 의해 가산된 결과, 즉 23비트가 "1"이되면, 이것은 데이타 J에 의해 상기 제어기(1)로 출력된다. 이것은 1바이트분의 처리가 완료되었다는 것을 의미한다. 상기 제어기(1)는 가산기(34)의 데이타 J에 EK라 레지스터(26)에 제어신호를 출력한다. 레지스터(26)는 상기 제어기(1)의 제어신호에 따라 데이타 RDTI15-08을 데이타 RDTI07-00이 되도록 바이트 단위로 좌측으로 시프트한다. 래치(22)에 의해 래치된 새로운 바이트 데이타는 제어기(1)의 제어신호에 따라 래지스터(26)의 데이타 RDTI15-08부분에 래치된다. 가산기(34)의 가산 결과의 하위 3비트들이 포인터(36)로 출력되고 이것에 의해 디코드될 코드의 LSB위치는 항상 래지스터(26)의 데이타 RDTI07-00중에 존재하게 된다.
이하, 제3도를 참조하여 생성 처리부(8)의 카운터부(14)와 생성부(15)에 대해 설명한다. 상기 카운터부(14)는 선택기(40,44)들과 RL카운터(42)를 구비한다. 생성부(15)는 제3도에 도시된 회로중에서 카운터부(14)를 제거한 회로로 구성된다.
디코더 ROM(32)의 디코딩 결과 I는 선택기(40)에 입력된다. 선택기(40)는 상기 제어기(1)로부터 데이타 L도 수신한다. 데이타들은 상기 제어기(1)의 제어신호에 응답해서 선택되고, RL카운터(42)로 출력된다. 선택기(40)의 출력 데이타중 02-00비트부분도 선택기(44)로 출력된다. 상기 RL카운터(42)는 12비트 길이를 갖는 카운터이고, 상기 제어기(1)의 제어신호에 따라 미리 설정된 위치에서 상기 선택기(40)의 데이타를 래치한다. 상기 RL카운터(42)는 선택기(40)의 출력데이타를 프리세트 값으로서 사용해서 제어기(1)의 카운트펄스에 따라 카운트한다.
RL카운터(40)의 출력은 디코드된 코드에 의해 결정된 처리 회수가 완료되었는지를 확인하기 위해 데이타 M으로서 제어기(1)로도 출력된다. 선택기(44)는 카운터(42)의 출력, 선택기(40)의 출력 및 a1,b1 검출기(16)로부터 데이타 A를 수신하고, 상기 제어기(1)의 제어신호에 응답하여 상기 수신된 데이타중 하나를 선택해서 인코더 ROM(46)으로 출력한다.
상기 인코더 ROM(46)은 칼라를 지정하기 위한 데이타와 신장처리 혹은 압축처리를 지시하기 위한 데이타를 포함하는 데이타 N을 제어기(1)로부터 수신한다. 인코더 ROM(46)은 선택기(44)의 데이타와 상기 제어기(1)의 데이타 N을 어드레스 데이타로서 수신하고, 8비트 데이타 EROM07-00을 선택기(48)로 출력한다.
데이타 EROM07-00중 데이타 DROM07-05는 가산기(52)로 출력된다. 가산기(52), 선택기(54) 및 화상포인터(56)로 구성된 회로는 디코딩부(8)의 회로와 동일하게 동작한다. 특히, 화상 포인터(56)는 지시값을 발생한다. 디코드된 코드에 대한 생성 처리가 완료된 후, 화상 포인터(56)의 지시값은 가산기(52)에 의해 데이타 EROM07-05에 가산되고, 가산된 결과 데이타는 선택기(54)로 출력된다.
데이타C는 a1,b1검출기(16)로부터 선택기(54)로 입력되고, 상기 제어기(1)의 제어신호에 의해 선택되어 회상 포인터(56)의지시값이 된다. 가산기(52)의 가산결과 즉, 23비트 데이타가"1"이 되면, 이것은 데이타0에 의해 제어기(1)로 출력된다.
선택기(48)는 데이타EROM07-00과, 디코딩 처리부(7)로부터 래치(58)를 거쳐 전송되는 데이타 G를 수신하고, 제어기(1)의 제어신호에 응답해서 상기 데이타들중 하나를 선택하여 배럴(barrel) 시프터로 출력한다. 상기 배럴 시프터(50)는 화상 포인터로부터의 지시값에 따라 입력 데이타를 회전시키고, 회전된 데이타를 선택기(60)로 출력시킨다. 동시에 시프터(50)는 회전된 데이타를 데이타 RODT15-08로서 출력한다.
데이타 RODT07-00과 데이타 RODT15-00은 제어기(1)의 제어신호에 따라 선택기(64)에 의해 선택되고, 그 선택결과는 선택기(60)에 입력된다. 선택기(60)의 출력은 데이타 RODT07-00으로서 레지스터(62)에 공급된다. 래지스터(62)는 제어기(1)의 제어신호에 따라 데이타 RODT15-08을 데이타 RODT07-00으로 시프트한다. 데이타 RODT07-00과 데이타 RODT15-08은 선택기(64)로 출력된다.
또한, 데이타 RODT07-00은 1바이트의 화상 데이타가 생성될 때 데이타 P로서 참조라인 데이타 기억부(4)로 출력되고, 인버터(24)와 유사한 인버터(66)로도 출력되고 최종적으로는 데이타 버스로 출력된다.
이제, 제4도를 참조하여 상기 참조 라인 어드레스 발생기(3), 디코딩 처리부(7)의 EOL검출기(11) 및 참조라인 데이타 기억부(4)의 구성에 대해 설명한다.
상기 디코딩 처리부(7)의 EOL검출기(11)는 정지 어드레스 레지스터(80), 비교기(90) 및 EOL검출기(81)를 구비한다. 참조라인 어드레스 발생기(3)는 어드레스 카운터(82), 가산기(84), 선택기(86) 및 어드레스 레지스터(88)를 구비한다. 또, 참조라인 데이타 기억부(4)는 선택기(92)와 참조라인 버퍼 RAM(94)를 구비한다.
정지 어드레스 레지스터(80)는 1라인의 런 랭스 데이타를 바이트단위로 미리 래치하고, 10비트 데이타를 비교기(90)로 출력한다. 어드레스 카운터(82)는 상기 제어기(1)로부터 데이타Q를 수신한다. 데이타 Q는 1바이트의 2진 데이타 처리가 완료될 때 마다 카운터(82)로 입력되고, 카운터(82)는 1라인 처리가 완료될 때까지 데이타Q를 어큐뮬레이트한다. 따라서, 어드레스 카운터(82)의 출력은 2진 데이타 처리가 대응처리 라인상에서 진행된 바이트 위치를 지시한다.
어드레스 카운터(82)는 1라인 처리가 완료될 때 제어기(1)의 제어 신호에 응답하여 리세트되고 새로운 라인 처리가 개시될 때 카운팅을 재개시한다. 상기 어드레스 카운터(82)의 카운트 값은 비교기(90), 선택기(86) 및 가산기(84)로 출력된다. 또한 비교기(90)는 정지 어드레스 레지스터(80)로부터 1라인분의 런 랭스 데이타를 바이트 단위로 수신해서, 어드레스 카운터(82)의 카운트값과 비교한다. 그 비교결과 동일한 경우에는, 화상 발생이 대응처리 라인의 종단전의 바이트 위치에 도달한 것을 의미한다. 동시에 데이타 T는 제어기(1)로 출력된다.
가신기(84)는 제어기(1)로부터 데이타 R을 수신해서 어드레스 카운터(82)의 카운트값에 가산하고 그 합을 선택기(86)로 출력한다. 선택기(86)은 제어기(1)의 제어신호에 응답해서 어드레스 카운터(82)의 어드레스 데이타와 가산기(84)의 어드레스 데이타를 선택하고, 그 선택 결과를 어드레스 레지스터(88)로 출력한다.
또한, 어드레스 레지스터(88)는 제어기(1)로부터 데이타 S를 수신해서, 선택기 (86)의 출력과 함께 참조 라인 버퍼 RAM(94)으로 출력시킨다.
참조라인 버퍼RAM(94)은 참조라인상의 화상 데이타와, 다음 라인의 처리에 대한 대응처리 라인상의 화상 데이타를 기억한다. 따라서, 두라인에 대한 화상 데이타가 RAM(94)에 기억되고, 데이타 S는 지정 메모리 영역을 질환하도록 즉 선택될 영역을 결정하도록 제어기(1)에서 어드레스 레지스터(88)로 공급된다.
선택기(92)는 입력바이트 화상 데이타 F, 즉 인코딩 종단처리부(28)를 거친 데이타 RIDT07-00과 데이타P, 즉 처리된 화상 데이타 RODT07-00을 수신하고, 제어기(1)의 제어신호에 응답하여 상기 데이타들 중 하나를 선택해서, 그 선택결과를 참조라인 버퍼RAM(94)에 기억시킨다.
전술한 설명으로부터 명백히 이해할 수 있듯이, 참조라인 데이타가 판독될 때 선택기(86)는 가산기(84)로부터 출력 데이타를 선택하고, 참조라인 데이타가 기억될 때는 어드레스 카운터(82)로부터 출력 데이타를 선택해서 출력시킨다.
새로운 라인 처리가 시작될 때 참조라인 데이타가 판독되면, 레지스터(96)에 필요한 참조 데이타를 출력시키기 위해, "2"와"1"이 제어기(1)로부터 데이타 R로서 가산기(84)에 입력된다. 래지스터(96)는 필요한 참조라인 데이타를 유지할 수 있게된다. 래지스터(96)의 데이타 REF-3-10은 데이타 U로서 b1의 검출기로 출력된다.
EOL검출기(81)는 디코딩 처리부(7) 혹은 생성 처리부(8)에 예컨대, 에러가 발생했을 때 EOL코드를 검출한다. EOL검출기(81)는 디코딩부(13)로부터 데이타 K를 수신하고, EOL 코드를 검출한 것을 데이타 Z에 의해서 제어기(1)에 알린다.
이하, 제5도를 참조하여, 생성처리부(8)의 a1,b1검출기(16)의 구성에 대해 설명한다. a1, b1 검출기(16)는 수직 모드 및 패스 모드에서 자주 사용된다.
RAM(94)으로부터 판독된 데이타는 레지스터(96)에 의해 데이타 REF15-08로서 래치된다. 상기 레지스터(96)는 제어기(1)의 제어신호에 따라 데이타 REF07-04를 데이타 REF-4-1이 되도록 그리고 데이타 REF15-08을 데이타 REF07-00이 되도록 바이트 단위로 시프트하고, RAM(94)의 데이타를 데이타 REF15-08로서 래치한다. 결합된 데이타 U는 레지스터(96)에서 b1검출기(102)로 공급된다. 데이타 F는 인코딩 종단 처리부(28)에서 a1검출기(104)로 공급된다. a1 및 b1검출기들(104,102)은 a0포이터(100)로부터 a0지시값을 수신하고, 레지스터(96)의 a0보다 우측 위치에 인코딩 라인과 기준 라인상에서의 칼라 변화를 갖는 a1 및 b1 픽셀 위치를 각기 검출한다.
b1검출기(102)에 의해 검출된 위치 b1은 감산기(120)와 선택기(108)로 출력된다. b1점이 검출되지 않으면, 이것은 데이타 A2에 의해 제어기에 알려진다. "+4"가 레지스터(96)와 관련해서 위치b1에 가산된다. a1검출기(104)에 의해 검출된 위치 a1은 선택기들(114,116)로 출력된다. 선택기(116)는 제어기(1)의 제어신호에 따라 a1 검출기(104)로부터의 데이타와 제어기(1)로부터의 데이타 "+4"를 선택해서, 그 선택 결과를 감산기(120)로 출력한다.
감산기(120)는 그 계산 결과를 데이타 A로서 생성부(15)로 출력시킨다. 선택기(108)는 a0 포인터(100)의 지시값과 b1검출기(102)의 출력 b1을 수신하고, 선택기(110)는 제어기(1)의 "-4"와 생성부의 데이타 B를 수신한다. 선택기들(108, 110)은 제어기(1)의 제어신호에 따라 출력값을 각기 선택해서 그 선택 데이타를 가산기(112)로 출력한다.
가산기(112)는 그 합을 선택기(114)로 출력한다. 선택기(114)도 a1검출기(104)의 출력, a0포인터(100)의 지시값 및 제어기(1)의 데이타 W를 수신해서, 제어기(1)의 제어신호에 응답해서 그 출력을 선택한다. 선택된 출력은 데이타 C로서 생성부(15)에 공급되고, 데이타 D로서 디코딩부(13)에도 공급된다. 선택기(114)의 출력도 a0포인터(100)에 의해 지시값으로 래치된다. 1바이트보다 작은 최종 데이타의 처리가 완료되었는지를 알아보기 위해, a0포인터(100)의 지시값과 정지 어드레스레지스터(80)의 데이타는 비교기(106)에 의해 비교된다.
이제, 본 발명의 2진 데이타 압축 및 신장 처리 장치의 동작에 대해 설명한다.
먼저, 신장 처리에 대해 상세히 설명한다. 새로운 페이지의 신장 처리가 개시될 때, 팩시밀리 시스템의 경우에는 MH, MR 또는 M2R방법을 결정하는 데이타를 포함한 제어데이타가 먼저 공급된다. 상기 제어 데이타는 1라인에 대한 런 랭스를 지시하는 데이타를 포함한다. 정지 어드레스 레지스터(80)는 1라인에 대한 런 랭스 데이타를 기억한다. M2R방법에 의한 처리에 있어서는, 페이지의 개시점에서 참조 라인상의 화상 데이타의비트들은 모드 백(white) 또는 "0"이다. 이런 상태에서 EOL코드가 우선 EOL검출기(81)에 의해 검출되어 신장 처리가 개시된다.
새로운 라인에 대한 확장 처리가 개시될 때 필요한 조건이 초기화 된다. 예컨대, 다음과 같은 초기화가 실행된다. 어드레스 카운터(82)가 리세트되고, 어드레스 스위치할 수 있도록 제어기(1)로부터 데이타 S가 어드레스 레지스터(88)의 비트"10"에 공급된다. 그 이후 "1"이 제어기(1)로부터 데이타 R로서 가산기(84)에 입력되고, 기준 라인상의 제1바이트 데이타거 참조라인 버퍼 RAM(94)으로부터 판독되어 데이타 REF15-08로서 레지스터(96)에 기억된다. 상기 레지스터(96)에 기억된 데이타가 데이타 REF07-00으로 시프트된후 "2"가 제어기(1)로부터 데이타 R로서 공급되고, RAM(94)에 판독된 바이트 데이타는 전술한 방법과 동일한 방법으로 레지스터(96)에 데이타 REF150-08로서 기억된다. 포인터들(36,56 및 100)은 리세트된다. 데이타 W는 제어기(1)로부터 선택기(114)로 입력되고, 제어기(1)의 제어신호에 따라 선택되므로 새로운 값이 a0포이터(100)에서 세트된다. 칼라는 백색이 되도록 세트된다.
예컨대, 전술한 바와 같은 초기화가 실행된 후, M2R방법에 의해 인코드된 코드가 데이타 입력 버스를 통해 8비트 단위(1바이트)로 디코딩 처리부(7)에 입력되면, 코드는 제어기(1)의 제어신호에 따라 래치(22)에 의해 래치된다.
주로, 화상 데이타와 압축 코드를 유지하는 레지스터에서는, 좌측 상위 비트는 "0"이다. 이와는달리, 주로 2진 제어 데이타를 유지하는 레지스터에서는 우측 상위 비트가 "0"이다. 따라서 입력 2진 데이타가 인버트 되어야 한다. 그러므로, 입력 2진 데이타는 인버터(24)에 의해 인버터되고, 레지스터(26)와 EOL검출기 (11)로 출력된다. 레지스터(26)에서, 이미 입력된 바이트 데이타 RDTI15-08는 제어기(1)의 신호에 따라 데이타 RDTI07-00이 되도록 시프트되고, 새로운 입력 데이타는 데이타 RDTI15-08로서 래치되고, 데이타 RDTI07-00과 함께 16비트 데이타로서 유지된다. 이같은 방식으로 페이지의 개시점에서 2바이트의 2진 데이타가 입력된다.
16비트의 레지스터 데이타 RDTI15-00은 인코딩 종단 처리부(28)로 출력된다. 상기 회로는 압축 처리시에만 동작되고, 신장 처리시에는 데이타를 간단히 통과시킨다. 따라서, 16비트의 레지스터 데이타 RTDI15-00은 인코딩 종단 처리부(28)를 통해 퍼널시프터(30)로 출력된다.
디코딩 포인터(36)는 퍼널 시프터(30)에 입력된 레지스터데이타 RDTI15-00중에서 다음에 추출될 코드의 LSB위치를 지시한다. 퍼널 시프터(30)는 포인터(36)의 지시값에 의해 결정된 비트수만큼 데이타 RDTI15-00을 좌측으로 시프트함으로써 얻어진 9비트의 출력 LSHT08-00을 발생한다. 예를 들어, 포인터(36)의 값이 "3"이면, 퍼널 시프터(30)는 입력데이타 RDTI15-00에서 데이타 RDTI11-03을 선택하고 그것을 데이타 LSHT08-00으로 출력한다.
데이타 LSHT08-00은 제어기(1)의 데이타 LSHT10-09에 따라 데이타에 가산되고, 그 가산 결과는 선택기(31)로 출력된다. 선택기(31)는 제어기(1)의 데이타 LSHT06-08또는 LSHT07-08에 대응하는 데이타도 수신한다. 이러한 입력 데이타들의 제어기(1)의 제어 신호에 따라 선택되고, 선택된 데이타는 11비트 어드레스 데이타로서 디코더 ROM(32)으로 출력된다.
이런 상황에서 M2R방법을 사용한 경우에는, 직전에 디코드된 코드의 생성 처리가 완료되지 않았으면, 선택기(31)에 결합된 제어신호가 생성되지 않는다. 따라서, 선택기(31)는 생성 처리부의 완료를 데이타 LSHT08-00가 공급된 상태로 대기시킨다.
선택기(31)가 생성처리부의 완료를 유지하고 있지 않다면, 백.런(white run)은 현재 처리 라인의 종단까지 처리된 후 다음 라인의 개시 코드에 대해 강제로 세트될 수 없다. 이 경우에 있어서, 만약 개시 코드에 대한 디코딩이 실행되면, 디코딩 포인터(36)의 값은 리세트 되어야 하고 디코딩은 제개되어야 하므로 결국, 불편해진다.
그러나, 전진 처리가 실행되지 않으면, 페이지 종단에서의 EOFB 코드(End of Facsimile Block : EOFB 코드는 이중 EOL 코드를 갖는다.)는 디코드될 수 없고, EOFB 코드에서의 처리는 정지된다. 따라서, EOFB 코드내의 EOL 코드는 EOL 검출기(81)에 의해 검출되고, 디코딩은 본 발명의 처리에 의해 실행된다.
MH 및 MR 방법은M2R방법과는 달리 EOL코드를 사용하기 때문에, 코드 데이타는 현재의 생성 처리의 완료를 기다리지 않고 전신 처리에 의해 디코드 될 수 있다. 따라서 M2R방법의 디코딩 처리보다는 MH 및 MR방법의 디코딩 처리가 종래의 장치보다 더 고속으로 실행될 수 있다.
데이타 LSHT10-00은 제어기(1)의 제어신호에 따라 디코더 ROM(32)으로 출력된다. 데이타 Y08-06이 선택되면, 데이타 LSHT10-10의 08-06비트부 혹은 08-07비트부가 데이타 LSHT의 대응부분으로서 선택되고, 데이타 LSHT08-00부분은 디코더 ROM(32)으로 출력된 대응 비트들만큼 MSB방향으로 시프트된다.
디코더 ROM(32)의 어드레스 포맷은 데이타가 선택되는 시기와 선택되는 데이타 수를 나타낸다. 상기 디코더 ROM(32)은 제8도에 도시된 어드레스 데이타 포맷에 따라 제9도에 도시된 포맷을 갖는 16비트의 데이타 DROM15-00을 출력한다. 특히, 런 랭스 데이타는 데이타 DROM07-00로서 출력되고, 코드 랭스 데이타는 데이타DROM11-08로서 출력되고, 다음 상태를 지정하기 위한 데이타는 데이타 DROM15-12로서 출력된다. 어드레스 포맷과 데이타 포맷에 대해서는 후에 상세히 설명한다.
상기 데이타 DROM11-08은 가산기(34)로 출력된다. 동시에 가신기(34)는 포인터(36)로부터 데이타를 수신한다. 그리고, 데이타 DROM 11-08은 포이터(36)의 내용에 가산되고, 그 가사결과는 선택기(38)로 출력된다. 선택기(38)는 a1,b1검출기(16)로부터 신호D를 수신하는데, 상기 신호 D는 압축 처리시에는 사용되지만 신장처리시에는 사용되지 않는다. 그러나, 이 경우는 확장처리가 실행되고 있기 때문에 가산기(34)의 출력은 제어기(1)의 제어 신호에 따라 선택된다. 따라서, 가산된 데이타가 다시 포인터(16)의 내용이 된다. 포인터(36)는 이와 같이 디코드된 코드의 다음 코드의 LSB위치를 지시한다.
상기 가산기(34)의 가산 결과 즉 23비트가 "1"이면, 이것은 데이타 J에 의해서 제어기(1)에 알려진다. 이것은 1바이트분의 디코딩 처리가 완료된 것을 의미한다. 따라서, 제어기(1)는 레지스터(26)에 제어신호를 출력해서, 데이타 RDTI15-08을 데이타 RDTI07-00이 되도록 바이트 단위로 좌측으로 시프트시킨다. 새로운 바이트 데이타는 제어기(1)의 제어신호에 따라 래치(22)에 의해 입력되어 래치되고, 레지스터(26)에 데이타 RDTI15-08로서 래치된다. 포인터(36)는 가산기(34)로부터 가산된 데이타의 하위 3비트를 수신하므로, 디코드될 코드의 LSB위치는 항상 레지스터(26)의 데이타 RDTI07-00에 존재하게 된다.
이제, 제8, 9a 및 9b도를 참조하여 디코더 ROM(32)의 어드레스 포맷 및 출력 포맷에 대해 설명한다. 여기서, 디코드될 코드단위는 수평모드의 식별 코드, 메이크-업 코드 종료코드, 수직모드 혹은 패스 모드의 코드이다. 만약 메이크업 코드 혹은 종료 코드가 9비트들을 초과하면, 2개의 디코딩 처리가 실행된다.
디코더 ROM(32)의 어드레스는 11비트 구조를 갖는다. 상기 디코더 ROM(32)은 신장처리를 위한 백.런 1차원코드표 1, 흑.런 1차원코드표 2. 흑.런 1차원코드표 1, 2차원코드표 특수 코드 검출표, 비압축 코드표 1, 비압축 코드표 2, 그외의 비트단위로 처리되는 표 및 압축 처리용의 표를 포함한다.
거의 모든 백.런 1차원 코드들은 9비트 이하의 비트들로 구성된다. 단, 메이크-업 코드는 런 랭스가 1792비트 이상일 때만 10비트 이상으로 구성되고, 상기 메이크-업 코드는 동일한 런 랭스를 갖는 흑.런의 코드와 일치한다. 그러므로, 9비트 이하의 백.런 1차원 코드는 백.런 1차원 코드표 1에 의해 처리된다. 만약 코드가 10비트 이상으로 구성되면, 흑.런 1차원 코드표 2는 백.런 1차원 코드표 1에 연속해서 사용된다.
코드"00"은 제어기(1)로부터 백.런 1차원 코드표 1의 데이타 LSHT10-09로서 공급된다. 대부분의 흑.런 1차원 코드들은 10비트 이상으로 구성되는데, 최대 길이는 13비트이다. 1792비트 이상의 런 랭스를 갖는 흑.런 메이크-업 코드는 백.런 메이크-업 코드와 공통이다. 따라서 만약 흑.런 코드가 7비트 이상으로 구성된다면 그것은 흑.런 1차원 코드표를 사용해서 처리되고 만약 8비트 이상으로 구성되면 2단계 디코딩 처리는 흑.런 1차원 코드표 2와 흑.런 1차원 코드표 1을 사용하여 순차 처리된다.
코드 "10"은 흑.런 1차원 코드표 1의 데이타 LSHT10-09로서 제어기(1)로부터 공급되고, 코드"00"은 데이타 LSHT08-07로서 공급된다. 코드"01"은 흑.런 1차원 코드표(2)의 데이타 LSHT10-09로서 제어기(1)로부터 공급된다. MR방법 또는 M2R방법에 의해 인코드된 수평 모드에서의 MH코드 부분은 1차원 코드표들을 사용해서 처리된다.
따라서, 패스 모드 및 수직 모드에서의 코드들과 수평모드에서의 식별 코드들은 2차원 코드표를 사용해서 처리된다. 코드"1001"은 제어기(1)로부터 데이타 LSHT10-07로서 공급된다.
특수 코드 검출표는 EOL 혹은 EOFB 코드를 검출할 때와 비압축 모드에 들어가기 위해 신장 코드를 검출할 때 사용된다. 이러한 목적을 위해 6비트 코드가 인출된다. 코드"10110"은 제어기(1)로부터 데이타 LSHT10-06로서 공급된다. 비압축 모드시에는 비압축 코드표 1과 비압축 코드표 2가 제공된다. 코드"10100"과 코드"10101"은 제어기(1)로부터 상기 표들의 데이타 LSHT10-06으로서 공급된다.
제9a도에는 디코더 ROM(32)의 출력 포맷이 도시되어 있다.
데이타 DROM15-00의 07-00비트 부분은 디코드된 코드의 런 랭스 데이타를 나타낸다. 데이타 DROM15-00의 11-08비트 부분은 디코드된 코드의 길이 데이타를 나타낸다. 데이타 DROM15-00의15-12비트 부분은 제어시에 사용되는 다음 상태 데이타를 나타내고, 다음에 언급될 표를 지정하기 위한 데이타와 다음 코드에 대한 칼라를 지정하기 위한 데이타를 포함한다. 그리고, 상기 15-12비트 부분은 수평모드에서 메이크업 혹은 종료코드를 지시하는 데이타도 포함한다. 이 데이타는 제어기(1)에 디코딩 결과 예컨대, 디코드된 코드가 수평모드의 종료코드인지 수평모드, 수직모드, 패스모드 또는 비압축 또는 메이크-업 코드인지 그리고 신장 코드인지 그 여부를 알려준다.
제9b도는 데이타 DROM07-00의 출력 포맷이 도시되어 있다. 특히, 1차원 코딩 메이크-업 코드에 있어서, 데이타 DROM05-00의 6비트들은 실제의 런 랭스를 "1"만큼 감소시켜서 얻어진 값을 지시한다. 1차원 코딩 종료코드에 있어서, 데이타 DROM05-00의 6비트들은 실제의 런 랭스를 "1"만큼 감소시켜서 얻어진 값을 지시한다. 2차원 코딩 수직 모드에 있어서, 데이타 DROM03-00의 4비트들은 런 랭스 상태, 예컨대 a1과 b1의 차로부터 4를 감산한 값을 지시한다. 2차원 코딩 패스 모드에 있어서, 데이타 DROM03-00의 4비트들은 "1100"을 지시한다.
또한, 비압축 모드에 있어서, 데이타 DROM02-00은 패턴 길이를 지시한다. 따라서, 종료코드(000111)가 레지스터(26)에 기억된 데이타에 입력되되 포인터(36)에 의해 지정된 점으로부터 우측에 입력되면 「"1"의 백.런 랭스를 갖는 종료코드」라는 것을 지시하는 데이타는 상기 비트 패턴으로 개시하는 9비트 즉 "000111xxx"(x는 "0" 또는 "1"이다)에 의해 억세스된 디코드 ROM(32)의 07-00비트 일부분에서, 「상기 코드의 길이는 6비트」이란 사실을 지시하는 데이타는 11-08비트 부분에서 출력된다.
특히, 런 랭스 데이타"01000000"은 데이타 DROM07-00으로서 출력되고, 코드 길이 데이타"0110"은 데이타 DROM11-08로서 출력된다.
제6도를 참조하여 상기 디코딩부(13)가 신장처리시에 표를 어떤 방식으로 참조하는지를 나타내는 상태 변환에 대해 설명한다.
본 실시예에서 디코딩부(13)는 제어기(1)의 제어하에서 1라인에 대한 코드들을 디코드한다. 제6도를 참조하면, 제어신호 1D는 디코드될 라인이 MH방법에 의해 인코드된 라인인지를 식별한다. 제어신호 1D는 각 라인마다 제어기(1)로부터 공급된다. 예컨대, 상기 장치가 MH모드에서 동작될 때 제어신호 1D는 모든 라인에 대해 "1"이 되고, 그 외의 다른 모드에서 동작될 때 "0"이 된다. 그 외의 변환 조건들은 디코드 ROM(32)의 출력, 즉 다음 상태에 따라 결정된다.
제6도에 있어서, 도시된 타원들은 표가 여러 표들로부터 참조되어지는 상태를 나타내는 것으로, 디코더 ROM(32)에 기억되어 있다. 1차원 코딩은 백.런과 흑.런으로 분할되기 때문에 1차원 코드표 A와 1차원 코드표 B는 백 및 흑 런에 따라 각기 언급된다.
상기 실시예에 있어서, 디코딩부(13)는 1사이클에서 9비트까지의 코드를 처리할 수 있다. 1차원 코드에는 10비트 이상의 코드가 존재하기 때문에 2개의 사이클로 처리된다. 이같은 목적을 위해 흑.런 1차원 코드표 2에 포함된 1차원 코드표 1과, 1차원 코드표2는 1차원코드표들의 제2단계 코드표들로서 마련되어 진다. 1차원 코드표A와 1차원 코드표 B는 수평모드 코드에서 두 런들, 즉 백.런과 흑.런을 구별하기 위해 단계1과 단계2에서 사용된다. 1차원 코드표A와 1차원 코드표 B는 칼라 런에도 사용될 수 있다. 만약 1차원 코드표 A가 백.런에 사용되었다면, 1차원 코드표 B는 흑.런에 사용된다. 이하의 설명에서는 1차원 코드표 A가 백.런에 사용된 것으로 설명한다. 그러므로 표1A는 백.런 1차원 코드표 1에 대응하고, 표1B는 흑.런 1차원 코드표 1에 대응하고, 표2A와 표2B는 흑.런 1차원 코드표 2에 대응한다.
특수 코드 검출표는 EOL코드와 신장 코드들(이중에서 CCTTT권고에서 정해진 것은 비압축 모드의 식별 코드이다)에 대해 각기 마련된다. EOL코드와 신장 코드에서는 "0"들이 6비트 이상 계속된다.
이제, MH방법에 의해 인코드된 1차원 코딩 모드 라인을 디코드하는 경우에 대해 설명한다. 1차원 코딩 모드라인이 디코드될 때, 제어신호 1D가 "1"이기 때문에 코드를 디코드하기 위해서는 1차원 코드표 1A가 먼저 사용된다. 만약 상기 코드가 9비트 이하로 구성되었다면, 디코딩은 1차원코드표 1A에 의해서만 완료될 수 있다. 런 랭스가 1792 이상의 메이크-업 코드가 아니라면, 백.런 1차원 코드는 물론 메이크-업 코드 혹은 종료코드까지도 9비트 이하로 구성된다. 따라서, 백.런에 있어서는 상기 실시예에서와 같이 1사이클에서 최대 9비트까지 디코드된다면, 1차원 코드표 1A만이 사용된다. 1792 비트 이상의 런 랭스를 갖는 메이크-업 코드에 있어서, 1차원 코드표 1A를 조회한 후 디코드 RAM(32)은 1차원 코드표 2A를 조회할 수 있도록 제1사이클에서 데이타 DROM15-12에 따라 제어기(1)로부터의 데이타 X 및 Y에 의해 제어된다.
1차원 코드에 있어서, 백.런은 라인의 종단이 아닌 흑.런을 수비한다. 라인의 종단 다음에서는 백.런이 강제로 세트된다. 따라서, 종료코드의 디코딩이 1차원 코드표 1A혹은 2A를 사용해서 완료되면, 다음의 1차원 코드가 1차원 코드표 1B를 사용해서 디코드 된다.
거의 모든 흑.런 코드들은 물론 메이크-업 코드와 종료코드까지도 9비트 이상의 비트들로 구성된다. 따라서 1차원 코드표 1B를 사용해서 흑.런 코드가 실제로 디코드 되면, 상기 디코딩 결과에 따라 제어기(1)의 데이타 X와 Y와 응답해서 1차원 코드표 2B가 사용된다. 1차원 1B혹은 2B를 사용해서 종료코드의 디코딩이 완료되었을 때는 런의 지정이 갱신되어 데이타 X가 변경되고, 1차원 코드표 1A가 사용된다.
이와 같이, 1차원 코드표 A와 B는 1라인에 대한 디코딩을 실행하기 위해 교대로 사용된다. 그 라인의 종단으로 디코딩이 진행될 때 1차원 코드표 1, 2내의 코드의 개시부로부터 8비트 이상에 대해"0"이 계속될 경우, EOL코드를 검출시키기 위해 특수 코드 검출표가 사용되는데, 그에 따라 EOL검출처리를 수행할 수 있다.
이하, MR또는 M2R방법에 의해 인코드된 코드 인코딩에 대해 설명한다. MR또는 M2R방법에 의해 인코드된 코드의 경우 제어신호 1D는 "0"이며 신호
Figure kpo00001
는 "1"이다. 그러므로, 디코딩부(13)는 2차원 코드표를 먼저 참조한다. 2차원 코드표 중에서는 수직 및 패스 모드들이 코드들과 수평모드의 식별 코드가 6비트 이하로 이루어지므로 2차원 코드에 따라서 처리되고, 다음 코드도 또한 제어기(1)로부터의 데이타 X, Y에 응답하여 2차원 코드표에 따라서 처리된다.
수평모드 코드의 식별이 2차원 코드표에 의해 디코드될 경우 다음 코드에 대해서는 MH방법에 의해 인코드된 코드에서와 동일한 방법으로 1차원 코드표 1A가 참조된다. 이것에는 동일한 변환을 응용한다. 이때 1차원 코드표 A가 첫 번째 칼라. 즉 백.런으로 참조된다. 종료코드의 디코딩이 완료될 때, 흑.런 코드를 디코딩시키기 위해서 1차원 코드표 B가 참조된다.
1차원 코드표 1B또는 2를 사용하여 종료코드의 디코딩이 완료되었을 경우 디코딩 결과의 출력에 따라서 제어기(1)로부터의 데이타 X, Y에 응답하여 다시 2차원 코드표가 참조된다.
2차원 코드중에서 디코드된 코드의 개시부에서 6비트 이상에 대해 "0"이 계속될 때와, 1차원 코드표들에서의 8비트 이상에 대해"0"이 계속될 때는 EOL코드를 검출시키기 위하여 특수 코드 검출표가 사용되고, 그에 따라 EOL 또는 EOFB 검출처리를 수행한다.
이하, 비압축 모드를 설명한다. 특수 코드 검출표가 참조될 때 코드가 EOL코드, 예컨대 비압축 모드의 식별 코드가 아님을 검출하였을 경우, 제어기(1)가 그 상태를 비압축 코드표1로 변환시키다. 이러한 코드는 비압축코드표 1을 사용하여 디코드된다. 비압축 모드에서는 5번째 "0"이 계속되면 "1"이 삽입된다. 그러므로, 6번째, "0"은 정상 코드로 리턴시키기 위한 식별 코드를 제외하고는 계속되지 않는다.
"0"이 6비트 이상에 대해 계속될 경우에는 그것이 비압축 모드의 종단 코드인지를 체크하기 위하여 비압축 표 2가 참조된다. 만일 종단 코드가 검출되면, 디코딩 처리가 정상 코딩모드, 예컨대 2차원 코드표 또는 1차원 코드표 1A혹은 1B로 리턴한다.
EOL코드가 검출되었을 경우 포스트 처리가 상술된 바와 같은 방법으로 수행한다.
이하, EOL 코드의 디코딩에 대해 설명한다. MH 또는 MR방법에서는 EOL코드가 사용된다. 그러나, M2R방법에서는 상술한 바와 같이 EOL코드를 사용하지 않는다. 대신에, 2개의 EOL 코드를 가진 EOFB(팩시밀리 블록 종단)코드가 사용된다. 1차원 코드표가 참조될 때, 코딩에러가 발생하지 않으면 EOL코드 및 확장모드를 제외하고는 8비트 이상에 대해 "0"이 계속되지 않는다. 이때 EOL코드는 제어기(1)로부터의 데이타 X, Y에 응답하여 특수 코드 검출표를 참조함으로써 검출된다.
MR또는 M2R방법에서는 2차원 코드표내의 6비트 이상에 대해"0"이 계속되지 않는다. 2차원 코드표에서 디코드된 코드의 개시부로부터 6비트 이상에 대해 "0"이 계속될 때, EOL코드를 검출하기 위하여 특수코드 검출표가 참조된다.
M2R방법에서는 수신 데이타가 체크 데이타와 함께 송신되기 때문에 송신 에러가 발생하지 않는다. 그러나, MH 및 MR방법에서는 에러가 발생할 수 있다. 디코드된 코드가 에러를 포함하고 있다고 검출되면, 제어신호가 추출되고 대응하는 처리 라인은 그 종단을 통해 스킵된다. 이어서, EOL코드가 EOL 검출기(81)에 의해 검출되는데, 만일 그것이 EOL코드라고 증명되면 EOL검출처리가 추출된다.
더 구체적으로 말하면, 에러가 발생할 때 대응처리 라인의 디코딩이 에러검출시 완료되고, 다음 처리 라인이 스타트된다 .이러한 EOL 검출부는 또한 페이지의 개시부에서 전송된 첫 번째 EOL코드를 검출할 동안 사용된다.
M2R방법에서는 상술된 바와 같은 데이타의 전송시 에러 체크가 수행된다. 에러코드가 검출될 때는 재송신 요구신호가 발생되어 보정 데이타가 전송된다. 그러므로, 에러 검출이 생략될 수 있다. M2R방법에서는 상술된 바와 같이 EOL코드가 전혀 사용되지 않으며, 대신에 EOFB 코드가 한 페이지에 대한 코드들의 종단에 제공된다.
만일 디코딩부(13)의 상태가 전진처리 동안 간단히 변경되지 않으면, 마지막 라인의 종단으로 처리가 진행할 때 EOFB 코드의 첫 번째 반의 존재가 체크될 수 없게 된다. 이러한 문제점을 해결하기 위하여, 그것이 제6도의 해칭부분, 예컨대 모드 비트"0"으로 이루어지는 디코드될 코드를 디코딩할 동안 검출될 때와, 특수코드 검출표가 참조되어야 할 때, 디코딩부(13)의 상태가 EOL 검출상태 에서의 상술된 동작에 관계없이 전진처리 동안 변경될 수 있다. 따라서 처리가 마지막 라인의 종단으로 진행할 때 디코딩부(13)는 EOFB코드의 첫번째반을 디코드할 수 있으며, 그에 따라 계속적으로 두 번째 반을 디코드할 수 있다.
본 발명에서는 M2R방법 이외의 다른 방법, 예컨대 MR 또는 MH방법에 의하여 인코드된 코드가 디코드 되었을 경우, 전진처리가 1런 동안의 처리 범위 이내로 진행할 수 있다. 더욱 상세하게 말하면, 1차원 코드표 2또는 특수코드 검출표가 1차원 코드표 1이 참조된 이후 참조되었을 경우, 1차원 코드표 2또는 특수코드 검출표를 참조하기 위한 처리는 디코드된 코드를 즉시 진행시키기 위한 생성처리가 완료되기 이전에 완료될수 있다. 그 이유는 이들 방법이 EOL코드들을 사용하기 때문이며, 비록 디코딩처리부(7)의 상태가 전진처리동안 병경된다하더라도 전혀 문제점에 직면되지 않고 다음 라인의 개시부에 대한 칼라가 결정된다. 따라서, 디코드된 결과가 생성 처리부(8)로 출력된다.
이하, 디코딩부(7)로부터의 디코딩 결과를 기초로하여 2진 데이타를 처리하기 위한 생성처리부(8)의 동작을 설명한다. 디코딩 결과, 즉 런 랭스 데이타는 생성처리부(8)로 입력된다. 1차원 모드 코드의 런 랭스 데이타가 먼저 입력되는 경우를 설명한다.
메이크-업(make-up)코드의 디코딩 결과가 디코더 ROM(32)에서 선택기(40)로 입력된다고 가정하자. 이러한 경우, 선택기(40)가 데이타 L을 제어기(1)로부터의 런 랭스 데이타로서 수신한다. 만일 디코더 ROM(32)로부터의 출력이 제어기(1)로부터의 제어신호에 응답하여 선택되면, 그 출력이 RL카운터(42)에 입력된다. 이 RL카운터(42)는 12비트 길이를 가진 카운터이며, 디코더 ROM(32)로부터의 메이크-업 코드의 디코딩 결과를 6비트의 08-03비트 부분에 기억한다. 디코더 ROM(32)로부터의 메이크-업 코드 출력의 런 랭스 데이타는 실제 런 랭스를 "1"만큼 감소시키므로써 얻어진 값이기 때문에 그 "1"이 "111"로 될 RL카운터(42)의 02 : 00비트 부분으로 입력된다.
이러한 데이타는 선택기(44)를 통해 어드레스 데이타로서 인코더ROM(46)에 출력된다. 인코더 ROM(46)은 또한 칼라 지정을 위한 데이타를 포함하는 데이타와, 제어기(1)로부터 압축 및 신장처리중 하나를 가리키는 데이타를 데이타 N으로서 수신한다. 인코더 ROM(46)에 대한 어드레스 데이타 입력에 응답하여, 8비트 데이타"00000000"또는 "11111111"이 인코더 ROM(46)으로부터 출력된다. 이 출력 데이타는 선택기(48)를 통해 배럴 시프터(50)로 공급된다.
생성처리부(8)는 디코딩 포인터(36)와 유사한 회로를 갖는다. 상기 배럴 시프터(50)가 화상 포이터(56)로 부터의 지시테이타를 수신하고 회전 데이타를 출력시키도록 입력데이타를 회전시킨다. 그러나, 비트들이 모두 "0"또는 "1"이기 때문에 데이타가 회전되거나 또는 회전되지 않을 경우 전혀 차이가 존재하지 않는다. 이때, 데이타가 EROM(46)으로부터 바이트 단위로 출력되기 때문에 인코더 ROM(46)에서 가산기(52)까지는 EROM(46)으로부터의 데이타가 전혀 출력되지 않는다. 그 이유는 생성처리가 바이트 단위로 수행되므로 화상 포인터(56)의 지시값이 변경될 필요가 없기 때문이다.
배럴 시프터(50)로부터의 출력은 선택기(60)와, 또한 레지스터(62)의 15-08 비트 부분에로 공급된다. 상기 선택기(60)는 선택기(64)를 통하여 데이타 RODT07-00또는 RODT15-08을 수신한다.
이러한 경우 발생되는 런 랭스 데이타가 메이크-업 코드로 되고, 코드의 처리 동안 데이타 RODT1-08은 선택기(64)로 선택된다. 상기 선택기(60)는 또한 배럴 시프터(50)에서와 마찬가지로 화상 포인터(56)로부터 동일한 지시데이타를 수신한다.
선택기(60)는 LSB위치에서 "1"만큼 더 적은 비트 위치까지 선택기(64)에서의 데이타를 화상 포인터(56)에서의 지시데이타로부터 선택하고, 또한 지시데이타에서 MSB위치까지 배럴 시프터(50)에서의 출력을 선택하고, 그애 따라 그 선택된 데이타를 레지스터(62)의 데이타 RODT07-00으로서 출력시킨다.
예를 들면, 포인터의 지시데이타가 "3"일 경우 선택기(64)로부터이 데이타가 데이타 RODT02-00으로서 선택되고, 배럴 시프터(50)에서의 데이타는 데이타 RODT07-0으로서 선택된다. 상기한 동작에 따라서, 1바이트에 대한 회상 데이타 패턴이 발생되기 때문에 레지스터(62)의 데이타 RODT07-00이 인버터(24)와 유사한 인버터(66)를 통하여 데이타 버스상에 출력되어 어드레스 카운터(88)의 현재값에 대응하는 어드레스로서 기억될 데이타 P로서 참조라인 데이타 기억부(4)에 공급된다. 따라서, 생성 처리의 제1단계가 완료되어 제어기(1)에 의해 검출된다.
1바이트에 대한 처리를 완료하자마자 곧 바로 1클록이 1만큼 증가시키기 위한 데이타 Q로서 어드레스 카운터(82)에 인가된다. 이때 M2R방법에 의해 인코드된 경우, 카운터(82)의 값이 정지 어드래스 레지스터(80)의 값과 비교되고, 그에 따라 처리가 라인의 종단까지 진행할 경우를 체크한다. MR 또는 MH방법에 의해 인코드된 코드의 경우에는 EOL코드가 사용되기 때문에 전혀 문제가 없게 된다.
레지스터(96)내의 데이타는 1바이트 동안 LSB방향으로 시프트 된다. 새로운 참조라인 데이타가 어드레스 카운터(82)의 값과 어드레스로서의 데이타 R의 합을 사용하여 기억부(4)로부터 판독되어 레지스터(96)에 데이타 RDF15-08로서 래치된다. 동시에 a0포인터의 내용은 변화되지 않는다. 그리고 RL 카운터(42)로부터의 데이타M이 제어기(1)에 출력된다. 제어기(1)는 RL카운터(42)로부터의 데이타 M를 기초로하여 입력 메이크-업 코드의 생성 처리가 완료된 경우를 체크한다.
만일 완료되지 않았다면, RL카운터(42)의 내용이 "1"만큼 감소되고 이어서 선택기(44)를 통해 인코더 ROM(46)으로 공급된다. 생성 처리는 RL카운터(42)로부터의 데이타 M이 데이타 "0"과 같아지게 될 때까지 상술된 바와 같은 방법으로 반복된다. 데이타 M이 데이타 "0"과 같아질 때, 대응 메이크-업 코드에 대한 생성 처리가 완료되고, 계속적으로 종료코드가 처리된다.
선택기(40)가 데이타 L을 선택할 때에도 또한 메이크-업 코드에 대한 처리와 동일한 처리가 수행된다. 동일한 칼라의 런이 길이 2361이상에 대해 계속될 경우에는 런 길이 2560을 나타내는 코드가 런 길이에 따라 반복된다. 반복된 회수와 런 랭스(2560-64)를 지시하는 데이타 RL카운터(42)에서 데이타 L로서 세트된다. 런랭스 2560에 대한 생성 처리가 완료될 때 반복 횟수는 "1"만크 감소되고 생성처리가 다시 실행된다. 따라서 모든 생성 처리는 M이 "0"이 될 때까지 반복된다.
이하, 종료코드의 디코딩 결과가 처리된 경우에 대하여 설명한다.
디코딩 결과 또는 런 랭스 데이타는 선택기(40)를 통하여 RL카운터(42)의 05-00부분에 데이타 I로서 입력된다. 상기 RL카운터(42)의 05-03부분이 메이크-업 코드와 동일한 방법으로 처리된다.
05-03비트 부분의 내용은 화상 데이타의 바이트의 생성처리가 완료될 때마다 "1"만큼 감소된다. 바이트 데이타의 처리 완료 후에는 1바이트 보다 더 적어지는 데이타 02-00이 처리된다.
데이타 02-00이 선택기(44)에 입력되고, 그에 따라 메이크-업 코드의 방식과 마찬가지로 인코더 ROM(46)에 입력되도록 선택된다. 인코더 ROM(46)에 의해 생성된 상기 화상 데이타 패턴이 배럴 시프터(50)에 의해 시프트된 다음 레지스터(62) 및 선택기(60)의 데이타 RODT15-08부분으로 출력된다.
그후, 화상 데이타 패턴이 화상 포인터(56)의 지시데이타에 따라서 선택기(60)에 의해 이미 처리된 데이타 RODT15-08과 함께 합성되고, 그 합성된 데이타는 레지스터(62)의 데이타 RODT07-00부분에 입력된다. 이때, 출력 화상 패턴 데이타의 길이에 대응하는 데이타가 인코더ROM(46)에서 가산기(52)까지 EROM07-05로서 출력된다. 그 결과, 화상 포이터(56)의 값이 갱신된다 이때 23비트가 가산기(52)의 출력에서 "1"로 될 경우, 이것은 1바이트에 대한 처리가 완료되었음을 알리기 위하여 데이타 0으로서 제어기(1)로 신호된다. 데이타 0이 출력될 때, 레지스터(62)는 제어기(1)로부터의 제어신호에 응답하여 인버터(66)를 통해 데이타 버스상에 데이타 RODT07-00을 출력시키고, 그것은 데이타 P로서 기억부(4)에 기억시킨다. 상기 23비트가 "1"이 아닐 경우, 데이타 RODT07-00이 다음 화상 데이타 패턴이 발생될 때까지 지속된다.
다음에 화상 데이타 패턴이 선택기(60)에 입력될 때, 레지스터(26)의 데이타 RODT07-00이 선택기(64)를 통하여 선택기(60)로 공급된다. 이와 같은 방법으로 동일한 동작이 반복된다.
1바이트 보다 적은 종료코드가 처리되고 있을 때는 디코딩 결과가 RL카운터(42)를 통과하지 않고 선택기(44)에 직접 공급되는 것을 제외하고는 1바이트 보다 적은 데이타가 수행될 경우 실질상 동일한 처리를 행하게 된다. 상기 동작은 MH방법에 의해 인코드된 수평모드 코드와 MR 및 M2R방법에 의해 인코드된 수평모드 코드의 MH코드 부분에 대해 얻어질 수 있다.
다음, 2차원 코딩 모드로서의 패스모드 및 수직 모드의 코드에 대한 생성처리를 설명한다. 칼라 변화 비트위치 b1이 레지스터(96)내의 참조라인 데이타 상에 검출되지 않을 때, 이것은 데이타 A2로서 제어기(1)로 전송되고, 제어기(1)로부터의 데이타 N에 따라서 화상 데이타 패턴이 인코더 ROM(46)으로부터 발생된다. 화상 데이타 패턴의 생성 처리는 수평모드의 메이크-업 코드에서와 동일한 방법으로 수행된다. 화상 포인터(54)의 지시데이타는 불변된다.
a1, b1검출기(16)의 b1검출기(102)에 의해 b1이 검출되는 경우, b1선택기(108)로 공급된다. b1값이 레지스터(96)로부터 알수 있는 바와 같이 -4비트 위치로부터 카운트 되므로, "+4"가 그것에 가산된다. 패스모드 또는 수직모드내의 런 랭스 데이타는 RL카운터(42)내에서 래치되고, 화상데이타는 전술한 바와 동일하게 발생된다. 상기 런 랭스 데이타는 데이타 B로서 선택기(110)에 출력된다. 선택기(108) 및 (110)에 입력되는 이들 데이타는 가산기(112)에 입력되어 가산된다. 이 가산된 데이타가 8이상 일 때 하위 3비트 데이타가 선택된다. 가산된 데이타의 하위 3비트 데이타는 대응 화상 데이타 패턴의 생성 처리가 완료된 후 데이타 C로서 선택기(54)에 출력된다.
이제, 비압축 모드 코드가 입력되는 경우에 대해 설명한다. 비압축 모드 코드는 레지스터(58)를 통해 선택기(48)에 데이타 G로서 입력된다. 상술된 것과 동일한 방식으로 다음 처리가 수행된다. 비압축 모드 코드의 런 랭스 데이타는 RL카운터(42)로 출력되고, 수직 및 패스 모드에서 처리된 방식과 동일하게 처리된다.
이하, 압축 처리에 대해 제7도를 참조하여 설명한다.
먼저, MH코드에 대한 압축 처리를 설명한다. 화상 패턴 데이타는 입력 데이타 버스로부터 래치(22)로 입력되고 그것에 의해 래치된다. 입력 데이타는 인버트(24)를 통해 레지스터(26)에 입력된다. 이때, 레지스터 데이타RDTI07-00이 다음 처리 라인에 대한 참조라인 데이타로서 참조라인 기억부(4)에 출력되어, 어드레스 레지스터(88)로부터의 데이타에 따라서 그것에 기억된다. 또한 데이타 RDTI07-00부분에 기억된 화상 데이타는 a1검출기(104)로 출력되고, 데이타 320(2560≒8)은 RL카운터(42)에 프리세트된다. a1검출기(104)에 의해 검출된 a1점은 데이타 D로서 선택기(114)를 거쳐 선택기(38)로 출력된다.
그후 신장처리에서와 동일한 방법으로 디코딩 포인터(36)의 지시데이타에 따라서 9비트가 퍼널시프터(30)에 의해 선택되어 선택기(31)로 출력된다. 퍼널 시프터(30)에서의 출력 선택기(31)에 의해 선택되어 디코더 ROM(32)에 출력되다. 1바이트 길이 이상에 대해 동일한 칼라를 갖는 런이 "1000"을 계속할때, 예를 들면 1바이트 길이를 가리키는 데이타가 가산기(34)에 대한 데이타 DROM11-08로서 디코더 ROM(32)로부터 출력되고, 이어서 데이타 J가 결과적으로 제어기(1)로 출력된다.
디코딩 포인터(36)의 값은 갱신되지 않는다. 제어기(1)는 어드레스 데이타를 갱신하는 신장처리에서와 동일한 방법으로 데이타 Q를 어드레스 카운터(82)로 출력시킨다. 또한 RL카운터(42)의 내용이 카운트 다운된다. 동시에, 레지스터(96)의 내용도 신장처리에서와 동일한 방법으로 1바이트만큼 좌측 시프트 된다. 기억부(4)로부터 새로운 참조라인 데이타가 레지스터(96)에 출력되어, REF15-08로서 래치된다. 포인터(100)의 값은 변경되지 않는다.
런의 개시부로부터 동일한 칼라를 계속하는 1차원 모드에서는 1바이트에 대한 처리 완료시, 디코더 ROM(32)으로부터 데이타DROM(15-12)에 따라서 카운트 펄스가 제어기(1)로부터의 RL카운터(42)로 입력되고, 그에 따라 제7도의 21에서 도시된 바와 같이 RL카운터(42)를 카운트 다운 시키게 된다. 칼라 변경점 a1이 a1검출기(104)에 의해 검출될 때, 다시 말해서 데이타 LSHT08-00의 내용이 "00000000x" 또는 "11111111x"가 아닐 때, RL카운터(42)의 카운트 결과가 선택기(44)를 통해 인코더 ROM(46)으로 공급된다. 또한, 데이타 N도 인코더 ROM(46)으로 공급되고, 따라서 메이크 -업 코드를 생성하게 된다.
생성된 메이크-업 코드는 선택기(48)를 거쳐 배럴 시프터(50)로 공급된다. 생선된 메이크-업 코드는 화상 포인터(56)의 지시데이타에 따라서 배럴 시프터(50)에서 회전된다. 이 회전된 코드가 레지스터(62)의 데이타 RODT15-08부분으로 공급되고 또한 선택기(60)에도 공급된다. 선택기(60)에서는 화상 포인터(56)의 지시데이타에 따라서 회전된 코드가 신장처리에서와 동일한 방법으로 선택기(64)의 출력과 함께 결합된다. 동시에 생성된 메이크-업 코드의 길이가 그것을 지시데이타에 가산하기 위하여 인코더 ROM(46)에서 가산기 (52)까지 출력된다. 그 합은 다시 포인터(56)의 지시데이타가 된다. 데이타 0이 제어기(1)로 출력될 때, 데이타 RODT07-00이 출력데이타 버스상에 출력 된다.
생성될 메이크-업 코드이 길이가 6 내지 10비트 일 때, 메이크-업 코드의 나머지 부분이 인코더 ROM(46)으로부터 생성되어, 상술된 것과 동일한 방법으로 처리된다 . 이때, 데이타 RODT15-08이 선택기(64)에서 선택된다. 메이크-업 코드의 생성 처리가 완료된 후, RL카운터(42)의 11-03비트 부분은 클리어되고 RL카운터(42)의 02-00비트 부분은 05-03비트 부분으로 시프트 되고, 1바이트보다 작은 나머지 데이타는 RL카운터 (42)의 02-00비트 부분으로 입력된다. 이 결과는 또한 인코더 ROM(46)으로 출력되어 메이크-업 코드에서와 동일한 방법으로 처리되고, 따라서 압축 종료코드를 출력시킨다. 코드의 길이에 대한 처리는 메이크-업 코드에 대한 처리와 동일하다. 이러한 방법으로 수평모드를 압축 처리할 경우에 있어서의 메이크-업 및 종료코드들이 생성된다.
MR과 M2R방법에 의해 인코드된 수평모드 코드들은 수평모드의 식별 코드가 제어기(1)로부터의 데이타 N에 따라서, 제1메이크-업 이전에 가산되는 것을 제외하고는 MH코드의 압축 처리와 동일한 방법으로 처리된다.
이제, 수직 및 패스모드들 에서의 2차운 코드들의 압축 처리에 대하여 설명한다. a1이 데이타 F로서의 데이타 RDTI07-00으로 검출되지 않고 b1도 또한 레지스터(96)로부터의 데이타 REF-3-10으로 검출되지 않을 때 스킵처리가 수행된다. 스킵처리에서는 예를 들어 새로운 화상 데이타 패션의 바이트가 입력 데이타 버스를 통하여 입력되고, 레지스터(96)내의 참조 라인 데이타가 갱신된다. a1 및 b1이 모두 검출될 경우 2차원 코드들의 압축처리가 스타트된다.
검출된 a1 및 b1이 감산기(120)로 공급되고 이 감산기(120)로 부터의 출력은 데이타A로서 선택기(44)를 통하여 인코더 ROM(46)으로 출력된다. 인코더 ROM(46)에서 페스모드 또는 수직모드 코드가 발생되어, 수평모드 코드에서와 동일한 방법으로 배럴 시프터(50), 선택기(60), 및 화상 포인터(56)등으로 처리된다. 이때, b1이 선택기(114)에서 선택되고, a0포인터(100)와 데이타 D로서 선택기(38)를 거쳐 디코딩포인터(36)로 공급된다. 그 다음 처리는 신장처리에서 동일하다.
비압축 모드에서는 데이타가 래지스터(58)로부터 직접 선택기(48)로 공급된 다음 거기서 곧바로 출력된다. 그 다음 처리는 신장처리에서와 동일하다. 코드 길이는 데이타 B로서 선택기(110)에 공급되고, 화상 포인터(56)의 데이타는 가산기(112)와 선택기(52)를 거쳐 전송되는 데이타 B에 의해 갱신된다.
이하 M2R방법에 의해 인코드된 코드의 디코딩시 디코딩처리부(7)의 동작 타이밍에 대해 제10A도 내지 10F도를 참조하여 생성처리부(8)의 동작과 관련시켜서 설명한다. 제1단계에서는 디코딩처리부(7)가 n런의 디코딩 동작을 스타트하지만, 그것이 비압축되는 동안은 대기한다.
통상, 화상패턴 생성이 바이트 단위로 병렬 수행될 수 있다고 하더라도 코드들의 디코딩이 비트 직렬 방법으로 수행된다.
이와는 대조적으로 본 발명에 따라 코드 디코딩이 상술된 바와 같이 병렬 수행되기 때문에 고주파 발생을 갖는 대부분의 코드들이 1사이클로 디코드될 수 있다.
M2R방법으로 디코딩하는 경우, 디코딩이 생성처리부(8)로부터의 결과에 의해 라인의 종단까지 완료되면 그 디코딩은 감소되므로, 디코딩처리부(7)는 다음 코드에 대한 전진처리를 완료하지 않고, 그 상태가 변경되기 전에 즉시 처리를 중단한다. 만일 디코딩처리부(7)의 상태가 예전에 비트 포인터를 전진처리를 완료하지 않고 전진처리로 변경되면 그것을 리턴시키기 위한 수단이 요구될 수도 있다.
생성처리부(8)내의 처리가 완료되고 그 런의 대응처리 라인상의 위치가 검출될 때, 그것이 라인의 최우측 위치와 일치하는 지를 검출한다. 만일 전혀 일치하지 않으면, 정상 디코딩이 수행될 수 있으므로 디코딩 처리부(7)가 디코딩 처리를 완료하여 그 디코딩 결과를 생성처리부(8)로 전송하고, 다음 런의 처리를 스타트한다.
생성처리부(8)는 디코딩처리부(7)로부터 전송된 런 랭스 데이타를 기초로하여 화상패턴 생성을 스타트한다. 그 런의 대응처리 라인상의 위치가 그 라인의 종단과 일치할 때, 생성처리부(8)가 현재 라인 처리를 완료하기 위한 처리를 실행한 다음 제어기(1)가 다음 처리 라인, 예컨대 참조라인 화상데이타를 지속하기 위한 기억부(4)의 절환 기억영역을 준비한다. 이러한 경우, 생성처리부(8)가 제어기(1)를 통해 디코딩처리부(7)로 그 라인의 종단을 신호한다.
상술된 바와 같이, 라인의 개시부는 상술된 백.런이 되도록 결정되므로, 디코딩 처리부(7)가 생성처리부(8)로부터의 정보를 사용하여 대응코드를 백으로 되게 재 디코드한다. 이때, 디코딩처리부(7)가 전진처리를 아직 완료하지 않게 하고 또한 그 상태를 변경되지 않게 하므로, 상기 디코딩처리부(7)는 칼라 지정을 변화시키므로써 신 디코딩 결과를 얻을 수 있다. 만일 전진처리의 대상이 2단계 처리를 필요로 하는 10비트 이상의 비트이면, 디코딩처리부(7)가 제1단계를 완료함이 없이 생성처리부(8)로부터 정보를 대기시킨다.
디코딩처리부(7)는 한 단계에서 9비트 이하의 코드를 디코드할 수 있는데, 거의 모든 입력 코드들이 통상 9비트 이하로 이루어진다. 따라서 전진처리가 디코딩처리부(7)로 하여금 그 상태를 변경시킴이 없이 인터럽트 된다하더라도, 디코딩처리부(7)는 생성처리부(8)가 현재 런에 대한 생성처리를 완료한 후 즉시 다음 런의 디코딩 결과를 얻을 수 있다. 아울러, 생성처리부(8)가 대기시간 없이 대응런의 처리를 스타트할 수 있다.
디코딩처리부(7) 및 생성처리부(8)의 동작들 간의 관계에 대해서, 이하 제10A도 내지 10C도를 참조하여 상세히 기술한다. 제1단계에서는 디코딩 처리부(7)가 제n런의 디코딩 동작을 스타트 하지만 그 디코딩 동작을 완료하지 않고 대기시킨다. 생성처리부(8)가 제(n-1)런의 생성처리를 수행하고 그 생성처리를 한 단계에서 완료한다고 가정하자. 이때, 디코딩처리부(7)가 제n런의 디코딩을 완료하며, 제n런의 디코딩 결과를 얻는다.
더 구체적으로 말하여 생성처리부(8)에서 화상데이타 패턴에 대한 생성처리의 완료시, 디코딩처리부(7)의 처리가 이러한 단계에서 완료된다. 그 후, 제(i+1)단계에서는 디코딩처리부(7)가 제(n+1)런내의 코드의 디코딩을 스타트하고, 디코딩이 완료되기 전에 즉시 한 상태로 대기한다. 디코딩처리부(7)에 의해 디코드된 제n런이 3바이트 화상데이타 패턴으로 이루어지면, 생성처리부(8)는 제n런을 한 단계에서 처리할 수 없다. 그러므로, 디코딩처리부(7)가 제(i+2)단계 이후에서도 현재 상태를 유지한다.
생성처리부(8)가 제(i+3)단계내의 제n런에 대한 처리를 완료할 때, 만일 제(n+1)런내의 코드가 9비트 이하로 이루어지면 디코딩처리부(7)가 제(n+1)런이 디코딩 처리를 완료하고, 제(i+4)단계내의 다음(n+2)런의 디코딩을 스타트한다. 생성처리부(8)는 디코딩처리부(7)로부터의 디코딩 결과에 따라서 제(n+1)런의 화상 데이타 패턴을 생성하기 시작한다. 이러한 방법으로, 디코딩처리부(8)가 대기시간 없이 정상적으로 처리를 스타트 할수 있다.
제10D 내지 10F도는 유사한 예로서, 제(n+1)런 내의 코드가 10비트 이상으로 이루어지는 경우에 있어서의 동작을 도시한 것이다. 생성처리부(7)는 제(i+1)단계내의 (n+1)런의 디코딩을 스타트 하지만 그것을 완료하지 않고 대기시킨다. 생성 처리부(8)가 제(i+3)단계내의 제n런의 처리를 완료하자마자 곧바로 디코딩처리부(7)가 제(n+1)런 코드의 디코딩 종작의 제1단계를 완료한다. 다음, 디코딩처리부(7)가 제(n+1)런 코드의 제2단계를 디코드한다.
생성처리부(8)는 아직(i+4)단계내에 디코딩처리부(7)로부터의 새로운 디코딩 결과를 얻지않고 그것을 대기시킨다. 디코딩처리부(7)가 제(i+4)단계내의 (n+1)런 코드의 디코딩을 완료할 때, 생성처리부(8)가 제(i+5)단계로 제(n+1)런의 화상데이타 패턴 발생 처리를 실행한다.
이러한 방식으로 10비트 이상을 갖는 코드의 경우, 디코딩 처리부(8)가 대기시간을 갖는다. 그러나, 10비트 이상을 갖는 코드의 생성 주파수가 낮기 때문에 대기시간은 장치의 전체 성능에 대해 아무런 영향을 주지 않는다.

Claims (18)

  1. 코드 데이타를 파이프라인 방식으로 디코드할 수 있는 2진데이타 압축·신장처리장치에 있어서, 미리 설정된 제1길이를 갖는 코드 데이타를 수신하고 미리 설정된 길이에 대한 최신 코드 데이타를 기억하는 기억수단(26)과, 상기 기억수단(26)에 기억된 코드 데이타르 수신하고, 비트 위치 데이타 입력에 따라 선택된 입력 제어 데이타와 코드 데이타부에서 코드 데이타 블록을 생성해내고, 출력 명령에 따라서 생성된 코드 데이타 블록을 출력시키는 블록 출력수단(30,31)과, 코드 단위 길이를 지시하는 데이타와 상기 코드 데이타 블록의 입력에 따라 코드 데이타 블록에의 리딩 비트로부터 시작하는 코드 단위와 일치하는 런 랭스 데이타를 생성하는 디코딩수단(32)과 상기 기억된 비트위치 데이타를 상기 블록 출력수단(30,31)에 출력시키고, 상기 디코딩 수단(32)의 코드 단위 길이 데이타에 따라 비트 위치의 데이타를 갱신시키는 비트 위치 지정수단(34,36)을 구비하는 것을 특징으로 하는 2진 데이타 압축·신장처리장치.
  2. 제1항에 있어서, 상기 비트 위치 지정수단(34,36)은 입력 비트 위치 데이타를 기억하기 위한 비트 위치 데이타 기어수단(36)과, 상기 비트 위치 데이타 기억수단(36)의 비트 위치 데이타와 상기 디코딩수단(32)의 코드 단위 길이 데이타를 가산하고, 그 가산 결과의 일부분을 비트 위치 데이타로서 상기 비트 위치 데이타 기억수단(36)으로 출력시키는 가산수단(36)을 구비하는 것을 특징으로 하는 장치.
  3. 제2항에 있어서 상기 비트위치 지정수단(34,36)은 가산된 결과가 미리 설정된 제1길이 이상의 길이를 갖는 데이타일 때 상기 가산 결과로부터 미리 설정된 제1길이를 나타내는 데이타를 감산해서 그 감산결과를 비트위치 데이타로서 출력시키고, 가산된 결과가 미리 설정된 제1길이 보다 작은 길이를 갖는 데이타일 때 그 가산결과를 비트위치 데이타로서 출력시키는 수단(34)과, 상기 가신수단(36)에 의해 가산된 결과가 미리 설정된 제1길이 이상의 길이를 갖는 데이타일 때는 미리 설정된 제1길이를 갖는 다음 코드 데이타를 수신할 수 있는 기억수단(26)을 추가로 구비하는 것을 특징으로 하는 장치.
  4. 제1항에 있어서, 출력명령은 현재의 코드 단위와 일치하는 코드의 바로 앞에서 디코드된 코드에 대한 화상 생성처리기 완료될 때 입력되는 것을 특징으로 하는 장치.
  5. M2R방법에 의해 인코드된 코드 단위가 상기 디코딩수단(32)에 의해 바로 디코드되고, 상기 디코딩수단(32)이 다음 코드 단위로 디코드하기 위해 상태 정보를 출력시키는 수단(32)을 추가로 포함하는 제4항에 따른 2진 데이타 압축 및 신장처리장치에 있어서, 디코딩 처리가 라인 종단으로 진행하는 것을 검출해내는 라인종단 검출수단(11)과, 상태정보에 따라 상기 볼록 출력수단(30,31)에 제어데이타를 출력시키는 제어수단(1)을 구비하는데, 상기 제어데이타는 디코딩 처리가 라인 종단으로 진행한다는 것이 검출될 때 제어데이타거 백색으로서 출력된 후에 상기 블록 출력수단(30,31)이 입력되는 것을 특징으로 하는 장치.
  6. 제5항에 있어서, 상기 출력명령은 상기 블록 출력수단(30,31)에 입력된 다음에 제1의 EOL코드를 디코드하는 것을 특징으로 하는 장치.
  7. 제1항에 있어서, 상기 코드 단위는 메이크-업 코드, 종료코드, 수평모드의 식별코드, 수식모드코드, 패스모드코드 및 EOL코드 중의 하나이고, 상기 디코딩수단(32)은 메이크-업 코드와 종료코드를 디코딩하기 위한 1차원 코드표와, 수평모드의 식별코드, 수직모드 코드, 패스모드코드 및 EOL 코드를 디코딩하기 위한 2차원 코드표를 포함하는 것을 특징으로 하는 장치.
  8. 제1항에 있어서, 상기 코드 단위는 메이크-업 코드의 분할 부분들, 종료코드의 분할 부분들, 수평모드와 식별코드, 수직모드코드, 패스모드코드 및 EOL코드의 분할 부분들중 하나인 것을 특징으로 하는 장치.
  9. 제8항에 있어서, 메이크-업 코드, 종료코드 및 EOL코드는 2개로 분할되고, 상기 디코딩수단(32)은 메이크-업 코드와 종료코드의 제1부분을 디코딩하기 위한 1차원 코드 표1, 상기 메이크-업 코드와 종료 코드의 제2부분을 디코딩하기 위한 1차원 코드 표2, 수평모드의 식별코드와 수직모드코드와 패스모드코드를 디코딩하기 위한 2차원 코드표 및 EOL코드를 디코딩하기 위한 특수 코드표를 포함하고, 상기 출력명령은 현제의 코드단위와 일치하는 코드에 대한 화상 생성처리가 완료되었을 때 상기 블록 출력수단(30.31)에 입력되고, 그 후에 디코드된 코드 단위가 메이크-업 코드, 종료코드 및 EOL코드들의 제1부분들중 하나일 때 상기 블록 출력수단에 입력되는 것을 특징으로 하는 장치.
  10. 제9항에 있어서, 상기 디코딩수단(32)은 비압축 코드를 디코딩하고, 런 랭스 데이타를 코드 단위 길이 데이타로서, 즉 특수 코드표에 의해 디코드되는 압축 코드의 식별코드로서 생성하기 위해 비압축 코드표를 추가로 포함하고, 상기 2진 데이타 압축 및 처리장치는 비압축 코드를 기억하기 위한 레지스터 수단(58)을 추가로 구비하고, 상기 블록 출력수단(30,31)은 상기 레지스터수단(58)에 비압축 코드를 출력시키기 위한 수단을 추가로 포함하는 것을 특징으로 하는 장치.
  11. 코드 데이타를 병렬로 디코드할 수 있는 2진 데이타 압축·신장처리 장치에 있어서, 코드 단위를 포함하는 입력 제어테이터와 입력 코드 데이타로부터 디코드될 코드들의 단위로서 어드레스 데이타를 생성해내는 어드레싱수단(31)과 다음 코드 단위와 디코드된 코드 단위의 런 랭스 데이타를 디코드할 때 참조될 표를 지시하는 다음 상태 데이타를 출력시키기 위해, 코드 단위들을 디코딩할 수 있는 다수의 코드표들을 갖는 디코딩수단(32)과, 상기의 다음 상태 데이타에 따라 현재의 코드단위를 디코드하기 위해 제어 데이타를 출력시키는 제어수단(1)을 구비하는 것을 특징으로 하는 2진 데이타 압축·신장처리 장치
  12. 제11항에 있어서, 상기 코드 단위는 메이크-업 코드와 종료 코드중 하나이고, 상기 디코딩수단(32)은 백.런 메이크-업 코드와 백.런 종료코드를 디코딩하기 위한 백.런 1차원 코드표와 흑.런 메이크-업 코드와 흑.런 종료코드를 디코딩하기 위한 흑.런 1차원 코드표를 포함하는 것을 특징으로 하는 장치.
  13. 제11항에 있어서, 상기 코드 단위는 메이크-업 코드, 종료코드, 수평모드의 식별코드, 수직모드코드, 패스모드코드 및 EOL코드중 하나이고, 상기 디코딩수단(32)은 흑.런 메이크-업 코드와 흑.런 종료코드를 디코딩하기 위한 백.런 1차원 코드표 수평모드의 식별코드와 수직모드코드와 패스모드코드를 디코딩하기 위한 2차원 코드표 및 EOL코드를 디코딩하기 위한 특수 코드표를 포함하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 제어수단(1)은 제어데이타를 상기 어드레싱수단(31)에 출력시키기 위한 수단(1)을 추가로 구비해서, 디코딩 처리가 라인의 종단까지 완료되었을 때 다음 코드 단위가 백.런으로서 디코드 되도록 하는 것을 기록하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서, 상기 제어수단은 다음 상태 데이타에 따라 상기 어드레싱수단(31)에 제어데이타를 출력시키는 수단(1)을 추가로 포함해서, 수직모드코드와 패스모드코드가 코드 단위로서 디코드될 때는 2차원 코드표를 참조하여 다음 코드 단위를 디코드하고 수평모드의 식별코드가 디코드될 때는 백.런1차원 코드표를 참조하여 다음 코드 단위를 디코드하고, 흑.런 종료코드가 디코드될 때는 흑.런 1차원 코드표를 참조하여 다음 코드 단위를 디코드하고, 2차원 코드표에서 "0"비트가 8비트 이상 계속될 때는 특수 코드표를 참조해서 다음 코드 단위를 디코드하는 것을 특징으로 하는 장치.
  16. 제11항에 있어서, 상기 코드 단위는 메이크-업 코드의 두 부분들, 종료코드의 두 부분들, 수평모드의 식별코드, 수직모드코드, 패스모드코드 및 EOL코드의 두 부분들 중 하나이고, 상기 디코딩수단(32)은 백.런 메이크-업 코드와 백.런 종료코드의 제1부분을 디코딩하기 위한 백.런 1차원 코드표 1, 백.런 메이크-업 코드와 백.런 종료코드의 제2부분을 디코딩하기 위한 백.런1차원 코드표 2, 흑.런 메이크-업 코드와 흑.런 종료코드의 제1부분을 디코딩하기 위한 흑.런 1차원 코드표, 1, 흑.런 메이트-업 코드와 흑.런 종료코드의 제2부분을 디코딩하기 위한 흑.런 1차원 코드표 2, 수평모드의 식별코드와 수직모드 코드와 패스모드를 디코딩하기 위한 2차원 코드표 및 EOL코드의 제2부분을 디코딩하기 위한 특수 코드표를 포함하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서, 상기 제어수단(1)은 제어데이타를 상기 어드레싱수단(31)에 출력시키기 위한 수단(1)을 추가로 구비해서, 디코딩 처리가 라인의 종단까지 완료되었을 때 다음 코드 단위가 백.런으로서 디코드되도록 하는 것을 특징으로 하는 장치.
  18. 제16항에 있어서, 상기 제어수단(1)은 다음 상태 데이타에 따라 상기 어드레싱 수단(31)에 제어데이타를 출력시키기 위한 수단(1)을 포함하고, 다음 코드 단위를 디코드하기 위해 수직모드 코드와 패스모드코드와 흑.런 종료코드들이 디코드될 때는 2차원 코드표가 참조되도록 하고, 수평모드의 식별코드와 백.런 메이크-업 코드들이 디코드될때는 백.런 1차원 코드표가 참조되도록하고, 백.런 메이크-업코드와 백.런 종료코드의 제1부분들이 디코드될 때는 백.런의 1차원코드표 2가 참조되도록 하고, 백.런 종료코드와 흑.런 메이크-업 코드가 디코드될 때는 흑.런 1차원 코드표1이 참조되도록 하고, 흑.런 메이크-업 코드와 흑.런 종료 코드의 제1부분들이 디코드될 때는 흑.런 1차원 코드표 2가 참조되도록 하고, 2차원 코드표에서"0"비트가 6비트 이상 계속될 때와 1차원 코드표들에서 "0"비트가 8비트 이상계속될 때는 특수 코드표가 참조되도록 하는 것을 특징으로 하는 장치.
KR1019870001792A 1986-02-28 1987-02-28 2진 데이타 압축, 신장 처리 장치 KR900001821B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4369386 1986-02-28
JP61-43693 1986-02-28
JP43693 1986-02-28

Publications (2)

Publication Number Publication Date
KR870008445A KR870008445A (ko) 1987-09-26
KR900001821B1 true KR900001821B1 (ko) 1990-03-24

Family

ID=12670910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870001792A KR900001821B1 (ko) 1986-02-28 1987-02-28 2진 데이타 압축, 신장 처리 장치

Country Status (4)

Country Link
US (1) US4800441A (ko)
JP (1) JPS62283778A (ko)
KR (1) KR900001821B1 (ko)
DE (1) DE3711200A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63299683A (ja) * 1987-05-29 1988-12-07 Matsushita Graphic Commun Syst Inc 2次元符号化信号の復号化装置
US4939583A (en) * 1987-09-07 1990-07-03 Hitachi, Ltd. Entropy-coding system
JP2672521B2 (ja) * 1987-09-21 1997-11-05 株式会社東芝 画像処理方法
JPH01274565A (ja) * 1988-04-27 1989-11-02 Matsushita Graphic Commun Syst Inc 復号装置
JP2766302B2 (ja) * 1989-04-06 1998-06-18 株式会社東芝 可変長符号並列解読方法および装置
JPH0831130B2 (ja) * 1989-05-12 1996-03-27 大日本スクリーン製造株式会社 線画像の処理方法
KR930006750B1 (ko) * 1989-06-29 1993-07-23 삼성전자 주식회사 화상데이터 부호화장치
EP0412809B1 (en) * 1989-08-09 1995-12-13 Fujitsu Limited Data compression system
JP2877375B2 (ja) * 1989-09-14 1999-03-31 株式会社東芝 可変レートコーデックを用いたセル転送方式
DE4025026C2 (de) * 1989-12-07 1997-06-12 Dirr Josef Verfahren zur mehrstufigen Codierung von Information
DE69125763T2 (de) * 1990-07-03 1997-09-25 Canon Kk Bildverarbeitungsgerät
JPH0479421A (ja) * 1990-07-18 1992-03-12 Toshiba Corp 可変長符号化装置および可変長復号化装置
JPH0490268A (ja) * 1990-08-01 1992-03-24 Hitachi Ltd 画像信号復号化方式
JPH04216271A (ja) * 1990-12-17 1992-08-06 Murata Mach Ltd ファクシミリ送信方法
US5229863A (en) * 1990-12-24 1993-07-20 Xerox Corporation High speed CCITT decompressor
US5287193A (en) * 1991-04-10 1994-02-15 Industrial Technology Research Institute Parallel processing architecture of run-length codes
US5452101A (en) * 1991-10-24 1995-09-19 Intel Corporation Apparatus and method for decoding fixed and variable length encoded data
EP0562251A2 (en) * 1992-03-24 1993-09-29 Universities Research Association, Inc. Parallel data transfer network controlled by a dynamically reconfigurable serial network
US5587797A (en) * 1992-11-06 1996-12-24 Dirr; Josef Process for encoding and transmitting information
JPH07240844A (ja) * 1993-03-19 1995-09-12 Mitsubishi Electric Corp 画像データ処理装置および画像データ処理方法
DE4447553C2 (de) * 1993-03-19 1999-08-19 Mitsubishi Electric Corp Vorrichtung zur Bilddatenverarbeitung
JPH0654212A (ja) * 1993-03-19 1994-02-25 Matsushita Graphic Commun Syst Inc 復号装置
FR2705805B1 (fr) * 1993-05-27 1996-06-28 Sgs Thomson Microelectronics Système de traitement d'images.
GB2316569B (en) * 1993-08-06 1998-06-03 Mitsubishi Electric Corp A coding system
JP3027089B2 (ja) * 1993-08-06 2000-03-27 三菱電機株式会社 符号化方式及び復号方式及び符号化復号方法
DE4447925B4 (de) * 1993-08-06 2009-04-02 Mitsubishi Denki K.K. Codierer und Decodierer
US6104751A (en) * 1993-10-29 2000-08-15 Sgs-Thomson Microelectronics S.A. Apparatus and method for decompressing high definition pictures
KR970068627A (ko) * 1996-03-22 1997-10-13 구자홍 최적화된 가변길이 테이블장치 및 최적 길이값 산출방법
US6721456B1 (en) 2000-02-23 2004-04-13 International Business Machines Corporation Color image data and control bit compression scheme with run length encoding
JP3865203B2 (ja) * 2001-04-24 2007-01-10 株式会社リコー 画像圧縮装置、画像形成装置、画像圧縮方法及び記録媒体
US6947604B2 (en) * 2002-01-17 2005-09-20 Intel Corporation Method and hardware to implement two-dimensional compression
TW565829B (en) * 2002-03-19 2003-12-11 Via Tech Inc Method and device for recovering decoded data
US7782326B2 (en) * 2004-02-25 2010-08-24 Marvell International Technology Ltd. Parallel video processing architecture
JP4502383B2 (ja) * 2004-11-16 2010-07-14 キヤノン株式会社 復号化装置およびその方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5755668A (en) * 1980-09-22 1982-04-02 Nippon Telegr & Teleph Corp <Ntt> Decoding method for run-length code
US4562484A (en) * 1983-08-19 1985-12-31 Advanced Micro Devices, Inc. Method and device for decoding two-dimensional facsimile signals
GB2146874A (en) * 1983-08-26 1985-04-24 British Telecomm Decoding of minimum redundancy codes
JPS61113172A (ja) * 1984-09-29 1986-05-31 Olympus Optical Co Ltd デ−タ復調装置
DE3543081A1 (de) * 1985-12-05 1987-06-11 Norbert Garich Mobile toilette
US4760461A (en) * 1986-02-28 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
US4760459A (en) * 1986-07-30 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus

Also Published As

Publication number Publication date
DE3711200A1 (de) 1987-12-23
US4800441A (en) 1989-01-24
JPS62283778A (ja) 1987-12-09
DE3711200C2 (ko) 1990-03-08
KR870008445A (ko) 1987-09-26

Similar Documents

Publication Publication Date Title
KR900001821B1 (ko) 2진 데이타 압축, 신장 처리 장치
KR910000742B1 (ko) 2진 데이타 압축·신장 처리장치
US4486784A (en) Image compression systems
US4316222A (en) Method and apparatus for compression and decompression of digital image data
JPH0366227A (ja) 圧縮符号化方法及びシステム並びに復号方法
JP3189876B2 (ja) 可変長符号復号化回路
US5170445A (en) Document decompressing system
KR910001072B1 (ko) 2진 데이타의 압축 및 신장처리장치
US4616211A (en) Detecting codewords
CN1107383C (zh) 高速可变长度码解码装置
US5623556A (en) System and method of extracting binary image data
JPH04298164A (ja) ファクシミリ装置用データ圧縮/解凍回路
JP3195427B2 (ja) データ変換/逆変換装置
JPH06121172A (ja) 画像符号化装置
US20020034331A1 (en) Image display device and method
US6674912B2 (en) Data compression processing method and apparatus
KR100276768B1 (ko) 화상데이타의 부호화를 위한 변화화소 검출기
EP0302432A2 (en) Document decompressing system
JPH0255987B2 (ko)
JP3108243B2 (ja) 符号化及び復号化装置
JP3247052B2 (ja) 画像データ変換処理方法及び装置
JPH0884260A (ja) 2次元画像データの圧縮方式および伸長方式
JPH0569342B2 (ko)
JPH04270569A (ja) 画像処理装置におけるデータ圧縮方式
JPH0311883A (ja) 可変長符号の復号化方式とファクシミリ装置、および静止画像伝送システム

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee