KR100261374B1 - 화상처리장치 - Google Patents

화상처리장치 Download PDF

Info

Publication number
KR100261374B1
KR100261374B1 KR1019960019853A KR19960019853A KR100261374B1 KR 100261374 B1 KR100261374 B1 KR 100261374B1 KR 1019960019853 A KR1019960019853 A KR 1019960019853A KR 19960019853 A KR19960019853 A KR 19960019853A KR 100261374 B1 KR100261374 B1 KR 100261374B1
Authority
KR
South Korea
Prior art keywords
image data
data
unit
instruction
memory
Prior art date
Application number
KR1019960019853A
Other languages
English (en)
Other versions
KR970016930A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=16927212&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100261374(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 다니구찌 이찌로오, 미쓰비시 덴키 가부시키가이샤, 기타오카 다카시 filed Critical 다니구찌 이찌로오
Publication of KR970016930A publication Critical patent/KR970016930A/ko
Application granted granted Critical
Publication of KR100261374B1 publication Critical patent/KR100261374B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Abstract

역이산형 코사인 변환등과 같은 비교적 복잡한 연산을 많이 포함하는 부분은 병렬처리 가능한 고성능 범용 프로세서를 사용하여 소프트웨어로 처리하고, 프레임간 예측부호화 화상의 처리를 위한 다른 프레임 데이터의 판독등과 같은 비교적 단순한 처리내용이지만 메모리를 빈번하게 액세스하는 처리, 및 가변장부호화된 화소치의 디코드처리 등과 같은 비교적 단순한 연산이지만 병렬화가 본질적으로 곤란한 처리는 전용의 주변회로를 상용하여 하드웨어로 처리한다.

Description

화상처리장치
제1도는 본 발명의 화상처리장치의 실시형태 1의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제2도는 본 발명의 화상처리장치의 마이크로 프로세서의 명령 포맷을 나타내는 모식도.
제3도는 본 발명의 화상처리장치의 마이크로 프로세서의 명령의 포맷필드의 내용의 상세한 것을 나타내는 모식도.
제4도는 본 발명의 화상처리장치의 마이크로 프로세서의 명령의 실행조건필드의 내용의 상세한 것을 나타내는 모식도.
제5도는 본 발명의 화상처리장치의 마이크로 프로세서의 연산필드의 비트 구성예를 나타내는 모식도.
제6도는 본 발명의 화상처리장치의 마이크로 프로세서의 레지스터 구성예를 나타내는 모식도.
제7도는 본 발명의 화상처리장치의 마이크로 프로세서의 프로세서 상태어의 내용을 나타내는 모식도.
제8도는 본 발명의 화상처리장치의 실시형태 1의 마이크로 프로세서의 전체의 구성예를 나타내는 블록도.
제9도는 본 발명의 화상처리장치의 실시형태 1의 마이크로 프로세서의 정수연산부의 구성예를 나타내는 블록도.
제10도는 본 발명의 화상처리장치의 실시형태 1의 마이크로 프로세서의 블록로더(block loader)의 구성예를 나타내는 블록도.
제11(a),(b),(c)도는 동화상의 압축(부호화)처리의 개략을 설명하기 위한 모식도.
제12(a),(b)도는 압축(부호화)된 동화상 데이터의 디컴프레싱 처리의 개략을 설명하기 위한 모식도.
제13도는 본 발명의 화상처리장치의 실시형태 1의 마이크로 프로세서가 MPEG 표준의 화상데이터를 처리하는 경우의 알고리즘의 일부인 블록데이터에 의한 처리 수순을 나타내는 플로차트.
제14도는 본 발명의 화상처리장치의 실시형태 2의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제15도는 본 발명의 화상처리장치의 실시형태 2의 마이크로 프로세서의 전체의 구성예를 나타내는 블록도.
제16도는 본 발명의 화상처리장치의 실시형태 3의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제17도는 본 발명의 화상처리장치의 실시형태 4의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제18도는 본 발명의 화상처리장치의 실시형태 5의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제19도는 본 발명의 화상처리장치의 실시형태 6의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제20도는 본 발명의 화상처리장치의 실시형태 7의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제21도는 본 발명의 화상처리장치의 실시형태 8의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
제22도는 본 발명의 화상처리장치의 실시형태 9의 하나의 구성예를 메모리에 접속한 시스템의 블록도.
[발명의 분야]
본 발명은 압축된 화상 데이터의 압축을 푸는 화상처리장치에 관련된 것이다.
특히 화상데이터의 압축을 푸는(이하 디컴프레싱(decompressing)이라 칭함) 처리내의 연산을 많이 포함하는 부분을 범용 마이크로 프로세서가 소프트웨어로 처리하고, 메모리로부터의 데이터판독을 많이 포함하는 처리를 전용회로가 하드웨어로 처리함으로써, 범용 마이크로 프로세서와 전용회로가 협조동작하여 효율 있게 화상 데이터를 디컴프레싱하는 화상처리장치에 관한 것이다.
[종래의 기술]
화상데이터는 대단히 큰 데이터이므로, 그것을 축적하거나, 혹은 통신할 때에는 디지털데이터로 부호화하고, 다시금 압축해서 다루는 경우가 많다. 특히, 동화상의 부호화 및 압축에 관해서는 종전에 이미 많은 연구가 되어 왔고, 국제표준화기구에 의해 MPEG(Moving Picture Experts Group)등의 표준이 되는 화상데이터의 포맷이 정해져 있다.
MPEG 표준으로서 정해진 동화상 데이터로 대표되는 압축된 화상데이터로부터 원래의 화상 데이터를 재현하기 위해서는 데이터의 디컴프레싱 처리가 필요하다.
그와 같은 목적으로, 이제까지는 Hyundai Electronics America 사의 HDM8211M, 미쓰비시 전기주식회사의 M65771FP 및 M65770FP 등의 여러 가지의 동화상 데이터 디컴프레싱 처리용 LSI의 개발이 이루어져 왔다.
예컨대 HDM8211M에 관해서는 문헌 Dave Bursky,“Single Chip Performs Both Audio and Video Decoding,”Electronic Design, April 3, 1995에 기술되어 있다.
그러나, 이 화상 데이터들의 디컴프레싱 처리를 하는 종래의 전용 LSI는 디컴프레싱 처리의 알고리즘에 따라서 많은 연산기를 집적한 구성을 채용하고 있어서, 하드웨어의 규모가 크고, 가격도 높았다.
또, 그것들은 어느 것도 전용 LSI로서 구성 되어 있어 다른 용도에는 사용할 수 없기 때문에, 화상데이터의 종류에 비례한 종류의 LSI를 개발할 필요가 생기는 등, 사용 목적에 유연하게 대응할 수 없는 문제가 있었다.
이와 같은 문제를 해결하기 위해서, 전용하드웨어를 사용하지 않고, 범용 마이크로 프로세서에 몇 개의 MPEG 화상데이터처리 전용의 명령을 추가하므로서, 소프트웨어로 화상데이터의 디컴프레싱 처리를 행하는 시도도 이루어지고 있다.
이와 같은 시도에 관해서는 예를 들면 문헌 Ruby B. Lee,“Accelerating Mutimedia With Enhanced Microprossos,”IEEE Micro, pp. 22-32, April 1995에 기술되어 있다.
그러나, 범용 프로세서의 연산성능 혹은 메모리 액세스 속도에 비하여, MPEG 표준의 화상데이터의 디컴프레싱 처리의 부하는 과대하며, 종래의 소프트웨어 처리에서는 저품질의 동화상 데이터의 디컴프레싱 처리 혹은 비실시간의 디컴프레싱 처리는 가능한 것으로, 고품질의 동화상 데이터의 실시간 디컴프레싱 처리는 불가능했었다.
[발명의 요약]
본 발명은 상술한 바와 같은 문제점을 감안하여 이루어진 것으로, 소프트웨어 처리를 행하는 범용 마이크로 프로세서와 하드웨어처리를 행하는 주변 회로를 협조 동작시킴으로써, MPEG로 대표되는 화상데이터의 디컴프레싱 처리를 효율적으로 행하는 것이 가능하며, 또한 제조 비용의 면에서도 비교적 저렴한 화상처리장치의 제공을 목적으로 한다.
본 발명에 관련되는 화상처리장치는 단적으로는, 역이산형(逆離散型) 코사인 변환등과 같은 비교적 복잡한 연산을 많이 포함하는 부분은 병렬처리 가능한 고성능 범용 프로세서를 사용하여 소프트웨어로 처리하고, 프레임간 예측부호화 화상의 처리를 위한 다른 프레임 데이터의 판독 등과 같은 비교적 단순한 처리내용이지만 메모리를 빈번하게 액세스하는 처리 및 가변장(可變長:variable length) 부호화 된 화소(pixel)치의 디코드처리 등과 같은 비교적 단순한 연산이지만 병렬화가 본질적으로는 곤란한 처리는 범용의 주변회로를 사용하여 하드웨어로 처리하며, 소프트웨어처리를 행하는 범용 마이크로 프로세서와 하드웨어 처리를 행하는 주변회로를 협조동작시키는 구성을 채택하고 있다.
본 발명의 화상처리장치는, 필요한 처리내의 가변장부호(可變長符號: VLC:Variable Length Code)의 디코드 및 프레임간 예측 데이터의 판독 등과 같은, 대용량의 메모리로부터의 데이터의 판독량이 많지만 연산내용은 비교적 단순한 처리를 VLC 디코더 및 블록로더 등의 전용회로는 하드웨어 처리하고, 역이산형코사인 변환 등과 같은 복잡한 연산을 많이 포함하는 처리를 마이크로 프로세서가 소프트웨어처리 한다.
다시 말하면, 본 발명의 화상처리장치는, 전용 하드웨어와 마이크로 프로세서가 협조하여 파이프라인적으로 화상데이터를 처리하기 위해, 전체의 하드웨어 규모를 억제하는 것이 가능하게 되며, 비교적 저속한 대용량 메모리를 사용해도 처리속도를 고속화하는 것이 가능하게 되며, 따라서 저렴한 값으로 고성능인 화상처리장치가 실현된다.
또, 본 발명의 화상처리장치는, 복잡한 연산처리를 마이크로 프로세서로 소프트웨어 처리하고 있어서, MPEG 표준에 한정되는 일 없이, 다른 화상처리 방식에도 적용 가능하며, 각각의 방식에 대응하여 소프트웨어를 변경함으로써 유연하게 대응하는 것이 가능하게 된다.
[실시예의 설명]
[실시의 형태 1]
(1) 「전체구성」
제1도에 본 발명의 화상처리 장치의 실시형태 1의 하나의 구성예로, 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제1도에 있어서 참조부호 1로 표시되어 있는 부분이 본 발명의 화상처리장치가 구축되어 있는 칩이며, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터 버스(3) 및 어드레스 버스(4) 등을 통해서 접속되어 있다.
본 발명의 화상처리장치는, 1블록이 8×8=64개의 화소로 되며, 1프레임이 90×60=5,400개의 블록으로 된 압축된 화상데이터를 1초간에 30프레임 디컴프레싱 처리하는 MPEG 표준 비디오 데이터와, 그 비디오 데이터에 부속하는 오디오 데이터 및 디코딩 시스템의 동작에 관한 시스템 데이터의 3종류의 데이터를 주로 처리한다.
본 발명의 화상처리장치의 중심이 되는 연산처리부는 제1 마이크로 프로세서(10)과 제2 마이크로 프로세서(11)로서 구성되어 있으며, 이것들의 제1 마이크로 프로세서(10) 및 제2 마이크로 프로세서(11)가 멀티프로세서 수법에 따라서 부하분산을 함으로써, 고효율로 화상데이터를 처리한다.
참조부호 12,13은 제1, 제2 고속메모리를 표시하고 있다.
제1 고속메모리(12)는 버스(24)를 통해서 제1 마이크로 프로세서(10)과, 제2 고속메모리(13)는 버스(25)를 통해서 제2 마이크로 프로세서(11)와 각각 접속되어 있고, 각 마이크로 프로세서(10,11)의 로컬 메모리로써 동작한다.
VLC(Variable Length Code)디코더(14)는, 전술한 64개의 화소로 된 블록의 가변장 부호화된 각 화소 데이터를 64개의 고정장(fixed length) 화소 데이터를 요소로 하는 배열로 디코드하고, 디코드 결과를 내부버스(20)을 통해서 고속메모리(12,13)에 출력한다.
블록로더(15)는, 프레임간 예측기법에 따라서, 차분(differential value) 데이터를 가산하는 대상이 되는 인접 프레임의 블록을 외부메모리(2)에서 판독하여 내부버스(20)를 통해서 고속메모리(12,13)에 출력한다.
또한, VLC 디코더(14) 및 블록로더(15)는 고속메모리(12,13)와 내부버스(20)에 의해 접속되어 있고, 내부버스(20)의 버스 액세스권(bus access right)을 상호 조정하여 고속메모리(12,13)에 데이터를 기록한다.
또한, 내부버스(20)은 어드레스 버스(IA버스)와 데이터 버스(ID 버스)로 구성되어 있다.
제1, 제2 마이크로 프로세서(10,11)에 의해 공통 사용되는 명령 캐쉬(instruction cashe)(16)는, 외부 메모리(2)로부터 외부버스(21)를 통해서 패치(fetch)한 명령을 캐쉬하고, 제1, 제2 마이크로 프로세서(10,11) 각각에 명령을 공급한다.
또, 명령 캐쉬(16)는 제1, 제2 마이크로 프로세서(10,11)에 동일한 명령을 동시에 공급하는 것도, 어느 한편의 마이크로 프로세서(10 또는 11)에만 명령을 공급하는 것도 가능하다.
또한, 외부버스(21)는, 어드레스 버스(EA버스)와 데이터 버스(ED 버스)로 구성되어 있고, 본 발명의 화상처리장치와 외부메모리(2)의 사이를 접속하고 있다.
참조부호 17은 화상표시회로이며, 디컴프레싱 처리가 종료한 화상데이터를 외부버스(21)를 통해서 외부 메모리(2)로부터 판독하고, 버스(28)를 통해서 외부에 출력한다.
참조부호 18은 직렬(serial) 입력회로이며, 외부로부터 직렬 신호선(27)를 통해 입력된 압축화상의 직렬데이터를 병렬(parallel) 데이터로 변환하고, 외부 버스(21)를 통해서 외부 메모리(2)에 기록한다.
따라서, 예컨대 직렬 신호선 (27)은 외부 안테나 혹은 디지털 비디오 디스크(DVD) 재생장치의 출력라인과 접속되어 있고, 버스(28)는 CRT 디스플레이 등의 화상표시장치와 접속되어 있다.
또한, 제1, 제2 마이크로 프로세서(10,11), VLC 디코더(14), 블록로더(15), 명령캐쉬(16), 화상표시회로(17) 및 직렬 입력회로(18)는 외부버스(21)의 버스권을 조정하여 외부 메모리(2)를 액세스한다.
참조부호 19는 외부버스(21)의 어드레스 버스(EA 버스)와 외부 메모리(2)와의 사이에 구비된 DRAM 컨트롤러이며, 외부버스(21)에 출력된 어드레스를 DRAM의 행 어드레스와 열 어드레스로 변환하여 외부 메모리(2)를 액세스하기 위해서 구비되어 있다.
(2) 「마이크로 프로세서」
다음에, 제1, 제2 마이크로 프로세서(10,11)에 대해서 설명하지만, 양자는 동일한 구성을 갖는다.
본 제1의 실시형태에서는, 화상처리 프로그램의 실행 중에 제1 마이크로 프로세서(10)만이 동작하는 기간과, 제2 마이크로 프로세서(11)만이 동작하는 기간과, 양 마이크로 프로세서(10,11)가 동시에 동작하는 기간이 있지만, 양 마이크로 프로세서(10,11)의 명령, 레지스터 구성 및 하드웨어 기능은 기본적으로 동일하므로, 여기서는 제1 마이크로 프로세서(10)에 대해서만 설명하지만, 그 설명은 그대로 제2 마이크로 프로세서(11)에도 적용된다.
(2.1) 「명령세트와 레지스터」
제2도의 모식도에 마이크로 프로세서(10)의 명령포맷을 표시한다.
마이크로 프로세서(10)의 명령포맷에는, 하나의 명령으로 두 개의 연산을 지시하는 2 연산 명령의 포맷(101)과, 하나의 명령으로 한 개의 연산을 지시하는 1 연산명령의 포맷(102)이 있다.
2 연산명령의 포맷(101)에는, 각 1비트의 필드(103) 및 필드(104)로 된 포맷필드와, 두 개의 연산필드(106,107)와, 각 연산필드(106,107)에 한 개씩 부속하는 3비트의 실행조건필드(105)가 포함된다.
또, 1 연산명령의 포맷(102)에는, 각 1비트의 필드(103,104)로 이루어진 포맷필드와, 필드(108, 109)로 이루어진 연산필드와, 한쪽의 연산필드(108)에만 부속하는 3비트의 실행조건필드(105)가 포함된다.
제3도는 포맷필드(103,104)의 내용의 상세한 것을 나타내는 모식도이다. 포맷필드(103,104)의 값 FM이“00”인 경우, 이 명령은 2 연산명령이며, 연산필드(106)에서 지시된 operation-0의 연산이 디코드 직후의 클록 사이클에 실행되며, 연산필드(107)로 지시된 operation-1의 연산이 operation-0의 연산에 대해서 1클록 사이클 지연되어 실행되는 것을 의미한다.
포맷필드(103,104)의 값 FM이“01”인 경우, 이 명령은 2 연산명령이며, 연산필드(107)에서 지시된 operation-0의 연산과 연산필드(107)로 지시된 operation-1의 연산이 디코드 직후의 클록 사이클로 병렬로 실행되는 것을 의미한다.
포맷필드(103,104)의 값 FM이“10”인 경우, 이 명령은 2 연산명령이며, 연산필드(107)로 지시된 operation-1의 연산이 디코드 직후의 클록 사이클로 실행되며, 연산필드(106)로 지시된 operation-0의 연산이 operation-1의 연산에 대해서 1클록 사이클 지연되어 실행되는 것을 의미한다.
포맷필드(103,104)의 값 FM“11”인 경우, 이 명령은 1 연산명령이며, 필드(108,109)로 이루어진 연산필드에서 지시된 하나의 연산이 디코드 된 직후의 클록 사이클에 실행되는 것을 의미한다.
제4도는 실행조건 필드(105)의 내용의 상세한 것을 나타내는 모식도이다. 실행조건필드(105)는, 후술하는 마이크로 프로세서(10)의 상태플래그 FO 및 FI의 값에 의존하여, 연산필드(106,107)로 각각 표시된 operation-0의 연산 및 operation-1의 연산, 더욱이 연산필드(108,109)로 표시된 연산이 유효하냐 무효냐를 정한다.
여기에서, 연산이 유효하다는 것은, 연산결과가 레지스터, 메모리, 플래그에 반영되고, 그 연산에 의해 정의된 동작결과가 남는 것을 의미한다.
또, 연산이 무효라고 하는 것은, 연산결과가 레지스터, 메모리, 플래그에 반영되지 않고, 정해진 연산의 종류에 관계없이 그 연산에 의해 무효연산(NOP:no operati0n)과 같은 결과가 레지스터 혹은 플래그에 남는 것을 의미한다.
실행조건 필드(105)의 값 CC이“000”인 경우, 연산은 플래그 FO, F1의 값에 관계없이 항상 유효하다.
실행조건 필드(105)의 값 CC이“001”인 경우, 연산은 F1의 값에는 무관하게 FO가“10”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“010”인 경우, 연산은 FO가“10”이며, 또한 F1이 “10”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“011”인 경우, 연산은 FO가“10”이며, 또한 F1이 또한 F1“11”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“101”인 경우, 연산은 F1의 값에 관계없이 “FO”가“11”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“110”인 경우, 연산은 FO가“11”이며 또한 F1이“10”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“111”인 경우, 연산 FO가“11”이며 또한 F1이“11”인 경우에만 유효하다.
실행조건 필드(105)의 값 CC이“100”인 경우의 동작은 미정의이며, 이 값은 명령으로 사용하는 일은 없다.
제5도는 28비트로 표현되는 단형(短型)의 연산필드(106,107)과 58비트로 표현되는 장형(長型)의 연산필드(108,109로 구성)의 비트 구성예를 나타내는 모식도이다.
단형의 연산필드에는 3종류의 포맷(111,112,113)이 있고, 장형의 연산필드에는 1종류의 포맷(114)만 있다.
포맷(111)은 연산내용을 지정하는 필드(115,117)와, 레지스터 번호 또는 6비트의 순간치(immediate value)를 지정하는 필드(121)와, 레지스터의 번호를 지정하는 두 개의 필드(122,123)로 구성된다.
이 포맷(111)은 연산에는, 레지스터와 순간치의 산술연산, 논리연산, 시프트연산, 비트연산, 혹은 레지스터의 간접 어드레싱을 위한 메모리 액세스연산, 점프연산등이 포함된다.
포맷(112)는 16비트 길이의 데이터의 레지스터간 연산을 위한 포맷이며, 연산내용을 지정하는 필드(116)과, 레지스터의 번호를 지정하는 3개의 필드(122,123,124)와, 각 레지스터 번호 수식정보(118,120)으로 구성된다.
마이크로 프로세서(10)는 후술하는 바와 같이 32비트 길이의 범용 레지스터를 64개 구비하고 있다(제6도 참조).
16비트 데이터는 각 범용 레지스터의 상위측 또는 하위측의 16비트에 격납 된다.
이 때문에, 레지스터상의 16비트 길이의 오퍼랜드위치를 특정하기 위해 레지스터 번호와 상위 또는 하위의 격납위치를 나타내는 1비트 수식정보가 각각 필요하게 된다.
레지스터 번호 수식정보(118,120)은 합계 3비트의 필드이며, 이 때문에 사용된다.
이 포맷(112)는 16비트로 표현되는 화상데이터를 다루는 연산에서 많이 사용된다.
포맷(113)은 분기명령을 위한 포맷이며, 연산내용을 지정하는 필드(115,117)와, 분기(分岐) 변위의 필드(125)로 구성된다.
이 포맷(113)의 연산에는 분기명령과 서브루틴 분기명령이 포함된다.
포맷(114)은 32비트 길이의 분기변위 또는 순간치를 필요로 하는 연산을 위한 포맷이며, 연산내용을 지정하는 필드(115)와, 3개의 레지스터의 번호를 지정하는 필드(122,123,124)와, 분기변위 또는 순간치를 지정하는 필드(126)로 구성된다.
이 포맷(114)의 연산에는 복잡한 산술연산, 큰 순간치를 사용하는 산술연산, 큰 변위를 가지는 레지스터의 간접 어드레싱에 의한 메모리 액세스 연산, 큰 분기변위의 분기연산, 절대번지로의 점프연산 등이 포함된다.
제6도는 마이크로 프로세서(10)의 레지스터 구성예를 나타내는 모식도이다.
마이크로 프로세서(10)에는 R0 내지 R63까지의 64개의 32비트 길이의 범용 레지스터(130)과, 6개의 32비트 길이의 제어 레지스터(140)과, 2개의 64비트 길이의 누산기(accumulator)(136)가 구비되어 있다.
제어 레지스터(140)에는, 프로세서 상태어(PSW)(134)와, 프로그램 카운터(PC)(135)와, 그 외의 각종의 전용 레지스터가 포함된다.
포맷(112)의 연산에서는 64개의 범용 레지스터(130)의 각각의 상위 16비트와 하위 16비트를 별도로 액세스 가능하다.
또, 2개의 누산기(136)는 각각 상위 32비트와 하위 32비트를 별도로 액세스 가능하다.
범용레지스터(R0)(131)은 그 내용이 판독되었을 경우에는 항상“0”이며, 기록은 무시된다.
범용레지스터(R63)은 스택포인터(SP)이며, PSW(134)의 SM필드의 값에 의존하여 유저 스택포인터(SPU)(132) 또는 인터럽트 스택포인터(SPI)(133)의 어느것인가 동작한다.
제7도는 PSW(134)의 상세한 내용을 나타내는 모식도이다.
PSW(134)의 상위 16비트의 필드(142)에는, 스택포인터를 전환하는 SM필드(142)에는, 스택포인터를 전환하는 SM필드, 어드레스 변환동작의 유무를 제어하는 AT 필드, 디버그 기구의 동작을 제어하는 DB 필드, 외부 인터럽트의 받아들이는 동작을 제어하는 IMASK 필드가 포함된다.
하위 16비트의 필드(143)는 플래그 필드이다.
플래그 필드(143)에는 8개의 플래그가 있고, 그 안에 FO 플래그(144)와 F1 플래그(145)는 연산의 유효/무효를 제어한다.
각 플래그의 값은 비교연산 혹은 산술연산의 결과에 의존하여 변화하는 외에, 플래그 초기화연산으로 초기화되는 경우, 혹은 플래그 값 기록연산으로 임의의 값을 플래그 필드(143)에 기록함으로써 변화하는 경우가 있다.
또, 플래그 값 판독연산으로 플래그 필드(143)의 값을 판독하는 것도 가능하다.
(2.2) 「하드웨어 구성」
본 발명의 화상처리장치의 실시형태 1의 마이크로 프로세서(10)의 전체의 구성예를 제8도의 블록도에 표시한다.
제8도에서, 참조부호(163)는 마이크로 프로세서(10)를 외부 버스(21), 명령 캐쉬(16) 및 고속메모리(12)와 접속하는 버스 인터페이스부 이다.
버스 인터페이스부(163)은 마이크로 프로세서(10)의 내부에서는, IA버스 및 BD 버스를 통해서 명령 패치부(161)와, 또 OA 버스 및 BD 버스를 통해서 오퍼랜드액세스부(162)와 각각 접속하고 있다.
명령 패치부(161)는, 명령을 버스 인터페이스부(163)를 통해서 명령캐쉬(16) 혹은 외부 메모리(2)로부터 패치하고, 64비트의 II버스를 경유하여 명령맵퍼(mapper)(150)에 보낸다.
또, 오퍼랜드 액세스부(162)는, 데이터를 버스 인터페이스부(163)를 통해서 고속메모리(12) 또는 외부 메모리(2)로부터 패치하여 메모리 액세스부(159)에 보내고, 혹은 메모리 액세스부(159)로부터 보내온 데이터를 버스 인터페이스부(163)를 통해서 고속메모리(12) 또는 외부메모리(2)에 기록한다.
명령맵퍼(150)는 명령패치부(161)로부터 보내온 64비트의 명령을 그것에 포함되는 포맷필드(103,104)(제1도, 제3도 참조)에 따라서 연산필드로 분해하고, 지정된 순서로 명령 디코더(170)에 전송한다.
이때, 명령맵퍼(150)는 연산의 종류에 따라서 각 연산필드를 4개의 디코더(151,152,153,154)중에서 대응하는 디코더에 재배치하여 전송한다.
명령디코더(170)는, 점프연산, 분기연산의 연산코드를 디코드하는 디코더인 PCD(151)와, 산술연산, 쉬프트연산등의 범용 레지스터에 있는 오퍼랜드에 관한 연산의 연산코드를 디코드하는 디코더인 IAD(152) 및 IBD(153)와, 메모리 액세스연산의 연산코드를 디코드하는 디코더인 MD(154)로서 구성된다.
이들 디코더(151,152,153,154)에 의한 디코드 결과는 제어회로(155)에 제공된다.
제어회로(155)에는 PSW(134)가 포함되어 있고, 명령디코더(170)의 각 디코더에 의한 디코드 결과와 PSW(134)의 내용에 따라 연산부(180)를 제어한다. 연산부(180)는 명령 디코더(170)의 4개의 디코더(151,152,153,154)에 대응하여 PC(156)와, 2부분으로 된 정수 연산부(160)와, 메모리 액세스부(159)와의 계 4블록으로 구성된다.
PC부(156)에는 전술한 프로그램카운터(135)(제6도) 혹은 도시되어 있지 않은 가산기가 구비되어 있다.
PC부(156)는, 유효한 점프연산 또는 분기연산을 포함하지 않은 명령이 실행되었을 경우에는, 그 명령의 PC치에“8”을 더해줌으로써 다음에 실행해야할 명령의 PC치를 계산하고, 점프연산 혹은 분기연산이 실행되었을 경우에는, 그 명령의 PC치에 분기변위를 가산하든가, 또는 연산으로 지정된 어드레스 모드에 따르는 계산을 행함으로써 점프선 명령의 PC치를 계산한다.
정수 연산부(160)에는 전술한 7포토의 범용 레지스터(140) 및 누산기(130)와(제6도 참조), 후술하는 배럴쉬프터(barrel shifter), ALU 및 승산기가 구비되어 있고(제9도 참조), 정수연산을 병렬로 실행하는 2개의 정수연산 기구인 IA부(157)과 IB부(158)로서 구성되어 있다.
또한, PC부(156)과 정수연산부(160)의 IA부(157)및 IB부(158)은 각각 다른 것과 독립으로 동작하지만, 필요에 응해서 S 버스, D 버스를 경유하여 상호 데이터를 송수신하는 경우도 있다.
메모리액세스부(159)는 정수연산부(160)의 IA부(157)또는 IB부(158)와 협조하여 동작하고, 오퍼랜드 액세스부(162)와의 사이에서 데이터를 송수신한다. 또한, 연산부(180)와 명령패치부(161) 혹은 오퍼랜드 액세스부(162)와의 사이는 JA버스, AA버스 및 DD버스로 결합되어 있고, 각각 연산부(180)와 명령어드레스 및 데이터를 송수신한다.
제9도는 정수연산부(160)의 상세한 구성예를 나타내는 블록도이며, 정수연산부(160)와 메모리 엑세스부(159)와의 사이의 접속관계가 겸해서 표시되어 있다.
정수연산부(160)는, 레지스터 파일(166)과 2개의 연산부(167,168)로서 구성되어 있다.
레지스트 파일(166)에는 전술한 제6도에 표시되어 있는 범용 레지스터(130), 제어레지스터(140) 및 누산기(136)가 포함되어 있으며, IA부(157)와 IB부(158)로서 공유된다.
또, 연산부(167)는 IA부(157)에, 연산부(168)은 IB부(158)에 각각 포함된다. 환언하면, IA부(157)는 연산부(167)와 레지스트 파일(166)로서, IB부(158)는 연산부(168)와 레지스트 파일(166)로서 각각 구성되어 있다.
레지스트 파일(166)내의 범용 레지스터(130)와 연산부(167,168)은 각각 3개의 버스로 결합되어 있고, 독립으로 2개의 연산이 실행가능하게 구성되어 있다.
또, 범용 레지스터(130)는 한 개의 버스로 메모리액세스부(159)와 결합하고 있다.
연산부(167)에는 ALU(167A), 배럴쉬프터(167B) 및 승산기(167M)가, 연산부(168)에는 ALU(168A), 배럴쉬프터(168B) 및 승산기(168M)가 각각 구비되어 있다.
또, 도시하지 않았지만, 누산기(136)의 하나는 연산부(167)에, 또 하나가 연산부(168)에 구비되어 있고, 각각 승산기(167M,168M)에 의해 승산의 결과를 축적가산 또는 축적감산하여 유지한다.
(3) 「블록로더」
제10도는 블록로더(15)의 상세한 구성예를 나타내는 블록도 이다.
제10도에서, 참조부호(171)는 입력 데이터 큐를 표시하고 있다.
입력 데이터 큐(Queue)(171)은 외부메모리(2)로부터 8바이트 또는 9바이트의 데이터를 배열된 4바이트마다 읽어 버퍼링하고, 1바이트마다 출력한다.
단, 입력 데이터 큐(171)가 외부 메모리(2)로부터 1회 읽어내는 데이터의 길이는 그 데이터의 선두번지가 4바이트 경계에 대해서 어떤 위치에 있느냐에 달려 있다.
참조번호 172는 래치이며, 입력 데이터 큐(171)로부터 현재 출력되어 있는 데이터의 1회 전에 출력된 1바이트의 데이터를 유지한다.
참조부호 173은 오프셋 어드레스 격납용의 레지스터(off set)이며, 8×8의 화소데이터를 블록단위로 외부 메모리(2)로부터 로드하기 때문에, 제 n행의 화소데이터 읽은 후에 제(n+1)행의 화소데이터를 읽기 위해 필요한 오프셋 어드레스를 격납한다.
참조부호 174는, 고속메모리(12,13)에 화소데이터를 기록할때의 어드레스를 유지하기 위한 레지스터(IAR)이며, 4어드레스 단위의 증가기능을 갖는다. 이 레지스터(174)가 유지하는 어드레스는 내부버스(20)의 IA 버스에 출력된다.
참조부호 175는, 외부메모리(2)로부터 화소데이터를 판독할때의 어드레스를 유지하기 위한 레지스터(EAR)이며, 4어드레스 단위의 증가기능을 갖는다. 이 레지스터(175)가 유지하는 어드레스는 외부버스(21)의 EA 버스에 출력된다.
참조부호 176은 가산기이며, 입력 데이터 큐(171)로부터 출력되어 있는 데이터와 래치(172)에 유지되어 있는 데이터를 가산하여 출력데이터 큐(177)에 기록하든가, 또는 레지스터(173,175)의 값을 가산하여 레지스터(175)에 기록하는 동작을 행한다.
출력데이터 큐(177)는, 가산기(176)로부터 출력되는 2개의 16비트 데이터를 버퍼링하여 4바이트마다 고속메모리(12,13)에 출력한다.
또한, 상술한 입력 데이터 큐(171), 레지스터(173,174,175)는 외부버스(21)의 ED 버스로부터의 입력경로를 갖는다.
입력 데이터 큐(171), 래치(172), 레지스터(173,175)는 가산기(176)에의 출력 경로를 갖는다.
또한, 입력 데이터 큐(171)은 래치(172)에의 출력도 갖는다.
더욱이, 가산기(176)은 레지스터(175) 및 출력데이터 큐(177)에의 출력경로를 갖는다.
그런데, MPEG 표준의 동화상 처리에서는, 프레임간 예측 데이터로서 다른 프레임의 정수 화소단위의 데이터를 다루는 경우와, 반화소단위(半畵素單位)의 데이터를 다루는 경우가 있다.
정수화소단위의 데이터를 다루는 경우는, 입력 데이터 큐(171)로부터 출력되어 있는 데이터와 래치(172)로 유지되어 있는 데이터를 가산기(176)로 가산하는 처리는 불필요하며, 입력 데이터 큐(171)로부터 출력되어 있는 8비트의 데이터가 가산기(176)에 의해 16비트에 제로로 확장되어 출력데이터 큐(177)에 기록된다.
한편, 반화소단위의 데이터를 다루는 경우는, 입력 데이터 큐(171)로부터 출력되어 있는 8비트의 화소치와 래치(172)로부터 출력되어 있는 8비트의 화소치가 가산기(176)으로 가산되어서 인접 2화소치의 합으로서 16비트의 데이터가 출력데이터 큐(177)에 기록된다.
이 때문에, 블록로더(15)내에서는 예측 데이터의 1화소가 상시 16비트로 표현되며, 출력데이터 큐(177)은 예측 데이터가 반화소단위의 데이터인가, 또는 정수화소단위의 데이터인가에 불구하고, 항상 1화소가 16비트이며 또한 블록의 각행이 8개의 데이터로 구성되는 데이터를 고속메모리(12) 또는 (13)에 기록한다.
(4) 「MPEG 표준의 동화상 데이터 처리예」
이하에 본 발명의 화상처리장치에 의한 동화상 데이터처리에 대해서 설명하지만, 그에 앞서, MPEG 표준의 동화상 데이터의 처리(원화상의 압축부호화처리 및 그 재생을 위한 디컴프레싱 처리)의 개요에 대해서 설명한다.
(4.1) 「MPEG 표준의 동화상 데이터 처리의 개요」
본 발명의 화상처리장치는 동화상을 압축부호화하여 얻어진 부호화데이터를 디컴프레싱 처리하는 장치이며, 부호화데이터는 기본적으로는 외부로부터 시리얼신호선(27)를 통해서 입력된다.
이와 같은 동화상 데이터의 압축부호화 수법으로서는, 주로 이하의 3종류의 수법이 이용된다.
제1은 화면내 상관에 의한 압축이며, 동일 프레임내의 각 화소간의 상관관계가 이용된다.
제2는 화면간 상관관계에 의한 압축이며, 프레임간의 대응하는 화소의 데이터의 차분이 이용된다.
프레임간에서 대응하는 화소상호의 차분의 데이터는 압축전 데이터(raw data)에 비하여 불균형이 극히 작게 된다.
제3은 부호의 출현확율의 기수분포(uneven distribution)에 의한 압축이며, 가변장부호(VLC:Variable Legth Code)가 이용된다.
이것은, 제2의 요소에 의해 구하여진 차분의 데이터(코드)를 대상으로 하여 행하여지며, 구체적으로는 출현확율이 높은 데이터의 코드에 대해서 짧은 비트길이의 코드를 할당 출연확율이 낮인 데이터의 코드에 대해서는 긴 비트길이의 코드를 할당함으로써, 데이터량을 압축한다.
먼제, 제1의 화면내 상관관계를 이용하는 수법에 대해서 설명한다.
예를 들면 352×288 화소로 구성되는 1프레임의 원화상을, 제11(a)도에 표시되는 바와 같이 각각이 8×8=64 화소의 블록으로 분할하고, 그 하나를 빼낸다.
또한, 64개의 화소는 a1∼a64로서 표시되어 있고, 각각의 화소치는 이 시점에서는 랜덤이다.
그리고, 이 제11(a)도에 표시되어 있는 8×8=64 화소의 블록에 대해서 화면내 상관관계에 의한 압축이 행하여진다.
구체적으로는, 제11(a)도에 표시되어 있는 원화상을 먼저 DCT(Discrete Cosine Transform:이산코사인변환) 변환한다.
자연화상은 일반적으로, 어느 정방형의 영역에 대해서 소위 직교변환처리를 행하면, 영역전체가 한결같은 화소치를 가지는 평균적인 화상으로부터 시작하여 서서히 섬세한 화상으로 차례로 분해된다.
이렇게 얻어진 섬세성이 다른 복수의 화상내에서 보다 섬세한 것을 주파수가 높다고 한다.
따라서, 자연화상은 저주파수항(項)(평균적인 화상)에서 차례로 고주파수항에로 분해된 복수의 화상을 겹쳐서 표현되어 있는 것으로 된다.
상술한 바와 같은 직교변환의 일종으로서, MPEG 표준에서는 전술한 DCT를 채용하고 있다.
이와 같은 DCT 변환이 행해진 후의 화상은, 변환전에는 랜덤으로 분포하고 있던 화소값이 변환후에는 저주파수측의 항(項)에 큰 값이 집중한다는 특성이 있다.
따라서, 그와 같은 DCT 변환후의 화상데이터로부터 고주파수항을 제외하면 데이터를 압축하는 것이 가능하다.
구체적으로는, 제11(a)도에 표시되어 있는 원화상을 DCT 변환하면 제11(b)도에 표시되는 것과 같은, 각각의 화소의 계수 b1∼b64가 저주파수항에서 고주파수항으로 지그재그상으로 배열된 화상데이터가 구하여진다.
다음에, DCT 변환에 의해 얻어진 화상데이터의 개개 화소의 계수를 어떤 제수(除數)D로 나누고 나머지를 버리는 것에 의해 양자화함으로써, 1프레임의 화상데이터가 압축된다.
구체적으로는, 제11(b)도에 표시되어 있는 DCT 변환후의 화상데이터를 양자화하면, 전술한 바와 같이 각각의 화소의 계수 b1∼b64가 저주파수항측으로부터 고주파수측에 지그재그로 배열되어 있어서, 어떤 제수 D로 나누고, 나머지를 버리면, 제11(c)도에 표시되는 바와 같이, 각 화소의 몫으로서는 저주파수항측의 c1∼c5까지만이 구해져, 다른 화소의 몫(商)은 모두 “0”가 되는 화상데이터가 구해진다.
이 제11(c)도에 표시되어 있는 양자화후의 화상데이터내의 값이 “0”인 화소의 데이터를 압축할 수 있다.
이와 같이 압축된 화상데이터는, 상술한 바와 역처리를 행함으로써, 즉 먼저 제11(c)도에 표시되어 있는 화상데이터에 양자화시의 제수 D를 곱셈함으로써, 제12(a)도에 표시되어 있는 것과 같은, 각 화소의 계수 b'1∼b'5가 복원된 역양자화 화상데이터가 구하여진다.
다음에, 이 역양자화 화상데이터를 역 DCT 변환하면 제12(b)도에 표시되어 있는 바와 같은, 각 화소치가 a'1∼a'64로 표시되는 거의 원화상에 가까운 재생화상이 얻어진다.
다음에, 화면간 상관관계를 이용한 제2의 압축수법에 대해서 설명한다. 화상이 전혀 별개의 화상으로 전환하는 경우는 별도로 하고, 일반적으로는 시계열상에서 인접하는 프레임간에서 대응하는 화소상호의 차분의 데이터는 압축전 데이터(raw data)에 비교하여 변동이 대단히 작아진다.
따라서, 1프레임전의 각 화소의 데이터와의 차분의 데이터를 상술한 화면내 상관관계를 이용한 압축수법에 이용하면 더욱 압축효율이 향상한다.
또한, 그와 같은 차분데이터를 이하에 설명하는 제3의 수법인 VLC(variable length codes)를 이용하여 표현하면 보다 더 압축이 가능하게 된다.
제3의 압축수법은 부호의 출현확율의 기수 분포(uneven distribution)에 의한 압축이며, VLC(variable length codes)가 이용된다.
MPEG 표준에서는, 주로 상술한 3종류의 데이터 압축수법을 이용하여 동화상압축을 행함으로써 가변장부호(VLC)를 생성하며, 이 가변장부호(VLC)를 송신하거나, 혹은 기록매체에 기록한다.
따라서, 그와 같은 데이터의 재생, 다시 말하면 압축부호화데이터를 디컴프레싱 처리하는데는 상술한 처리와는 역의 처리, 즉 가변장부호화된 압축부호화데이터를 디코드하는 가변장부호의 디코드(복호)처리, 프레임간에서 대응하는 화소간의 데이터에의 차분의 가산, 양자화시의 제수(除數)를 곱셈함으로써 역양자화처리, 역양자화처리에 의해 얻은 데이터의 역 DCT 변환 등이 필요하며, 그 처리를 행함으로써, 거의 원화상에 가까운 재생화상이 얻어진다.
(4.2) 「본 발명의 화상처리장치에 의한 동화상 데이터 처리예」
MPEG 표준으로 다루어지는 부호화데이터는 크게 나누어서, 디코드 시스템의 동작에 관한 시스템 데이터와, 비디오에 관여하는 비디오 데이터와, 오디오에 관여하는 오디오 데이터와의 3종류이다.
따라서, MPEG 표준데이터를 모두 디코드하는 디코드 시스템에서는 이들의 3종류의 데이터의 모두를 디코드할 필요가 있다.
그런데, 이것들의 3종류의 데이터를 디코드처리하는 경우의 부하를 비교하면 비디오 데이터의 디코드처리의 부하가 대단히 크고, 다른 2종류의 데이터의 디코드처리의 부하는 비디오 데이터의 디코드의 부하에 비하여 대단히 작다.
또, 비디오 데이터에는, 8×8 화소단위의 블록데이터인 본래의 화상데이터와, 각 블록단위의 데이터의 수식정보 및 복수의 블록데이터로 하나의 프레임데이터를 구성하기 위한 수식정보 등의 부가데이터가 포함된다.
그리고, 부가데이터의 디코드처리의 부하는 블록데이터의 디코드 처리에 비하여 대단히 작다.
따라서, 본 발명의 화상처리장치의 실시의 형태1에서는, 블록데이터 이외의 데이터의 디코드처리는 제1, 제2 마이크로 프로세서(10,11)에 의해 소프트웨어 처리만으로 대처하도록 구성되어 있다.
또한, 8×8 화소단위의 블록데이터의 디코드처리는 제13도의 플로차트에 표시되어 있는 알고리즘에 따라서 제1, 제2 마이크로 프로세서(10,11)와 그 주변회로가 협조하여 행한다.
이하, 제13도의 플로차트에 표시되어 있는 처리의 흐름을 상세히 설명한다.
예를 들면, 외부 안테나에 의해 수신된 VLC에 보호화된 입력블록데이터는 직렬 신호선(27)으로부터 본 발명의 화상처리장치의 칩(1)에 직렬 입력되며, 직렬 입력회로(18)에 의해 32비트 단위의 병렬 데이터로 변환되며, 더욱이 외부버스(21)를 통해서 외부메모리(2)에 기록되어 버퍼링 된다(스텝S11).
다음에, 외부메모리(2)에 기록되어 있는 데이터를 VLC 디코더(14)가 버스(21)를 통해서 읽고(스텝 S12), 1화소가 8비트의 고정장 데이터에 디코드한다(스텝S13).
이 VLC 디코더(14)에 의한 디코드 결과내의 제1 마이크로 프로세서(10)이 처리하는 블록의 데이터는 고속메모리(12)에, 제2 마이크로 프로세서(11)이 처리하는 블록의 데이터는 고속메모리(13)에 각각 기록된다.
이렇게 해서 고정장데이터에 디코드된 블록단위의 화소데이터는 제1 마이크로 프로세서(10)에 의해 제1 고속 메모리(12)로부터, 제2 마이크로 프로세서(11)에 의해 제2 고속메모리(13)로부터 각각 판독되어서 양 마이크로 프로세서(10,11)에서 각각 역양자화처리(스텝S14)가 병렬로 행하여진다.
스텝S14에서의 역양자화처리에서는 각 화소데이터에 2개의 수가 곱해짐으로써, 인덱스 값이 지그재그순으로 부여된 매트릭스의 블록이 n행×m렬의 화소가 인덱스 값(8n+m)이 되는 표준적인 인덱스순의 매트릭스의 블록으로 변환된다.
역양자화된 블록단위의 화소데이터는, 제1, 제2 마이크로 프로세서(10,11)의 범용레지스터(130)내에 각각 유지되며, 다음에 행해지는 스텝S15에서의 역 DCT 처리시 사용된다.
이 스텝S15에서의 역DCT 처리에서는, 제1, 제2 마이크로 프로세서(10,11)이 각각 담당하는 8×8 화소로된 2차원의 블록이 8점의 1차원역 DCT 고속알고리즘을 사용하여 고속으로 변환처리된다.
또한, 1차원 고속역 DCT 알고리즘에 대해서는 예컨대 문헌 C.Loeffler, A. Ligtenberg, and G. Moschytz:“Prctucak Fast I-DCT Algorithms with 11 Multiplications,”Proc. Int l Conf. on Acoustics, Speech, and Signal Processing 1989(ICASSP 89),pp. 988-991.에 상세한 기술이 있다.
다음에, 역DCT 처리된 화소데이터에 대해서는 예측 데이터와의 가산을 행하는냐 아니냐가 볼록의 수식정보에 따라서 결정된다(스텝S16).
이 판단은, 현재 처리하고 있는 블록의 데이터가 인접 프레임과의 차분데이터인가 아닌가에 따른다.
구체적으로는, 현재 처리하고 있는 블록의 데이터가 인접 프레임과의 차분데이터인 경우에는 예측 데이터와의 가산을 행할 필요가 있다.
스텝S16에서 예측 데이터와의 가산을 행한다고 결정되었을 경우, 블록로더(15)는 외부메모리(2)로부터 인접프레임의 예측대상블록의 데이터를 판독하고(스텝S17), 제1 고속메모리(12)에는 제1 마이크로 프로세서(10)가 사용하는 예측대상 블록의 데이터를, 제2 고속메모리(13)에는 제2 마이크로 프로세서(11)가 사용하는 예측대상블록의 데이터를 각각 기록한다.
또한, MPEG 표준의 동화데이터에서는 예측 데이터와의 가산의 필요성은 블록데이터 6개마다에 부가되는 수식정보에 의해 표시된다.
이 때문에, 블록로더(15)에 의한 예측대상 블록데이터의 읽기는 제13도에 표시되고 있는 각 블록데이터의 디코드 처리개시와 동시에 시작할 수 있다. 따라서, 제1, 제2 마이크로 프로세서(10,11)에 의한 스텝S14에서의 역양자호처리와 스텝S15에서의 역DCT처리가 행하여지는 사이에, 블록로더(15)에 의한 스텝S17에서의 예측 데이터의 읽기처리가 병렬로 실행가능하다.
다음에, 제1, 제2 마이크로 프로세서(10,11)가 각각 제1, 제2 고속메모리(12,13)으로부터 예측 데이터를 판독하고, 각각의 역DCT 처리후의 데이터와 가산하고(스텝S18), 가산결과를 디코드한 데이터로서 외부메모리(2)에 기록한다(스텝S19).
또한, 전술한 스텝S16의 처리에 있어서 예측 데이터와의 가산을 하지 않은 다고 결정되었을 경우는, 상술한 스텝S19에 직접 처리가 진행된다.
이 경우, 제1, 제2 마이크로 프로세서(10,11)은 각각의 역DCT 처리된 화소데이터를 그대로 디코드처리된 데이터로서, 외부메모리(2)에 기록한다.
제1, 제2 마이크로 프로세서(10,11)에 의한 역양자화처리(스텝S14), 역DCT 처리(스텝S15) 및 예측 데이터와의 가산처리(스텝S18)에서는, 양 마이크로 프로세서(10,11)가 다루는 볼록데이터는 다르지만 처리내용은 거의 동일하기 때문에, 양 마이크로 프로세서(10,11)이 명령 캐쉬(16)로부터 입력된 동일한 명령을 병렬로 실행함으로써 처리가능하다.
디코드된 데이터의 외부메모리(2)에의 기록처리(스텝S19)에서는 양 마이크로 프로세서(10,11)이 공히 외부버스(21)를 통해서 외부메모리(2)에의 데이터의 기록을 행하기 때문에, 양 마이크로 프로세서(10,11)는 달리하는 시간에 외부메모리(2)를 액세스한다.
외부메모리(2)에 기록된 디코드된 데이터는 프레임단위로 화상표시회로(17)에 의해 판독되고, 버스(28)를 통해서 외부에 출력된다(스텝S20).
따라서, 버스(28)가 화상표시장치의 입력라인에 접속되어 있으면, 화상표시 장치에 동화상이 표시된다.
이상과 같은 제13도에 표시되어 있는 처리내의 스텝S11의 처리는 직렬입력회로에 의해 행하여진다.
스텝S12 및 스텝S13의 처리는 VLC 디코더(14)에 의해 행하여진다.
스텝S17의 처리는 블록로더(15)에 의해 행하여진다.
스텝S14,S15,16,18 및 19의 처리는 마이크로 프로세서(10,11)에 의해 행하여진다.
스텝S20의 처리는 화상표시회로(17)에 의해 행하여진다.
MPEG 표준의 동화상 처리에서는 1프레임당, 각각이 64화소로 구성되는 5,400개의 블록데이터를 처리하기 위해, 직렬 입력회로(18), VLC 디코더(14), 블록로더(15), 마이크로 프로세서(10,11)의 4종류의 하드웨어가 병렬로 동작하여 파이프라인 처리의 원리에 근거해서 다수의 블록 데이터를 차례차례로 처리한다.
또, 양 마이크로 프로세서(10,11)로 행하여지는 스텝S14∼스텝S16,스텝S18,스텝S19의 처리사이에는 각각의 처리간의 블록데이터의 받고내주기가 범용레지스터(130)을 통해서 행하여지며 도중의 연산결과를 메모리로 기록할 필요없이 처리가 진행된다.
(5) 「효과」
이상에서 자세히 기술한 실시의 형태1에서는, 본 발명의 화상처리장치를 구성하는 4개의 하드웨어, 즉 VLC 디코더(14), 블록로더(15) 및 2개의 마이크로 프로세서(10,11)가 협조동작하여 동화상 데이터를 처리하기 때문에, 고속인 화상처리가 행하여진다.
구체적으로는, 외부메모리(2)로부터의 데이터의 판독량이 많고, 또한 병렬처리가 곤란한 VLC의 디코더처리를 VLC 디코더(14)가 담당하여 하드웨어처리하고, 또 외부메모리(2)로부터의 데이터 판독량이 대단히 많은 예측 데이터의 판독처리를 블록로더(15)가 담당하여 하드웨어 처리하고, 복잡은 하지만 병렬 연산이 가능한 데이터전환처리를 2개의 마이크로 프로세서(10,11)가 담당하여 소프트웨어 처리한다.
또, 상술한 실시의 형태 1에서는, 제10도에 표시하고 있는 것과 같이 블록로더(15)는 가산기(176)를 구비함으로써 화소데이터의 가산기능을 가지고 있다.
이 때문에 반화소단위의 예측 데이터를 블록로더(15)가 외부메모리(2)로부터 판독처리를 행할 때는, 외부 메모리(2)로부터 판독된 각 행이 9개의 요소로 된 블록데이터의 인접요소간의 가산을 행하여 각 행이 8개의 효소로 되는 블록데이터로 변환하므로, 반화소단위의 예측 데이터를 처리하는 경우에도 VLC 디코더(14), 블록로더(15) 및 2개의 마이크로 프로세서(10,11)이 고속으로 효율있는 화상처리를 행하는 것이 가능하게 된다.
또, 상술한 실시의 형태 1에서는, VLC 디코더(14) 및 블록로더(15)와 2개의 마이크로 프로세서(10,11) 각각과의 사이에는 중간처리 데이터를 버퍼링하는 고속메모리(12,13)가 구비되어 있다.
이 때문에, VLC 디코더(14)와 블록로더(15)가 공통의 고속메모리(12,13)에 2개의 마이크로 프로세서(10,11)가 장래 필요로 하는 각각의 데이터를 사전에 기록해두는 것이 가능하다.
따라서, 양 마이크로 프로세서(10,11)는 필요로 하는 데이터를 필요로 하는 시점에서 고속메모리(12,13)로부터 각각 고속으로 판독하는 것이 가능하다. 또, 상술한 실시의 형태 1에서는, 제10도에 표시되어 있는 바와 같이, 블록로더(15)는, 입력데이터 큐(171)로부터 출력되어 있는 8비트의 데이터가 가산기(176)에 의해 16비트로 제로 확장되어 출력데이터 큐(177)에 기록된다는 화소데이터의 제로 확장기능을 갖는다.
따라서, 정수 화소단위의 예측 데이터를 블록로더(15)가 외부메모리(2)로부터 판독처리를 행하는 경우에는, 외부메모리(2)로부터 판독된 각 요소가 8개의 요소로 된 블록데이터의 각 요소가 16비트에 제로 확장됨으로써 16비트의 요소 8개로 변환되어서 고속 메모리(12,13)에 기록된다.
또, 반화소단위의 예측 데이터를 블록로더(15)가 외부메모리(2)로부터 판독처리를 행하는 경우에는, 외부메모리(2)로부터 판독된 각 요소가 8비트로 각 요소로 된 블록데이터의 입접요소간의 가산이 행해져 16비트의 요소 8개로 변환되어 고속 메모리(12,13)에 기록된다.
이 때문에, 양 마이크로 프로세서(10,11)는 정수화소 단위의 예측 데이터를 처리하는 경우와 반화소단위의 예측 데이터를 처리하는 경우로서 각각 동일 포맷의 데이터를 고속메모리(12,13)로부터 판독하여 처리하기로 되어 있어, 고속 또한 고효율적으로 화상처리를 행할 수 있다.
또, 상술한 제1의 형태에서는, 양 마이크로 프로세서(10,11)이 공통의 명령캐쉬(16)로부터 동일한 명령을 병렬로 판독하여 화상처리 프로그램을 실행한다.
이 때문에, 2개의 마이크로 프로세서(10,11)가 화상처리프로그램의 많은 부분에서 프로그램을 공유하는 것이 가능하며, 2개의 마이크로 프로세서(10,11)이 독립으로 명령캐쉬를 구비하는 경우에 비하여 명령을 보전하기 위한 메모리 용량이 작아진다.
[실시의 형태 2]
(1) 「전체구성」
제14도에 본 발명의 화상처리장치의 실시의 형태 2의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제14도에서 참조부호 5로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 실시의 형태 1과 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터버스(3) 및 어드레스(4)등을 통해서 접속되어 있다.
본 실시의 형태 2의 화상처리장치는, 전술한 제1도에 표시되어 있는 실시의 형태 1의 화상처리장치에 구비되어 있는 마이크로 프로세서(10,11)로 바꾸어 그들의 처리속도의 2개의 처리속도를 갖는 하나의 마이크로 프로세서(30)을 구비하고, 그것에 따라 고속메모리도 참조부호 12로 표시되어 있는 하나만을 구비하고 있다.
더우기, 본 실시의 형태 2에서는, 전술한 실시의 형태 1에서 2개의 프로세서(10, 11)에 명령을 공급하고있던 명령캐쉬(16)를 마이크로 프로세서(30)전용의 명령캐쉬(29)로 치환하고 있다.
또한, 고속메모리(12)와 마이크로 프로세서(30)과의 사이는 버스(24)에 의해 접속되어 있다.
전술한 실시의 형태 1의 화상처리장치에서는, 부하분산을 위하여 2개의 두 개의 마이크로 프로세서(10,11)가 구비되어 있었지만, 본 실시의 형태 2의 화상처리장치에 구비되어 있는 마이크로 프로세서(30)의 성능이 그들의 최소한 2배이면 마이크로 프로세서는 하나로 족하며, 따라서 실시의 형태 1의 화상처리장치에 있어서 구비되어 있던 2개의 고속메모리(12,13)도 1개만을 구비해 있으면 족하게 되어 있다.
본 발명의 화상처리장치의 실시의 형태 2의 마이크로 프로세서(30)의 전체구성을 제15도의 블록도에 표시한다.
또한, 마이크로 프로세서(30)의 명령세트 및 레지스터 구성은 전술한 실시의 형태 1의 마이크로 프로세서(10,11)와 마찬가지이다.
본 실시의 형태 2의 화상처리장치의 마이크로 프로세서(30)와 전술한 실시의 형태 1의 화상처리장치의 마이크로 프로세서(10)와의 상위 버스 인터페이스부(163) 및 명령패치부(161)의 접속에 관한 부분 뿐이다.
마이크로 프로세서(30)의 명령패치부(161)는, 명령의 어드레스에 따라서 명령캐쉬(29)를 액세스하든가, 또는 버스 인터페이스부(163)을 통해서 외부메모리(2)를 액세스하든가를 결정하고, 명령캐쉬(29) 또는 외부메모리(2)로부터 명령을 패치한다.
이 때문에, 마이크로 프로세서(30)의 명령패치부(161)은 명령 캐쉬(29)로부터 명령을 직접 읽는 경로를 가지며, 버스 인터페이스부(163)은 명령캐쉬(29)로부터 읽는 경로를 가지고 있지 않다.
(2) 「MPEG 표준의 동화처리예」
본 제2의 실시의 형태의 화상처리장치가 MPEG 표준의 동화데이터를 처리하는 경우, 8×8 화소단위의 블록데이터를 디코드하는 처리이외의 처리는 전술한 실시의 형태 1의 경우와 거의 마찬가지이다.
블록데이터의 디코드처리의 수순도 제13도에 표시되어 있는 실시의 형태 1의 수순과 기본적으로 마찬가지이다.
다른 점은, 제13도에 표시되어 있는 스텝S14,S15,S16,S18 및 S19의 각 처리를 실시의 형태 1에서는 2개의 마이크로 프로세서(10,11)가 행하고 있는 대신에 본 실시의 형태 2에서는 한 개의 마이크로 프로세서(30)가 행하는 점 뿐이다.
(3) 「효과」
이상 상술한 실시의 형태 2에 있어서는, 본 발명의 화상처리장치를 구성하는 3개의 하드웨어, 즉 VLC 디코더(14), 블록로더(15) 및 마이크로 프로세서(30)가 협조동작하여 동화상 데이터를 처리하기 위해, 고속인 화상처리가 행하여진다.
구체적으로는, 외부메모리(2)로부터의 데이터의 판독량이 많고, 또한 병렬처리가 곤란한 가변장부호의 디코드처리를 VLC 디코더(14)가 담당하여 하드웨어처리하고, 또 외부메모리(2)로부터의 데이터 판독량이 대단히 많은 예측 데이터의 판독처리를 블록로더(15)가 담당하여 하드웨어처리하고, 데이터변환처리를 마이크로 프로세서(30)가 담당하여 소프트웨어 처리한다.
또, 상술한 실시의 형태 2에서는, VLC 디코더(14) 및 블록로더(15)와 마이크로 프로세서(30)과의 사이에는 중간처리데이터를 버퍼링하는 고속메모리(12)가 구비되어 있다.
이 때문에, VLC 디코더(14)와 블록로더(15)가 고속메모리(12)에 마이크로 프로세서(30)가 장래 필요로 하는 데이터를 사전에 기록해 두는 것이 가능하다.
따라서, 마이크로 프로세서(30)은 필요로 하는 데이터를 필요로 하는 시점에서 고속메모리(12)로부터 고속으로 판독하는 것이 가능하다.
또한, 본 실시의 형태 2에서는, 블록로더(15)의 구성은 제10도에 표시되어 있는 실시의 형태 1의 그것과 같으며, 블록로더(15)가 화소데이터의 가산기능을 갖고 있는 것, 및 화소데이터의 제로 확장기능을 갖고 있는 것도 마찬가지이며, 그것에 의한 효과도 마찬가지인 것은 말할 필요가 없다.
[실시의 형태 3]
(1) 「전체구성」
제16도에 본 발명의 화상처리형태 3의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제16도에서 참조부호 6으로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터 버스(3) 및 어드레스 버스(40) 등을 통해서 접속되어 있다.
본 실시의 형태 3의 화상처리장치는, 전술한 제14도에 표시되어 있는 실시의 형태 2의 화상처리장치로부터 블록로더(15)를 제외한 구성을 채택하고 있다.
이 때문에, 본 실시의 형태 3의 화상처리장치의 마이크로 프로세서(30)는, 예측 데이터를 외부메모리(2)로부터 직접 판독할 필요가 있고, 따라서 실시의 형태 2의 화상처리장치의 마이크로 프로세서(30)보다도 더욱 고속으로 동작할 필요가 있지만, 블록로더(15)가 필요로 하는 하드웨어량이 삭감된다.
단, 외부메모리(2)로부터의 예측 데이터의 판독은 마이크로 프로세서(30)가 소프트웨어로 처리하기 때문에, 새로운 기능을 마이크로 프로세서(30)에 부가할 필요는 없다.
(2) 「MPEG 표준의 동화처리예」
본 실시예의 형태 3의 화상처리장치가 MPEG 표준의 동화상 데이터를 처리하는 경우, 8×8 화소단위의 블록데이터의 디코드이외의 처리는 전술한 실시의 형태 1의 경우와 전혀 마찬가지이다.
블록데이터의 디코드처리의 수순도 제13도에 표시되어 있는 실시의 형태 1의 수순과 기본적으로 같다.
다른 점은, 제13도에 표시되어 있는 스텝S14,스텝S15,스텝S16,스텝S18 및 스텝S19의 각 처리를 2개의 마이크로 프로세서(10,11)가 행하는 대신에 하나의 마이크로 프로세서(30)가 행하는 점과, 스텝S17의 처리를 블록데이터(15)가 하드웨어 처리로 행하는 대신에 마이크로 프로세서(30)가 소프트웨어처리로 행하는 점 뿐 이다.
(3) 「효과」
이상으로 상술한 실시의 형태 3에서는, 본 발명의 화상처리장치를 구성하는 2개의 하드웨어, 즉 VLC 디코더(14) 및 마이크로 프로세서(3)가 협조동작하여 동화상 데이터를 처리하기 때문에, 고속인 화상처리가 행하여진다.
구체적으로는, 외부메모리(2)로부터의 데이터 판독량이 많고, 또한 병렬처리가 곤란한 가변장부호의 디코드처리를 VLC 디코더(14)가 담당하여 하드웨어처리하고, 또 데이터 변환처리와 외부메모리(2)로부터의 예측 데이터의 판독처리를 마이크로 프로세서(3)가 담당하여 소프트웨어 처리한다.
또, 상술한 실시의 형태 3에서는, VLC 디코더(14)와 마이크로 프로세서(30)와의 사이에는 중간 처리데이터를 버퍼링하는 고속메모리(12)가 구비되어 있다.
이 때문에 VLC 디코더(14)가 고속메모리(12)에 마이크로 프로세서(3)가 장래필요로 하는 데이터를 사전에 기록해 두는 것이 가능하게 된다.
따라서, 마이크로 프로세서(30)은 필요로 하는 데이터를 필요로 하는 시점에 고속메모리(12)로부터 고속으로 판독하는 것이 가능하다.
[실시의 형태 4]
(1) 「전체구성」
제17도에 본 발명의 화상처리장치의 실시의 형태 4의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제17도에서 참조부호 7로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터 버스(3) 및 어드레스 버스(4) 등을 통해서 접속되어 있다.
본 실시의 형태 4의 화상처리장치는, 전술한 제14도에 표시되어 있는 실시의 형태 2의 화상처리장치로부터 VLC 디코더(14)를 제거한 구성을 채택하고 있다.
이 때문에, 본 실시의 형태 4의 화상처리장치의 마이크로 프로세서(3)는, 외부메모리(2)로부터 VLC 데이터를 직접 판독하여 1화소가 8비트의 고정장 데이터로 디코드할 필요가 있고, 따라서 실시의 형태 2의 화상처리장치의 마이크로 프로세서(30)보다도 고속으로 동작할 필요가 있지만, VLC 디코더(14)가 필요로 하는 하드웨어량이 삭감된다.
단, VLC의 디코드는 마이크로 프로세서(3)의 소프트웨어로 처리하기 때문에, 새로운 기능을 마이크로 프로세서(3)에 부가할 필요는 없다.
(2) 「MPEG 표준동화 처리예」
본 실시의 형태 4의 화상처리장치가 MPEG 표준의 동화 데이터를 처리하는 경우, 8×8 화소단위의 블록데이터의 디코드이외의 처리는 전술한 실시의 형태 1의 경우와 전혀 마찬가지이다.
블록 데이터의 디코드처리의 수순도 제13도에 표시되어 있는 실시의 형태 1의 수순과 기본적으로 마찬가지이다.
다른 점은, 제13도에 표시되어 있는 스텝S14,S15,S16,S18 및 S19의 각 처리를 2개의 마이크로 프로세서(10,11)가 행하는 대신에 하나의 마이크로 프로세서(3)가 행하는 점과, 스텝S12와 스텝S13과의 양처리를 VLC 디코더(14)는 하드웨어 처리하는 대신에 마이크로 프로세서(3)가 소프트웨어 처리하는 점 뿐이다.
(3) 「효과」
이상으로 상술한 실시의 형태 4에서는, 본 발명의 화상처리장치를 구성하는 2개의 하드웨어, 즉 블록로더(15) 및 마이크로 프로세서(30)가 협조동작하여 동화상 데이터를 처리하기 위해, 고속인 화상처리가 행하여진다.
구체적으로는, 외부메모리(2)로부터의 데이터 판독량이 대단히 많은 예측 데이터의 판독처리를 블록로더(15)가 담당하여 하드웨어 처리하고, 데이터 변환처리와 VLC의 디코드 처리와를 마이크로 프로세서(30)가 담당하여 소프트웨어 처리한다.
또, 상술한 실시의 형태 4에서는, 블록로더(15)와 마이크로 프로세서(3)와의 사이에는 중간 처리데이터를 버퍼링하는 고속메모리(12)가 구비되어 있다.
이 때문에, 블록로더(15)가 고속메모리(12)에 마이크로 프로세서(30)가 장래필요로 하는 데이터를 사전에 기록해 두는 것이 가능하다.
따라서, 마이크로 프로세서(30)은 필요로 하는 데이터를 필요로 하는 시점에서 고속메모리(12)로부터 고속으로 판독하는 것이 가능하다.
또한, 본 실시의 형태 4에서는, 블록로더(15)의 구성은 제10도에 표시되어 있는 실시의 형태 1의 그것과 같으며, 블록로더(15)가 화소데이터의 가산기능을 갖고 있는 것, 및 화소데이터의 제로 확장 기능을 가지고 있는 것도 같으며, 그것에 의한 효과도 마찬가지인 것은 물론이다.
[실시의 형태 5]
(1) 「전체구성」
제18도에 본 발명의 화상처리장치의 실시의 형태 5의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제18도에서 참조부호 8로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(20)에 데이터버스(4) 등을 통해서 접속되어 있다.
본 실시의 형태 5의 화상처리장치는, 전술한 제1도에 표시되어 있는 실시의 형태 1의 화상처리장치의 명령캐쉬(16)을 명령 ROM(31)으로 치환한 구성을 채택하고 있다.
명령 ROM(31)에는 제1, 제2 마이크로 프로세서(10,11)가 실행하는 프로그램내의 제13도에 표시되어 있는 스텝S14,S15,S16,S18 및 S19의 각 처리에 관한 부분 등과 같은 특히 고속처리할 필요가 있는 부분이 격납되어 있다.
명령 ROM(31)은 제1 마이크로 프로세서(10) 또는 제2 마이크로 프로세서(11)내의 어느 한편만을 명령을 공급하는 것도, 양 마이크로 프로세서(10,11)에 동일한 명령을 병렬로 공급하는 것도 가능하다.
또, 양 마이크로 프로세서(10,11)는 명령 ROM(31)외의 외부메모리(2)로부터 도 명령을 패치하여 실행한다.
또한, 본 발명의 화상처리장치의 실시의 형태 5의 양 마이크로 프로세서(10,11)는 버스 인터페이스부(163)의 외부와의 접속 관계를 제외하고 제8도에 표시되어 있는 실시의 형태 1의 경우와 동일한 구성을 가지고 있으며, 또 그 명령세트 및 레지스터 구성도 전술한 실시의 형태 1의 경우와 마찬가지이다.
상위점은, 명령캐쉬(16)의 명령 ROM(31)과 치환한 것에 따라, 버스 인터페이스부(163)가 외부 버스(21), 제1 고속 메모리(12) 및 명령 ROM(31)과 접속되어 있는 것이다.
따라서, 버스인터페이스부(163)는 명령의 어드레스에 따라 명령 ROM(31)를 액세스하든가 또는 외부메모리(2)를 액세스하든가 결정하고, 명령 ROM(31) 또는 외부메모리(2)를 액세스 하든가를 결정하고, 명령 ROM(31) 또는 외부메모리(2)로부터 명령을 패치 한다.
(2) 「MPEG 표준의 동화상 처리예」
본 실시의 형태 5의 화상처리장치가 MPEG 표준의 동화상 데이터를 처리하는 경우, 8×8 화소단위의 블록데이터의 디코드 이외의 처리는 전술한 실시의 형태 1의 경우와 거의 마찬가지이다.
블록데이터의 디코드 처리도 실시의 형태 1의 수순과 거의 마찬가지이다.
다른 점은, 양 마이크로 프로세서(10,11)이 어드레스에 의존하여 명령 ROM(31) 또는 외부메모리(2)의 어디에서 명령을 패치하는 점 뿐이다.
제13도에 표시되어 있는 S14,S15,S16 및 S18의 각 처리에서는, 2개의 마이크로 프로세서(10,11)가 명령 ROM(31)로부터 공급된 동일한 명령을 병렬로 실행한다.
(3) 「효과」
본 실시예의 형태 5에서는, 2개의 마이크로 프로세서(10,11)가 공통의 명령 ROM(31)로부터 동일한 명령을 병렬로 판독하고 화상처리프로그램을 실행 한다.
이 때문에 양 마이크로 프로세서(10,11)가 화상처리 프로그램의 많은 부분에서 프로그램을 공유할 수 있고, 각각이 독립하여 명령 ROM을 구비하는 경우에 비하여 명령을 유지하는 메모리 용량을 삭감하는 것이 가능하게 된다.
[실시의 형태 6]
(1) 「전체구성」
제19도에 본 발명의 화상장치의 실시의 형태 6의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제19도에서 참조부호 9로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터 버스(3) 및 어드레스(4)를 통해서 접속되어 있다.
본 실시의 형태 6의 화상처리장치는, 전술한 제14도에 표시되어 있는 실시의 형태 2의 화상처리장치의 명령캐쉬(29)를 명령 ROM(32)으로 치환한 구성을 채택하고 있다.
명령 ROM(32)에는 마이크로 프로세서(30)가 실행하는 프로그램내의 제13도에 표시되어 있는 스텝S14,S15,S16,S18 및 S19의 각 처리에 관한 부분 등과 같은 특히 고속처리할 필요가 있는 부분이 기억되어 있다.
마이크로 프로세서(30)는 명령 ROM(32) 또는 외부 메모리(2)로부터 명령을 패치하여 실행한다.
또한, 본 발명의 화상처리장치의 실시의 형태 6의 마이크로 프로세서(30)는 명령패치부(161)의 접속관계를 제외하고 제15도에 표시되어 있는 실시의 형태 2의 경우와 동일한 구성을 가지고 있으며, 또 그 명령 세트 및 레지스터 구성도 전술한 실시의 형태 2의 경우와 같다.
상위한 점은, 명령캐쉬(16)가 명령 ROM(32)과 치환함에 따라, 명령패치부(161)가 명령캐쉬(29)가 아니고 명령 ROM(32)와 접속되어 있는 점이다.
따라서, 명령 패치부(161)은, 명령의 어드레스에 따라 명령 ROM(32)를 액세스하든가, 또는 버스 인터페이스부(163)를 통해서 외부메모리(2)를 액세스하든가 결정하고, 명령 ROM(32) 또는 외부메모리(32) 또는 외부메모리(2)로부터 명령을 패치한다.
(2) 「MPEG 표준의 동화상 처리예」
본 실시예의 형태 6의 화상처리장치가 MPEG 표준의 동화데이터를 처리하는 경우, 8×8 화소단위의 블록데이터의 디코드이외의 처리는 전술한 실시의 형태 1의 경우와 전혀 마찬가지이다.
블록데이터의 디코드처리의 수순도 제13도에 표시되어 있는 실시의 형태 1의 수순과 기본적으로 마찬가지이다.
다른점은, 제13도에 표시되어 있는 S14, S15, S16, S18 및 S19의 각 처리를 2개의 마이크로 프로세서(10,11)가 행하는 대신에 하나의 마이크로 프로세서(30)가 행하는 점과, 명령을 그 어드레스에 의존하여 명령 ROM(32) 또는 외부메모리(2)로부터 패치하는 점 뿐이다.
(3) 「효과」
본 실시의 형태 6에서는, 마이크로 프로세서(30)가 특히 고속 처리할 필요가 있는 명령을, 명령캐쉬보다도 단위 면적당의 기억용량이 크고, 또한 명령 캐쉬와 액세스속도가 동등한 명령 ROM(32)로부터 판독하여 화상처리 프로그램을 실행하므로, 명령캐쉬를 사용하는 경우에 비하여 칩상에서의 점유 면적이 작은 화상처리장치를 실현할 수가 있다.
[실시의 형태 7]
(1) 「전체구성」
제20도에 본 발명의 화상처리장치의 실시의 형태 7의 일 구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제20도에서 참조부호 35로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부메모리(2)에 데이터 버스(3) 및 어드레스 버스(4)등을 통해서 접속되어 있다.
본 실시의 형태 7의 화상처리장치는, 전술한 제19도에 표시되어 있는 실시의 형태 6의 화상처리장치에, 메모리(33)를 추가하는 동시에, 그 출력신호를 VLC 디코더(14)에 입력하기 위한 버스(34)를 구비한 구성을 채택하고 있다.
구체적으로는, 메모리(33)는 직렬입력회로(18)의 출력신호인 VLC의 데이터를 입력하여 버퍼링하며, 이 메모리(33)에 버퍼링된 데이터를 VLC 디코더(14)가 버스(34)를 통해서 판독하도록 구성되어 있다.
즉, 직렬입력회로(18)로부터 화상처리장치의 칩(35)내에 입력된 VLC의 신호를 외부메모리(2)에 버퍼링하는 대신에 메모리(33)에 버퍼링하도록 구성되어 있다.
(2) 「MPEG 표준의 동화상 처리예」
본 실시예의 형태 7의 화상처리장치가 MPEG 표준의 동화데이터를 처리하는 경우의 동작은 전술한 실시의 형태 6의 수순과 거의 같다.
다른 점은, 제13도에 표시되어 있는 스텝 S11에 상당하는 처리로 VLC가 외부메모리(2) 대신에 메모리(33)에 기록되어, 스텝 S12에 상당하는 처리로 VLC 메모리(2) 대신에 메모리(33)으로 부터 판독되는 점 뿐이다.
(3) 「효과」
본 실시의 형태 7에서는 VLC를 버퍼링하는 전용의 메모리(33)를 구비하기 위한, 직렬 입력회로(18) 및 VLC 디코더(14)가 외부 메모리(2)를 액세스할 필요가 없게 되며, 외부버스(21)를 통한 외부메모리(2)의 액세스권(權)제어가 실시의 형태 6의 경우에 비하여 보다 단순하게 된다.
[실시의 형태 8]
(1) 「전체구성」
제21도에 본 발명의 화상처리장치의 실시의 형태 8의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제21도에서 참조부호(36)으로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부 메모리(2)에 데이터 버스(3) 및 어드레스 버스(4) 등을 통해서 접속되어 있다.
본 실시의 형태 8의 화상장치(36)는, 전술한 제17도에 표시되어 있는 VLC 디코더(14)가 구비되어 있지 않은 구성의 실시의 형태 4의 화상처리장치에 상술한 실시의 형태 7과 같은 메모리(33) 및 버스(34)를 추가한 구성을 채택하고 있다.
단, 본 실시예의 형태 8에서는 VLC 디코더(14)가 구비되어 있지 않아, 버스(34)와 메모리(33)와 마이크로 프로세서(30)를 직접 접속하고 있다.
구체적으로는, 메모리(33)는 직렬입력회로(18)의 출력신호인 VLC의 데이터를 입력하여 버퍼링하며, 이 메모리(33)에 버퍼링된 데이터를 마이크로 프로세서가(30)가 버스(34)를 통해서 직접 판독하도록 구성되어 있다.
(2) 「MPEG 표준의 동화상 처리예」
본 실시의 형태 8의 화상처리장치(36)가 MPEG 표준의 동화상 데이터를 처리하는 경우의 동작은 전술한 실시의 형태 4의 수순과 거의 마찬가지이다.
다른 점은, 제13도에 표시되어 있는 스텝 S11에 상당하는 가변장부호가 외부메모리2 대신에 메모리(33)에 기록되어, 스텝 S12에 상당하는 처리로 VLC가 외부메모리(2) 대신에 메모리(33)로부터 판독되는 점 뿐이다.
(3) 「효과」
본 실시의 형태 8에서는, 가변장부호를 버퍼링하는 전용의 메모리(33)를 설치했으므로, 직렬입력회로(18)이 외부메모리(2)를 액세스할 필요가 없고, 외부버스(21)를 통한 외부메모리(2)의 액세스권제어를 실시의 형태 4의 경우보다도 단순하게 할 수가 있다.
[실시의 형태 9]
(1) 「전체구성」
제22도에 본 발명의 화상처리장치의 실시의 형태 9의 일구성예를 메모리에 접속한 시스템의 블록도를 표시한다.
또한, 제22도에서 참조부호 40으로 표시되어 있는 부분이 본 발명의 화상처리장치의 칩이며, 전술한 각 실시의 형태와 마찬가지로, 복수의 DRAM 칩으로 구성되는 외부 메모리(2)에 데이터 버스(3) 및 어드레스 버스(4) 등을 통해서 접속되어 있다.
본 실시의 형태 9의 화상처리장치는, 전술한 제19도에 표시되어 있는 실시의 형태 6의 화상처리장치에 구비되어 있는 고속메모리(12)에 더해서 더 VLC 디코더(14) 전용의 고속메모리(37)를 추가한 구성을 채택하고 있다.
또한, 고속메모리(37)와, VLC 디코더(14)와의 사이는 버스(39)로, 마이크로 프로세서(30)와의 사이는 버스(38)로 각각 접속되어 있다.
따라서, VLC 디코더(14)와 블록로더(15)가 각각 독립한 고속메모리(37)와 (12)를 통해서 데이터를 마이크로 프로세서(30)에 전송하는 것이 가능하게 되있다.
구체적으로는, VLC 디코더(14)는 외부 메모리(2)로부터 패치한 VLC를 1화소가 8비트의 고정장 데이터에 디코드하여 버스(39)를 통해서 고속메모리(37)에 기록하도록 구성되어 있다.
한편, 마이크로 프로세서(30)는 버스(38)를 통해서 고속메모리(37)로부터 이 고정장 데이터를 판독한다.
또, 블록로더(15)는 외부메모리(2)로부터 판독한 예측 데이터를 내부버스(20)을 통해서 고속메모리(12)에 기록한다.
마이크로 프로세서(30)는 버스(24)를 통해서 이 예측 데이터를 메모리(12)로부터 판독한다.
(2) 「MPEG 표준의 동화상 처리예」
본 실시의 형태 9의 화상처리장치(9)가 MPEG 표준의 동화상 데이터를 처리하는 경우의 동작은 전술한 실시의 형태 6의 수순과 거의 마찬가지이다.
다른 점은, 제13도에 표시되어 있는 스텝 S13과 S17에 상당하는 처리의 결과가 각각 독립한 고속메모리(37,12)에 기록되는 것, 스텝 S14과 S18에 상당하는 처리로 각각 독립하는 고속메모리(37,12)로부터 판독되는 점 뿐이다.
(3) 「효과」
본 실시의 형태 9에서는, VLC 디코더(14)의 블록로더(15)가 각각 독립한 고속메모리(37,12)를 통해서 데이터를 마이크로 프로세서(30)에 전송하기 때문에, 실시의 형태 6의 화상처리장치에서 필요했던 내부버스(20)의 엑세스권 제어를 고려하는 일 없이, 고속 메모리(37,12)에의 데이터의 기록이 행해지는 동시에, 고속메모리(12,37)에의 기록제어가 단순하게 된다.
[다른 실시의 형태]
상술한 실시의 형태 1∼9는 어느 것도, 고속메모리(12,13)를 통해서 VLC 디코더(14) 혹은 블록로더(15)로부터 마이크로 프로세서(10,11,30)에 데이터를 받고 주도록 구성되어 있지만, 마이크로 프로세서가 레지스터상에 데이터를 프리패치하는 기능을 가지고 있는 경우에는 고속메모리(12,13)가 구비되어 있지 않아도 마찬가지로 동화상 데이터의 처리가 가능하다.
상술한 실시의 형태 1,2,4∼9에서는 어느 것도, 블록데이터(15)가 정수화소단위의 예측 데이터를 다루는 경우에 외부 메모리(2)로부터 판독한 8비트의 화소치를 16비트의 화소치에 제로 확장하여 고속메모리(12,13)에 기록하는 구성을 채택하고 있지만, 정수화소단위의 예측 데이터를 다루는 경우에는, 외부메모리(2)로부터 판독한 8비트의 화소치를 8비트의 화소치대로 고속 메모리(12,13)에 기록하도록 구성하는 것도 물론 가능하다.
또, 상술한 실시의 형태 1,2,4∼9에서는 어느 것도, 블록로더(15)가 블록데이터의 로드시에 동일 행내의 인접 화소치만을 가산하도록 구성되어 있지만, 블록로더(15)에 1행만큼의 화소데이터의 모든 것을 유지하는 레지스터를 설치하고 인접행간의 화소치를 가산하는 기능을 부가함으로써, 블록데이터의 로드에 있어서 인접행간의 화소치를 가산하거나, 혹은 종횡인접 4점의 화소치를 가산하도록 해도 좋다.
또, 상술한 실시의 형태 5∼9에서는 어느 것도, 마이크로 프로세서(10,11,30)가 명령을 ROM(31,32) 혹은 외부메모리(2)로부터 패치하여 실행하도록 구성되어 있지만, 명령 ROM(31,32)에 화상처리에 필요한 모든 프로그램을 격납시켰을 경우에는, 마이크로 프로세서(10,11,30)가 외부메모리(2)로부터 명령을 피치할 필요는 없다.
또, 상술한 실시의 형태 1∼6에서는 어느 것도, 직렬신호선(27)로부터 VLC 부호화 데이터가 입력되고, 처리된 데이터를 버스(28)를 통해서 외부의 화상표시장치에 출력하도록 구성되어 있지만, 사전에 외부메모리(2)에 격납되어 있는 VLC 부호화 데이터를 처리하여 처리된 데이터를 다시 외부메모리(2)에 쓰는 경우에는, 각각의 실시의 형태에서 직렬 입력회로(18) 및 화소 표시회로(17)가 구비되어 있지 않아도 좋다.
또, DRAM 컨트롤러가 외부메모리(2)에 포함되어 있는 경우에는, 혹은 외부메모리(2)가 DRAM 이외의 메모리로 구성되는 경우에는, 각 실시의 형태의 화상처리장치에 DRAM 컨트롤러(19)가 구비되어 있을 필요는 없다.

Claims (15)

  1. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와, 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령 실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서부에 접속되어 있고, 고정장 부호의 화상데이터를 판독하는 데이터 판독부와, 상기 데이터 판독부에 접속되어 있고, 데이터 판독부가 판독한 화상 데이터의 적어도 2개의 인접 화소의 화상 데이터를 가산하는 가산부와, 상기 가산부에 접속되어 있고, 가산부에 의한 가산 결과를 상기 프로세서부에 기록하는 데이터 기록부를 가지는 데이터 로드부를 구비하고, 상기 프로세서부는, 가변장 부호의 제1 종류의 화상 데이터를 고정장부호의 제2 종류의 화상 데이터로 디코드하는 처리, 상기 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리, 및 상기 제3 종류의 화상 데이터와 상기 데이터 로드부에 의해 기록된 가산 결과간의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  2. 화상처리 프로그램을 실행하기 위해 상용되는 데이터를 격납하는 메모리와, 상기 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 명령 디코더 및 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 화상처리 프로그램에 기술되어 있는 명령에 따라서 소정의 연산을 행하여 연산결과를 출력하는 프로세서부와, 상기 메모리에 접속되어 있고, 고정장 부호의 화상데이터를 판독하는 데이터 판독부와, 데이터 판독부에 접속되어 있고, 데이터 판독부가 판독한 적어도 2개의 인접화소의 화상 데이터를 가산하는 가산부와 가산부에 접속되어 있고, 가산부에 의한 가산결과를 상기 메모리에 기록하는 데이터 기록부를 가지는 데이터 로드부를 구비하고, 상기 프로세서부는, 가변장 부호의 제1 종류의 화상 데이터를 고정장부호의 제2 종류의 화상 데이터로 디코드하는 처리, 상기 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리, 및 상기 데이터 로드부에 의해 상기 메모리에 기록된 가산결과와 제3 종류의 화상 데이터간의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  3. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 메모리와, 상기 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 명령 디코더와, 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 화상처리 프로그램에 기술되어 있는 명령에 따라서 소정의 연산을 행하여, 연산 결과를 출력하는 프로세서부와, 상기 메모리에 접속되어 있고, 반화소 단위 또는 정수화소 단위의 고정장 부호의 화상 데이터를 판독하는 데이터 판독부와, 데이터 판독부에 접속되어 있고, 반화소 단위의 화상 데이터를 사용하여 화장처리하는 경우는, 데이터 판독부가 판독한 고정장부호의 화상 데이터의 적어도 2개의 인접화소의 화상데이터를 가산하는 한편, 정수화소 단위의 화상 데이터를 사용하여 화상처리하는 경우는, 데이터 판독부가 판독한 고정장 부호의 화상 데이터의 비트폭을 확장하는 가산부와, 상기 가산부에 접속되어 있고, 가산부에 의한 가산 결과의 제1 데이터, 또는 가산부에 의해 비트폭이 확장된 제2 데이터를 상기 메모리에 기록하는 데이터 기록부를 가지는 데이터 로드부를 구비하고, 상기 프로세서부는 가변장 부호의 제1 종류의 화상데이터를 고정장부호의 제2 종류의 화상데이터로 디코드하는 처리, 상기 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리, 및 반화소 단위의 화상 데이터를 처리하는 경우에는 제1 데이터를, 또 정수 화소 단위의 화상 데이터를 처리하는 경우에는 제2 데이터를 상기 메모리로부터 판독한 제1 또는 제2 데이터와 제3 종류의 화상 데이터간의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  4. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 제1 메모리 및 제2 메모리와, 상기 제1 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 제1명령 디코더와 상기 제1명령 디코더의 출력에 따라서 명령을 실행하는 제1명령 실행부를 가지며, 상기 제1 명령실행부의 실행결과를 출력하는 제1 프로세서부와, 상기 제2 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 제2명령 디코더와 상기 제2명령 디코더의 출력에 따라서 명령을 실행하는 제2 명령실행부를 가지며, 상기 제2 명령실행부의 실행결과를 출력하는 제2 프로세서부와, 상기 제1 및 제2 메모리에 접속되어 있고, 가변장 부호의 제1 종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 디코드 결과를 상기 제1 또는 제2 메모리에 출력하는 가변장부호 디코드부와, 상기 제1 및 제2 메모리에 접속되어 있고, 고정장 부호의 화상 데이터를 상기 제1 또는 제2 메모리에 출력하는 데이터 로드부를 구비하고, 상기 제1 및 제2 프로세서부는 각각이, 재2 종류의 화상 데이터를 상기 제1 또는 제2 메모리로부터 판독하여 제3 종류의 화상 데이터로 변환하는 처리와, 고정장 부호의 화상 데이터를 상기 제1 또는 제2 메모리로부터 판독하여 제3 종류의 화상 데이터와 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  5. 제4항에 있어서, 상기 제1 및 제2 프로세서부에 접속되어 있고, 화상처리 프로그램의 명령을 격납하는 제3 메모리를 더욱 구비하며, 상기 제1 및 제2 프로세서부는 제3 메모리로부터 명령을 판독하여 서로 병렬로 동작하는 수단을 각각에 더 구비한 화상처리 장치.
  6. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서부에 접속되어 있고, 가변장 부호의 제1 종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 상기 제2 종류의 화상 데이터를 상기 프로세서부에 출력하는 가변장 부호 디코드부와, 상기 프로세서부에 접속되어 있고, 고정장 부호의 화상 데이터를 판독하는 데이터 판독부, 상기 데이터 판독부에 접속되어 있으며, 고정장부호의 화상 데이터의 적어도 2개의 인접화소의 화상 데이터를 가산하는 가산부, 및 상기 가산부에 접속되어 있고, 가산부의 가산결과를 상기 프로세서부에 기록하는 데이터 기록부를 가지는 데이터 로드부와를 구비하며, 상기 프로세서부는 상기 가변장 부호 디코드부로부터 출력된 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리와, 제3 종류의 화상 데이터와 상기 데이터 로드부에 의해 기록된 가산결과간의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  7. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 메모리와, 상기 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드 하는 명령 디코더와 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령 실행부의 실행결과를 출력하는 프로세서부와, 상기 메모리에 접속되어 있고, 가변장 부호의 제1 종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 상기 제2 종류의 화상 데이터를 상기 메모리에 출력하는 가변장 부호 디코드부와, 고정장 부호의 화상 데이터를 판독하는 데이터 판독부, 상기 데이터 판독부에 접속해 있고, 상기 데이터 판독부가 판독한 고정장 부호의 화상 데이터의 적어도 2개의 각 인접화소 데이터를 가산하는 가산부, 및 가산부에 접속되어 있고, 가산부의 가산결과를 상기 메모리에 기록하는 데이터 기록부를 가지며, 상기 메모리에 접속되어 있는 데이터 로드부를 구비하며, 상기 프로세서부는, 제2 종류의 화상 데이터를 상기 메모리로부터 판독하여 제3 종류의 화상 데이터로 변환하는 처리, 상기 메모리로부터 판독한 가산결과와 제3 종류의 화상 데이터간의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 구성된 것을 특징으로 하는 화상처리 장치.
  8. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 제1 메모리 및 제2 메모리와, 상기 제1 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 제1명령 디코더와 상기 제1 명령 디코더의 출력에 따라서 명령을 실행하는 제1 명령 실행부를 가지며, 상기 제1 명령실행부의 실행결과를 출력하는 제1 프로세서부와, 상기 제2 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 제2 명령 디코더와 상기 제2 명령 디코더의 출력에 따라서 명령을 실행하는 제2 명령 실행부를 가지며, 상기 제2 명령실행부의 실행결과를 출력하는 제2 프로세서부와, 상기 제1 및 제2 메모리에 접속되어 있고, 가변장 부호의 제1 종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 디코드 결과를 상기 제1 또는 제2 메모리에 출력하는 가변장부호 디코드부와, 고정장 부호의 화상 데이터를 판독하는 데이터 판독부, 상기 데이터 판독부에 접속되어 있고, 상기 데이터 판독부에 의해 판독된 고정장 부호의 화상 데이터의 적어도 2개의 인접화소 데이터를 가산하는 가산부, 및 상기 가산부에 접속되어 있고, 가산부에 의한 가산결과를 제1 또는 제2 메모리에 기록하는 데이터 기록부를 가지며, 상기 제1 및 제2 메모리에 접속되어 있는 데이터 로드부를 구비하며, 상기 제1 및 제2 프로세서부는 제2 종류의 화상 데이터를 제1 또는 제2 메모리로부터 판독하여 제3 종류의 화상 데이터로 변환하는 처리와, 상기 가산결과를 제1 또는 제2 메모리로부터 판독하여 제3 종류의 화상 데이터와의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  9. 제8항에 있어서, 상기 제1 및 제2 프로세서부에 접속되어 있고, 화상처리 프로그램의 명령을 격납하는 제3 메모리를 구비하고, 상기 제1 및 제2 프로세서부는, 제3 메모리로부터 명령을 판독하여 서로 병렬로 동작하는 수단을 각각에 더 구비한 화상처리 장치.
  10. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 메모리와, 화상처리 프로그램을 격납하고 있는 판독전용 메모리와, 상기 메모리 및 판독전용 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 명령 디코더와 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령 실행부의 실행결과를 출력하는 프로세서부와, 상기 메모리에 접속되어 있고, 가변장 부호의 제1종류의 화상데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 제2 종류의 화상 데이터를 상기 메모리에 출력하는 가변장부호 디코드부와, 상기 메모리에 접속되어 있고, 상기 데이터 로드부에 의해 판독된 적어도 2개의 인접화소의 화상 데이터를 가산하는 가산수단을 가지며, 고정장 부호의 화상 데이터를 상기 메모리에 출력하는 데이터 로드부를 구비하며, 상기 프로세서부는 제2 종류의 화상 데이터를 상기 메모리로부터 판독하여 제3 종류의 화상 데이터로 변환하는 처리와 고정장부호의 화상 데이터를 상기 메모리로부터 판독하여 제3 종류의 화상데이터와의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  11. 화상처리 프로그램을 실행하기 위해 사용되는 데이터를 격납하는 제1 메모리 및 제2 메모리와, 상기 제1 및 제2 메모리에 접속되어 있고, 화상처리 프로그램의 명령을 디코드하는 명령 디코드부와 상기 명령 디코드부의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령실행부의 실행결과를 출력하는 프로세서부와, 상기 제1 메모리에 접속되어 있고, 가변장 부호의 제1종류의 화상데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 상기 제2 종류의 화상 데이터를 제1 메모리에 출력하는 가변장 부호 디코드부와, 상기 제2 메모리에 접속되어 있고, 상기 데이터 로드에 의해 판독된 적어도 2개의 인접화소의 화상 데이터를 가산하는 가산수단을 가지며, 고정장 부호의 화상 데이터를 제2 메모리에 출력하는 데이터 로드부를 구비하고, 상기 프로세서부는 제2 종류의 화상 데이터를 제1 메모리로부터 판독하여 제3 종류의 화상 데이터로 변환하는 처리와, 고정장부호의 화상 데이터를 제2 메모리로부터 판독하여 제3 종류의 화상데이터와의 소정의 연산을 행하는 처리를 수행하도록 구성된 것을 특징으로 하는 화상처리 장치.
  12. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와, 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서에 접속되어 있고, 가변장 부호의 제1종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여, 상기 제2 종류의 데이터를 상기 프로세서에 출력하는 가변장 부호 디코드부를 구비하며, 상기 프로세서부는 가변장 부호 디코드부로부터 출력된 제2 종류의 화상 데이터를 상기 화상처리 프로그램에 따라서 제3 종류의 화상 데이터로 변환하는 처리를 수행하도록 구성되고, 상기 프로세서부는 각각 n비트수를 포함하는 2개의 화상 데이터를 격납하는 제1부분 및 제2부분을 갖는 레지스터와, 상기 레지스터의 제1부분 및 제2부분을 개별적으로 액세스할 수 있는 프로세서의 명령 실행부를 포함하는 화상처리 장치.
  13. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서에 접속되어 있고, 고정장 부호의 화상 데이터를 상기 프로세서부에 출력하는 데이터 로드부를 구비하며, 상기 프로세서부는 가변장 부호의 제1종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하는 처리, 상기 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리, 및 제3 종류의 화상 데이터와 상기 데이터 로드부에서 출력된 고정장 부호의 화상 데이터간의 소정의 연산 처리를 수행하도록 구성되어 있고, 상기 프로세서부는 각각 n비트수를 포함하는 2개의 화상 데이터를 격납하는 제1부분 및 제2부분을 갖는 레지스터와, 상기 레지스터의 제1부분 및 제2부분을 개별적으로 액세스할 수 있는 프로세서의 명령 실행부를 포함하는 화상처리 장치.
  14. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와, 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서부에 접속되어 있고 가변장 부호의 제1종류의 화상데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하여 상기 프로세서부에 제2 종류의 데이터를 출력하는 가변장부호 디코드부를 구비하며, 상기 프로세서부는 상기 가변장 부호 디코드부로부터 출력된 제2 종류의 화상 데이터를 상기 화상처리 프로그램에 따라서 제3 종류의 화상 데이터로 변환하는 처리를 수행하도록 구성되어 있고, 상기 프로세서부의 명령 디코더에 의해 디코드된 각각의 명령은 연산을 각각 지정하는 필드를 특정하는 제1 연산 지정필드 및 제2연산 지정필드를 포함하며, 상기 프로세서부의 명령 실행부는 상기 제1 및 제2연산 지정필드에 의해 지정된 상기 연산을 병렬로 수행하는 제1 연산부 및 제2 연산부를 가지는 화상처리 장치.
  15. 화상처리 프로그램의 명령을 디코드하는 명령 디코더와, 상기 명령 디코더의 출력에 따라서 명령을 실행하는 명령 실행부를 가지며, 상기 명령 실행부의 실행결과를 출력하는 프로세서부와, 상기 프로세서부에 접속되어 있고, 고정장 부호의 화상 데이터를 상기 프로세서부에 출력하는 데이터 로드부를 구비하며, 상기 프로세서부는 가변장 부호의 제1종류의 화상 데이터를 고정장 부호의 제2 종류의 화상 데이터로 디코드하는 처리, 상기 제2 종류의 화상 데이터를 제3 종류의 화상 데이터로 변환하는 처리, 및 제3 종류의 화상 데이터와 상기 데이터 로드부에서 출력된 고정장 부호의 화상 데이터간의 소정의 연산처리를 수행하도록 구성되어 있고, 상기 프로세서부의 명령 디코더에 의해 디코된 각각의 명령은 연산을 각각 지정하는 필드를 특정하는 제1 연산 지정필드 및 제2 연산 지정필드를 포함하며, 상기 프로세서부의 명령 실행부는 상기 제1 및 제2 연산 지정필드에 의해 지정된 상기 연산을 병렬로 수행하는 제1 연산부 및 제2 연산부를 가지는 화상처리 장치.
KR1019960019853A 1995-09-08 1996-06-04 화상처리장치 KR100261374B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23167495A JP3729540B2 (ja) 1995-09-08 1995-09-08 画像処理装置
JP95-231674 1995-09-08

Publications (2)

Publication Number Publication Date
KR970016930A KR970016930A (ko) 1997-04-28
KR100261374B1 true KR100261374B1 (ko) 2000-07-01

Family

ID=16927212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960019853A KR100261374B1 (ko) 1995-09-08 1996-06-04 화상처리장치

Country Status (5)

Country Link
US (2) US6009205A (ko)
EP (1) EP0762328B1 (ko)
JP (1) JP3729540B2 (ko)
KR (1) KR100261374B1 (ko)
DE (1) DE69628980T2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285796B1 (en) * 1997-11-03 2001-09-04 Intel Corporation Pseudo-fixed length image compression scheme
KR100562116B1 (ko) 1997-11-28 2006-05-25 마츠시타 덴끼 산교 가부시키가이샤 처리 효율을 높인 영상음성 처리장치
JP2000207205A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置
JP2000305781A (ja) 1999-04-21 2000-11-02 Mitsubishi Electric Corp Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体
DE60027122T2 (de) * 1999-12-24 2006-09-28 Matsushita Electric Industrial Co., Ltd., Kadoma Signalverarbeitungsvorrichtung und Verfahren
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
US7441104B2 (en) * 2002-03-30 2008-10-21 Hewlett-Packard Development Company, L.P. Parallel subword instructions with distributed results
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
US20030202603A1 (en) * 2002-04-12 2003-10-30 William Chen Method and apparatus for fast inverse motion compensation using factorization and integer approximation
JP3680845B2 (ja) 2003-05-28 2005-08-10 セイコーエプソン株式会社 圧縮動画像の伸張装置及びそれを用いた画像表示装置
JP3680846B2 (ja) 2003-05-28 2005-08-10 セイコーエプソン株式会社 動画像の圧縮装置及びそれを用いた撮像装置
JP4214532B2 (ja) * 2006-04-25 2009-01-28 セイコーエプソン株式会社 画像処理装置及び画像処理方法
JP4789200B2 (ja) * 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
US7862131B2 (en) * 2007-03-01 2011-01-04 Camoplast Inc. Dual mode undercarriage for tracked vehicle
JP4356028B2 (ja) 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法
JP2008299610A (ja) 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
JP2011077564A (ja) * 2008-04-13 2011-04-14 Thomson Canopus Co Ltd 映像および音声データの符号化装置とその符号化方法、及びビデオ編集システム
RU2452125C1 (ru) * 2011-06-23 2012-05-27 Федеральное государственное унитарное предприятие "Научно-производственное объединение автоматики имени академика Н.А. Семихатова" Система обработки изображений
JP2017174291A (ja) * 2016-03-25 2017-09-28 ルネサスエレクトロニクス株式会社 画像処理装置、画像処理方法、及び自動車制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
EP0572263A2 (en) * 1992-05-28 1993-12-01 C-Cube Microsystems, Inc. Variable length code decoder for video decompression operations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939583A (en) * 1987-09-07 1990-07-03 Hitachi, Ltd. Entropy-coding system
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
US5568278A (en) * 1991-03-19 1996-10-22 Olympus Optical Co., Ltd. Image data coding and decoding method and apparatus with a plurality of DCT's, quantizers, and VLC's
KR950009680B1 (ko) * 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
JPH05324583A (ja) * 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units
US5486876A (en) * 1993-04-27 1996-01-23 Array Microsystems, Inc. Video interface unit for mapping physical image data to logical tiles
JP3085024B2 (ja) * 1993-06-01 2000-09-04 松下電器産業株式会社 画像再圧縮器及び画像記録装置
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
US5502493A (en) * 1994-05-19 1996-03-26 Matsushita Electric Corporation Of America Variable length data decoder for use with MPEG encoded video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
EP0572263A2 (en) * 1992-05-28 1993-12-01 C-Cube Microsystems, Inc. Variable length code decoder for video decompression operations

Also Published As

Publication number Publication date
US6009205A (en) 1999-12-28
JPH0984004A (ja) 1997-03-28
EP0762328A2 (en) 1997-03-12
EP0762328A3 (en) 1997-07-30
DE69628980T2 (de) 2004-05-27
DE69628980D1 (de) 2003-08-14
USRE39645E1 (en) 2007-05-22
EP0762328B1 (en) 2003-07-09
KR970016930A (ko) 1997-04-28
JP3729540B2 (ja) 2005-12-21

Similar Documents

Publication Publication Date Title
KR100261374B1 (ko) 화상처리장치
US6877020B1 (en) Method and apparatus for matrix transposition
US7548248B2 (en) Method and apparatus for image blending
US6573846B1 (en) Method and apparatus for variable length decoding and encoding of video streams
US7305540B1 (en) Method and apparatus for data processing
JP4750157B2 (ja) データを右方向平行シフトマージする方法及び装置
US7681013B1 (en) Method for variable length decoding using multiple configurable look-up tables
US6697076B1 (en) Method and apparatus for address re-mapping
US6693643B1 (en) Method and apparatus for color space conversion
CA2190797C (en) High speed digital video decompression
US8731051B1 (en) Forward and inverse quantization of data for video compression
US7015921B1 (en) Method and apparatus for memory access
KR19990044304A (ko) 압축 데이터 연산용 명령 세트
US7467287B1 (en) Method and apparatus for vector table look-up
US6822654B1 (en) Memory controller chipset
US7055018B1 (en) Apparatus for parallel vector table look-up
JP2005348410A (ja) 圧縮装置及びその方法
US6931511B1 (en) Parallel vector table look-up with replicated index element vector
US6247112B1 (en) Bit manipulation instructions
EP0928100B1 (en) Run-length encoding
US5781134A (en) System for variable length code data stream position arrangement
US7630585B2 (en) Image processing using unaligned memory load instructions
Tung et al. MMX-based DCT and MC algorithms for real-time pure software MPEG decoding
US7114058B1 (en) Method and apparatus for forming and dispatching instruction groups based on priority comparisons
US6334180B1 (en) Processor coupled by visible register set to modular coprocessor including integrated multimedia unit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070411

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee