KR100392969B1 - 영상 신호 압축 및 압축해제 장치 및 방법 - Google Patents
영상 신호 압축 및 압축해제 장치 및 방법 Download PDFInfo
- Publication number
- KR100392969B1 KR100392969B1 KR10-2000-0068086A KR20000068086A KR100392969B1 KR 100392969 B1 KR100392969 B1 KR 100392969B1 KR 20000068086 A KR20000068086 A KR 20000068086A KR 100392969 B1 KR100392969 B1 KR 100392969B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- output
- register
- pixel data
- transform
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B24—GRINDING; POLISHING
- B24D—TOOLS FOR GRINDING, BUFFING OR SHARPENING
- B24D11/00—Constructional features of flexible abrasive materials; Special features in the manufacture of such materials
- B24D11/08—Equipment for after-treatment of the coated backings, e.g. for flexing the coating
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B24—GRINDING; POLISHING
- B24B—MACHINES, DEVICES, OR PROCESSES FOR GRINDING OR POLISHING; DRESSING OR CONDITIONING OF ABRADING SURFACES; FEEDING OF GRINDING, POLISHING, OR LAPPING AGENTS
- B24B21/00—Machines or devices using grinding or polishing belts; Accessories therefor
- B24B21/04—Machines or devices using grinding or polishing belts; Accessories therefor for grinding plane surfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B24—GRINDING; POLISHING
- B24B—MACHINES, DEVICES, OR PROCESSES FOR GRINDING OR POLISHING; DRESSING OR CONDITIONING OF ABRADING SURFACES; FEEDING OF GRINDING, POLISHING, OR LAPPING AGENTS
- B24B37/00—Lapping machines or devices; Accessories
- B24B37/11—Lapping tools
- B24B37/20—Lapping pads for working plane surfaces
- B24B37/24—Lapping pads for working plane surfaces characterised by the composition or properties of the pad materials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Discrete Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Finish Polishing, Edge Sharpening, And Grinding By Specific Grinding Devices (AREA)
- Mechanical Treatment Of Semiconductor (AREA)
Abstract
소형화된 회로에서 고속 2N- 2NDCT 및 2 - 2N-1- 2NDCT를 이루는 방법에 제공된다.
8-8 DCT는 멀티플렉서, 레지스터, 가산 회로, 감산 회로, 가감산 회로, 고정 계수 승산 회로, AND 회로 등을 사용하여 실행된다. 2-4-8 DCT는 멀티플렉서, 가감산 회로, 고정 계수 승산 회로, 레지스터의 연산을 8-8 DCT와 2-4-8 DCT의 연산 사이에서 교환시킴으로서 8-8 DCT를 실행하는 회로 일부를 사용하여 실행된다.
Description
발명의 분야본 발명은 영상 신호의 압축 및 영상 신호의 압축해제하는 방법 및 영상 신호의 압축과 압축해제를 하는 영상 신호들을 실행하는 장치에 관한 것이다.
본 출원은 참고문헌으로 합체된 1999년 11월 16일에 출원된 일본 특허 출원 제 평성 11-326188호의 우선 조약을 청구하고 있다.
종래 기술의 설명종래에는, 디지탈화된 영상이 전송될 때, 영상 정보의 양이 거대하기 때문에, 영상 정보는 전송전에 압축된다. 영상 정보를 압축하는 방법중 하나로서, MPEG(Moving Picture Experts Group) 및 JPEG(Joint Photographic Experts Group)로 불리는 국제 표준 코딩 시스템이 공지되어 있다. 국제 표준 코딩 시스템에서, 입력 영상 데이터는 DCT(이산 코싸인 변형)에 의해 압축되고 압축된 영상 데이터는 IDCT(역 이산 코싸인 변형)에 의해 원래 영상 데이터로 복귀된다.
상기 국제 표준 코딩 시스템에 사용된 DCT는 국제 표준 코딩 시스템을 규정하는 국제 표준(STD.IEC 61834 - 2-ENGL, 1998) 8-8 DTC 에 대해 제공된 식(17)에 따라 수행된다. 상기 국제 표준 코딩 시스템에 사용된 IDCT 는 또한 상기 국제 표준 코딩 시스템을 규정하는 국제 표준(STD. IEC 61834 - 2-ENGL 1,998) 8-8 IDCT에 대해 제공된 식(18)에 따라 수행된다.
8-8 DCT 장치(이 출원에서는 "제 1 테크놀로지"로 불리는)의 예는 일본 특개평 5-181896호에 기술되어 있으며, 8-8 DCT 는 영상 데이터로 이루어진 "8x8" 화소 데이터로 구성되는 매 블록마다 수행되고, 다음의 식(19), (20)에 따라 종 방향으로 배열된 8개의 화소에 의해 횡방향으로 배열된 8개의 요소 데이터를 승산함으로써 얻어진 적들로 구성된다.
8-8DCT 장치에서, 상기 8-8 DCT 및 8-8 IDCT 는 식(17) 및 (18)로부터 유도된 행렬식(19), (20)에 다른 산술 계산에 의해 수행된다.
위의 일본 특개평 5-181896호에 기술된 제 1 테크놀로지는 2개의 8-8 DCT 장치를 구비한다. 상기 행렬식(19)에 따라 산술 계산에 의해 8-8 DCT 를 수행하는 2개의 8-8 DCT 중 하나는 8개의 입력 데이터들(a0 내지 a7)중 하나의 입력 데이터 출력을 선택하도록 적용된 8개의 선택 회로로 구성되고, 7개의 고정된 계수 멀티플라이어들은 상기 선택 회로에 접속되고 다른 계수에 의해 선택 회로로부터 출력된 각각의 선택된 신호들을 승산하는데 적용되고, 5가지 유형의 가산/감산 유닛은 고정된 계수 멀티플라이어의 출력들에 접속되고, 여러가지 다른 조합된 방법으로 고정된 계수 멀티플라이어로부터 각각의 출력 신호들에 대해 가산 및 감산 계산을 수행하도록 적용되고 따라서 5가지 형태의 가산/감산 유닛중 3가지 형태의 가산/감산 유닛은 코싸인 변형에 대해 사용되고 나머지 2개 형태의 가산/감산 유닛은 역 코싸인 변형에 대해 사용되고 8개의 코싸인 변형 계수들은 스위칭, 4회, 선택 회로의 선택 데이터 방법 및 스위칭, 4회, 가산 및 감산 유닛에서 가산에서 감산까지의 계산 방법 또는 반대로 얻어지도록 구성된다. 그러므로, 코싸인 변형이 수행될때, 입력 데이터들(a0 내지 a7)은 8 입력 영상 데이터들(x0 내지 x7)로부터 얻어진 (a0=x0+x7, a1=x1+x6, a2=x2+x5, a3=x3+x4, a4=x0-x7, a5=x1-x6, a6=x2-x5, a7=x3-x4), 역 코싸인 변형이 수행될때, 입력 데이터들(a0 내지 a7)은, 8개의 입력 영상 데이터들(x0 내지 x7)로부터 얻어진 (a0=x0, a1=x6, a2=x2, a3=x4, a4=-x7, a5=x1, a6=-x5, a7=x3)를 포함한다.
상기 2개의 8-8 DCT 장치중 다른 것은 8개의 입력 데이터들(a0 내지 a7)에서 하나의 입력 데이터를 선택하도록 적용된 4개의 선택 회로와, 선택 회로에 연결되고 상이한 계수에 의해 선택 회로로부터 출력되는 각각 선택된 신호들을 승산하도록 적응되는 4개의 고정된 계수 멀티플라이어와, 상기 고정된 계수 멀티플라이어의 출력에 접속되고 여러 다른 방법으로 고정된 계수 멀티플라이어로부터 각각의 출력 신호로 가산 또는 감산 연산들을 행하도록 적응된 5개 형태의 가산/감산 유닛으로 구성되고, 4가지 형태의 가산/감산 유닛중 2가지 형태의 가산/감산 유닛은 코싸인변형에 대해 사용되고, 나머지 2가지 가산/감산 유닛은 역 코싸인 변형에 대해 사용되며, 8개의 코싸인 변형 계수들은 스위칭, 8번, 선택 회로의 선택 데이터 방법, 스위칭, 8번, 가산 및 감산 유닛에서 가산에서 감산까지의 계산 방법 또는 반대의 방법, 스위칭, 8번, 상기 고정된 계수 멀티플라이어에서 2가지 형태의 계수들의 선택에 의해 얻어지도록 구성된다. 이들 DCT 장치에 대한 8개의 입력 데이터들(a0 내지 a7)은 2가지 DCT 장치중 상기의 하나의 장치와 같다.
이들 2가지 DCT 장치 둘다에서, DCT 계수들은 8x8 화소 데이터로 된 블록으로 구성되고, 횡 또는 종 방향으로 배열된 8개의 화소 데이터로 이루어진 각 라인으로부터 얻어진 입력 데이터상에서 DCT 를 수행함으로써 계산될 수 있으며, 즉, 64 DCT 계수들은 예로 횡 방향으로 배열된 8개의 화소 데이터로 이루어진 제 1 라인으로부터 얻어진 입력 데이터, 그때, 제 2 라인, 제 3 라인... 제 8 라인으로부터 얻어진 입력 데이터상에서 순서적으로 DCT 를 수행함으로써 얻어지며, 각각은 또한 횡 방향으로 배열된 8개의 화소 데이터로 이루어진다. 상기 DCT 는 주파수 영역에서 신호 성분에 대해 시간축상의 데이터 신호들을 변형하는데 사용된다.
그러므로, 상기 DCT 장치에 의해 얻어진 64 DCT 계수들은 주파수 영역에서 주파수 성분을 표시한다. 상기 64 DCT 계수들은 8x8 화소 데이터로된 블록의 상부 좌측상에서 집중화된 저주파수 성분만 코딩하기 위해 사용되며, 8x8 화소 블록에서 포함된 정보를 압축하는 영상 데이터를 제공한다. 따라서, 영상에 포함된 모든 8x8 화소 블록에서 단일적으로 8x8 화소 블록에 제공된 DCT 를 수행함으로써, 매 8x8 화소 블록에 대해 압축된 정보를 가지는 영상 데이터는 전송을 위해 얻어진다.
더구나, 8-8 DCT 기능과 2-4-8 DCT(후에 설명됨) 기능 둘다를 사용하는 또다른 DCT 장치(이 출원에서는 "제 2 기술"로 불림)는 일본 특개평 6-243160호에 기술되어 있다. 상기 제 2 기술 장치는 요소 스위칭 제어기, 상기 요소 스위칭 제어기로부터 전달되는 제어 신호에 따라 데이터를 소트하는 제 1 소팅 회로, 제 1 의 제 4 등급 내부 승산 계산 회로, 상기 요소 스위칭 제어기로부터 전달되는 제어 신호에 따라 데이터를 소트하는 제 2 소팅 회로, 상기 요소 스위칭 제어기로부터 전달되는 제어 신호에 따라 2-4-8 DCT 를 수행하는 2-4-8 DCT 에 대해 내부 승산 계산 회로, 8-8 DCT 에 대해 내부 승산 계산 회로를 선택하기 위한 제 8 등급/제 4 등급 내부 승산 회로, 요소 스위칭 회로로부터 전달된 제어 신호에 따라 2-4-8 DCT 에 대한 내부 승산 계산 회로의 기능 또는 8-8 DCT 에 대한 내부 승산 계산 회로의 기능중 하나를 선택하기 위한 제 4 등급의 내부 승산 회로, 상기 요소 스위칭 회로로부터 전달되는 제어 신호에 따라 데이터를 소트하는 제 3 소팅 회로로 구성된다.
그러므로, 상기 제 1 기술중 하나의 8-8 DCT 장치에서, 불편함이 디지탈 비디오 연산시 요구된 2-4-8 DCT 가 쉽게 수행되어 발생한다. 이것은 다음의 이유에 기인한다. 즉, 2-4-8 DCT 는 식(21)에 따라 수행되고 2-4-8 IDCT 는 식(22)에 따라 수행된다.
상기 8-8 DCT 와 8-8 IDCT 에 대해 사용된 식(17)과 식(18) 및 2-4-8 DCT 와 2-4-8 IDCT 에 대해 사용된 식(21) 및 식(22)사이의 비교로부터 나타난 바와같이, 상기 8-8 DCT 장치에 사용된 고정 계수 승산기의 고정 계수들은 {식(17)과 식(18)에서코싸인 값으로 표시된 값} 2-4-8 DCT 장치에 사용된 고정 계수 승산기의 값{식(21)과 식(22)에서 코싸인값으로 표시된 값}과는 다르며, 더구나, 위의 고정 계수에 의해 승산된 데이터 또한 다르다. 그러므로, 상기 2-4-8 DCT 가 영상 데이터상에서 수행될때, 상기 2-4-8 DCT 장치는 위의 일본 특개평 6-243160호에 기술된 8-8 DCT장치와 유사한 방법으로 개별적으로 만들어진다.
더구나, 제 2 기술에서 서술된 DCT 장치에서, 상기 8-8 DCT 와 2-4-8 DCT 둘다가 사용된다. 더구나, 2차원 4x8 DCT 장치로서 연산되는 모드로 연산되는 동안, 상기 DCT 장치는 또한, 제어 신호들, 예로 논리 "1"의 신호들이 2차원 4x8 DCT 기능을 수행하기 위해, 상기 계수 스위칭 제어기에서 제 1 소팅 회로, 제 2 소팅 회로, 제 8 등급/제 4 등급 내부 승산 회로, 제 4 등급 내부 승산 회로 제 3 소팅 회로까지 전달되는 구성으로 되고, 2차원 8x8 DCT 장치로서 연산되는 모드로 연산될때는, 논리 "0"의 제어 신호들은 2차원 4x8 DCT 기능을 수행하도록 계수 스위칭 제어기에서 제 1 소팅 회로, 제 2 소팅 회로, 제 8 등급/제 4 등급 내부 승산 회로, 제 4 등급 내부 승산 회로 제 3 소팅 회로까지 전달된다. 즉, 상기 정치는 매회 입력 데이터가 계수 스위칭 제어기로부터 전달되는 제어 신호에 의해 결정된 소팅 순서에 따라 저장되도록 구성되며, 소정의 내부 승산 산술 연산은 상기 계수 스위칭 제어기로부터 출력되는 제어 신호에 대응하는 DCT 계수를 얻기 위해 저장된 데이터상에서 수행된다. 결과적으로, 데이터 저장 처리는 항상 2차원 4x8 DCT 뿐아니라 2차원 8x8 DCT 를 항상 요구한다. 2차원 4x8 DCT 또는 2차원 8x8 DCT 의 기능을 수행하기 위해 계수 스위칭 제어기로부터 전달된 제어 신호에 의한 각각의 데이터 저장 및 회로의 선택은 서로 분리할 수 없다. 즉, 종래의 DCT 장치는 2차원 4x8 DCT 또는 2차원 8x8 DCT를 실행하기 위해 적응된 회로 선택이 데이터 저장 처리가 분리할 수 없는 방법으로 요구되는 상태로 이루어지게 구성된다. 그러므로, 상기 데이터 소팅이 RAM(랜덤-억세스 메모리)을 통해 수행되면, 반복된 데이터의 소팅 처리가 필요하며, 따라서, 데이터 소팅시 많은 시간과 DCT 계수 획득시 지연이 생기며, 상기 데이터 소팅이 하드웨어를 통해 수행되면, 회로의 규모가 커지고 신호 전달시 지연이 유발된다
발명의 요약상기와 같이, 본 발명의 목적은 영상 신호들을 압축하는 방법, 압축된 영상 신호들을 압축해제하는 방법, 2 - 2N-1- 2NDCT 및 2 - 2N-1- 2NIDCT 둘다에 사용된 고정 계수에 의해서 기수 위치에서 고정 계수를 사용하여 고속 변환을 이루고 회로 규모를 감소시키고 기본 2N- 2NDCT 및 2N- 2NIDCT 장치에서 2 - 2N-1- 2NDCT 와 2 - 2N-1- 2NIDCT 가 상호 협조함으로써 고속 변환을 수행하는 압축 처리 장치 및 압축해제 처리 장치를 제공하는 것이다.
본 발명의 제 1 국면에 따르면, 영상 신호들을 압축하는 방법이 제공된다. 즉, 이산 코싸인 변환 규칙에 따라 결정되고 아래에서 도시된 식(1) 및 식(2)로 주어진 각각의 고정 계수들 Pk 에 대해, 영상 데이터를 형성하는 화소 데이터의 한 블록의 2Nx 2N(N은 자연수)개를 구성하는 한개의 라인 또는 한개의 스트링(string)에 포함된 화소 데이터의 2N개를 선택하는 처리 단계와, 적들을 얻기 위해 각각 대응하는 고정 계수들 Pk 에 의해 선택된 화소 데이터의 각각을 승산하는 처리 단계와, 승산 처리에 의해 얻어지고 이산 코싸인 변환 규칙에 따라 결정된 적들 사이에서 가산 연산들과 감산 연산들을 수행하는 처리 단계와, 상기 2Nx 2N화소 데이터의 블록을 구성하는 각 라인과 각 스티어링에 대해 변환 계수 데이터 Fj 로서 가산 연산들과 감산 연산들에 의해 얻어진 값을 출력하는 처리 단계를 구비하며, 반면, 선택 처리시, 2Nx 2N의 화소 데이터 블록으로 이루어지는 한개의 라인 또는 하나의 스티어링에 포함된 2N개의 화소 데이터를 구성하는 제 1 및 제 2 세트의 화소 데이터는 소정의 순서에 따라, 아래에 도시된 식(1)과 식(2)의 홀수 위치의 K 로 고정 계수들 Pk 중에서, 각각의 고정 계수에 대해 선택되며, 반면, 승산 처리시, 식(1)과 식(2)에서 홀수 위치의 K 로 각각의 고정 계수들에 대해 선택된 제 1 및 제 2 세트의 화소 데이터는 적들을 얻기 위해 식(1)과 식(2)에서 홀수 위치의 K로 각각의 고정 계수들에 의해 승산된다.
전의 설명에서, 2개의 화소 데이터의 합이 화소 데이터 fj 에 포함된 데이터 "j"를 가지는 모드이며, 하나는 저차의 데이터이고 다른 것은 다음의 저차 데이터이며 후에, 같은 방법으로, 선택 처리시 선택되는 제 1 세트의 화소 데이터로서 선택되고 반면, 2개의 화소 데이터 사이의 차는 화소 데이터 fj 에 포함된 데이터 "j"를 가지며, 하나는 저차 데이터이고 다른 것은 다음의 저차 데이터이고 후에 같은 방법으로, 선택 처리시 선택되는 제 2 의 화소 데이터로서 선택된다.
본 발명의 제 2 국면에 따라, 영상 신호들을 압축해제하는 방법이 제공되며, 즉, 아래에 나타난 식(3)과 식(4)에서 주어진 각각의 고정 계수들 PK 에 대해, 이산 코싸인 변환 규칙에 의해 변환된 후, 전송된 변환 계수 데이터를 형성하는 2Nx 2N(N은 자연수) 개의 변환 계수 데이터 블록을 이루는 한개의 라인 또는 하나의 스테어링에 포함되어 이산 코싸인 변환 규칙에 따라 결정된 2N개의 변환 계수 데이터 Fj(0 ≤j≤ 2N-1)을 선택하는 처리 단계와, 적(product)들을 얻기 위해 각각 대응하는 고정 계수 PK 에 의해 각각의 선택된 변환 계수 데이터를 승산하는 처리 단계와, 이산 코싸인 변환 규칙에 따라 결정된 승산 처리에 의해 얻어진 적들 사이의 가산 연산들과 감산 연산들을 수행하는 처리 단계와, 상기 2Nx 2N화소 데이터 블록을 이루는 각 라인 또는 각 스테어링에 대해 화소 데이터 fj 로서 가산 연산들 및/또는 감산 연산들에 의해 얻어진 값을 출력하는 처리 단계를 구비하며, 반면, 선택 처리시, 2Nx 2N개의 변환 계수 데이터 블록으로 이루어지는 한개의 라인 또는 한개의 스트링ㅇ에 포함된 2N개의 변환 계수 데이터로 구성되는 제 1 및 제 2 세트의 변환 계수 데이터는 소정의 순서에 따라, 식(3) 및 식(4)에서 홀수 위치의 K 로, 고정 계수들 Pk중에서, 각각의 고정 계수에 대해 선택되며, 반면, 승산 처리시, 식(3) 및 식(4)에서 홀수 위치의 K 의 각각의 고정 계수에 대해 선택된 각각의 제 1 및 제 2 세트의 변환 계수 데이터는 적들을 얻기 위해 식(3) 및 (4)에서 홀수 위치의 K를 갖는 고정 계수들 각각에 의해 승산된다.
이전의 기술과 같이, 제 1 세트의 변환 계수 데이터는 2N개의 변환 계수 데이터 Fj 의 제 1 절반부와 2N-1개의 변환 계수 데이터로 이루어지는 "j" 데이터를포함하는 제 1 변환 데이터 세트로부터 선택된 데이터중 하나로 이루어지는 변환 계수 데이터 합이며, 변환 계수 데이터는 2N개의 변환 계수 데이터 Fj 의 제 2 절반부로 이루어지고 2N-1개 변환 계수 데이터로 포함되는 "j" 데이터로 구성되는 제 2 변환 데이터 세트로부터 선택된 하나의 데이터로 구성된다. 상기 제 2 세트의 변환 데이터는 제 1 세트의 변환 데이터로부터 선택된 하나의 데이터로 이루어지는 변환 계수 데이터와 제 2 세트의 변환 데이터로부터 선택된 하나의 데이터로 이루어진 변환 계수 데이터 사이의 차다.
본 발명의 제 3 국면에 따라, 아래에 도시된 식(5)와 식(6)에 주어진 각각의 고정 계수 PK에 대해, 영상 데이터를 형성하는 화소 데이터 블록의 블록 2Nx 2N(N은 자연수)을 포함하는 한개의 라인 또는 한개의 스트링에 포함되어 이산 코싸인 변환 규칙에 따라 결정된 화소 데이터 fj (0 ≤ j ≤ 2N- 1)의 2N개를 선택 처리 단계와, 적들을 얻기 위해 대응 고정 계수들 Pk 의 각각에 의해 선택된 화소의 각각을 승산하는 처리 단계와, 승산 처리에 의해 얻어지고 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이에서 가감산 연산들을 수생하는 처리 단계와, 2Nx 2N화소 데이터 블록으로 이루어지는 각 라인이나 각 스트링에 대해 변환 계수 데이터 Fj 로서 가감산 연산들에 의해 얻어진 값을 출력 처리하는 단계를 포함하는 영상 신호들을 압축하는 방법을 제공하며, 반면, 선택 처리시, 이산 코사인 2N- 2N의 경우에, 2N개의 화소 데이터는 소정의 순서에 따라 2N- 2N이산 코사인 변환에 의해 결정된 각각의 고정 계수들 Pk 에 대해 2Nx 2N화소 데이터의 블록으로 구성되는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 선택되고, 선택 처리시, 2 - 2N-1- 2N의 이산 코싸인 변환의 경우에, 식(5) 및 식(6)에서 홀수 위치의 k 로 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 승상되는 2N개의 화소 데이터로 이루어지는 제 1 및 제 2 세트의 화소 데이터 각각은 소정의 순서에 따라 2Nx 2N개의 화소 데이터의 블록을 포함하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 선택된다.
반면, 승산 처리시, 2N- 2N이산 코싸인 변환의 경우에, 선택 처리시 선택된 2N개의 화소 데이터의 각각은 적들을 얻기 위해 고정 계수들 Pk 중에서 대응하는 고정 계수 각각에 의해 승상되고, 반면, 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 식(5) 및 식(6)의 홀수 위치의 k 로 고정 계수들 Pk 중에서, 대응하여 고정된 계수를 기초로 선택된 제 1 및 제 2 세트의 화소 데이터 각각은 식(5) 및 식(6)에서 홀수 위치 k 로 고정 계수들 Pk 중에서, 고정 계수에 의해 승상된다.
반면, 가감산 처리시 가감산 연산들은 2N- 2N이산 코싸인 변환에 따라 결정되고 승산 처리에 의해 얻어진 적들 사이에서 수행된다. 반면, 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 가감산 연산들은 승산 처리에 의해 얻어지고 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정된 적들 사이에서 수행된다.
또한, 2N- 2N이산 코싸인 변환 블록에서 선택되는 화소 데이터는 식(6) 및 식(6)에서 홀수 위치의 K로, 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 승산되는 2Nx 2N개의 화소 데이터의 블록을 포함하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로 이루어지는 제 1 세트의 화소 데이터와 식(5) 및 식(6)에서 홀수 위치의 K 로, 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 승산되는 2N개의 화소 데이터로 이루어지는 제 2 세트의 화소 데이터를 구비하는 것이 양호하다.
또한, 선택 처리 단계에서 선택된 화소 데이터는 소정 쌍의 화소 데이터를 구성하는 화소 데이터 사이의 합 및 차인 것이 양호하다.또한, 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 소정 쌍의 화소 데이터를 포함하는 화소 데이터는 화소 데이터 fj 에 포함된 "j" 데이터를 갖는 2개의 화소 데이터이며, 하나는 저차수의 데이터이고, 다른것은 다음 저차수의 데이터이다.
더구나, 2N- 2N이산 코싸인 변환의 경우에, 소정 쌍의 화소 데이터를 포함하는 화소 데이터는 2N개의 화소 데이터 fj의 제 1 절반부로 이루어지며 2N-1개의 화소 데이터로 이루어지는 "j" 데이터를 포함하는 제 1 변환 데이터 세트로부터 선택된 하나의 데이터로 구성되는 화소 데이터이고, 2N개의 화소 데이터 fj 의 제 2 절반부로 이루어지고 2N-1개의 화소 데이터로 이루어지는 "j" 데이터를 포함하는 제 2 화소 데이터 세트로부터 선택된 하나의 데이터로 구성되는 화소 데이터이다.
본 발명의 제 4 국면에 따르면, 식(7) 및 식(8)에 주어진 각각의 고정 계수들 Pk 에 대해 이산 코싸인 변환 규칙에 의해 변환된 후 전송된 변환 계수 데이터를 형성하는 2Nx 2N개의 변환 계수 데이터 블록(N은 자연수)으로 구성되는 한개의 라인 또는 한개의 스트링에 포함되어 이산 코싸인 변환 규칙에 따라 결정된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택 처리 단계와, 승산 처리에 의해 얻어지고 이산 코싸인 변환 규칙에 따라 결정된 적들 사이의 가감산 연산들을 수행 처리 단계와, 상기 2Nx 2N변환 계수 데이터 블록을 포함하는 각 라인 또는 스트링에 대해 화소 데이터 fj 로서 가감산 연산들에 의해 얻어진 값을 출력 처리하는 단계를 구비한다.
반면, 선택 처리시, 2N- 2N의 역 이산 코싸인 변환의 경우에, 2N개의 변환 계수 데이터 각각은 소정의 순서에 따라 2N- 2N역 이산 코싸인 변환 방법에 의해 결정된 각각의 고정 계수들 Pk 에 대해 2Nx 2N변환 계수 블록을 포함하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로부터 선택된다. 반면, 선택 처리시, 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 2Nx 2N개의 변환 계수 데이터 블록을 포함하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 구성되는 제 1 및 제 2 세트의 변환 계수 데이터 각각은 소정의 순서에 따라 식(7) 및 식(8)의 홀수 위치 k 로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 대해 선택된다.
반면, 승산 처리시, 2N- 2N역 코싸인 변환의 경우에, 선택 처리시 선택된 화소 데이터의 2N개 각각은 적들을 얻기 위해 고정 계수들 Pk 중에서 대응하는 고정 계수 각각에 의해 승산되고, 반면, 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 식(7)과 식(8)에서 홀수 위치의 K 로 고정 계수들 Pk 중에서, 각각 대응하는 고정 계수를 기초로 하여 선택된 제 1 및 제 2 세트의 변환 계수 각각은 적들을 얻기 위해 식(7) 및 식(8)의 홀수 위치의 K 로 고정 계수들 Pk 중에서 고정된 계수 각각에 의해 승산된다.
반면, 가감산 처리시, 2N- 2N역 이산 코싸인 변환의 경우에, 가감산 연산들은 2N- 2N이산 코싸인 변환 규칙에 따라 결정되고 승산 처리에 의해 얻어진 적들 사이에서 수행되고, 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 가감산 연산들은 승산 처리에의 얻어지고 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정된 적들 사이에서 수행된다.
전의 기술과 같이, 양호한 모드가 2N- 2N역 이산 코싸인 변환시 선택된 변환 계수 데이터가 식(7) 및 식(8)에서 홀수 위치의 K 로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 의해 승산되는 2Nx 2N개의 변환 계수 데이터를 이루는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 이루어지는 제 1 세트의 변환 계수 데이터와 식(7) 및 식(8)의 우수 위치의 k 로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 의해 승산되는 2N개의 변환 계수 데이터로 이루어지는 제 2 세트의 변환 계수 데이터를 구비하는 모드이다.
본 발명의 제 5 국면에 따르며, 아래에 도시처럼 식(9) 및 식(10)에 주어진 각각의 고정된 Pk 에 대해, 영상 데이터를 형성하는 2Nx 2N개의 화소 데이터(N은 자연수)로 이루어지는 한개의 라인과 한개의 스트링에 포함되어 이산 코싸인 변환 규칙에 따라 결정된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)을 선택하는 수단과, 적들을얻기 위해 대응하는 고정 계수들 Pk 의 각각에 의해 선택된 화소 데이터 각각을 승산하는 수단과, 이산 코싸인 변환 규칙에 따라 결정되고 승산 처리에 의해 얻어진 적들 사이의 가감산 동작을 수행하는 수단과, 2Nx 2N화소 데이터 블록으로 이루어지는 각 라인 또는 각 스트링에 대해 변환 계수 데이터 Fj 로서 가감산 연산들에 의해 얻어진 값을 출력하는 수단을 구비하는 영상 신호들을 압축하는 장치를 제공한다.
반면, 선택 수단은 2Nx 2N개의 화소 데이터 블록을 이루는 한개의 라인 또는 스트링에 포함된 2N개의 화소 데이터를 구성하는 제 1 및 제 2 세트의 화소 데이터는 아래에 도시된 소정의 순서에 따라 식(9) 및 식(10)의 홀수 위치의 K로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 대해 선택되는 수단이다. 반면, 승산 처리시, 식(9) 및 식(10)에서 홀수 위치의 k 로 고정된 계수 각각에 대해 선택된 제 1 및 제 2 세트의 화소 데이터는 적들을 얻기 위해 식(9) 및 식(10)에서 홀수 위치 k 로 고정 계수에 의해 승산된다.
전의 기술과 같이, 양호한 모드는 화소 데이터 fj 에 포함된 "j" 데이터를 가지는 2개의 화소 데이터 합인 모드이고, 하나는 저차수 데이터, 다른 것은 다음의 저차수 데이터이며 후에 같은 방법에서, 제 1 세트의 화소 데이터로서 선택 수단에 의해 선택되고, 반면, 상기 화소 데이터 fj 에 포함된 "j" 데이터를 가지는 2개의 화소 데이터 사이의 차인 모드이고, 하나는 저차수 데이터이고 다른 것은 다음 저차수의 데이터이고, 후에 같은 방법으로, 제 2 세트의 화소로서 선택 수단에 의해 선택된다.
본 발명의 제 6 국면에 따라, 아래에 도시된 식(11) 및 식(12)에 주어진 고정 계수들 Pk 에 대해, 이산 코싸인 변환 방법에 의해 변환된 후에 전송된 변환 계수 데이터를 형성하는 2Nx 2N개의 변환 계수 데이터 블록(N은 자연수)을 이루는 한개의 라인 또는 스트링에 포함되고 이산 코싸인 변환 규칙에 따라 결정된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단과, 적들을 얻기 위해 대응하는 고정 계수들 Pk 각각에 의해 선택된 변환 계수 데이터 각각을 승산하는 수단과, 이산 코싸인 변환 규칙에 따라 결정된 승산 처리에 의해 얻어진 적들 사이의 가감산 연산들을 수행하는 수단과, 2Nx 2N화소 데이터를 이루는 각 라인 또는 스트링에 대해 화소 데이터 fj 로서 가감산 연산들에 의해 얻어진 값을 출력하는 수단을 구비하는 영상 신호들을 압축해제하는 장치를 제공한다.
반면, 선택 수단은 2Nx 2N개의 변환 계수 데이터 블록으로 이루어지는 한개의 라인 또는 스트링에 포함된 2N개의 변환 계수 데이터로 구성되는 제 1 및 제 2 세트의 변환 계수 데이터 각각은 소정의 순서에 따라, 식(11) 및 식(12)에서 홀수 위치 k로, 고정 계수들 Pk 중에서, 고정 계수 각각에 대해 선택되는 수단이고, 상기 승산 수단은 식(11) 및 식(12)에서 홀수 위치 k 로 고정 계수 각각에 대해 선택된 제 1 및 제 2 세트의 변환 계수 데이터 각각은 적들을 얻기 위해 식(11) 및 식(12)에서 홀수 위치 k 로 고정 계수 각각에 의해 승산되는 수단이다.
전의 기술과 같이, 양호한 모드는 상기 선택 수단이 변환 계수 데이터의 제 1 셋으로서, 2N개의 변환 계수 데이터 Fj 의 절반부를 구성하고 2N-1개의 변환 계수 데이터를 구성하는 "j" 데이터를 포함하는 제 1 변환 데이터 세트로부터 선택된 하나의 데이터로 이루어진 변환 계수 데이터와 2N개의 변환 계수 데이터 Fj 의 절반부를 구성하고, 2N-1개의 변환 계수 데이터를 구성하는 데이터 "j"를 포함하는 제 2 변환 데이터 세트로부터 선택된 하나의 데이터로 이루어지는 변환 계수 데이터의 합을 선택하는 모드이고, 상기 선택 수단은 제 2 세트의 변환 데이터로서, 제 1 변환 데이터 세트로부터 선택된 하나의 데이터로 이루어지는 변환 계수 데이터와 제 2 변환 데이터 세트로부터 선택된 하나의 데이터로 이루어지는 변환 계수 데이터 사이의 차를 선택하는 모드이다.
본 발명의 제 7 국면에 따르면, 아래에 도시된 식(13) 및 식(14)에서 주어진 고정 계수들 Pk 각각에 대해, 영상 데이터를 형성하는 2Nx 2N개의 화상 데이터 블록중 하나의 블록(N은 자연수)을 포함하는 한개의 라인 또는 스트링에 포함되고 이산 코싸인 변환 규칙에 따라 결정된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단과, 적들을 얻기 위해 각각 대응하는 고정 계수들 Pk 에 의해 각각 선택된 화소 데이터를 승산하는 수단과, 상기 승산 수단에 의해 얻어지고 이산 코싸인 변환 규칙에 따라 결정된 적들 사이에서 가감산 연산들을 수행하는 수단과, 2Nx 2N화소 데이터의 블록으로 구성되는 각 라인 또는 각 스트링에 대해 변환 계수 데이터 Fj 로서 가감산 연산들에 의해 얻어진 값을 출력하는 수단을 구비하는 영상 신호들을 압축하는 장치를 제공한다.
반면, 상기 선택 수단은, 2N- 2N이산 코싸인 변환의 경우에, 소정의 순서에 따라 2N- 2N이산 코싸인 변환 방법에 의해 결정된 고정 계수들 Pk 각각에 대해 2Nx 2N화소 데이터 블록으로 이루어지는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 2N개의 화소 데이터를 선택하며, 상기 선택 수단은, 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 소정의 순서에 따라 2Nx 2N개의 화소 데이터 블록으로 이루어지는 한개의 라인 또는 스트링에 포함된 2N개의 화소 데이터로부터 식(13) 및 식(14)에서 홀수 위치의 K 로 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 승산되는 2N개의 화소 데이터로 구성되는 제 1 및 제 2 세트의 화소 데이터 각각을 선택한다.
반면, 상기 승산 수단은 2N- 2N이산 코싸인 변환의 경우에, 적들을 얻기 위해 고정 계수들 Pk 중에서 대응하는 고정 계수 각각에 의해 선택 수단에 의해 선택된 2N개의 화소 데이터 각각을 승산하며, 한편, 상기 승산 수단은 식(13) 및 식(14)의 홀수 위치의 K 로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 의해 식(13) 및 식(14)에서 홀수 위치의 K 로, 고정 계수들 Pk 중에서, 대응하는 고정 계수 각각을 기초하여 하여 선택된 제 1 및 제 2 세트의 화소 데이터를 승산하며, 상기 가감산 수단은, 2N- 2N이산 코싸인 변환의 경우에, 승산 처리에 의해 얻어져 2N- 2N이산 코싸인 변환에 따라 결정된 적들 사이의 가감산 연산들을 수행하며, 상기 가감산 수단은 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 상기 승산 처리에 얻어져 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정된 적들 사이의 가감산 연산들을 수행한다.
전의 기술과 같이, 양호한 모드는 상기 2N- 2N이산 코싸인 변환시 선택된 상기 화소 데이터는 식(13)과 식(14)의 홀수 위치의 K로 고정 계수들 Pk 중에서, 각각의 고정된 계수에 의해 승산되는 2Nx 2N개의 화소 데이터로 구성되는 한개의 라인 또는 스트링에 포함된 2N개의 화소 데이터를 이루는 제 1 세트의 화소 데이터와, 식(13)과 식(14)에서 홀수 위치로 K 로 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 승산되는 2N개의 화소 데이터로 이루어지는 제 2 세트의 화소 데이터를 구비하는 모드이다.
또한 양호한 모드는 상기 선택 수단이 화소 데이터로서, 화소의 소정 쌍을 이루는 화소 데이터 사이의 합과 차를 선택하는 모드이다.
또한, 양호한 모드는 상기 선택 수단은 화소 데이터의 소정 쌍을 이루는 화소 데이터로서, 2 - 2N-1- 2N이산 코싸인 변환의 경우에, 화소 데이터 fj 에 포함된 "j" 데이터를 가지는 2개의 화소 데이터이며, 그중 하나는 저차수 데이터이고, 다른 하나는 다음 저차수 데이터인 모드이다.
또한, 양호한 모드는 상기 선택 수단이 화소 데이터의 소정쌍으로 이루는 화소 데이터로서, 2N- 2N이산 코싸인 변환의 경우에, 2N개의 화소 데이터 fj 의 제 1 절반부를 포함하고 2N-1개의 화소 데이터를 포함하는 "j" 데이터를 포함하는 제 1 변환 데이터 세트로부터 선택된 하나의 데이터로 이루어지는 화소 데이터와 2N개의 화소 데이터 fj 의 제 2 절반부를 포함하고 2N-1개의 화소 데이터를 포함하는 "j" 데이터를 포함하는 제 2 화소 데이터로부터 선택된 하나의 데이터로 이루어지는 화소 데이터를 선택하는 모드이다.
본 발명의 제 8 국면에 따라, 아래에 도시된 식(15)와 식(16)에 주어진 각각의 고정 계수에 대해, 이산 코싸인 변환 방법에 의해 변환된 후에 전송된 변환 계수 데이터를 형성하는 2Nx 2N개의 변환 계수 데이터 블록(N 은 자연수)을 포함되어 이산 코싸인 변환 규칙에 따라 결정된 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단과, 적들을 얻기 위해 대응하여 고정된 계수들 Pk 각각에 의해 선택된 변환 계수 데이터 각각을 승산하는 수단과, 상기 승산 수단에 의해 얻어지고 상기 이산 코싸인 변환 규칙에 따라 결정된 적들 사이의 가감산 연산들을 형성하는 수단과, 2Nx 2N변환 계수 데이터 블록을 구성하는 각 라인 또는 스트링에 대해 화소 데이터 fj 로서 가감산 연산들에 의해 얻어진 값을 출력하는 수단을 구비하는 영상 신호들을 압축해제하는 장치를 제공한다.
한편, 상기 선택 수단은, 2N- 2N역 이산 코싸인 변환의 경우에, 소정의 순서에 따라 2N- 2N역 이산 코싸인 변환 규칙에 의해 결정된 각각의 고정된 계수들 Pk 에 대해 2Nx 2N변환 계수 데이터 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로부터 2N개의 변환 계수 데이터를 선택한다. 한편, 상기 선택 수단은 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 소정의 순서에 따라 식(15) 및 식(16)에서 홀수 위치 K 로, 고정 계수들 Pk 중에서, 각각의 고정 계수에 대해 2Nx 2N개의 변환 계수 데이터 블록을 이루는 한개의 라인 또는 스트링에 포함된 2N개의 변환 계수 데이터를 구성하는 각각의 제 1 및 제 2 세트의 변환 계수 데이터를 선택한다.
한편, 승산 수단은, 2N- 2N역 이산 코싸인 변형의 경우에, 적들을 얻기 위해, 고정 계수들 Pk 중에서, 각각 대응하는 고정 계수에 의해 선택 처리시 선택된 2N개의 화소 데이터 각각을 승산하며, 상기 승산 수단은, 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 적들을 얻기 위해 식(15)과 식(16)의 홀수 위치 K 로 고정 계수들 Pk 중에서, 각각의 고정 계수에 의해 식(15) 및 식(16)의 홀수 위치 K 로, 고정 계수들 Pk 중에서, 각각 대응하는 고정 계수를 기초로 선택된 제 1 및 제 2 세트의 변환 계수 데이터 각각을 승산한다.
반면, 상기 가감산 수단은, 2N- 2N역 이산 코싸인 변환의 경우에, 승산 수단에 의해 얻어진 2N- 2N이산 코싸인 변환에 따라 결정되고 적들 사이의 가감산 연산들을 수행하며, 상기 가감산 연산들은 2 - 2N-1- 2N역 이산 코싸인 변환의 경우에, 승산 처리에 의해 얻어져 상기 2 - 2N-1- 2N이산 코싸인 변환에 따라 결정된 적들 사이의 가감산 연산들을 수행한다.
더구나, 양호한 모드는 상기 선택 수단이, 2N- 2N역 이산 코싸인 변환시, 변환 계수 데이터로서, 식(15) 및 식(16)에서 홀수 위치 K 로, 고정 계수들 Pk 중에서, 각각의 고정된 계수에 의해 승산되는 2Nx 2N개의 변환 계수 데이터 블록으로 이루어지는 한개의 라인 또는 스트링에 포함된 2N개의 변환 계수 데이터를 이루는 제 1 셋트의 변환 계수 데이터와, 식(15)와 식(16)에서 우수 위치의 K 로 고정 계수들 Pk 중에서 각각의 고정 계수에 의해 승산되는 2N개의 변환 계수 데이터로 구성되는 제 2 세트의 변환 데이터를 선택하는 모드이다.
본 발명의 목적, 장점, 특징은 첨부된 도면과 협조하여 다음의 설명으로부터 더욱 잘 나타날 수 있다.
도1은 본 발명의 제 1실시예에 따른 8-8/2-4-8 DCT 장치의 전기적 구성을 도시하는 개략 블록 다이어그램.
도2는 본 발명의 제 1 실시예에 따른 8-8/2-4-8 DCT 장치의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램.
도3은 본 발명의 제 1 실시예에 따른 8-8/2-4-8 DCT 장치에서 8-8 DCT 를 설명하는 연산 타이밍 챠트 일부의 도시도.
도4는 본 발명의 제 1 실시예에 따른 8-8/2-4-8 DCT 장치에서 8-8 DCT 를 설명하는 연산 타이밍 챠트 나머지 일부의 도시도.
도5는 본 발명의 제 1 실시예에 따라 8-8/2-4-8 DCT 장치에서 2-4-8 DCT 를 설명하는 연산 타이밍 챠트 일부의 도시도.
도6은 본 발명의 제 1 실시예에 따라 8-8/2-4-8 DCT 장치에서 2-4-8 DCT 를 설명하는 연산 타이밍 챠트의 나머지 부분의 도시도.
도7은 본 발명의 제 2 실시예에 따라 8-8/2-4-8 IDCT 장치의 구성을 부분적으로 도시하는 개략 블록 다이어그램.
도8은 본 발명의 제 2 실시예에 따른 8-8/2-4-8 IDCT 장치의 구성을 부분적으로 보여주는 개략 블록 다이어그램.
도9는 본 발명의 제 2 실시예에 따른 8-8/2-4-8 IDCT 장치를 구성하는 8-8 IDCT 연산을 설명하는 일부의 타이밍 챠트도.
도10은 본 발명의 제 2 실시예에 다른 8-8/2-4-8 IDCT 로 구성되는 8-8 IDCT 의 연산을 설명하는 타이밍 챠트의 나머지 부분의 도시도.
도11은 본 발명의 제 2 실시예에 따른 8-8/2-4-8 IDCT 를 구성하는 2-4-8 IDCT 의 연산을 서명하는 타이밍 챠트의 일부분의 도시도.
도12는 본 발명의 제 2 실시예에 따른 8-8/2-4-8 IDCT 를 구성하는 2-4-8 IDCT 의 연산을 설명하는 타이밍 챠트의 나머지 부분의 도시도.
도13은 본 발명의 제 3 실시예에 따른 16-16/2-8-16 DCT 의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램.
도14는 본 발명의 제 3 실시예에 다른 16-16/2-8-16 DCT 장치의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램.
도15는 본 발명의 제 4 실시예에 따른 16-16/2-8-16 IDCT 장치의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램.
도16은 본 발명의 제 4 실시예에 따른 16-16/2-8-16 IDCT 장치의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램.
*도면의 주요부분에 대한 부호의 설명
12, 23 ; MUX 17, 37 ; 가산 회로
19 ; 감산 회로 25, 225 ; 가감산 회로
361,362; AND 회로 13, 21 ; 레지스터
본 발명을 수행하는 최적의 모드는 첨부된 도면을 참고로 여러 실시예를 사용하여 더욱 상세히 기술된다.
<제 1 실시예>
도1은 본 발명의 제 1 실시예에 다른 8-8 DCT/2-4-8 DCT 장치의 전기적 구성을 도시하는 개략 다이어그램이다. 도2는 제 1 실시예에 따른 8-8 DCT/2-4-8 DCT 장치의 전기적 구성을 부분적으로 도시하는 개략 블록 다이어그램이다. 도3은 제 1 실시예에 따라 8-8 DCT/2-4-8 DCT 장치에서 8-8 DCT 를 설명하는 연산 타이밍 챠트의 일부를 도시한다. 도4는 제 1 실시예에 따른 8-8 DCT/2-4-8 DCT 장치에서 8-8 DCT 를 설명하는 연산 타이밍 챠트의 나머지 부분의 도시도이다. 도5는 제 1 실시예에 따른 8-8 DCT/2-4-8 DCT 장치에서 2-4-8 DCT 를 설명하는 연산 타이밍 챠트일부의 도시도이다. 도6은 제 1 실시예에 따른 8-8 DCT/2-4-8 DCT 장치에서 2-4-8 DCT 를 설명하는 연산 타이밍 챠트의 나머지 부분을 도시한다. 도2의 라인 I-i 상의 도1의 라인 I-i 를 겹치므로서, 상기 8-8 DCT/2-4-8 DCT 장치의 전체 구성이 도시된다.
따라서, 제 1 실시예에 따라, 상기 8-8 DCT/2-4-8 DCT 장치가 상기 8-8DCT회로의 일부가 2-4-8 DCT 에 대해 사용되는 구성이 되므로서, 상기 8-8 DCT 에서 파이프 라인 처리형 산술 연산을 통해 얻어진 고속 계산 특징은 2-4-8 DCT 에서 유지되고 고속 계산 특징은 8-8 DCT 및 2-4-8 DCT 장치를 소형화할때 조차도 계속 유지된다.
8-8 DCT/2-4-8 DCT 장치의 구성 설명전에, 8x8 화소 데이터를 구성하는 매 한개의 라인 또는 스트링상에서 8-8 DCT 를 수행하기 위해 사용되는 연산식은 가징 먼저 아래에 설명된다.
1차원식(39) 형태로 "관련기술의 설명"에 기술된 2차원식(17)을 표시하고 h 및 x 에 따라 식(39)을 압축해제함으로써, 식(39)은 식(40)에 의해 표시되고, P0내지 P6은 다음과 같다.
P0= cos ( 7 π / 16 ) = -cos ( 9 π / 16 ) = 0.195090322...
P1= cos ( 6π / 16 ) = -cos ( 10 π / 16 ) = 0.382683432...
P2= cos ( 5 π / 16 ) = -cos ( 11π / 16 ) = 0.55557023...
P3= cos ( 4 π / 16 ) = -cos ( 12π / 16 ) = 0.707106781...
P4= cos ( 3 π / 16 ) = -cos ( 13 π / 16 ) = 0.831469612...
P5= cos ( 2 π / 16 ) = -cos ( 14 π / 16 ) = 0.923879532...
P6= cos ( π / 16 ) = -cos ( 15 π / 16 ) = 0.980785280...
따라서, 식(40)이 F(0) = F0, F(1) = F1, F(2) = F2, F(3) = F3, F(4) = F4, F(5) = F5, F(6) = F6및 F(7) = F7및 f(0,y) = fo, f(1,y) = f1, f(2,y) = f2, f(3,y) = f3, f(4,y) = f4, f(5,y) = f5,f(6,y) = f6및 f(7,y) = f7에 의해 셋팅함으로써 변화될때, 식(40)은 식(41)에 의해 표시되고, 식(41)의 우측을 변화시켜, 식(42)가 얻어진다.
식(42)에 포함된 f0+ f7, f1+ f6, f2+ f5,f3+ f4, f0- f7, f1- f6, f2- f5및 f3- f4에 대해 식(43)에 의해 표시된 도면을 대체함으로써, 그때, 식(42)의 우측을 변화시키므로서, 식(44)이 얻어진다. 식(44)을 재배열함으로써, 식(45)이 얻어진다. 상기 제 1 실시예의 8-8 DCT/2-4-8 DCT 장치는 식(45)에 따라 8-8 DCT 를 수행하도록 적용된다.
다음에, 8x8 화소 데이터의 매 한개의 라인 또는 스트링상의 2-4-8 DCT 를 수행하는데 사용된 연산식이 아래에 기술되어 있다. 1차원식(46)의 형태로 "관련 기술의 설명"에 기술된 2차원식(21)을 표현하고, h 및 x 에 따라 식(46)을 압축해제함으로써 얻어진 F(0), F(1), F(2), F(3), F(4), F(5), F(6), F(7), f(0.z), f(1,z), f(2,z), f(3,z), f(4,z), f(5,z), f(6,z) 및 f(7,z)를 셋팅함으로서 결국, 식(40)에서와 같은 방법으로 F(0) = F0, F(1) = F1, F(2) = F2, F(3) = F3, F(4) = F4, F(5) = F5, F(6) = F6및 F(7) = F7과 f(0,z) = f0, F(1,z) = f1, f(2,z) = f2, f(3,z) = f3, f(4,z) = f4, f(5,z) = f5, f(6,z) = f6및 f(7,z) = f7를 셋팅함으로써, 식(47)이 얻어진다. 식(47)에서 P0내지 P6의 값은 식(40)에서의 값과 같다.
식(47)의 우측을 변화시키므로서, 식((48)이 얻어진다. 식(48)을 재배열하여,식(49)가 얻어진다.
식(49)에 포함된 f0+ f1, f2+ f3, f4+ f5, f6+ f7, f0- f1, f2- f3, f4- f5및 f6- f7에대해 식(50)에의해 표시된 그림을 대체 함으로써 식(51)이 얻어진다. 상기 제1실시에의 8-8DCT/2-4-8 DCT 장치는 식(51) 에따라 2-4-8 DCT를 수행하도록 적용된다.
위에서 기술된 8-8 DCT/2-4-8 DCT는 멀티플랙서(12), 제 1 데이터 레지스터 그룹(13)을 이루는 8개의 데이터 레지스터들(141내지 148), 제 1 가산 회로 그룹(17)을 이루는 4개의 가산 회로(181내지 184), 감산 회로 그룹(19)을 이루는 4개의 감산 회로(201내지 204) 제 2 데이터 레지스터 그룹(21)을 이루는 8개의 데이터 레지스터들(221내지 228), 제 1 MUX 그룹(23)을 이루는 8개의 멀티플랙서(241내지 248), 제 1 가감산 회로(25)를 이루는 2개의 가산/감산 회로(261, 262), 제 2 멀티플랙서 그룹(27)을 이루는 2개의 멀티플랙서(281내지 282), 제 3 데이터 레지스터 그룹(29)을 이루는 7개의 데이터 레지스터들(301내지 307), P3계수 승산 회로(321), P5계수 승산 회로(322), P1계수 승산 회로(323), P6/P3계수 승산 회로(324), P4/P5계수 승산 회로(325), P2계수 승산 회로(326), P0/ P1계수 승산 회로(327), 제 4 데이터 레지스터 그룹(33)을 이루는 7 데이터 레지스터들(341내지 348), 5개의 AND 회로(361내지 365), 제 2 가산 회로 그룹(37)을 이루는 4개의 가산 회로(381내지 384), 제 5 데이터 레지스터 그룹(39)을 이루는 5개의 데이터 레지스터들(401내지 405)로 구성된다. 이후에, 데이터 레지스터는 레지스터들(도면에서는 "REG"로서 도시된)로 간단히 설명되고 멀티플랙서는 MUX 로 설명된다.
상기 MUX(12)는 제 1 DCT 가 수행되는 8x8 화소 블록을 이루는 각 라인에서 포함된 8개의 화소 데이터 또는 상기 제 1 DCT 에 의해 포함된 8x8 데이터 블록을 이루는 각 스트링에 포함된 8개의 화소 데이터를 선택적으로 출력한다. 상기 MUX(12)로부터 출력되는 8개의 데이터 각각은 (f0내지 f7)에 의해 참조된다. 8-8 DCT 가 수행될때, 상기 MUX(12)는 제 1 레지스터 그룹(13)내에서 데이터(f0)를 레지스터(141)에, 데이터(f7)를 레지스터(142)에, 데이터(f1)는 레지스터 (143), 데이터(f6)는 레지스터(144)에, 데이터(f2)는 레지스터(145)에, 데이터(f5)는 레지스터(146)에, 데이터(f3)는 레지스터(147)에, 데이터(f4)는 레지스터(148)에 저장하고, 2-4-8 DCT 가 수행될때, 상기 MUX(12)는 데이터들(f1내지 f8)에 대응하는 레지스터들(141내지 148)에 데이터들(f1내지 f8)을 저장한다.
상기 8-8 DCT 및 2-4-8 DCT 둘다의 경우에, 제 1 가산 회로 그룹(17)을 이루는 4개의 가산 회로(181내지 184) 각각은, 2개의 레지스터로부터 데이터 출력상에서 가산 연산들을 수행한다. 즉, 상기 가산 회로(181)는 레지스터(141)에 저장된 데이터를 레지스터(142)에 저장된 데이터에 가산한다. 상기 가산 회로(182)는 레지스터(143)에 저장된 데이터를 레지스터(144)에 저장된 데이터에 가산한다. 상기 가산 회로(183)는 레지스터들(145)에 저장된 데이터를 레지스터(146)에 저장된 데이터에 가산한다. 상기 가산 회로(184)는 레지스터(147)에 저장된 데이터를 레지스터(148)에 저장된 데이터에 가산한다.
상기 8-8 DCT 및 2-4-8 DCT 둘다의 경우에, 감산 회로 그룹(19)을 이루는 4개의 감산 회로(201내지 204) 각각은, 2개의 레지스터로부터 데이터 출력상에서 감산 연산들을 수행한다. 즉, 감산 회로는 레지스터(142)에 저장된 데이터를 레지스터(141)에 저장된 데이터로부터 감산한다. 상기 감산 회로(202)는 레지스터들(143)에 저장된 데이터를 레지스터(144)에 저장된 데이터로부터 감산한다. 상기 감산 회로(203)는 레지스터(146)에 저장된 데이터를 레지스터(145)에 저장된 데이터로부터 감산한다. 상기 감산 회로(204)는 레지스터(148)에 저장된 데이터를 레지스터들(147)에 저장된 데이터로부터 감산한다.
상기 제 2 레지스터 그룹(21)을 구성하는 레지스터들(221내지 228) 각각은 상기 가산 회로(181내지 184) 또는 감산 회로(201내지 204)로부터 출력된 데이터 각각을 임시로 저장한다. 상기 레지스터(221)는 가산 회로(181)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(222)는 상기 가산 회로(182)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(223)는 가산 회로(183)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(224)는 가산 회로(184)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(225)는 감산 회로(201)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(226)는 감산 회로(202)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(227)는 감산 회로(203)로부터 출력된 데이터를 임시로 저장한다. 상기 레지스터(228)는 감산 회로(204)로부터 출력된 데이터를 임시로 저장한다. 상기 MUX(12)및 상기 가산 회로(181내지 184)의 레지스터들(141내지 148) 각각, 상기 감산 회로(201내지 204) 및 레지스터들(221내지 228) 각각은 매 4개의 연산 싸이클 동안 같은 연산을 반복한다. 상기 연산 싸이클 각각은 MUXs(241내지 248)에 의해 수행된 4개의 연산 싸이클에 대응한다.
제 1 MUX 그룹(23)을 이루는 MUXs(241내지 244) 각각에 의해 수행된 데이터 선택 연산은 상기 8-8 DCT 및 2-4-8 DCT 둘다에서 같다. 즉, 상기 MUX(241)는 상기 레지스터들(221내지 224)의 각각의 출력에 접속되고 레지스터들(221내지 224)의 순서에 따라 레지스터를 선택하고 순서적으로 4개 데이터를 출력하기 위해 적용된다. 상기 MUX(242)는 상기 레지스터들(221내지 224)의 출력에 접속되고 레지스터들(222, 223, 222, 223)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하기 위해 적용된다. 상기 MUX(243)는 레지스터들(221내지 224)의 출력에 접속되고 상기 레지스터들(221내지 223)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하기 위해 적용된다. 상기 MUX(244)는 레지스터들(221내지 224)의 출력에 접속되고 상기 레지스터들(222, 223, 221, 222)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하기 위해 적용된다.
제 1 MUX 그룹(23)을 구성하는 MUX(245), MUX(246), MUX(247), MUX(248) 각 데이터 선택 연산은 8-8 DCT 및 2-4-8 DCT 와는 상이하다.
8-8 DCT 의 경우에 MUX(245), MUX(246), MUX(247), MUX(248) 각 데이터 선택 연산은 다음의 연산에 따른다. 상기 MUX(245)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(225, 227, 226, 228)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하기 위해 적용된다. 상기 MUX(246)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(226, 225, 228, 227)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하기 위해 적용된다. 상기 MUX(247)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(227, 228, 225, 226)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하도록 적용된다. 상기 MUX은 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(228, 226, 227, 225)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하도록 적용된다.
상기 2-4-8 DCT 의 경우에 MUX(245), MUX(246), MUX(247), MUX(248) 각 데이터를 선택하는 연산은 다음에 따른다. 상기 MUX(245)는 레지스터들(225내지 228)의 출력에 접속되고 상기 레지스터들(225, 228, 225, 228)의 순서에 따라 레지스터를 선택하게 적용하고 순서적으로 4개의 데이터들을 출력한다. 상기 MUX(246)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(225, 228, 226, 227)의 순서에 따라 레지스터를 선택하도록 적용되고 순서적으로 4 개의 데이터를 출력한다. 상기 MUX(247)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(226, 227, 226, 227)의 순서에 따라 레지스터를 선택하도록 적용되고 순서적으로 4개의 데이터들을 출력한다. 상기 MUX(248)는 레지스터들(225내지 228)의 출력에 접속되고 레지스터들(226, 227, 225, 228)의 순서에 따라 레지스터를 선택하도록 적용되고 4개의 개 데이터를 순서적으로 출력한다.
8-8 DCT 및 2-4-8 DCT 둘다의 경우에, 제 1 가감산 그룹(25)으로 구성되는 가산/감산 회로(261)는 상기 MUX(241)로부터 출력되는 4개의 데이터중 제 1 및 제 2 차의 데이터 출력상에서, 상기 MUX(242)로부터 출력되는 4개의 데이터중 제 1, 제 2차의 데이터 출력상에서 가산 연산들을 수행하며, 상기 MUX(241)로부터 출력되는 4개의 데이터중 제 3 차, 제 4 차의 데이터 출력상에서, 상기 MUX(242)로부터 출력되는 4 개의 데이터중 제 3 차, 제 4 차의 데이터 출력상에서 감산 연산들을 수행한다. 즉, 상기 MUX(241)로부터 제 1 차의 데이터 출력은 MUX(242)로부터 제 1 차의 데이터 출력에 가산되고, 같은 가산 연산들이 제 2 차의 데이터 출력상에서 수행된다. 상기 가산/감산 회로(261)에 의해 수행되는 감산 연산들에 있어서, 상기 MUX(242)로부터의 데이터 출력은 MUX(241)로부터 출력되는 데이터에서 감산된다. 2-4-8 DCT의 경우에, 상기 가산/감산 회로(262)는 MUX(245)로부터 출력되는 4개의 데이터중에서 제 1 차, 제 2 차의 데이터 출력과, MUX(247)로부터 4 개의 데이터중에서 제 1 및 제 2 차의 데이터 출력상에서 가산 연산들을 수행하고 MUX(245)로부터 4개의 데이터중에서 제 3 차, 제 4 차의 데이터 출력상에서 MUX(247)로부터 4개의 데이터 출력중에서 제 3 차, 제 4 차의 데이터 출력상에서 감산 연산들을 수행한다.
상기 가산/감산 회로(262)에 의해 수행되는 감산 연산들에서, 상기 MUX(247)로부터의 데이터 출력은 MUX(245)로부터 데이나 출력에서 감산한다.
상기 8-8 DCT 의 경우에, 제 2 MUX 그룹(27)을 이루는 MUX(281)는 MUX(245)로부터 순서적으로 4개의 데이터 출력을 선택하며, 2-4-8 DCT 의 경우에, 상기 가산/감산 회로(262)로부터 순서적으로 데이터 출력을 선택한다. 상기 MUX(282)는 8-8 DCT의 경우에, 상기 MUX(247)로부터 순서적으로 4 개의 데이터 출력을 선택하고, 2-4-8 DCT 의 경우에, MUX(247)로부터 4 개의 데이터 출력을 선택하지 않으며 그러나 상기 MUX(282)의 4 연산 싸이클(2-4-8 DCT 에서 연산 싸이클은 "제 2 연산 싸이클"로 불림)에 대응하는 "0"을 4회 선택한다.
상기 제 3 레지스터 그룹(29)을 이루는 레지스터(301)는 산술 연산 결과로 4개의 데이터들을 순서적으로 저장한다. 상기 레지스터((302)는 MUX(243)로부터 순서적으로 4개의 데이터 출력을 저장한다. 상기 레지스터(303)는 상기 MUX(244)로부터 순서적으로 4개의 데이터 출력을 저장한다. 상기 레지스터들(304)는 상기 MUX(281)로부터 순서적으로 4개의 데이터 출력을 저장한다. 상기 레지스터(305)는 MUX(246)로부터 순서적으로 4개의 데이터 출력을 저장한다. 상기 레지스터(306)는 순서적으로 MUX(282)로부터 순서적으로 4개의 데이터 출력을 저장한다. 상기 레지스터(307)는 MUX(248)로부터 순서적으로 4개의 데이나 출력을 저장한다.
상기 P3계수 승산 회로(321)는 고정 계수 P3에 의해 레지스터(301)로부터 순서적으로 4개의 데이터 출력 각각을 승산한다. 상기 P5계수 승산 회로(322)는 고정 계수 P5에 의해 레지스터(302)로부터 순서적으로 4개의 데이터 출력 각각을 승산한다. 상기 P1계수 승산 회로(323)는 고정 계수 P5에 의해 레지스터(303)로부터 순서적으로 4개의 데이터 출력 각각을 승산한다. 상기 P6/P3계수 승산 회로(324)는 상기 8-8 DCT 및 2-4-8 DCT 사이의 고정 계수를 전환하며, 상기 8-8 DCT 의 경우에, 고정 계수 P6에 의해 레지스터(304)로부터 4개의 데이터 출력 각각을 승산하며, 2-4-8 DCT 의 경우에, 고정 계수 P3 에 의해 레지스터(304)로부터 4개의 데이터 출력 각각을 승산한다. 상기 P4/P5계수 승산 회로(325)는 상기 8-8 DCT, 2-4-8 DCT 사이에서 고정 계수들을 전환시키며, 8-8 DCT 의 경우에, 고정 계수 P4에 의해 레지스터(305)로부터 4 개의 데이터 출력 각각을 승산하며, 2-4-8 DCT 의 경우에, 고정 계수 P5에 의해 레지스터(305)로부터 4개의 데이터 출력 각각을 승산한다. 상기 P2계수 승산 회로(326)는 고정 계수 P2에 의해 레지스터(306)로부터 순서적으로 4개의 데이터 출력을 승산한다. 상기 P0P1계수 승산 회로(327)는 8-8 DCT 와 2-4-8 DCT 사이에서 고정 계수를 전환하며, 8-8 DCT 의 경우에, 고정 계수 P0에 의해 레지스터(307)로부터 4개의 데이터 출력 각각을 승산하고, 2-4-8 DCT 의 경우에, 고정 계수 P1에 의해 레지스터(307)로부터 4개의 데이터 출력 각각을 승산한다.
상기 제 3 의 레지스터 그룹(33)을 이루는 레지스터(341)는 8-6 DCT 와 2-4-8 DCT 둘다의 경우에, 순서적으로 P3계수 승산 회로(321)로부터 순서적으로 4개의데이터 출력 각각을 저장한다. 상기 레지스터(342)는 8-8 DCT, 2-4-8 DCT의 둘다의 경우에, P5계수 회로(74)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며 양의 값으로서 제 1 차, 제 4 차로 출력되는 데이터와 음의 값으로 제 2 차, 제 3 차로 출력되는 데이터는 출력한다. 상기 레지스터(343)는 8-8 DCT 와 2-4-8 DCT 둘다의 경우에, P1계수 회로(323)로부터, 순서적으로, 4개의 데이터 출력 각각을 순서적으로 저장하며 양의 값으로 제 1 차, 제 3 차로 출력되는 데이터와, 음의 값으로 제 2차, 제 4 차로 출력되는 데이터를 출력한다.
상기 레지스터(344)는 순서적으로, P6/P3계수 승산 회로(324)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 DCT 의 경우에, 양의 값으로서 제 1 차로 출력되는 데이터와, 음의 값으로서 제 2 차 내지 제 4 차로 출력되는 데이터를 출력하며, 2--4-8 DCT 의 경우에, 양의 값으로서 제 1 차 내지 제 4 차로 출력되는 4개의 데이터 각각을 출력한다. 상기 레지스터(345)는 순서적으로, P4/P5계수 승산 회로(325)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 DCT 의 경우에, 양의 값으로서 제 1 차 내지 제 4 차로 출력되는 데이터와, 2-4-8 DCT 의 경우에, 양의 값으로서 제 1 차와 제 4 차로 출력되는 4개의 데이터 각각과 음의 값으로서 제 2 차와 제 3 차로 출력되는 데이터를 출력한다. 상기 레지스터(346)는 순서적으로 상기 P2계수 승산 회로(326)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 양의 값으로서 제 1 차, 제 3 차로 출력되는 데이터와, 음의 값으로서 제 2 차 및 제 4 차로 출력되는 데이터를 출력한다. 상기 레지스터(347)는 순서적으로, 상기 P0/ P1승산 회로(327)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 DCT 의 경우에, 양의 값으로서 제 1 차, 제 4 차로 출력되는 데이터와, 음의 값으로서 제 2 차, 제 3 차로 출력되는 데이터를 출력하며, 2-4-8 DCT 의 경우에, 양의 값으로서 제 1 차, 제 3 차로 출력되는 데이터와 음의 값으로서 제 2 차, 제 4 차로 출력되는 데이터를 출력한다.
상기 제 2 가산 회로 그룹(37)에 포함된 가산 회로(381)는 제 5 레지스터 그룹(39)에 포함된 레지스터(401)와 AND 회로(361)와 함께 데이터에 대해 누적 회로를 구성한다. 8-8 DCT 와 2-4-8 DCT 둘다에서, AND 회로(361)의 하나의 입력에 대해, 레지스터(401)로부터 데이터를 전달하며, AND 회로(361)의 다른 입력에 대해, 2진 신호 스트링 발생 회로(도시하지 않음)로부터 출력되는 4개의 연산 싸이클중에서 제 1 연산 싸이클 내지 제 4 연산 싸이클의 순서에 따라 매 연산 싸이클에서 순서적으로 신호들 "0", "1", "0", "1" 을 전달한다. 즉, 누적갓은 가산 회로(381)에서 레지스터(341)로부터 출력되는 데이터를 가산함으로써 얻어진 레지스터(401)로부터의 출력이며, 하나의 이전 클럭상에서 레지스터(401)에 저장된 데이터에 가산 회로(381)의 하나의 입력을 전달하고 다음 클릭상에서 AND 회로(361)를 통해 가산 회로(381)의 다른 입력에 전달한다.
상기 가산 회로(382)는 레지스터(402)와 AND 회로(362)와 함께 데이터에 대해 누적 회로를 구성한다. 또한, 8-8 DCT 와 2-4-8 DCT 의 경우 둘다에서, AND 회로(362)의 하나의 입력에 레지스터(402)로부터 데이터를 전달하며, AND 회로(362)의 다른 입력에 2진 신호 스트링 발생 회로(도시하지 않음)로부터 출력되는 4개의 연산 싸이클중에서 제 1 연산 싸이클 내지 제 4 연산 싸이클의 순서에 따라 매 연산 싸이클에서 순서적으로 신호들 "0", "1", "0", "1" 을 전달한다. 즉, 누적값은 가산 회로(382), (344,343)으로부터의 데이터 출력을 가산함으로써 얻어진 레지스터(402)로부터의 출력이고, 하나의 이전 클릭상에서 레지스터(402)에 저장된 데이터에 대해 가산 회로(382)의 제 1, 제 2 입력에 전달되고 다음 클릭상에서, AND 회로(362)를 통해 가산 회로(382)의 제 3 입력에 전달된다.
상기 가산 회로(383)는 레지스터(403)와 AND 회로(363)과 함께 데이터용 누적 회로를 구성한다. 8-8 DCT 의 경우에 AND 회로(363)의 하나의 입력에 레지스터(343)으로부터 데이터를 전달하고 AND 회로(363)의 다른 입력에, 4개의 연산 싸이클중에서 제 1 연산 싸이클 내지는 제 4 연산 싸이클의 순서에 따라 매 연산 싸이클에서 "0"신호를 전달한다. 2-4-8 DCT 의 경우, AND 회로(363)의 하나의 입력에 레지스터(343)로부터 데이터를 전달하며 AND 회로(363)의 하나의 입력에 레지스터(343)로부터 데이터를 전달하며 AND 회로(363)의 다른 입력에 2진 스트링 발생 회로(도시하지 않음)로부터 출력되는 4개의 연산 싸이클중에서 제 1 연산 싸이클 내지 제 4 연산 싸이클의 순서에 따라 매 연산 싸이클에서 순서적으로 신호들 "0", "1", "0", "1"을 전달한다. 즉, 8-8 DCT 의 경우에, 레지스터(342)로부터의 데이터가 가산 회로(383)에 의해 통과하며, 레지스터(403)에 저장된다. 2-4-8 DCT의 경우, 누적값은 가산 회로(383)에서 레지스터(342)로부터의 데이터 출력을 가산함으로써 얻어진 레지스터(403)으로부터의 출력이며, 하나의 이전 클럭상에서 레지스터(403)에 저장된 데이터에 대해 상기 가산 회로(383)의 하나의 입력에 전달하며 다음 클럭상에서 AND 회로(363)를 통해 가산 회로(383)의 다른 입력에 전달된다
상기 가산 회로(384)는 레지스터(404), AND 회로(364,365)와 함께 데이터용 누적 회로로 구성된다. AND 회로(364)의 입력에 대해서는 레지스터(344)로부터 데이터를 전달하며 8-8 DCT 의 경우에, AND 회로(364)의 다른 입력에 대해서는 4개의 연산 싸이클중 제 1 연산 싸이클에서 제 4 의 연산 싸이클까지 매 연산 싸이클에서 신호 "1" 을 전달하고, 2-4-8 DCT 의 경우, 2진 신호 스트링 발생 회로(도시하지 않음)에서 출력되는 4개의 연산 싸이클중에서 제 1 연산 싸이클 내지 제 4 연산 싸이클 순서에 따라 매 연산 싸이클에서 신호 "0"을 전달한다. AND 회로(365)중 하나의 입력에 대해 레지스터(404)로부터 데이터를 전달하며, 8-8 DCT 의 경우에, AND 회로(365)의 다른 입력에 대해 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4연산 싸이클까지 매연산 싸이클에서 신호 "0"을 전달하고 2-4-8 DCT 의 경우에, 2진 신호 스트링 발생 회로(도시하지 않음)로부터 출력되는 4개의 제 2 연산 싸이클중에서 제 1 연산 싸이클 내지 제 4 연산 싸이클 순서에 따라 매 연산 싸이클에서 신호 "0", "1", "0", "1" 을 전달한다.
8-8 DCT 의 경우에, 레지스터들(344내지 347)로부터 매 연산 싸이클에서 순서적으로 데이터 출력 각각은 매 연산 싸이클에서 가산 회로(384)의 제 1, 제 2, 제 3, 제 4 입력에 입력되고 순서적으로 레지스터(404)에 가산되어 저장된다. 2-4-8 DCT 의 경우에, 누적값은 레지스터(404)로부터 출력되고 가산 회로(384)에서 매 연산 싸이클에서 레지스터들(345,346,347)로부터 순차적인 데이터 출력을 가산하여 얻어지고 하나의 이전 클럭상의 레지스터(405)에서 저장된 데이터에, 다음 클릭상에서, AND 회로(364)를 통해 가산 회로(384)의 제 5 입력에 상기 가산 회로(384)의 제 2, 제 3, 제 4 입력을 전달한다.레지스터(401) 내지 레지스터(404)에 대한 MUX(12)의 각 회로에서의 지연들 및 그들의 연산 싸이클들에서의 편차가 다음의 동작들의 설명에서 일어난다해도, 이러한 지연들 및 편차들은 상세히 언급하지 않는다.다음에, 제 1 실시예의 연산을 도 1 내지 도4를 참고로 기술한다. 처음에, 8-8 DCT 에 대한 연산이 설명된다.8x8 화소 데이터 블록을 이루는 각 라인에 포함된 8개의 화소 데이터들(f0내지 f7) 각각은 MUX(12)로부터 순서적으로 출력되고 제 1 레지스터 그룹(13)을 구성하는 레지스터들(141내지 148) 각각에 저장된다. 즉, 데이터(f0)는 레지스터(141)에, 데이터(f7)는 레지스터(142)에, 데이터(f1) 레지스터(143)에, 데이터(f6)는 레지스터(144)에, 데이터(f2)는 레지스터(145)에, 데이터(f5)는 레지스터(146)에, 데이터(f3)는 레지스터(147)에, 데이터(f4)는 레지스터(148)에 저장된다. 상기 레지스터(141)에 저장된 데이터(f0)는 가산 회로(181)의 합 입력에 전달되고, 레지스터(142)에 저장된 데이터(f7)는 가산 회로(181)의 가수 입력에 전달되고 따라서 데이터(f0+ f7= a0)는 가산 회로(181)에서 출력된다. 상기 레지스터(143)에 저장된 데이터(f1)는 가산 회로(182)의 합 입력에 전달되고, 레지스터(144)에 저장된 데이터(f6)는 가산 회로(182)의 가수 입력에 전달되고, 따라서, 가산값(f1+ f2= a1)는 가산 회로(182)로부터 출력된다. 상기 레지스터(145)에 저장된 데이터(f2)는 가산 회로(183)의 합 입력에 전달되고 레지스터(146)에 저장된 데이터(f5)는 가산 회로(183)의 가수 입력에 전달되고, 따라서, 데이터(f2+ f5= a2)는 가산 회로(183)에서 출력된다. 레지스터(147)에 저장된 데이터(f3)는 가산 회로(184)의 합 입력에 전달되고, 데이터(f4)는 레지스터(147)에 저장되고, 따라서, (f3+ f4= a3)는 가산 회로(184)로부터 출력된다. 상기 레지스터(141)에 저장된 데이터(f0)는 감산 회로(201)의 감산 입력에 전달되고, 레지스터(142)에 저장된 데이터(f7)는 상기 감산 회로(201)의 감수 입력에 전달되고, 따라서, (f0- f7= a4)는 감산 회로(201)로부터 출력된다. 레지스터(143)에 저장된 데이터(F1)는 감산 회로(202)의 감산 입력에 전달되고, 레지스터(144)에 저장된 데이터(F6)는 감산 회로(202)의 감수 입력에 전달되고, 따라서, 데이터(f1- f6= a5)는 감산 회로(202)로부터 출력된다. 상기 레지스터(145)에 저장된 데이터(f2)는 감산 회로(203)의 감산 입력에 전달되고, 레지스터(146)에 저장된 데이터(f5)는 감산 회로(203)의 감수 입력에 전달되고 따라서, 데이터(f2- f5= a6)는 감산 회로(203)으로부터 출력된다. 상기 레지스터(147)에 저장된 데이터 f3는 감산 회로(204)의 감산 입력에 전달되고, 레지스터(147)에 저장된 데이터(f4)는 감산 회로(204)의 감수 입력에 전달되고, 따라서, 데이터(f3- f4= a4)는 감산 회로(204)로부터 출력된다.
상기 가산 회로(181)에서 가산 회로(184)까지의 데이터(a0내지 a3) 출력은 상기 레지스터들(221내지 224)를 통해 MUXs(241내지 244)로 입력된다. 상기 MUX(241)는 레지스터들(221, 224, 221, 224)의 순서에 따라 레지스터를 선택하며 4개의 대응 데이터(a0, a3, a0, a3)를 순서적으로 출력한다. 상기 MUX(242)는 레지스터들(221내지 223)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 대응 데이터(a1, a2, a1, a2)를 출력한다. 상기 MUX(243)는 레지스터들(221, 224, 222, 223)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 대응 데이터들(a0, a3, a1, a2)를 출력한다. 상기 MUX(244)는 레지스터들(222, 223, 221, 224)의 순서에 따라 레지스터를 선택하고, 4개의 대응 데이터들(a1, a2, a0, a3)를 순서적으로 출력한다.
상기 MUX(245)는 레지스터들(225, 227, 226, 228)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 대응 데이터들(a4, a6, a5, a7)를 출력한다. 상기 MUX(240)는 레지스터들(226, 225, 228, 227)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 대응 데이터들(a5, a4, a7, a6)를 출력한다. 상기 MUX(247)는 레지스터들(227, 228, 225, 226)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 대응 데이터들(a6, a7, a4, a5)를 출력한다. 상기 MUX(248)는 레지스터들(228, 226, 227, 225)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 대응 데이터들(a7, a5, a6, a4)를 출력한다.
상기 가감산 회로(261)는 MUX(241)로부터 순서적으로 출력되는 4개의 데이터들(a0, a2, a0, a3)중 제 1차, 제 2 차의 데이터 출력상과, MUX(242)로부터 출력되는 4개의 데이터들(a1, a2, a1, a2)중 제1, 제2차의 데이터 출력상에서 가산 연산들을 수행하고 상기 MUX(241)로부터 순차저으로 출력되는 4개의 데이터들(a0, a2, a0, a3)중에서 제3, 제4차로 데이터 출력상에서, 상기 MUX(242)로부터 출력되는 4개의 데이터들(a1, a2, a1, a2)중에서 제 3 및 제 4 차로 데이터 출력상에서 감산 연산들을 수행하고, 결과적으로, 데이터들(a0+ a1, a0- a1, a3- a2)를 순서적으로 출력한다. 즉, 상기 MUX(241)로부터의 제 1 차의 데이터 출력은 상기 MUX(242)로부터 제 1 차의 데이터 출력에 가산되고 같은 가산 연산들이 제 2 차의 데이터 출력상에서 수행되고 유사한 감산 연산들이 제 3 및 제 4 차의 데이터 출력상에서 수행된다. 레지스터(301)(도3에 도시된 레지스터 301을 보라)에서 순서적으로 저장된 후, 가감산 회로(261)로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매연산 싸이클에서 데이터들(a0+ a1, a3+ a2, a3+ a2, a0- a1, a3- a2)각각은 P3계수 승산 회로(321)에서 고정 계수 P3에 의해 승산되고 순서적으로 레지스터(341)에 저장된다(도3의 레지스터(341)를 보라). 상기 레지스터(302)에 순서적으로 저장된 후, MUX(243)로부터 순서적으로 출력되는 데이터들(a0, a3, a1, a2) 각각은 P5계수 승산 회로(322)에서 고정 계수 P5에 의해 승산된다. 레지스터(342)에 순서적으로 저장된다(도3의 레지스터(341)를 보라). 레지스터(303)에 순서적으로 저장된 후(도3에 도시된 레지스터(303)을 보라), MUX(244)로부터 순서적으로 출력되는 (a1, a2, a0, a3)데이터 각각은 P1계수 승산 회로(323)의 고정 계수 P1에 의해 승산된다(도3의 레지스터(343)를 보라).
상기 레지스터(304)로 순서적으로 저장된 후(도4에 도시된 레지스터(304)를 보라), MUX(245)로부터 순서적으로 데이터들(a4, a6, a5, a7)출력 각각은, P6/P3계수 승산 회로(324)에서 고정 계수 P6에 의해 승산되고 순서적으로 레지스터(344)에 저장된다(도4의 레지스터(344)를 보라). 레지스터(305)로 순서적으로 저장된 후(도4의 레지스터(305)를 보라), MUX(246)으로부터 순서적으로, 데이터들(a5, a4, a7,a6) 출력 각각은 P4/P5계수 승산 회로(325)에서 고정 계수 P4에 의해 승산되고 상기 레지스터들(345)로 순서적으로 저장된다(도3의 레지스터(345)를 보라). 상기 레지스터(306)에 순서적으로 저장된 후(도4에 도시된 레지스터(306)을 보라), MUX(247)로부터 순서적으로, 데이터들(a6, a7, a4, a5) 출력 각각은 P2계수 승산 회로(326)에 의해 고정 계수 P2에 의해 승산되고 레지스터(346)(도4의 레지스터(346)를 보라)에 순서적으로 저장된다. 상기 레지스터(307)에 순서적으로 저장된 후 MUX(248)로부터 순서적으로 데이터들(a7, a5, a6, a4) 출력 각각은 P0/ P1계수 승산 회로(327)에 의해 고정 계수 P0에 의해 승산되고 레지스터(347)로 순서적으로 저장된다(도4의 레지스터(347)를 보라).
상기 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클로부터 매 연산 싸이클에서 레지스터(341)로부터 출력되는 ((a0+ a1) P3, (a3+ a2) P3, (a0- a1) P3, (a3- a2) P3)데이터들 각각 중에서, 데이터((a0+ a1) P3)는 가산 회로(381), 레지스터(401), AND 회로(361)에 수행된 4개의 연산 싸이클중에서 제 1 연산 싸이클로 레지스터(401)에 저장되고, 데이터((a0+ a1) P3+ (a3+ a2) P3)는 제 2 연산 싸이클로 레지스터(401)에 저장되고 데이터((a0 - a1) P3)는 제 3 연산 싸이클로 레지스터(401)에 저장되고 데이터((a0 - a1)P3+ (a3 - a2)P3) 제 4 연산 싸이클(도3의 레지스터(401)를 보라)로 레지스터(401)에 저장된다. 레지스터(401)에 순서적으로 저장되고 그로부터 출력되는 데이터중에서, 제 1 연산 싸이클로 저장된 데이터((a0 + a1) P3)와 제 3 연산 싸이클로 레지스터(401)에 저장된 데이터((a0 - a1) P3)는 값을 규정하지도 않고 이산 코싸인 변환시 변환 계수 데이터로서 사용되지 않는다. 상기 데이터는 도2에서 레지스터(401)의 출력 라인중 하부 우측에서( * )로 표시된다.
상기 제 2 연산 싸이클로 저장된 데이터((a0+ a1) P3+ (a3+ a2) P3)와 제 4 연산 싸이클로 저장된 데이터((a0- a1) P3+ (a3- a2) P3)는 식(45)에 포함된 연산값들중 변환 계수 데이터(F0, F4)로서 사용된다. 상기 변환 계수 데이터(F0, F4)는 도2의 레지스터(401)의 출력 라인중 하부 우측에 도시된다.
4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클로 레지스터(342)로부터의 데이터들(a0P5, a3P5, a1P5, a2P50) 및 4개의 연산 싸이클중에서 데이터들(a0P5, a3P5, a1P5, a2P5) 및 4개의 연산 싸이클중에서 (343)로부터의 데이터들(a1P1, a2P1, a0P1, a3P1)중에서, 상기 데이터(a0P5+ a1P1)는 가산 회로(382), 레지스터(402), AND 회로(362)에 의해 수행되는 4개의 제 2 연산 싸이클중에서 제 1 연산 싸이클로 레지스터(402)에 저장되고, 데이터(a0P5+ a1P1- a3P5- a2P1은 제 2 연산 싸이클로 레지스터(402)에 저장되고, 데이터 (- a2P1+ a0P1)는 제 3 싸이클로 레지스터(402)에 저장되고, 데이터 (- a1P5+ a0P1+ a2P5- a3P1)는 제 4 싸이클로 레지스터(402)에 저장된다(도3의 레지스터(402)를 보라).
레지스터(402)에 순서적으로 저장되고 그로부터 출력되는 데이터중에서, 제 1 연산 싸이클 및 제 3 연산 싸이클로 저장된 데이터(a0P5+ a1P1, a0P1- a1P5)는 값을 규정하지 않으며 이산 코싸인 변환시 변환 계수 데이터로서 사용되지도 않는다. 상기 데이터는 도2의 레지스터(402)의 출력 라인중 하부 우측에서 별표( * )로 표시된다. 상기 제 2 연산 싸이클과 제 4 연산 싸이클에 저장된 데이터들(a0P5+ a1P1- a3P5- a2P1) 및 데이터들(- a1P5+ a0 1+ a2P5- a3P1)는 식(45)에 포함된 변환 계수 데이터(F2, F6)로서 사용된다. 상기 변환 계수 데이터들(F2, F6)은 레지스터(402)의 출력 라인의 하부 우측에 도시된다. 신호 "0"은 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클의 AND 회로(363)의 다른 입력에 전달되기 때문에, 4개의 연산 싸이클중에서 제 1 내지 제 4 연산 싸이클의 매 연산 싸이클에서 레지스터(344)로부터의 데이터들(a4P6, -a6P6, -a5P6, -a7P6)은 가산 회로(383)에 의해 통과하여 레지스터(403)에 저장된다. 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서 레지스터(403)에 순서적으로 저장된 데이터는 값을 규정하지 않은 값이며 이산 코싸인 변환시, 변환 계수 데이터로서 사용되지 않는다. 상기 데이터는 도2에서 레지스터(403)의 출력 라인중 하부 우측상에서 별표(* )로 표시된다. 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클로 레지스터(344)로부터 순서적으로 출력되는 데이터들(a4P6, - a6P6, - a5P6, - a7P6)과 AND 회로(364)를 통해, 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클로 레지스터들(345)로부터 출력되는 (a5P4, a4P4, a7P4, a6P4), 4개의 연산 싸이클중에서 출력되는 (a5P4, a4P4, a7P4, a6P4), 4개의 레지스터(346)로부터 출력되는 (a6P2, - a7P2, a4P2, - a5P2), 4개의 연산 싸이클로부터 출력되는 (a6P2, - a7P2, a4P2, - a5P2) 레지스터(347)로부터 출력되는(a7P0, - a5P0, a6P0, a4P0)은 상기 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클로부터 매 연산 싸이클에 의해, 가산 회로(384)에 가산되고 상기 가산 연산들의 결과는 순서적으로 레지스터들(404)에 저장된다(도4의 레지스터(404)를 보라).
상기 레지스터들(404)에 저장된 데이터(a4P6+ a5P4+ a6P2+ a7P0)와 4개의 연산 싸이클중에서 제 1 연산 싸이클의 출력은 식(45)에 포함된 연산값의 변환 계수 데이터 F1으로서 사용되고, 제 2 연산 싸이클의 레지스터(404)로부터의 데이터(- a6P6+ a4P4- a7P2- a5P0)은 식(45)에 포함된 연산값중 변환 계수 데이터 (F3)로서 사용되고 제 3 연산 싸이클의 레지스터(404)로부터의 데이터(- a5P6+ a7P4+ a4P2+ a6P0)는 식(45)에 포함된 연산값중 변환 계수 데이터(F5)로서 사용되고, 제 4 연산 싸이클의 레지스터(404)로부터 출력되는 (- a7P6+ a6P4- a5P2+ a4P0)는 식(45)에 포함된 연산값중 변환 계수 데이터(F7)로서 사용된다. 상기 변환 계수 데이터(F1, F3, F5, F7)는 레지스터(404)의 출력 라인의 하부 우측에 도시된다.
위의 산술 연산을 완성하여, 8x8 데이터 블록을 구성하는 한개의 라인에 포함된 8개의 데이터상의 제 1 의 8-8 DCT 가 종료한다. 위의 기술과 같은 제 1 의 8-8 DCT 는 8x8 데이터 블록을 구성하는 다음 라인에 이어지는 각 라인에서 수행되고, 다음에 8x8 데이터 블록을 구성하는 모든 8 라인에서 제 1 의 8-8 DCT 가 유사한 방법으로 종료된다. 모든 8 라인상의 제 1 의 8-8 DCT 를 완성한 후, 제 2의 8-8 DCT 는 8x8 데이터 블록을 구성하는 8개의 데이터 스트링의 각 스트링상에서 수행된다. 제 1 의 8-8 DCT 와 제 2 의 8-8 DCT 를 완성하여 얻어진 변환 계수 데이터는 8x8 화상 데이터 입력 압축을 위해 사용된다. 따라서, 압축된 화소 데이터의 전송은 8x8 화소 데이터 블록의 압축을 위해 전송되는 영상내에서 8x8 화소 데이터상에서 제 1의 8-8 DCT, 제 2 의8-8 DCT 를 수행하여 얻어진 변환 계수 데이터를 사용함으로써 가능해진다.
다음에, 2-4-8 DCT 에 대한 연산을 설명한다. 상기 MUX(12)로부터 순서적으로 출력되는 8x8 화소 데이터를 구성하는 각 화소 라인에 포함된 8개의 화소 데이터들(f0내지 f7) 각각은 (f0내지 f7)의 화소 데이터가 레지스터들(141내지 148)에 대응하는 방법으로 각 레지스터들(141내지 148)에 저장된다.
레지스터(141)에 저장된 데이터(f0)는 가산 회로(181)의 합 입력에 전달되고 레지스터(142)에 공급된 데이터(f1)는 상기 가산 입력(181)의 가수 입력에 전달되고 데이터(f0+ f1= b0)는 가산 회로(181)로부터 출력된다. 레지스터들(143)에 저장된 데이터(f2)는 가산 회로(182)의 합 입력에 전달되고 레지스터들(144)에 공급된 데이터(f3)는 가산 회로(182)의 가수 입력에 전달되고 따라서, (f2+ f3= b1)는 가산 회로(182)로부터 출력된다. 상기 레지스터(145)에 저장된 데이터(f4)는 가산 회로(183)의 합 입력에 저장되고 레지스터(146)에 저장된 데이터(f5)는 가산 회로(183)의 가수 입력에 전달되고, 따라서, 데이터(f4+ f5= b2)는 가산 회로(182)로부터 출력된다. 상기 레지스터(147)에 저장된 데이터(f6)는 가산 회로(184)의 합 입력에 전달되고 레지스터(148)에 저장된 데이터(f7)는 상기 가산 회로(184)의 가수 입력에 전달되고 데이터(f6+ f7= b3)는 가산 회로(184)로부터 출력된다. 상기 레지스터(141)에 저장된 데이터(f0)는 감산 회로(201)의 차 입력에 전달되고 레지스터(142)에 저장된 데이터(f1)는 감산 회로(201)의 감수 입력에 전달되고, 데이터(f0- f1= b4)는 감산 회로(201)로부터 출력된다. 상기 레지스터들(143)에 저장된 데이터(f2)는 상기 감산 회로(202)의 차 입력에 전달되고 레지스터들(144)에 저장된 데이터(f3)는 상기 감산 회로(202)의 감수 입력에 전달되고, 그때, (f2- f2= b5)가 감산 회로(202)로부터 출력된다. 레지스터들(145)에 저장된 데이터(f4)는 감산 회로(203)의 차 입력에 전달되며 레지스터들(146)에 저장된 데이터(f5)는 감산 회로(203)의 감수 입력에 전달되고 데이터(f4- f4= b6)이 감산 회로(203)에서 출력된다. 레지스터들(147)에 저장된 데이터(f6)는 상기 감산 회로(204)의 차 입력에 전달되고 레지스터들(147)에 저장된 데이터(f6)는 감산 회로(204)의 감수 입력에 전달되고 데이터(f6- f7= b7)는 감산 회로(203)으로부터 출력된다.
상기 가산 회로(181)에서 가산 회로(184)까지 출력되는 데이터들(b0내지 b3)은 레지스터들(221내지 224)를 통해 MUXs(241내지 244)에 입력한다. MUX(241)은 레지스터들(221, 224, 221, 224)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 데이터(b0, b3, b0, b3)를 출력한다. MUX(242)는 레지스터들(223, 223, 223, 223)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 데이터들(b1, b2, b1, b2)를 출력한다. MUX(243)는 레지스터들(221, 224, 222, 223)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들(b0, b3, b1, b2)를 출력한다. MUX(244)는 레지스터들(222, 223, 221, 224)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 데이터들(b1, b2, b0, b3)를 출력한8다.
상기 가산/감산 회로(261)는 MUX(241)로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 2 연산 싸이클까지 매 연산 싸이클에서 주어진 4개의 데이터들 (b0, b3, b0, b3)중에서 제 1 및 제 2 차의 데이터 출력과 MUX(242)로부터 (b0, b3, b0, b3) 중에서 제 1 및 제 2 차의 데이터 출력과 MUX(242)로부터 (b0, b3, b0, b3) 중에서 제 1 및 제 2 차의 데이터 출력과 상의 가산 연산들을 수행하고, 상기 MUX(241)로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 2 연산 싸이클까지 매 연산 싸이클에서 주어진 4개의 데이터 (b0, b3, b0, b3) 중에서 제 3차, 제 4 차의 데이터 출력과, MUX(242) (b0, b3, b0, b3) 중에서 제 3 차, 제 4 차의 데이터 출력과, MUX(242) (b0, b3, b0, b3) 중에서 제 3 차, 제 4 차의 데이터 출력과 출력상에서 감산 연산들을 수행한다. 결과적으로, 데이터들(b0+ b1, b3+ b2, b0- b1, b3- b2)를 출력한다. 즉, MUX(241)로부터의 제 1 차의 데이터 출력은 MUX(242)로부터 제 2 차의 데이터 출력에 가산되고 같은 가산 및 감산 연산들이 다른 데이터상에서 수행된다.
레지스터(301)(레지스터(301)을 보라)에 저장된 후 가산/감산 회로(261)로부터 순서적으로 출력되는 데이터들(b0+ b1, b3+ b2, b0- b1, b3- b2) 각각은 P3계수 승산 회로(321)의 고정 계수 P3에 의해 승산된다.
상기 레지스터(302)(레지스터 302를 보라)에 순서적으로 저장된 후, MUX(243)으로부터 순서적으로 출력되는 데이터들(b0, b3, b1, b2) 각각은 P5계수 승산 회로(322)의 고정 계수 P5에 순서적으로 승산되고 레지스터(342)(레지스터(342)를 보라)에 순서적으로 저장된다. 레지스터(303)에 순서적으로 저장된 후 MUX(244)로부터 순서적으로 출력되는 데이터(b1, b2, b0, b3) 각각은 P1계수 승산 회로(323)의 고정 계수 P1에 의해 승산되고 레지스터(343)에 순서적으로 저장된다(레지스터(343)를 보라).
상기 MUX(245)는 레지스터들(225, 228, 225, 228)의 순서에 따라 레지스터를 선택하며, 4 개의 데이터들(b4, b7, b4, b7)를 순서적으로 출력한다. 상기 MUX(247)는 레지스터들(226, 227, 226, 227)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 데이터들(b5, b6, b5, b6)을 출력한다.
상기 가감산 회로(262)는 MUX(245)로부터 주어진 데이터들(b4, b7), 4개의 (b4, b7)중에서 제 1차, 제 2 차의 데이터 출력과, MUX(247)로부터 주어진 4개의 데이터들(b5, b6, b5, b6)중에서 제 1 차, 제 2 차의 데이터 출력상에서 가산 연산들을 수행하고, 상기 MUX(245)로부터 주어진 데이터 출력상에서 가산 연산들을 수행하고, 상기 MUX(245)로부터 주어진 데이터 출력상에서 감산 연산들을 수행하고, 결과적으로, 데이터들(b4+ b5, b7+ b6, b4- b5, b7- b6)를 출력한다. 순서적으로 출력되는 데이터들(b4+ b5, b7+ b6, b4- b5, b7- b6)은 MUX(281)를 통해 레지스터(304)에 순서적으로 저장된다(레지스터들(304)를 보라).
상기 MUX(246)는 레지스터들(225, 228, 226, 227)의 순서에 따라 레지스터를 선택하며 4개의 데이터들(b4, b7, b5, b6)를 순서적으로 출력한다. 순서적으로 출력되는 4개의 데이터들(b4,b7, b5, b6)은 레지스터(305)(레지스터(305)를 보라)에 저장된다. 상기 MUX(282)는 "0"을 4회 선택하고 순서적으로 "0"데이터를 출력한다. 순서적으로 출력되는 4개의 "0"데이터는 순서적으로(도6의 레지스터(306을 보라) 레지스터 (306)에 저장된다. 상기 MUX(248)는 레지스터들(226, 227, 225, 228)의 순서에 따라 레지스터를 선택하며, 4개의 데이터들(b5, b6, b4, b7)를 순서적으로 출력한다. 순서적으로 출력되는 4개의 데이터들(b5, b6, b4, b7)은 레지스터(307)에 (레지스터(307)를 보라)저장된다.
레지스터들(341)로부터 순서적으로 출력되는 데이터들((b0+ b1)P3, (b3+ b2) P3, (b0- b1) P3, (b3- b2) P3) 중에서, 데이터((b0+ b1) P3)는 레지스터(401) 및AND 회로(361)에 의해 수행된 4개의 연산 싸이클중에서 제 1 연산 싸이클의 레지스터(401)에 저장되고, 데이터((b0+ b1) P3+ (b3+ b2) P3)는 제 2 연산 싸이클로 레지스터(401)에 저장되고, 데이터((b0- b1) P3+ (b3- b2) P3)는 제 4 연산 싸이클(도5의 레지스터(401)를 보라)로 레지스터(401)에 저장된다.
레지스터(401)에 저장되고, 그로부터 출력되는 데이터중에서, 제 1 연산 싸이클의 레지스터(401)에 저장된 데이터((b0+ b1) P3), 제 3 연산 싸이클로 레지스터(401)에 저장된 데이터((b0- b1) P3)는 값을 규정하지 않고, 이산 코싸인 변환 방법으로 변환 계수 데이터로서 사용되지 않는다. 상기 데이터는 도2의 레지스터(401)의 출력 라인 하부 좌측상의 별표( * )로 표시된다.
제 2 연산 싸이클에 저장된 상기 데이터((b0+ b1) P3+ (b3+ b2) P3)와 제 4 연산 싸이클에 저장된 데이터((b0- b1) P3+ (b3- b2) P3)는 식(51)에 포함된 연산값의 변환 계수 데이터들(F0, f2)로서 사용된다. 상기 변환 계수 데이터들(F0, f2)는 상기 레지스터(401)의 출력 라인의 하부 좌측에 도시된다.
레지스터(342)로부터 순서적으로 출력되는 데이터들(boP5, b3P5, b1P5, b2P5), 레지스터(343)으로부터 순서적으로 출력되는 데이터들(b1P1, b2P1, b0P1, b3P1), 데이터(b0P5+ b1P1)는 가산 회로(382), 레지스터(402), AND 회로(362)에 의해 수행된 4개의 연산 싸이클중에서 제 1 의 연산 싸이클로 레지스터(402)에 저장되고, 데이터(b0P5+ b1P1- b3P5- b2P1)는 제 2 연산 싸이클로 레지스터(402)에 저장되고, 데이터(- b1P5+ b0P1)는 제 3 연산 싸이클로 레지스터(402)에 저장되고, 데이터(- b1P5+ b0P1+ b2P5- b3P1)는 제 4 연산 싸이클로 레지스터(402)에 저장된다.(레지스터(402)를 보라).
레지스터(402)에 저장되어 그로부터 출력되는 데이터중에서, 제 1 연산 및 제 3 연산으로 저장된 (b0P5+ b1P1, - b1P5+ b0P1)은 비규정된 값이고, 이산 코싸인 변환 방법에서, 변환 계수 데이터로서 사용되지 않는다. 상기 데이터는 도2의 레지스터들(402)의 출력 라인의 하부 좌측에서 별표( * )로 표시된다.
제 2 연산 싸이클에 저장된 (b0P5+ b1P1, - b3P5- b2P1)및 제 4 연산 싸이클에 저장된 (- b1P5+ b0P1+ b2P5- b3P1)은 식(45)에 포함된 변환 계수 데이터들(F1, F3)의 연산값으로서 사용된다. 상기 변환 계수 데이터 (F1, F3)는 도2의 레지스터(401)의 출력 라인의 하부 우측에 도시된다.
레지스터(304)에 순서적으로 저장되고 그로부터 출력되는 (b4+ b5, b7+ b6, b4- b5, b7- b6) 각각은 P6/P3계수 승산 회로(324)에서 고정 계수 P3에 의해 승산된다. 상기 4개의 연산 싸이클중 제 1 의 연산 싸이클에서, 레지스터(344)(도6의 레지스터(344)를 보라)에 저장되고, P6/P3계수 승산 회로(324)에서 출력되는 데이터(b4+ b5)P3)는 AND 회로(363)으로부터 "0" 데이터를 가산하고 레지스터(403)에 저장한다(도6의 레지스터(403)를 보라). 상기 제 1 연산 싸이클의 레지스터(403)에 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터로서 사용되지 않는다. 상기 데이터는 도2의 레지스터(403)의 출력 라인의 하부측에 별표( * )로 표시된다.
4개의 연산 싸이클중에서 제 2 연산 싸이클로 AND 회로(363)을 통한개의 데이터(b4+ b5) 입력과 4개의 연산 싸이클중에서 제 2 연산 싸이클로 레지스터(344)로부터의 데이터((b7+ b6) P3) 출력은 가산 회로(383)에 전달되고 데이터((b4+ b5) P3+ (b7+ b6) P3)는 가산 회로(383)로부터 출력되어 레지스터(403)에 저장된다(레지스터(403)을 보라). 제 2 연산 싸이클로 레지스터(403)에 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터(F4)로서 사용된다. 상기 변환 계수 데이터(F4)는 도2의 레지스터(403)의 출력 라인 하부측에 도시된다.
데이터((b4- b5) P3)및 "0" 데이터는 4개의 연산 싸이클중에서 제 3 연산 싸이클로 가산 회로에 전달되고 데이터((b4- b5) P3)는 가산 회로(383)으로부터 출력되고 레지스터(403)에 저장된다(도6의 레지스터(403)을 보라). 상기 제 3 연산 싸이클에서 레지스터(403)으로 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터로 사용되지 않는다. 상기 데이터는 도2의 레지스터(403)의 출력 라인측에 별표( * )로 표시된다. 4개의 연산 싸이클에서 제 4의 연산 싸이클의 AND 회로(363)를 통한개의 데이터((b4- b5) P3)입력과 4개의 연산 싸이클에서 제 4 연산 싸이클의 AND 회로(363)를 통한개의 데이터((b4- b5) P3) 입력은 가산 회로(383)에 전달되고 데이터((b4- b5) P3+ (b7- b6) P3)는 가산 회로(383)으로부터 출력되고 레지스터(403)에 저장된다(레지스터(403)를 보라). 제 4 연산 싸이클에서 레지스터(403)로 전달되는 데이터는 2-4-8 DCT 에서 변환 계수 데이터(F6)로 사용되며, 상기 변환 계수 데이터(F6)는 도2의 레지스터(403)의 출력 라인 하측에 도시된다.
4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 싸이클에서 레지스터(305)에 저장된 데이터들(b4, b7, b5, b6) 각각과 순차적인 출력은 p4/p5계수 승산 회로(325)에서 고정 계수 p5에 의해 승산된다. 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에 저장된 4 개의 "0" 데이터 각각과 (레지스터(306)을 보라) 순차적인 출력은 p4/p5계수 승산 회로(325)에서 고정 계수 p5에 의해 승산된다. 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 레지스터(307)에 저장된 4개의 데이터들(b5, b6, b4, b7) 각각은 p0/ P1계수 승산 회로(327)에서 고정 계수 P1에 의해 승산된다.
상기 2-4-8 DCT 에서, "0"이 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 AND 회로(364)의 다른 입력에 전달되기 때문에 p6/p3계수 승산 회로(324)로부터의 데이나 출력은 가산 회로(384)에 전달되지 않으며, 데이터들(b4p5, b7p5, b5p5, b6p5)(도6의 레지스터(345)를 보라)는 p4/p5계수 승산 회로(325)로부터 순서적으로 출력하며 레지스터(345)에 순서적으로 저장되고 P0/ P1계수 승산 회로(327)로부터 출력되고 레지스터(347)에 순서적으로 저장되고 매 연산 싸이클에서 가산 회로(384)에 전달된다.
데이터(b4P5+ b6P1)는 4개의 연산 싸이클중에서 제 1 연산 싸이클로 레지스터(404)(도6의 레지스터들(404)를 보라)에 저장되고, 가산 회로(384)로부터 출력된다.
상기 제 1 연산 싸이클의 레지스터(404)에 전달된 데이터는 2-4-8 DCT 의 변환 계수 데이터로서 사용된다. 상기 변환 계수 데이터는 도2의 레지스터(404)의 출력 라인의 하부 좌측에 도시된다.
4개의 연산 싸이클중에서 제 2 연산 싸이클의 AND 회로(365)를 통한개의 데이터(b4P5+ b5P1) 입력과 제 2 연산 싸이클의 레지스터(345)로부터의 (- b7P5) 출력 및 제 2 연산 싸이클의 레지스터(347)로부터의 (- b6P1)데이터 출력 및 데이터는 가산 회로(384)에 전달되고 데이터(b4P5+ b5P1- b7P5- b6P1)는 가산 회로(384)로부터 출력되고 레지스터(404)(레지스터(404)를 보라)에 저장된다. 제 2 연산 싸이클의 레지스터(404)에 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터로서 사용되고, 상기 변환 계수 데이터는 도2의 레지스터(404)의 출력 라인의 하부 좌측에 도시된다.
4개의 연산 싸이클중에의 제 3 연산 싸이클에서, 데이터 (- b6P5+ b4P1)는 가산 회로(384)로부터 출력되고 레지스터(404)(레지스터(404)를 보라)에 저장된다. 제 3 연산 싸이클의 레지스터(404)에 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터로서 사용되고, 상기 데이터는 도2의 레지스터(403)의 출력 라인 하부 좌측에 별표( * )로 표시된다.
4개의 연산 싸이클중에서 제 4 연산 싸이클의 AND 회로(365)를 통한개의 데이터(- b6P5+ b4P1)입력과 제 4 연산 싸이클의 레지스터(345)로부터 출력되는 데이터(b6P5)와 제 4 연산 싸이클로 레지스터(347)로부터 출력되는 (-b7P1)는 가산회로(384)로부터 출력되고 레지스터(404)에 저장된다(도6의 레지스터(404)를 보라). 제 4 연산 싸이클의 레지스터(404)에 전달된 데이터는 2-4-8 DCT 에서 변환 계수 데이터(F7)로서 사용된다. 상기 DCT 계수 F7은 도2의 레지스터(404)의 출력 라인중 하부 좌측에 도시된다.
위의 산술 연산을 완성함으로서, 8x8 데이터 블록으로 구성되는 한개의 라인에 포함된 8개의 데이터상의 제 1 의 2-4-8 DCT 가 종료된다. 위에서 기술된 제1의 2-4-8 DCT는 8x8 데이터 블록을 구성하는 다음 라인에 이은 라인 각각에서 수행되고 8x8 데이터 블록을 구성하는 모든 8개의 라인상의 제 1의 2-4-8 DCT 가 같은 방법으로 종료된다. 모든 8개의 라인상에서 2-4-8 DCT 의 완성후에, 제2의 2-4-8 DCT는 8x8 데이터 블록을 구성하는 8개의 데이터 스트링 각 스트링상에서 수행되고 제 2의 2-4-8 DCT 가 종료된다. 상기 제 2 2-4-8 DCT 를 완성하여 얻어진 변환 계수 데이터는 8x8 화소 데이터의 압축을 위해 사용된다. 전송되는 영상 데이터로 8x8 화소 데이터 각각에서 제 1 2-4-8 DCT 와 제 2 2-4-8 DCT 를 수행함으로써, 영상 데이터가 압축되고 전송된다.
따라서, 본 발명에 따라서, 8-8 DCT 장치와 2-4-8 장치가 상기 8-8 DCT 회로에 사용된 고정 계수 승산 회로의 일부가 2-4-8 DCT 에 요구된 고정 계수 승산 회로로서 전환되어 사용되도록 구성되며, 8-8 DCT 에서 파이프 라인형 처리 산술 연산을 통해 얻어진 고속 계산 특징은 2-4-8 DCT 에 유지되고 고속 계산 특징이 소형화된 8-8 DCT 와 2-4-8 DCT 장치에서 조차도 계속 유지된다.
<제 2 실시예>
도7은 본 발명의 제 2 실시예에 다른 8-8/2-4-8 IDCT 구성을 부분적으로 보여주는 개략 블록 다이어그램이다. 도8은 또한 제 2 실시예에 따른 8-8/2-4-8 IDCT의 구성을 부분적으로 보여주는 개략 블록 다이어그램이다. 도9는 제 2 실시예에 따른 8-8/2-4-8 IDCT 를 구성하는 8-8 IDCT 의 연산을 설명하는 타이밍도의 일부이다. 도10은 제 2 실시예에 따른8-8/2-4-8 IDCT 를 구성하는 8-8 IDCT 연산을 설명하는 챠이밍 챠트의 나머지 부분이다. 도11은 제 2 실시예에 따른 8-8/2-4-8 IDCT 를 구성하는 2-4-8 IDCT 의 연산을 설명하는 타이밍 챠트의 일부이다. 도12는 제 2 실시예에 따른 8-8/2-4-8 IDCT 를 구성하는 2-4-8 IDCT 의 연산을 설명하는 타이밍 챠트의 나머지 부분이다. 도8의 라인 II - iI 상에서 도7의 라인 II - iI 를 겹치므로서, 8-8 DCT/2-4-8 IDCT 장치의 구성이 도시된다.
따라서 상기 실시예에 다라, 8-8 IDCT/2-4-8 IDCT 장치가 8-8 IDCT 회로에 사용된 고정 계수 승산 회로의 일부가 2-4-8IDCT 에 요구된 고정 계수 승산 회로로서 전환되어 사용되도록 구성되므로, 8-8 IDCT 에서 파이프 라인 처리형 산술 연산을 통해 얻어진 고속 계산 특성은 2-4-8 IDCT 에서 유지되고 고속 계산 특성은 소형화된 8-8 IDCT 장치와 2-4-8 IDCT 장치에서 조차 계속 유지된다.
8-8 IDCT/2-4-8 IDCT 장치의 구성을 설명하기 전에, 8x8 화소 데이터의 매 한개의 라인이나 스트링상의 8-8 IDCT 를 수행하는데 사용된 연산식은 아래에 기술되어 있다.
1차원식(52)의 형태로 "관련기술의 설명에서 기술된 2차원식(18)을 표시하고 식(40)의 경우에서처럼 h,x 에 따라 식(52)를 압축해제하여 얻어진 f(0), f(1),f(2), f(3), f(4), f(5), f(6), f(7) 및 F(0,v), f(1,v), f(2,v), f(3,v), f(4,v), f(5,v), f(6,v) 및 F(7,v)때 f(0) = f0, f(1) = f1, f(2) = f2, f(3) = f3, f(4) = f4, f(5) = f5, f(6) = f6, f(7) = f7및 F(0,v) = F0, F(1,v) = F1, F(2,v) = F2,, F(3,v) = F3, F(4,v) = F4, F(5,v) = F5, F(6,v) = F6및 F(7,v) = F7로 설정되고, 상기 결과식은 식(53)을 얻기 위해 변화되어 재배열된다. 식(53)의 (P0내지 P6)은 식(40)에서와 같은 값이다.
식(54)는 상기 식(53)의 우측을 변화시켜 얻어지며 식(55)은 식(54)의 우측을 재배열하여 얻어진다.
식(55)의 우측을 재배열하여, 식(56)이 얻어지고, 식(56) 내지 식(57)의 F0,f1, f2, f3, f4, f5, f6, f7을 설정하여 식(58)이 얻어진다.
제 2 실시예에 따른 8-8 IDCT/2-4-8 IDC 장치(110)를 구성하는 8-8 IDCT 장치는 식(58)에 따라 연산된다.
다음에, 8x8 화소 데이터를 구성하는 매 한개의 라인 또는 스트링상의 2-4-8 IDCT 를 수행하기 위해 사용된 연산식은 다음과 같다.
1차원식(52)의 형태로 "관련기술의 설명"에 설명된 2차원 식(18)을 표현하여 식(40)의 경우에, h,x 에 따라 식(52)를 압축해제하여 얻어진 f(0), f(1), f(2),f(3), f(4), f(5), f(6), f(7) 및 f(0,z), f(1,z), f(2,z), f(3,z), f(4,z), f(5,z), f(6,z) 및 f(7,z)가 f(0) = f0, f(1) = f1, f(2) = f2, f(3) = f3, f(4) = f4, f(5) = f5, f(6) = f6, f(7) = f7및 F(0,v) = F0, F(1,v) = F1, f(2,v) = F2, F(3,v) = F3, F(4,v) = F4, F(5,v) = F5, F(6,v) = F6및 F(7,v) = F7이 되도록 설정될때, 결과식은 변화되어 재배열되고 식(60)이 얻어진다. 식(60)에서 (P0내지 P6)은 식(40)에서와 같은 값이다.
식(61)은 위의 식(60)의 우측을 변화시켜 얻어지고 식(62)은 식(61)의 우측을 재배열하여 얻어진다.
식(63)에서와 같은 방법으로 식(62)에서 F0+ f4, F3+ f7, F1+ f5, F2+ f6, F0- f4, F3- f7, F1- f5, F2- f6를 설정하여, 식(64)가 얻어진다. 제 2 실시예에 따른 8-8 IDCT/2-4-8 IDCT 장치(110)를 구성하는 2-4-8 IDCT 장치는 식(64)에따라 연산한다.
8-8 IDCT 의 경우에, MUX(112)는 8-8 IDCT 가 수행되는 8x8 변환 계수 데이터(후에는 "8x8 데이터"로 불림)중에서 제 1 의 IDCT 에 대해 사용되는 8 개의 데이터 각각과 대응 레지스터들(141내지 148) 각각에 대해 제 1 IDCT 에 의해 얻어진 8-8 데이터로 구성되는 각 라인에 포함된 8 개의 데이터 각각을 선택적으로 출력하며, 2-4-8 IDCT 의 경우에, 제 1 레지스터 그룹(113)을 구성하는 레지스터(141)에 대한 8 개의 데이터(F0내지 F7)중에서 데이터(F0), 레지스터(145)에 대한개의 데이터(F1), 레지스터(143)에 대한개의 데이터(F2), 레지스터(147)에 대한개의 데이터(F3), 레지스터(142)에 대한개의 데이터(F4), 레지스터(146)에 대한개의 데이터(F5), 레지스터(144)에 대한개의 데이터(F6), 레지스(148)에 대한개의 데이터(F7)을 선택적으로 출력한다.
8-8 IDCT 의 경우에, 제 1 MUX 그룹(15)을 구성하는 MUXs(1612,162, 1632, 164, 156, 166, 167, 168)은 "0" 데이터를 선택하고 8-8 IDCT의 경우에, MUXs(1611, 1631)은 각각 레지스터들(142, 144)를 선택한다. 2-4-8 IDCT 에서, MUXs(162, 164내지 168)은 각각 대응 레지스터들(142, 144내지 148)을 선택한다. 상기 2-4-8 IDCT 의 경우에, MUXs(1611, 1612, 1631, 1632)는 레지스터들(141,142, 143, 144)를 선택한다. 제 2 MUX 그룹(123)을 구성하는 MUX(1241)는 레지스터들(221, 222, 223, 224) 각각의 출력에 접속되고 8-8 IDCT, 2-4-8 IDCT 둘다에서, 레지스터(221)를 4번 선택하고, 순서적으로 4개의 데이터들을 출력하다. MUX(1242)는 레지스터들(221, 222, 223, 224) 각각의 출력에 접속되고 8-8 IDCT 의 경우에, 레지스터(223)를 4번 선택하고, 순서적으로 4개의 데이터들을 출력한다. 2-4-8 IDCT 의 경우에, 레지스터(222)를 4번 선택하고, 순서적으로 4개의 데이터들을 출력한다. MUX(1243)는 8-8 IDCT 의 경우에, 레지스터들(221내지 224)의 각 출력에 접속되고 8-8 IDCT의 경우에 레지스터들(222, 224, 224, 222)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력하며, 2-4-8 IDCT 의 경우에, 레지스터들(223, 224, 224, 223)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 데이터들을 출력하며, MUX(1244)는 레지스터들(221, 222, 223, 224)의 각 출력에 접속되고 8-8 IDCT의 경우에, 레지스터들(224, 222, 222, 224)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 데이터들을 출력하며, 2-4-8 IDCT 의 경우에, 레지스터들(224, 223, 223, 224)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 데이터들을 출력한다. MUX(1245)는 각 레지스터들(225, 226, 227, 228)의 출력에 각각 접속되고 8-8 IDCT 의 경우에, 레지스터들(225, 227, 226, 228)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 데이터들을 출력하고, 2-4-8 IDCT 의 경우에, 레지스터(225)를 4번 선택하고 순서적으로 4개의 데이터들을 출력한다. MUS(1246)는 레지스터들(225, 226, 227, 228)의 각 출력에 접속되고 8-8 IDCT 에서, 레지스터들(226, 225, 228, 227)의 순서에 따라 레지스터를 선택하며 순서적으로 4개의 데이터들을 출력하고, 2-4-8 IDCT 의 경우에, 레지스터들(227, 228, 228, 227)의 순서에 따라 레지스터를 선택하고 순서적으로 4개의 데이터들을 출력한다. MUX(1247)는 레지스터들(225, 226, 227, 228)의 각 출력에 접속되고, 8-8 IDCT 의 경우에, 레지스터들(227, 228, 225, 226)의 순서에 따라 레지스터를 선택하고 4개의 데이터들을 출력한다. 2-4-8 IDCT 의 경우에, 레지스터(226)를 4번 선택하며 순서적으로 4개의 데이터들을 출력한다. MUX(1248)는 레지스터들(225, 226, 227, 228) 각각의 출력에 접속되고 8-8 IDCT 의경우에, 레지스터들(228, 226, 227, 225)의 순서에 따라 레지스터를 선택하며, 순서적으로 4개의 데이터들을 출력하며, 레지스터들(228, 227, 227, 228)을 선택하고 순서적으로 4개의 데이터들을 출력한다. 제 1 가산/감산 회로 그룹(125)을 구성하는 가산/감산 회로(1261)는 MUX(1241)로부터 순서적으로 출력되는 4개의 데이터중에서의 데이터와 제 1 및 제 4 순서에 따라 MUX(1242)로부터 순서적으로 4개의 데이터 출력중에서의 데이터상에서 가산 연산들을 수행하고, MUX(1241), MUX(1242)로부터 4개의 데이터 출력중에서 제 2, 제 3 순서에 따라 데이터 출력상에서 감산 연산들을 수행하며, 즉, 상기 MUX(1241)로부터 제 1 순서에 따라 데이터 출력은 MUX(1242)로부터 제 1 순서에 따라 데이터 출력에 가산되고 따라서 같은 가산 연산들이 제 4 의 순서에 따라 데이터 출력상에서 수행되고, 유사한 감산 연산들은 제 2, 제 3 순서에 따라 데이터 출력상에서 수행된다. 가산/감산 회로(1261)에 의해 수행된 감산 연산들에서, MUX(1242)로부터 데이터 출력은 MUX(1241)로부터 출력되는 데이터에서 감산된다.
상기 제 1 가산/감산 회로 그룹(125)을 구성하는 가산/감산 회로(1262)는 MUX(1245)로부터 순서적으로 4개의 데이터 출력중에서의 데이터와 제 1, 제 4 순서에 따라 MUX(1247)로부터 순서적으로 출력되는 4개의 데이터중에서 데이터에서 가산 연산들을 수행하며, MUX(1245), MUX(1247)로부터 출력되는 4개의 데이터중에서 제2, 제 3 순서에 따라 데이터 출력상에서 감산 연산들을 수행하고, 즉, 상기 MUX(1241)로부터 제 1 순서의 데이터 출력은 MUX(1247)로부터 제 1 순서에 따라 데이터 출력이 상기 MUX(1247)로부터 제 1 순서에 따라 데이터 출력에 가산되고 따라서 같은 가산 연산들이 제 4 순서에 따라 데이터 출력상에서 수행되고 유사한 감산 연산들이 제 2, 제 3 순서에 따라 데이터 출력상에서 수행된다. 상기 가산/감산 회로(1262)에 의해 수행된 감산 연산들에서, 상기 MUX(1247)로부터의 데이터 출력은, MUX(1245)로부터 데이터 출력에서 감산된다.
상기 8-8 IDCT 및 2-4-8 IDCT 둘다에서 제 4 레지스터 그룹(133)을 구성하는 레지스터(1341)는 p5계수 승산 회로(322)로부터 순서적으로 4개의 데이터 출력 각각을 저장하고 양의 값으로서 모든 데이터 각각을 출력한다. 제 4 의 레지스터 그룹(133)을 구성하는 레지스터(1342)는, 8-8 DCT, 2-4-8 IDCT 둘다에서, p5계수 승산 회로로부터 순서적으로 4개의 데이터 출력 각각을 저장하며 양의 값으로서 제 1, 제 3 순서에 따라 저장된 데이터와 음의 값으로 제 2, 제 4 순서에 따라 저장된 데이터를 출력한다. 상기 8-8 IDCT, 2-4-8 IDCT 둘다에서, 레지스터(1343)는, P1계수 승산 회로(323)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 양의 값으로서 제 1, 제 2 순서에 따라 저장된 데이터와 음의 값으로 제 3, 제 4 순서에 따라 저장된 데이터를 출력한다.
레지스터(1344)는 P6/P3계수 승산 회로(324)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 IDCT 의 경우에, 양의 값으로 제 1, 제 2, 제 4 순서에 따라 출력되는 데이터와, 음의 값으로 제 3 순서에 따라 출력되는 데이터를 출력하며, 2-4-8 IDCT 경우에, 양의 값으로서 저장된 모든 데이터 각각을 출력하며, 레지스터(1345)는 p4/p5로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 IDCT 의 경우에, 양의 값으로 제 1, 제 2 순서에 따라 출력되는 데이터와 음의 값으로 제 3, 제 4 순서에 따라 출력되는 데이터를 출력하며 2-4-8 IDCT 의 경우에, 양의 값으로 제 1, 제 3 순서에 따라 데이터와 음의 값으로서 제 2, 제 4 순서에 따라 출력되는 데이터를 출력한다. 레지스터(1346)는 p2 계수 승산 회로(326)으로부터 순서적으로 4개의 데이터 출력 각각에서 저장되고 음의 값으로서 제 1, 제 4 순서에 따라 출력되는 데이터와 양의 값으로 제 2, 제 3 순서에 따라 출력되는 데이터를 출력한다. 레지스터(1347)는 P0P0/ P1계수 승산 회로(327)로부터 순서적으로 4개의 데이터 출력 각각을 저장하며, 8-8 IDCT의 경우에, 음의 값으로서 제 1 내지 제 3 순서에 따라 출력되는 데이터와, 양의 값으로서 제 4 순서에 따라 출력되는 데이터를 출력하며, 2-4-8 IDCT 의 경우에, 음의 값으로서 제 1, 제 2 순서에 따라 데이터와 제 3, 제 4 순서의 데이터를 출력한다.
가산 회로(1382)는 레지스터(1341)에 저장된 데이터와, 레지스터(1342)에 저장된 데이터, 레지스터(1343)에 저장된 데이터상에서 가산 연산들을 수행한다. 가산 회로(1382)로부터 순차적인 데이터 출력은 순서적으로 레지스터(402)에 저장된다. 가산 회로(1384)는 레지스터(1344)에 저장된 데이터, 레지스터(1345)에 저장된 데이터, 레지스터(1346)에 저장된 데이터, 레지스들(1347)에 저장된 데이터상에서 가산 연산들을 수행하며, 상기 가산 회로(1384)로부터의 데이터 출력은 레지스터들(404)에 저장된다.
상기 레지스터(402)로부터의 데이터는 가산 회로(44)의 합 입력과 감산 회로(42)의 차 입력에 전달되고 레지스터(404)로부터의 데이터는 가산회로(44)의 가수 입력에 감산 회로(42)의 감수 입력에 전달된다. 감산 회로(42)로부터의 데이터 출력은 제 6 레지스터 그룹(45)을 이루는 레지스터(46)에 전달되고 가산 회로(44)로부터의 데이터는 제 6 레지스터 그룹(45)을 이루는 레지스터(48)에 전달된다.
더구나, 제 2 실시예의 구성은 위의 기술을 제외하고는 제 1 실시예와 같다. 그러므로, 도7,도8에서, 같은 번호는 제 1 실시예에서 도1과 도2와 같은 성분으로 주어지며 그들의 상세한 설명은 생략되었다.
하지만, 레지스터(1341)의 구성은 레지스터(341)의 구성과 같다. 상기 가산 회로(181)는 레지스터(141)와 MUX(162)의 출력에 접속되고, 가산 회로(182)는 레지스터(143)과 MUX(164)의 출력에 접속되고 상기 가산 회로(183)는 레지스터(145)와 MUX(164)의 출력에 접속된다. 상기 가산 회로(184)는 레지스터(147)와 MUX(168)의 출력에 접속된다. 더구나, 감산 회로(201)는 MUX(1611, 1612) 각각의 출력에 접속되고, 감산 회로(202)는 MUX(1631), MUX(1632)의 출력에 접속되고, 감산 회로(203)는 레지스터들(146). MUC(1622)에 접속되고, 감산 회로(203)는 레지스터들(146)과 MUX(165)의 출력에 접속되고, 감산 회로(204)는 레지스터(148) 및 MUX(168)의 출력에 접속된다.
다음에, 제 2 실시예의 연산들이 도7 내지 도12를 참고로 기술된다. 처음에, 8-8 IDCT 의 연산들이 설명된다.
상기 8-8 DCT 에 의해 압축된 8x8 영상 데이터중에서 스트링 방향으로 존재하는 8개의 데이터들(F0내지 F7)의 데이터 각각은 제 1 레지스터 그룹(113)을 이루는 대응 레지스터들(141내지 148)에 각각에 저장된다.
상기 MUXs(1612, 162, 1632, 164, 165, 166, 167, 168)은 선택된 "0" 데이터를 가지고, (MUX1611,MUX1631)은 각각 선택된 레지스터들(142, 144)를 가지기 때문에, 데이터 F0=a0는 가산 회로(181)로부터 출력되고, 가산 회로(182)로부터의 F2= a2데이터, 가산 회로(183)으로부터의 데이터(F4= a3), 가산 회로(184)로부터의 (F6= a1), 데이터(F1= a5)는 감산 회로(201)로부터 출력되고, 감산 회로(202)로부터의 (F3= a7), 감산 회로(203)로부터의 데이터(- f5= a6), 감산 회로(204)로부터의 데이터(- f7= a4)가 출력된다.
상기 가산 회로들(181내지 184)로부터 순차적인 데이터들(a0내지 a3)은 레지스터들(221내지 224)를 통해 MUXs(1241내지 1244)에 입력된다. 상기 가산/감산 회로(126)는 MUX(1241)로부터 4개의 연산 싸이클중에서 제 1 싸이클 내지 제 4 싸이클로부터 매 연산 싸이클에서 순서적으로 데이터(a0) 출력과, 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서 순차적인 데이터(a3) 출력에 대해 가산/감산 연산들을 수행하고, 결과적으로, 데이터(a0+ a3), 데이터(a0- a3), 데이터(a0- a3), 데이터(a0+ a3)는 순서적으로 출력된다.
가산/감산 회로(1261)로부터 순서적으로 출력되는 데이터들(a0+ a3, a0- a3, a0- a3, a0+ a3)은 (301)에 (도9의 레지스터(301)을 보라)저장된다. MUX(1243)으로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서 출력되는 데이터들(a2, a1), 데이터들(a1, a2)와 MUX(1244)로부터 4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 출력되는 데이터(a1), 데이터(a2), 데이터들(a2, a1)은 레지스터(303)에 순서적으로 저장된다(도9의 레지스터(303)을 보라). MUX(1245)로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 데이터들(a5, a6, a7, a4) 출력은 레지스터(304)에 순서적으로 저장된다(도10의 레지스터(304)를 보라). MUX(1246)으로부터 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서의 데이터들(a7, a5, a4, a6) 출력은 순서적으로 레지스터(305)에 저장된다(도10의 레지스터(305)를 보라). 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 데이터들(a6, a4, a5, a7) 출력은 레지스터(306)에 저장된다(도10의 레지스터(306)을 보라). 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 데이터들(a4, a7, a6, a5) 출력은 레지스터(307)에 순서적으로 저장된다(도10의 레지스터(307)을 보라).
상기 레지스터(301)에 순서적으로 저장된 데이터는 p3계수 승산 회로(321)에서 고정 계수 p3에 의해 승산되고 결과 데이터는 레지스터(1341)에서 순서적으로 저장된다(도9의 레지스터(1341)를 보라). 레지스터(302)에 순서적으로 저장된 데이터는 p5 계수 승산 회로(322)에서 고정 계수 p5에 의해 승산되고 결과 데이터는 레지스터(1342)에 순서적으로 저장된다(도9의 레지스(1342)를 보라). 레지스터(303)에 순서적으로 저장된 데이터는 P1계수 승산 회로(323)에서 고정 계수 P1에 의해 승산되며, 결과 데이터는 레지스터(1343)에 순서적으로 저장된다. 레지스터(304)에 순서적으로 저장된 데이터는 p6계수 승산 회로(324)에서 고정 계수 p6에 의해 승산되고 결과 데이터는 레지스터(1344)에 순서적으로 저장된다(도10의 레지스터(1344)를 보라). 레지스터(305)에 순서적으로 저장된 데이터는 p4/p5계수 승산 회로(325)에서 고정 계수 p4에 의해 승산되고 결과 데이터는 레지스터(1345)에 순서적으로 저장된다(도10의 레지스터(345)를 보라). 레지스터(306)에 순서적으로 저장된 데이터는 p2계수 승산 회로(326)에서 고정 계수 p2에 의해 승산되고, 결과 데이터는 레지스터(1346)에 순서적으로 저장된다(도10의 레지스터(1346)을 보라). 상기 레지스터(307)에서 순서적으로 저장된 데이터는 P0/ P1계수 승산 회로(327)에서 고정 계수 P0에 의해 승산되고 결과 데이터는 레지스터(1347)에서 순서적으로 저장된다(도10의 레지스터(134)를 보라).
상기 가산 회로(1382)는 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클의 순서에 따라 레지스터들(134, 1342, 1343)으로부터 전달된 데이터의 각각에가산 연산들을 수행하며 출력 데이터들((a0+ a3) P3+ a2P5+ a1P1, (a0- a3) P3- a1P5+ a2P1, (a0- a3) P3+ a1P5- a2P1, (a0+ a3) P3- a2P5- a1P1)은 레지스터(402)에 순서적으로 저장된다(도9의 레지스터(402)를 보라).
상기 가산 회로(1384)는 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클 순서에 따라 레지스터들(1344, 1345, 1346)으로부터 전달된 데이터의 각각에가산 연산들을 수행하고, 출력 데이터들(a5P6+ a7P4- a6P2- a4P0, a6P6+ a5p4+ a4P2- a7P0, - a7P6- a4P4+ a5P2- a6P0, a4P6- a6P4- a7P2+ a5P0)은 레지스터(404)에서 순서적으로 저장된다(도9의 레지스터(404)를 보라).
상기 레지스터(402)에 저장된 데이터 및 매 제 2 연산 싸이클의 출력이 레지스터(404)에 저장되는 데이터에 의해 승산될때, 압축전에 표시되는 데이터들(f0내지 f7) 중에서 데이터(f0,)가산 회로(44)에서 매 제 2 연산 싸이클에서의 출력이 8x8 데이터 블록을 구성하는 스트링 방향으로 배열된 8 개의 데이터들(F0내지 F7)에서 수행될때, 제 1 연산 싸이클에서 얻어지며, 압축이 8 개의 데이터들(F0내지 F7)상에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터(f1)는 제 2 연산 싸이클에서 얻어지며, 압축이 8 개의 데이터들(F0내지 F7)입력상에서 수행되기 전에 나타나는 데이터(f0내지 f7) 중에서 데이터(f2)는 제 3 연산 싸이클에서 얻어지며, 압축이 8개의 데이터들(F0내지 F7)입력상에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터(f3)는 제 4 연산 싸이클에서 얻어진다. 상기 데이터들(f0, f1, f2, f3)은 레지스터(48)에 순서적으로 저장된다. 도8에서, 레지스터(48)에 저장되는 영상 데이터들(f0내지 f3)은 8개의 데이터들(F0내지 F7)에 대응하며, 레지스터(48)의 출력 라인의 최하부에 도시된다.
더구나, 레지스터(404)에 저장된 데이터 및 제 2 연산 싸이클의 출력이 레지스터(402)에 저장된 데이터로부터 감산되고 감산 회로(42)에서 제 2 연산 싸이클의출력, 압축이 8x8 입력 데이터 블록을 구성하는 스트링 방향으로 배열된 8개의 데이터들(f0내지 f7) 상에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터(f4)는 제 1 연산 싸이클로 얻어지며, 압축이 8 개의 입력 데이터들(F0내지 F7) 상에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터(f5)는 제 2 연산 싸이클로 얻어지며, 압축이 8 개의 입력 데이터들(F0내지 F7)에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터들(f6)이 제 3 연산 싸이클에서 얻어지고, 압축이 8개의 데이터들(F0내지 F7)입력상에서 수행되기 전에 나타나는 데이터들(f0내지 f7) 중에서 데이터(f7)는 제 4 연산 싸이클에서 얻어진다. 데이터들(f4, f5, f6, f7)은 순서적으로 레지스터(46)(도10의 레지스터(46)를 보라)에 순서적으로 저장된다. 도8에서, 레지스터(46)에 저장되는 영상 데이터들(f1내지 f7)은 8개의 데이터들(F0내지 F7)에 대응하며, 레지스터(48)의 출력 라인의 하부에 도시된다.
위의 산술 연산을 완성함으로써, 8x8 데이터 블록을 구성하는 한개의 스트링에 포함된 8개의 데이터상에서 제 1의 8-8 IDCT 가 종료된다. 위의 기술과 같은 제 1의 8-8 IDCT 는 8x8 데이터 블록을 구성하는 다음 스트링에 이은 스트링 각각에서 수행되고 후에, 8x8 데이터 블록을 구성하는 모든 8개의 스트링상의 제 1 8-8 IDCT 가 유사한 방법으로 종료된다. 모든 8개의 스트링상에서 제 1 8-8 IDCT 의완성후에, 제 2 의 8-8 IDCT 가 8x8 데이터 블록을 구성하는 각 라인에 포함된 8개의 데이터(IDCT 에 대해 전달된 데이터)상에서 수행된다. 8x8 개의 데이터 각각에서 수행되는 제 1 의 8-8 IDCT 를 완성함으로써, 상기 8-8 DCT 에 의해 압축된 전송 영상 데이터가 재생된다.
다음에, 2-4-8 IDCT 의 연산이 아래에 기술된다. MUX(112)로부터 순서적으로 전송된 8x8 전송 계수 데이터의 스트링 방향으로 배열된 2-4-8 DCT를 수행함으로써 얻어진 8x8 데이터 블록중에서 8개의 데이터들(F0내지 F7) 각각은 다음과 같이 제 1 레지스터 그룹(113)을 구성하는 레지스터들(141내지 148) 각각에 저장된다. 즉, 데이터(F0)는 레지스터(141)에, 데이터(F4)는 레지스터(142)에, 데이터(F2)는 레지스터(143)에, 데이터(F6)는 레지스들(144)에, 데이터(F1)는 레지스터(145)에, 데이터(F5)는 레지스들(146)에, 데이터(F3)는 레지스터(147)에, 데이터(F7)는 레지스터(148)에 저장된다.
상기 MUX(162), (164내지 168)이 선택된 대응 레지스터(141), 레지스터들(144내지 148)을 가지고 MUXs(1611, 1612, 1631, 1632)은 선택된 대응 레지스터들(141, 143, 143, 144)를 가지기 때문에, 데이터(F0+ f4= b0)는 가산 회로(181)로부터 출력되고, 데이터(F2+ f6= b3)는 가산 회로(182), 데이터(F1+ f5= b2)는 가산 회로(183), 데이터(F3+ f7= b1)는 가산 회로(184), 데이터(F0- f4= b4)는 감산 회로(201), 데이터(F2- f6= b7)는 감산 회로(202), 데이터(F3- f7= b5)는 감산 회로(204)로부터 출력된다.
상기 가산 회로(181)에서 (184)까지의 데이터들(b0 내지 b3)출력은 상기 레지스터들(221내지 224)를 통해 MUXs(1241내지 1244)에 입력된다. 가산 연산들과 감산 연산들이 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서 MUX(1241)로부터의 데이터(b0)출력과, 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 MUX(1242)로부터의 데이터(b3)출력에서 순서적으로 가감산 연산들에 의해 수행되고, 결과적으로 데이터들(b0+ b3, b0- b3, b0- b3, b0+ b3)은 순서적으로 출력된다. 상기 가산/감산 회로(1261)으로부터의 데이터들(b0+ b3, b0- b3, b0- b3, b0+ b3)은 레지스터(301)에 저장된다(도11의 레지스터(301)을 보라).
상기 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 MUX(1243)으로부터의 데이터들(b2, b1, b1, b2) 출력은 레지스터(302)에 저장되고(도11의 레지스터(302)를 보라), 4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산 싸이클로부터 매 연산 싸이클에서 MUX(1244)로부터 데이터들(b1, b2, b2및 b1)은 순서적으로 레지스터(303)에 저장된다(도11의 레지스터(303)을 보라).
가감산 연산들이 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클로부터 매 연산 싸이클에서 MUX(1245)로부터 데이터들(b4, b4, b4, b4) 출력과 4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지 매 연산 싸이클에서 MUX(1247)로부터의 데이터들(b7, b7, b7, b7) 출력상에서 가산/감산 회로(1262)에 의해 수행되고, 데이터들(b4+ b7, b4- b7, b4- b7, b4+ b7)은 가감산 회로(1262)로부터 출력되고, 데이터들(b4+ b7, b4- b7, b4- b7, b4+ b7)은 순서적으로 레지스터(304)에 저장된다(도11의 레지스터(304)를 보라).
4개의 연산 싸이클중에서 제 1 연산 싸이클에서 제 4 연산 싸이클까지의 매 연산 싸이클에서 MUX(1246)으로부터의 데이터들(b6, b5, b5, b6) 출력은 레지스터(305)에 순서적으로 저장되고(도11의 레지스터(305)를 보라), 4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산까지의 매 연산 싸이클에서 MUX(1247)로부터의 데이터들(b7, b7, b7, b7) 출력은 MUX(282)에 의해 모두 선택되지 않으며, 상기 MUX(282)에 의해 선택된 4개의 "0" 데이터는 순서적으로 레지스터(306)에 저장된다(도11의 레지스터(306)을 보라). 4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산까지의 매 연산 싸이클에서 MUX(1248)로부터의 데이터들(b5, b6, b6, b5) 출력은 순서적으로 레지스터(307)에 저장된다(도11의 레지스터(307)을 보라).
상기 레지스터(301)에 순서적으로 저장된 각 데이터는 P3계수 승산 회로(321)에서 고정 계수 P3에 의해 승산되고 결과 데이터는 레지스터(1341)에 순서적으로 저장된다(도11의 레지스터(1341)를 보라). 상기 레지스터(302)에 순서적으로 저장된 각 데이터는 P5계수 승산 회로(322)에서 고정 계수 P5에 의해 승산되고 결과 데이터는 레지스터(1342)에 순서적으로 저장된다(도11의 레지스터(1342)를 보라). 레지스터(303)에 순서적으로 저장된 각 데이터는 P1계수 승산 회로(321)에서 고정 계수 P1에 의해 승산되고 결과 데이터는 레지스터(1343)에 순서적으로 저장된다(도11의 레지스터(1343)을 보라). 상기 레지스터(304)에서 순서적으로 저장된 각 데이터는 P6/P3계수 승산 회로(324)에서 고정 계수 P3에 의해 승산되고 결과 데이터는 레지스터(1344)에서 순서적으로 저장된다(도12의 레지스터(1344)를 보라). 상기 레지스터(305)에서 순서적으로 저장된 각 데이터는 P4/P5계수 승산 회로(325)에서 고정 계수 P5에 의해 승산되고 결과 데이터는 상기 레지스터(1345)에 순차저으로 저장된다(도12의 레지스터(1345)를 보라). 레지스터(306)에 순서적으로 저장된 데이터 각각은 p2계수 승산 회로(326)에서 고정 계수 p2에 의해 승산되고 결과 데이터는 레지스터(1346)(도12의 레지스터(1346)을 보라)에 순서적으로 저장된다. 레지스터(307)에 순서적으로 저장된 데이터 각각은P0/ P1계수 승산 회로(327)에서 고정 계수 P1에 의해 승산되고 결과 데이터는 레지스터(1347)에 순서적으로 저장된다(도12의 레지스터(1347)을 보라).
4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산까지의 매 연산 싸이클에서 레지스터들(134, 1342, 1343)으로부터의 데이터 출력은 가산 회로(1382)에 가산되고 제 1 연산 싸이클에서 얻어진 데이터로서 데이터((b0+ b3)P3+ b2P5+ b1P1)은 가산 회로(1382)로부터 출력되고, 제 2 연산 싸이클에서 얻어진 데이터로서 데이터((b0- b3) P3- b1P5+ b2P1)가 출력되고, 제 3 연산 싸이클에서 얻어진 데이터로서 데이터((b0- b3) P3+ b1P5- b2P1)는 출력되고, 제 4 연산 싸이클에서 얻어진 데이터로서 데이터((b0+ b3) P3- b2P5- b1P1)는 출력 되고, 상기 데이터는 순서적으로 레지스터(402)에 저장된다. 상기 레지스터(402)에 순서적으로 저장되는 데이터는 8개의 데이터 입력(F0내지 F7)에 대응하는 화소 데이터들(f0내지 f7)중에서, 저장의 순서에 따라, (f0, f2, f4, f6)을 포함한다(식(64)에서는 (f0, f2, f4, f6)에 대응한다). 도8에서, 화소 데이터들(f0, f2, f4, f6)에 대응한다). 도8에서, 화소 데이터(f0, f2, f4, f6)은 레지스터(402)의 출력 라인 하부에 도시된다.
4개의 연산 싸이클중에서 제 1 연산에서 제 4 연산까지의 매 연산 싸이클에서 레지스터들(1344내지 1346)으로부터의 데이터 출력은 가산 회로(1384)에 가산되고, 상기 제 1 연산 싸이클에서 얻어진 데이터로서 데이터((b4+ b7) P3+ b6P5+ b5P1)는 가산 회로(1384)로부터의 출력이고, 제 2 연산 싸이클에서 얻어진 데이터로서 ((b4- b7) P3- b5P5+ b6P1)이 출력되고, 제 3 연산 싸이클에서 얻어진 데이터로서 데이터((b4- b7) P3+ b5P5- b6P1)이 출력되고, 제 4 연산 싸이클에서 얻어진 데이터로서 데이터((b4+ b7) P3- b6P5- b5P1)이 출력되며, 상기 데이터는 순서적으로 레지스터(404)에 저장된다. 레지스터(404)에 순서적으로 저장된 데이터는 8개의 데이터들(F0내지 F7)에 대응하여 화소 데이터들(f0내지 f7)중에서, 저장 순서에 따라 데이터들(f1, f3, f5, f7)(식(64)에서 (f1, f3, f5, f7)에 대응하여)을 포함한다. 도8에서, 화소 데이터들(f1, f3, f5, f7)은 레지스터(404)의 출력 라인의 하부에 도시된다.
위의 산술 연산을 완성함으로써, 8x8 데이터 블록을 구성하는 한개의 스트링에 포함된 8개의 데이터상에서 제 1 2-4-8 IDCT 가 종료된다. 위에서 기술과 같은 제 1 의 2-4-8 IDCT 는 8x8 데이터 블록을 구성하는 다음 스트링에 이은 각 스트링상에서 수행되고, 다음에, 8x8 데이터 블록을 구성하는 모든 8개의 스트링상의 제 1 2-4-8 IDCT 는 유사한 방법으로 종료된다. 모두 8개의 스트링상에서 제 1 의 2-4-8 IDCT 의 완성후에, 제 2 의 2-4-8 IDCT 는 8x8 데이터 블록을 구성하는 각 라인에 포함된 8개의 데이터(IDCT 용 전달 데이터)상에서 수행된다. 8x8데이터 각각각에서 수행되는 제 1 2-4-8 IDCT 와 제 2 의 2-4-8 IDCT 를 완성함으로써, 상기 2-4-8 DCT 에 의해 압축된 전송 영상 데이터가 재생된다.
따라서, 본 발명에 따라, 8-8 IDCT 장치와 2-4-8 IDCT 장치가 8-8 IDCT 회로에 사용된 고정 계수 승산 회로의 일부가 2-4-8 IDCT 에 요구된 고정 계수 승산 회로와 같이, 스위치되어 사용되기 때문에, 8-8 IDCT 에서 파이프 라인 처리형 산술 연산을 통해 얻어진 고속 계산 특징은 2-4-8 IDCT 에서 유지될 수 있고 고속 계산 특징은 소형화된 8-8 IDCT 장치와 2-4-8 IDCT 장치에서도 계속 유지된다.
<제 3 실시예>
도13은 본 발명의 제 3 실시예에 따른 16-16/2-8-16 DCT 장치의 전기적 구성을 보여주는 부분적인 개략 블록 다이어그램이다. 도14는 제 3 실시예에 다른 16-16/2-8-16 DCT 장치의 전기적 구성을 부분적으로 보여주는 개략 블록 다이어그램이다. 도14의 라인 III - iII 과 도13의 III - iII 을 겹치므로서, 16-16/2-8-16 DCT 장치의 전체 구성이 도시된다. 16-16 DCT 또는 2-8-16 DCT 가 입력되는 16x16 개의 화소 데이터상에서 수행되는 점에서 제 3 실시예의 16-16/2-8-16 DCT 의 구성과 제 1 실시예 및 제 2 실시예와는 상당히 다르다. 상기 16-16 DCT 의 경우에, 16-16 DCT/2-8-16 DCT 장치(210)은 식(17)을 압축해제하고 재배열하여 얻어진 결정식(65)에 따른 산술 연산을 수행하고, 2-8-16 DCT 의 경우에, 식(21)을 압축해제하여 재배열함으로써 얻어진 결정식(66)에 따라 산술 연산을 수행한다. 결정식(66)에서 값 (e0 내지 e15)은 식(67)에 의해 주어지고 결정식(66)에서 값 (g0 내지 g15)은 식(68)에 의해 주어진다.
식(65) 및 식(66)에서 값 (P0내지 P15)은 다음과 같다.
PO= cos ( 15 π / 32 ) = -cos ( 17 π / 32 ) = 0.09801714034.....
P1= cos ( 14 π / 32 ) = -cos ( 18 π / 32 ) = 0.195090322...
P2= cos ( 13 π / 32 ) = -cos ( 19 π / 32 ) = 0.2902846773...
P3= cos ( 12 π / 32 ) = -cos ( 20 π / 32 ) = 0.3826834324...
P4= cos ( 11 π / 32 ) = -cos ( 21 π / 32 ) = 0.4713967368...
P5= cos ( 10 π / 32 ) = -cos ( 22 π / 32 ) = 0.555570233...
P6= cos ( 9 π / 32 ) = -cos ( 23 π / 32 ) = 0.634393842...
P7= cos ( 8 π / 32 ) = -cos ( 24 π / 32 ) = 0.707106781...
P8= cos ( 7 π / 32 ) = -cos ( 25 π / 32 ) = 0.7730104534...
P9= cos ( 6π / 32 ) = -cos ( 26 π / 32 ) = 0.8314696123...
P10= cos ( 5 π / 32 ) = -cos ( 27 π / 32 ) = 0.8819212644..
P11= cos ( 4 π / 32 ) = -cos ( 28 π / 32 ) = 0.9238795325...
P12= cos ( 3 π / 32 ) = -cos ( 29 π / 32 ) = 0.9567403357...
P13= cos ( 2 π / 32 ) = -cos ( 30 π / 32 ) = 0.9807852804...
P14= cos ( π / 16 ) = -cos ( 31 π / 32 ) = 0.9951847276...
P15= cos ( 0 π ) = -cos ( π ) = 1
이 실시예의 16-16 DCT/2-8-16 DCT(210)은 고정 계수 승산 회로의 일부가 파이프 라인형 고속 산술 연산을 수행하기 위한 16-16 DCT 및 2-8-16 DCT 에 의해 공통적으로 사용되는 구성과 상기 16-16 DCT 및 2-8-16 DCT 가 소형화 회로에서 조차도 수행되는 구성으로 된다.
상기 제 3 실시예의 16-16 DCT/2-8-16 DCT 장치는 MUX(212), 제 1 레지스터 그룹(213)을 이루는 16개의 레지스터들(141내지 1416), 제 1 가산 회로 그룹(217)을 이루는 8개의 가산 회로들(181내지 188), 감산 회로 그룹(219)을 이루는 8개의 감산 회로들(201내지 208), 제 2 레지스터 그룹(221)을 이루는 16개의 레지스터들(221내지 2216), 제 1 의 MUX 그룹(223)을 이루는 16개의 MUXs(2241내지 22416), 제 1 가산/감산 회로 그룹(225)을 이루는 2개의 가산/감산 회로들(226, 2262), 제 3 레지스터 그룹(229)를 이루는 15개의 레지스터들(301내지 3015), 제 2 MUX 그룹(227)을 이루는 2개의 MUXs(281,282), 계수 승산 회로(2321), P11계수 승산 회로(2322), P3계수 승산 회로(2323), P13계수 승산 회로(2324), P9계수 승산 회로(2325), P5계수 승산 회로(2326), P1계수 승산 회로(2327), P14/P7계수 승산 회로(2328), P12/P11계수 승산 회로(2329), P10/P3계수 승산 회로(23210), P8/P13계수 승산 회로(23211), P6/P9계수 승산 회로(23212), P4/P5계수 승산 회로(23213), P2 계수 승산 회로(23214), P0/P1계수 승산 회로(23215), 제 4 의 레지스터 그룹(223)을 이루는 15개의 레지스터들(2341내지 23415), 제 2 의 가산 회로 그룹(237)을 이루는 6개의 가산 회로들(2381내지 2386), 제 5 의 레지스터 그룹(39)을 이루는 8개의 AND 회로들(2361내지 2369)와 6개의 레지스터들(401내지 406)로 구성된다. 도 13에서, 레지스터(141) 내지 레지스터(146) 각각은 R로서 도시된다.
상기 MUX(212)는 각각 16개의 화상 데이터를 선택적으로 출력하며 제 1 의 DCT가 수행되고, 제 1 의 DCT로부터 얻어진 16개의 화상 데이터 또는 16x16 개의 화상 데이터로 이루어진 블록을 구성하는 각 라인에 포함되고, 16x16 개의 화상 데이터를 구성하는 블록을 이루는 각 스트링에 포함된다. 후에,상기 MUX(212)로부터의 16개의 데이터 출력 각각은 데이터(f0내지 f16)로서 불린다. 상기 16-16 DCT 에서 MUX(212)는 제 1 레지스터 그룹(213)을 이루는 레지스터(141)에 데이터(f0)를 저장하고, 레지스터(142)에 (f15), 레지스터(143)에 (f1), 레지스터(144)에 (f14), 레지스터(145)에 (f2), 레지스터(146)에 (f13), 레지스터(147)에 (f3), 레지스터(148)에 (f12), 레지스터(149)에 (f4), 레지스터(1410)에 (f11), 레지스터(1411)에 (f5), 레지스터(1412)에 (f10), 레지스터(1413)에 (f6), 레지스터(1414)에 (f9), 레지스터(1415)에 (f7), 레지스터(1416)에 (f8)을 저장하고 2-4-8 DCT 의 경우에, 레지스터들(141내지 1416)에 대응하여 (f0내지 f15)를 저장한다.
16-16 DCT 및 2-8-16 DCT 둘다에서 제 1 가산 회로 그룹(217)을 이루는 가산 회로들(181내지 188) 각각은 2개의 레지스터에 저장된 데이터상에서 가산 연산들을 수행한다. 즉, 상기 가산 회로(181)는 레지스터(141)에 저장된 데이터를 레지스터(142)에 저장된 데이터에 가산한다. 상기 가산 회로(182)는 레지스터(143)에 저장된 데이터를 레지스터(144)의 데이터에 가산한다. 상기 가산 회로(183)는레지스터(145)의 데이터를 레지스터(146)에 가산한다. 상기 가산 회로(184)는 레지스터(147)의 데이터를 레지스터(148)의 데이터에 가산한다. 상기 가산 회로(185)는 레지스터(149)의 데이터를 레지스터(1410)의 데이터에 가산한다. 상기 가산 회로(186)는 레지스터(1411)의 데이터를 레지스터(1412의)의 데이터에 가산한다. 상기 가산 회로(187)는 레지스터(1413)의 데이터를 레지스터(1414)에 가산한다. 상기 가산 회로(188)는 레지스터(1415)에 저장된 데이터를 레지스터(1416)에 저장된 데이터에 가산한다.
16-16 DCT 및 2-4-8 DCT 둘다에서 감산 회로들(201내지 208) 각각은 2개의 레지스터에 저장된 데이터상에서 감산 연산들을 수행한다. 즉, 상기 감산 회로(201)는 레지스터(142)에 저장된 데이터를 레지스터(141)에 저장된 데이터에서 감산한다. 상기 감산 회로(202)는 레지스터(144)에 저장된 데이터에서 레지스터(143)에 저장된 데이터에서 감산한다. 상기 감산 회로(203)는 레지스터(146)에 저장된 데이터를 레지스터(145)에 저장된 데이터에서 감산한다. 상기 감산 회로(204)는 레지스터(148)에 저장된 데이터를 레지스터(147)에 저장된 데이터에서 감산한다. 상기 감산 회로(205)는레지스터(1410)에 저장된 데이터를 레지스터(149)에 저장된 데이터에서 가산한다. 상기 감산 회로(206)는 레지스터(1412)에저장된 데이터를 레지스터(1411)에 저장된 데이터에서 감산한다. 상기 감산 회로(207)는 레지스터(1414)에 저장된 데이터를 레지스터(1413)에 저장된 데이터에서 감산한다. 상기 감산 회로(208)는 래지스ㅌ(1416)에 저장된 데이터를 레지스터(1415)에 저장된 데이터에서 감산한다.
상기 제 2 레지스터 그룹(221)을 이루는 레지스터(221)는 상기 가산 회로(181)로부터 임시로 데이터를 저장한다. 상기 레지스터(222)는 상기 가산 회로(182)로부터 데이터를 임시로 저장한다. 상기 레지스터(223)는 가산 회로(183)으로부터 데이터를 임시로 저장한다. 상기 레지스터(224)는 가산 회로(184)으로부터 데이터를 임시로 저장한다. 상기 레지스터(225)는 가산 회로(185)으로부터 데이터를 임시로 저장한다. 상기 레지스터(226)는 가산 회로(186)으로부터 데이터를 임시로 저장한다. 상기 레지스터(227)는 가산 회로(187)으로부터 데이터를 임시로 저장한다. 상기 레지스터(228)는 가산 회로(188)으로부터 데이터를 임시로 저장한다.
상기 레지스터(229)는 감산 회로(201)로부터 데이터를 임시로 저장한다. 상기 레지스터(2210)는 감산 회로(202)로부터 데이터를 임시로 저장한다. 상기 레지스터(2211)는 감산 회로(203)로부터 데이터를 임시로 저장한다. 상기 레지스터(2212)는 감산 회로(204)로부터 데이터를 임시로 저장한다. 상기 레지스터(2213)는 감산회로(205)로부터 데이터를 임시로 저장한다.
레지스터(2214)는 감산 회로(206)로부터 출력된 데이터를 임시로 저장한다. 레지스터(2215)는 감산 회로(207)로부터 출력된 데이터를 임시로 저장한다. 레지스터(2216)는 감산 회로(208)로부터 출력된 데이터를 임시로 저장한다.
16-16 DCT의 경우, 제1 MUX 그룹(223)을 구성하는 MUX(2241) 내지 MUX(2244)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2241)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(221, 224, 225, 228, 221, 224, 225, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2242)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 223, 226, 227, 222, 223, 226, 227)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2243)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(221, 224, 225, 228, 222, 223, 226, 227)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2244)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 223, 226, 227, 221, 224, 225, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
2-8-16 DCT의 경우, MUX(2241) 내지 MUX(2248)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2241)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들 (221, 224, 225, 228, 221, 224, 225, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2242)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 223, 225, 227, 222, 223, 226, 227)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2243)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(221, 228, 224, 225, 222, 223, 226, 227)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2244)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 223, 226, 227, 221, 224, 225, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
16-16 DCT의 경우, MUXs(2245내지 2248)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2245)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(221, 228, 226, 223, 227, 222, 225, 224)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2246)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 227, 221, 227, 224, 225, 223, 226)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2247)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(223, 226, 224, 225, 221, 228, 222,222)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2248)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(224, 225, 227, 222, 223, 226, 221, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
2-8-16 DCT의 경우, MUXs(2245내지 2248)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2245)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(223, 226, 222, 227, 221, 228, 224, 225)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2246)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(222, 228, 224, 225, 222, 227, 223, 226)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2247)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들(224, 225, 221, 228,223, 226, 222, 227)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(2248)는 레지스터들(221내지 228)의 각 출력에 연결되고, 레지스터들 (222, 227, 223, 226, 224, 225, 221, 228)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
제1 MUX 그룹(223)을 구성하는 MUX(2249) 내지 MUX(22416)에서 데이터를 선택하는 연산은 16-16 DCT와 2-8-16 DCT 사이에 다르다. 먼저, 16-16 DCT의 경우, MUX(229내지 2216)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2249)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(229, 2214, 2215, 2213, 2212, 2210, 2211, 2216)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22410)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2210, 229, 2212, 2211, 2214, 2213, 2216, 2215)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22411)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2211, 2213, 229, 2215, 2210, 2216, 2212, 2214)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22412)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2212, 2215, 2211, 229, 2216, 2214, 2210, 2213)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22413)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2213, 2210, 2214, 2216, 229, 2211, 2215, 2212)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22414)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2214, 2212, 2216, 2210, 2215, 229, 2213, 2211)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22415)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2215, 2216, 2213, 2214, 2211, 2212, 229, 2210)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22416)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2216, 2211, 2210, 2212, 2213, 2215, 2214, 229)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
2-8-16 DCT의 경우, MUXs(229내지 2216)에서 데이터를 선택하는 연산은 다음과 같다;
MUX(2249)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들 (229, 2212, 2213, 2216, 229, 2212, 2213, 2216)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22410)는 레지스터들(229내지 2216)의 각출력에 연결되고, 레지스터들(229, 2216, 2212, 2213, 2210, 2211, 2214,2215)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22411)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2210, 2211, 2214, 2215, 229, 2212, 2213, 2216)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22412)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(229, 2216, 2211, 2214, 2210, 2215, 2212, 2213)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22413)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2210, 2215, 229, 2216, 2212, 2213, 2211, 2214)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22414)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2211, 2214, 2212, 2213, 229, 2216, 2210, 2215)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22415)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2210, 2211, 2214, 2215, 2210, 2211, 2213, 2214)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다. MUX(22416)는 레지스터들(229내지 2216)의 각 출력에 연결되고, 레지스터들(2212, 2213, 2210, 2215, 2211, 2214, 229, 2216)의 순서에 따라 레지스터를 선택하여 순서적으로 8개의 데이터를 출력한다.
16-16 DCT 및 2-4-8 DCT에서 모두 가감산 회로 그룹(225)을 구성하는 가감산 회로(2261)는 MUX(2241)로부터 순서적으로 출력된 8개 데이터 및 MUX(2242)로부터 순서적으로 출력된 8개 데이트 중 제1 내지 제4 순서에 따라 출력된 데이터에 가산 연산들을 실행하고, MUX(2241)로부터 순서적으로 출력된 8개 데이터 및 MUX(2242)로부터 순서적으로 출력된 8개 데이트 중 제5 내지 제8 순서에 따라 출력된 데이터에 감산 연산들을 실행한다. 즉, 가감산 회로(2261)는 MUX(2241)로부터 출력된 데이터에서 MUX(2242)로부터 출력된 데이터를 감산한다. 16-16 DCT 및 2-4-8 DCT에서 모두 가감산 회로(2262)는 MUX(2249)로부터 순서적으로 출력된 8개 데이터 및 MUX(22415)로부터 순서적으로 출력된 8개 데이트 중 제1 내지 제4 순서에 따라 출력된 데이터에 가산 연산들을 실행하고, MUX(2249)로부터 순서적으로 출력된 8개 데이터 및 MUX(22415)로부터 순서적으로 출력된 8개 데이트 중 제5 내지 제8 순서에 따라 출력된 데이터에 감산 연산들을 실행한다. 가감산 회로(2262)는 MUX(2249)로부터 출력된 데이터에서 MUX(22415)로부터 출력된 데이터를 감산한다.
16-16 DCT의 경우에서 제2 MUX 그룹(227)을 구성하는 MUX(281)는 MUX(2249)로부터 순서적으로 출력된 8개 데이터를 선택하고, 2-4-8 DCT의 경우에서는 가감산 회로(2262)로부터 순서적으로 출력된 데이터를 선택한다.
16-16 DCT의 경우에서 제2 MUX 그룹(227)을 구성하는 MUX(281)는 MUX(2249)로부터 순서적으로 출력된 8개 데이터를 선택하고, 2-8-16 DCT의 경우에서는 가감산 회로(2262)로부터 순서적으로 출력된 데이터를 선택한다. 16-16 DCT의 경우에서 MUX(282)는 MUX(22415)로부터 순서적으로 출력된 8개 데이터를 선택하고, 2-4-8 DCT에서는 (22415)로부터 순서적으로 출력된 8개 데이터를 선택하지 않고 MUX(282)의 8개 연산 싸이클에 대응하는 "0"의 8개 시간을 선택한다.
제3 레지스터 그룹(229)을 구성하는 레지스터(301)는 가감산 회로(2261)로부터 순서대로 출력된 8개 데이터에 대한 연산 결과를 순서적으로 저장한다. 레지스터(302)는 MUX(2243)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(303)는 MUX(2244)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(304)는 MUX(2245)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(305)는 MUX(2246)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(306)는 MUX(2247)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(307)는 MUX(2248)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다.
레지스터(308)는 MUX(2249)로부터 순서대로 출력된 8개 데이터에 대한 연산 결과를 순서적으로 저장한다. 레지스터(309)는 MUX(22410)로부터 순서대로 출력된8개 데이터를 순서적으로 저장한다. 레지스터(3010)는 MUX(22411)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(3011)는 MUX(22412)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(3012)는 MUX(22413)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(3013)는 MUX(22414)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다. 레지스터(3015)는 MUX(22416)로부터 순서대로 출력된 8개 데이터를 순서적으로 저장한다.
16-16 DCT 및 2-8-16 DCT의 경우에서 모두 P7계수 승산 회로(2321) 내지 P1계수 승산 회로(2327)는 각각 레지스터 각각으로부터 출력된 데이터를 똑같은 고정 계수에 의해 승산한다. 즉, P7계수 승산 회로(2321)는 레지스터(301)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P7으로 승산한다. P11계수 승산 회로(2322)는 레지스터(302)로부터 출력된 8개 데이터 각각을 고정 계수 P11으로 승산한다. P3계수 승산 회로(2323)는 레지스터(303)로부터 출력된 8개 데이터 각각을 고정 계수 P3으로 승산한다. P13계수 승산 회로(2324)는 레지스터(304)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P13으로 승산한다. P9계수 승산 회로(2325)는 레지스터(305)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수P9으로 승산한다. P5계수 승산 회로(2326)는 8개 데이터 각각을 고정 계수 P5으로 승산한다. P1계수 승산 회로(2327)는 레지스터(307)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P1으로 승산한다.
16-16 DCT 및 2-8-16 DCT의 경우에서 모두 P14/P7계수 승산 회로(2328) 내지 P4/P5계수 승산 회로(23215)는 각각의 고정 계수를 교환하도록 적응되고, 또 다른 고정 계수를 사용해 승산을 실행한다. 즉, P14/P7계수 승산 회로(2328)는 16-16 DCT의 경우에서 레지스터(308)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P14로 승산하고, 2-4-16 DCT의 경우에서는 레지스터(308)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P7로 승산한다. P12/P11계수 승산 회로(2329)는 16-16 DCT의 경우에서 레지스터(309)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P12로 승산하고, 2-4-8 DCT의 경우에서는 레지스터(309)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P11로 승산한다. P10/P3계수 승산 회로(23210)는 16-16 DCT의 경우에서 레지스터(3010)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P10로 승산하고, 2-8-16 DCT의 경우에서는 레지스터(3010)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P3로 승산한다. P8/P13계수 승산 회로(23211)는 16-16 DCT의 경우에서 레지스터(3011)로부터 순서적으로 출력된 8개데이터 각각을 승산하고, 2-4-8 DCT의 경우에서는 레지스터(3011)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P13로 승산한다. P6/P9계수 승산 회로(23212)는 16-16 DCT의 경우에서 레지스터(3012)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P6로 승산하고, 2-8-16 DCT의 경우에서는 레지스터(3012)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P9로 승산한다. P4/P5계수 승산 회로(23213)는 16-16 DCT의 경우에서 레지스터(3013)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P4로 승산하고, 2-4-8 DCT의 경우에서는 레지스터(3013)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P5로 승산한다. P2계수 승산 회로(23214)는 레지스터(3014)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P2로 승산한다. P0/P1계수 승산 회로(23215)는 레지스터(3015)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P0로 승산하고, 2-4-8 DCT의 경우에서는 레지스터(3015)로부터 순서적으로 출력된 8개 데이터 각각을 고정 계수 P1로 승산한다.
16-16 DCT 및 2-4-8 DCT의 경우에서 모두 제4 레지스터 그룹(233)을 구성하는 레지스터들(2341, 2343, 2345, 23414)은 각각 다음과 같이 순서적으로 데이터를 저장하고 출력한다;
레지스터(2341)는 P7계수 승산 회로(2321)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 각 데이터를 양의 값으로 순서적으로 출력한다. 레지스터(2343)는 P3계수 승산 회로(2323)로부터 순서적으로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(2345)는 P9계수 승산 회로(2325)로부터 순서적으로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(23414)는 P2계수 승산 회로(23214)로부터 순서적으로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(2342)는 P11계수 승산 회로(2342)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제4 순서, 제6 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제5 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제2 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제3 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(2344)는 P13계수 승산 회로(2344)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제2 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제1 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(2346)는 P5계수 승산 회로(2346)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제2 순서, 제3 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제1 순서, 제4 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(2347)는 P1계수 승산 회로(2347)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제4 순서,제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제2 순서, 제3 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제1 순서, 제4 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(2348)는 P14/P7계수 승산 회로(2348)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제3 순서, 제4 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 출력되는 각 데이터를 양의 값으로 출력한다.
레지스터(2349)는 P12/P11계수 승산 회로(2349)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제2 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제3 순서 내지 제6 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제2 순서, 제4 순서, 제6 순서 및 제7 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제3 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(23410)는 P10/P3계수 승산 회로(23410)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서 및 제3 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서 및 제4 순서 내지 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서 및 제4 순서 내지 제8 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제2 순서 및 제3 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(23411)는 P8/P13계수 승산 회로(23411)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서 및 제4 순서 내지 제6 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(23412)는 P6/P9계수 승산 회로(23412)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서 내지 제3 순서, 제5 순서 및 제6 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제4 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제3 순서, 제5 순서, 제7 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제2 순서, 제4 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(23413)는 P4/P5계수 승산 회로(23413)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서, 제3 순서 및제7 순서 내지 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제2 순서 및 제4 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
레지스터(23415)는 P0/P1계수 승산 회로(23415)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 16-16 DCT의 경우, 제1 순서 내지 제4 순서 및 제6 순서 내지 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고 제5 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 DCT의 경우에서는 제1 순서, 제4 순서, 제5 순서 및 제7 순서에 따라 출력되는 각 데이터를 양의 값으로 출력하고 제2 순서, 제3 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
제2 가산 회로 그룹(237)에 포함된 가산 회로(2381)는 제5 그룹(239)을 구성하는 레지스터(401) 및 AND 회로(2361)와 함께 누적 회로를 구성한다. AND 회로(2361)의 한 입력에는 레지스터(401)로부터의 데이터가 공급되고, 16-16 DCT 및 2-8-16 DCT의 경우에서 모두, AND 회로(2361)의 다른 입력에는 이진수 신호 스트링 발생 회로 (도시되지 않음)로부터 공급되고 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 사이클의 순서에 대응하는 신호 "0", "1", "1", "0", "1", "1" 및"1"이 공급된다. 누적값은 레지스터(401)로부터 출력되고, 이는 가산 회로(2381)에서, 레지스터(2341)로부터 출력되어 가산 회로(2381)의 한 입력에 공급되는 데이터를 한 이전 클럭에 레지스터(401)에 저장되고 다음 클럭에 AND 회로(2361)를 통해 가산 회로(2381)의 다른 입력에 공급되는 데이터에 가산함으로서 구해진다.
가산 회로(2382)는 레지스터(402) 및 AND 회로(2362)와 함께 누적 회로를 구성한다. AND 회로(2362)의 한 입력에는 레지스터(402)로부터의 데이터가 공급되고, 16-16 DCT 및 2-8-16 DCT의 경우에서 모두, AND 회로(2362)의 다른 입력에는 이진수 신호 스트링 발생 회로 (도시되지 않음)로부터 공급되고 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 사이클의 순서에 대응하는 신호 "0", "1", "1", "0", "1", "1" 및 "1"이 공급된다. 누적값은 레지스터(402)로부터 출력되고, 이는 가산 회로(2382)에서, 레지스터(2342) 및 레지스터(2343)로부터 출력되어 가산 회로(2382)의 제1 입력 및 제2 입력에 공급되는 데이터를 한 이전 클럭에 레지스터(402)에 저장되고 다음 클럭에 AND 회로(2362)를 통해 가산 회로(2382)의 다른 입력에 공급되는 데이터에 가산함으로서 구해진다.
가산 회로(2383)는 레지스터(403) 및 AND 회로(2363)와 함께 누적 회로를 구성한다. AND 회로(2363)의 한 입력에는 레지스터(403)로부터의 데이터가 공급되고,16-16 DCT 및 2-8-16 DCT의 경우에서 모두, AND 회로(2363)의 다른 입력에는 이진수 신호 스트링 발생 회로(도시되지 않음)로부터 공급되고 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 사이클의 순서에 대응하는 신호 "0", "1", "1", "0", "1", "1" 및 "1"이 공급된다. 누적값은 레지스터(403)로부터 출력되고, 이는 가산 회로(2383)에서, 레지스터(2344)로부터 레지스터(2347)로 출력되어 가산 회로(2383)의 제1 입력에 공급되는 데이터를 한 이전 클럭에 레지스터(403)에 저장되고 다음 클럭에 AND 회로(2363)를 통해 가산 회로(2383)의 제5 입력에 공급되는 데이터에 가산함으로서 구해진다.
가산 회로(2384)는 16-16 DCT의 경우, 레지스터(2348)로부터 레지스터(23415)로 출력된 데이터에 가산 연산들을 실행하고, 그 결과를 레지스터(404)에 저장하고, 2-8-16 DCT의 경우에는 레지스터들(2348내지 23415) 및 AND 회로(2365)와 함께 누적 회로를 구성한다. 즉, AND 회로(2365)의 한 입력에는 레지스터(405)로부터 출력되는 데이터가 공급되고, AND 회로(2365)의 다른 입력에는 16-16 DCT의 경우, 이진수 스트링 발생 회로(도시되지 않음)에 의해 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 싸이클에 신호 "0"이 공급되고, 2-8-16 DCT의 경우에는 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 싸이클의 순서에 대응하고 이진수 스트링 발생 회로 (도시되지 않음)에 의해 공급되는 신호 "0", "1", "0", "1", "0", "1","0" 및 "1"가 공급된다.
AND 회로(2367)의 한 입력에는 레지스터(234)로부터 데이터가 공급되고, AND 회로(2368)의 한 입력에는 레지스터(234)로부터 데이터가 공급되고, AND 회로(2369)의 한 입력에는 레지스터(3010)로부터 데이터가 공급된다. AND 회로(2367), AND 회로(2368) 및 AND 회로(2369) 각각의 다른 입력에는 16-16 DCT의 경우, 이진수 스트링 발생 회로(도시되지 않음)에 의해 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 싸이클에 신호 "0"이 공급되고, 이진수 스트링 발생 회로(도시되지 않음)에 의해 8개 연산 싸이클 중 제1 연산 싸이클 내지 제8 연산 싸이클에 신호 "1"이 공급된다.
16-16 DCT의 경우, 8개 연산 싸이클 중에서 매 연상 싸이클마다 레지스터들(2348내지 23415) 각각으로부터 순서적으로 출력되는 데이터는 매 연산 싸이클마다 가산 회로(2384)의 제1 입력 내지 제8 입력 중 하나에 공급되어 가산 연산들이 실행되고, 결과의 데이터는 레지스터(404)에 순서적으로 저장되는 반면, 2-8-16 DCT의 경우, 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(23411내지 23415) 각각으로부터 순서적으로 출력되어 가산 회로(2384)의 제4 입력 내지 제8 입력 중 하나에 입력되는 데이터는 가산 회로(2384)에서 한 이전 클럭에 저장된 레지스터(404)로 저장되고 다음 클럭에 AND 회로(2365)를 통해 가산 회로(2384)의 제9입력에 공급된 데이터에 가산되고, 결과의 데이터는 레지스터(404)로부터 출력된다.
다음에는 도 13 및 도 14를 참고로 제1 실시예의 16-16 DCT 및 2-4-8 DCT의 동작이 설명된다. 먼저, 이후에는 16-16 DCT의 동작이 설명된다.
MUX(121)로부터 순서적으로 전송된 16x16개 데이터로 구성된 블록을 구성하는 각 라인에 포함되는 16개 데이터들(F0내지 F15)은 각각 제1 레지스터 그룹(213)에 포함된 레지스터들(141내지 1415) 각각에 저장된다. 즉, 데이터(f0)는 제1 레지스터 그룹(213)을 구성하는 레지스터(141)로 저장되고, 데이터(f15)는 레지스터(142)로 저장되고, 데이터(f1)는 레지스터(143)로 저장되고, 데이터(f14)는 레지스터(144)로 저장되고, 데이터(f2)는 레지스터(145)로 저장되고, 데이터(f13)는 레지스터(146)로 저장되고, 데이터(f3)는 레지스터(147)로 저장되고, 데이터(f12)는 레지스터(148)로 저장되고, 데이터(f4)는 레지스터(149)로 저장되고, 데이터(f11)는 레지스터(1410)로 저장되고, 데이터(f5)는 레지스터(1411)로 저장되고, 데이터(f10)는 레지스터(1412)로 저장되고, 데이터(f6)는 레지스터(1413)로 저장되고, 데이터(f9)는 레지스터(1414)로 저장되고, 데이터(f7)는 레지스터(1415)로 저장되고, 또한개의 데이터(f8)는 레지스터(1416)로 저장된다.
그래서, 16개의 화소 데이터 각각이 레지스터들(141내지 1416) 각각에 저장될 때, 데이터(f0+ f15= e0)가 가산 회로(181)로부터 출력되고, 데이터(f1+ f14= e1)가 가산 회로(182)로부터 출력되고, 데이터(f2+ f13= e2)가 가산 회로(183)로부터 출력되고, 데이터(f3+ f12= e3)가 가산 회로(184)로부터 출력되고, 데이터(f4+ f11= e4)가 가산 회로(185)로부터 출력되고, 데이터(f5+ f10= e5)가 가산 회로(186)로부터 출력되고, 데이터(f6+ f9= e6)가 가산 회로(187)로부터 출력되고, 또한개의 데이터(f7+ f8= e7)가 가산 회로(188)로부터 출력된다.
데이터(f0- f15= e8)가 감산 회로(201)로부터 출력되고, 데이터(f1- f14= e9)가 감산 회로(202)로부터 출력되고, 데이터(f2- f13= e10)가 감산 회로(203)로부터 출력되고, 데이터(f3- f12= e11)가 감산 회로(204)로부터 출력되고, 데이터(f4- f11= e12)가 감산 회로(205)로부터 출력되고, 데이터(f5- f10= e13)가 감산 회로(206)로부터 출력되고, 데이터(f6- f9= e14)가 감산 회로(207)로부터 출력되고, 또한개의 데이터(f6- f9= e14)가 감산 회로(207)로부터 출력된다.
가산 회로(181)로부터 출력된 데이터(e0)는 레지스터(221)에 저장되고, 가산 회로(182)로부터 출력된 데이터(e1)는 레지스터(222)에 저장되고, 가산 회로(183)로부터 출력된 데이터(e2)는 레지스터(223)에 저장되고, 가산 회로(184)로부터 출력된 데이터(e3)는 레지스터(224)에 저장되고, 가산 회로(185)로부터 출력된 데이터(e4)는레지스터(225)에 저장되고, 가산 회로(186)로부터 출력된 데이터(e5)는 레지스터(226)에 저장되고, 가산 회로(187)로부터 출력된 데이터(e6)는 레지스터(227)에 저장되고, 또한 가산 회로(188)로부터 출력된 데이터(e7)는 레지스터(228)에 저장된다.
감산 회로(201)로부터 출력된 데이터(e8)는 레지스터(229)에 저장되고, 감산 회로(202)로부터 출력된 데이터(e9)는 레지스터(2210)에 저장되고, 감산 회로(203)로부터 출력된 데이터(e10)는 레지스터(2211)에 저장되고, 감산 회로(204)로부터 출력된 데이터(e11)는 레지스터(2212)에 저장되고, 감산 회로(205)로부터 출력된 데이터(e12)는 레지스터(2213)에 저장되고, 감산 회로(206)로부터 출력된 데이터(e13)는 레지스터(2214)에 저장되고, 감산 회로(207)로부터 출력된 데이터(e14)는 레지스터(2215)에 저장되고, 또한 감산 회로(208)로부터 출력된 데이터(e15)는 레지스터(2216)에 저장된다.
가산 회로들(181내지 188)로부터 출력되는 데이터들(e0내지 e7)은 레지스터들(221내지 228)를 통해 MUXs(2241내지 2248)에 입력되고, 이어지는 데이터는 MUX(2241)로부터 MUX(2248)로 출력된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 순서적으로 MUX(2241)로부터 출력되는 8개 데이터들(e0, e3, e4, e7, e0, e3, e4,e7)은 가감산 회로(2261)로 공급되고, 8개 연산 싸이클 중에서 매 연산 싸이클마다 순서적으로 MUX(2242)로부터 출력되는 8개 데이터들(e1, e2, e5, e6, e1, e2, e5, e6)은 가감산 회로(2261)로 공급되어, 데이터들(e0+ e1, e3+ e2, e4+ e5, e7+ e6, e0- e1, e3- e2, e4- e5, e7- e6)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 가감산 회로(2261)로부터 순서적으로 출력되어 레지스터(301)에 저장된다.
8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2243)에 의해 선택되고, 데이터들(e0, e3, e4, e7, e1, e2, e5, e6)은 MUX(2243)로부터 순서적으로 출력되어 레지스터(302)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2244)에 의해 선택되고, 데이터들(e1, e2, e5, e6, e0, e3, e4, e7)은 MUX(2243)로부터 순서적으로 출력되어 레지스터(303)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2245)에 의해 선택되고, 데이터들(e0, e7, e5, e2, e6, e1, e4, e3)은 MUX(2245)로부터 순서적으로 출력되어 레지스터(304)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2246)에 의해 선택되고, 데이터들(e1, e6, e0, e6, e3, e4, e2, e5)은 MUX(2246)로부터 순서적으로 출력되어 레지스터(305)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2247)에 의해 선택되고, 데이터들(e2, e5, e3, e4, e0, e7, e6, e1)은 MUX(2246)로부터 순서적으로 출력되어 레지스터(306)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(e0, e1, e2, e3, e4, e5, e6, e7)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2248)에 의해 선택되고, 데이터들(e3, e4, e6, e1, e2, e5, e0, e7)은 MUX(2246)로부터 순서적으로 출력되어 레지스터(307)에 저장된다.
8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(2249)에 의해 선택되고, 데이터들(e8, e13, e14, e12, e11,e9, e10, e15)은 MUX(2246)로부터 순서적으로 출력되어 MUX(281)를 통해 레지스터(308)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22410)에 의해 선택되고, 데이터들(e9, e8, e11, e10, e13, e12, e15, e14)은 MUX(22410)로부터 순서적으로 출력되어 레지스터(309)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22411)에 의해 선택되고, 데이터들(e10, e12, e8, e14, e9, e15, e11, e13)은 MUX(22411)로부터 순서적으로 출력되어 레지스터(3010)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22412)에 의해 선택되고, 데이터들(e11, e14, e10, e8, e15, e13, e9, e12)은 MUX(22412)로부터 순서적으로 출력되어 레지스터(3011)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22413)에 의해 선택되고, 데이터들(e12,e9, e13, e15, e8, e10, e14, e11)은 MUX(22413)로부터 순서적으로 출력되어 레지스터(3012)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22414)에 의해 선택되고, 데이터들(e13, e11, e15, e9, e14, e8, e12, e10)은 MUX(22414)로부터 순서적으로 출력되어 레지스터(3013)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e8, e9, e10, e11, e12, e13, e14, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22415)에 의해 선택되고, 데이터들(e14, e15, e12, e13, e10, e11, e8, e9)은 MUX(22415)로부터 순서적으로 출력되어 MUX(282)를 통해 레지스터(3014)에 저장된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(229내지 2212)로부터 출력된 데이터들(e1, e3, e5, e7, e9, e11, e13, e15)은 8개 연산 싸이클 중에서 매 연산 싸이클마다 MUX(22416)에 의해 선택되고, 데이터들(e15, e10, e9, e11, e12, e14, e13, e8)은 MUX(22416)로부터 순서적으로 출력되어 레지스터(3015)에 저장된다.
8개 연산 싸이클 중에서 매 연산 싸이클마다 레지스터들(301내지 307)로부터 출력된 각 데이터는 대응하는 고정 계수 승산 회로로(2321내지 2322) 각각에서 8개연산 싸이클 중 매 연산 싸이클마다 대응하는 고정 계수 P7, P11, P13, P3, P9, P5및 P1로 각각 승산되고, 대응하는 레지스터들(2341내지 2347) 각각에 저장된다. 즉, 레지스터(2341)에 순서적으로 저장되는 각 데이터에는 가산 회로(2381)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 결과의 데이터는 레지스터(401)에 저장된다.
데이터((e0+ e1) P7)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2381)로부터 출력되고, 데이터((e0+ e1+ e3+ e2) P7)은 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터((e0+ e1+ e3+ e2+ e4+ e5) P7)은 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터((e0+ e1+ e3+ e2+ e4+ e5+ e7+ e6) P7)은 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터((e0- e1) P7)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터((e0- e1+ e3- e2) P7)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터((e0- e1+ e3- e2+ e4- e5) P7)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터((e0- e1+ e3- e2+ e4- e5+ e7- e6) P7)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2381)로부터 출력된 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서레지스터(401)의 출력선 중 하단 우측에 (F0, F8)로 도시된 식(65)에서 표시되는 연산값(F0, F8)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(401)의 출력선 중 하단 우측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2342) 및 레지스터(2343)에 순서적으로 저장된 각 데이터에는 가산 회로(2382)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 결과의 데이터는 레지스터(402)에 저장된다.
데이터(e0P11+ e1P3)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2382)로부터 출력되고, 데이터(e0P11+ e1P3- e3P11- e2P3)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(e0P11+ e1P3- e3P11- e2P3- e4P11- e5P3)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(e0P11+ e1P3- e3P11- e2P3- e4P11- e5P3+ e7P11+ e6P3)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(- e1P11+ e0P3)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(- e1P11+ e0P3+ e2P11- e3P3)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(- e1P11+ e0P3+ e2P11- e3P3- e5P11-e4P3)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- e1P11+ e0P3+ e2P11- e3P3- e5P11-e4P3- e6P11+ e7P3)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다.
8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2382)로부터 출력된 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(402)의 출력선 중 하단 우측에 (F2, F6)로 도시된 식(65)에서 표시되는 연산값 (F2, F6)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(402)의 출력선 중 하단 우측에 "* "로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2344) 및 레지스터(2347)에 순서적으로 저장된 각 데이터에는 가산 회로(2383)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 결과의 데이터는 레지스터(403)에 저장된다.
데이터(e0P13+ e1P9+ e2P5+ e3P1)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2383)로부터 출력되고, 데이터(e0P13+ e1P9+ e2P5+ e3P1- e7P13- e6P9- e5P5- e4P1)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(e5P13+ e0P9+ e3P5+ e5P1)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(e5P13+ e0P9+ e3P5+ e6P1- e2P13- e6P9- e4P5- e1P1)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(e6P13+ e2P9+ e0P5+ e3P1)는 8개 연산 싸이클 중 제5 연산싸이클에 출력되고, 데이터(e6P13+ e2P9+ e0P5+ e3P1- e1P13- e4P9- e7P5- e5P1)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(e4P13+ e2P9- e1P5+ e0P1)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(e4P13+ e2P9- e1P5+ e0P1- e3P13- e5P9+ e6P5- e7P1)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다.
8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2383)로부터 출력된 데이터 중에서, 제2 연산 싸이클, 제4 연산 싸이클, 제6 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(403)의 출력선 중 하단 우측에 (F10, F14, F4, F12)로 도시된 식(65)에서 표시되는 연산값(F10, F14, F4, F12)을 나타내고, 제1 연산 싸이클, 제3 연산 싸이클, 제5 연산 싸이클 및 제7 연산 싸이클에 출력된 데이터는 레지스터(403)의 출력선 중 하단 우측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2348) 및 레지스터(23415)에 순서적으로 저장된 각 데이터에는 가산 회로(2384)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 결과의 데이터는 레지스터(404)에 저장된다.
데이터(e8P14+ e9P12+ e10P10+ e11P8+ e12P6+ e13P4+ e14P2+ e15P0)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2384)로부터 출력되고, 데이터(- e13P14+ e8P12- e12P10+ e14P8+ e9P6- e11P4- e15P2+ e10P0)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(e14P14- e11P12+ e8P10- e10P8+ e13P6+ e15P4- e12P2+ e9P0)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(e12P14- e10P12- e14P10+ e8P8- e15P6- e9P4+ e13P2+ e11P0)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(e11P14- e13P12- e9P10+ e15P8+ e8P6+ e14P4- e10P2- e12P0)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(- e9P14- e12P12- e15P10+ e13P8+ e10P6+ e8P4+ e11P2+ e14P0)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(e10P14+ e15P12- e11P10- e9P8- e14P6+ e12P4+ e8P2+ e13P0)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- e15P14+ e14P12- e13P10- e12P8- e11P6+ e10P4- e9P2+ e8P0)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중에서 매 연산 싸이클마다 가산 회로(2384)로부터 출력되는 데이터는 도 14에서 레지스터(404)의 출력선 중 하단 우측에 (F1, F3, F5, F7, F9, F11, F13, F15)로 도시된 식(65)에서 표시되는 연산값(F1, F3, F5, F7, F9, F11, F13, F15)을 나타낸다.
상기 산술적인 연산을 완료함으로서, 16x16 데이터 블록을 구성하는 한개의 라인내의 8개 데이터에 대한 1차 16-16 DCT가 종료된다. 상술된 바와 똑같은 1차 16-16 DCT는 16x16 데이터 블록을 구성하는 다음 선에 이어지는 각 라인에 실행되고, 16x16 데이터 블록을 구성하는 8개 선 모두에 대한 1차 16-16 DCT는 유사한 방식으로 종료된다. 8개 선에 모두 1차 16-16 DCT를 완료한 이후에는 16x16 데이터 블록을 구성하는 8개 데이터 스트링의 각 스트링에 2차 16-16 DCT가 실행된다. 2차 16-16 DCT를 완료함으로서 구해지는 변환 계수 데이터는 입력된 16x16 화상 데이터의 압축에 사용된다. 그래서, 압축된 화소 데이터의 전송은 16x16 화소 데이터 블록의 압축을 위해 전송되는 영상내의 16x16 화소 데이터에 1차 16-16 DCT 및 2차 16-16 DCT를 실행함으로서 구해지는 변환 계수 데이터를 사용하여 가능해진다.
다음에는 2-8-16 DCT의 동작이 설명된다. MUX(212)로부터 순서적으로 전송되는 16x16 데이터 블록을 구성하는 각 라인의 16개 데이터들(F0내지 F15)(DCT에 대한 입력 데이터)는 각각 제1 레지스터 그룹(213)에 포함된 레지스터들(141내지 1415)에 각각 저장된다.
16개의 화소 데이터들(f0내지 f15) 각각이 레지스터들(141내지 1416)에 각각 저장될 때, 데이터(f0+ f1= g0)는 가산 회로(182)로부터 출력되고, 데이터(f2+ f3= g1)는 가산 회로(182)로부터 출력되고, 데이터(f4+ f5= g2)는 가산 회로(183)로부터 출력되고, 데이터(f6+ f7= g3)는 가산 회로(184)로부터 출력되고, 데이터(f8+ f9= g4)는 가산 회로(185)로부터 출력되고, 데이터(f10+ f11= g5)는 가산 회로(186)로부터 출력되고, 데이터(f12+ f13= g6)는 가산 회로(187)로부터 출력되고, 또한개의 데이터(f14+ f15= g7)는 가산 회로(188)로부터 출력된다. 데이터(f0- f1)는 감산 회로(201)로부터 출력되고, 데이터(f2- f3= g9)는 감산 회로(202)로부터 출력되고, 데이터(f4- f5= g10)는 감산 회로(203)로부터 출력되고, 데이터(f6- f7= g11)는 감산 회로(204)로부터 출력되고, 데이터(f8- f9= g12)는 감산 회로(205)로부터 출력되고, 데이터(f10- f11= g11)는 감산 회로(206)로부터 출력되고, 데이터(f12- f13= g14)는 감산 회로(207)로부터 출력되고, 또한개의 데이터(f14- f15= g15)는 감산 회로(208)로부터 출력된다.
가산 회로(181)로부터 출력된 데이터(g0)는 레지스터(221)에 저장되고, 가산 회로(182)로부터 출력된 데이터(g1)는 레지스터(222)에 저장되고, 가산 회로(183)로부터 출력된 데이터(g2)는 레지스터(223)에 저장되고, 가산 회로(184)로부터 출력된 데이터(g3)는 레지스터(224)에 저장되고, 가산 회로(185)로부터 출력된 데이터(g4)는 레지스터(225)에 저장되고, 가산 회로(186)로부터 출력된 데이터(g5)는 레지스터(225)에 저장되고, 가산 회로(187)로부터 출력된 데이터(g6)는 레지스터(226)에 저장되고, 또한 가산 회로(188)로부터 출력된 데이터(g7)는 레지스터(228)에 저장된다.
감산 회로(201)로부터 출력된 데이터(g8)는 레지스터(229)에 저장되고, 감산 회로(202)로부터 출력된 데이터(g9)는 레지스터(2210)에 저장되고, 감산 회로(203)로부터 출력된 데이터(g10)는 레지스터(2211)에 저장되고, 감산 회로(205)로부터 출력된 데이터(g11)는 레지스터(2212)에 저장되고, 감산 회로(205)로부터 출력된 데이터(g12)는 레지스터(2213)에 저장되고, 감산 회로(206)로부터 출력된 데이터(g13)는 레지스터(2214)에 저장되고, 감산 회로(208)로부터 출력된 데이터(g14)는 레지스터(2215)에 저장되고, 또한 감산 회로(208)로부터 출력된 데이터(g15)는 레지스터(2216)에 저장된다.
가산 회로(181) 내지 가산 회로(188)로부터 출력된 데이터들(go내지 g7)은 레지스터들(221내지 228)를 통해 MUXs(2241내지 2248)에 입력될 때, 다음 데이터는 MUXs(2241내지 2248)로부터 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2241)로부터 순서적으로 출력되는 8개 데이터들(g0, g3, g4, g7, g0, g3, g4, g7)은 가감산 회로(2261)에 공급되고 8개 데이터들(g1, g2, g5, g6, g1, g2, g5, g6)은 가감산 회로(2261)에 공급될 때, 데이터들(go+ g1, g3+ g2, g5+ g4, g7+ g6, g1- g0, g3- g2, g5- g4, g7- g6)이 순서적으로 출력되어 레지스터(301)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g3, g4, g7, g0, g3, g4, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2243)에 의해 선택되고, 데이터들(g0, g7, g3, g4, g1, g2, g5, g6) 각각은 MUX(2243)로부터 순서적으로 출력되어 레지스터(302)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g1, g2, g3, g4, g5, g6, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2244)에 의해 선택되고, 데이터들(g1, g2, g5, g6, g0, g3, g4, g7) 각각은 MUX(2244)로부터 순서적으로 출력되어 레지스터(303)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g1, g2, g3, g4, g5, g6, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2245)에 의해 선택되고, 데이터들(g2, g5, g1, g6, g0, g7, g3, g4) 각각은 MUX(2244)로부터 순서적으로 출력되어 레지스터(304)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g1, g2, g3, g4, g5, g6, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2246)에 의해 선택되고, 데이터들(g0, g7, g3, g4, g1, g6, g2, g5) 각각은 MUX(2244)로부터 순서적으로 출력되어 레지스터(305)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g1, g2, g3, g4, g5, g6, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2247)에 의해 선택되고, 데이터들(g3, g4, g0, g7, g2, g5, g1, g6) 각각은 MUX(2247)로부터 순서적으로 출력되어 레지스터(306)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(g0, g1, g2, g3, g4, g5, g6, g7) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2248)에 의해 선택되고, 데이터들(g1, g6, g2, g5, g3, g4, g0, g7) 각각은 MUX(2248)로부터 순서적으로 출력되어 레지스터(307)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(2249)에 의해 선택되고, 데이터들(g8, g11, g12, g15, g8, g11, g12, g15) 각각은 MUX(2249)로부터 순서적으로 출력되어 레지스터(308)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22410)에 의해 선택되고, 데이터들(g8, g15, g11, g12, g9, g10, g13, g14) 각각은 MUX(22410)로부터 순서적으로 출력되어 레지스터(309)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22410)에 의해 선택되고, 데이터들(g8, g15, g11, g12, g9, g10, g13, g14) 각각은 MUX(22410)로부터 순서적으로 출력되어 레지스터(309)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22411)에 의해 선택되고, 데이터들(g9, g10, g13, g14, g8, g11, g12, g15) 각각은 MUX(22411)로부터 순서적으로 출력되어 레지스터(3010)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22412)에 의해 선택되고, 데이터들(g8, g15, g10, g13, g9, g14, g11, g12)각각은 MUX(22411)로부터 순서적으로 출력되어 레지스터(3011)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22413)에 의해 선택되고, 데이터들(g9, g14, g8, g15, g11, g12, g10, g13) 각각은 MUX(22411)로부터 순서적으로 출력되어 레지스터(3012)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22414)에 의해 선택되고, 데이터들(g10, g13, g11, g12, g8, g15, g9, g14)각각은 MUX(22411)로부터 순서적으로 출력되어 레지스터(3013)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22415)에 의해 선택되지 않고, 데이터 "0"이 8회 선택되고 순서적으로 출력되어 레지스터(3014)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(g8, g9, g10, g11, g12, g13, g14, g15) 각각은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(22416)에 의해 선택되고, 데이터들(g11, g12, g9, g14, g10, g13, g8, g15) 각각은 MUX(22416)로부터 순서적으로 출력되어 레지스터(3015)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(301내지 307)로부터 출력된 각 데이터는 대응하는 고정 계수 승산 회로(2321) 내지 대응하는 고정 계수 승산 회로(2327)에서 대응하는 고정 계수 P7, P11, P3, P13, P9, P5및 P1각각으로 승산되고, 대응하는 레지스터들(2341내지 2347) 각각에 저장된다. 레지스터(2341)에 순서적으로 저장된 각 데이터에는 8개 연산 싸이클 중 매 연산 싸이클마다 가산회로(2381)에서 가산 연산들이 행해지고, 레지스터(401)에 저장된다.
데이터((g0+ g1) P7)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2381)로부터 출력되고, 데이터((g0+ g1+ g3+ g2) P7)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터((g0+ g1+ g3+ g2+ g4+ g5) P7)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터((g0+ g1+ g3+ g2+ g4+ g5+ g7+ g6) P7)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터((g0- g1) P7)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터((g0- g1+ g3- g2) P7)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터((g0- g1+ g3- g2+ g4- g5) P7)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터((g0- g1+ g3- g2+ g4- g5+ g7- g6) P7)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2381)로부터 출력되는 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(401)의 출력선 중 하단 좌측에 (F0, F4)로 도시된 식(66)에서 표시되는 연산값(F0, F4)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(401)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2342) 및 레지스터(2343)에 순서적으로 저장된 각 데이터에는 가산 회로(2382)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 레지스터(402)에 저장된다.
데이터(g0P11+ g1P3)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2382)로부터 출력되고, 데이터(g0P11+ g1P3- g7P11- g2P3)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(g0P11+ g1P3- g7P11- g2P3- g3P11- g5P3)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(g0P11+ g1P3- g7P11- g2P3- g3P11- g5P3- g4P11+ g6P3)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(- g1P11+ g0P3)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(- g1P11+ g0P3+ g2P11- g3P3)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(- g1P11+ g0P3+ g2P11- g3P3- g5P11- g4P3)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- g1P11+ g0P3+ g2P11- g3P3- g5P11- g4P3- g6P11+ g7P3)는 8개 연산 싸이클 중 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2382)로부터 출력된 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(402)의 출력선 중 하단 좌측에(F2, F6)로 도시된 식(66)에서 표시되는 연산값(F0, F4)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(402)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2344) 및 레지스터(2347)에 순서적으로 저장된 각 데이터에는 가산 회로(2383)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 레지스터(403)에 저장된다.
데이터(- g0P13+ g0P9- g3P5- g1P1)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2383)로부터 출력되고, 데이터(- g2P13+ g0P9- g3P5- g1P1+ g5P13- g7P9+ g4P5+ g6P1)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(- g1P13+ g3P9+ g0P5+ g2P1는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터 - g1P13+ g3P9+ g0P5+ g2P1+ g6P13- g4P9- g7P5- g5P1)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(g0P13+ g1P9+ g2P5+ g3P1)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(g0P13+ g1P9+ g2P5+ g3P1- g7P13- g6P9- g5P5- g4P1)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(- g3P13+ g2P9- g1P5+ g0P1)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- g3P13+ g2P9- g1P5+ g0P1+ g4P13- g5P9+ g6P5- g7P1)는 8개 연산 싸이클 중제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2383)로부터 출력된 데이터 중에서, 제2 연산 싸이클, 제4 연산 싸이클, 제6 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(403)의 출력선 중 하단 좌측에 (F3, F5, F1, F7)로 도시된 식(66)에서 표시되는 연산값(F3, F5, F1, F7)을 나타내고, 제1 연산 싸이클, 제3 연산 싸이클, 제5 연산 싸이클 및 제7 연산 싸이클에 출력된 데이터는 레지스터(403)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
MUXs(2249, 22415)로부터 출력된 각 데이터에는 가감산 회로(2261)에서 가산 및 감산 연산들이 실행되어 MUX(281)를 통해 레지스터(308)에 저장되고 P14/P7고정 계수 승산 회로(2328)에서 고정 계수 P7로 승산될 이후에, 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2385)에서 가산 동작이 실행되고 레지스터(405)에 저장된다.
데이터(g8+ g9)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2385)로부터 출력되고, 데이터((g8+ g9+ g11+ g10) P7)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터((g8+ g9+ g11+ g10+ g12+ g13) P7)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터((g8+ g9+ g11+ g10+ g12+ g13+ g15+ g14)P7)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(g8- g9)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터((g8- g9+ g11- g10) P7)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터((g8- g9+ g11- g10+ g12- g13) P7)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터((g8- g9+ g11- g10+ g12- g13+ g15- g14) P7)는 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2385)로부터 출력되는 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(405)의 출력선 중 하단 좌측에(F8, F12)로 도시된 식(66)에서 표시되는 연산값(F8, F12)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(405)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
레지스터(2349) 및 레지스터(23410)에 순서적으로 저장된 각 데이터에는 가산 회로(2386)에서 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 레지스터(406)에 저장된다.
데이터(g8P11+ g9P3)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2386)로부터 출력되고, 데이터(g8P11+ g9P3+ g15P11- g10P3)는 8개 연산 싸이클중 제2 연산 싸이클에 출력되고, 데이터(g8P11+ g9P3+ g15P11- g10P3- g11P11- g13P3)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(g8P11+ g9P3+ g15P11- g10P3- g11P11- g13P3- g12P11+ g14P3)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(- g8P11+ g9P3)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(- g9P11+ g8P3+ g10P11+ g11P3)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(- g9P11+ g8P3+ g10P11+ g11P3+ g13P11+ g12P3)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- g9P11+ g8P3+ g10P11+ g11P3+ g13P11+ g12P3- g14P11+ g15P3)는 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2386)로부터 출력된 데이터 중에서, 제4 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(403)의 출력선 중 하단 좌측에(F10, F14)로 도시된 식(66)에서 표시되는 연산값(F10, F14)을 나타내고, 제1 연산 싸이클 내지 제3 연산 싸이클 및 제5 연산 싸이클 내지 제7 연산 싸이클에 출력된 데이터는 레지스터(403)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다. MUX(22412), MUX(22413), MUX(22414) 및 MUX(22416)으로부터 출력된 각 데이터는 레지스터(3011), 레지스터(3012), 레지스터(3013) 및 레지스터(3015)에 저장되고, 대응하는 P8/P13고정 계수 승산 회로(23211), P6/P9고정 계수승산 회로(23212), P4/P5고정 계수 승산 회로(23213) 및 P0/P1고정 계수 승산 회로(23215)에서 각각의 고정 계수 P13, 고정 계수 P9, 고정 계수 P5및 고정 계수 P1으로 각각 승산될다. 레지스터(23411) 및 레지스터(23415)에 저장된 결과의 데이터에는 각각 8개 연산 싸이클 중 매 연산 싸이클마다 가산 동작이 행해지고, 레지스터(404)에 저장된다.
데이터(g8P13+ g9P9+ g10P5+ g11P1)는 8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(2384)로부터 출력되고, 데이터(g8P13+ g9P9+ g10P5+ g11P1- g15P13- g14P9- g13P5- g12P1)는 8개 연산 싸이클 중 제2 연산 싸이클에 출력되고, 데이터(- g10P13+ g8P9- g11P5- g9P1)는 8개 연산 싸이클 중 제3 연산 싸이클에 출력되고, 데이터(- g10P13+ g8P9- g11P5- g9P1+ g13P13- g15P9+ g12P5+ g14P1)는 8개 연산 싸이클 중 제4 연산 싸이클에 출력되고, 데이터(- g9P13+ g11P9+ g8P3+ g10P1)는 8개 연산 싸이클 중 제5 연산 싸이클에 출력되고, 데이터(- g9P13+ g11P9+ g8P5+ g10P1+ g14P13- g12P9- g15P5- g13P1)는 8개 연산 싸이클 중 제6 연산 싸이클에 출력되고, 데이터(- g11P13+ g10P9- g9P5+ g8P1)는 8개 연산 싸이클 중 제7 연산 싸이클에 출력되고, 또한개의 데이터(- g11P13+ g10P9- g9P5+ g8P1+ g12P12- g13P9+ g14P5- g15P1)는 제8 연산 싸이클에 출력된다. 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(2384)로부터 출력된 데이터 중에서, 제2 연산 싸이클, 제4 연산 싸이클, 제6 연산 싸이클 및 제8 연산 싸이클에 출력된 데이터는 도 14에서 레지스터(404)의 출력선 중 하단 우측에 (F11, F13, F15)로 도시된 식(66)에서 표시되는 연산값(F11, F13, F15)을 나타내고, 제1 연산 싸이클, 제3 연산 싸이클, 제5 연산 싸이클 및 제7 연산 싸이클에 출력된 데이터는 레지스터(404)의 출력선 중 하단 좌측에 "*"로 도시된 정의되지 않은 값을 나타낸다.
상기 산술적인 연산을 완료함으로서, 16x16개의 데이터로 구성된 블록을 구성하는 한개의 라인내에 포함된 16개 데이터에 대한 1차 2-8-16 DCT가 종료된다. 상술된 바와 똑같은 1차 2-8-16 DCT는 16x16 데이터 블록을 구성하는 다음 선에 이어지는 각 라인에 실행되고, 8x8 데이터 블록을 구성하는 8개 선 모두에 대한 1차 2-8-16 DCT는 유사한 방식으로 종료된다. 16개 선에 모두 1차 2-8-16 DCT를 완료한 이후에는 16x16 데이터 블록을 구성하는 16개 데이터 스트링의 각 스트링에 2차 2-8-16 DCT가 실행된다. 2차 2-8-16 DCT를 완료함으로서 구해지는 변환 계수 데이터는 입력된 16x16 화상 데이터의 압축에 사용된다. 그래서, 압축된 화소 데이터의 전송은 16x16 화소 데이터 블록의 압축을 위해 전송되는 영상내의 16x16 화소 데이터에 1차 2-8-16 DCT 및 2차 2-8-16 DCT를 실행함으로서 구해지는 변환 계수 데이터를 사용하여 가능해진다.
그래서, 제3 실시예에 따라, 16-16 DCT/2-8-16 DCT 장치는 16-16 DCT에서 사용되는 고정 계수 승산 회로 일부가 또한 2-8-16 DCT 장치에서 요구되는 고정 계수승산 회로로 사용되도록 구성되므로, 16-16 DCT 장치 및 2-8-16 DCT 장치에서 전체 장치의 스케일을 소형화하더라도 16-16 DCT 장치에서 파이프라인 처리형 산술 연산을 통해 얻어지는 고속 계산 특징이 전부 유지될 수 있다.
<제4 실시예>
도 15는 본 발명의 제4 실시예에 따른 16-16/2-8-16 IDCT 장치의 전기 구성을 부분적으로 도시하는 블록도이다. 도 16은 제4 실시예에 따른 16-16/2-8-16 IDCT 장치의 전기 구성을 부분적으로 도시하는 블록도이다. 도 16의 선 IV-iV에 도 15의 선 IV - iV를 붙임으로서, 본 실시예의 16-16/2-8-16 IDCT 장치의 전체적인 구성이 도시될 수 있다. 16-16/2-8-16 IDCT는 제4 실시예에서 입력 데이터에 16-16/2-8-16 DCT를 실행함으로서 16-16/2-8-16 DCT로 압축된 영상 데이터로부터 원래 영상 데이터를 구하기 위해 압축된 영상 데이터에 실행된다는 점에서, 제4 실시예의 구성은 제3 실시예와 많이 다르다.
본 실시예의 16-16 IDCT/2-8-16 IDCT는 16-16 IDCT의 경우, 식 (18)을 압축해제하고 재배열함으로서 구해진 행렬식 (69)에 따라 산술 연산을 실행하고, 2-8-16 DCT의 경우에는 식 (22)를 압축해제하고 재배열함으로서 구해진 행렬식 (70)에 따라 산술 연산을 실행한다. 행렬식 (69)에서 값 h0내지 값 h15는 식 (71)로 주어지고, 행력식 (70)에서 값 g0내지 g15는 식 (72)으로 주어진다.
더욱이, 식 (69) 및 식 (70)에서 (P0내지 P15)는 식 (65) 및 식 (66)에서의 (P0내지 P15)와 똑같다.
MUX(312)는 16-16 IDCT의 경우, 16-16 IDCT가 실행되는 16x16 변환 계수 데이터(이후 "데이터"라 칭하여지는) 중에서 1차 IDCT를 위해 각 라인에 포함된 16개데이터 또는 1차 IDCT를 통해 얻어진 16x16 데이터를 구성하는 각 라인에 포함된 16개 데이터들(F0내지 F15)의 각 데이터를 대응하는 레지스터들(140내지 1415)에 선택적으로 출력하고, 2-8-16 IDCT의 경우에서는 16개 데이터들(F0내지 F15) 중 데이터(F0)을 제1 레지스터 그룹(313)에 포함된 레지스터(141)에 저장하고, 데이터(F8)을 레지스터(142)에 저장하고, 데이터(F1)을 레지스터(143)에 저장하고, 데이터(F9)을 레지스터(144)에 저장하고, 데이터(F2)을 레지스터(145)에 저장하고, 데이터(F10)을 레지스터(146)에 저장하고, 데이터(F3)을 레지스터(147)에 저장하고, 데이터(F11)을 레지스터(148)에 저장하고, 데이터(F5)을 레지스터(149)에 저장하고, 데이터(F13)을 레지스터(1410)에 저장하고, 데이터(F6)을 레지스터(1411)에 저장하고, 데이터(F14)을 레지스터(1412)에 저장하고, 데이터(F7)을 레지스터(1413)에 저장하고, 데이터(F15)을 레지스터(1414)에 저장하고, 데이터(F4)을 레지스터(1415)에 저장하고, 또한개의 데이터(F12)을 레지스터(1416)에 저장한다.
MUXs(161내지 168, 1692, 16102, 16112, 16122, 16132, 16142, 16152, 16162)은 각각 16-16 IDCT의 경우, "0" 데이터를 선택하고, 2-8-16 IDCT의 경우에는 레지스터들(142, 144, 146, 148, 1410, 1412, 1414, 1416)를 각각 선택한다. MUXs(1691, 16101, 16111, 16121, 16131, 16141, 16151,16161)은 각각 16-16 IDCT의 경우,레지스터들(143, 147, 149, 1413, 1414, 148, 1410, 1414)를 각각 선택하고, 2-8-16 IDCT의 경우에는 레지스터들(141, 143, 145, 147, 149, 1411, 1413, 1415)를 각각 선택한다.
제1 가산 회로 그룹(317)을 구성하는 가산 회로(181)는 레지스터(141)로부터 출력된 데이터를 MUX(161)로부터 출력된 데이터에 가산하고, 가산 회로(182)는 레지스터(143)로부터 출력된 데이터를 MUX(162)로부터 출력된 데이터에 가산하고, 가산 회로(183)는 레지스터(145)로부터 출력된 데이터를 MUX(163)로부터 출력된 데이터에 가산하고, 가산 회로(184)는 레지스터(147)로부터 출력된 데이터를 MUX(164)로부터 출력된 데이터에 가산하고, 가산 회로(185)는 레지스터(149)로부터 출력된 데이터를 MUX(165)로부터 출력된 데이터에 가산하고, 가산 회로(186)는 레지스터(1411)로부터 출력된 데이터를 MUX(166)로부터 출력된 데이터에 가산하고, 가산 회로(187)는 레지스터(1413)로부터 출력된 데이터를 MUX(167)로부터 출력된 데이터에 가산하고, 또한 가산 회로(188)는 레지스터(1415)로부터 출력된 데이터를 MUX(168)로부터 출력된 데이터에 가산한다.
감산 회로 그룹(319)을 구성하는 감산 회로(201)는 MUX(1691)로부터 출력된 데이터와 MXU(1692)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산회로(202)는 MUX(16101)로부터 출력된 데이터와 MXU(16102)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산 회로(203)는 MUX(16111)로부터 출력된 데이터와 MXU(16112)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산 회로(204)는 MUX(16121)로부터 출력된 데이터와 MXU(16122)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산 회로(205)는 MUX(16131)로부터 출력된 데이터와 MXU(16132)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산 회로(206)는 MUX(16141)로부터 출력된 데이터와 MXU(16142)로부터 출력된 데이터에 감산 연산들을 실행하고, 감산 회로(207)는 MUX(16151)로부터 출력된 데이터와 MXU(16152)로부터 출력된 데이터에 감산 연산들을 실행하고, 또한 감산 회로(208)는 MUX(16161)로부터 출력된 데이터와 MXU(16162)로부터 출력된 데이터에 감산 연산들을 실행한다.
각 가산 회로(181) 내지 가산 회로(188)로부터 출력된 데이터는 제2 레지스터 그룹(321)에 포함된 대응하는 레지스터들(221내지 228)에 각각 저장되고, 각 감산 회로(201) 내지 감산 회로(208)로부터 출력된 데이터는 대응하는 레지스터들(229내지 2216)에 각각 저장된다.
제2 MUX 그룹을 구성하는 MUX(3241)는 레지스터들(221내지 228) 각각의 출력에 연결되고, 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두 레지스터(221)를 8회 선택하여 8개 데이터를 순서적으로 출력한다. MUX(3242)는 16-16 IDCT의 경우, 레지스터(225)를 8회 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터(228)를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3243)는 16-16 IDCT의 경우, 레지스터들(223, 227, 227, 223, 223, 227, 227, 223)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(223, 226, 226, 223, 223, 226, 226, 223)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3244)는 16-16 IDCT의 경우, 레지스터들(227, 223, 223, 227, 227, 223, 223, 227)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(226, 223, 223, 226, 226, 223, 223, 223)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3245)는 16-16 IDCT의 경우, 레지스터들(222, 226, 224, 228, 228, 224, 226, 222)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(222, 225, 224, 227, 227, 224, 225,222)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3246)는 16-16 IDCT의 경우, 레지스터들(224, 222, 228, 226, 226, 228, 222, 224)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고,2-8-16 IDCT의 경우에는 레지스터들(224, 222, 227, 225, 225, 227, 222, 224)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3247)는 16-16 IDCT의 경우, 레지스터들(226, 228, 222, 224, 224, 222, 228, 226)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(225, 227, 222, 224, 224, 222, 227, 225)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3248)는 16-16 IDCT의 경우, 레지스터들(228, 224, 226, 222, 222, 226, 224, 228)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(227, 224, 225, 222, 222, 225, 224, 227)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(3249)는 16-16 IDCT의 경우, 레지스터들(229, 2214, 2215, 2213, 2212, 2210, 2211, 2216)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터(2216)를 8회 반복적으로 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32410)는 16-16 IDCT의 경우, 레지스터들(2210, 229, 2212, 2211, 2214, 2213, 2216, 2215)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2211, 2214, 2214, 2211, 2211, 2214, 2214,2211)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32411)는 16-16 IDCT의 경우, 레지스터들(2211, 2213, 229, 2215, 2210, 2216, 2212, 2214)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2214, 2211, 2211, 2214, 2214, 2211, 2211, 2214)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32412)는 16-16 IDCT의 경우, 레지스터들(2212, 2215, 2211, 229, 2216, 2214, 2210, 2213)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2210, 2213, 2212, 2215, 2215, 2212, 2213, 2210)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32413)는 16-16 IDCT의 경우, 레지스터들(2213, 2210, 2214, 2216, 229, 2211, 2215, 2212)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2212, 2210, 2215, 2213, 2213, 2215, 2210, 2212)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32414)는 16-16 IDCT의 경우, 레지스터들(2214, 2212, 2216, 2210, 2215, 229, 2213, 2211)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2213, 2215, 2210, 2212, 2212, 2210, 2215,2213)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32415)는 16-16 IDCT의 경우, 레지스터들(2215, 2216, 2213, 2214, 2211, 2212, 229, 2210)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터들(2215, 2212, 2213, 2210, 2210, 2213, 2212, 2215)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력한다.
MUX(32416)는 16-16 IDCT의 경우, 레지스터들(2216, 2211, 2210, 2212, 2213, 2215, 2214, 229)의 순서에 따라 레지스터를 선택하여 8개 데이터를 순서적으로 출력하고, 2-8-16 IDCT의 경우에는 레지스터(2216)를 8회 반복적으로 선택하여 8개 데이터를 순서적으로 출력한다.
제1 가감산 회로 그룹(325)을 구성하는 가산/감산 회로(3261)는 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 MUX(3241)에서 순서적으로 출력된 8개 데이터 및 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 MUX(3242)에서 순서적으로 출력된 8개 데이터에 가산 연산들을 실행하고, 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 MUX(3241)에서 순서적으로 출력된 8개 데이터 및 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 MUX(3242)에서 순서적으로 출력된 8개 데이터에 감산 연산들을 실행한다. 가감산 회로(3261)에 의한 감산 연산들에서는 MUX(3242)로부터 출력된 데이터가 MUX(3241)로부터 출력된 데이터에서 감산된다.
제1 가감산 회로 그룹(325)을 구성하는 가감산 회로(3262)는 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 MUX(3249)에서 순서적으로 출력된 8개 데이터 및 제1 순서, 제4 순서, 제5 순서 및 제8 순서에 따라 MUX(32416)에서 순서적으로 출력된 8개 데이터에 가산 연산들을 실행하고, 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 MUX(3241)에서 순서적으로 출력된 8개 데이터 및 제2 순서, 제3 순서, 제6 순서 및 제7 순서에 따라 MUX(3242)에서 순서적으로 출력된 8개 데이터에 감산 연산들을 실행한다. 가감산 회로(3262)에 의한 감산 연산들에서는 MUX(32416)로부터 출력된 데이터가 MUX(3249)로부터 출력된 데이터에서 감산된다.
제2 MUX 그룹(327)을 구성하는 MUX(281)는 16-16 IDCT의 경우, MUX(3249)로부터 출력된 8개 데이터를 순서적으로 선택하고, 2-8-16 IDCT의 경우에는 가감산 회로(3262)로부터 출력된 8개 데이터를 순서적으로 선택한다. MUX(282)는 16-16 IDCT의 경우, MUX(32415)로부터 출력된 8개 데이터를 순서적으로 선택하고, 2-8-16 IDCT의 경우에는 "0" 데이터를 8회 선택하여 이들을 출력한다. MUX(283)는 16-16 IDCT의 경우, MUX(32416)로부터 출력된 8개 데이터를 순서적으로 선택하여 이들을 출력하고, 2-8-16 IDCT의 경우에는 가감산 회로(32415)로부터 출력된 8개 데이터를 순서적으로 선택하여 이들을 순서적으로 출력한다.
제2 레지스터 그룹(329)을 구성하는 레지스터(301)는 가감산 회로(3261)로부터 순서대로 출력되는 8개 연산 결과를 순서적으로 저장한다. 레지스터(302)는 MUX(3243)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(303)는 MUX(3244)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(304)는 MUX(3245)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(305)는 MUX(3246)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(306)는 MUX(3247)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(307)는 MUX(3248)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다.
레지스터(308)는 MUX(281)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(309)는 MUX(32410)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3010)는 MUX(32411)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3011)는 MUX(32412)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3012)는 MUX(32413)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3013)는 MUX(32414)로부터 출력되고순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3014)는 MUX(282)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다. 레지스터(3015)는 MUX(283)로부터 출력되고 순서적으로 선택된 8개 데이터를 저장한다.
P7계수 승산 회로(2321)는 레지스터(301)로부터 출력된 8개 데이터를 각각의 고정 계수 P7로 승산한다. P11계수 승산 회로(2322)는 레지스터(302)로부터 출력된 8개 데이터를 각각의 고정 계수 P11로 승산한다. P3계수 승산 회로(2323)는 레지스터(303)로부터 출력된 8개 데이터를 각각의 고정 계수 P3로 승산한다. P13계수 승산 회로(2324)는 레지스터(304)로부터 출력된 8개 데이터를 각각의 고정 계수 P13로 승산한다. P9계수 승산 회로(2325)는 레지스터(305)로부터 출력된 8개 데이터를 각각의 고정 계수 P9로 승산한다. P5계수 승산 회로(2326)는 레지스터(306)로부터 출력된 8개 데이터를 각각의 고정 계수 P5로 승산한다. P1계수 승산 회로(2327)는 레지스터(307)로부터 출력된 8개 데이터를 각각의 고정 계수 P1로 승산한다.
P14/P7계수 승산 회로(2328)는 16-16 DCT의 경우, 레지스터(308)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P14로 승산하고, 2-8-16 DCT의 경우에는 레지스터(308)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P7로 승산한다. P12/P11계수 승산 회로(2329)는 16-16 DCT의 경우, 레지스터(309)로부터순서적으로 출력된 8개 데이터를 각각의 고정 계수 P12로 승산하고, 2-8-16 DCT의 경우에는 레지스터(309)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P11로 승산한다. P10/P3계수 승산 회로(23210)는 16-16 DCT의 경우, 레지스터(3010)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P10로 승산하고, 2-8-16 DCT의 경우에는 레지스터(3010)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P3로 승산한다. P8/P13계수 승산 회로(23211)는 16-16 DCT의 경우, 레지스터(3011)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P8로 승산하고, 2-8-16 DCT의 경우에는 레지스터(3011)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P13로 승산한다.
P6/P9계수 승산 회로(23212)는 16-16 DCT의 경우, 레지스터(3012)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P6로 승산하고, 2-8-16 DCT의 경우에는 레지스터(3012)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P8로 승산한다. P4/P5계수 승산 회로(23213)는 16-16 DCT의 경우, 레지스터(3013)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P4로 승산하고, 2-8-16 DCT의 경우에는 레지스터(3013)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P5로 승산한다.
P2계수 승산 회로(23214)는 16-16 DCT의 경우, 레지스터(3014)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P2로 승산한다. P0/P1계수 승산 회로(23215)는 16-16 DCT의 경우, 레지스터(3015)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P0로 승산하고, 2-8-16 DCT의 경우에는 레지스터(3015)로부터 순서적으로 출력된 8개 데이터를 각각의 고정 계수 P1로 승산한다.
제4 레지스터 그룹(333)을 구성하는 레지스터(3341)는 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두 P7계수 승산 회로(2321)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서 내지 제8 순서에 따라 순서적으로 출력되는 데이터를 양의 값으로 출력한다. 레지스터(3342)는 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두 P11계수 승산 회로(2322)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서, 제3 순서, 제6 순서 및 제8 순서에 따라 순서적으로 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제4 순서, 제5 순서 및 제7 순서에 따라 순서적으로 출력되는 데이터를 음의 값으로 출력한다. 레지스터(3343)는 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두 P3계수 승산 회로(2323)로부터 순서대로 출력된 8개 데이터 각각을 순서적으로 저장하고, 제1 순서, 제2 순서 및 제7 순서에 따라 순서적으로 출력되는 데이터를 양의 값으로 출력하고, 제3 순서 내지 제6 순서 및 제8 순서에 따라 순서적으로 출력되는 데이터를음의 값으로 출력한다.
레지스터(3344)는 P13계수 승산 회로(2324)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제4 순서 내지 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제3 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제5 순서 내지 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서 내지 제4 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(3345)는 P9계수 승산 회로(2325)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서 내지 제4 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제5 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서 내지 제4 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제5 순서 내지 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(3346)는 P5계수 승산 회로(2326)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제5 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서 내지 제4 순서 및 제6 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.레지스터(3347)는 P1계수 승산 회로(2327)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제3 순서, 제4 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제5 순서 및 제6 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제3 순서, 제4 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제5 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(3348)는 P14/P7계수 승산 회로(2328)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제3 순서 내지 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서 내지 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력한다. 레지스터(3349)는 P12/P11계수 승산 회로(2329)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제2 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제3 순서 내지 제6 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제3 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제4 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33410)는 P10/P3계수 승산 회로(23210)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의경우, 제1 순서 내지 제3 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제4 순서 내지 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제2 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제3 순서 내지 제6 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33411)는 P8/P13계수 승산 회로(23211)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제4 순서 내지 제6 순서 및 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제3 순서 및 제7 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제5 순서 내지 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서 내지 제4 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33412)는 P6/P9계수 승산 회로(23212)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서 내지 제3 순서, 제5 순서 및 제6 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제4 순서, 제7 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서 내지 제4 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제5 순서 내지 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33413)는 P4/P5계수 승산 회로(23213)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서, 제3 순서, 제5 순서 내지 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서 및 제4 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제3 순서, 제5 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제4 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33414)는 P2계수 승산 회로(23214)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두, 제1 순서, 제4 순서, 제6 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제3 순서, 제5 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다. 레지스터(33415)는 P0/P1계수 승산 회로(23216)로부터 순서적으로 출력된 8개 데이터를 각각 저장하고, 16-16 IDCT의 경우, 제1 순서 내지 제4 순서 및 제6 순서 내지 제8 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제5 순서에 따라 출력되는 데이터를 음의 값으로 출력하고, 2-8-16 IDCT의 경우에는 제1 순서, 제3 순서, 제4 순서 및 제7 순서에 따라 출력되는 데이터를 양의 값으로 출력하고, 제2 순서, 제5 순서, 제6 순서 및 제8 순서에 따라 출력되는 데이터를 음의 값으로 출력한다.
가산 회로(3383)는 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두, 레지스터들(3341내지 3347)로부터 순서적으로 출력되는 8개 데이터에 가산 연산들을 실행한다. 레지스터(403)는 가산 회로(3383)로부터 출력된 데이터를 저장한다.
가산 회로(3384)는 16-16 IDCT 및 2-8-16 IDCT의 경우에서 모두,레지스터들(3348내지 33415)로부터 순서적으로 출력되는 8개 데이터에 가산 연산들을 실행한다. 레지스터(404)는 가산 회로(364)로부터 출력된 데이터를 저장한다.
레지스터(403)로부터의 데이터는 가산 회로(44)의 피가수 (summand) 입력 및 감산 회로(42)의 피감수 (minuend) 입력에 공급되고, 레지스터(404)로부터의 데이터는 가산 회로(44)의 피가수 입력 및 감산 회로(42)의 피감수 입력에 공급된다. 감산 회로(42)로부터 출력된 데이터는 제6 레지스터 그룹(45)에 포함된 레지스터(46)에 공급되고, 가산 회로(44)로부터 출력된 데이터는 제6 레지스터 그룹(45)에 포함된 레지스터(48)에 공급된다. 제4 실시예의 다른 구성들은 제3 실시예의 구성들과 같고, 도 15 및 도 16에 도시된 구성성분에는 도 13 및 도 14에 주어진 것과 똑같은 참고번호가 지정되고, 관련된 설명은 생략된다.
제4 실시예의 연산은 도 15 및 도 16을 참고로 설명된다. 먼저, 16-16 DCT에 대한 연산이 설명된다.
MUX(321)로부터 순서적으로 16x16개의 화소에 16-16 DCT를 실행함으로서 압축된 이후 전송되는 16x16 변환 계수 데이터를 구성하는 각 스트링에서 16개의 화소 데이터(f0내지 f15)는 각각 16개의 데이터들(F0내지 F15)에 대응하는 제1 레지스터 그룹(131)을 구성하는 레지스터들(141내지 1416)에 각각 저장된다.
MUXs(161내지 168, 1692, 16102, 16112, 16122, 16132, 16142, 16152, 16162)은 각각 "0" 데이터를 선택하였고, MUXs(1691, 16101, 16111, 16121, 16131, 16141, 16151,16161)은각각 레지스터들(143, 147, 149, 1413, 144, 1410, 1414)를 선택하였으므로, 가산 회로(181)로부터 (F0= h0)이 출력되고, 가산 회로(182)로부터 (F2= h2)이 출력되고, 가산 회로(183)로부터 (F4= h4)이 출력되고, 가산 회로(184)로부터 (F6= h6)이 출력되고, 가산 회로(185)로부터 (F8= h8)이 출력되고, 가산 회로(185)로부터 (F10= h1)이 출력되고, 가산 회로(186)로부터 (F10= h10)이 출력되고, 가산 회로(187)로부터 (F12= h12)이 출력되고, 가산 회로(188)로부터 (F14= h14)이 출력되고, 감산 회로(201)로부터 (F1= h1)이 출력되고, 감산 회로(202)로부터 (F3= h3)이 출력되고, 감산 회로(203)로부터 (F5= h5)이 출력되고, 감산 회로(204)로부터 (F7= h7)이 출력되고, 감산 회로(205)로부터 (F9= h9)이 출력되고, 감산 회로(206)로부터 (F11= h11)이 출력되고, 감산 회로(207)로부터 (F13= h13)이 출력되고, 또한 감산 회로(208)로부터 (F15= h15)이 출력된다.
가산 회로(181)로부터 출력된 데이터(h0)는 레지스터(221)로 저장되고, 가산 회로(182)로부터 출력된 데이터(h2)는 레지스터(222)로 저장되고, 가산 회로(183)로부터 출력된 데이터(h4)는 레지스터(223)로 저장되고, 가산 회로(184)로부터 출력된 데이터(h6)는 레지스터(224)로 저장되고, 가산 회로(185)로부터 출력된 데이터(h8)는 레지스터(225)로 저장되고, 가산 회로(186)로부터 출력된 데이터(h10),레지스터(226)로부터 출력된 데이터(h12)는 가산 회로(187)에 저장되고, 또한 레지스터(227)로부터 출력된 데이터(h14)는 가산 회로(188)에 저장된다.
감산 회로(201)로부터 출력된 데이터(h1)는 레지스터(229)로 저장되고, 감산 회로(202)로부터 출력된 데이터(h3)는 레지스터(2210)로 저장되고, 감산 회로(203)로부터 출력된 데이터(h5)는 레지스터(2211)로 저장되고, 감산 회로(204)로부터 출력된 데이터(h7)는 레지스터(2212)로 저장되고, 감산 회로(206)로부터 출력된 데이터(h9)는 레지스터(2213)로 저장되고, 감산 회로(207)로부터 출력된 데이터(h11)는 레지스터(2215)로 저장되고, 또한 감산 회로(208)로부터 출력된 데이터(h15)는 레지스터(2216)로 저장된다.
레지스터(221)로부터 출력된 데이터(h0)는 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3241)에 의해 선택되어 가감산 회로(3261)로 공급되고, 레지스터(225)로부터 출력된 데이터(h8)는 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3242)에 의해 선택되어 가감산 회로(3261)로 공급되고, 이어서 데이터들(h0+ h8, h0- h8, h0- h8, h0+ h8, h0+ h8, h0- h8, h0- h8, h0+ h8)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 순서적으로 가감산 회로(3261)로부터 출력되어 레지스터(301)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3243)에 의해 선택되고, 데이터들(h4, h12, h12, h4, h4, h12, h12, h4)은 각각 MUX(3243)로부터 순서적으로 출력되어 레지스터(302)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3244)에 의해 선택되고, 데이터들(h12, h4, h4, h12, h12, h4, h4, h12)은 각각 MUX(3244)로부터 순서적으로 출력되어 레지스터(303)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3245)에 의해 선택되고, 데이터들(h2, h10, h6, h14, h14, h6, h10, h2)은 각각 MUX(3244)로부터 순서적으로 출력되어 레지스터(304)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3246)에 의해 선택되고, 데이터들(h6, h2, h14, h10, h10, h14, h2, h6)은 각각 MUX(3244)로부터 순서적으로 출력되어 레지스터(305)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3247)에 의해 선택되고, 데이터들(h10, h14, h2, h6, h6, h2, h14, h10)은 각각 MUX(3247)로부터 순서적으로 출력되어 레지스터(305)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(221내지 228)로부터 출력되는 데이터들(h0, h2, h4, h6, h8, h10, h12, h14)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3248)에 의해 선택되고, 데이터들(h14, h6, h10, h2, h2, h10, h6, h14)은 MUX(3247)로부터 순서적으로 출력되어 레지스터(307)에 저장된다.
8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3249)에 의해 선택되고, 데이터들(h1, h11, h13, h9, h7, h3, h5, h15)은 MUX(3249)로부터 순서적으로 출력되어 레지스터(308)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32412)에 의해 선택되고, 데이터들(h7, h13, h5, h1, h15, h11, h3, h9)은 MUX(32412)로부터 순서적으로 출력되어 레지스터(3011)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32412)에 의해 선택되고, 데이터들(h9,h3, h11, h15, h1, h5, h13, h7)은 MUX(32413)로부터 순서적으로 출력되어 레지스터(3012)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32414)에 의해 선택되고, 데이터들(h11, h7, h15, h3, h13, h1, h9, h5)은 MUX(32414)로부터 순서적으로 출력되어 레지스터들(3013)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32415)에 의해 선택되고, 데이터들(h13, h15, h9, h11, h5, h7, h1, h3)은 MUX(32415)로부터 순서적으로 출력되어 레지스터(3014)에 저장된다. 8개 연산 싸이클 중 매 싸이클마다 레지스터들(229내지 2216)로부터 출력되는 데이터들(h1, h3, h5, h7, h9, h11, h13, h15)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32416)에 의해 선택되고, 데이터들(h15, h5, h3, h7, h9, h13, h11, h1)은 MUX(32415)로부터 순서적으로 출력되어 레지스터(3015)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(301내지 307)로부터 출력되는 각 데이터는 8개 연산 싸이클 중 매 연산 싸이클마다 대응하는 고정 계수 승산 회로(2321) 내지 고정 계수 승산 회로(2327)에서 대응하는 계수 P7, P11, P3,P13, P9, P5및 P1로 승산되고, 레지스터들(3341내지 3347)로 저장된다. 대응하는 레지스터들(3341내지 3347)에 각각 저장된 데이터에는 각각 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(3383)에서 가산 연산들이 행해지고, 레지스터(403)에 저장된다.
가산 회로(3383)에서 8개 연산 싸이클 중 제1 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0+ h8) P7+ h4P11+ h12P3+ h2P13+ h6P6+ h10P5+ h14P1)이다. 제1 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f0+ f8)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제2 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0- h8) P7- h12P11+ h4P3- h10P13+ h2P9- h14P5- h6P1)이다. 제2 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f1+ f9)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제3 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0- h8) P7+ h12P11- h4P3- h6P13+ h1P9- h2P5+ h10P1)이다. 제3 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f2+ f10)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제3 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0+ h8) P7- h4P11- h12P3+ h14P13+ h10P9-h6P5+ h2P1)이다. 제3 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f3+ f11)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제5 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0+ h8) P7- h4P11- h12P3+ h14P13- h10P9+ h6P5- h2P1)이다. 제5 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f4+ f12)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제6 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0- h8) P7+ h12P11- h4P3+ h6P13- h14P9- h2P5- h10P1)이다. 제5 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f5+ f13)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제7 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0- h8) P7- h12P11+ h4P3+ h10P13+ h2P9+ h14P5+ h6P1)이다. 제5 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f6+ f14)이다. 가산 회로(3383)에서 8개 연산 싸이클 중 제7 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 ((h0+ h8) P7+ h4P11- h12P3- h2P13- h6P9+ h10P5+ h14P1)이다. 제8 연산 싸이클에 레지스터(403)에 저장된 데이터는 식 (69)에서 연산값(f7+ f15)이다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(308내지 3015)로부터 출력된 각 데이터는 8개 연산 싸이클 중 매 연산 싸이클마다 대응하는 고정 계수 승산 회로(2328) 내지 고정 계수 승산 회로(23215)에서 대응하는 계수 P14, P12, P10, P8, P4, P2및 P0으로 승산되고 레지스터들(3348내지 33415)에 저장된다. 대응하는 레지스터들(3348내지 33415)에 각각 저장된 데이터에는 각각 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(3384)에서 가산 연산들이 행해지고, 레지스터(404)에 저장된다.
가산 회로(3384)에서 8개 연산 싸이클 중 제2 연산 싸이클에 가산 연산들이 실행되어 레지스터(403)에 저장된 데이터는 (- h1P14+ h1P12- h9P10- h13P8+ h3P6- h7P4- h15P2+ h5P0)이다. 제2 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f1- f9)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제3 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 (h13P14- h7P12+ h1P10- h5P8+ h11P6+ h15P4- h9P2+ h3P0)이다. 제3 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f2- f10)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제4 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 (h9P14- h5P12- h13P10+ h1P8- h15P6- h3P4+ h11P2+ h7P0)이다. 제4 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f3- f11)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제5 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 (h7P14- h11P12- h3P10+ h15P8+ h1P6+ h13P4- h5P2- h9P0)이다. 제5 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f4- f12)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제6 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 - h3P14- h9P12- h15P10+ h11P8+ h5P6+ h1P4+ h7P2+ h13P0)이다. 제6 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f5- f13)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제7 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 (h5P14+ h15P12- h7P10- h3P8- h13P6+ h9P4+ h1P2+ h11P0)이다. 제7 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f6- f14)이다. 가산 회로(3384)에서 8개 연산 싸이클 중 제8 연산 싸이클에 가산 연산들이 실행되어 레지스터(404)에 저장된 데이터는 - h15P14+ h13P12- h11P10+ h9P8- h7P6+ h5P4- h3P2+ h1P)이다. 제8 연산 싸이클에 레지스터(404)에 저장된 데이터는 식 (69)에서 연산값(f7- f15)이다.
가산 회로(42)에서는 레지스터(403)로부터 순서적으로 출력된 8개 데이터 및 레지스터(404)로부터 순서적으로 출력된 8개 데이터에 가산 연산들이 실행되고, 결과의 데이터 (f0, f1, f2, f3, f4, f5, f6,f7)은 가산 회로(42)로부터 출력되어 레지스터(46)에 순서적으로 저장된다. 데이터들(f0, f1, f2, f3, f4, f5, f6, f7)은 도 16에서 레지스터(46)의 출력선 중 하단부에 도시된다. 가산 회로(44)에서는 레지스터(403)로부터 순서적으로 출력된 8개 데이터 및 레지스터(404)로부터 순서적으로 출력된 8개 데이터에 가산 연산들이 실행되고, 결과의 데이터들(f8, f9, f10, f11, f12, f13, f14, f15)은 가산 회로(44)로부터 출력되어 레지스터(46)에 순서적으로 저장된다. 데이터들(f8, f9, f10, f11, f12, f13, f14, f15)은 도 16에서 레지스터(46)의 출력선 중 하단부에 도시된다.
상기 산술적인 연산을 완료함으로서, DCT가 행해진 이후에 전송된 16x16 데이터 블록을 구성하는 한개의 스트링 중 16개 데이터에 대한 1차 16-16 IDCT가 종료된다. 상술된 바와 똑같은 1차 16-16 IDCT는 16x16 데이터 블록을 구성하는 다음 선에 이어지는 각 라인에 실행되고, 16x16 데이터 블록을 구성하는 16개 선 모두에 대한 1차 16-16 IDCT는 유사한 방식으로 종료된다. 16개 선에 모두 1차 16-16 IDCT를 완료한 이후에는 16x16 데이터 블록 (DCT에서의 전치 데이터)을 구성하는 16개 데이터 스트링의 각 스트링에 2차 16-16 IDCT가 실행된다. 2차 16-16 IDCT를 완료함으로서, 16-16 DCT가 행해진 이후에 전송된 원래의 영상 화상이 재생될 수 있다.
다음에는 2-8-16 IDCT의 동작이 설명된다.
MUX(312)로부터 순서적으로 16x16 화소에 16-16 DCT를 실행한 이후 전송되는 16x16 데이터로 구성된 블록을 구성하는 각 라인에 포함된 16개의 화소 데이터들(f0내지 f15)은 각각 16개 데이터들(F0내지 F15) 각각에 대응하는 제1 레지스터 그룹(313)을 구성하는 레지스터들(141내지 1415)에 각각 저장된다.
16개 데이터들(F0내지 F15) 중 데이터(F0)는 제1 레지스터 그룹(313)을 구성하는 레지스터(141)에 저장되고, 데이터(F8)는 레지스터(142)에 저장되고, 데이터(F1)는 레지스터(143)에 저장되고, 데이터(F9)는 레지스터(144)에 저장되고, 데이터(F2)는 레지스터(145)에 저장되고, 데이터(F10)는 레지스터(146)에 저장되고, 데이터(F3)는 레지스터(147)에 저장되고, 데이터(F11)는 레지스터(148)에 저장되고, 데이터(F5)는 레지스터(149)에 저장되고, 데이터(F13은 레지스터(1410)에 저장되고, 데이터(F6)는 레지스터(1411)에 저장되고, 데이터(F14)는 레지스터(1412)에 저장되고, 데이터(F7)는 레지스터(1413)에 저장되고, 데이터(F15)는 레지스터(1414)에 저장되고, 데이터(F4)는 레지스터(1415)에 저장되고, 또한개의 데이터(F12)는 레지스터(1416)에 저장된다.
MUXs(161내지 168, 1692, 16102, 16112, 16122, 16132, 16142, 16152, 16162)은 각각 레지스터들(142, 144, 146, 148, 1410, 1412, 1414, 1416)를 선택하였고, MUXs(1691,16101, 16111, 16121, 16131, 16141, 16151, 16161)은 각각 레지스터들(141, 143, 145, 147, 149, 1411, 1413, 1415)를 선택하였으므로, 가산 회로(181)로부터 데이터(F0+ f8= i0)가 출력되고, 가산 회로(182)로부터 데이터(F1+ f9= i1)가 출력되고, 가산 회로(183)로부터 데이터(F2+ f10= i2)가 출력되고, 가산 회로(184)로부터 데이터(F3+ f11= i3)가 출력되고, 가산 회로(185)로부터 데이터(F5+ f13= i4)가 출력되고, 가산 회로(186)로부터 데이터(F6+ f14= i5)가 출력되고, 가산 회로(187)로부터 데이터(F7+ f15= i6)가 출력되고, 가산 회로(188)로부터 데이터(F4+ f12= i7)가 출력되고, 감산 회로(201)로부터 데이터(F0- f8= i8)가 출력되고, 감산 회로(202)로부터 데이터(F1- f9= i9)가 출력되고, 감산회로(203)로부터 데이터(F2- f10= i10)가 출력되고, 감산 회로(204)로부터 데이터(F3- f11= i11)가 출력되고, 감산 회로(205)로부터 데이터(F5- f13= i12)가 출력되고, 감산 회로(206)로부터 데이터(F6- f14= i13)가 출력되고, 감산 회로(207)로부터 데이터(F7- f15= i14)가 출력되고, 또한 감산 회로(208)로부터 데이터(F4- f12= i15)가 출력된다.
가산 회로(181)로부터 출력된 데이터(i0)는 레지스터(221)에 저장되고, 가산 회로(182)로부터 출력된 데이터(i1)는 레지스터(222)에 저장되고, 가산 회로(183)로부터 출력된 데이터(i2)는 레지스터(223)에 저장되고, 가산 회로(184)로부터 출력된데이터(i3)는 레지스터(224)에 저장되고, 가산 회로(185)로부터 출력된 데이터(i4)는 레지스터(225)에 저장되고, 가산 회로(186)로부터 출력된 데이터(i5)는 레지스터(226)에 저장되고, 가산 회로(187)로부터 출력된 데이터(i6)는 레지스터(227)에 저장되고, 또한 가산 회로(188)로부터 출력된 데이터(i7)는 레지스터(228)에 저장된다.
감산 회로(201)로부터 출력된 데이터(i8)는 레지스터(229)에 저장되고, 감산 회로(202)로부터 출력된 데이터(i9)는 레지스터(2210)에 저장되고, 감산 회로(203)로부터 출력된 데이터(i10)는 레지스터(2211)에 저장되고, 감산 회로(204)로부터 출력된 데이터(i11)는 레지스터(2212)에 저장되고, 감산 회로(205)로부터 출력된 데이터(i12)는 레지스터(2213)에 저장되고, 감산 회로(206)로부터 출력된 데이터(i13)는 레지스터(2214)에 저장되고, 감산 회로(207)로부터 출력된 데이터(i14)는 레지스터(2215)에 저장되고, 또한 감산 회로(208)로부터 출력된 데이터(i15)는 레지스터(2216)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i8)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3241)에서 선택되고, 데이터(i0)는 8회 MUX(3241)로부터 순서적으로 출력되어 가감산회로(3261)에 공급된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3242)에서 선택되고, 데이터(i7)는 8회 MUX(3242)로부터 순서적으로 출력되어 가감산 회로(3261)에 공급되고, 데이터들(i0+ i7, i0- i7, i0- i7, i0+ i7, i0+ i7, i0- i7, i0- i7, i0+ i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 가감산 회로(3261)로부터 순서적으로 출력되어 레지스터(301)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3243)에서 선택되고, 각 데이터들(i2, i5, i5, i2, i2, i5, i5, i2)은 순서적으로 출력되어 레지스터(302)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3244)에서 선택되고, 각 데이터들(i5, i2, i2, i5, i5, i2, i2, i5)은 순서적으로 출력되어 레지스터(303)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3245)에서 선택되고, 각 데이터들(i1, i4, i3, i6, i6, i3, i4, i1)은 순서적으로 출력되어 레지스터(304)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3246)에서 선택되고, 각 데이터들(i3, i1, i6, i4, i4, i6, i1, i3)은 순서적으로 출력되어 레지스터(305)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3247)에서 선택되고, 각 데이터들(i4, i6, i1, i3, i3, i1, i6, i4)은 순서적으로 출력되어 레지스터(306)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(221내지 228)로부터 출력된 데이터들(i0내지 i7)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3248)에서 선택되고, 각 데이터들(i6, i3, i4, i1, i1, i4, i3, i6)은 순서적으로 출력되어 레지스터(307)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(3249)에서 선택되고, 데이터들(i8)는 MUX(3249)로부터 8회 순서적으로 출력되어 가감산 회로(3261)에 공급되며, 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32416)에서 선택되고, 데이터들(i15)는 MUX(32416)로부터 8회 순서적으로 출력되어 가감산 회로(3261)에 공급되고, 데이터들(i8+ i15, i8- i15, i8- i15, i8+ i15, i8+ i15, i8- i15, i8+ i15)는 각각 8개 연산 싸이클 중 매 연산 싸이클마다 순서적으로 출력되어 MUX(281)를 통해 레지스터(308)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32410)에서 선택되고, 각 데이터들(i10, i13, i13, i10, i10, i13, i13, i10)은 MUX(32410)로부터 순서적으로 출력되어 레지스터(309)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32411)에서 선택되고, 각 데이터들(i13, i10, i10, i13, i13, i10, i10, i13)은 MUX(32411)로부터 순서적으로 출력되어 레지스터(3010)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32412)에서 선택되고, 각 데이터들(i9, i12, i11, i14, i14, i11, i12, i9)은 MUX(32412)로부터 순서적으로 출력되어 레지스터(3011)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32412)에서 선택되고, 각 데이터들(i9, i12, i11, i14, i14, i11, i1, i9)은 MUX(32412)로부터 순서적으로 출력되어 레지스터(3011)에 저장된다. 8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32414)에서 선택되고, 각 데이터들(i12, i14, i9, i11, i11, i9, i14, i12)은 MUX(32413)로부터 순서적으로 출력되어 레지스터들(3011)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(229내지 2216)로부터 출력된 데이터들(i8내지 i15)은 각각 8개 연산 싸이클 중 매 연산 싸이클마다 MUX(32415)에서 선택되고, 각 데이터들(i14, i11, i12, i9, i9, i12, i11, i14)은 MUX(32415)로부터 순서적으로 출력되어 MUX(283)를 통해 레지스터(3015)에 저장된다. MUX(282)가 "0" 데이터를 선택하였으므로, MUX(32415)로부터 출력되는 모든 데이터는 "0" 데이터로 레지스터(33414)에 저장된다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(301내지 307)로부터 출력된 각 데이터에는 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(3383)에서 가산 연산들이 행해지고, 레지스터(403)에 저장된다. 8개 연산 싸이클 중 제1 연산싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0+ i7) P7+ i2P11+ i5P3+ i1P13+ i13P9+ i4P5+ i6P1)이다. 제1 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f0)으로 도시된 식 (70)에서 연산값(f0)을 나타낸다. 8개 연산 싸이클 중 제2 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0- i7) P7- i5P11+ i2P3- i4P13+ i1P9- i6P5- i3P1)이다. 제2 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f2)으로 도시된 식 (70)에서 연산값(f0)을 나타낸다. 8개 연산 싸이클 중 제3 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0- i7) P7+ i5P11- i2P3- i3P13+ i6P9+ i1P5+ i4P1)이다. 제3 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f2)으로 도시된 식 (70)에서 연산값(f4)을 나타낸다. 8개 연산 싸이클 중 제4 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0+ i7) P7- i2P11- i5P3- i6P13+ i4P9- i3P5+ i1P1)이다. 제4 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f6)으로 도시된 식 (70)에서 연산값(f6)을 나타낸다. 8개 연산 싸이클 중 제5 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0+ i7) P7- i2P11- i5P3- i6P13- i4P9+ i3P5- i1P1)이다. 제5 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f8)으로 도시된 식 (70)에서 연산값(f8)을 나타낸다. 8개 연산 싸이클 중 제6 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0- i7) P7+ i5P11- i2P3+ i6P13- i6P9- i1P5- i4P1)이다. 제6 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f10)으로 도시된 식 (70)에서 연산값(f0)을 나타낸다. 8개 연산 싸이클 중 제7 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0- i7) P7- i5P11+ i2P3+ i4P13- i1P9+ i6P5+ i3P1)이다. 제6 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에 (f12)으로 도시된 식 (70)에서 연산값(f12)을 나타낸다. 8개 연산 싸이클 중 제8 연산 싸이클에 가산 회로(3383)에서 가산 연산들이 행해져 레지스터(403)에 저장된 데이터는 ((i0+ i7) P7+ i2P11- i5P3- i1P13- i3P9- i4P5- i6P1)이다. 제8 연산 싸이클에 레지스터(403)로 저장된 데이터는 도 16에서 레지스터(403)의 출력선 중 하단부에(f14)으로 도시된 식 (70)에서 연산값(f14)을 나타낸다.
8개 연산 싸이클 중 매 연산 싸이클마다 레지스터들(3348내지 33415)로부터 출력된 각 데이터에는 8개 연산 싸이클 중 매 연산 싸이클마다 가산 회로(3384)에서 가산 동작이 행해져 레지스터(404)에 저장된다.
8개 연산 싸이클 중 제1 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8+ i15) P7+ i10P11+ i13P3+ i9P13+ i11P9+ i12P5+ i14P1)이다. 제1 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f1)으로 도시된 식 (70)에서 연산값(f1)을 나타낸다. 8개 연산 싸이클 중 제2 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8- i15) P7- i13P11+ i10P3- i12P13+ i9P9- i14P5- i14P1)이다. 제1 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f3)으로 도시된 식 (70)에서 연산값(f3)을 나타낸다. 8개 연산 싸이클 중 제3 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8- i15) P7+ i13P11- i10P3- i11P13+ i14P9+ i9P5+ i12P1)이다. 제1 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에(f5)으로 도시된 식 (70)에서 연산값(f5)을 나타낸다. 8개 연산 싸이클 중 제4 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8+ i15) P7- i10P11- i13P3- i14P13+ i12P9- i11P5+ i9P1)이다. 제4 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f7)으로 도시된 식 (70)에서 연산값(f7)을 나타낸다. 8개 연산 싸이클 중 제5 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8+ i15) P7- i10P11- i13P3+ i14P13- i12P9+ i11P5- i9P1)이다. 제5 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f9)으로 도시된 식 (70)에서 연산값(f9)을 나타낸다. 8개 연산 싸이클 중 제6 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8- i15) P7+ i13P11- i10P3+ i11P13- i14P9- i9P5- i12P1)이다. 제6 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f11)으로 도시된 식 (70)에서 연산값(f11)을 나타낸다. 8개 연산 싸이클 중 제7 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8- i15) P7- i13P11+ i10P3+ i12P13- i9P9+ i14P5+ i11P1)이다. 제7 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f13)으로 도시된 식 (70)에서 연산값(f13)을 나타낸다. 8개 연산 싸이클 중 제8 연산 싸이클에 가산 회로(3384)에서 가산 연산들이 행해져 레지스터(404)에 저장된 데이터는 ((i8+ i15) P7+ i10P11+ i13P3- i9P13- i11P9- i12P5- i14P1)이다. 제8 연산 싸이클에 레지스터(404)로 저장된 데이터는 도 16에서 레지스터(404)의 출력선 중 하단부에 (f15)으로 도시된 식 (70)에서 연산값(f15)을 나타낸다.
상기 산술적인 연산을 완료함으로서, 2-8-16 DCT가 행해진 이후에 전송된 16x16 데이터 블록을 구성하는 한개의 스트링 중 16개 데이터에 대한 1차 2-8-16 IDCT가 종료된다. 상술된 바와 똑같은 1차 2-8-16 IDCT는 16x16 데이터 블록을 구성하는 다음 선에 이어지는 각 라인에 실행되고, 16x16 데이터 블록을 구성하는 16개 스트링 모두에 대한 1차 2-8-16 IDCT는 유사한 방식으로 종료된다. 16개 스트링에 모두 1차 2-8-16 IDCT를 완료한 이후에는 16x16 데이터 블록 (DCT에서의 전치 데이터)을 구성하는 16개 데이터 스트링의 각 스트링에 2차 2-8-16 IDCT가 실행된다. 16x16 데이터에 각각 1차 2-8-16 IDCT 및 2차 2-8-16 IDCT를 완료함으로서, 2-8-16 DCT가 행해진 이후에 전송된 원래의 영상 화상이 재생될 수 있다.
그래서, 본 발명에 따라, 16-16 IDCT 및 2-8-16 IDCT 장치는 16-16 IDCT 회로에서 사용되는 고정 계수 승산 회로의 일부가 교환되어 2-8-16 DCT에서 요구되는 고정 계수 승산 회로로 사용될 수 있도록 구성되므로, 16-16 IDCT에서 파이프라인처리형 산술 연산을 통해 구해지는 고속 계산 특징이 2-8-16 IDCT에서도 유지될 수 있고, 소형화된 16-16 IDCT 장치 및 2-8-16 IDCT 장치에서도 고속 계산 특징이 계속 유지될 수 있다.
상기 제1 실시예 내지 제4 실시예를 기초하여, 다음의 결론을 얻을 수 있다;
식 (74)는 제1 실시예 및 제3 실시예의 경우와 똑같은 방식으로 식 (73)을 전개하여 이를 "N"에 대해 배열함으로서 구해질 수 있다. 그러므로, 제1 실시예 및 제2 실시예의 경우와 똑같은 방식으로 2Nx 2N화소 데이터를 구성하는 각 라인 및 각 스트링에 식 (74)으로 표시된 연산을 실행함으로서, 2 - 2N-1- 2NDCT에 대한 연산이 실행될 수 있다.
먼저, 식 (74)에서 우측 오른쪽에 있는 매트릭스가 설명된다.
식 (74)에서 우측 오른쪽에 있는 매트릭스에 포함된 성분 중에서, 최종 번호 P1, P5, P9, P13, ...가 주어진 구성성분 및 식 (75)으로 표시되는 구성성분은 i=1 내지 i=2N-1-1인 경우를 갖도록 매 다른 "i"를 선택함으로서 구해지는 계수이고, 여기서 그 계수는 식 (76)에 도시된 바와 같이 고정 계수 Pi(i=0, 1, 2, ...2N-1-1)로표시된다. i=1 내지 i=2N-1-1인 경우 매 다른 "1"을 선택함으로서 구해지는 고정 계수를 제외한 계수를 선택한 이후에 남겨지는 매 다른 "1"을 선택함으로서 i=2N-3 내지 i=2N-1-1일 때 구해질 수 있는 계수를 선택하고, 결과적으로 아직까지 남겨진 매 다른 "1"을 선택함으로서 구해진 고정 계수를 선택함으로서, 식 (74)에서 우측 오른쪽에 있는 매트릭스에 포함된 각 구성성분이 결정될 수 있다. 본 출원에서, 상기와 같이 결정될 수 있는 고정 계수는 "이산 코싸인 변환(discrete cosine transformation) 규칙에 따라 결정될 수 있는 고정 계수"라 칭하여진다.
식 (74)에서 우측 왼쪽의 상단측에 존재하는 매트릭스에 포함된 제1 라인상의 제1 스트링은 식 (77)으로 주어지고, 식 (77)에서 각 항의 값 kj(j=0, 1, 2, ..., 2N-1-1)는 식 (78)으로 주어진다.
식 (74)에서 우측 왼쪽의 하단측에 존재하는 매트릭스에 포함된 제1 라인상의 제1 스트링은 식 (79)으로 주어지고, 식 (79)에서 각 항의 값 kj (j=2N-1, 2N-1+1, 2N-1+2, ..., 2N-1))은 (80)으로 주어진다.
식 (74)에서 좌측 왼쪽의 상단측에 있는 매트릭스내의 각 구성성분 중에서 식 (74)에 도시된 셀(cell)은 한 구성성분을 나타낸다. 식 (74)에 도시된 바와 같이, 제2 선의 제1 스트링이 한 구성성분이다.
"21x 21"로 도시된 프레임 내지 "2N-3x 2N-3"로 도시된 프레임이 하단 우측 방향으로 배열되고, "2N-3x 2N-3"로 도시된 프레임 내지 "2N - 2x 2N - 2"로 도시된 프레임이 하단 우측 방향으로 배열된다.
구성성분 21x 21(21x 21개의 셀)은 "21x 21"로 도시된 프레임, 즉 제3 선 및 제4 선과 제2 스트링 및 제3 스트링으로 도시된 프레임에 포함된다. 구성성분 22x 22(22x 22개의 셀)은 "22x 22"로 도시된 프레임, 즉 제5 선 및 제8 선과 제4 스트링 및 제7 스트링으로 도시된 프레임에 포함된다. 구성성분 2N-3x 2N-3(2N-3x 2N-3개의 셀)은 "2N-3x 2N-3"로 도시된 프레임에 포함된다. 구성성분 2N - 2x 2N - 2(2N - 2x 2N - 2개의 셀)은 "2N-3x 2N-3"로 도시된 프레임에 포함된다.
식 (74)의 상단측에 있는 매트릭스에서 제2 선 및 제1 스트링으로 구성된 각 성분과 "21x 21"로 도시된 프레임 내지 2N - 2x 2N - 2로 도시된 프레임 각각에 포함된 각 구성성분은 식 (78)에서 표시된 각 kj의 가감산식 [kjm]N - 2(m = j 중 선택된 첨자 j 이외의 값)으로 주어진다. 또한, 식 (74)의 하단측에 있는 매트릭스에서 제2 선 및 제1 스트링으로 구성된 각 성분과 "21x 21"로 도시된 프레임 내지 2N - 2x 2N - 2로 도시된 프레임 각각에 포함된 각 구성성분은 식 (80)에서 표시된 각 kj의 가감산식 [kjn]N - 2(m = j 중 선택된 첨자 j 이외의 값)으로 주어진다.
식 (74)에서 우측 오른쪽 및 우측 왼쪽에 있는 매트릭스에서 행렬식의 연산이 설명된다. 제1 선 및 제1 스트링과 제2 선 및 제1 스트링의 구성성분은 우측에 있는 매트릭스에서 제1 구성성분으로 승산될다. 21x 21로 도시되는 프레임에 포함된 각 스트링의 각 구성성분은 우측에 있는 매트릭스에서 제2 구성성분 및 제3 구성성분으로 승산될다. 22x 22로 도시된 프레임에 포함된 각 스트링내의 각 구성성분은 우측에 있는 매트릭스에서 제4 구성 성분 내지 제7 구성성분으로 승산될다. 2N-3x 2N-3으로 도시된 프레임에 포함된 각 스트링내의 각 구성성분은 우측에 있는 매트릭스에서 제2N-3내지 제(1+ 21+22+ ... +2N-4) 구성성분으로 승산될다. 이 관계는 상단측 및 하단측에 있는 매트릭스에 적용될 수 있다.
식 (74)에서 우측 오른쪽에 있는 매트릭스 및 우측 왼쪽에 있는 매트릭스에서 행렬식의 연산으로 각 라인에 구해지는 각 구성성분의 각 적들의 합은 식 (74)에서 우측에 도시된 행렬식에 대응하는 구성성분 (변환 계수 데이터, 즉 식 (74)에서 F로 도시된 데이터)을 나타낸다.
상술된 홀수를 갖는 고정 계수 Pi로 승산될 각 구성성분은 화소 데이터(데이터(78) 및 식 (80)에서 "f"로 도시된 데이터)이다.
그렇지만, 일반적인 공식 및 일반적인 표현 형태에 의해 상술된 매트릭스를 구성하는 kj 중 어느 구성성분이 오는가를 나타내는 것은 불가능하다. 그러나, 식 (51) 및 식 (66)에서 행해진 것과 똑같은 방식으로, N의 지정된 값에 대해 식 (73)을 전개하여 재배열함으로서, 상술된 가감산식 [kjm]N - 2및 가감산식 [kjn]N - 2은 지정된 N 값에 대해 결정될 수 있다.
또한, 변환 계수 데이터가 32x32인 경우, 제2 실시예 및 제4 실시예에서 행해진 것과 똑같은 방식으로, N에 대해 식 (81)을 전개하여 재배열함으로서 식 (82)을 구하고, 식 (82)에서 표시된 연산을 제2 실시예 및 제4 실시예에서와 똑같은 방식으로 2Nx 2N변환 계수 데이터의 각 라인 또는 각 스트링에 포함된 데이터에 실행함으로서, 2 - 2N-1- 2NIDCT에 대한 연산이 실행될 수 있다. 식 (82)에 표시된 수 N은 자연수이다. 식 (82)에서 상단측에 있는 행렬식의 좌측에 도시된 매트릭스는 홀수의 화소이고, 식 (82)에서 하단측에 있는 행렬식의 좌측에 도시된 매트릭스는 짝수의 화소이다.
식 (82)에서 우측 왼쪽의 상단측에 있는 매트릭스 [lop] 및 하단측에 있는 매트릭스 [loq]의 제1 스트링은 변환 계수 데이터(F0)와 식 (83) 사이의 합이나 차로 표시되고, 다른 구성성분은 식 (83)에 표시된 변환 계수 데이터를 제외한 구성성분 Fk(1 ≤ k ≤ 2N-1- 2)을 갖는 매트릭스로 표시된다.
2N- 2NDCT는 식 (84)에 따라 실행되고, 2N- 2NIDCT는 식 (85)에 따라 실행된다. 식 (84)에서 좌우측에 있는 매트릭스 및 식 (85)에서 좌우측에 있는 매트릭스에서 사용되는 문자 및 표시는 대개 식 (74) 및 식 (82)에 대응한다. 식 (84) 및 식 (85)에서 우측 왼쪽에 있는 매트릭스에 포함된 각 구성성분은 아래 도시된바와 같이 식 (74) 및 식 (82)과 다르다;
식 (84)에 포함된 구성성분 [Ast]N - 2및 [Bsu]N-1은 각각 식 (86)으로 주어진다. 식 (84)에 포함된 구성성분 [Ast]N - 2및 [Bsu]N-1각각에서 사용되는 s, t 및 u의 의미는 j, m 및 n에 대응한다. 화소 데이터(f0내지 f2N-1은 식 (86)에서 주어진 화소 데이터이다. 구성성분 [Cvw] 및 [Dvx]는 각각 2N- 2NIDCT에서 변환 계수 데이터로 주어진다. 식 (85)에 포함된 구성성분 [Cvw] 및 [Dvx] 각각에서 사용되는 v, w 및 x의 의미는 식 (82)에서 o, p 및 q 에 대응한다.
그러므로, 2N- 2NDCT를 실행하는데 사용되는 회로 일부를 사용함으로서, 2N- 2N화소 데이터에 2 - 2N-1- 2NDCT가 실행될 수 있다. 또한, 2N- 2NIDCT를 실행하는데 사용되는 회로 일부를 사용함으로서, 2N- 2N변환 계수 데이터에 2 - 2N-1- 2NIDCT가 실행될 수 있다.
상술된 바와 같이, 본 발명에 따라, 2Nx 2N(N은 자연수)개의 화소 데이터 중 한개의 라인이나 한개의 스트링에 포함된 2N개의 화소 데이터로부터 이산 코싸인 변환 규칙에 따라, 똑같은 순서에 따라, 또는 다른 순서에 따라 결정된 홀수 k를 갖는 고정 계수들Pk(0 ≤ k ≤ 2N- 1)로 승산될 2N개의 화소 데이터로 구성되는 제1 세트의 화소 데이터 및 제2 세트의 화소 데이터를 선택하고, 홀수 k를 갖는 고정 계수에 대응하는 선택된 제1 세트의 화소 데이터 및 선택된 제2 세트의 화소 데이터 모두를 홀수 k를 갖는 고정 계수에 의해 승산하여 그 적들을 만들고, 그 적을 대응하는 고정 계수에 더하고, 또한 가산값을 기초하여 그 가산값에 대응하는 변환 계수 데이터 Pk중 소정의 수의 변환 계수 데이터를 출력함으로서, 2 - 2N-1- 2NDCT가 파이프라인 포맷에서 고속으로 실행될 수 있다.
2 - 2N-1- 2NIDCT는 2 - 2N-1- 2NDCT의 경우와 똑같은 방식으로 구성되므로 2Nx 2N개의 변환 계수 데이터에 실행될 수 있다.
본 발명은 상기 실시예에 제한되지 않고 본 발명의 범위 및 의도에서 벗어나지 않고 변화 및 수정될 수 있음이 명백하다. 예를 들면, 32x32 개의 화소 데이터 뿐만 아니라 32x32 개의 변환 계수 데이터가 사용될 때도 제1 실시예 내지 제4 실시예에서 얻어진 것과 똑같은 효과가 이루어질 수 있다. 상기 제1 실시예에서는 8-8 DCT 및 2-4-8 DCT에 대한 연산이 설명되고, 제2 실시예에서는 8-8 IDCT 및 2-4-8 IDCT에 대한 연산이 설명되고, 제3 실시예에서는 16-16 DCT 및 2-8-16 IDCT에 대한 연산이 설명되고, 또한 제4 실시예에서는 16-16 DCT 및 2-8-16 IDCT에 대한 연산이 설명된다. 그러나, 2-4-8 DCT, 2-4-8 IDCT, 2-8-16 DCT 및 2-8-16 IDCT가 하나씩 독립적으로 실행될 수 있다. 또한, 8-8 DCT, 2-4-8 DCT, 8-8 IDCT 및 2-4-8 IDCT는 분리된 장치를 사용하지 않고 레지스터로부터 출력된 데이터의 코드 및 MUX를 교환함으로서 한 장치로 실행될 수 있다. 영상 신호의 이산 코싸인 변환 속도가 크게 중요하지 않으면, DCT 및 IDCT에 대한 상기 연산은 소프트웨어로 실행될 수 있다. 상술된 각 실시예에서 MUX의 연산 전후의 타이밍, 예를 들면, MUX(241) 내지 MUX(248)에 입력하는 타이밍과 MUX(241) 내지 MUX(248)로의 입력에 이어지는 연산의 타이밍은 1 ; 2N-1이 될 수 있다. 더욱이, 상기 실시예에서는 합 및 차가 사용되지만, 일본 특개평 5-181896호에서 설명된 바와 같이, 신호의 선택 포맷을 사용함으로서, 본 발명이 동일하게 실시될 수 있다.
그래서, 본 발명에 따라, 2N- 2NDCT 및 2 - 2N-1- 2NDCT 장치는 2N- 2NDCT에서 사용되는 고정 계수 승산 회로 일부가 교환되어 2 - 2N-1- 2NDCT에서 요구되는 고정 계수 승산 회로로 사용될 수 있도록 구성되므로, 2N- 2NDCT에서 파이프라인 처리형 산술 연산을 통해 구해진 고속 계산 특징은 2 - 2N-1- 2NDCT에서도 유지되고, 소형화된 2N- 2NDCT 및 2 - 2N-1- 2NDCT 장치에서도 고속 계산 특징이 유지될 수 있다. 상기와 똑같은 효과는 본 발명에 따라 2N- 2NIDCT 및 2 - 2N-1- 2NIDCT 장치에서도 이루어질 수 있다.
본 발명은 상기 실시예에 제한되지 않고 본 발명의 범위 및 의도에서 벗어나지 않고 변화 및 수정될 수 있음이 명백하다.
Claims (22)
- 영상 신호들을 압축하는 방법에 있어서,식 (1) 및 식 (2)에서 주어지고 이산 코싸인 변환 (discrete cosine transformation) 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 영상 데이터(image data)를 형성하는 2Nx 2N(N은 자연수)개의 화소 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링(string)에 포함된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)를 선택하는 처리 단계,적(product)들을 얻도록, 선택된 상기 화소 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 처리 단계,상기 승산 처리에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 처리 단계, 및2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대한 변환 계수 데이터 Fj로서 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 출력하는 처리 단계를 구비하고;상기 선택 처리 단계에서, 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로 구성된 화소 데이터의 제1 세트 및 제2 세트는 소정의 순서에 따라 상기 식 (1) 및 식 (2) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수에 대해 선택되고, 상기 승산 처리 단계에서, 상기 식 (1) 및 식 (2) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 대해 선택된 화소 데이터의 상기 제1 세트 및 상기 제2 세트는 상기 적들을 구하기 위해 상기 식 (1) 및 식 (2) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 의해 승산되며,인, 영상 신호 압축 방법.
- 제 1 항에 있어서,하나는 낮은 번호의 데이터이고 다른 하나는 그 다음으로 낮은 번호의 데이터이며 이후에 같은 방식인 , 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N개의 화소 데이터의 합은 상기 선택 처리 단계에서 선택될 화소 데이터의 상기 제1 세트로서 선택되고, 하나는 낮은 번호의 데이터이고 다른 하나는 그 다음으로 낮은 번호의 데이터이며 이후에 똑같은 방식인, 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N개의 화소 데이터 사이의 차는 상기 선택 처리 단계에서 선택될 화소 데이터의 상기 제2 세트로서 선택되는, 영상 신호 압축 방법.
- 영상 신호들을 압축해제 (decompress)하는 방법에 있어서,식 (3) 및 식 (4)에서 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 이산 코싸인 변환 방법에 의해 변환된 이후 전송된 변환 계수 데이터를 형성하는 2Nx 2N(N은 자연수)개의 변환 계수 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 처리 단계,적(product)들을 구하기 위해, 상기 선택된 변환 계수 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 처리 단계,상기 이산 코싸인 변환 규칙에 따라 결정된 상기 승산 처리에 의해 구해진 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 처리 단계, 및2Nx 2N화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 화소 데이터 fj로서 출력하는 처리 단계를 구비하고;상기 선택 처리 단계에서, 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 구성된 변환 계수 데이터의 제1 세트 및 제2 세트는 소정의 순서에 따라 상기 식 (3) 및 상기 식 (4) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수들에 대해 선택되고, 상기 승산 처리 단계에서, 상기 식 (3) 및 상기 식 (4) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 대해 선택된 변환 계수 데이터의 상기 제1 세트 및 상기 제2 세트는 상기 적들을 구하기 위해, 상기 식 (3) 및 식 (4) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 의해 승산되며,인, 영상 신호 압축해제 방법.
- 제 3 항에 있어서,변환 계수 데이터의 상기 제1 세트는 상기 2N개의 변환 계수 데이터 Fj 중 처음 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 변환 계수 데이터를 포함하는 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터와, 상기 2N개의 변환 계수 데이터 Fj 중 나머지 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 변환 계수 데이터를 포함하는 제2 변환 데이터의 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터의 합이고, 변환 데이터의 상기 제2 세트는 상기 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터와 상기 제2 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터 사이의 차인, 영상 신호 압축해제 방법.
- 영상 신호들을 압축하는 방법에 있어서,식 (5) 및 식 (6)에서 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 영상 데이터를 형성하는 2Nx 2N(N은 자연수)개의 화소 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)를 선택하는 처리 단계,적들을 구하기 위해, 선택된 상기 화소 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 처리 단계,상기 승산 처리에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 처리 단계, 및2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 변환 계수 데이터 Fj로서 출력하는 처리 단계를 구비하고;상기 선택 처리 단계에서, 2N- 2N이산 코싸인 변환의 경우, 2N개의 화소 데이터는 소정의 순서에 따라 상기 2N- 2N이산 코싸인 변환에 의해 결정된 상기 고정 계수들 Pk 각각에 대해 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 선택되고, 상기 선택 처리 단계에서, 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 식 (5) 및 식 (6) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수들에 의해 승산될 2N개의 화소 데이터로 각각 구성된 화소 데이터의 제1 세트 및 제2 세트 각각은 소정의 순서에 따라 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 선택되고,상기 승산 처리 단계에서, 상기 2N- 2N이산 코싸인 변환의 경우, 상기 선택 처리 단계에서 선택된 상기 2N개의 화소 데이터 각각은 적들을 구하기 위해 상기 고정 계수들 Pk 중에서 상기 대응하는 고정 계수들 각각에 의해 승산되고, 상기 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 식 (5) 및 식 (6) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 대응하는 고정 계수에 기초하여 선택된 화소 데이터의 상기 제1 세트 및 상기 제2 세트는 각각 상기 식 (5) 및 식 (6) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수들에 의해 승산되고,상기 가산 연산들 및/또는 감산 연산들의 처리 단계에서, 상기 2N- 2N이산 코싸인 변환의 경우, 상기 가산 연산들 및/또는 감산 연산들은 상기 승산 처리 단계에 의해 구해지고 상기 2N- 2N이산 코싸인 변환에 따라 결정되는 적들 사이에서 실행되고, 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 가산 연산들 및/또는 감산 연산들은 상기 승산 처리 단계에 의해 구해지고 상기 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정되는 적들 사이에서 실행되고,인, 영상 신호 압축 방법.
- 제 5 항에 있어서,2N- 2N이산 코싸인 변환의 상기 블록에서 선택될 상기 화소 데이터는 상기 식 (5) 및 상기 식 (6) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수들 각각에 의해 승산될 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 상기 2N개의 화소 데이터로 구성된 상기 제1 세트의 화소 데이터와 상기 식 (5) 및 상기 식 (6) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수들 각각에 의해 승산될 상기 2N개의 화소 데이터로 구성된 상기 제2 세트의 화소 데이터를 포함하는, 영상 신호 압축 방법.
- 제 5 항 또는 제 6 항에 있어서,상기 선택 처리 단계에서 선택된 상기 화소 데이터는 소정의 쌍의 화소 데이터를 구성하는 화소 데이터 사이의 합 및 차인, 영상 신호 압축 방법.
- 제 7 항에 있어서,상기 소정의 쌍의 화소 데이터를 구성하는 상기 화소 데이터는 상기 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N의 화소 데이터이고, 하나는 낮은 번호의 데이터이고 다른 하나는 다음으로 낮은 번호의 데이터인, 영상 신호 압축 방법.
- 제 7 항에 있어서.상기 소정의 쌍의 화소 데이터를 구성하는 상기 화소 데이터는 2N- 2N이산 코싸인 변환의 경우, 상기 2N개의 화소 데이터 fj 중 처음 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 화소 데이터를 포함하는 상기 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 화소 데이터 및 상기 2N개의 화소 데이터 fj 중 나머지 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 화소 데이터를 포함하는 상기 제2 화소 데이터 세트로부터 선택된 한개의 데이터로 구성된 화소 데이터인, 영상 신호 압축 방법.
- 영상 신호들을 압축해제하는 방법에 있어서,식 (7) 및 식 (8)에서 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 이산 코싸인 변환 방법에 의해 변환된 이후 전송되는 변환 계수 데이터를 형성하는 2Nx 2N(N은 자연수)개의 변환 계수 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 처리 단계,적들을 구하기 위해, 선택된 상기 변환 계수 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 처리 단계,상기 승산 처리에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 처리 단계, 및2Nx 2N변환 계수 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 화소 데이터 fj로서 출력하는 처리 단계를 구비하고;상기 선택 처리 단계에서, 2N- 2N역 이산 코싸인 변환 (inverse discrete cosine transformation)의 경우, 상기 2N개의 변환 계수 데이터는 각각 소정의 순서에 따라 상기 2N- 2N역 이산 코싸인 변환 방법에 의해 결정되는 상기 고정 계수들 Pk 각각에 대해 2Nx 2N개 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개 변환 계수 데이터로부터 선택되고, 상기 선택 처리 단계에서, 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 각각 구성된 제1 세트 및 제2 세트의 변환 계수 데이터는 소정의 순서에 따라 상기 식 (7) 및 상기 식 (8) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수들 각각에 대해 선택되고,상기 승산 처리 단계에서, 상기 2N- 2N역 이산 코싸인 변환의 경우, 상기 선택 처리 단계에서 선택된 상기 2N개의 화소 데이터 각각은 적들을 구하기 위해, 상기 고정 계수들 Pk 중에서 대응하는 고정 계수들 각각에 의해 승산되고, 상기 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 상기 식 (7) 및 상기 식 (8) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 대응하는 고정 계수를 각각 기초하여 선택된 상기 제1 세트 및 상기 제2 세트의 변환 계수 데이터 각각은 적들을 구하기 위해, 상기 식 (7) 및 상기 식 (8) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수에 의해 각각 승산하고,상기 가산 연산들 및/또는 감산 연산들의 처리 단계에서, 상기 2N- 2N역 이산 코싸인 변환의 경우, 상기 가산 연산들 및/또는 감산 연산들은 상기 승산 처리 단계에 의해 구해지고 상기 2N- 2N이산 코싸인 변환 규칙에 따라 결정되는 적들 사이에서 실행되고, 상기 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 상기 가산 연산들 및/또는 감산 연산들은 상기 승산 처리 단계에 의해 구해지고 상기 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정되고 적들 사이에서 실행되고,인, 영상 신호 압축해제 방법.
- 제 10 항에 있어서,상기 2N- 2N역 이산 코싸인 변환에서 선택될 상기 변환 계수 데이터는 상기 식 (7) 및 상기 식 (8) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수 각각에 의해 승산될 2Nx 2N개 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 상기 2N개 변환 계수 데이터로 구성된 변환 계수 데이터의 상기 제1 세트와 상기 식 (7) 및 상기 식 (8) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수에 의해 승산될 상기 2N개 변환 계수 데이터로 구성된 변환 계수 데이터의 상기 제2 세트를 포함하는, 영상 신호 압축해제 방법.
- 영상 신호들을 압축하는 장치에 있어서,식 (9) 및 식 (10)에서 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 영상 데이터를 형성하는 2Nx 2N(N은 자연수)개의 화소 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단,적들을 구하기 위해, 선택된 상기 화소 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 수단,상기 승산 처리에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 수단, 및2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 변환 계수 데이터 Fj로서 출력하는 수단을 구비하고;상기 선택 수단은 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로 구성된 화소 데이터의 제1 세트 및 제2 세트는 각각 소정의 순서에 따라 상기 식 (9) 및 식 (10) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수에 대해 선택되고, 상기 승산 처리 단계에서, 상기 식 (9) 및 식 (10) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 대해 선택된 화소 데이터의 상기 제1 세트 및 제2 세트는 각각, 상기 적들을 구하기 위해 상기 식 (9) 및 식 (10) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수에 의해 승산되는 것이고,인, 영상 신호 압축 장치.
- 제 12 항에 있어서,하나는 낮은 번호의 데이터이고 다른 하나는 그 다음으로 낮은 번호의 데이터이며 이후 같은 방식인, 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N의 화소 데이터의 합은 상기 선택 수단에 의해 화소 데이터의 상기 제1 세트로서 선택되고, 하나는 낮은 번호의 데이터이고 다른 하나는 그 다음으로 낮은 번호의 데이터이며 이후 같은 방식인, 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N의 화소 데이터 사이의 차는 상기 선택 수단에 의해 화소의 상기 제2 세트로서 선택되는, 영상 신호 압축 장치.
- 영상 신호들을 압축해제하는 장치에 있어서,식 (11) 및 식 (12)에서 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 이산 코싸인 변환 방법에 의해 변환된 이후 전송된 변환 계수 데이터를 형성하는 2Nx 2N(N은 자연수)개의 변환 계수 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단,적들을 구하기 위해, 상기 선택된 변환 계수 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 수단,상기 이산 코싸인 변환 규칙에 따라 결정된 상기 승산 처리에 의해 구해진 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 수단, 및2Nx 2N화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 화소 데이터 fj로서 출력하는 수단을 구비하고;상기 선택 수단은 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 구성된 변환 계수 데이터의 제1 세트 및 제2 세트는 각각 소정의 순서에 따라 상기 식 (11) 및 식 (12) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수에 대해 선택되는 것이고, 상기 승산 수단은 상기 식 (11) 및 식 (12) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 의해 선택된 변환 계수 데이터의 상기 제1 세트 및 제2 세트는 각각 상기 적들을 구하기 위해, 상기 식 (11) 및 식 (12) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 각각에 의해 승산되는 것이고,인, 영상 신호 압축해제 장치.
- 제 14 항에 있어서,상기 선택 수단은 변환 계수 데이터의 상기 제1 세트로서, 상기 2N개의 변환 계수 데이터 Fj 에서 처음 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 변환 계수 데이터를 포함하는 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터와, 상기 2N개의 변환 계수 데이터 Fj 중 나머지 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 변환 계수 데이터를 포함하는 제2 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터의 합을 선택하고, 상기 선택 수단은 변환 데이터의 상기 제2 세트로서, 상기 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터와 상기 제2 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 변환 계수 데이터 사이의 차를 선택하는, 영상 신호 압축해제 장치.
- 영상 신호들을 압축하는 장치에 있어서,식 (13) 및 식 (14)에 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 영상 데이터를 형성하는 2Nx 2N(N은 자연수)개의 화소 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터 fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단,적들을 구하기 위해, 선택된 상기 화소 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 수단,상기 승산 수단에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 연산 수단, 및2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 변환 계수 데이터 Fj로서 출력하는 수단을 구비하고;상기 선택 수단은 2N- 2N이산 코싸인 변환의 경우, 소정의 순서에 따라 상기 2N- 2N이산 코싸인 변환 방법에 의해 결정되는 상기 고정 계수들 Pk 각각에 대해 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 2N개의 화소 데이터를 선택하고, 상기 선택 수단은 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 식 (13) 및 식 (14) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수들 각각에 의해 승산될 2N개의 화소 데이터로 각각 구성된 화소 데이터의 제1 세트 및 제2 세트 각각을, 소정의 순서에 따라 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 화소 데이터로부터 선택되고,상기 승산 수단은 상기 2N- 2N이산 코싸인 변환의 경우, 상기 선택 수단에 의해 선택된 상기 2N개의 화소 데이터 각각을 적들을 구하기 위해, 상기 고정 계수들 Pk 중에서 대응하는 고정 계수들 각각에 의해 승산하고, 상기 승산 수단은 상기 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 식 (13) 및 식 (14) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 대응하는 고정 계수들 각각에 기초하여 선택된 화소 데이터의 상기 제1 세트 및 제2 세트를, 각각 상기 식 (13) 및 식 (14) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수에 의해 각각 승산하고,상기 연산 수단은 상기 2N- 2N이산 코싸인 변환의 경우, 상기 승산 처리 단계에 의해 구해지고 상기 2N- 2N이산 코싸인 변환에 따라 결정되는 적들 사이에서 상기 가산 연산들 및/또는 감산 연산들을 실행하고, 상기 가산 및/또는 감산 수단은 상기 2 - 2N-1- 2N이산 코싸인 변환의 경우, 상기 승산 처리 단계에 의해 구해지고 상기 2 - 2N-1- 2N이산 코싸인 변환 규칙에 따라 결정되는 적들 사이에서 상기 가산 연산들 및/또는 감산 연산들을 실행하고,인, 영상 신호 압축 장치.
- 제 16 항에 있어서,상기 2N- 2N이산 코싸인 변환에서 선택될 상기 화소 데이터는 상기 식 (13) 및 식 (14) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수들 각각에 의해 승산될 2Nx 2N개의 화소 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 상기 2N개의 화소 데이터로 구성된 상기 화소 데이터의 상기 제1 세트와 상기 식 (13) 및 식 (14) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수들 각각에 의해 승산될 상기 2N개의 화소 데이터로 구성된 상기 제 2 세트의 화소 데이터를 포함하는, 영상 신호 압축 장치.
- 제 16 항에 있어서,상기 선택 수단은 상기 화소 데이터로서, 소정의 쌍의 화소들을 구성하는 화소 데이터 사이의 합 및 차를 선택하는, 영상 신호 압축 장치.
- 제 18 항에 있어서,상기 선택 수단은 상기 소정의 쌍의 화소 데이터를 구성하는 상기 화소 데이터로서, 상기 2 - 2N-1- 2N이산 코싸인 변환의 경우, 하나는 낮은 번호의 데이터이고 다른 하나는 그 다음으로 낮은 번호의 데이터인, 상기 화소 데이터 fj에 포함된 "j" 데이터를 갖는 2N개의 화소 데이터를 선택하는, 영상 신호 압축 장치.
- 제 18 항에 있어서,상기 선택 수단은 상기 소정의 쌍의 화소 데이터를 구성하는 상기 화소 데이터로서, 상기 2N- 2N이산 코싸인 변환의 경우, 상기 2N개의 화소 데이터 fj 중 처음 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 화소 데이터를 포함하는 상기 제1 변환 데이터 세트로부터 선택된 한개의 데이터로 구성된 화소 데이터와, 2N개의 화소 데이터 fj 중 나머지 절반을 구성하는 "j" 데이터를 포함하고 2N-1개의 화소 데이터를 포함하는 상기 제2 화소 데이터 세트로부터 선택된 한개의 데이터로 구성된 화소 데이터를 선택하는, 영상 신호 압축 장치.
- 영상 신호들을 압축해제하는 장치에 있어서,식 (15) 및 식 (16)에 주어지고 이산 코싸인 변환 규칙에 따라 결정되는 각각의 고정 계수들 Pk에 대해, 이산 코싸인 변환 방법에 의해 변환된 이후 전송된 변환 계수 데이터를 형성하는 2Nx 2N(N은 자연수)개의 변환 계수 데이터의 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터 Fj (0 ≤ j ≤ 2N- 1)를 선택하는 수단,적들을 구하기 위해, 선택된 상기 변환 계수 데이터 각각을 대응하는 상기 고정 계수들 Pk 각각으로 승산하는 수단,상기 승산 수단에 의해 구해지고 상기 이산 코싸인 변환 규칙에 따라 결정되는 적들 사이의 가산 연산들 및/또는 감산 연산들을 실행하는 연산 수단, 및2Nx 2N변환 계수 데이터의 상기 블록을 구성하는 각 라인 또는 각 스트링에 대해 상기 가산 연산들 및/또는 감산 연산들에 의해 구해진 값을 화소 데이터 fj로서 출력하는 수단을 구비하고;상기 선택 수단은 2N- 2N역 이산 코싸인 변환의 경우, 소정의 순서에 따라 상기 2N- 2N역 이산 코싸인 변환 규칙에 의해 결정된 상기 고정 계수들 Pk 각각에 대해 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로부터 2N개의 변환 계수 데이터를 선택하고, 상기 선택 수단은 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 2N개의 변환 계수 데이터로 각각 구성되는 제1 세트 및 제2 세트의 변환 계수 데이터를, 소정의 순서에 따라 상기 식 (15) 및 식 (16) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 각각의 고정 계수에 대해 선택되고,상기 승산 수단은 상기 2N- 2N역 이산 코싸인 변환의 경우, 적들을 구하기 위해, 상기 선택 처리 단계에서 선택된 2N개의 화소 데이터 각각을, 상기 고정 계수들 Pk 중에서 대응하는 고정 계수 각각에 의해 승산하고, 상기 승산 수단은 상기 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 적들을 구하기 위해 상기 식 (15) 및 식 (16) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 대응하는 고정 계수들 각각에 기초하여 선택된 변환 계수 데이터의 상기 제1 세트 및 제2 세트를 각각 상기 식 (15) 및 식 (16) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수들 각각에 의해 승산하고,상기 연산 수단은 상기 2N- 2N역 이산 코싸인 변환의 경우, 상기 승산 수단에 의해 구해지고 상기 2N- 2N이산 코싸인 변환에 따라 결정되는 적들 사이에서 상기 가산 연산들 및/또는 감산 연산들을 실행하고, 상기 연산 수단은 상기 2 - 2N-1- 2N역 이산 코싸인 변환의 경우, 상기 승산 처리 단계에 의해 구해지고 상기 2 - 2N-1- 2N이산 코싸인 변환에 따라 결정되는 적들 사이에서 상기 가산 연산들 및/또는 감산 연산들을 실행하고,인, 영상 신호 압축해제 장치.
- 제 21 항에 있어서,상기 선택 수단은 상기 2N- 2N역 이산 코싸인 변환에서, 상기 변환 계수 데이터로서, 상기 식 (15) 및 식 (16) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 상기 고정 계수들 각각에 의해 승산될 2Nx 2N개의 변환 계수 데이터의 상기 블록을 구성하는 한개의 라인 또는 한개의 스트링에 포함된 상기 2N개의 변환 계수 데이터로 구성된 변환 계수 데이터의 상기 제1 세트와 상기 식 (15) 및 식 (16) 에서 홀수 위치들에 있는 k를 갖는 상기 고정 계수들 Pk 중에서 고정 계수들 각각에 의해 승산될 상기 2N개의 변환 계수 데이터로 구성된 변환 계수 데이터의 상기 제2 세트를 포함하는, 영상 신호 압축해제 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP99-326188 | 1999-11-16 | ||
JP32618899A JP3362716B2 (ja) | 1999-11-16 | 1999-11-16 | 画像信号の圧縮方法及び装置並びに伸長方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010051739A KR20010051739A (ko) | 2001-06-25 |
KR100392969B1 true KR100392969B1 (ko) | 2003-07-31 |
Family
ID=18185019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0068086A KR100392969B1 (ko) | 1999-11-16 | 2000-11-16 | 영상 신호 압축 및 압축해제 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6409587B1 (ko) |
JP (1) | JP3362716B2 (ko) |
KR (1) | KR100392969B1 (ko) |
CN (1) | CN1182724C (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070087177A1 (en) * | 2003-10-09 | 2007-04-19 | Guangwei Wu | Stacked pad and method of use |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5738567A (en) * | 1996-08-20 | 1998-04-14 | Micron Technology, Inc. | Polishing pad for chemical-mechanical planarization of a semiconductor wafer |
-
1999
- 1999-11-16 JP JP32618899A patent/JP3362716B2/ja not_active Expired - Fee Related
-
2000
- 2000-11-15 US US09/713,827 patent/US6409587B1/en not_active Expired - Lifetime
- 2000-11-16 CN CNB001327429A patent/CN1182724C/zh not_active Expired - Fee Related
- 2000-11-16 KR KR10-2000-0068086A patent/KR100392969B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2001144623A (ja) | 2001-05-25 |
KR20010051739A (ko) | 2001-06-25 |
JP3362716B2 (ja) | 2003-01-07 |
CN1182724C (zh) | 2004-12-29 |
CN1297311A (zh) | 2001-05-30 |
US6409587B1 (en) | 2002-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2646778B2 (ja) | ディジタル信号処理装置 | |
CN101796506A (zh) | 具有比例缩放式和非比例缩放式接口的变换设计 | |
KR950009472A (ko) | 2차원 이산코사인 변환장치, 2차원 역이산코사인 변환장치 및 디지탈 신호처리 장치 | |
US6317767B2 (en) | Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add | |
KR19990022657A (ko) | 이산코사인변환 연산회로 | |
JP6357345B2 (ja) | ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法 | |
JP2870756B2 (ja) | 空間フィルタ画像処理装置 | |
WO2000036842A1 (en) | Dct arithmetic device | |
US7076105B2 (en) | Circuit and method for performing a two-dimensional transform during the processing of an image | |
JP4035789B2 (ja) | 逆離散コサイン変換装置 | |
KR100392969B1 (ko) | 영상 신호 압축 및 압축해제 장치 및 방법 | |
US6420979B1 (en) | Method for compressing and decompressing image signals and apparatus for compressing and decompressing image signals | |
JP2004120439A (ja) | 画像処理装置及び画像処理方法 | |
JP2001346213A (ja) | 離散コサイン変換装置及びその離散コサイン変換方法 | |
JPH0844708A (ja) | 二次元離散コサイン変換演算回路 | |
JP3971135B2 (ja) | Dct行列分解方法及びdct装置 | |
JP3652380B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
JP3155383B2 (ja) | 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム | |
JPH0644291A (ja) | 離散コサイン変換器及び情報符号化器 | |
JP2646844B2 (ja) | 離散コサイン変換装置 | |
JP2555937B2 (ja) | 離散コサイン変換回路 | |
JPH1091615A (ja) | 離散コサイン変換/逆変換装置 | |
JP2002152045A (ja) | 画像データ用フィルタ処理装置及びその制御方法 | |
JPH06274524A (ja) | 直交変換回路および逆変換回路 | |
KR0130441B1 (ko) | 2차원 이산 코사인 변환기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080701 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |