KR0154352B1 - 화상 처리 방법 및 장치 - Google Patents

화상 처리 방법 및 장치

Info

Publication number
KR0154352B1
KR0154352B1 KR1019940012017A KR19940012017A KR0154352B1 KR 0154352 B1 KR0154352 B1 KR 0154352B1 KR 1019940012017 A KR1019940012017 A KR 1019940012017A KR 19940012017 A KR19940012017 A KR 19940012017A KR 0154352 B1 KR0154352 B1 KR 0154352B1
Authority
KR
South Korea
Prior art keywords
processing
data
encoding
block
image
Prior art date
Application number
KR1019940012017A
Other languages
English (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
Priority claimed from JP12958593A external-priority patent/JP3382298B2/ja
Priority claimed from JP15490493A external-priority patent/JP3280120B2/ja
Priority claimed from JP5215642A external-priority patent/JPH0774961A/ja
Priority claimed from JP21564093A external-priority patent/JP3363536B2/ja
Application filed by 미따라이 하지메, 캐논 가부시끼가이샤 filed Critical 미따라이 하지메
Application granted granted Critical
Publication of KR0154352B1 publication Critical patent/KR0154352B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

블랭크 스페이스를 표시하는 데이터를 포함하는 화상 데이터의 고속 엔코딩 처리를 실현하는 것이 가능한 컬러 화상 처리 장치 및 방법이 개시된다. 엔코딩 처리가 실행될 때, CPU는 블랭크 값 설정 메모리 내에 블랭크 스페이스 또는 마진으로서 추가된 데이터를 설정하고, 엔코딩 처리용 DSP는 엔코딩 처리의 개시전에 설정 값에서 판독하고, 엔코딩 처리를 하도록 컬러 스페이스로 변환시키고, 결과적인 데이터는 그 자체의 내부 메모리에 저장함으로써, 내부 메모리내에 저장된 데이터가 고속 엔코딩 처리를 가능하게 하도록 블랭크 영역의 엔코딩에 사용된다.

Description

화상 처리 방법의 장치
제1도는 본 발명의 제1 실시예에 따른 컬러 화상 통신 장치의 구성의 예를 도시하는 블록도.
제2a도 및 제2b도는 이 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제3도는 블랭크 추가에 의해 추가되는 블랭크 스페이스의 예를 도시하는 도면.
제4a도 및 제4b도는 이 실시예에 따른 양자화 표의 예를 도시하는 도면.
제5도는 이 실시에에 따른 지그재그 스캐닝의 순서의 예를 도시하는 도면.
제6도는 이 실시예에 따른 DC 차, 그룹 수 및 추가 도트 수 사이의 관계의 예를 도시하는 도면.
제7도는 이 실시예에 따른 AC 계수, 그룹 수 및 추가 도트 수 사이의 관계의 예를 도시하는 도면.
제8a도 내지 제8d도는 이 실시예에 따른 엔코딩시의 병렬 연산의 예를 도시하는 타이밍 챠트.
제9a도 및 제9b도는 이 실시예에 따른 디코딩 처리 절차의 예를 도시하는 플로우챠트.
제10a도 내지 제10d도는 이 실시에에 따른 디코딩시의 병렬 연산의 예를 도시하는 타이밍 챠트.
제11도는 본 발명의 제2 실시예에 따른 컬러 화상 통신 장치의 구성의 예를 도시하는 블록도.
제12a도 및 제12b도는 제2 실시에에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제13a도 내지 제13d도는 제2 실시예에 따른 엔코딩시의 병렬 연산의 예를 도시하는 타이밍 챠트.
제14a도 및 제14b도는 제2 실시예에 따른 디코딩 처리 절차의 예를 도시하는 플로유챠트.
제15a도 내지 제15d도는 제2 실시예에 따른 디코딩시의 병렬 연산의 예를 도시한는 타이밍 챠트.
제16도는 JPEG 코딩이 컬러 화상 통신 장치에 인가되는 경우에 고려되는 배열의 예를 도시하는 블록도.
제17도는 제16도의 DSP의 엔코딩 처리 절차를 도시하는 플로우챠트.
제18도는 제16도의 DSP의 디코딩 처리 절차를 도시하는 플로우챠트.
제19도는 본 발명의 제3 실시예에 따른 컬러 화상 통신 장치의 구성의 예를 도시하는 블록도.
제20도는 제3 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제21도는 제3 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제22도는 본 발명의 제4 실시예에 따른 컬러 화상 통신 장치의 구성의 예를 도시하는 블록도.
제23도는 제4 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제24도는 제4 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제25도는 제4 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제26도는 제4 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트.
제27도는 JPEG 코딩 방법에 따른 엔코딩 시의 처리 블록도.
제28도는 본 발명에 따른 실시예의 구성을 도시하는 블록도.
제29도는 이 실시예에 따른 엔코딩 처리를 도시하는 플로우챠트.
제30도는 이 실시예에 따른 엔코딩 처리를 도시하는 플로우챠트.
제31도는 엔코딩 처리를 거친 블록 내의 데이터에 대응하는 이 실시예에서 처리 내용의 예를 설명하는 도면.
제32도는 본 발명에 따른 제7 실시예의 구성을 도시하는 블록도.
제33도는 제7 실시예에 따른 디코딩 처리를 도시하는 플로우챠트.
제34도는 제7 실시예에 따른 선행 블록에 대한 DC 차가 0이고 모든 AC 성분이 0인 경우에 코드의 실시예를 도시하는 도면.
제35도는 JPEG 코딩 방법에 따른 디코딩시의처리 블록도.
제36도는 본 발명의 실시예에 따른 통신 장치로서 작용하는 팩시밀리 장치의 구성을 도시하는 블록도.
제37도는 이 실시예에 따른 팩시밀리 장치의 통신 제어 절차를 도시하는 일반적인 플로우챠트.
제38도는 제37도에 도시된 통신 제어 절차에서 단계 S2005에 표시된 송신 절차의 상세한 플로우챠트.
제39도는 제38도에 도시된 송신 처리 절차에서 단계 S2014의 페이지 처리 종료의 판단에 관한 상세한 플로우챠트.
제40도는 원래의 화상 데이터가 모두 백색인지의 여부가 판단될 때 픽셀 그룹의 유니트를 도시하는 도면.
제41도는 원래의 화상 데이터가 모두 백색인지의 여부가 판단될 때 픽셀 그룹의 유니트를 도시하는 도면.
제42도는 제39도에 도시된 단계 S2025에서 모두-백색 판단 처리를 도시하는 상세한 플로우챠트.
제43도는 제39도에 도시된 단계 S2022에서 모두-백색 판단 처리를 도시하는 상세한 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명
101 : 화상 판독기 102 : 화상 프린터
107 : 코드 메모리 108 : 라인 제어기
1101 : 원형 판독기 1103 : 화상 메모리
1105 : 블랭크 값 설정 레지스터 1106 : 명령 레지스터
DSP : 디지털 신호 처리기 CCU : 회로 제어 유니트
DMAC : 직접 메모리-억세스 제어기
본 발명은 화상 데이터를 엔코딩 또는 디코딩하기 위한 화상 처리 방법 및 장치에 관한 것이다. 예를 들어, 본 발명은 화상 파일 또는 화상 통신 장치에 응용하기 위한 화상 처리 방법 및 장치에 관한 것이다.
최근에 JPEG(Joint Photographic Experts Group: 공동 포토그래픽 전문가 그룹)에 의해, 다량의 정보를 포함하는, 자연 화면(natural picture)의 컬러 화상 데이터를 압축하기 위한 국제 표준이 제안되었다. 이 표준에 따른 방법은 이하에 JPEG 코딩 방법으로서 언급된다. JPEG 코딩 방법이 다수의 시스템으로 구성되지만, 가장 근간이되는 것은 베이스라인 시스템이다.
제27도는 베이스라인 시스템의 데이터 압축 절차를 도시하는 도면이다.
먼저, 스캐너와 같은 원형(original) 판독 장치에 의해 판독된 입력 화상 데이터가 블록 유니트에서 압축 처리가 실행된 후에, 각각 8 X 8 픽셀을 포함하는 블록 내에 분할(partition)된다. JPEG 코딩 방법에 따르면, 원형 판독 장치에 의해 판독된 화상 데이터는 엔코드될 컬러 스페이스에 대해서 조절되지 않는다. 그러나, 흔히, 컬러 스페이스 변환 처리가 엔코딩에 선행하는 처리 공정으로서 실행된다. 변환을 겪는 컬러 스페이스에 관해서는, 높은 효율로 엔코딩 처리를 실행 할 수 있는 다수의 컬러 스페이스가 있다. 이러한 컬러 스페이스의 예로서는 휘도 신호 및 컬러 신호(YCbCr, YIQ, Lab 등)을 포함하는 것이 있다.
베이스라인 시스템에서, 분할의 결과로 생기는 각 블록 내의 화상 데이터(원래의 컬러 스페이스의 화상 데이터 또는 컬러 스페이스의 변환에 의해 생기는 화상 데이터)는 불연속적인 코싸인 변환 (이하, DCT 라 함)을 겪게 되는데, 이DCT는 직교 변환의 한 형태이다(1301). 직교 입력 화상 데이터가 DCT에 의해 공간 주파수 성분의 데이터로 변환된 후에, 8 X 8 블록의 좌측 상부에서의 계수가 직류(DC) 성분으로서 간주되며 이 값은 변화 전에 블록의 화상 데이터의 평균 값에 대응한다. 다른 63개의 계수는 교류(AC) 성분으로 간주된다. 이들은 이들 위치에 대응하는 공간주파수 성분이 변환 전에 블록의 화상 데이터 내에 얼마나 많이 포함되어 있는지를 나타내는 값이다.
변환 후의 DCT 계수는 어떤 값- 이 값은 임계 값의 소정의 배수가 된다-을 사용할 것인지 결정하기 위해 8 X 8 임계값에 스칼라인자를 곱하여 얻어진 값으로 나누어 진다. 이렇게 하여 양자화가 수행된다(1302). 양자화 후의 DCT계수는 엔코딩 처리되는데, 이 처리는 DC와 AC 성분에 대해 서로 다르다. 특히, DC 성분의 경우에, 처리된 블록의 DC 성분과 선행 블록의 DC 성분 사이의 차는 서로 인접하는 블록 사이의 상관 관계의 세기(strength)를 이용하여 허프만 코딩(Huffman coding) 처리된다(1303, 1304). AC성분은 블록 내에서 공간 주파수의 저주파수 영역으로부터 고주파수 영역으로의 지그재그 스캐닝에 의해 1차원 어레이로 재배열된다(1305). 또한, 2차원 허프만 코딩이 0이 아닌 계수(이들은 유효계수임) 및 연속적인 0(무효 계수)인 수(실행 길이)의 집합에서 수행된다(1306-1309).
제16도는 상술한 엔코딩 방법이 컬러 화상 통신 장치에 인가되는 경우의 배열의 예를 도시하는 도면이다.
제16도에서, 참조 번호(101)은 원래의 화상을 스캐닝하고 다가(multivalued) RGB 디지털 컬러 신호를 출력하기 위한 화상 판독기를 나타낸다. 참조 번호(103)은 화상 판독기(101)에 의해 판독된 화상 데이터 또는 라인을 통해 수신된 엔코드된 데이터를 디코딩함으로써 얻어진 화상 데이터를 저장하기 위한 화상 메모리(103)을 나타낸다. 참조 번호(102)는 화상 메모리(103)으로부터 인입된 다가 디지털 컬러 신호에 의해 표현되는 화상을 총천연색으로 인쇄하기 위한 화상 프린터를 나타낸다. 참조 번호(110)은 화상 메모리(103)으로부터 판독된 화상 데이터를 엔코딩하거나 라인을 통해 수신된 엔코드된 데이터를 디코딩하기 위한 디지털 신호 처리기(이하, DSP 라 함)를 나타낸다. 참조 번호(107)은 DSP(110)에 의해 엔코드된 코드 데이터나 라인을 통해 수신된 코드 데이터를 저장하기 위한 코드 메모리를 나타낸다. 참조 번호(108)은 코드 데이터의 라인으로의 송신 및 라인으로 부터의 코드 데이터의 수신을 제어하기 위한 회로 제어 유니트를 나타낸다. 참조 번호(109)는 이들 성부 각각을 CPU 버스(B109)를 통해 모니터하고 제어하기 위한 CPU를 나타낸다. 인터럽트 신호 라인 (1111)은 CPU(109)로부터 DSP(110)으로 연장하고, 인터럽트 신호 라인(1112)는 DSP(110)으로부터 CPU(109)로 연장한다.
화상 데이터를 엔코딩하기 위한 동작이 먼저 설명된다. 제17도는 DSP(110)의 엔코딩 처리 절차를 도시하는 플로우챠트이다. 플로우챠트는 화상 데이터의 한 블록의 엔코딩을 예시한다.
원래의 화상이 화상 판독기(101)에 의해 스캐닝되고 화상 판독기(101)에 의해 출력된 화상 데이터는 화상 메모리(103)에 임시로 저장된다. 화상 메모리(103)은 화상 판독기(101)이나 화상 프린터(102)와 관련하여 입/출력을 할 수 있는 3포트 메모리로서 메모리는 CPU(109) 및 DSP(110)에 의해 비동기적으로 접근될 수 있다.
단계 S1에서 DSP(110)은 선정된 크기와 일치하도록 하기 위해 필요한 블랭크 스페이스(blank space)를 추가한다. 블랭크 영역 이외의 화상 영역에서, DSP(110)은 화상 메모리(103)으로부터 화상 데이터의 한 블록을 판독한다. 단계 S2에서, DSP(110)은 화상 데이터의 컬러 스페이스를 YCbCr 컬러 스페이스와 같은 회로 라인 상의 컬러 스페이스로 변환시킨다.
다음으로, DSP(110)은 컬러 스페이스 변환을 겪은 화상 데이터가 단계 S3에서 샘플링 처리되고, 단계 S4에서 DCT 처리되고, 단계 S5에서 양자화되며, 단계 S6에서 지그재그 스캐닝되도록 하고, 단계 S7에서 허프만 코딩을 적용한 후에 코드 메모리(107)에서 얻어진 코드 데이터를 저장한 다음 화상 데이터의 한 블록의 엔코딩을 종료한다.
또한, 코드 메모리(107)은 DSP(110), 회로 제어 유니트(108) 및 CPU(109)에 의해 비동기적으로 접근될 수 있는 3포트 메모리이다. 회로 제어 유니트(108)은 코드 메모리(107)로부터 코드 데이터를 판독하고 이를 라인으로 전송한다.
수신된 코드 데이터를 디코딩하기 위한 동작이 이하에 설명된다. 제18도는 DSP(110)의 디코딩 처리 절차를 예시하는 플로우챠트이다. 플로우챠트는 화상 데이터의 한 블록의 디코딩을 예시한다.
회로 제어 유니트(108)에 의해 라인으로부터 수신된 코드 데이터는 코드 메모리(107)에 저장된다.
DSP(110)은 코드 메모리(107)로부터 코드 데이터를 판독하고, 단계 S11에서 허프만 코딩을 실행하며 엔코딩시의 지그재그 스캐닝에 의해 재배열된 데이터의 순서를 재저장한다.
다음으로, DSP(110)은 원래의 순서에 재저장된 데이터가 단계 S13에서 역 양자화되고 단계 S14에서 역 DCT(이하 IDCT라 함)되도록 하는데, 이 기간 중에 이들 연산의 결과가 내부 RAM에 저장된다.
그 다음 DSP(110)은 내부RAM에 저장된 연산 결과를 판독하고, 단계 S15에서 엔코딩시 우세했던 서브-샘블링을 재저장하고, 단계 S16에서 화상 데이터의 컬러 스페이스를 라인 상의 컬러 스페이스(예, YCbCr 컬러 스페이스)에서 프린트될 수 있는 컬러 스페이스로 변화시키고, 단계 S17에서, 엔코딩시에 추가된 블랭크 스페이스를 제거하며, 화상 메모리(103)에 결과를 저장하고 화상 데이터의 한 블록의 디코딩을 종료한다.
화상 메모리(103)에 저장된 화상 데이터는 화상 프린터(102)로 송신되어 수신된 화상이 프린트된다.
상술한 배열은 다음에 설명될 문제점들을 포함한다.
상술한 배열의 예가 갖는 결점은 화상 처리가 단일 DSP에 의해 실행되기 때문에 처리는 연장된 기간의 시간을 요구한다는 것이다. 더 상세하게, 처리에 필요한 시간은 DSP 소프트웨어가 처리해야 할 계산의 양이 증가함에 따라 증가된다. 컬러 화상의 경우에서 처럼 데이터 양이 많은 경우에, 처리된 결과들의 획득이 지연된다.
상술한 배열에서 블랭크 스페이스를 추가하기 위한 처리는 수신 측 상의 재생 화상의 크기와 일치시키기 위해 필요한 블랭크 스페이스가 송신 측 상의 데이터에 추가되는 방식이다. 따라서, JPEG 코딩 시스템의 베이스라인 시스템이 적용되는 경우에, 컬러 스페이스를 변형시키기 위한 처리 및 DCT와 같은 처리는 스캐너와 같은 화상 판독기에 의해 판독되어진 화상 데이터에만 적용되는 것이 아니라, 화상 데이터에 적용되는 것과 유사한 처리가 송신 측 상의 화상에 추가된 블랭크 스페이스 데이터에도 적용되어야 한다.
따라서, JPEG 코딩 방법이 적용되는 컬러 화상 통신 장치에서, DCT 처리 및 양자화 처리가 블랭크 영역을 나타내는 블랭크 스페이스 데이터 및 스캐너 등에 의해 판독되어진 컬러 화상 데이터에 행해져야만 한다. 상술한 DSP 에 의해 상기 사항을 실현시키고자 시도하는 경우에, 블록 내의 블랭크 스페이스 데이터 모두에 대해 동일 코드 데이터가 얻어진다는 사실에 관계 없이 동일 연산이 수행되어야만 하기 때문에, 엔코딩은 장시간을 요한다.
또한, 디코딩 처리 절차는 상술한 엔코딩 처리의 역이다. 제35도는 베이스 라인 시스템의 종래의 디코딩 절차를 도시한다. 여기서 통신 송신 라인을 통해 다른 장치로 송신되는 코드 데이터는 제35도의 2501에 도시된 바와 같이, 허프만 디코딩 처리에 의해 디코드된다. 디코딩 처리가 행해진 1차원 어레이 내의 데이터는 2502에서 2차원 어레이의 데이터 내에 재정렬된다.
DC 성분에 대해서는, 2503에 도시된 바와 같이, 처리된 블록의 DC 성분과 선행 블록의 DC 성분을 합산하는 처리가 수행되어 그 결과가 처리될 블록의 DC 성분으로서 채택된다. AC 성분에 대해서는, 엔코딩시에 감산 처리가 수행되지 않으므로 재정렬 후의 데이터가 2504에서 있는 그래도 유효한 것으로 수용된다. 이 데이터는 연속적인 처리를 받는다.
더 상세하게, DC 및 AC 성분은 2505에서 역 양자화 처리를 겪은 다음 2506에서 2차원 역 불연속 코싸인 변환되어 한 블록의 디코딩 처리가 완료된다. 컬러 스페이스 변환이 필요한 경우에, 한 블록에 대한 디코딩 처리는 컬러 스페이스의 변환 후에 종료된다.
컬러 화상 통신 장치의 엔코딩/디코딩 처리기는 엔코딩 또는 디코딩 처리에 추가하여 블랭크 스페이스 처리를 실행하기 위해 필요하다. 블랭크 스페이스 처리시, 수신측 상에서 요구되는 블랭크 스페이스 또는 마진(margin)이 송신측 상의 화상에 추가된다. 다수의 경우에, 한 블랭크로서 추가되는 블랭크 스페이스 데이터는 백색이다. 따라서 JPEG 코딩 방법에 따른 베이스라인 시스템이 컬러 화상 통신 장치에 적용되는 경우에, 컬러 스페이스를 변환시키기 위한 처리 및 DCT 와 같은 처리는 스캐너와 같은 화상 판독기에 의해 판독되어진 화상에만 적용되는 것이 아니라 화상 데이터에 적용되는 것과 유사한 처리가 송신 측 상의 화상에 추가된 블랭크 스페이스 데이터(백색 데이터)에도 적용되어야 한다.
또한, 디코딩 처리시, 상술한 일련의 디코딩 커리 동작, 즉 허프만 디코딩 처리, 역 양자화 처리, IDCT 처리 및 컬러 스페이스 변환 처리는 디코드될 코드 데이터와 무관하게 실행되어야 한다.
따라서, JPEG 코딩 방법이 적용되는 종래 컬러 화상 통신 장치는 블랭크 영역의 블랭크 영역 블록 데이터(백색 데이터) 및 스캐너 등에 의해 판독된 백색 블록 화상 데이터 또는 백색 블록이 아니 다른 블록 화상 데이터로 하여금 컬러 스페이스 변환 처리, DCT 처리, 양자화 처리 및 허프만 코딩 처리를 받게 한다. 디코딩 처리시, 장치는 코드 데이터 모두가 허프만 코딩 처리, 역 양자화 처리, IDCT 처리 및 컬러 스페이스 변환 처리를 받게 한다.
그래서, 종래의 컬러 화상 통신 장치의 엔코딩 처리시, 스캐너와 같은 원래의 판독기에 의해 판독되어진 블랭크 영역의 블랭크 스페이스 블록 데이터(백색 데이터)또는 백색 블록 화상 데이터가 백색 블록의 것이 아닌 다른 블록 화상 데이터에 인가되는 것과 유사한 처리, 즉 컬러 스페이스 변환 처리, DCT 처리, 양자처리 및 허프만 코딩 처리를 블록마다 받게 된다. 결과적으로, 블랭크 스페이스 데이터에 내포된 모든 화상 데이터의 엔코딩 처리에 필요한 시간은 연장된다.
본 발명의 목적은 고속 엔코딩/디코딩이 수행될 수 있는 화상 처리 방법 및 장치를 제공하는 것이다.
본 발명에 따르면, 상술한 목적은 화상을 나타내는 화상 데이터를 입력하기 위한 입력 수단, 및 다수의 블록으로 화상 데이터를 분할하고 계산에 의해 화상 데이터를 엔코딩 하기 위한 엔코딩 수단을 포함하되, 엔코딩 수단이 블록 내의 픽셀이 선정된 값을 갖는지를 결정하여 블록 내의 픽셀이 선정된 값을 갖고 있다고 결정되면 계산을 수행하지 않고서 블록 내의 화상 데이터를 엔코딩 하는 화상 처리 장치를 제공함으로써 얻어진다.
본 발명에 따르면, 상술한 목적은 화상을 나타내는 화상 데이터를 입력하는 입력 단계, 화상 데이터를 다수의 블록으로 분할하고 컴퓨터 소프트웨어에 기초한 계산에 의한 화상 데이터를 엔코딩하는 단계를 포함하되, 상기 엔코딩 단계가 블록 내의 픽셀이 선정된 값을 갖는 지를 결정하여 블록 내의 픽셀이 선정된 값을 갖고 있다고 결정되면 컴퓨터 소프트웨어에 기초한 계산을 수행하지 않고서도 블록 내의 화상 데이터를 엔코딩하는 화상 처리 방법을 제공함으로써 얻어진다.
본 발명의 다른 목적은 선정된 동작을 생략함으로써 고속 엔코딩/디코딩을 달성하는 것이다.
본 발명의 다른 목적은 다수의 처리기를 사용하여 효율적인 엔코딩/디코딩을 달성하는 것이다.
본 발명에 따르면, 상술한 목적은 화상을 나타내는 화상 데이터를 입력하기 위한 입력 수단, 및 컴퓨터 소프트웨어에 기초한 계산에 의해 화상 데이터를 엔코딩 하기 위한 엔코딩 수단을 포함하되, 엔코딩 수단이 각각의 공급된 프로그램에 기초하여 계산을 수행하는 다수의 계산 수단을 포함하는 화상 처리 장치를 제공함으로써 얻어진다.
본 발명의 상기 및 다른 특징, 및 이점은 동일 소자에 동일 참조 부호가 병기된 첨부 도면을 참조하여 기술된 이하의 상세한 설명에 의해 본 분야의 숙련된 기술자들에게 분명하게 인지될 수 있다.
이제 본 발명에 따른 실시예들의 화상 처리 장치가 도면을 참조하여 상세하게 기술된다.
[제1 실시예]
제1도는 본 발명의 제1 실시예에 따른 컬러 화상 통신 장치의 구성의 예를 도시하는 블록도이다. 제16도에 도시된 것과 실질적으로 같은 제1도의 구성 부품들은 동일한 참조 번호로 표시되었으며 다시 기술할 필요가 없다.
도면에서, 참조 번호(104)는 DSPa를 나타내는 것으로, 이것은 후술될 엔코딩 이전의 사전 처리 또는 디코딩 후의 후처리를 실행하기 위한 것이고, 참조 번호(105)는 DSPb를 나타내는 것으로, 이것은 후술될 엔코딩 다음의 후처리 또는 디코딩 이전의 사전 처리를 수행하기 위한 것이다.
참조 번호(106)은 RAM을 나타내는 것으로, 이것은 듀얼 포트 RAM 등으로 구성되고 DSPa(104) 및 DSPb(105) 사이의 데이터를 위한 중간 매체로서 작용한다.
2개의 DSP와 관련된 신호 라인은 다음과 같다: P101은 DSPa(104)로부터 DSPb(105)로 상태를 전송하기 위한 신호 라인, P102는 DSPb(105)로부터 DSPa(104)로 상태를 전송하기 위한 신호 라인, I101 CPU(109)로부터 DSPa(104)로의 인터럽트 신호 라인, I102는 DSPa(104)로부터 CPU(109)로의 인터럽트 신호 라인, I103은 CPU(109)로부터 DSPb(105)로의 인터럽트 신호 라인, 1104는 DSPb(105)로부터 CPU(109)로의 인터럽트 신호 라인이다.
엔코딩 화상 데이터를 위한 동작이 먼저 설명된다. 제2a도는 제2b도는 이 실시예에 따른 엔코딩 처리 절차의 실시예를 도시하는 플로우챠트이다. 플로우챠트는 화상 데이터의 한 블록의 엔코딩을 도시한다. 제2a도의 처리는 DSPa(104)에 의해 수행되고, 제2b도의 처리는 DSPb(105)에 의해 수행된다. 다음의 설명에서, 실시예는 한 블록이 8 X 8 픽셀로 구성된 것으로 예시된다. 그러나, 이것은 블록 크기에 대한 제한을 의미하는 것은 아니다.
원래의 화상은 화상 판독기(101)에 의해 스캐닝되고 화상 판독기(101)에 의해 출력된 RGB 화상 데이터가 화상 메모리(103)에 임시 저장된다.
DSPa(104)는 단계 S21에서 선정된 크기와 일치시키기 위해 필요한 블랭크 스페이스를 추가한다. 블랭크 영역 이외의 화상 영역에서, DSPa(104)는 화상 메모리(103)으로부터 화상 데이터의 한블럭을 판독해낸다.
단계 S21에서 추가된 블랭크 스페이스의 예를 도시하는 제3도는 G4 팩시밀리의 A4 크기와 일치되도록 하기 위해 A4 크기의 판독 크기 및 400dpi의 판독 해상도로 화상 판독기(101)에 의해 판독된 화상 영역(803)에 블랭크 영역(801 및 802)가 추가되는 실시예를 도시한다.
다음으로, 단계 S22에서, DSPa(104)는 회로 라인 상의, YCbCr 컬러 스페이스와 같은, 컬러 스페이스로 화상 데이터의 컬러 스페이스를 변환시킨다. 이 변환은 다음의 식에 따라 실행된다.
다음으로, DSPa(104)는 단계 S23에서 서브-샘플링 처릴르 수행한다. 이 처리는 사람의 눈이 휘도는 감지하지만 컬러에 있어서의 차는 감지하지 못한다는 특성을 이용하여 컬러 차 데이터 Cb, Cr을 감소시킨다. 예를 들어, 컬러 차 데이터의 서로 인접한 2개 항의 평균값(mean value)을 취하고 컬러 차 데이터의 양을 반으로 감소시킴으로써, 데이터의 각 항의 비는 Y:Cb:Cr=1:1:1 또는 4:1:1 등이 된다.
다음으로, 단계 S24에서, DSPa(104)는 상태 신호(P101, P102)를 포함하고 이들 2개의 신호의 상태의 일치에 대기한다. 2개의 신호의 상태가 일치하면, DSPa(104)는 단계 S25에서 수평 방향으로 1차원 DCT 처리를 실행하고 RAM(106)에 연산 결과를 연속적으로 저장한다. ADCT 내의 DCT 처리가 2차원이지만, 이 실시예에서는 1차원 DCT가 두 번 즉, 수평 및 수직 방향으로 수행된다. 다음 식은 수평 방향 1차원 DCT 처리의 변환 방정식이다:
DCT 처리가 종료되면, DSPa(104)는 단계 S26에서 상태 신호(P101)을 반전시킨다. 이 시점으로부터 앞으로는 이 데이터에 관련된 처리는 제2b도에 도시된 절차를 통해 DSPb(105)에 의해 수행된다.
DSPb(105)는 단계 S31에서 상태 신호(P101 및 P102)의 상태가 일치 않을 경우에 대기한다. 2개의 신호가 더 이상 일치하지 않으면, DSPb(105)는 RAM(106)으로부터 연산 데이터를 판독해 내고 단계 S32에서 내부 RAM데이타를 저장하며, 이 후에 단계 S33에서 상태 신호 P102를 반전시킨다.
다음으로, 단계 S34가 후속되는데, 이 단계에서 DSPb(105)는 내부 RAM에 저장된 연산 데이터를 수직 방향으로 1차원 DCT처리한다. 변환 방정식은 상기 식(2)와 동일하다.
다음에, Y-성분 양자화 표 및 C-성분 양자화 표의 예가 제4A도 및 제4B도에 각각 도시되며, DSPb(105)는 2개의 양자화 표에서 대응하는 위치들의 임계 값에 의해 DCT 처리후에 각각의 계수를 분할함으로써 양자화를 수행한다.
이때, 제5도의 예에 도시된 바와 같이 DSPb(105)는 0에서 63까지 순서대로 지그재그 스캐닝을 수행하여 단계 S36에서 1차원으로 양자화된 데이터를 재배열하므로, 1차원적으로 재배열된 양자화된 데이터에 허프만(Huffma) 코딩을 인가하여 코드메모리(107) 내에 엔코드된 데이터를 저장한다.
허프만 코딩에 있어서, 제5도의 위치 0에서 DC계수에 대한 엔코딩은 제5도의 위치 1 내지 63에서 AC 계수에 대한 엔코딩과는 다르다. 우선, DC 계수에 관해서는 곧바로 엔코드된 블록내의 동일 성분(Y, Cr 또는 Cb)의 DC 계수에 관한 차가 얻어지며, 그룹 번호 SSSS 및 추가 비트의 수는 DC 차와 그룹 번호 SSSS 사이의 관계에 따라 결정되며, 이 예가 제6도에 도시된다. 그룹 번호 SSSS는 허프만 표를 참조함으로써 허프만 코딩될수 있으며, 추가 비트는 엔코딩의 결과에 추가된다. 한편, AC 계수에 대해서는, 제5도에 도시한 바와 같이 AC 계수가 1에서 63까지 순서대로 1차원으로 배열된 상태내에 존재하므로 0이외의 다른 계수가 발견될 때 까지 0들이 1부터 규칙적인 순서로 카운트 된다. 0이외의 다른 계수가 발견되는 경우, 그룹 번호 SSSS 및 추가 비트의 수는 AC 계수와 그룹 번호 SSSS 사이의 관계에 따라 결정되며 이 예는 제7도에 도시된다. 0의 계수의 그룹 번호 SSSS 및 0의 계수의 카운트 NNNN은 허프만 표를 참조함으로써 허프만 코딩될 수 있으며, 추가 비트는 엔코딩의 결과에 추가된다.
상술한 처리 순서는 하나의 블록에 관한 것이다. 실제에 있어서, DPSa(104) 및 DSPb(105)는 파이프라인 처리에 따라 병렬로 연산한다. 예를들면, DSPb(105)가 N-번째 블록을 처리하는 경우에, DSPa(104)는 (N+1)번째 블록을 처리한다.
제8a도 내지 제8d도는 엔코딩시에 이 병렬 연산의 예를 도시하는 타이밍 챠트이다. 제8a도는 DSPa(104)에 의해 실행된 처리의 내용, 제8b도는 상태 신호(P101)의 상태, 제8c도는 DSPb(105)에 의해 실행된 처리의 내용 및 제8d도는 상태신호(P102)의 상태를 도시한 것이다.
제8a도 내지 제8d도에 있어서, 신호(P101 및 P102)는 초기에 L레벨이다. DSPa(104)는 블랭크 추가(S21), 컬러 스페이스 변환(S22) 및 서브-샘플링(S23)을 수행하며, 이후 S24에서 P101=P102가 홀드하는 것을 검증하며, 수평 방향에서 DCT(S25)를 수행하여 S26에서 신호(P101)을 인버트한다. 다음에, DSPa(104)는 다음 블록을 처리하기 위해 진행한다.
DSPb(105)는 신호(P101)이 인버트될 때까지 대기(S31)한다. 신호(P101)의 반전시에, DSPb(105)는 RAM(106: S32)의 독출을 실행한 후에 S33에서 신호(P102)를 인버트시킨다. DSPb(105)는 수직 방향, 양자화(S35), 지그재그 스캐닝(S36) 및 허프만 코딩(S37)에서 실행중인 DCT(S34)의 1개 블록의 처리를 종료시킨다. 이때, DSPb(105)는 다음 블록의 처리를 위해 진행한다. 그러나, S31에서 P101≠P102를 홀드하는 경우, DSPb(105)는 RAM(106: S32)의 독출을 즉시 실행한다.
상술한 처리는 DSPa(104) 및 DSPb(105)에 의해 반복된다. 각각의 이러한 처리 연산시에 가장 폭넓게 변동하는 처리 시간은 허프만 코딩(S37)이다. 결국, DSPb(105)의 허프만 코딩(S37)이 연장되어 서브-샘플링(S32)이 DSPa(104) 종료에 의해 수행된 순간에 상태 신호(P102)가 인비트되지 않는 경우에, 제8A도의 S24에서 ※표시로 나타낸 바와 같이, DSPa(104)는 P101≠P102로 설정될 때까지 대기한다. 특히, DSPa(104) 및 DSPb(105)는 서로의 상태 신호를 모니터하며 병렬 처리를 실현하기 위해 상호적으로 동기화된다.
디코딩 코드 데이터에 대한 연산을 다음에 설명하겠다. 제9a도 및 제9b도는 본 발명에 따른 디코딩 처리 절차의 예를 도시하는 플로우챠트이다. 이 플로우챠트는 화상 데이터의 1개 블록의 디코딩을 설명한다. 제9a도의 처리는 DSPa(104)에 의해 실행되며, 제9b도의 처리는 DSPb(105)에 의해 실행된다. 이설명 다음에 1개 블록이 8 × 8 픽셀로 구성되는 예가 설명된다. 그러나, 이것은 블록 크기에 제한을 두지 않는다.
라인을 경유해서 회로 제어 유니트(108)에 의해 수신된 코드 데이터는 코드 메모리(107)에 저장된다. DSPb(105)에서 허프만 코딩을 수행하며, 단계(S52)에서 엔코딩시에 지그재그 스캐닝에 의해 재배열된 데이터를 순서대로 복원한다. 제4A도 및 제4B도에 도시된 Y-성분 양자화 표 및 C-성분 양자화 표를 각각 사용하여 단계(S53)에서 DSPb(105)는 역 양자화를 수행한다.
다음에, 단계 S54에서 DSPb(105)는 상태 신호(P101, P102)를 비교하여 이 2개의 신호가 일치하는 상태를 기다린다. 2개 신호의 상태가 일치하는 경우에, DSPb(105)는 단계 S55의 수평 방향에서 1차원 IDCT 처리를 실행하여 이 연산 결과를 RAM(106)에 연속적으로 저장한다. 다음식은 수평 방향에서 1차원 IDCT 처리의 변환 식이다.
IDCT 처리가 종료되는 경우 DSPb(105)는 단계 S56에서 상태 신호(P102)를 인버트시킨다. 이 데이터에 관련된 처리는 이 시점 전방으로부터 제9b도에 도시한 절차를 통해 DSPa(104)에 의해 수행된다.
DSPa(104)는 상태 신호(P101 및 P102)가 단계 S41에서 일치하지 않는 상태를 기다린다. 2개의 신호가 더 이상 일치하지 않는 경우에, DSPa(104)는 단계 S42에서 RAM(106)의 연산 데이터를 판독하여 이 데이터를 내부 RAM에 저장한 후에, 단계 S43에서 상태 신호(P101)을 인버트시킨다.
이것은 단계 S44에서 의해 후속되며, DSPa(104)는 내부 RAM에 저장된 연산 데이터를 수직 방향에서 1차원 IDCT 처리할 수 있다. 변환 식은 상기(3)식과 동일하다.
이때, DSPa(104)는 단계 S45에서 엔코딩시에 효과적인 서브-샘플링을 복원한다. 다음에, 단계 S46에서, DSPa(104)는 라인상의 컬러 스페이스를 위해 화상 데이터의 컬러 스페이스를 변환시킨다. 예를 들면, CMY 컬러 스페이스와 같은 컬러 스페이스를 위해 YCbCr 컬러 스페이스로부터 만들어진 변환은 인쇄시에 편리하다.
다음에, 단계 S47에서, DSPa(104)는 엔코딩시에 추가되는 블랭크 스페이스를 제거하여 화상 메모리(103)에 화상 데이터를 저장한다. 화상 메모리(103)에 저장된 화상 데이터는 화상 프린터(102)로 보내지며, 여기서 수신된 화상은 인쇄 출력된다.
상기 설명은 1개 블록에 관한 처리 순서를 설명하였다. 실제로, DSPb(105) 및 DSPa(104)는 파이프라인 처리에 따라 병렬 연산한다. 예를 들면, DSPa(104)가 N-번째 블록을 처리하는 경우, DSPb(105)는 (N+1) 번째 블록을 처리한다.
제10a도 내지 제10d도는 디코딩시의 병렬 연산의 예를 도시하는 타이밍 챠트이며, 제10a도는 DSPb(105)에 의해 실행된 처리 내용, 제10b도는 상태 신호(P102)의 상태, 제10c도는 DSPa(104)에 의해 실행된 처리 내용 및 제10d도는 상태 신호(P101)의 상태를 도시한다.
제10a도 내지 제10D도에 있어서, 신호(P101 및 P102)는 초기에 L레벨이다. DSPb(105)는 허프만 디코딩(S51), 지그재그 스캐닝(S52)의 복원 및 역 양자화(S53)를 실행한 후, S54에서 P101=P102로 홀드되는 것을 검증하며, 수평 방향에서 IDCT(S55)를 실행하여 S56에서 신호(P102)를 인버트시킨다. 이때, DSPb(105)는 다음 블록을 처리하기 위해 진행된다.
DSPa(104)는 신호(P102)가 인버트될 때까지 대기(S41)한다. 신호(P102)의 반전시에 DSPa(104)는 RAM(106, S42)의 독출을 실행한 후, S43에서 신호(P101)을 인버트 시킨다. DSPa(104)는 수직 방향에서 IDCT(S44) 실행, 서브-샘플링(S45)의 복원, 컬러 스페이스 변환(S46) 및 블랭크 제거(S47) 시에 1개 블록의 처리를 종료시킨다. 이때, DSPa(104)는 다음 블록을 처리하기 위해 진행한다. 그러나, S41에서 P101≠P102를 홀드하는 경우에, DSPa(104)는 RAM(106)의 독출을 즉시(S42) 실행한다.
상술한 처리는 DSPb(105) 및 DSPa(104)에 의해 반복된다. 각각의 이러한 처리 연산에서 가장 폭넓게 변동하는 처리 시간은 허프만 디코딩(S51)이다. 결국, DSPb(105)의 허프만 디코딩(S51)이 연장되어 DSPa(104) 종료에 의해 블랭크 제거(S47)이 수행된 순간에 상태 신호(P102)가 인버트되지 않는 경우에, 제10C도의 S41에서 ※ 표시로 나타낸 바와 같이 DSPa(104)는 P101≠P102가 설정될 때까지 대기한다. 특히, 엔코딩 처리의 방법과 같이, DSPb(105) 및 DSPa(104)는 서로의 상태 신호를 모니터하여 병렬 처릴르 실현하기 위해 상호적으로 동기화된다.
CPU(109)와 DSPa(104) 사이의 인터페이스가 인터럽트-신호 라인(I101, I102) 및 화상 메모리(103)의 일부를 사용한다는 것은 공지되어 있다.
CPU(109)가 처리를 개시하기 위해 DSPa(104)를 명령하는 경우에 있어서, CPU는 화상 메모리(103)의 선정된 영역에서 이 처리가 엔코딩 또는 디코딩인지의 여부, 서브-샘플링 비 및 화상 크기와 같은 필요한 파라메터들을 기입하여 인터럽트-신호 라인(I101)을 경유해서 처리를 개시한다. 더욱이, 처리를 종료하는 경우에, DSPa(104)는 인터럽트-신호 라인(I102)을 경유해서 CPU(109)에 알려준다.
CPU(109)와 DSPb(105) 사이의 인터페이스는 인터럽트-신호 라인(I103 및 I104) 및 코드 메모리(107)의 일부를 사용하므로 처리를 개시하기 위한 파라메터들의 전달 및 명령은 DSPa(104)의 경우와 같이 동일한 방법으로 실행된다.
본 발명의 실시예에 따르면, 상술한 바와 같이, 파이프라인 처리는 2개의 DSP를 사용해서 실행된다. 결국, ADCT에 의한 엔코딩/디코딩 처리, 컬러 스페이스 변환, 서브-샘플링 및 블랭크 추가/제거와 같은 화상 처리는 일반적으로 속도가 증가한다.
본 발명의 실시예에 따르면, 1차원 DCT에 따른 연산은 제1 DSP에 의해 수행되며, 1차원 DCT에 후속되는 잔류 연산은 제2 DSP에 의해 수행된다. 결국, DCT 연산의 결과를 저장하기 위해 제1 DSP가 내부 메모리를 갖는 것은 불필요하다.
[제2 실시예]
이제 본 발명의 제2 실시예를 설명하겠다. 실제적으로 제1 실시예와 동일한 제2 실시예의 성분은 참조 문자등에 의해 나타내며 다시 상세히 설명할 필요는 없다.
제11도는 본 발명의 제2 실시예에 따른 컬러-화상 통신 장치의 구성 예를 도시하는 블록도이다.
제1도에 도시된 제1 실시예에 따라서, 데이터 매체로 작용하는 RAM(106)은 DSPa(104)와 DSPb(105)사이에 제공된다. 그러나, 이 실시예에서, DSPa(104) 및 DSPb(105)는 데이터를 직접 교환한다.
엔코딩 화상 데이터에 대한 연산을 먼저 설명하겠다. 이하에 설명되는 처리 연산이 제1 실시예의 동일 단계 번호의 처리 연산과 실제로 유사하다는 것이 공지되어 있어서 다시 상세히 설명할 필요는 없다.
제12a도 및 제12b도는 제2 실시예에 따른 엔코딩 처리 절차의 예를 도시하는 플로우챠트이다. 이 플로우챠트는 화상 데이터의 1개의 블록의 엔코딩을 설명한다. 제12A도의 처리는 DSPa(104)에 의해 실행되며, 제12B도의 처리는 DSPb(105)에 의해 실행된다. 후속되는 설명에 있어서, 1개의 블록이 8 X 8 픽셀로 구성되는 예가 설명된다. 그러나, 이것은 블록 크기에 제한을 두지는 않는다.
원래의 화상은 판독기(101)에 의해 주사되며, 화상 판독기(101)에 의해 출력된 RGB 화상 데이터는 화상 메모리(103) 내에 일시적으로 저장된다.
DSPa(104)는 단계 S121에서 상술한 크기와 일치시키는데 필요한 블랭크 스페이스를 추가한다. 블랭크 영역 이외의 화상 영역에서, DSPa(104)는 화상 메모리(103)에서 화상 데이터의 1개의 블록을 판독한다.
다음에, 단계(S122)에서, 회로 라인상에서 YCbCr 컬러 스페이스와 같은 컬러 스페이스에 대해 DSPa(104)는 화상 데이터의 컬러 스페이스를 변환시킨다. 이변환은 식(1)에 따라서 수행된다.
다음에, DSPa(104)는 단계(S123)에서 서브-샘플링 처리를 수행하며 단계(S124)의 수평 방향에서 1차원 DCT 처리를 실행한다. 이 변환식은 상기 식(2)와 동일하다.
DCT 처리가 종료되는 경우에, DSPa(104)는 단계(125)에서 상태 신호(P101)을 인버트시켜서 상태 신호(P101 및 P102)의 상태를 비교하며 이 2개 신호의 상태가 일치되지 않는 것을 기다린다. 2개의 신호가 더 이상 일치되지 않는 경우에, DSPa(104)는 단계(S127)에서 연산 데이터를 DSPb(105)로 보낸다. 이 시점 전방으로부터 이 데이터에 관련된 처리는 제12b도에 도시한 절차를 통해 DSPb(105)에 의해 실행된다.
DSPb(105)는 단계(S131)에서 상태 신호(P101 및 P102)가 일치되지 않는 상태를 기다린다. 2개의 신호가 더 이상 일치하지 않는 경우에, 단계 S132에서 DSPb(105)는 DSPa(104)로부터 연산 데이터를 수신하여 단계 S133에서 수직 방향의 1차원 DCT 처리를 실행한다. 이 변환 식은 상기 식(2)와 동일하다.
다음에, 제4a도 및 제4b도에 각각 도시된 Y-성분 양자화 표 및 C-성분 양자화 표를 사용하여, DSPb(105)는 2개의 양자화 표에서 대응하는 위치의 임계 값에 의해 DCT 처리후 각각의 계수를 분할함으로써 양자화를 수행한다.
이때, 단계(131)에서 제5도에 도시한 바와 같이, DSPb(105)는 0 부터 63까지 순서대로 지그재그 스캐닝을 수행하여 양자화된 데이터를 1차원 내에 재배열하며, 단계(S136)에서 1차원으로 재배열된 양자화된 데이터에 허프만 코딩을 인가하여 코드 메모리(107)내에 엔코드된 데이터를 저장한다.
상기 설명은 1개의 블록에 관한 처리 순서를 설명한 것이다. 실제로, DSPa(104) 및 DSPb(105)는 파이프라인 처리에 따라 병렬로 연산한다. 예를 들면, DSPb(105)가 N-번째 블록을 처리하는 경우, DSPa(104)는 (N+1)번째 블록을 처리한다.
제13a도 내지 제13d도는 엔코딩시의 이 병렬 연산의 예를 도시하는 타이밍 챠트이며, 제13a도는 DSPa(104)에 의해 실행된 처리의 내용, 제13b도는 상태 신호(P101)의 상태, 제13c도는 DSPb(105)에 의해 실행된 처리의 내용 및 제13d도는 상태 신호(P102)의 상태를 도시한다.
제13a도 내지 제13d도에 있어서, 신호(P101 및 P102)는 초기에 L레벨이다. DSPa(104)는 블랭크 추가(S121), 컬러 스페이스변환(S122), 서브-샘플링(S123) 및 수평 방향에서 DCT(S124)를 실행한 후 에, S126에서 신호(P101)을 인버트시켜서 단계(S127)에서 P101≠P102가 홀드되는 것을 검증하여 데이터를 송신한다(S127). 이때, DSPa(104)는 다음 블록을 처리하기 위해 진행한다.
DSPb(105)는 신호(P101)이 인버트될 때까지 대기한다. 신호(P101)의반전시에 DSPb(105)는 데이터(S132)를 수신한다. 이때, DSPb(105)는 수직 방향에서 DCT(S133), 양자화(S134), 지그재그 스캐닝(S135) 및 허프맘 코딩(S136)을 실행한 후에 S137에서 P102를 인버트시키므로 1개의 블록의 처리가 종료된다. 다음에, DSPb(105)는 다음 블록을 처리하기 위해 진행한다. 그러나, S131에서 P101≠P102가 홀드되는 경우, DSPb(105)는 데이터 수신을 즉시 실행한다(S132).
상기 처리는 DSPa(104) 및 DSPb(105)에 의해 반복된다. 각각의 이러한 처리 연산시에 가장 폭넓게 변동하는 처리 시간은 허프만 코딩(S136)이다. 결국, DSPb(105)의 허프만 코딩(S136)이 연장되어 상태 신호(P101)이 DSPa(104, S125)에 의해 인버트되는 순간에 상태 신호(P102)가 인버트되지 않는 경우, 또는 DSPb(105, S136)에 의해 허프만 코딩이 짧은 주기내에서 종료되어 DSPa(104, S124)에 의해 DCT 처리가 종료되지 않는 경우등에는 제13a도 및 제13c도의 S126 또는 S131에서 ※ 표시에 의해 나타낸 바와 같이 DSPa(104) 또는 DSPb(105)는 P101≠P102가 설정될 때까지 대기한다. 특히, DSPa(104) 및 DSPb(105)는 병렬 처리를 실현하기 위해 서로의 상태 신호를 모니터하여 상호적으로 동기화된다.
디코딩 화상 데이터에 대한 연산을 다음에 설명하겠다. 이하에 설명된 처리 연산이 제1 실시예의 동일 단계 번호의 처리 연산과 실제로 유사하다는 것은 공지되어 있으며 다시 상세히 설명할 필요는 없다.
제14a도 및 제14b도는 제2실시예에 따른 디코딩 처리 절차의 예를도시하는 플로우챠트이다. 이 플로우챠트는 화상 데이터의 1개의 블록의 디코딩을 설명한다. 제14A도의 처리는 DSPb(105)에 의해 실행되며, 제14b도의 처리는 DSPa(104)에 의해 실행된다. 후속되는 설명에서, 1개의 블록이 8 x 8 픽셀로 구성되는 예가 설명된다. 그러나, 이것은 블록 크기에 제한을 두지는 않는다.
라인을 경유해서 회로 제어 유니트(108)에 의해 수신된 코드 데이터는 코드 메모리(107) 내에 저장된다. DSPb(105)는 코드 메모리(107)에서 코드 데이터를 판독하여 단계 S151에서 허프만 코딩을 수행하며, 단계 S152에서 엔코딩시에 지그재그 스캐닝에 의해 재배열된 데이터를 순서대로 저장한다. 제4a도 및 제4b도에 도시된 Y-성분 양자화 표 및 C-성분 양자화 표를 각각 사용하여 DSPb(105)는 단계 (S153)에서 역 양자화를 수행한다.
다음에, DSPb(105)는 단계(S154)에서, 수평 방향의 1차원 IDCT 처리를 수행한다. 변환식은 상기 식(3)과 동일하다.
IDCT 처리가 종료되는 경우, DSPb(105)는 단계(S155)에서 상태 신호(P102)를 인버트시켜 단계(S156)에서 상태 신호(P101 및 P102)를 비교하며, 2개의 신호 상태가일치되지 않는 것을 기다린다. 2개의 신호가 더 이상 일치되지 않는 경우에, 단계(S157)에서 연산 데이터는 DSPb(105)에 송신된다. 이 시점으로부터 나아가 이 데이터에 관련된 처리는 제14b도에 도시한 절차를 통해 DSPa(104)에 의해 수행된다.
DSPa(104)는 단계(S141)에서 상태 신호(P101 및 P102)가 일치되지 않는 상태를 기다린다. 2개의 신호가 더 이상 일치되지 않는 경우에, DSPa(104)는 DSPb(105)로부터 연산 데이터를 수신하여 단계(S143)에서 수직 방향의 1차원 IDCT처리를 실행한다. 변환 식은 상기 식(3)과 동일하다.
IDCT 처리가 종료된 경우, DSPa(104)는 단계 S144에서 엔코딩시에 일반적인 서브-샘플링을 복원한다. 다음에, 단계 S145에서 DSPa(104)는 화상 데이터의 컬러 스페이스를 라인상의 컬러 스페이스로 변환시킨다. 예를 들면, CMYK 컬러 스페이스와 같은 컬러 스페이스에 대해 YCbCr 컬러 스페이스로부터 만들어진 변환은 인쇄하는데 편리하다.
다음에, 단계 S146에서, DSPa(104)는 엔코딩시에 추가된 블랭크 스페이스를 제거하여 화상 메모리(103)내에 화상 데이터를 저장하며, 단계 S147에서 상태 신호(P101)을 인버트시킨다. 화상 메모리(103)에 저장된 화상 데이터는 화상 프린터(102)에 보내지며, 여기서 수신된 화상은 인쇄 출력된다.
상기 설명은 1개의 블록에 관한 처리 순서를 설명한 것이다. 실제로, DSPb(105) 및 DSPa(104)는 파이프라인 처리에 따라 병렬 연산한다. 예를 들면, DSPa(104)가 N-번째 블록을 처리하는 경우, DSPb(105)는 (N+1)번째 블록을 처리한다.
제15a도 내지 제15d도는 디코딩시에 이 병렬 연산의 예를 도시하는 타이밍 챠트이며, 제15a도는 DSPb(105)에 의해 실행된 처리 내용, 제15b도는 상태 신호(P102)의 상태, 제15c도는 DSPa(104)에 의해 실행된 처리 내용 및 제15d도는 상태 신호(P101)의 상태를 도시한다.
제15a도 내지 제15d도에 있어서, 신호(P101 및 P102)는 초기에 L레벨이다. DSPb(105)는 허프만 디코딩(S151), 지그재그 스캐닝(S152)의 복원, 역 양자화(S153) 및 수평 방향의 IDCT(S154)를 수행하여 S155에서 신호(P102)를 인버트시킨후, S156에서 P101≠P102가 홀드되는 것을 검증하여 데이터(S157)를 송신한다. 다음에, DSPb(105)는 다음 블록을 처리하기 위해 진행한다.
DSPa(104)는 신호(P102)가 인버트될 때까지 대기한다(S141). 신호(P102)의 반전시에 DSPa(104)는 데이터(S142)를 수신한다.
DSPa(104)는 수직 방향의 IDCT(S143)을 실행, 서브-샘플링(S144)의 복원, 컬러 스페이스 변환(S145) 및 블랭크 제거(S146)시 1개 블록의 처리를 종료시키며, 단계(S147)에서 상태 신호(P101)을 인버트시킨다. 이때, DSPa(104)는 다음 블록의 처리를 위해 진행한다. 그러나, S141에서 P101≠P102가 홀드되는 경우, DSPa(104)는 데이터의 다음 항목의 수신을 즉시(S142) 실행한다.
상기 처리는 DSPb(105) 및 DSPa(104)에 의해 반복된다. 각각의 이러한 처리 연산시에 가장 폭넓게 변동하는 처리 시간은 허프만 디코딩(S151)이다. 결국, DSPb(105)의 허프만 디코딩(S151)이 연장되어 블랭크 DSPa(104)의 종료에 의해 블랭크 제거(S47)이 수행된 순간 상태 신호(P102)가 인버트되지 않는 경우에 제15c도의 S141에서 ※표시로 나타낸 바와 같이 DSPa(104)는 P101≠P102가 설정될 때까지 대기한다. 특히, 엔코딩 처리의 방법과 같이, 병렬 처리를 실현하기 위하여 DSPb(105) 및 DSPa(104)는 서로의 상태 신호를 모니터하여 상호적으로 동기화된다.
그러므로, 상술한 바와 같이 제2실시에에 따르면, 그 효과들은 실제적으로 제1 실시예와 유사하다. 그러나, RAM(106)이 요구되지 않기 때문에 이에 대응하여 가격은 낮춰질 수 있다.
본 발명의 제1 및 제2 실시예에 따르면, 2개 이상의 디지털 신호 처리 수단 및 이 디지털 신호 처리 수단 사이의 데이터의 교환을 중개하기 위한 매개 수단에의해 화상 처리 장치가 제공될 수 있다. 제1 메모리 수단내에 저장된 화상 데이터는 제2 메모리 수단내에 제공될 수 있다. 제1 메모리 수단내에 저장된 화상 데이터는 제2 메모리 수단내에서 처리되어 저장되며 제2 메모리 수단내에 저장된 코드 데이터는 제1 메모리 수단내에서 처리되어 저장된다. 예를 들면, 2개의 DSP를 사용하여 파이프라인 처리를 실행함으로써 높은 화상 처리 속도의 효과가 얻어진다.
복수의 DSP가 상기 실시예에서 사용되지만, 이와 유사한 처리는 복수의 CPU 및 주변 장치를 사용하여 실현될 수 있다.
더욱이, DSP에 의해 실행되는 엔코딩에 필요한 복수의 단계들은 프로그램을 수정함으로써 간단한 방식으로 변화될 수 있다.
[제3 실시예]
제19도는 제3 실시예에 따른 컬러-화상 통신 장치의 구성을 도시하는 블록도이다.
제19도에서, 참조 번호(1101)은 스캐너등에 의해 원래의 화상 데이터를 판독하기 위한 원형 판독기를 나타낸다. 참조 번호(1102)는 원형 판독기(1101)에 의해 판독된 화상 데이터를 화상 메모리(1103)에 전달하기 위한 직접 메모리-억세스 제어기(이하 DMAC로 칭함)를 나타낸다. 화상 메모리(1103)은 원형 판독기(1101)에 의해 판독된 화상 데이터를 저장한다. 참조 번호(1104)는 화상 메모리(1103)에 저장된 화상 데이터를 엔코딩 처리에 넘겨주기 위한 디지털 신호 처리기(이하 DSP로 칭함)를 나타낸다. 참조 번호(1105)는 블랭크 스페이스로서 추가된 데이터를 저장하기 위한 블랭크 값 설정 레지스터를 나타낸다.
참조 번호(1106)은 DSP(1104)의 처리 프로그램을 저장하기위한 명령 메모리, 참조번호(1108)은 DSP(1104)에 의해 엔코드된 데이터를 저장하기 위한 코드 메모리, 참조 번호(1109)는 코드 메모리(1108)에 저장된 코드 데이터를 판독하여 통신 송신 라인에 이 코드 데이터를 보내기위한 회로 제어 유니트(이하 CCU로 칭함), 및 참조 번호(1107)은 화상 메모리(1103), 코드 메모리(1108) 및 DSP(1104), 블랭크 값 설정 레지스터(1105)에서 블랭크 스페이스로서 추가되는 기입 데이터및 DSP(1104)의처리 프로그램을 명령 메모리(1106)에 다운로딩하는 것을 제어하기 위한 마이크로프로세서(이하 주 CCU로 칭함)를 나타낸다.
상술한 구성의 제3 실시예에 따른 엔코딩 처리를 제20도 및 제21도에 도시된 플로우챠트에 따라 설명하겠다.
시스템의 구동시; 주CPU(1107)은 DSP(1104)의 처리 프로그램을 명령 메모리(1106)에 다운로딩하여 블랭크 값 설정 레지스터(1105)에서 블랭크 스페이스로 추가되는 블랭크 스페이스 데이터를 동시에 기입한다. 이것은 각각의 컬러 성분에 대해 수행된다. 예를 들면, 백색 영역으로 추가된 데이터가 백색인 경우에, 원형 판독기(1101)에 의해 판독된 컬러 스페이스는 적색(R), 녹색(G) 및 청색(B)이고, 각각의 컬러 신호의 데이터 정밀도는 8비트로, R=G=B=255(OFFH)가 블랭크 값 레지스터(1105)에 기입된다.
따라서, DSP(1104)의 처리 프로그램이 주 CPU[1107, 단계(S1101)]에 의해 다운로딩되는 경우, DSP(1104)는 초기 설정을 수행하여 대기 상태에서 엔코딩 처리를 홀드한다. 주CPU(1107)이 엔코딩 처리를 개시(단계 S1102)하는 경우, DSP(1104)는 엔코딩 처리(단계 S1103)에 대한 초기화 처리를 실행한다. 엔코딩 처리가 개시되지 않는 경우에 있어서, DSP(1104)는 대기 상태에서 엔코딩 처리의 홀드를 계속한다.
다음에, DSP(1104)는 블랭크 값 설정 레지스터[1105:단계(S1104)에 설정된 블랭크 스페이스 값을 판독한다. 이 예에서, R=G=B=255(OFFH)는 DSP(1104)의 내부 레지스터와 같은 메모리내에 기입된다. DSP(1104)는 엔코딩 처리(단계 :S1105)를 하기 위하여 채택된 블랭크 값 데이터를 YCbCr 컬러 스페이스와 같은 컬러 스페이스의 데이터로 변환시켜 그 결과 데이터를 DSP[1104: 단계(S1106)]의 내부 RAM에 저장한다. 더욱이, 엔코딩 처리를 하기 위한 컬러 스페이스가 RGB 컬러 스페이스인 경우, 블랭크 값 설정 레지스터(1105)로부터 채택된 블랭크 값 데이터는 DSP(1104)의 내부 RAM에 저장되어 후속적인 처리가 실행된다. 즉, 단계(S1106)의 처리는 단계(S1105)의 처리를 수행함이 없이 실행된다.
엔코딩 처리를 하기위한 영역이 블랭크 영역(단계: S1107)인 경우에, DSP(1104)는 상기 처리에 의해 DSP(1104)의 내부 RAM 내에 저장된 블랭크 값 데이터를 각각 8×8 픽셀의 블록 유니트로 구성된 데이터로 형성하여 후속적인 처리, 즉 DCT 처리(단계 S1108)를 실행한다. 다음에, DSP(1104)는 DCT처리(단계: S1109)된 데이터를 양자화하여, 이 양자화된 데이탈르 지그재그 스캐닝(단계 : S1113)에 의해 1차원 어레이내에 재배열하여 허프만 코딩 처리(S1114)를 응용한다.
모든 화상 데이터의 엔코딩 처리가 종료되는 경우에, DSP(1104)는 엔코딩 처리를 종료시킨다. 그러나, 엔코딩 처리가 진행중인 경우에, 단계(S1107)로 복귀해서 다음 처리를 실행한다. 엔코딩 처리를 하기 위한 영역이 단계(S1107)에서 블랭크 영역이 아닌 경우에, DSP(1104)는 블록 유니트(단계, S1110)의 화상 메모리(1103)으로부터 화상 테이타를 판독한다. 판독된 화상 데이터는 엔코딩 처리 (단계: S1111)를 하기 위해 컬러 스페이스의 데이터로 컨버트 된다.
엔코딩 처리를 하기 위한 컬러 스페이스가 원형 판독기(1110)에 의해 판독된 컬러 스페이스와 동일한 경우에, 단계(S1111)의 처리는 실행되지 않는다.
다음에, DSP(1104)는 단계[S1110 또는 S1111(단계 S1112)]에서 처리된 블록 유니트로 구성된 데이터에 DCT 처리를 인가하여 블랭크 값 데이터가 처리된 경우와 동일한 방식으로 양자화(단계: S1109), 지그재그 스캐닝(단계 : S1113) 및 허프만 코딩(단계 :S1114)의 처리를 연속적으로 실행한다.
이후, DSP(1104)에 의해 엔코드된 코드 데이터는 코드 메모리(1108)에 기입되며, CCU(1109)에 의해 코드 메모리(1108)에서 판독된 데이터는 통신 라인에 송신된다. DSP(1104)는 모든 화상 데이터의 엔코딩이 종결될 때까지 블랭크 영역 또는 화상 데이터 영역에 관하여 단계 S1107∼S1114의 처리를 실행한다. 전체 화상의 엔코딩 처리가 종료되는 경우, DSP(1104)는 대기 상태에서 엔코딩 처리를 다시 홀드한다.
그러므로, 제3 실시예에 따른 블랭크 스페이스 영역의 데이터는 미리 컬러 스페이스 변환을 수행한 블랭크 값 데이터를 사용하는 등의 DCT 처리를 할 수 있다. 결국, 블랭크 스페이스 영역의 데이터에 인가된 컬러 스페이스 변환 처리는 불필요하다. 결과적으로, 컬러 스페이스의 변환을 위해 필요한 DSP 처리 프로그램의 처리 단계들의 수는 감소되며 모든 화상 데이터의 엔코딩 처리에 요구되는 시간을 감소시킬 수 있다.
[제4 실시예]
지금부터 본 발명에 따른 제4 실시예를 도면을 참조하여 상세히 설명하겠다.
제22도는 제4 실시예에 따른 컬러-화상 통신 장치의 구성을 나타내는 블록도이다. 제19도에 도시된 것과 동일한 구성 부품들은 유사한 번호로 명시되어 있기 때문에 다시 설명될 필요는 없다.
제22도에서, 참조 번호(1110)은 블랭크 스페이스 값을 컬러 스페이스로 변환하기 위해 처리되고 DCT 처리된 데이터를 기억하기 위한 외부 메모리를 가리킨다. 외부 메모리(1110)는 메인 CPU(1107)과 DSP(1104)에 의해 고속으로 억세스될 수 있는 메모리이다.
지금부터 제23도와 제24도에 예시된 플로우챠트에 따라 상술된 구성의 제4 실시예에 따른 엔코딩 처리가 서술될 것이다.
시스템의 구동시, 주CPU(1107)은 DSP(1104)의 처리 프로그램을 명령 메모리(1106)으로 다운로드함과 동시에, 외부 메모리(1110)의 블랭크 스페이스 값을 컬러 스페이스변환하기 위해 처리되고 DCT 처리되는 추가 데이터를 기록한다. 이것은 각각의 컬러 성분에 대해 수행된다.
따라서, 주CPU(1107)에 의한 DSP(1104) 처리 프로그램의 다운로딩이 종료(단계 S1201)되고 블랭크 값을 컬러 스페이스로 변환하기 위해 처리되고 DCT 처리되는 데이터가 외부 메모리(1110 : 단계 S1202)에 기입되었을 때, DSP(1104)는 초기의 설정 (단계 S1203)을 수행하고 엔코딩 처리를 대기 상태로 유지한다. 주 CPU(1107)가 인터럽트함으로써 엔코딩 처리를 개시할 때(단계 S1204), DSP(1104)는 엔코딩 처리를 하기 위해 초기화 처리를 실행한다(단계 S1205). 엔코딩 처리가 시작되지 않은 경우, DSP(1104)는 엔코딩 처리를 계속 대기 상태로 유지한다.
엔코딩 처리될 영역이 블랭크 영역(단계 S1206)인 경우, DSP(1104)는 CPU(1107)에 의해 외부 메모리(1110)에 기입되어 있으며, 블랭크 값을 컬러 스페이스로 변환하기 위해 처리되고 DCT 처리되는 데이터를 사용하여 JPEG 코딩법으로 후속하는 처리를 실행한다. 특히, DSP(1104)는 모든 컬러 신호에 대해 외부 메모리(1110)로부터 DCT로 처리된 블랭크 값의 데이터를 판독하고, 판독된 데이터를 양자화(단계 S1207)시키고, 지그재그로 스캐닝(단계 S1208)함으로써 2차원으로 배열된 데이터를 1차원 어레이로 재배열하고 허프만 코딩 처리를 실행한다(단계 S1209).
모든 화상 데이터의 엔코딩 처리가 종료된 경우, DSP(1104)는 엔코딩 처리를 종료한다. 그러나, 엔코딩 처리가 진행중인 경우, 처리는 단계 S1206으로 복귀되어 엔코딩 처리를 계속한다(단계 S1210). 단계 S1206에서 엔코딩 처리가 수행될 영역이 블랭크 영역이 아닌 경우, DSP(1104)는 원형 문자 판독기(1101)에서 판독된 화상 데이터를 블록 단위로 판독하고, 이 데이터는 DMAC(1102)에 의해 화상 메모리(1103)로 전달된다(단계 S1211). 판독된 화상 데이터는 엔코딩 처리되기 위해 컬러 스페이스의 데이터로 변환된다.
다음에, DSP(1104)는 컬러 스페이스로 변환되는 화상 데이터를 DCT 처리(단계 S1213)한 후, 양자화를 같은 방법으로 이 양자화된 데이터를 연속적으로 지그재그 스캐닝(단계 S1208)하고 허프만 코딩 처리(단계 S1209)한다.
그 후, DSP(1104)에 의해 엔코딩된 코드 데이터는 코드 메모리(1108)에 기입되고, CCU(1109)에 의해 코드 메모리(1108)로부터 데이터가 판독되어 통신 라인으로 송신된다. DSP(1104)는 모든 화상 데이터의 엔코딩이 종료될 때 까지 블랭크 영역 또는 화상 데이터 영역과 관련되는 단계 S1206-S1210의 처리를 실행한다. 모든 화상의 엔코딩 처리가 종료될 때, DSP(1104)는 다시 엔코딩 처리를 대기 상태로 유지한다.
제4 실시에에서는, 주 CPU(1107)이 외부 메모리(1110)의 블랭크 값을 컬러 스페이스로 변환하기 위해 처리되고 DCT 처리되는 데이터를 기록하는 방법과 관련한 장치가 서술된다. 그러나, DSP(1104)에 의해 엔코드될 컬러 스페이스가 원형 판독기(1101)로 판독된 컬러 스페이스와 동일할 때, 블랭크 값 데이터가 DCT 처리되어 얻어진 데이터는 주 CPU(1107)에 의해 외부 메모리(1110)에 기록된다.
[제5 실시예]
지금부터 도면을 참조하여 본 발명에 따른 제5 실시예를 상세히 설명하겠다.
제4 실시에에 따르면, 주 CPU(1107)은 외부 메모리(1110)의 블랭크 값을 컬러 스페이스로 변환하기 위해 처리되고 DCT 처리되는 데이터를 기입하며, DSP(1104)는 이 데이터를 사용하여 블랭크 영역을 엔코드한다. 그러나, 이 방법이외의 방법을 사용하여 비슷한 처리를 수행할 수 있다.
지금부터 제25도와 제26도에 예시된 플로우챠트에 따라 제5 실시예에 따른 엔코딩 처리를 설명하겠다.
시스템의 구동시 , 주CPU(1107)은 DSP(1104)의 처리 프로그램을 명령 메모리(1106)로 다운로드함과 동시에, 블랭크 값 설정 레지스터(1105)에 블랭크 스페이스로 추가되는 블랭크 스페이스 데이터를 기록한다. 이것은 각각의 컬러 성분에 대해 수행된다. 예를 들면, 백색 영역으로 추가된 데이터가 백색인 경우, 원형 판독기(1101)에 의해 판독된 컬러 스페이스는 적색(R), 녹색(G) 및 청색(B)이고, 각각의 컬러 신호에 대한 데이터 정밀도는 8비트로, 외부메모리(1110)에 R =G =B =255(OF로)가 기입된다.
따라서, 주 CPU(1107)에 의해 DSP(1104)의 처리 프로그램이 다운로드될 때 (단계 S1301), DSP(1104)는 초기의 설정을 수행하고 엔코딩 처리를 대기 상태로 유지한다. 주 CPU(1107)이 인터럽트함으로써 엔코딩 처리를 개시할 때(단계 S1302), DSP(1104)는 엔코딩 처리를 위한 초기화 처리를 수행한다(단계 S1303). 엔코딩 처리가 시작되지 않은 경우, DSP(1104)는 엔코딩 처리를 계속 대기 상태로 유지한다.
다음에, DSP(1104)는 외부 메모리(1110)에 설정된 블랭크 스페이스 값을 판독한다(단계 S1304), 이 예에서, DSP(1104)의 내부 레지스터와 같은 메모리로 데이터 R=G=B=255(OFFH)가 수신된다. DSP(1104)는 엔코딩 처리하기 위해(단계 S1305)이 수신된 블랭크 값 데이터를 컬러 스페이스의 데이터로 변환하고, 그 결과로 나타나는 데이터를 DSP(1104)의 내부 RAM에 기억시킨다. 이 때, 이전 단게에서 판독된 블랭크 스페이스의 R,G,B 데이터는 소거될 수 있다. 다른 말로 표현하면, 컬러 스페이스로 변환되면 블랭크 스페이스의 데이터가 DSP(1104)의 내부 RAM에 저장되기에 충분할 것이다. 더욱이, 엔코딩 처리될 컬러 스페이스가 RGB 컬러 스페이스인 경우, 블랭크 값 설정 레지스터(1105)로부터 수신된 블랭크 값 데이터는 DSP(1104)의 내부 RAM에 기억되고, 후속하는 처리가 실행된다. 즉, 단계 S1106의 처리는 단계 S1105의 처리를 실행하지 않고 실행된다. DSP(1104)는 기억된 블랭크 값 데이터를 모든 컬러 성분에 대해 후속하는 엔코딩 처리의 단위인 블록 데이터로 변환한 후, 이 변형된 데이터를 DCT 처리한다. DCT 처리의 결과로 인한 블랭크 스페이스 데이터는 DSP(1104)에 의해 DSP(1104)로 고속으로 억세스될 수 있는 외부 메모리(1110)에 저장된다(단계 S1306).
단계 S1307의 처리는 제4 실시예의 단계 S1206의 처리와 유사하다. 따라서, DSP(1104)는 제2 실시예의 처리와 유사한 조건하에서 후속하는 처리를 수행한다.
특히, DSP(1104)는 모든 화상 데이터의 엔코딩이 종료될 때 까지 블랭크 영역 또는 화상 데이터 영역에 대한 단계 S1307-S1315의 처리를 실행한다. 그 후, DSP(1104)에 의해 엔코드된 코드 데이터는 코드 메모리(1108)에 기록되고, 그 데이터는 CCU(1109)에 의해 코드 메모리(1108)로부터 판독되어 통신 라인으로 송신된다. 모든 화상 데이터의 엔코딩이 종료될 때, DSP(1104)는 다시 엔코딩 처리를 대기상태로 유지한다.
제3 실시예의 설명에서, DSP(1104)가 외부 메모리(1110)에 설정된 블랭크 스페이스 데이터를 컬러 스페이스로 변환 처리하고 DCT 처리한 후, 처리 결과로 나타나는 데이터를 외부 메모리(1110)에 기입하도록 배열되어 있다. 그러나, DSP(1104)에 의해 엔코드될 컬러 스페이스가 원형 판독기(1101)에 의해 판독된 컬러 스페이스와 동일한 경우, 외부메모리(1110)에 설정된 블랭크 스페이스 데이터를 오로지 DCT 처리하여 얻어진 결과가 DSP(1104)에 의해 외부 메모리(1110)에 기록되도록 배열될 수 있다.
그리하여, 본 발명의 제4 및 제5 실시예에 따르면, JPEG 코딩 방법에 기초하여 엔코딩 처리가 수행될 때, 블랭크 스페이스 영역의 데이터는 미리 컬러 스페이스로 변화 처리되고 DCT 처리되는 블랭크 값 데이터를 사용하여 양자화, 지그재그 스캐닝 및 허프만 코딩 처리된다. 결국, 블랭크 스페이스 영역의 데이터에 가해지는 컬러 스페이스 변환 처리 및 DCT 처리가 불필요하다. 결국, DSP처리 프로그램에서 컬러 스페이스로 변환 처리하고 DCT 처리하는데 필요한 단계의 수가 줄어든다. 이것은 모든 화상 데이터를 엔코딩하는데 필요한 시간을 단축시킬 수 있다.
상술한 바와 같이 본 발명에 따르면, 컬러 화상 데이터에 추가된 데이터 표현 블랭크 영역이 저장되고, 저장된 데이터가 컬러 화상 데이터의 그것으로부터 별도로 엔코딩을 수행하는데 사용됨으로써, 모든 화상 데이터를 고속으로 엔코딩 할 수 있다.
[제6 실시예]
제28도는 본 발명에 따른 실시예의 구성을 나타내는 블록도이다. 제28도에서 참조 번호(2101)은 스캐너 등과 같은 것을 사용하여 원래의 화상 데이터를 판독하기 위한 원형 판독기이고, 2103은 원형 판독기(2101)로 판독된 컬러 화상을 기억하기 위한 화상 메모리이고, 2102는 원형 판독기(2101)에 의해 판독된 컬러 화상데이타를 화상 메모리(2103)로 전달하기 위한 직접 메모리-억세스 제어기(이하 DMAC라고 한다)이며, 2104는 엔코딩 처리를 수행하기 위한 디지털 신호 처리기(이하 DSP라고 한다)이다.
참조 번호(2105)는 DSP(2104)에 의해 엔코딩 처리될 블록에 선행하는 블록의 데이터 구성을 저장하기 위한 선행 블록 데이터 플래그 레지스터를 가리킨다. 참조 번호(2106)은 엔코딩 처리되는 블록의 화상 데이터가 이 블록에 선행하는 블록의 화상 데이터와 동일 한 경우 엔코드된 데이터를 기억하기 위한 블랭크값 코드 메모리를 가리키고, 참조번호(2107)은 DSP(2104)의 처리 프로그램을 저장하기 위한 명령 메모리이고, 참조 번호(2109)는 엔(2104)에 의해 엔코드된 코드 데이터를 저장하기 위한 코드 메모리이고, 참조 번호(2110)은 코드 메모리(2109)에 저장된 코드 데이터를 판독하여 통신 송신 라인으로 전달하기 위한 회로 제어 유니트(이하 CCU라고 한다)이며, 참조 번호(2108)은 화상 메모리(2103), DSP(2104) 및 코드 메모리(2109)를 제어하여 DSP(2104)의 처리 프로그램을 명령 메모리(2107)로 다운로딩하기 위한 마이크로프로세서(이하 주 CPU라고 한다)이다.
지금부터 상술한 구성을 갖는 본 실시예에 따른 처리의 내용을 상세히 설명하겟다. 후속하는 설명에서, 특정 블록의 화상 데이터는 백색 화상 데이터로 간주될 것이다.
제29도와 제30도는 본 실시예의 처리 단계를 예시하는 다이어그램이다. 실시예에서 장치가 개시될 때, 개시시에 주 CPU(2108)가 DSP(2104)의 처리 프로그램을 명령 메모리(2107)에 다운로드한다.
DSP(2104)의 처리 프로그램이 주 CPU(2108)에 의해 다운로드될 때, DSP(2104)는 초기의 설정을 수행하고, 엔코딩 처리를 대기 상태로 유지한다. 결국, 프로그램은 제29도의 단계 S2201에서 단계 S2202로 진행하는데, 여기서 DSP는 주 CPU(2108)에서 나오는 인터럽트 등과 같은 것에 응답하여 엔코딩 처리의 개시를 대기한다.
주 CPU(2108)이 인터럽트함으로써 엔코딩 처리를 개시할 때, 프로그램은 단계 2202에서 단계 2203로 진행하는데, 여기서 DSP(2104)는 엔코딩 처리의 초기 처리를 수행한다. 즉, DSP(2104)는 엔코딩 처리를 하는데 필요한 파라메터들을 DSP(2104)의 내부메모리에 설정한다.
엔코딩 처리를 위한 초기의 처리가 종료할 때, DSP(2104)는 단계 S2204에서 선행 블록 데이터 플래그 레지스터(2105)를 1로 설정하고, 엔코딩 처리될 블록 데이터가 선행하는 블록의 데이터와 동일한 경우에 대한 코드를 블랭크 값 코드 메모리(2106)에 설정한다. 다음에 프로그램은 제30도에 도시된 단계 S2206으로 진행한다.
엔코딩 처리될 신호가 3개이고 엔코딩 처리의 형태가 JPEG 코딩 방법에 따른 블록 인터리빙(interleaving)인 경우에 설정된 코드는, 제1 신호의 DC차가 (0)이라는 것을 가리키는 코드, 제1 신호의 AC성분이 모두(0) (EOB:블럭의 종료)이라는 것을 가리키는 코드, 제2 신호의 DC차가 (0)이라는 것을 가리키는 코드, 제2 신호의 AC성분이 모두 (0)(EOB)이라는 것을 가리키는 코드, 제3 신호의 DC차가 (0)이라는 것을 가리키는 코드 및 제3 신호의 AC성분이 모두 (0)(EOB)이라는 것을 가리키는 코드를 접속시킴으로써 얻어진 코드이다.
엔코딩 처리될 컬러 스페이스가 YCbCr이고 엔코딩 처리시에 참조된 허프만 표가 JPEG 코딩 방법으로써 권고된 표인 경우, 접속된 코드는 Y신호의 DC차가 (0)이라는 것을 가리키는 코드(0), Y 신호의 AC성분이 모두(0)이라는 것을 가리키는 코드(1010), Cb와 Cr신호 각각의 DC차가 (0)이라는 것을 가리키는 코드(0) 및 Cb와 Cr 각각의 AC성분이 모두 (0)이라는 것을 가리키는 코드(0)이다. 따라서, 00101000000000가 블랭크 값 코드 메모리(106)에 설정되어 있다.
다음 설명도 역시 제31도와 관련된 것으로, 엔코딩 처리될 블록 화상 데이터의 성분을 나타내는 다이어그램이다. 제31도에서, 2301-2313에 나타낸 데이터는 JPEG 코딩 방법에 따라 처리된 블록 데이터(8 X 8 픽셀)이다. 참조 번호(2314)는 선행 블록 데이터 플래그 레지스터(2105)의 초기값을 가리키고, 참조 번호(2315-2327)은 2301-2313에 나타낸 데이터의 엔코딩 처리후 선행 블록 데이터 플래그 레지스터에 기억되어 있는 데이터 값을 가리킨다.
더욱이, 참조 번호 (2328-2340)은 각각의 데이터 항목(2301-2313)을 엔코딩 처리할 때 컬러 스페이스 변환 처리, DCT 처리, 양자화 처리 및 허프만 코딩 처리가 수행되는지를 가리킨다. 본 실시예에서, 엔코딩 처리될 블록 화상 데이터가 모두 백색 화상 데이터 또는블랭크 스페이스 데이터인 경우, 이때 선행 블록 데이터 플래그 레지스터(2105)의 값이 1이라면, 컬러 스페이스 변환 처리, DCT처리, 양자화 처리 및 허프만 코딩 처리는 수행되지 않는다. 더욱이, 2301의 데이터는 엔코딩 처리될 페이지의 초기 데이터로 가정된다.
제30도의 단계 S2206에서 DSP(2104)에 의해 실행되는 처리는 데이터가 페이지의 초기 데이터인가를 결정하기 위한 것이다. 엔코딩 처리를 받는 화상 데이터(2301)이 페이지의 초기 데이터이기 때문에, 프로그램은 단계 S2206에서 단계 S2214로 진행 이 데이터가 블랭크 스페이스 데이터인가가를 결정한다.
예를 들어, 초기 데이터가 블랭크 스페이스 데이터이면, 제31도에서 코드(2301)의 데이터에서의 경우처럼, 프로그램은 단계 S2215로 진행한다. 이 실시예에서, 블랭크 스페이스 데이터의 추가는 DSP(2104)에 의해서 수행된다. 따라서, DSP(2104)는 단계 S2215에서 블랭크 스페이스 데이터(백색 화상 데이터)의 한블럭(3개 신호 성분)을 발생시킨다. 블랭크 스페이스의 발생된 블록 화상 데이터에 관하여, 선행 블록 데이터 플래그 레지스터(2105)는 다음의 단계 S2216에서 DSP(2104)에 의해 0[제31도의 코드(2315)]으로 세트된다.
한편, 단계 S2214에서 초기 데이터가 블랭크 영역이러고 판명되면, 프로그램은 단계 S2221로 진행한다. 여기서, 원형 판독기(2101)에 의해 화상 메모리(2103)에 저장된 화상 데이터는 한 블록씩 기입되고, 이어서 프로그램은 단계 S2216으로 진행한다.
그 후, 원형 판독기(2101)에 의해 판독된 화상 데이터로 인가되는 것과 유사한 처리, 즉 컬러 스페이스 송신 처리는 단계 S2217에서 인가된다. 그 다음에, 유사한 방식으로, DCT 처리는 단계 S2218에서 실행되고, 단계 S2219에서 양자화 처리되고, 단계(S2220 :코드(2328))에서 허프만 코딩 처리된 후에 프로그램은 단계 S2213으로 진행한다. 더욱이, 엔코드된 데이터는 DSP(2104)에 의해 코드 메모리(2109)에 기입된다.
그 다음에 모든 화상 데이터의 엔코딩 처리가 종료됐는지를 단계 S2213에서 결정한다. 모든 화상 데이터의 엔코딩 처리가 종결되지 않은 경우에, 프로그램은 단계 S2207으로 진행한다. 반면에, 모든 화상 데이터의 엔코딩 처리가 종결됐다면, DSP(2104)는 엔코딩 처리를 종료하고, 엔코딩 처리를 종결하고, 다시 대기 상태에 엔코딩 처리를 유지한다는 사실을 인터럽트에 의해서 주 CPU(21058)에 통지한다. 제31도의 경우에서, 참조 번호(2302) 앞에서부터 화상 데이터 블록들의 엔코딩 처리가 요구되므로 프로그램은 단계 S2207의 처리로 진행한다.
단계 S2207에서 영역이 블랭크 영역인가를 결정한다. 제31도의 예에서, 참조 번호(2302)의 데이터는 블랭크 스페이스 데이터이므로 프로그램은 단계 S2208로 진행한다. 여기서, DSP(2104)는 단계 S2215에서와 같은 방법으로 블랭크 스페이스 데이터의 한 블록(3개 신호 성분)을 발생시킨다. 그 다음에, 단계 S2211에서, 선행 블록 데이터 플래그 레지스터(2105)의 값이 1인지가 결정된다. 제31도의 예에서, 선행 블록 데이터 플래그 레지스터(2105)의 값은 코드(2315)에 따라서 0이 되므로 프로그램은 단계 S2211에서 단계 S2222으로 진행한다. 여기서 DSP(2104)는 선행 블록 데이터 플래그 레지스터(2105)의 값을 1(코드 2316)로 설정한다. 그 다음에 단계 S2217으로부터의 처리가 앞으로 전이된다.
특히, 컬러 스페이스 변환 처리에서 허프만 코딩 처리로의 처리는 규칙적인 순서(코드 2329)로 실행되고, 프로그램은 단계 S2213에서 단계 S2207으로 복귀하고, 참조 번호(2303)의 화상 데이터를 엔코딩하기 위한 처리로 전이된다. 참조 번호(2303)의 화상 데이터가 블랭크 스페이스 데이터이기 때문에, 프로그램은 단계 S2207에서 단계 S2208로 진행한다. 여기서 블랭크 스페이스 데이터의 한 블록(3개 신호 성분)은 DSP(2104)에 의해 엔코딩 처리에서 발생된다.
이제 엔코딩 처리될 화상 데이터는 블랭크 스페이스 데이터이고 선행 블록 데이터 플래그 레지스터(2105)에서 값은 코드(2316)에 의한 1이다. 따라서, 이경우에 DSP(2104)는 단계 S2211에서 단계 S2212로 프로그램을 진행시킨다. 여기서, 블랭크 값 코드 메모리(2106)에서 설정된 데이터는 코드 메모리(2109)로 출력된다. 그 다음에 프로그램은 단계 S2213으로 진행한다.
제31도의 예에서, 모든 화상 데이터의 엔코딩 처리는 아직 완결되지 않았으므로 DSP(2104)에 의한 엔코딩 처리는 단계 S2207로 다시 진행한다. 참조 번호(2304)의 화상 데이터는 이제 블랭크 스페이스 데이터이기 때문에, DSP(2104)에 의한 처리는 단계 S2207에서 단계 S2209로 진행한다. 여기서 원형 판독기(2101)에 의해 화상 메모리(2103)에 저장된 화상 데이터는 한 블록씩 기입된다. 그 다음에 모든 블록 화상 데이터 판독이 백색 데이터인가를 단계 S2210에서 결정한다. 모든 블록 화상 데이터가 백색 데이터로 판독되면, 프로그램은 단계 S2211으로 진행한다. 여기서, 선행 블록 데이터 플래그 레지스터(2105)에서 값이 검증된다. 처리는 검증된 값에 따라서 규칙적인 순서로 실행된다. 특히, 선행 블록 데이터 플래그 레지스터(2105)에서 값이 0이면, 설정 값은 1로 변한 후에 단계 S2217의 컬러 변환 처리에서 단계 S2220의 허프만 코딩 처리로 처리가 순서대로 실행된다. 선행 블록 데이터 플래그 레지스터(2105)에서 값이 1이면, 블랭크 값 코드 메모리(2106)에서 설정된 코드 데이터는 단계 S2212에서 코드(2109)로 출력된다.
모든 블록 화상 데이터 판독이 단계 S2210에서 백색 데이터로 되지 않았다면(즉, 선행 블록 데이터 플래그 레지스터(2105)의 값은 1), 프로그램은 단계 S2216의 처리로 진행한다. 여기서 선행 블록 데이터 플래그 레지스터(2105)에서 값은 0(코드, 2318)로 설정되고 처리는 단계 S2217의 컬러 스페이스 변환 처리에서 단계 (S2220: 코드(2331))의 허프만 코팅 처리로 순서대로 수행된다.
그러므로, 상기 제어에 의해, DSP(2104)에 의해 엔코드된 코드 데이터는 코드 메모리(2109)에 연속으로 저장된다. CPU(2108)에 의해 수행되는 제어에 따라서, 통신 채널은 CCU(2110)에 의해 송신 라인으로 접속되는 다른 통신 장치와 함께 형성되고, 코드 메모리(2109)에서 독출하여 저장된 코드 데이터는 CCU(2110)에 의해 통신 라인을 통해서 다른 부분의 장치로 송신된다.
상기 기술된 제6 실시예에서, CCU(2101)에 의해 기입된 코드 메모리는 DSP(2104)에 의해 기입된 화상 메모리를 독립적으로 구성한다. 그러나, 본 실시예의 교시는 이들 메모리가 동일한 메모리로서 구성되는 경우에도 실현될 수 있음은 물론이다.
상기 기술된 실시예에 따라서, 제어는 미리 실행된 엔코딩 처리로부터의 결과인 코드 데이터가 특정 블록 화상 데이터(백색 화상 데이터)가 2개 또는 그 이상 블록들이 계속되는 엔코딩 처리의 시작에서 설정되는 경우에 출력되는 그런 방법으로 실행된다. 따라서, 컬러 스페이스 변환 처리, DCT 처리, 양자화 처리, 및 특정 세트 블록 화상 데이터(백색 화상의 블록 데이터)로 인가된 허프만 코딩 처리는 불필요하게 된다. 결과적으로, DSP 처리 프로그램에서 상기 언급된 처리를 위해 필요한 단계의 수는 감소된다. 이것은 모든 화상 데이터의 엔코딩 처리를 위해 필요한 시간을 짧아지게 한다.
[제7 실시예]
상기 기술은 주로 엔코딩 처리에 관해 다루었다. 그러나, 본 발명이 상기예로 한정되는 것은 아니다. 다른 장치로부터 엔코드된 데이터와 화상 출력 유니트로부터 출력되는 디코드된 데이터를 동시에 수신하고 디코드하는 것이 가능하다. 이제 본 발명의 제7 실시예에 따라 디코딩 처리 부분에 관해 기술될 것이다. 제7 실시예에서, 제28도에 도시된 제6 실시예의 것과 동일한 소자는 같은 참조 문자로 나타내고 다시 기술될 필요는 없다.
제32도는 본 발명에 따른 제7 실시예의 구조를 도시한 블록도이다. 제32도에서, DMAC(2102), 화상 메모리(2103), DSP(2104), 명령 메모리(2107), CPU(2108), 코드 메모리(2109) 및 CCU(2110)은 제28도에 도시된 것과 같은 방법으로 배열되고 디코딩 처리에서 사용된다. 그러나, 본 발명은 상기 예로 한정되는 것은 아니며, 상기 언급된 성분들이 완전히 독립적으로 제공되는 배열이 채택될수도 있다.
제32도에서, 참조 번호(2120)은 디코딩 처리를 받는 블록을 선행하는 블록의 각각의 컬러 신호의 DC차 값을 저장하기 위한 선행 블록 DC성분 메모리를 표시하고, 참조 번호(2121)은 화상 메모리(2103)에서 저장된 화상 데이터에 의해 얻어진 디코드된 화상을 출력하기 위한 화상 출력 유니트를 표시한다.
CCU(2110)은 규정된 통신 제어 절차에 따라서 통신 송신 라인을 통해 보내진 다른 장치로부터 코드 데이터를 수신하여 코드 메모리(2109)에 데이터를 저장한다. DSP(2104)는 코드 메모리(2109)에 저장된 코드 데이터를 판독하고 디코드한다. 화상 메모리(2103)은 DSP(2104)에 의해 디코드된 화상 데이터를 저장한다. DMAC(2102)는 화상 메모리(2103)에서 저장된 화상 데이터를 화상 출력 유니트(2121)로 전달한다.
명령 메모리(2107)은 디지털 신호 처리기(2104)의 처리 프로그램을 저장한다. 주CPU(2108)은 코드 메모리(2109), DSP(2104), 및 화상 메모리(2103)을 제어하고 DSP(2104)의 처리 프로그램을 명령 메모리(2107)로 다운로드한다.
이제 상기 구조를 갖는 제7 실시예의 동작은 제7 실시예의 디코딩 처리 단계을 도시한 제33도의 플로우챠트를 참조하여 기술될 것이다.
이 실시예에 따른 장치의 시작에서, 주 CPU(2108)은 DSP(2104)의 처리프로그램을 명령 메모리(2107)로 다운로드 한다. DSP(2104)의 처리 프로그램이 주 CPU(2108)에 의해 다운로드될 때, DSP(2104)의 처리는 단계 S2301에서 초기 설정이 이루어지고 디코딩 처리가 대기 상태로 유지되는 단계 S2302로 진행한다. 디코딩 처리가 인터럽트에 의해 주 CPU(2108)에 의해 시작될 때, 프로그램은 단계 S2302에서 DSP(2104)가 디코딩 처리를 위해 초기 처리를 실행하는 단계 (S2303)으로 진행한다.
특히, DSP(2104)의 내부 메모리에서, DSP(2104)는 디코딩 처리 뿐만아니라 디코딩 처리를 받는 블록과 선행 블록 간에 DC차가(0)이 되고, AC성분의 모든 계수들이 (0)이 되는 것을 표시하는 코드를 위해 필요한 파라메터들을 설정한다. 디코딩 처리를 받기 위한 신호의 수가 3개이고 디코딩 처리의 형태가 JPEG 코딩 방법에 따른 블록 인터리빙 블록인 경우에 코드 세트는 제1 신호의 DC차가 (0)임을 표시하는 코드, 제1 신호의 AC성분이 모두 (0)임을 표시하는 코드(EOB: 블록의 종료), 제2 신호의 DC차가 (0)임을 표시하는 코드, 제2 신호의 AC성분이 모두 (0)임을 표시하는 코드(EOB), 제3신호의 DC차가 (0)임을 표시하는 코드, 제3 신호의 AC성분이 모두 (0)임을 표시하는 코드(EOB)를 접속하여 얻어진 코드이다.
디코딩 처리를 받는 컬러 스페이스가 YCbCr이며 디코딩 처리시에 참조되는 허프만 표가 JPEG에 의해 권고된 한 경우에, 접속된 코드들은 Y신호의 DC차가 (0)임을 표시하는 코드 0, Y의 신호의 AC성분이 모두 (0)임을 표시하는 코드 1010, 각각의 Cb와 Cr신호들의 DC차가 (0)임을 표시하는 코드0, 각각의 Cb와 Cr신호들의 AC 성분이 모두 (0)임을 표시하는 코드 0이다. 따라서, 이 예에서 코드 세트는 00101000000000이다. 이 코드의 예는 제34도에 도시된다.
아래의 기술은 디코딩 처리될 수 있는 컬러 스페이스가 YCbCr 컬러 스페이스임을 가정하여 이루어진 것이다.
단계 S2303에서 디코딩하기 위한 초기 처리의 종료시, DSP(2104)는 단계 S2304에서 코드 메모리(2109)에 저장된 코드 데이터를 판독하기 시작한다. 그 다음에 코드 판독이 세트 코드 즉, 00101000000000인가를 결정하는 단계 S2305이후속된다. 프로그램은 판독된 코드가 세트 코드가 아닌 경우에 단계 S2309로 진행한다.
JPEG코딩 방법에 따른 통상적인 디코딩 처리는 단계 S2309 전방으로부터 실행된다. 특히, 복원은 단계 S2309에서 허프만 디코딩 처리에 의해 양자화된 데이터(1차원 데이터)로 되며, 데이터는 다음 단계 S2310에서 2차원 데이터로 재배열된다. DC 성분은 단계 S2311에서 차 디코딩 처리를 받고, 이후 단계 S2312에서 역 양자화 처리가 실행되며, 단계 S2313에서 IDCT 처리 및 단계 S23147에서 컬러 스페이스 변환 처리가 실행된다. 그 다음에, 처리 화상 데이터가 단계 S2315에서 화상 메모리(2103)에 기입된 후에, 프로그램은 단계 S2308로 진행한다. 여기서, 모든 코드데이타의 디코딩 처리가 종료되었는지를 결정한다. 모든 코드 데이터의 디코딩 처리가 종료되지 않았다면, 프로그램은 다시 단계 S2304로 돌아간다. 여기서, 코드 데이터가 판독되고 다시 디코딩 처리를 받는다.
모든 코드 데이터의 디코딩 처리가 단계 S2308에서 종료되면, DSP(2104)는 인터럽트에 의해 주 CPU(2108)에 통지하고, 대기 상태에서 코딩 또는 디코딩 처리를 다시유지한다.
단계 2305에서 판독된 코드 데이터가 세트 코드 데이터와 동일한 경우에, 프로그램은 단계 S2306으로 진행한다. 여기서, DSP(2104)는 선행 블록 DC성분 메모리(2120)에서 값이 백색으로 표시되는 코드 데이타가 아니면, 프로그램은 단계 S2309로 진행한다.
한편, 선행 블럭 DC성분 메모리(2120)에서 각 컬러 신호의 D성분의 설정 값이 송신 컬러 스페이스에서 백색을 표시하는 코드 데이터가 있는지를 결정하기 위해 선행 블록 DC 성분 메모리(2120)에서 설정 값을 체크한다. 코드 데이터가 선행 블록 DC 성분 메모리(2120)에서 값이 백색을 표시되는 값인 경우에, DSP(2104)는 단계 S2309 내지 단계 S2314의 처리를 실행하지 않고 단계 S2307로 프로그램을 진행 시킨다. 단계 S2307에서, 컬러 스페이스가 디코드된 화상을 출력하는 데이터에 따라 백색을 표시하는 신호의 한 블록은 화상 메모리(2103)에 기입된다. 이것은 각각의 신호 성분에 대해 수행된다. 예를들어, 디코드된 화상이출력되는 컬러 스페이스가 적색(R), 녹색(G), 청색(B)이며, 각 컬러 신호의 데이터 정밀도가 8비트인 경우에, OFFH는 R, G, B에 의해 화상 메모리(2103)에 기입된다. 그 다음 에 프로그램은 단계 S2308로 진행한다.
DSP(2104)의 디코딩 처리에 의해 디코드되어 화상 메모리(2103) 내에 저장된 화상 데이터는 DMAC(2104)의 제어하에 화상 메모리(2103)으로부터 화상 출력 유니트(2121)로 전달된다. 화상 출력 유니트(2121)은 디코드된 화상으로서 전달된 화상 데이터를 연속적으로 출력한다.
상술한 제7실시예에서, CCU(2101)에 의해 기입된 코드 메모리는 DSP(2104)에 의해 기입된 화상 메모리와 별도로 구성된다. 그러나, 본 실시예의 교시는 이들 메모리가 동일한 메모리로서 구성되는 경우에도 실현될 수 있음은 물론이다.
상술한 제7 실시예에 따르면, 선행 블록내의 각 컬러 신호의 DC 성분(DC차)이 디코딩 처리를 수행하는 DSP(2104)가 선행 블록에 관련한 DC차가 (0)이고 AC 성분들이 모두(0)이라는 것을 표시하는 코드에서 판독한 경우에 송신 컬러 스페이스에서 백색을 표시한다면, 디코딩 화상이 출력되는 컬러 스페이스에서 백색을 나타내는 화상 데이터의 하나의 블록이 허프만 디코딩처리, 역 양자화 처리, IDCT 처리 및 컬러 스페이스 변환 처리를 실행하지 않고서 화상 메모리내에 기입된다. 결과적으로, DSP 처리 프로그램에서 상술한 처리에 필요한 단계들의 수가 감소된다. 이것은 모든 화상 데이터의 디코딩 처리에 요하는 시간을 줄이게 한다.
게다가, 본 발명이 다른 제6 및 제7 실시예에 기초하여 상술되었지만, 실제장치에서, 전체 구성은 상술한 동작들이 동시에 병렬로 수행될 수 있도록 되어 있다. 예를 들어, 원형 판독기(2101)로부터의 판독이 시작될 때, 제6 실시예의 엔코딩 처리가 실행되고, 판독 데이터는 다른 장치로 송신된다. 다른 장치로부터의 엔코드된 데이터가 CCU(2110)에 의해 수신된 때, 제7 실시예의 디코딩 처리가 실행되고 디코드된 화상 데이터가 화상 출력 유니트(2121)에 의해 출력되도록 제어가 수행된다.
상술한 실시에는 화상 스캐너, 호스트 컴퓨터 또는 프린터 동작 같은 복수의 디바이스로 구성된 시스템, 또는 복사기 또는 화상 파일과 같은 단일 디바이스로 구성된 장치에 적용될 수 있다. 또한,본 발명은 발명의 목적이 프로그램을 시스템 또는 장치에 공급함으로써 달성되는 경우에도 적용될 수 있음은 물론이다.
그러므로, 상술한 본 발명에 따르면, 특정한 블록 화상 데이터(예를 들면 백색 데이터 등)가 2개의 블록에 대해 연속하는 경우에 대한 코드가 엔코딩 처리를 수행하는 디지털 신호 처리기에 의해 엔코딩 처리시에 미리 설정된다. 결과적으로, 설정된 특정 블록 데이터가 2개 또는 그 이상의 블록에 대해 연속하는 경우, 설정된 코드 데이터는 엔코딩을 수행하는데 사용됨으로써, 여러 가지의 통상의 엔코딩 처리 동작을 삭감시킬 수 있는 고속으로 처리를 수행하는 것이 가능하다.
이 코드 데이터는 고속 처리를 또한 가능하게 하기 위해 디코딩 측 상에 사용된다. 즉, 디코딩 처리시에, 디코딩 처리를 수행하는 디지털 신호 처리기는 현재의 블록과 선행하는 블록간의 DC 성분의 차가 0이고 블록내의 모든 AC 성분들이 0인 경우에 대한 코드에서 판독하고, 그 다음에, 선행 블록의 DC 성분의 값이 특정한 컬러를 표시할 때, 디코드된 화상이 출력되는 컬러 스페이스 내의 이 특정 컬러(예를 들어, 백색)을 나타내는 화상 데이터가 각각 및 모든 컬러 신호에 대한 디코드된 영상으로서 전달된다. 결과적으로, 통상의 디코딩 처리가 삭감될 수 있고, 고속 처리가 가능하게 된다.
[제8 실시예]
제36도는 본 발명의 실시예에 따른 통신 장치로서 기능하는 팩시밀리 장치의 구성을 도시한 블록도이다. 제36도에서, 참조번호(2002)는 버스(2030)을 통해 ROM(2003) 및 RAM(2004)에 접속된 중앙 처리 장치(CPU)를 표시한다. CPU(2002)를 동작시키기 위한 프로그램은 ROM(2003)내에 저장되어 있다. CPU(2002)는 이 프로그램에 따라 전체 장치의 동작을 제어한다. RAM(2004)는 CPU(2004)의 작업 영역으로 사용된다. 동작 클럭을 발생시키기 위한 석영 발진기(2001)은 CPU(2002)에 접속되어 있다.
본 실시에의 팩시밀리 장치내의 판독기는 CCD 라인 센서(2001)에 의해 주로 원래의 화상을 판독하고 판독 모터(2012)가 설치되어 있다. 또한, 화상 판독기는 열 헤드로 구성된 기록 헤드(2010), 기록 모터(2013) 및 기록모터(2013)을 구동시키기 위한 모터 구동기(IC2017)로 구성되어 있다. 판독기 및 화상 기록기를 사용함으로써, 팩시밀리 장치는 수신된 화상 또는 판독된 화상을 기록한다.
화상 데이터 및 제어 절차 데이터를 변조/복조 하는 모덴(2014)는 네트워크 제어 유니트(NCU)(2015)에 의해 라인(2023)에 접속되어 있다. NCU는 라인(2023)의 루프 전류를 유지하거나 또는 전화기(2024)에 대하여 라인 교환을 수행한다. 참조 번호(2009)는 JPEG 코딩 LSI를 표시한다. 나중에 기술되는 JPEG 코딩을 실행하기 위해, LSI는 앞서 설명된 제1 실시예에서와 같이, 복수의 DSP를 내부적으로 결합시킨다.
제37도는 본 실시예에 따른 팩시밀리 장치의 통신 제어 절차를 나타내는 일반적인 플로우챠트이다. 제37도의 팩시밀리 장치의 전원이 턴 온될 때, CPU(2002)는 단계 S2001에서 파라메터들을 초기 설정한다. 다음에, 단계 S2002, 2004, 2006, 2008에서, CPU(2002)는 복사, 송신 또는 수신이 동작 모드로서 선택되었는지, 그리고 기능이 선택되었는지, 즉 장치가 기동 되는지를 결정한다. 이결정에 기초하여, CPU는 복사 처리(단계 S2003), 송신 처리(단계 S2005), 수신 처리(단계 S2007) 및 기능 처리(단계 S2009)를 실행한다. 예를 들어, 원본이 장치내에 설정되고 CPU(2002)가 게이트 어레이(2010)을 통해 감지할 때, 키(2029)로 구성된 단일-터치 키(도시 안됨)가 단계 S2004에서 눌려지고, 프로그램은 단계 S2005의 송신 처리로 진행한다.
제38도는 제37도에 도시된 통신 제어 절차에서 단계 S2005로 표시된 송신 처리의 상세한 플로우챠트이다. 제38도에서, CPU(2003)는 단계 S2011에서 파라메터들을 초기 설정하고, 그 다음에 단계 S2012, S2013, S2014로 이루어진 루프를 실행한다. 특히, CPU(2002)는 단일 페이지 단위로 화상을 판독하고 메모리에 화상정보를 저장하는 처리를 실행한다. 한 페이지의 처리가 종료하면, 즉, 단계 S2014에서 이루어진 결정이 예 이면, CPU는 , 단계 S2015에서 메모리 데이터를 다운로드하고 단계 S2016에서 코딩과 메모리내의 저장을 실행한다. 단계 S2017에서 CPU는 모든 페이지의 처리가 종료되었는지를 체크한다.
단계 S2015 및 S2016의 처리가 통과될 때 마다, 1페이지의 화상 처리가 수행된다는 것을 주목하여야 한다.
모든 페이지의 처리가 종료하면, 프로그램은 단계 S2018로 진행되어, 메모리로부터 송신된 처리가 페이지 단위로 실행된다. 다음에, 단계 S2019에서, 메모리로부터의 송신이 종료되었는지를 결정하도록 체크된다. 이 처리가 종료되었다고 판단될 때, 리턴 처리가 실행된다.
제39도는 제38도에 도시된 송신 처리 절차의 단계 S2014에서의 페이지 처리의 종료의 판단에 관한 상세한 플로우챠트이다. 또한 제40도 및 제41도는 모든 원래의 화상 데이터가 백색 데이터 (이하 모두-백색이라고 함) 인지 여부가 판단될 때 픽셀 그룹의 단위로 도시하는 도면이다. 각각의 박스는 DCT 동작이 수행될 때 한 픽셀 단위에 대응한다.
파라메터들은 제39도의 단계 S2021에서 초기 설정되고, 단계 S2022에서 화상 데이터의 주-주사 방향에서의 8개 라인의 픽셀이 모두 백색인지 여부가 결정된다. 이 결정은 유니트로서 기능하는 제40도에 도시한 픽셀의 그룹으로 수행된다.
단계 S2022에서 이루어진 결정에 예이면, 처리는 단계 S2023으로 진행된다. 여기서, 주-주사 방향에서의 8개 라인의 픽셀들이 모두 백색인 경우에서 DCT동작의 실행으로부터 발생되어 미리 ROM(2003)내에 저장된 값들은 메모리내에 누적된다. 그 다음에 단계 S2024가 후속되어, 제어 파라메터로서 기능하는 부-주사 포인터가 +8만큼 증가된다.
단계 S2031에서, 1페이지의 처리가 종료되었는지의 결정이 체크된다. 1페이지의 처리가 종료된 것으로 결정되면, 리턴 처리가 실행된다.
단계 S2025에서 JPEG 코딩에서의 단위로서 기능하는 8× 8 픽셀이 모두 백색인지의 여부에 대한 결정이 체크된다. 이 때 제41도에 도시한 픽셀의 그룹이 유니트로서 기능한다. 체크의 결과가 예이면, 단계 S2026에서 상술한 8×8 개의 픽셀들을 바로 선행하는 8×8 픽셀들(JPEG 코딩의 단위)가 또한 모두 백색인지에 대한 결정이 체크된다. 단계 S2026에서 이루어진 결정이, 예 이면 8×8 개의 픽셀이 모두 백색인 경우에 대한 결과들, 즉 미리 ROM(2003) 내에 저장된 값들은 단계 S2027에서 메모리내에 누적되고, 그 이후 처리는 단계 S2029로 진행한다.
현재 처리되고 있는 8×8개의 픽셀이 모두 백색인 경우 (즉, 단계 S2025에서 이루어진 결정이 아니오일 때), 또는 이들 픽셀이 모두 백색이거나 바로 선행하는 8×8 픽셀들이 모두 백색이 아닌 경우에, 공지된 DCT 동작이 단계 S2028에서 수행되고, JPEG 코딩의 결과들은 메모리내에 누적된다. 제어 파라메터로서 기능하는 주-주사 포인터의 값은 단계 S2029에서 +8만큼 증가되고, 그 후, 단계 S2030에서 1페이지의 처리가 종료되었는지의 결정이 체크된다. 1페이지의처리가 종료되었다고 결정되면, 리턴 처리가 실행된다.
그러므로, JPEG 방법에 따라, 엔코딩은 DCT 연산을 원래의 화상의 8×8 픽셀 블록에 적용함으로써 수행된다. 그러나, 원래의 화상의 8×8 픽셀 블록이 모두 백색인 경우에, DCT 연산의 결과는 이미 명백하다. 더욱이, 모두-백색 부분이 일반적으로 원고에 나타날 확률은 매우 높다.
따라서, 높은 발생 확률, 즉 모두-백색 부분이 나타날 확률이 높은 화상 부분의 엔코딩에 대한 처리 속도가 상술한 방식으로 처리를 실행함으로써 상승된다면, JPEG 코딩이 높은 처리 속도를 달성할 수 있다.
또한, 본 실시예에 따르면, 블록 래스터 유니트내의 모두-백색 판단 및 블록 유니트 내의 모두-백색 판단이 스텝와이즈(stepwise) 방식으로 수행된다. 그러므로, 모두-백색 블록이 주-주사 방향으로 1라인에 대해 연속하는 경우에, 코딩은 매우 효율적인 방식으로 수행될 수 있다.
게다가, 본 실시예에 따르면, 모두-백색 판단이 1 블록 래스터(8라인)의 유니트 또한 복수의 블록 래스터[(8×n)라인]의 유니트에서 수행될 수 있다.
또한, 본 실시예에 따르면, 단계 S2026에서 바로 선행하는 블록이 모두 백색인지의 여부가 결정된다. 이 결정이 아니오이면 DCT 동작이 수행된다. 따라서, 바로 선행하는 블록이 컬러 블록이고, DC 차가 발생한다면, 정상적인 엔코딩이 치환하지 않고서 수행될 수 있다.
바로 선행하는 블록이 컬러 블록인 경우에도, 정상적인 엔코딩이 단계 S2023에서 리스타트 마커(restart marker) 코드를 사용하여 바로 선행하는 계수를 재설정함으로써 수행될 수 있다.
제42도는 제39도의 단계S2025에서 모두-백색 판단 처리를 나타내는 상세한 플로우챠트이다.
파파메터들(i,j…는 제42도의 단계 S2041에서 초기 설정되고, 화상 데이터(i, j)의 하나의 픽셀이 단계 S2042에서 로드되어, 이 픽셀이 백색인지의 여부를 결정하는 체크가 수행된다. 체크 결과가 픽셀이 백색이 아니라는 것으로 되면, 제어 파라메터인 비-백색 플래그로서 설정되어, 리턴 처리가 실행된다.
단계 S2043에서의 결정이 예이면, 제어파라메터로서 기능하는 픽셀 포인터(i)는 단계 S2045에서 +1만큼 증가되고 처리는 단계 S2046으로 진행한다. 단계 S2046에서 단계 S2042, S2043, S2045의처리가 총 8번 수행되었는지의 결정이 체크된다. 이 단계들의 처리가 8번 실행되지 않았다면, 처리는 단계 S2042로 복귀한다.
루프의 8번 실행에 관한 단계 S2046에서의 결정 결과가 예이면, 제어 파라메터로서 기능하는 픽셀 포인터(j)는 단계 S2047에서 +1 만큼 증가되고, 그후 프로그램은 단계 S2048의 처리로 진행한다. 단계 S2042, S2043, S2045, S2046 및 S2047의 처리가 8×8 픽셀에 관하여 실행되었는지가 단계 S2048에서 결정된다. 결과가 아니오이면, 처리는 단계 S2048로부터 단계 S2042로 진행한다.
단계 S2048에서의 결정 결과가 예이면, 단계 S2049에서, 1이 제어 파라메터인 모두-백색(ALL-WHITE) 플래그로 설정되고, 복귀 처리가 실행된다.
프로그램이 제42도에 도시한 처리에서 단계 S2049를 통해 복귀하는 경우에, 제39도의 단계 S2025에서의 결정이 예쪽으로 분기한다. 또한, 프로그램이 제42도에 도시한 처리에서 단계 S2044를 통해 복귀하는 경우에, 제39도의 단계 S2025의 결정이 아니오쪽으로 분기한다.
제43도는 제39도의 단계 S2022에서의 모두-백색 판단 처리를 나타내는 상세한 플로우챠트이다. 제42도에 도시한 처리와 제43도에 도시한 처리에서, 1페이지의 판독 및 제38도의 단계 S2012 및 S2013에서의 비압축 데이터의 메모리내의 누적은 이 처리가 실행되기 전에 종료된다. 따라서, 제39도의 단계 S2022, S1025의 처리는 RAM(2004)내의 비압축 데이터의 모두-백색 체킹을 위한 일괄 처리이다.
또한, 제42도에 도시된 처리가 픽셀(1,1)내지 (8,8)에 대응하는 8×8 픽셀 블록에 관한 것이고, 제23도에 도시된 처리는 픽셀(1,1) 내지 (8,m에 대응하는 주-주사 방향의 8개 라인들의 픽셀 블록을 일괄 처리하기 위한 것이다.
파라메터(i, j…)는 제43도의 단계 S2051에서 초기화되고, 화상 데이터(i, j)의 한 픽셀이 단계 S2052에서 로드되고, 단계 S2053에서 이 픽셀이 백색인지를 결정하기 위해 검사가 수행된다. 체크 결과, 픽셀이 백색이 아니면, 1은 제어 파라메터인 비-백색 플래그로 설정되고, 복귀 처리가 실행된다.
그러나, 단계 S2053에서 이루어진 결정이 예이면, 제어 파라메터로서 기능하는 픽셀 포인터(i)는 단계 S2055에서 +1 만큼 증가된다. 단계 S2052, S2053, S2055의 처리가 총 m번 수행되었는지를 결정하기 위해 검사가 단계 S2056에서 행해진다. 이들 단계의 처리가 m 번 실행되지 않았으면, 처리는 단계 S2052로 복귀한다.
m번 루프의 실행에 관하여 단계 S2056에서 결정의 결과가 예이면, 상술한 픽셀 포인터(i)는 단계 S2057에서 1로 된다. 제어 파라메터로 기능하는 픽셀 포인터(j)는 단계 S2058에서 +1 만큼 증가되고 그 후에, 프로그램은 단계 S2059의 처리로 진행한다. 단계 S2052, S2053, S2055∼S2058의 처리가 8×8 픽셀에 관련하여 실행되었는 지의 여부가 단계 S2059에서 결정된다. 결과가 아니오이면, 처리는 단계 S2052로 복귀한다.
단계 S2058에서 결정의 결과가 예이면, 단계 S2060에서 1이 제어 파라메터인 모두-백색 플래그로서 설정되고, 복귀 처리가 실행된다.
제42도에 도시된 처리와 제43도에 도시된 처리간의 다른 점은 제42도의 단계 S2046에서는 8개 픽셀들이 수평 방향(주-주사 방향)으로 검사되는 반면, 제43도의 단계 S2056에서는 이 검사가 주-주사의 끝으로 수행된다는 것이다. 게다가, 제43도에서 하나의 주-주사 라인에서 그 다음 라인으로 전이가 이루어질 때, 단계 S2057에서 제어 파라메터(픽셀 포인터) (i)의 값을 다시초기화하는 것이 필요하다. 이것은 제42도에 도시된 처리와는 다르다.
그러므로, 상기 기술된 이 실시예에 따르면 원래의 화상에서 모두-백색 부분의 발생 확률이 높다는 사실에 유의해야 한다. 지시된 픽셀 블록의 모두-백색 부분에 DCT 연산을 행함으로써 얻어진 결과를 사용여 모두-백색 화상 부분의 엔코딩을 위한 처리 속도를 높임으로써, JPEG 코딩에 대한 고속 처리를 달성하는 것이 가능하다.
상기 실시예는 복수의 디바이스에 의해 구성된 시스템 또는 단일 디바이스를 포함하는 장치에 응용될수 있다. 더욱이, 본 발명은 본 발명의 목적이 시스템 또는 장치에 프로그램을 공급함으로써 얻어진 경우에도 적용될 수 있다.
상기 기술된 본 발명에 따르면, 상술한 픽셀 블록이 모두-백색일 때, 엔코딩 처리는 DCT 연산을 수행하지 않고 선정된 값을 사용하여 실행된다. 이것은 엔코딩 처리 속도를 높이는 것을 가능하게 한다.
게다가, 선정된 필요 조건 값은 블록의 내부가 모두-백색이 아닌 경우에서 사용될 수 있다.
상기 기술된 실시예에서 사용된 DSP는 공지된 것처럼, 디지털 신호 처리를 위한 특별한 목적의 단일 칩 마이크로프로세서이다. 이 DSP는 고속으로 곱셈과 덧셈 연산을 반복적으로 실행하기 위한 회로 구성을 사용한다. 이 DSP는 외부에서 공급된 프로그램을 기초로 하는 연산의 내용을 자유롭게 설정할 수 있고, 외부에서 공급된 프로그램을 저장하기 위한 메모리 및 승산기와 가산기 같은 산술 회로를 포함한다.
본 발명의 다수의 분명하고 광범위한 다른 실시예가 그 성질과 범위를 벗어나지 않고 만들어 질 수 있기 때문에, 본 발명의 첨부된 특허 청구 범위에 기술된 것을 제외하고는 특정한 실시예로 한정되지 않았다는 것을 인지해야 한다.

Claims (8)

  1. 화상 처리 장치에 있어서, 화상을 나타내는 화상 데이터를 입력하기 위한 입력 수단; 상기 화상 데이터를 복수의 블록으로 분할하고 상기 화상 데이터를 계산을 통해 엔코딩하기 위한 엔코딩 수단; 블록내의 픽셀들이 선정된 값을 가지고 있는지를 판별하기 위한 판별 수단; 상기 엔코딩 수단이 계산을 통해 선정된 값을 갖는 블록 내의 상기 픽셀들상에 상기 엔코딩을 수행함으로써 얻어지는 데이터를 저장하기 위한 저장 수단; 상기 저장 수단 내에 저장된 데이터를 블록 내의 상기 픽셀들에 대응하는 엔코딩된 데이터로서 출력하기 위한 출력 수단-블럭내의 상기 픽셀들이 선정된 값을 가질 때, 상기 출력은 상기 엔코딩 수단에 의한 계산없이 수행됨을 포함하는 것을 특징으로 하는 화상 처리 장치.
  2. 제1항에 있어서, 상기 엔코딩 수단은 DSP인 것을 특징으로 하는 화상 처리 장치.
  3. 제1항에 있어서, 상기 엔코딩 수단은 이산 코사인 변환, 양자화 및 허프만 코딩을 사용하여 화상 데이터를 엔코딩하는 것을 특징으로 하는 화상 처리 장치.
  4. 제1항에 있어서, 상기 선정된 값은 백색 픽셀을 나타내는 것을 특징으로 하는 화상 처리 장치.
  5. 제1항에 있어서, 상기 블록은 n×n 픽셀인 것을 특징으로 하는 화상 처리 장치.
  6. 제1항에 있어서, 화상 데이터를 엔코딩하기 위한 프로그램을 제공하기 위한 제공 수단을 더 포함하는 것을 특징으로 하는 화상 처리 장치.
  7. 제1항에 있어서, 상기 판별 수단은 픽셀들이 선정된 값을 가지고 있는 복수의 블록들이 연속되어 배치되어 있는지를 더 판별하는 것을 특징으로 하는 화상 처리 장치.
  8. 화상 처리 방법에 있어서, 화상을 나타내는 화상 데이터를 입력하는 입력 단계; 상기 화상 데이터를 복수의 블록으로 분할하고 상기 화상 데이터를 계산을 통해 엔코딩하기 위한 엔코딩 단계; 블록 내의 픽셀들이 선정된 값을 가지고 있는지를 판별하기 위한 판별 단계; 상기 엔코딩 단계에서 계산을 통해 선정된 값을 갖는 블록 내의 상기 픽셀들상에 상기 엔코딩을 수행함으로써 얻어지는 데이터를 저장하는 저장 단계; 상기 저장 단계에서 저장된 데이터를 블록 내의 상기 픽셀들에 대응하는 엔코딩된 데이터로서 출력하기 위한 출력 수단-블럭 내의 상기 픽셀들이 선정된 값을 가질 때, 상기 출력은 상기 엔코딩 단계에서의 계산없이 수행됨-을 포함하는 것을 특징으로 하는 화상 처리 방법.
KR1019940012017A 1993-05-31 1994-05-31 화상 처리 방법 및 장치 KR0154352B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP12958593A JP3382298B2 (ja) 1993-05-31 1993-05-31 画像処理装置
JP93-129585 1993-05-31
JP93-154904 1993-06-25
JP15490493A JP3280120B2 (ja) 1993-06-25 1993-06-25 通信装置
JP5215642A JPH0774961A (ja) 1993-08-31 1993-08-31 画像通信装置
JP93-215642 1993-08-31
JP21564093A JP3363536B2 (ja) 1993-08-31 1993-08-31 カラー画像処理装置及びカラー画像処理方法
JP93-215640 1993-08-31

Publications (1)

Publication Number Publication Date
KR0154352B1 true KR0154352B1 (ko) 1998-11-16

Family

ID=27471469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012017A KR0154352B1 (ko) 1993-05-31 1994-05-31 화상 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US5650861A (ko)
EP (1) EP0627845B1 (ko)
KR (1) KR0154352B1 (ko)
CN (1) CN1092446C (ko)
DE (1) DE69426792T2 (ko)
ES (1) ES2154667T3 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805933A (en) * 1994-12-28 1998-09-08 Canon Kabushiki Kaisha Image processing apparatus, image processing method and network system
KR100213048B1 (ko) * 1995-09-29 1999-08-02 윤종용 아날로그와 디지탈 비디오 모드를 갖는 수신기와 그 수신방법
US6891567B2 (en) * 1998-06-26 2005-05-10 Fotonation Holdings, Llc Camera messaging and advertisement system
US6433818B1 (en) 1998-11-06 2002-08-13 Fotonation, Inc. Digital camera with biometric security
US6750902B1 (en) 1996-02-13 2004-06-15 Fotonation Holdings Llc Camera network communication device
US6407824B1 (en) 1996-07-25 2002-06-18 Canon Kabushiki Kaisha Image processing and outputting with suspension of processing in a white region
WO1998038830A2 (de) * 1997-02-25 1998-09-03 Siemens Aktiengesellschaft Verfahren und vorrichtung zum verarbeiten und generieren von daten unter verwendung eines digitalen signalprozessors
US6072536A (en) * 1997-10-29 2000-06-06 Lucent Technologies Inc. Method and apparatus for generating a composite image from individual compressed images
US7324133B2 (en) * 1998-11-06 2008-01-29 Fotomedia Technologies, Llc Method and apparatus for controlled camera useability
JP2000316063A (ja) * 1999-04-30 2000-11-14 Ricoh Co Ltd 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001186360A (ja) * 1999-12-27 2001-07-06 Canon Inc 画像通信装置およびその方法
JP4009808B2 (ja) * 2000-03-01 2007-11-21 富士ゼロックス株式会社 画像処理装置
US6650784B2 (en) * 2001-07-02 2003-11-18 Qualcomm, Incorporated Lossless intraframe encoding using Golomb-Rice
EP1431872A1 (en) * 2002-12-19 2004-06-23 Alcatel A digital signal processor with reconfigurable data path
US7760951B2 (en) * 2006-02-14 2010-07-20 Broadcom Corporation Method and system for pipelined processing in an integrated embedded image and video accelerator
JP4761566B2 (ja) * 2006-12-13 2011-08-31 キヤノン株式会社 画像処理装置及びその方法とプログラム及び媒体
US9465572B2 (en) * 2011-11-09 2016-10-11 Microsoft Technology Licensing, Llc Dynamic server-side image sizing for fidelity improvements
JP2015130640A (ja) * 2014-01-09 2015-07-16 富士ゼロックス株式会社 データ伸張装置、プログラムおよび記録媒体
JP2022164259A (ja) 2021-04-16 2022-10-27 キヤノン株式会社 情報処理装置、制御方法、およびプログラム

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3215773A (en) * 1962-05-14 1965-11-02 Philco Corp Reduced bandwidth data transmission system
US3483317A (en) * 1966-06-10 1969-12-09 Xerox Corp Selective encoding technique for band-width reduction in graphic communication systems
GB1481226A (en) * 1973-08-31 1977-07-27 Kokusai Denshin Denwa Co Ltd System for coding two-dimensional information
DE2706080C2 (de) * 1977-02-12 1986-10-23 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
JPS5811941A (ja) * 1981-07-16 1983-01-22 Dainippon Screen Mfg Co Ltd 網目版画像記録装置における絵柄信号と文字信号の処理方法
US4546385A (en) * 1983-06-30 1985-10-08 International Business Machines Corporation Data compression method for graphics images
JPS6275773A (ja) * 1985-09-30 1987-04-07 Toshiba Corp 画像圧縮装置
US4920426A (en) * 1986-11-10 1990-04-24 Kokusai Denshin Denwa Co., Ltd. Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information
US4772956A (en) * 1987-06-02 1988-09-20 Eastman Kodak Company Dual block still video compander processor
US5162923A (en) * 1988-02-22 1992-11-10 Canon Kabushiki Kaisha Method and apparatus for encoding frequency components of image information
EP0339589A3 (en) * 1988-04-28 1992-01-02 Sharp Kabushiki Kaisha Orthogonal transform coding system for image data
JP2828997B2 (ja) * 1988-07-22 1998-11-25 株式会社日立製作所 適応型変換符号化装置
JPH02122763A (ja) * 1988-10-31 1990-05-10 Nec Corp ファクシミリ装置
GB8900368D0 (en) * 1989-01-09 1989-03-08 Crosfield Electronics Ltd Bit map modification
US5073821A (en) * 1989-01-30 1991-12-17 Matsushita Electric Industrial Co., Ltd. Orthogonal transform coding apparatus for reducing the amount of coded signals to be processed and transmitted
US5249066A (en) * 1989-02-14 1993-09-28 Fujitsu Limited Method and system for writing and reading coded data
US5086439A (en) * 1989-04-18 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Encoding/decoding system utilizing local properties
JPH02305182A (ja) * 1989-05-19 1990-12-18 Fuji Photo Film Co Ltd 画像信号圧縮符号化装置
IL91221A (en) * 1989-08-04 1995-03-30 Ibm Israel Binary text compression method
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
US4969040A (en) * 1989-10-26 1990-11-06 Bell Communications Research, Inc. Apparatus and method for differential sub-band coding of video signals
JP3085465B2 (ja) * 1989-10-31 2000-09-11 オリンパス光学工業株式会社 画像データの符号化装置および符号化方法
US5063608A (en) * 1989-11-03 1991-11-05 Datacube Inc. Adaptive zonal coder
EP0789494B1 (en) * 1989-12-25 2002-04-10 Mitsubishi Denki Kabushiki Kaisha Coding apparatus
JPH03276263A (ja) * 1990-03-26 1991-12-06 Fuji Photo Film Co Ltd 画像ファイリング装置
DE69126565T2 (de) * 1990-04-17 1998-01-02 Matsushita Electric Ind Co Ltd Verfahren zur Übertragung von Kodes mit variabler Länge
US5309525A (en) * 1990-06-14 1994-05-03 Canon Kabushiki Kaisha Image processing apparatus using neural network
EP0469852B1 (en) * 1990-07-31 1999-06-23 Canon Kabushiki Kaisha Image processing method and apparatus
JPH0556275A (ja) * 1990-08-30 1993-03-05 Sharp Corp 画像符号化装置及び画像復号装置
DE69131809T2 (de) * 1990-09-04 2000-05-11 Canon Kk Bildverarbeitungsverfahren und -gerät
KR960010392B1 (ko) * 1990-09-29 1996-07-31 니뽕 빅터 가부시끼가이샤 적응 양자화를 이용한 화상 신호 부호화 복호화 장치
EP0487282B1 (en) * 1990-11-19 2000-03-01 Canon Kabushiki Kaisha Image processing apparatus and method
US5249053A (en) * 1991-02-05 1993-09-28 Dycam Inc. Filmless digital camera with selective image compression
JP3109854B2 (ja) * 1991-04-23 2000-11-20 キヤノン株式会社 画像符号化方法及び装置
JPH04323963A (ja) * 1991-04-23 1992-11-13 Canon Inc 画像処理方法及び装置
JP3095804B2 (ja) * 1991-04-30 2000-10-10 株式会社リコー 画像データ伝送装置および画像データ伝送方法
GB2259824B (en) * 1991-09-19 1995-01-18 Sony Broadcast & Communication Data compression
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5367629A (en) * 1992-12-18 1994-11-22 Sharevision Technology, Inc. Digital video compression system utilizing vector adaptive transform
US5517327A (en) * 1993-06-30 1996-05-14 Minolta Camera Kabushiki Kaisha Data processor for image data using orthogonal transformation
JP3447771B2 (ja) * 1993-09-02 2003-09-16 富士通株式会社 画像データの符号化方法及び復元方法並びに装置

Also Published As

Publication number Publication date
DE69426792T2 (de) 2001-08-02
CN1092446C (zh) 2002-10-09
ES2154667T3 (es) 2001-04-16
EP0627845A2 (en) 1994-12-07
EP0627845B1 (en) 2001-03-07
EP0627845A3 (en) 1995-04-19
DE69426792D1 (de) 2001-04-12
US5650861A (en) 1997-07-22
CN1101196A (zh) 1995-04-05

Similar Documents

Publication Publication Date Title
KR0154352B1 (ko) 화상 처리 방법 및 장치
CN1756296B (zh) 图像处理装置和图像处理方法
JP4367880B2 (ja) 画像処理装置及びその方法並びに記憶媒体
JP4612782B2 (ja) 画像処理装置、及びその方法、並びにプログラム、記憶媒体
US8565298B2 (en) Encoder rate control
US7016545B1 (en) Reversible embedded wavelet system implementation
CN101102384B (zh) 多功能打印机
US20050276500A1 (en) Image encoding apparatus, and image processing apparatus and its control method
US20050276501A1 (en) Image decoding apparatus and its control method
EP1009168A2 (en) Image processing apparatus and method, and recording medium
EP0506482B1 (en) Image processing
JP3984813B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP2003189109A (ja) 画像処理装置及び方法、並びにコンピュータ・プログラム
JP2003046789A (ja) 画像符号化装置及び画像復号化装置
CN100350788C (zh) 从压缩图像产生半色调图像的方法和装置
JP4678814B2 (ja) 画像処理方法及び装置
JP3382298B2 (ja) 画像処理装置
JP2001258033A (ja) 画像データの符号化装置及び方法、記憶媒体
JP3907505B2 (ja) ブロックトランケーション符号化装置及び方法
JPH11144052A (ja) 画像処理装置および画像処理システム
JP4195624B2 (ja) 画像処理装置、画像形成装置、画像読取装置、プログラム及び記憶媒体
JP4194311B2 (ja) 動画像符号化装置及び動画像復号装置並びにそれらの方法
JPH06233276A (ja) 画像符号化装置
JP2004159069A (ja) 画像処理装置の制御方法
JPH07221996A (ja) 画像処理方法およびその装置

Legal Events

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

Payment date: 20120625

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee