KR100218278B1 - 분산 연산법을 이용한 이산코사인 변환 수행장치 - Google Patents

분산 연산법을 이용한 이산코사인 변환 수행장치 Download PDF

Info

Publication number
KR100218278B1
KR100218278B1 KR1019960000835A KR19960000835A KR100218278B1 KR 100218278 B1 KR100218278 B1 KR 100218278B1 KR 1019960000835 A KR1019960000835 A KR 1019960000835A KR 19960000835 A KR19960000835 A KR 19960000835A KR 100218278 B1 KR100218278 B1 KR 100218278B1
Authority
KR
South Korea
Prior art keywords
output
variable
data
subtracting
outputting
Prior art date
Application number
KR1019960000835A
Other languages
English (en)
Other versions
KR970060951A (ko
Inventor
최성업
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019960000835A priority Critical patent/KR100218278B1/ko
Publication of KR970060951A publication Critical patent/KR970060951A/ko
Application granted granted Critical
Publication of KR100218278B1 publication Critical patent/KR100218278B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 분산 연산법을 이용한 이산코사인 변환 수행장치를 공개한다. 임의의 변수에 대한 N개의 시간 영역의 데이타(x)를 변수 T로 치환한 후에 N개의 주파수 영역의 데이타(X)로 변환하는 그 장치는, N/2(N의 양은 정수)개의 변수 T들을 입력하여 가산 및 감산하고, 가산 및 감산된 결과를 변수 Z로서 출력하는 제1가산 및 감산수단과, 제1가산 및 감산수단으로부터 출력되는 변수 Z들을 가산 및 감산하고, 가산 및 감산된 결과를 가/감산 변수값 또는 롬의 어드레스로의 출력하는 제2가산 및 감산수단 및 가/감산 변수값와 소정 인수를 곱하고, 어드레스에 해당하는 데이타를 누산 및 쉬프팅하고, 곱하고 누산되고 쉬프팅된 결과를 N/2개의 주파수 영역의 데이타로서 출력하는 주파수 영역 데이타 출력수단을 구비하는 것을 특징으로 하고, 종래의 DCT 수행장치에서 사용된 값비싼 롬 대신에 가산기와 쉬프트 레지스터로 그 기능을 수행하는 효과가 있다.

Description

분산 연산법을 이용한 이산코사인 변환 수행장치
제1도는 종래의 DCT를 수행하는 장치의 블럭도이다.
제2도는 제1도에 도시된 종래의 순환 및 누산기의 세부적인 블럭도이다.
제3도는 본 발명에 의한 분산 연산법을 이용한 이산코사인 변환 수행장치의 블럭도이다.
본 발명은 데이타 압축에 관한 것으로서, 특히, 데이타 압축을 위해 분산 연산방법을 이용하여 이산 코사인 변환(DCT:discrete cosine transform)을 수행하는 분산 연산법을 이용한 이산코사인 변환 수행장치에 관한 것이다.
영상 데이타와 음성 데이타를 압축하지 않으면 실시간 처리가 불가능하다. 그러므로, 많은 압축 알고리즘이 제안되어 왔으며, 이중 DCT는 가장 많이 사용되는 표준 압축 방식이다. DCT에서도 계산량과 데이타의 복원정도를 고려하여 8×8 DCT가 많이 채택하여 사용되고 있으며, 이를 구현하기 위한 방법들도 다양하게 제시되어 왔다.
전술된 DCT는 다음 식(1)과 같이 정의된다.
여기서, x(n)은 변수 X에 대한 시각 영역의 데이타이고, X(m)은 주파수 영역의 데이타이며, 계수C(m)은 m=0일 때, 1/√2이고, m≠0일때, 1이된다.
식(1)에 표시된 DCT를 수행하는 대표적인 두가지 방법으로서 곱셈기를 사용하는 방법과 찾아보기 테이블(look up table)을 사용하는 방법이 있으며, 분산 연산(DA:distributed arithmetic)은 찾아보기 테이블에 해당하는 방법이다.
먼저, 분산 연산법을 다음과 같이 설명한다. 상술한 식(1)을 코사인의 여각 공식등을 이용하여 간단화하고, 각 데이타의 인덱스를 비트 역 순(BRO; bit reverse order)으로 바꾸어 주면 다음과 같은 행렬로 표현되는 배열을 얻을 수 있다. 즉,
여기서, 첨자 a는 cos(π/4), b는 cos(π/16), c는 cos(5π/16), d는 cos(7π/16), e는 cos(3π/16), f는 cos(π/8), g는 cos(3π/8)을 각각 나타낸다.
식(2)의 배열을 풀어서 간단히 하면 다음 식(3)과 같은 간단한 배열을 얻을 수 있다. 즉,
여기서, 식(3)을 다음 식(4)와 같이 변수 T로 치환한다.
라고하면,
식(4)는 다시 다음 식(5)과 같이 변형된다.
이하, 분산 연산을 이용한 종래의 DCT 수행장치의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 설명한다.
제1도는 종래의 DCT를 수행하는 장치의 블럭도로서, 1비트의 변수 X의 시간 데이타를 저장하고 있는 레지스터들(10∼24)과, 덧셈기들(30∼44)과, 덧셈기들(30∼44)로부터 출력되는 데이타 비트를 입력하여 식(5)의 동작을 수행하는 순환 및 누산기(RAC:rotate and acdumulator)들(50∼64)로 구성된다. 여기서, 변수 X및 T는 1비트라고 가정한다.
제1도에 도시된 각 레지스터에 저장된 시간 영역상의 데이타는 식(4)에 따라 해당 덧셈기에서 서로 더해져서 소정 변수 T 값으로 변환되어 해당 RAC들로 출력된다.
제2도는 제1도에 도시된 종래의 순환 및 누산기의 세부적인 블럭도로서, 제1 및 제2롬들(80 및 82)과, 가산기(84), 누산기(accumulator)(86) 및 쉬프트 레지스터(88)로 구성된다.
제1도에 도시된 덧셈기들(30∼44)로부터 출력되는 변수, T는 '0' 또는 '1'의 값이므로, 식(5)에 결과값 A∼P는 4가지의 값을 가질 수 있다. 즉, A, C, E, G, I, K, M, O를 저장하고 있는 제2도에 도시된 제1롬(80)과 B, D, F, H, J, L, N, P를 저장하고 있는 제2롬(82)들은 입력단자 IN을 통해 덧셈기들(30∼44)로부터 출력되는 T를 어드레스로 사용하여 저장하고 있는 값들중 하나의 가산기(84)로 출력한다.
제2도에 도시된 RAC는 제1롬(80)의 출력과 제2롬(82)의 출력을 가산기(84)에서 가산한 후에, 누산기(86) 및 쉬프트 레지스터(88)을 거쳐 출력단자 OUT를 통해 변수 X의 주파수 영역의 데이타를 출력한다. 또한, RAC는 변수 X 및 T가 1비트의 데이타가 아니라 원드 데이타라고 하더라도, 누산기(86) 및 쉬프트 레지스터(88)에 의해 원하는 결과를 얻을 수 있다.
전술된 종래의 DCT 수행장치의 롬들(80 및 82)에는 중복된 값들이 많이 저장되어 있기 때문에, 롬들의 크기가 증가되고, 제조 원가가 상승하는 문제점이 있다.
본 발명의 목적은 상기와 같은 종래의 문제점을 해결하기 위하여 DCT 수행장치에서 사용되는 저방부의 독출방법을 변형함으로서 작은 크기의 메모리를 가지고 DCT를 수행하는 분산 연산법을 이용한 이산코사인 변환 수행장치를 제공하는데 있다.
상기 목적을 달성하기 위하여 임의의 변수에 대한 N개의 시간 영역으 데이타(x)를 변수 T로 치환한 후에 N개의 주파수 영역의 데이타(X)로 변환하는 본 발명에 의한 분산 연산법을 이용한 이산코사인 변환 수행장치는, N/2(N은 양의 정수)개의 상기 변수 T 들을 입력하여 가산 및 감산하고, 가산 및 감산된 결과를 변수 Z로서 출력하는 제1가산 및 감산수단과, 상기 제1가산 및 감산수단으로부터 출력되는 변수 Z 들을 가산 및 감산하고, 가산 및 감산된 결과를 가/감산 변수값 똔느 롬의 어드레스로서 출력하는 제2가산 및 감산수단 및 상기 가/감산 변수값와 소정 인수를 곱하고, 상기 어드레스에 해당하는 데이타를 누산 및 쉬프팅하고, 곱하고 상기 누산되고 쉬프팅된 결과를 N/2개의 상기 주파수 영역의 데이타로서 추력하는 주파수 영역 데이타 출력수단으로 구성되는 것이 바람직하다
이하, 본 발명에 의한 분산 연산법을 이용한 이산코사인 변환 수행장치의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 설명한다.
제3도는 본 발명에 의한 분산 연산법을 이용한 이산코사인 변환 수행장이의 블럭도로서, 변수 T(0), T(1), T(2), T(3)을 저장하는 4개의 레지스터들(90, 92, 94 및 96)과, 4개의 변수 T 들을 입력하여 가산 및 감산하고, 가산 및 감산된 결과를 변수 Z로서 출력하는 제1가산 및 감산부(105)를 구성하는 가산 및 감산기들(98, 100, 102, 104)과, 제1가산 및 감산부(105)로부터 출력되는 변수 Z들을 가산 및 감산하고, 가산 및 감산된 결과를 가/감산 변수값 또는 롬의 어드레스로서 출력하는 제2가산 및 감산부(113)를 구성하는 가산 및 감산부들(106, 108, 110 및 112) 및 가/감산 변수값와 소정 인수를 곱하고, 어드레스에 해당하는 데이타를 누산 및 쉬프팅하고, 곱하고 누산되고 쉬프팅된 결과를 4개의 주파수 영역의 데이타로서 출력하는 주파수 영역 데이타 출력부(123)를 구성하는 레지스터(114), 가산기들(116 및 118), 가산 및 감산부(121 및 125), 쉬프트 레지스터들(124, 126, 128 및 130)로 구성되어 있다.
전술된 식(5)는 다음과 식(6)과 같이 재배열된다.
나머지 주파수 영역의 데이타인 X(1), X(5), X(3) 및 X(7)은 식(5)를 그대로 적용한다. 식(6)은 변수 Z로 다음 식(7)과 같이 치환된다.
즉, 식(6)을 식(7)에서 치환된 변수 Z로 표현하면, 다음 식(8)과 같이 된다.
제3도에 도시된 본 발명에 의한 장치는 식(8)을 구현하는 회로로서, 제1가산 및 감산부(105)의 제1가산기(98)는 변수 T(0)에 T(3)을 가산하고, 제2가산기(100)는 T(1)에 T(2)를 가산하고, 제1감산기(102)는 T(1)로부터 T(2)를 감산하고, 제2감산기(104)는 T(0)으로부터 T(3)을 감산한다.
제2가산 및 감산부(113)의 제3가산기(106)는 제1가산기(98)의 출력에 제2가산기(100)의 출력을 가산하고, 제3감산기(108)는 제1가산기(98)의 출력으로부터 제2가산기(100)의 출력을 감산하고, 제4가산기(110)는 제1감산기(98)의 출력에 제2감산기(104)의 출력을 가산하고, 제4감산기(112)는 제2감산기(104)의 출력으로부터 제1감산기(102)의 출력을 감산한다.
주파수 영역 데이타 출력부(123)의 곱셈기능을 하는 가산기(116)와 제1쉬프트 레지스터(124)는 제3가산기(106)의 출력과 레지스터(114)에 저장된 인수 a를 곱하여 X(0)으로서 출력한다. 곱셈기능을 하는 가산기(118)와 제2쉬프트 레지스터(126)는 제3감산기(108)의 출력과 인수a 를 곱하여 X(4)로서 출력한다.
한편, 제1롬(120)은 제4가산기(110)의 출력을 어드레스로 하여 해당하는 값 즉, gZ(2)+fZ(3)을 출력하고, 제2롬(122)은 제4감산기(112)의 출력을 어드레스로 하여 해당하는 값 즉, fZ(2)-gZ(3)을 출력한다. 누산기(121)은 제1롬(120)의 출력을 누산하여 제3쉬프트 레지스터(128)로 출력하고, 제3쉬프트 레지스터(128)는 입력한 데이타를 쉬프팅하여 X(6)으로서 출력한다. 누산기(125)는 제2롬(122)의 출력을 누산하여 제4쉬프트 레지스터(130)로 출력하고, 제4쉬프트 레지스터(130)는 쉬프팅후에, X(2)로서 출력한다.
이상에서 살펴본 바와 같이, 본 발명에 의한 분산 연산법을 이용한 이산코사인 변환 수행장치는 종래의 DCT 수행장치에서 사용된 값비싼 롬 대신에 가산기와 쉬프트 레지스터로 그 기능을 수행하는 효과가 있다.

Claims (4)

  1. 임의의 변수에 대한 8개의 시간 영역의 데이터 x(0)에서 X(7)을 변수 T(0)에서 T(7)로 치환한 후에 8개의 주파수 영역의 데이터 X(0)에서 X(7)로 변환하는 분산 연산법을 이용한 이산 코사인 변환 수행장치에 있어서, 상기 변수 T(0)와 T(3), T(1)과 T(2)를 각각 가산하여 변수 Z(0) 및 Z(1)로 출력하고, 상기 변수 T(0)에서 T(3), T(1)에서 T(2)를 각각 감산하여 변수 Z(2) 및 Z(3)로 출력하기 DLN한 제1가산 및 감산수단; 상기 변수 Z(0)와 Z(1)을 가산 및 감산하여 제1출력 및 제2출력을 발생하고, 상기 변수 Z(3)과 Z(2)를 가산 및 감산하여 제3출력 및 제4출력을 각각 발생하기 위한 제2가산 및 감산수단; 및 상기 제1과 소정 인수 및 상기 제2출려과 소정 인수를 각각 곱하여 상기 x(0) 및 x(4)의 주파수 영역 데이터인 X(0) 및 X(4)로 출력하고, 상기 제3출력 및 제4출력에 해당하는 데이터를 누산 및 쉬프팅하여 상기 x(6) 및 x(2)의 주파수 영역 데이터인 X(6) 및 X(2)로 각각 출력하는 주파수 영역 데이터 출력 수단을 구비한 것을 특징으로 하는 분산 연산법을 이용한 이산 코사인 변환 수행장치.
  2. 제1항에 있어서, 상기 제1가산 및 감산수단은 상기 T(0)에 상기 T(3)을 가산하여 상기 변수 Z(0)를 출력하는 제1가산기; 상기 T(1)에 상기 T(2)를 가산하여 상기 변수 Z(1)을 출력하는 제2가산기; 상기 T(1)로부터 상기 T(2)를 감산하여 상기 변수 Z(3)를 출력하는 제1감산기; 및 상기 T(0)로부터 상기 T(3)을 감산하여 상기 변수 Z(2)를 출력하는 제2감산기를 구비하고, 상기 T(0)은 x(0)와 x(7)의 합이고, 상기 T(1)은 x(2)와 x(5)의 합이고, 상기 T(2)는 x(1)과 x(6)의 합이고, 상기 T(3)은 x(3)와 x(4)의 합인 것을 특징으로 하는 분산 연산법을 이용한 이산코사인 변환 수행장치.
  3. 제2항에 있어서, 상기 제2가산 및 감산수단은 상기 변수 Z(0)에 상기 변수 Z(1)을 가산하여 상기 제1출력을 발생하는 제3가산기; 상기 변수 Z(0)에 상기 변수 Z(1)을 감산하여 상기 제2출력을 발생하는 제3감산기; 상기 변수 Z(3)에 상기 변수 Z(2)를 가산하여 상기 제3출력을 발생하는 제4가산기; 및 상기 변수 Z(3)에 상기 변수 Z(2)를 가산하여 상기 제4출력을 발생하는 제4감산기를 구비하는 것을 특징으로 하는 분산 연산법을 이용한 이산코사인 변환 수행장치.
  4. 제3항에 있어서, 상기 주파수 영역 데이터 출력수단은 상기 제1출력과 상기 인수를 곱하여 상기 x(0)의 주파수 영역 데이터인 X(0)로서 출력하는 제1곱셈기; 상기 2출력과 상기 인수를 곱하여 상기 x(4)의 주파수 영역 데이터인 X(4)로서 출력하는 제2곱셈기; 상기 제3출력을 어드레스로 하여 해당하는 값을 출력하는 제1롬; 상기 제1롬의 출력을 누산 및 쉬프팅하여 x(6)의 주파수 영역의 데이터인 x(6)으로 출력하는 제1누산 및 쉬프터; 상기 제4출력을 어드레스로 하여 해당하는 값을 출력하는 제2롬; 및 상기 제2롬의 출력을 누산 및 쉬프팅하여 상기 x(2)의 주파수 영역 데이터인 x(2)로서 출력하는 제2누산 및 쉬프터를 구비하는 것을 특징으로 하는 분산 연산법을 이용한 이산 코사인 변환 수행장치.
KR1019960000835A 1996-01-17 1996-01-17 분산 연산법을 이용한 이산코사인 변환 수행장치 KR100218278B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960000835A KR100218278B1 (ko) 1996-01-17 1996-01-17 분산 연산법을 이용한 이산코사인 변환 수행장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960000835A KR100218278B1 (ko) 1996-01-17 1996-01-17 분산 연산법을 이용한 이산코사인 변환 수행장치

Publications (2)

Publication Number Publication Date
KR970060951A KR970060951A (ko) 1997-08-12
KR100218278B1 true KR100218278B1 (ko) 1999-09-01

Family

ID=19449550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960000835A KR100218278B1 (ko) 1996-01-17 1996-01-17 분산 연산법을 이용한 이산코사인 변환 수행장치

Country Status (1)

Country Link
KR (1) KR100218278B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100693654B1 (ko) 1998-10-30 2007-03-14 아바고 테크놀로지스 제너럴 아이피 (싱가포르) 피티이 리미티드 행렬과 벡터의 내적 벡터 산출 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100693654B1 (ko) 1998-10-30 2007-03-14 아바고 테크놀로지스 제너럴 아이피 (싱가포르) 피티이 리미티드 행렬과 벡터의 내적 벡터 산출 장치 및 방법

Also Published As

Publication number Publication date
KR970060951A (ko) 1997-08-12

Similar Documents

Publication Publication Date Title
EP0506111A2 (en) DCT/IDCT processor and data processing method
US7702115B2 (en) Method and apparatus to reconstruct high-frequency components of an audio signal
KR100218278B1 (ko) 분산 연산법을 이용한 이산코사인 변환 수행장치
JP3577325B2 (ja) 離散余弦変換(dct)によるデータ処理方法、dct方法、およびdctデータ処理回路
US6453332B1 (en) Method and apparatus for performing plural matrix multiplication operations
KR960020541A (ko) 이산 코사인 변환 회로, 이산 코사인 역변환 회로, mpeg 비디오 인코더 및 mpeg 비디오 디코더
RU2318238C1 (ru) Нейронная сеть для преобразования остаточного кода в двоичный позиционный код
JP6555814B2 (ja) 直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラム
JPH0645948A (ja) 直交変換装置及び逆直交変換装置
KR0130441B1 (ko) 2차원 이산 코사인 변환기
Pitchika et al. Fast Base Extension using Single Redundant Modulus in a Residue Number System
JP2013513866A (ja) 共用フローグラフに基づく離散コサイン変換のための回路
JP2698835B2 (ja) バタフライ演算装置
JP3895031B2 (ja) 行列ベクトル乗算器
KR100536703B1 (ko) 영상용 색신호 변환 장치 및 그 방법
KR20050084345A (ko) 변환기, 디지털 텔레비전 수신기, 변환 방법 및 컴퓨터프로그램
KR960014197B1 (ko) 파이프라인 분산연산을 이용한 8×8 이차원 이산여현 변환/역변환 처리장치
US6535646B2 (en) Discrete cosine transform method and apparatus
KR940017139A (ko) 디지탈 정현파 발생회로
KR100243096B1 (ko) 영상 표준의 역양자화 회로
KR960012598B1 (ko) 디지탈 색 공간 변환회로
Bang On the Bernstein-Nikolsky Inequality II
KR0156134B1 (ko) 에이치디티브이의 움직임 벡터 디코더
KR950007278A (ko) 대역 통합 필터
JP6190130B2 (ja) 色信号変換装置、色信号復元装置、及びプログラム

Legal Events

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

Payment date: 20070514

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee