KR100563493B1 - 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법 - Google Patents

입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법 Download PDF

Info

Publication number
KR100563493B1
KR100563493B1 KR1019990047735A KR19990047735A KR100563493B1 KR 100563493 B1 KR100563493 B1 KR 100563493B1 KR 1019990047735 A KR1019990047735 A KR 1019990047735A KR 19990047735 A KR19990047735 A KR 19990047735A KR 100563493 B1 KR100563493 B1 KR 100563493B1
Authority
KR
South Korea
Prior art keywords
matrix
dimensional
discrete cosine
data
cosine transform
Prior art date
Application number
KR1019990047735A
Other languages
English (en)
Other versions
KR20010029406A (ko
Inventor
곽진석
이명호
안치득
Original Assignee
브이케이 주식회사
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브이케이 주식회사, 한국전자통신연구원 filed Critical 브이케이 주식회사
Publication of KR20010029406A publication Critical patent/KR20010029406A/ko
Application granted granted Critical
Publication of KR100563493B1 publication Critical patent/KR100563493B1/ko

Links

Images

Classifications

    • 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/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 일차원 또는 이차원, 순방향 또는 역방향 고속 이산 여현 변환(DCT)의 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 함으로써 추가적인 메모리를 요구하지 않도록 한 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하기 위한 입력 데이터 순서 교체 수단; 상기 입력 데이터 순서 교체 수단에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및 상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 디지털 신호의 변환 및 역변환 등에 이용됨.
입출력 데이터의 위치, 동일 위치, 이산 여현 변환, DCT, 추가 메모리

Description

입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법{Fast discrete cosine transform apparatus and method with the same positions of input data and the corresponding output data}
도 1 은 본 발명에 따른 일차원 또는 이차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 일예시도.
도 2 는 본 발명에 따른 일차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에서의 일실시예 데이터 흐름도(N=8).
도 3 은 본 발명에 따른 일차원 또는 이차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 일예시도.
도 4 는 본 발명에 따른 일차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에서의 일실시예 데이터 흐름도(N=8).
도 5 는 본 발명에 따른 이차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 다른 예시도.
도 6 은 본 발명에 따른 이차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 다른 예시도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 입력 데이터 순서 교체부 12,32 : 버터플라이 연산부
13,31 : 반복 덧셈 및 정규화 연산부 33 : 출력 데이터 순서 교체부
51 : 입력 데이터의 행순서 및 열순서 교체부
52 : 열방향 및 행방향 이산 여현 변환부
본 발명은 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 디지털 신호를 변환 또는 역변환하기 위해 일차원 또는 이차원, 순방향 또는 역방향 이산 여현 변환(DCT : Discrete Cosine Transform, 이하 "DCT"라 함)을 사용하는 경우에 요구되는 연산량을 효과적으로 감소시키는 동시에 연산 중간 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않도록 한 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
일차원 또는 이차원, 순방향 또는 역방향 DCT를 구현하기 위한 종래의 고속 연산 방법으로는 "Sican GmbH"가 1998년 11월 3일에 미국에서 제5,831,881호로 특허등록을 받은 "순방향/역방향 이산 여현 변환 방법 및 장치(Method and Circuit for forward/inverse discrete cosine transform)"와 "후지쯔사"가 1998년 2월 17일 미국에서 제5,719,963호로 특허등록을 받은 "이차원 이산 여현 변환 연산 장치(Two-dimensional discrete cosine transform computing circuit)와 "산요사"가 1998년 5월 5일에 미국에서 제5,748,514호로 특허등록을 받은 "순방향 및 역방향 이산 여현 변환 장치(Forward and inverse Discrete cosine transform circuits) 등이 있다.
전술한 종래의 방법들은, 이산 여현 변환을 고속으로 수행하기 위하여 입력 데이터의 순서를 교체하는 과정, 버터플라이 연산 과정, 반복 덧셈 연산 과정 및 출력 데이터의 순서를 교체하는 과정 등을 포함한다.
따라서, 상기 종래의 방법들은 많은 연산 과정을 거치기 때문에 연산량이 많은 문제점이 있었다.
특히, 상기 종래의 방법들은 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하지 않아 일차원 또는 이차원, 순방향 또는 역방향 DCT를 구현하기 위해서 추가적인 메모리를 사용해야 하는 문제점이 있었다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 일차원 또는 이차원, 순방향 또는 역방향 고속 이산 여현 변환(DCT)의 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 함으로써 추가적인 메모리를 요구하지 않도록 한 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
또한, 본 발명은, 일차원 또는 이차원, 순방향 또는 역방향 이산 여현 변환(DCT : Discrete Cosine Transform)을 사용하는 경우에 요구되는 연산량을 효과적으로 감소시킨 고속 이산 여현 변환 연산 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 제1 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하기 위한 입력 데이터 순서 교체 수단; 상기 입력 데이터 순서 교체 수단에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및 상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제1 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 고속 이산 여현 변환 연산 방법에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하는 제 1 단계; 상기 제 1 단계에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및 상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제2 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 외부로부터 입력되는 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단; 상기 반복 덧셈 및 정규화 연산 수단에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및 상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하기 위한 출력 데이터 순서 교체 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제2 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서, 외부로부터 입력되는 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 단계; 상기 제 1 단계에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및 상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제3 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하기 위한 입력 데이터 행순서/열순서 교체 수단; 및 상기 입력 데이터 행순서/열순서 교체 수단에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 입력 데이터 행순서/열순서 교체 수단에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하기 위한 열방향/행방향 이산 여현 변환 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제3 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하는 제 1 단계; 및 상기 제 1 단계에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 제 1 단계에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 제 2 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제4 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하기 위한 열방향/행방향 이산 여현 역변환 수단; 및 상기 열방향/행방향 이산 여현 역변환 수단에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하기 위한 출력 데이터 행순서/열순서 교체 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제4 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서, 외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 제 1 단계; 및 상기 제 1 단계에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하는 제 2 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제5 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하기 위한 입력 데이터 순서 교체 수단; 상기 입력 데이터 순서 교체 수단에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및 상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제5 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서, 교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하는 제 1 단계; 상기 제 1 단계에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및 상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 제6 장치는, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서, 외부로부터 입력되는 이차원 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단; 상기 반복 덧셈 및 정규화 연산 수단에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및 상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하기 위한 출력 데이터 순서 교체 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 제6 방법은, 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서, 외부로부터 입력되는 이차원 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 단계; 상기 제 1 단계에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및 상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하는 제 3 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 교체행렬 E를 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하는 제 1 기능; 상기 제 1 기능에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해 Gt-1Bt-1·Gt-2Bt-2…G0B0 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및 상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 FkQ0Q1…Qt-1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 외부로부터 입력되는 입력 데이터에 대해 Qt-1 T·Qt-2 T…Q0 T·Fk 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 기능; 상기 제 1 기능에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해 B0G0·B1G1…Bt-1Gt-1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및 상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하는 제 1 기능; 및 상기 제 1 기능에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해
Figure 112006005931884-pat00081
행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 제 1 기능에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해
Figure 112006005931884-pat00082
행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 제 2 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해
Figure 112006005931884-pat00083
행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해
Figure 112006005931884-pat00084
행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 제 1 기능; 및 상기 제 1 기능에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하는 제 2 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 교체행렬
Figure 112006005931884-pat00085
을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하는 제 1 기능; 상기 제 1 기능에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해
Figure 112006005931884-pat00086

행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및 상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해
Figure 112006005931884-pat00087
행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
삭제
삭제
또한, 본 발명은, 프로세서를 구비한 고속 이산 여현 변환 연산 장치에, 외부로부터 입력되는 이차원 입력 데이터에 대해
Figure 112006005931884-pat00088
행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 기능; 상기 제 1 기능에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해
Figure 112006005931884-pat00089

행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및 상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해
Figure 112006005931884-pat00090
교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
삭제
삭제
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
본 발명에서는, 일차원 순방향 고속 DCT 연산 장치 및 그 방법과, 일차원 역방향 고속 DCT 연산 장치 및 그 방법과, 이차원 순방향 고속 DCT 연산 장치 및 그 방법(I)과, 이차원 역방향 고속 DCT 연산 장치 및 그 방법(I)과, 이차원 순방향 고속 DCT 연산 장치 및 그 방법(II)과, 이차원 역방향 고속 DCT 연산 장치 및 그 방법(II)을 제안한다. 상기 각 방식에 대한 구체적인 실시예를 상세히 살펴보면 다음과 같다.
1. 일차원 순방향 고속 이산 여현 변환(DCT) 장치 및 그 방법
일차원 순방향 고속 DCT 연산 장치 및 그 방법은, 먼저 교체행렬 E에 의한 입력 데이터 순서 교체부(11)에서 입력 데이터의 순서를 교체하는 제 1 과정, 상기 제 1 과정에서 순서가 교체된 입력 데이터에 대해 버터플라이 연산부(12)에서 버터플라이 연산을 반복해서 수행하는 제 2 과정 및 상기 제 2 과정에서 얻어진 데이터에 대해 반복 덧셈 및 정규화부(13)에서 반복 덧셈 및 정규화 연산을 수행하는 제 3 과정을 포함한다.
이하, 본 발명의 일실시예로서 입력 데이터의 길이 N이 2t으로 주어지는 일차원 순방향 고속 DCT 연산 장치 및 그 방법에 관하여 첨부된 도면을 참조하면서 상세히 설명하면 다음과 같다.
먼저, N개의 데이터로 구성된 1차원 입력 및 출력 열벡터를 각각 [x(n)]T와 [X(k)]T라 하면, 일차원 순방향 DCT는 행렬식으로 아래의 (수학식1)과 같이 표현된다. 본 발명에서 위첨자 T는 전치 행렬을 나타내며, 위첨자 -1은 역행렬을 나타낸다.
Figure 112006005931884-pat00015
삭제
N이 2t(t는 임의의 자연수)으로 주어지는 경우에 (수학식1)의 일차원 순방향 DCT로부터 요구되는 연산량을 효과적으로 감소시키는 동시에 연산 중간 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 함으로써, 추가적인 메모리를 요구하지 않는 일차원 순방향 고속 DCT 방식은 아래의 (수학식2)와 같이 표현될 수 있다.
Figure 112006005931884-pat00091
Figure 112006005931884-pat00092
상기 (수학식2)에서 사용된 행렬 및 연산 기호들은 다음과 같이 정의된다.
정의 1. 교체행렬 EN과 SN은 각각 다음과 같이 정의된다.
Figure 111999013981945-pat00018
정의 2. 반복 덧셈 연산 행렬 RN은 다음과 같이 정의된다.
i) t=1
R2=I2
ii) t>1
RN·[x(n)]T=[x(0),x(1),...,x(N/2-1),2x(N/2),x(N/2+1)x(N/2),.
..,x(N-1)+x(N-2)]T
정의 3. 연산 기호
Figure 112006005931884-pat00019
은 다음과 같이 정의된다.
[AMxN](i,j)=ai,j라 할 때,
Figure 112006005931884-pat00020

정의 4. 행렬 IN은 다음과 같이 정의된다.
[IN](i,j)=1(i=j) 또는 0(i≠j). 여기서 i와 j는 0, 1, ..., N-1이다.
정의 5. 연산 기호 ∏는 다음과 같이 정의된다. Ai를 i번째 행렬이라 하면
Figure 112006005931884-pat00093
도 1 은 본 발명에 따른 일차원 또는 이차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 일예시도이다.
여기서는 일차원 순방향 고속 DCT 장치 및 그 방법에 대하여 살펴보고, 이차 원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대해서는 후술하기로 한다. 도 1 을 참조하여 상기 (수학식2)의 일차원 순방향 고속 DCT 방식을 자세히 설명하면 다음과 같다.
먼저, 도 1 에 도시된 바와 같이 차례대로 입력되는 N개의 입력 데이터인 x(n)(n=0, 1,…, N-1)은 입력 교체행렬 E에 의해 순서가 교체되며, 결과적으로 순서가 교체된 N개의 데이터 x0(m)(m=0, 1,…, N-1)를 발생시킨다. 참고로, 입력 데이터 x(n)(n=0, 1,…, N-1)과 순서가 교체된 데이터인 x0(m)(m=0, 1,…, N-1)과의 관계는 상기 정의 1에서 보여진 바와 같다.
다음으로 입력 순서가 교체된 데이터인 x0(m)(m = 0, 1,…, N-1)는 도 1 에 도시된 바와 같이 Gt-1Bt-1·Gt-2Bt-2…G0B0 행렬에 의한 버터플라이 연산을 위한 입력 데이터로 사용된다. 이 과정에서 버터플라이 연산은 모두 t번이 수행되며, q (q=0,1,…,t-1)번째 버터플라이 연산을 위해서는 GqBq가 사용된다. 즉, 첫번째 버터플라이 연산을 위해서는 G0B0가 사용되며, 마지막 버터플라이 연산을 위해서는 Gt-1Bt-1이 사용된다.
다음으로 t번의 버터플라이 연산이 모두 수행된 결과로 발생된 데이터인 xt(m)(m = 0, 1,…, N-1)은 도 1 에 도시된 바와 같이 FkQ0Q1…Qt-1 행렬에 의한 반복 덧셈 연산을 위한 입력 데이터로 사용된다. 이 과정에서 반복 덧셈 연산은 모두 t번이 수행되며, q(q=0,1,…,t-1)번째 반복 덧셈 연산을 위해서는 Qq가 사용된다. 즉, 첫번째 반복 덧셈 연산을 위해서는 Qt-1이 사용되며, 마지막 반복 덧셈 연산을 위해서는 Q0가 사용된다. 이 반복 덧셈 연산 과정에서 Fk에 의한 정규화 연산이 함께 수행된다.
도 2 는 본 발명에 따른 일차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에서의 일실시예 데이터 흐름도로서, 입력 데이터의 길이 N이 8로 주어지는 일차원 순방향 고속 DCT 방식에서의 데이터 흐름을 나타낸다.
먼저, 입력 데이터의 길이 N이 8인 경우에 차례대로 입력되는 입력 데이터는 입력 교체행렬 E에 의해 도 2 의 첫번째 과정과 같이 순서가 교체된다. 다음으로, 순서가 교체된 데이터에 대해 버터플라이 연산 과정이 수행된다. 이 버터플라이 연산 과정에서는 B0, G0, B1, G1, B2, G2에 의한 연산 과정이 차례대로 적용된다. 다음으로 버터플라이 연산 과정이 수행된 결과로 발생된 데이터에 대해 FkQ0Q1Q 2 행렬을 사용하는 반복 덧셈 및 정규화 연산 과정이 수행되며, 결과적으로 차례대로 정렬된 최종 출력 데이터가 발생된다.
2. 일차원 역방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법
일차원 역방향 고속 DCT 연산 장치 및 그 방법은, 먼저 입력 데이터에 대해 반복 덧셈 및 정규화부(31)에서 반복 덧셈 및 정규화 연산을 수행하는 제 1 과정, 상기 제 1 과정에서 반복 덧셈 및 정규화 연산이 수행된 데이터에 대해 버터플라이 연산부(32)에서 버터플라이 연산을 반복하여 수행하는 제 2 과정 및 상기 제 2 과정에서 얻어진 데이터에 대해 출력 데이터 순서 교체부(33)에서 출력 교체 연산을 수행하는 제 3 과정을 포함한다.
이하, 본 발명의 일실시예로서 입력 데이터의 길이 N이 2t으로 주어지는 일차원 역방향 고속 DCT 연산 장치 및 그 방법에 관하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
일차원 역방향 고속 DCT 방식에서는, 상기 (수학식2)의 일차원 순방향 고속 DCT 행렬식을 전치함으로써 아래와 같은 (수학식3)을 얻을 수 있다. 그리고, 상기 (수학식2)의 일차원 순방향 고속 DCT 방식과 마찬가지로 (수학식3)의 일차원 역방향 고속 DCT 방식도 연산 중간 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않는 장점이 있다.
Figure 112006005931884-pat00094

상기 (수학식 3)에 사용된 각 파라미터 및 첨자는 상기 (수학식 2)에서 정의한 바와 같다.
도 3 은 본 발명에 따른 일차원 또는 이차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 일예시도이다.
이하, 도 3 을 참조하여 상기 (수학식3)의 일차원 역방향 고속 DCT 방식을 자세히 설명하면 다음과 같다.
먼저, 차례대로 입력되는 N개의 입력 데이터인 X(k)(k = 0, 1,..., N-1)는 도 3 에 도시된 바와 같이 Qt-1 T·Qt-2 T…Q0 T·Fk 행렬에 의한 반복 덧셈 연산을 위한 입력 데이터로 사용된다. 이 과정에서 반복 덧셈 연산은 모두 t번이 수행되며, q(q=0,1,…,t-1)번째 반복 덧셈 연산을 위해서는 Qq T가 사용된다. 즉, 첫번째 반복 덧셈 연산을 위해서는 Q0 T가 사용되며, 마지막 반복 덧셈 연산을 위해서는 Qt-1 T가 사용된다. 이 반복 덧셈 연산 과정에서 Fk에 의한 정규화 연산이 함께 수행된다.
다음으로 반복 덧셈 연산이 수행된 결과로 발생된 데이터인 X0(k)(k = 0, 1,…, N-1)는 도 3 에 도시된 바와 같이 B0G0·B1G1…Bt-1Gt-1 행렬에 의한 버터플라이 연산을 위한 입력 데이터로 사용된다. 이 과정에서 버터플라이 연산은 모두 t번이 수행되며, q(q=0,1,…,t-1)번째 버터플라이 연산을 위해서는 BqGq가 사용된다. 즉, 첫번째 버터플라이 연산을 위해서는 Bt-1Gt-1이 사용되며, 마지막 버터플라이 연산을 위해서는 B0G0가 사용된다. 참고로, 순방향 또는 일차원 역방향 고속 DCT 방식에서 사용되는 행렬들인 Fk, Bq 및 Gq는 Fk = Fk T, Bq = Bq T, Gq = Gq T인 특징을 갖는다.
다음으로 버터플라이 연산이 수행된 결과로 발생된 데인터인 Xt(k)(k = 0, 1,…, N-1)는 도 3 에 도시된 바와 같이 교체행렬 ET에 의해 순서가 교체되며, 결과적으로 차례대로 정렬된 N개의 최종 출력 데이터인 x(n)(n=0, 1,…, N-1)이 얻어진다.
도 4 는 본 발명에 따른 일차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에서의 일실시예 데이터 흐름도로서, 입력 데이터의 길이 N이 8로 주어지는 일차원 역방향 고속 DCT 방식에서의 데이터 흐름을 나타낸다.
입력 데이터의 길이 N이 8인 경우에 차례대로 입력되는 입력 데이터에 대해 먼저 Q2 T·Q1 T·Q0 T·Fk 행렬을 사용하는 반복 덧셈 및 정규화 연산 과정이 수행된다. 다음으로 반복 덧셈 및 정규화 연산이 수행된 결과로 얻어진 데이터에 대해 버터플라이 연산이 수행되며, 이 버터플라이 연산 과정에서는 G2, B2, G1, B1, G0, B0에 의한 연산 과정이 차례대로 적용된다. 다음으로 버터플라이 연산이 수행된 결과로 발생된 데이터에 대해 교체행렬 ET에 의해 출력 데이터의 순서가 교체되며, 결과적으로 차례대로 정렬된 최종 출력 데이터를 얻을 수 있다.
3. 이차원 순방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(I)
이차원 순방향 고속 DCT 연산 장치 및 그 방법(I)은, 먼저 이차원 입력 데이터의 행과 열의 순서를 교체하는 제 1 과정 및 상기 제 1 과정에서 행과 열의 순서가 교체된 이차원 입력 데이터에 대해 행 및 열 방향으로 일차원 순방향 고속 DCT를 적용하는 제 2 과정을 포함한다.
이하, 본 발명의 일실시예로서 N×N(N=2t) 이차원 입력 데이터에 대한 이차원 순방향 고속 DCT 연산 장치 및 그 방법(I)에 관하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
이차원 순방향 고속 DCT 방식(I)은 상기 (수학식2)의 일차원 순방향 고속 DCT 행렬식을 구성하는 행렬들을 이용하여 아래의 (수학식4)와 같이 얻어질 수 있으며, 본 발명의 일차원 고속 DCT 방식과 마찬가지로 아래 (수학식4)의 이차원 순방향 고속 DCT 방식(I)도 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않는 장점이 있다.
아래의 (수학식4)에서 [x(n1,n2)]와 [X(k1,k2)]는 각각 N×N개의 데이터를 갖는 이차원 입력 및 출력 데이터를 나타낸다. 그리고, n1과 k1은 각각 이차원 입력 및 출력 데이터의 행 위치를 나타내며, n2와 k2는 각각 이차원 입력 및 출력 데이터의 열 위치를 나타낸다.
Figure 112006005931884-pat00095

여기서, n1,n2 = 0,1,…,N-1이고, k1,k2 = 0,1,…,N-1이다.
도 5 는 본 발명에 따른 이차원 순방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 다른 예시도이다.
이하, 도 5 를 참조하여 상기 (수학식4)의 이차원 순방향 고속 DCT 방식(I)을 자세히 설명하면 다음과 같다.
먼저, 차례대로 입력되는 N×N개의 입력 데이터인 x(n1, n2)(n1, n2 = 0, 1,…, N-1)는 도 5 에 도시된 바와 같이 교체행렬 E와 ET에 의해 행과 열이 각각 교체 된다. 즉, 교체행렬 E에 의해서는 입력 데이터 x(n1, n2)의 행이 교체되며, 교체행렬 ET에 의해서는 입력 데이터 x(n1, n2)의 열이 교체된다.
다음으로 교체행렬에 의해 행과 열이 각각 교체된 데이터인 x0(n1, n2) = E·x(n1, n2)ET에 대해 이차원 DCT가 수행된다. 이때, 상기 (수학식4)의 우변에서 교체행렬에 의해 행과 열이 각각 교체된 데이터인 x0(n1, n2) = E·x(n1, n2)ET를 기준으로 좌변에 있는 행렬들인
Figure 112006005931884-pat00096
에 의해서는 행방향 데이터들에 대한 일차원 순방향 DCT가 수행되며, 우변에 있는 행렬들인
Figure 112006005931884-pat00097
에 의해서는 열방향 데이터들에 대한 일차원 순방향 DCT가 수행되어 최종적으로 이차원 순방향 이산여현 변환(DCT)된 출력 데이터인 X(k1, k2)(k1, k2 = 0, 1,…, N-1)가 차례대로 얻어진다.
4. 이차원 역방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(I)
이차원 역방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(I)은, 먼저 이차원 입력 데이터에 대해 행 및 열 방향으로 일차원 순방향 고속 DCT를 적용하는 제 1 과정 및 상기 제 1 과정에서 얻어진 이차원 데이터에 대해 행과 열의 순서를 교체하는 제 2 과정을 포함한다.
이하, 본 발명의 일실시예로서 N×N(N=2t) 이차원 입력 데이터에 대한 이차원 역방향 고속 DCT 연산 장치 및 그 방법(I)에 관하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
이차원 역방향 고속 DCT 방식(I)은 상기 (수학식2)의 일차원 순방향 고속 DCT 행렬식을 구성하는 행렬들을 이용하여 아래의 (수학식5)와 같이 얻어질 수 있으며, 본 발명의 일차원 고속 DCT 방식과 마찬가지로 아래 (수학식5)의 이차원 역방향 고속 DCT 방식(I)도 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않는 장점이 있다.
아래의 (수학식5)에서 [x(n1,n2)]와 [X(k1,k2)]는 각각 N×N개의 데이터를 갖는 이차원 출력 및 입력 데이터를 나타낸다. 그리고, n1과 k1은 각각 이차원 출력 및 입력 데이터의 행 위치를 나타내며, n2와 k2는 각각 이차원 출력 및 입력 데이터의 열 위치를 나타낸다.
Figure 112006005931884-pat00098

여기서, n1,n2 = 0,1,…,N-1이고, k1,k2 = 0,1,…,N-1이다.
도 6 은 본 발명에 따른 이차원 역방향 고속 이산 여현 변환 연산 장치 및 그 방법에 대한 다른 예시도이다.
이하, 도 6 을 참조하여 (수학식5)의 이차원 역방향 고속 DCT 방식(I)을 자세히 설명하면 다음과 같다.
먼저, 도 6 에 도시된 바와 같이 상기 (수학식5)의 우변에서 입력 데이터인 X(k1, k2)을 기준으로 좌변에 있는 행렬들인
Figure 112006005931884-pat00099
에 의해서는 입력 데이터인 X(k1, k2)의 행방향 데이터들에 대한 일차원 역방향 DCT가 수행되며, 입력 데이터인 X(k1, k2)을 기준으로 우변에 있는 행렬들인
Figure 112006005931884-pat00100
에 의해서는 입력 데이터인 X(k1, k2)의 열방향 데이터들에 대한 일차원 역방향 DCT가 수행되어 최종적으로 이차원 역방향 이산 여현 변환(DCT)된 출력 데이터인 X0(k1, k2)(k1, k2 = 0, 1,…, N-1)가 차례대로 얻어진다.
다음으로, 이차원 역방향 이산 여현 변환(DCT)된 결과로 발생된 데이터인 X0(k1, k2)에 대해 (수학식5)의 우변에 있는 첫번째 교체행렬인 ET를 이용하여 X0(k1, k2)의 행을 교체하고, (수학식5)의 우변에 있는 마지막 교체행렬인 E를 이용하여 X0(k1, k2)의 열을 교체한다. 이 행과 열의 교체 과정을 수행함으로써 차례대로 정렬된 최종 출력 데이터인 x(n1, n2)(n1, n2 = 0, 1,…, N-1)를 얻을 수 있다.
5. 이차원 순방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(II)
이차원 순방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(II)은, 먼저 이차원 입력 데이터의 행과 열의 순서를 교체하는 제 1 과정, 상기 제 1 과정에서 행과 열의 순서가 교체된 이차원 입력 데이터에 대해 버터플라이 연산을 반복하여 수행하는 제 2 과정 및 상기 제 2 과정에서 얻어진 데이터에 대해 반복 덧셈 및 정규화 연산을 수행하는 제 3 과정을 포함한다.
이하, 본 발명의 일실시예로서 N×N(N=2t) 이차원 입력 데이터에 대한 이차원 순방향 고속 DCT 연산 장치 및 그 방법(I)에 관하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
이차원 순방향 고속 DCT 방식(II)은, 상기 (수학식2)의 일차원 순방향 고속 DCT 행렬식을 구성하는 행렬들과 행렬 연산자인
Figure 112003032985622-pat00028
의 성질을 이용하여 아래의 (수학식6)과 같이 얻어질 수 있으며, 본 발명의 일차원 고속 DCT 방식과 마찬가지로 아래 (수학식6)의 이차원 순방향 고속 DCT 방식(II)도 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않는 장점이 있으며, 또한 이차원 순방향 고속 DCT 방식(I)에 비해 곱셈의 수가 25퍼센트 감소되는 장점이 있다.
아래 (수학식6)에서 [x(n1N+n2)]T와 [X(k1N+k2)] T는 각각 N×N개의 데이터를 갖는 이차원 입력 및 출력 데이터가 행방향으로 순서대로 위치한 입력 및 출력 열벡터를 나타낸다. 그리고, n1과 k1은 각각 이차원 입력 및 출력 데이터의 행 위치를 나타내며, n2와 k2는 각각 이차원 입력 및 출력 데이터의 열 위치를 나타낸다.
Figure 112006005931884-pat00101

여기서, n1,n2 = 0,1,…,N-1이고, k1,k2 = 0,1,…,N-1이다.
상기 (수학식6)에 의한 이차원 순방향 고속 DCT 연산 장치 및 방법(II)은 전술한 도 1 의 구성 및 동작과 유사하므로, 도 1 을 참조하여 (수학식6)에 의한 이차원 순방향 고속 DCT 방식(II)을 자세히 설명하면 다음과 같다.
먼저, 차례대로 입력되는 N×N개의 입력 데이터인 x(n1, n2)(n1, n2 = 0, 1,..., N-1)는 교체행렬 (ST
Figure 112006005931884-pat00030
ST)(EN
Figure 112006005931884-pat00031
EN)을 이용한 행과 열의 교체 연산 과정이 수행된다. 다음으로 교체행렬 (ST
Figure 112006005931884-pat00032
ST)(EN
Figure 112006005931884-pat00033
EN)에 의해 행과 열이 각각 교체된 데이터인 x0(n1, n2)에 대해 (수학식6)의 우변에 있는 행렬들인
Figure 112006005931884-pat00102
를 이용한 버터플라이 연산이 수행된다. 이 과정에서 모두 t번의 버터플라이 연산이 수행되며, 첫번째 과정에서는 행렬
Figure 112003032985622-pat00035
를 이용한 버터플라이 연산이 수행되고, t번째 과정에서는 행렬
Figure 112003032985622-pat00036
를 이용한 버터플라이 연산이 수행된다.
다음으로 버퍼플라이 연산 과정에 의해 얻어진 결과 데이터인 xt(n1, n2)에 대해 (수학식6)에서 보여지는 행렬인
Figure 112006005931884-pat00103
을 이용한 반복 덧셈 및 정규화 연산이 수행되어 최종적으로 이차원 순방향 이산 여현 변환(DCT)된 출력 데이터인 X(k1, k2)(k1, k2 = 0, 1,..., N-1)가 차례대로 얻어진다.
6. 이차원 역방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(II)
이차원 역방향 고속 이산 여현 변환(DCT) 연산 장치 및 그 방법(II)은, 먼저 이차원 입력 데이터에 대해 반복 덧셈 및 정규화 연산을 수행하는 제 1 과정, 상기 제 1 과정에서 반복 덧셈 및 정규화 연산이 수행된 이차원 데이터에 대해 버터플라이 연산을 반복해서 수행하는 제 2 과정 및 상기 제 2 과정에서 얻어진 이차원 데이터에 대해 출력 교체 연산을 수행하는 제 3 과정을 포함한다.
이하, 본 발명의 일실시예로서 N×N(N=2t) 이차원 입력 데이터에 대한 이차원 역방향 고속 DCT 연산 장치 및 그 방법(II)에 관하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
이차원 역방향 고속 DCT 방식(II)은, 상기 (수학식2)의 일차원 순방향 고속 DCT 행렬식을 구성하는 행렬들과 행렬 연산자인
Figure 111999013981945-pat00038
의 성질을 이용하여 아래의 (수학식7)과 같이 얻어질 수 있으며, 본 발명의 일차원 고속 DCT 방식과 마찬가지로 아래 (수학식7)의 이차원 역방향 고속 DCT 방식(II)도 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하여 추가적인 메모리를 요구하지 않는 장점이 있으며, 또한 이차원 역방향 고속 DCT 방식(I)에 비해 곱셈의 수가 25퍼센트 감소되는 장점이 있다.
아래 (수학식7)에서 [x(n1N+n2)]T와 [X(k1N+k2)] T는 각각 N×N개의 데이터를 갖는 이차원 출력 및 입력 데이터가 행방향으로 순서대로 위치한 출력 및 입력 열벡터를 나타낸다. 그리고, n1과 k1은 각각 이차원 출력 및 입력 데이터의 행 위치를 나타내며, n2와 k2는 각각 이차원 출력 및 입력 데이터의 열 위치를 나타낸다.
Figure 112006005931884-pat00104

여기서, n1,n2 = 0,1,…,N-1이고, k1,k2 = 0,1,…,N-1이다.
상기 (수학식7)에 의한 이차원 역방향 고속 DCT 연산 장치 및 그 방법(II)은 전술한 도 3 의 구성 및 동작과 유사하므로, 도 3 을 참조하여 (수학식7)에 의한 이차원 역방향 고속 DCT 방식을 자세히 설명하면 다음과 같다.
먼저, 차례대로 입력되는 N×N개의 입력 데이터인 X(k1, k2)(k1, k2 = 0, 1,..., N-1)에 대해 (수학식7)에서 보여지는 행렬들인
Figure 112006005931884-pat00105
를 이용하여 정규화 및 반복 덧셈 연산이 수행된다. 다음으로 정규화 및 반복 덧셈 연산이 수행된 결과로 발생된 데이터인 X0(k1, k2)에 대해 (수학식7)에서 보여지는 행렬들인
Figure 112006005931884-pat00106
를 이용한 버터플라이 연산이 수행된다. 이 과정에서 모두 t번의 버터플라이 연산 과정이 수행되며, 첫번째 과정에서는 행렬
Figure 112003032985622-pat00042
를 이용한 버터플라이 연산이 수행되고, t번째 과정에서는 행렬
Figure 112003032985622-pat00043
를 이용한 버터플라이 연산이 수행된다.
다음으로 버터플라이 연산이 수행된 결과로 발생된 데이터인 Xt(k1, k2)에 대해 (수학식7)에서 보여지는 교체행렬인
Figure 112006005931884-pat00044
를 이용한 교체 연산 과정이 수행되어 최종적으로 이차원 역방향 이산 여현 변환(DCT)된 출력 데이터인 x(n1, n2)(n1, n2 = 0, 1,..., N-1)가 차례대로 얻어진다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같은 본 발명은, 일차원 또는 이차원의 순방향 또는 역방향 고속 이산 여현 변환(DCT : Discrete Cosine Transform)의 중간 연산 과정에서 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하여 입출력 데이터의 위치가 서로 다를 경우에 요구되는 추가적인 메모리를 사용하지 않고 순방향 및 역방향 DCT를 효과적으로 수행할 수 있는 효과가 있다.
또한, 본 발명은 이차원 DCT 변환 방식의 경우에 중간 연산 과정에서 데이터 순서 교체를 필요로 하지 않으므로 기존 발명에서 필요로 하는 위치교체(transposition) 메모리를 요구하지 않는 장점이 있다.

Claims (42)

  1. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하기 위한 입력 데이터 순서 교체 수단;
    상기 입력 데이터 순서 교체 수단에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및
    상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단
    을 포함하는 일차원 순방향 고속 이산 여현 변환 연산 장치.
  2. 제 1 항에 있어서,
    상기 버터플라이 연산 수단에서 사용되는 제1 행렬은,
    Gt-1Bt-1Gt-2Bt-2…G0B0 인 것을 특징으로 하는 일차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00107
    이고, 위첨자 T는 전치행렬을 나타냄.)
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 반복 덧셈 및 정규화 연산 수단에서 사용되는 제2 행렬은,
    FkQ0Q1…Qt-1 인 것을 특징으로 하는 일차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00108
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  4. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 고속 이산 여현 변환 연산 방법에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하는 제 1 단계;
    상기 제 1 단계에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및
    상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 단계
    를 포함하는 일차원 순방향 고속 이산 여현 변환 연산 방법.
  5. 제 4 항에 있어서,
    상기 제 2 단계에서 사용되는 제1 행렬은,
    Gt-1Bt-1Gt-2Bt-2…G0B0 인 것을 특징으로 하는 일차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00109
    이고, 위첨자 T는 전치행렬을 나타냄.)
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 제 3 단계에서 사용되는 제2 행렬은,
    FkQ0Q1…Qt-1 인 것을 특징으로 하는 일차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00110
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  7. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    외부로부터 입력되는 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단;
    상기 반복 덧셈 및 정규화 연산 수단에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및
    상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하기 위한 출력 데이터 순서 교체 수단
    을 포함하는 일차원 역방향 고속 이산 여현 변환 연산 장치.
  8. 제 7 항에 있어서,
    상기 반복 덧셈 및 정규화 연산 수단에서 사용되는 제1 행렬은,
    Qt-1 T·Qt-2 T…Q0 T·Fk 인 것을 특징으로 하는 일차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00111
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 버터플라이 연산 수단에서 사용되는 제2 행렬은,
    B0G0·B1G1…Bt-1Gt-1 인 것을 특징으로 하는 일차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00112
    이고, 위첨자 T는 전치행렬을 나타냄.)
  10. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서,
    외부로부터 입력되는 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 단계;
    상기 제 1 단계에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및
    상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하는 제 3 단계
    를 포함하는 일차원 역방향 고속 이산 여현 변환 연산 방법.
  11. 제 10 항에 있어서,
    상기 제 1 단계에서 사용되는 제1 행렬은,
    Qt-1 T·Qt-2 T…Q0 T·Fk 인 것을 특징으로 하는 일차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00113
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 제 2 단계에서 사용되는 제1 행렬은,
    B0G0·B1G1…Bt-1Gt-1 인 것을 특징으로 하는 일차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00114
    이고, 위첨자 T는 전치행렬을 나타냄.)
  13. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하기 위한 입력 데이터 행순서/열순서 교체 수단; 및
    상기 입력 데이터 행순서/열순서 교체 수단에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 입력 데이터 행순서/열순서 교체 수단에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하기 위한 열방향/행방향 이산 여현 변환 수단
    을 포함하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
  14. 제 13 항에 있어서,
    상기 열방향/행방향 이산 여현 변환 수단에서 행방향 데이터에 대해
    Figure 112006005931884-pat00115
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00116
    Figure 112006005931884-pat00117
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 열방향/행방향 이산 여현 변환 수단에서 열방향 데이터에 대해
    Figure 112006005931884-pat00118
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00119
    Figure 112006005931884-pat00120
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  16. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하는 제 1 단계; 및
    상기 제 1 단계에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 제 1 단계에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 제 2 단계
    를 포함하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
  17. 제 16 항에 있어서,
    상기 제 2 단계에서 행방향 데이터에 대해
    Figure 112006005931884-pat00121
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00122
    Figure 112006005931884-pat00123
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  18. 제 16 항 또는 제 17 항에 있어서,
    상기 제 2 단계에서 열방향 데이터에 대해
    Figure 112006005931884-pat00124
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00125
    Figure 112006005931884-pat00126
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  19. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하기 위한 열방향/행방향 이산 여현 역변환 수단; 및
    상기 열방향/행방향 이산 여현 역변환 수단에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하기 위한 출력 데이터 행순서/열순서 교체 수단
    을 포함하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
  20. 제 19 항에 있어서,
    상기 열방향/행방향 이산 여현 역변환 수단에서 행방향 데이터에 대해
    Figure 112006005931884-pat00127
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00128
    Figure 112006005931884-pat00129
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  21. 제 19 항 또는 제 20 항에 있어서,
    상기 열방향/행방향 이산 여현 역변환 수단에서 열방향 데이터에 대해
    Figure 112006005931884-pat00130
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00131
    Figure 112006005931884-pat00132
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  22. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서,
    외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 제 1 단계; 및
    상기 제 1 단계에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하는 제 2 단계
    를 포함하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
  23. 제 22 항에 있어서,
    상기 제 1 단계에서 행방향 데이터에 대해
    Figure 112006005931884-pat00133
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00134
    Figure 112006005931884-pat00135
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  24. 제 22 항 또는 제 23 항에 있어서,
    상기 제 1 단계에서 열방향 데이터에 대해
    Figure 112006005931884-pat00136
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00137
    Figure 112006005931884-pat00138
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  25. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하기 위한 입력 데이터 순서 교체 수단;
    상기 입력 데이터 순서 교체 수단에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및
    상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단
    을 포함하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
  26. 제 25 항에 있어서,
    상기 버터플라이 연산 수단에서 사용되는 제1 행렬은,
    Figure 112006005931884-pat00139
    인 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00140
    이고, 위첨자 T는 전치행렬을 나타냄.)
  27. 제 25 항 또는 제 26 항에 있어서,
    상기 반복 덧셈 및 정규화 연산 수단에서 사용되는 제2 행렬은,
    Figure 112006005931884-pat00141
    인 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  28. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서,
    교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하는 제 1 단계;
    상기 제 1 단계에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및
    상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 단계
    를 포함하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
  29. 제 28 항에 있어서,
    상기 제 2 단계에서 사용되는 제1 행렬은,
    Figure 112006005931884-pat00143
    인 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00144
    이고, 위첨자 T는 전치행렬을 나타냄.)
  30. 제 28 항 또는 제 29 항에 있어서,
    상기 제 3 단계에서 사용되는 제2 행렬은,
    Figure 112006005931884-pat00145
    인 것을 특징으로 하는 이차원 순방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00146
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  31. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 있어서,
    외부로부터 입력되는 이차원 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하기 위한 반복 덧셈 및 정규화 연산 수단;
    상기 반복 덧셈 및 정규화 연산 수단에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하기 위한 버터플라이 연산 수단; 및
    상기 버터플라이 연산 수단에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하기 위한 출력 데이터 순서 교체 수단
    을 포함하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
  32. 제 31 항에 있어서,
    상기 반복 덧셈 및 정규화 연산 수단에서 사용되는 제1 행렬은,
    Figure 112006005931884-pat00147
    인 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00148
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  33. 제 31 항 또는 제 32 항에 있어서,
    상기 버터플라이 연산 수단에서 사용되는 제2 행렬은,
    Figure 112006005931884-pat00149
    인 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 장치.
    (여기서,
    Figure 112006005931884-pat00150
    이고, 위첨자 T는 전치행렬을 나타냄.)
  34. 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치에 적용되는 이산 여현 변환 방법에 있어서,
    외부로부터 입력되는 이차원 입력 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 단계;
    상기 제 1 단계에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해, 입력 데이터의 위치와 출력 데이터의 위치가 동일하도록 하기 위한 제2 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 단계; 및
    상기 제 2 단계에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하는 제 3 단계
    를 포함하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
  35. 제 34 항에 있어서,
    상기 제 1 단계에서 사용되는 제1 행렬은,
    Figure 112006005931884-pat00151
    인 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00152
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  36. 제 34 항 또는 제 35 항에 있어서,
    상기 제 2 단계에서 사용되는 제2 행렬은,
    Figure 112006005931884-pat00153
    인 것을 특징으로 하는 이차원 역방향 고속 이산 여현 변환 연산 방법.
    (여기서,
    Figure 112006005931884-pat00154
    이고, 위첨자 T는 전치행렬을 나타냄.)
  37. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    교체행렬을 이용하여 외부로부터 입력되는 입력 데이터의 순서를 교체하는 제 1 기능;
    상기 제 1 기능에서 입력 데이터의 순서가 교체된 결과로 얻어진 데이터에 대해 Gt-1Bt-1·Gt-2Bt-2…G0B0 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및
    상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 FkQ0Q1…Qt-1 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00155
    Figure 112006005931884-pat00156
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  38. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    외부로부터 입력되는 입력 데이터에 대해 Qt-1 T·Qt-2 T…Q0 T·Fk 행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 기능;
    상기 제 1 기능에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 데이터에 대해 B0G0·B1G1…Bt-1Gt-1 행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및
    상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 데이터에 대해 교체행렬을 이용하여 출력 데이터의 순서를 교체하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00157
    Figure 112006005931884-pat00158
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  39. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    교체행렬을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 행과 열의 순서를 각각 교체하는 제 1 기능; 및
    상기 제 1 기능에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 행방향 데이터에 대해
    Figure 112006005931884-pat00159
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하고, 상기 제 1 기능에서 이차원 입력 데이터의 행과 열의 순서가 교체된 결과로 얻어진 열방향 데이터에 대해
    Figure 112006005931884-pat00160
    행렬을 이용하여 일차원 순방향 이산 여현 변환을 수행하는 제 2 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00161
    Figure 112006005931884-pat00162
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  40. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    외부로부터 입력되는 이차원 입력 데이터의 행방향 데이터에 대해
    Figure 112006005931884-pat00163
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하고, 상기 외부로부터 입력되는 이차원 입력 데이터의 열방향 데이터에 대해
    Figure 112006005931884-pat00164
    행렬을 이용하여 일차원 역방향 이산 여현 변환을 수행하는 제 1 기능; 및
    상기 제 1 기능에서 얻어진 이차원 데이터에 대해 교체행렬을 이용하여 행과 열의 순서를 교체하는 제 2 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00165
    Figure 112006005931884-pat00166
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  41. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    교체행렬
    Figure 112006005931884-pat00167
    을 이용하여 외부로부터 입력되는 이차원 입력 데이터의 순서를 교체하는 제 1 기능;
    상기 제 1 기능에서 이차원 입력 데이터의 순서가 교체된 결과로 얻어진 이차원 데이터에 대해
    Figure 112006005931884-pat00168
    행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및
    상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해
    Figure 112006005931884-pat00169
    행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00170
    Figure 112006005931884-pat00171
    Figure 112006005931884-pat00172
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
  42. 프로세서를 구비한 고속 이산 여현 변환 연산 장치에,
    외부로부터 입력되는 이차원 입력 데이터에 대해
    Figure 112006005931884-pat00173
    행렬을 이용하여 반복 덧셈 및 정규화 연산을 수행하는 제 1 기능;
    상기 제 1 기능에서 반복 덧셈 및 정규화 연산의 결과로 얻어진 이차원 데이터에 대해
    Figure 112006005931884-pat00174
    행렬을 이용하여 버터플라이 연산을 수행하는 제 2 기능; 및
    상기 제 2 기능에서 버터플라이 연산이 수행된 결과로 얻어진 이차원 데이터에 대해
    Figure 112006005931884-pat00074
    교체행렬을 이용하여 이차원 출력 데이터의 순서를 교체하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
    (여기서,
    Figure 112006005931884-pat00175
    Figure 112006005931884-pat00176
    Figure 112006005931884-pat00177
    이고, 위첨자 T는 전치행렬을 나타내며, 위첨자 -1은 역행렬을 나타냄.)
KR1019990047735A 1999-09-16 1999-10-30 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법 KR100563493B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019990039946 1999-09-16
KR19990039946 1999-09-16

Publications (2)

Publication Number Publication Date
KR20010029406A KR20010029406A (ko) 2001-04-06
KR100563493B1 true KR100563493B1 (ko) 2006-03-27

Family

ID=19611932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990047735A KR100563493B1 (ko) 1999-09-16 1999-10-30 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법

Country Status (2)

Country Link
US (1) US6742009B1 (ko)
KR (1) KR100563493B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819097B2 (en) * 2011-09-09 2014-08-26 Texas Instruments Incorporated Constant geometry split radix FFT

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257213A (en) * 1991-02-20 1993-10-26 Samsung Electronics Co., Ltd. Method and circuit for two-dimensional discrete cosine transform
US5361220A (en) * 1991-11-29 1994-11-01 Fuji Photo Film Co., Ltd. Discrete cosine transformation with reduced components
KR0126109B1 (ko) * 1994-05-12 1997-12-19 아더 와이.씨. 치아오 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서
JPH1091615A (ja) * 1996-09-18 1998-04-10 Hitachi Ltd 離散コサイン変換/逆変換装置
KR100225496B1 (ko) * 1996-12-31 1999-10-15 김덕중 이산 코사인 변환 코어 구조

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844708A (ja) 1994-07-27 1996-02-16 Fujitsu Ltd 二次元離散コサイン変換演算回路
JP3025750B2 (ja) 1994-11-30 2000-03-27 三洋電機株式会社 離散コサイン変換回路,離散コサイン逆変換回路,mpegビデオエンコーダ,mpegビデオデコーダ
US5831881A (en) 1994-12-02 1998-11-03 Sican Gmbh Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT)
JPH11143860A (ja) * 1997-11-07 1999-05-28 Matsushita Electric Ind Co Ltd 直交変換装置
US6374280B1 (en) * 1998-05-07 2002-04-16 Sarnoff Corporation Computationally efficient inverse discrete cosine transform method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257213A (en) * 1991-02-20 1993-10-26 Samsung Electronics Co., Ltd. Method and circuit for two-dimensional discrete cosine transform
US5361220A (en) * 1991-11-29 1994-11-01 Fuji Photo Film Co., Ltd. Discrete cosine transformation with reduced components
KR0126109B1 (ko) * 1994-05-12 1997-12-19 아더 와이.씨. 치아오 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서
JPH1091615A (ja) * 1996-09-18 1998-04-10 Hitachi Ltd 離散コサイン変換/逆変換装置
KR100225496B1 (ko) * 1996-12-31 1999-10-15 김덕중 이산 코사인 변환 코어 구조

Also Published As

Publication number Publication date
KR20010029406A (ko) 2001-04-06
US6742009B1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
US7218789B2 (en) Method for lossless encoding of image data by approximating linear transforms and preserving selected properties for image processing
US5331585A (en) Orthogonal transformation processor for compressing information
US7117236B2 (en) Parallel adder-based DCT/IDCT design using cyclic convolution
JPH04313157A (ja) 演算処理装置
CN108073549B (zh) 卷积运算装置及方法
US9378186B2 (en) Data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data
JP2964172B2 (ja) Dctマトリクス演算回路
KR100563493B1 (ko) 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법
KR20200022386A (ko) 정보 처리 장치 및 정보 처리 방법
US20010054051A1 (en) Discrete cosine transform system and discrete cosine transform method
JP3645298B2 (ja) シフト及び丸め回路及びその方法
KR100444729B1 (ko) 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법
JP4405452B2 (ja) 逆変換回路
JP3046116B2 (ja) 離散コサイン変換器
Jamkhandi et al. Parallel hardware-software architecture for computation of Discrete Wavelet Transform using the Recursive Merge Filtering algorithm
KR100289509B1 (ko) 규칙적인 구조로 이루어진 고속 이산 여현 변환방법
JPH0540776A (ja) 二次元dctマトリクス演算回路
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
KR960006599A (ko) 2차원 이산 코사인 변환기
KR0169179B1 (ko) 이산 여현 변환을 위한 병렬 전치메모리
Calusdian et al. Hardware implementation of hevc inverse transform in 45nm cmos
JP3396818B2 (ja) Dct演算回路及びidct演算回路
JP3697716B2 (ja) 行列データ乗算装置
Falkowski et al. Recursive relations and fast flow diagram for nonlinear quantised transform
JPH06274524A (ja) 直交変換回路および逆変換回路

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20130304

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 14