KR0152802B1 - 영상 압축장치의 역이산 코사인 변환방법 및 장치 - Google Patents

영상 압축장치의 역이산 코사인 변환방법 및 장치

Info

Publication number
KR0152802B1
KR0152802B1 KR1019950037892A KR19950037892A KR0152802B1 KR 0152802 B1 KR0152802 B1 KR 0152802B1 KR 1019950037892 A KR1019950037892 A KR 1019950037892A KR 19950037892 A KR19950037892 A KR 19950037892A KR 0152802 B1 KR0152802 B1 KR 0152802B1
Authority
KR
South Korea
Prior art keywords
input
idct
output
matrix
column
Prior art date
Application number
KR1019950037892A
Other languages
English (en)
Other versions
KR970022846A (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 KR1019950037892A priority Critical patent/KR0152802B1/ko
Publication of KR970022846A publication Critical patent/KR970022846A/ko
Application granted granted Critical
Publication of KR0152802B1 publication Critical patent/KR0152802B1/ko
Priority to US09/208,640 priority patent/US6421695B1/en

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 영상 압축장치의 역이산 코사인 변환방법 및 장치에 관한 것으로, 종래 로우-컬럼 분리특성을 이용하는 IDCT는 동시에 입력N개를 필요로 하므로 입출력의 구성이 복잡해지고 또한 N×N개의 입력을 모두 연산에 이용하므로 연산량이 증가하는 문제점이 있고, 로우-컬럼 분리특성을 이용하지 않고 IDCT의 입력특성을 이용하는 IDCT는 N×N개의 입력중 0이 아닌 입력값만을 연산에 이용하므로 연산량이 감소하지만 2차원 IDCT를 직접 구현하기 때문에 하드웨어가 커지는 문제점이 있다.
따라서, 본 발명은 IDCT의 입력특성을 행렬 분리된 각 1차원 IDCT의 입력에 적용함으로써 연산량을 대폭 감소시켰을 뿐만 아니라 행렬분리 특성을 이용하였기 때문에 하드웨어 크기를 감소시켜 고속연산이 가능함과 동시에 작은 면적으로 구현가능하도록 한다.

Description

영상 압축장치의 역이산 코사인 변환방법 및 장치
제1도는 로우-컬럼 분리특성을 설명하기 위한 커널 매트릭스(Kernel matrix) 설명도.
제2도는 종래 로우-컬럼 분리방법을 이용한 2차원 역이산 코사인 변환(IDCT)장치 구성도.
제3도는 종래 역이산 코사인 변환(IDCT)입력의 특성을 이용하여 2차원 IDCT를 직접 계산하는 2차원 IDCT장치 구성도.
제4도는 제3도에서 누산기 어레이의 상세도.
제5도는 본 발명 영상 압축장치의 역이산 코사인 변환장치 구성도.
제6도는 제5도에서 첫번째 1차원 IDCT부의 상세도.
제7도는 제5도에서 두번째 1차원 IDCT부의 상세도.
제8도는 제5도를 멀티플렉서와 디멀티플렉서를 이용하여 타임-멀티플렉싱한 구성도.
제9도는 제8도에 대한 상세도.
제10도는 본 발명 영상 압축장치의 역이산 코사인 변환방법에 대한 동작과정도.
* 도면의 주요부분에 대한 부호의 설명
100 : 첫번째 1차원 IDCT부 101 : 곱셈기
102 : 누산기 200 : 전치행렬 메모리
300 : 두번째 1차원 IDCT부 40 : 출력 메모리
KSL : 커넬 선택 로직
본 발명은 신호의 압축 및 복원시 연산량을 대폭 감소시키고 하드웨어의 면적을 최소화하는 구조로 구현할 수 있도록 한 역이산 코사인 변환방법 및 장치에 관한 것으로, 특히 고속 처리가 가능하도록 역이산 코사인 변환(IDCT) 입력에서 0이 아닌 입력값만을 처리함으로써 연산량을 대폭 감소시키고 행렬분리(row-column decomposition) 특성에 기반을 두고 1차원 IDCT를 두번에 걸쳐 행하여 2차원 IDCT를 수행하도록 함으로써 하드웨어의 크기를 줄일 수 있도록 한 영상압축장치의 역이산 코사인 변환방법 및 장치에 관한 것이다.
일반적으로 역이산 코사인 변환(이하, IDCT라고 약칭함)의 입력 행렬에는 압축 알고리듬의 특성상 0이 많이 분포한다.
이 성질은 IDCT 입력의 고유 특성이며 종래기술은 이러한 성질을 이용하지 않는 로우-칼럼(ROW-COLUMN) 분리방법을 이용한 방법과 이러한 성질을 이용하여 2차원 IDCT를 직접 계산하는 방법으로, 크게 2가지로 나눌 수 있다.
종래 로우-컬럼(ROW-COLUMN) 분리방법을 이용한 2차원 역이산 코사인 변환장치는 제2도에 도시된 바와같이, 한개씩 순차적으로 입력되는 행벡터를 시프트시키는 입력 레지스터부(1)와, 상기 입력 레지스터부(1)로부터 출력되는 행벡터를 저장하고 있다가 시리얼하게 내보내는 다단의 레지스터로 이루어진 홀드 레지스터부(2)와, 상기 홀드 레지스터부(2)에서 R1레지스터로부터 순차적으로 RN/2 레지스터까지의 출력값을 일측단으로 그의 타측단으로는 RN레지스터로부터 역으로 RN/2+1 레지스터까지의 출력을 타측단으로 각각 입력받아 가산하는 가산부(3)와, 상기 레지스터부(2) RN/2+1 레지스터부터 역으로 R1레지스터의 출력을 일측단으로 2N/2+1 레지스터부터 RN레지스터의 출력을 타측단으로 입력받아 감산하는 감산부(4)와, 상기 가산부(3)와 감산부(4)의 출력을 입력받아 실제 1차원 이산 코사인변환의 내적 연산을 행하는 롬 및 연산부(5)와, 상기 롬 및 연산부(5)를 통해 연산된 값을 하나씩 순차적으로 출력시키는 출력 레지스터부(6)로 구성된다.
그리고, 종래 로우-컬럼(ROW-COLUMN) 분리방법을 이용하지 않고 IDCT 입력의 특성을 이용하는 2차원 역이산 코사인 변환장치는 제3도에 도시한 바와같이, 한개씩 순차적으로 입력되는 행벡터를 입력받아 역이산 코사인 변환을 행하는 제어부(10)와, 상기 제어부(10)의 제어에 의해 2차원 이산 코사인 변환의 내적 연산을 행하는 누산기 어레이(20)와, 상기 제어부(10)에서 연산에 필요한 데이타를 저장하는 램 어레이(30)와 곱셈 연산을 행하는 곱셈기(40)로 구성된다.
상기에서 누산기 어레이(20)는 제4도에 도시한 바와같이, 제어라인을 통해 전달되는 제어신호에 따라 입력라인을 통해 전달되는 데이타를 연산하고 누적하는 동일한 누산기가 N2개 구성되어 있다.
이와 같이 구성된 종래의 기술에 대하여 상세히 설명하면 다음과 같다.
제1도의 (a)는 로우-컬럼 분리특성을 이용하여 2차원 역이산 코사인 변환(이하 IDCT로 약칭함)을 1차원 IDCT로 분리하였을 때 얻어진 IDCT 커넬 매트릭스(Kernel matrix:C)이다.
이 커넬 매트릭스(C)를 보면 각 칼럼 벡터들이 위 4개와 아래 4개가 대칭임을 알 수 있다.
이러한 대칭성을 이용하여 N×N(8×8) 커넬 매트릭스를 N/2×N/2(4×4) 커넬 매트릭스 두개로 나누게 된다.
이렇게 나눈 두개의 N/2×N/2로 된 1차원 IDCT의 내적 연산을 하게되면 제1도의 (b)에서와 같이 되는데, 여기서 알 수 있듯이 Y(0),Y(1),…,Y(N-1), N개의 출력 행벡터를 만들기 위해서는 입력 행벡터 X(0),X(1),…X(N-1)이 필요하게 됨을 알 수 있다.
이에 대하여, 살펴보면, 입력 레지스터부(1)의 시프터 레지스터(Q1)로 N개의 입력이 차례로 들어오는데, 첫번째 입력이 시프터 레지스터(Q1)로 들어오고 다음 사이클에 첫번째 시프터 레지스터(Q1)에 있던 입력은 두번째 시프터 레지스터(Q2)로 옮겨지고 두번째 입력이 첫번째 입력이 시프터 레지스터(Q1)로 들어오는 등 이러한 과정을 거쳐서 입력 X(0),X(1),…X(N-1)까지 N개의 입력이 모두 들어오면 상기 입력 레지스터부(1)의 시프터 레지스터(Q1∼QN)의 내용이 동시에 홀드 레지스터부(2)의 레지스터(R1∼RN)으로 옮겨진다.
즉, 상기 입력 레지스터부(1)와 홀드 레지스터부(2)는 시리얼(serial)하게 들어오는 입력을 패럴렐(parallel)하게 바꾸어주는 부분으로, 이러한 부분이 필요한 것은 IDCT의 입력은 일반적으로 시리얼하게 한개씩 들어오고 출력도 한개씩 시리얼하게 나가는데 실제 내부연산은 커넬 매트릭스(C)와 입력 벡터와의 내적이 되므로 동시에 X(0),X(1),…X(N-1), N개의 입력이 필요하고 동시에 N개의 출력 Y(0),Y(1),…Y(N-1)이 나오기 때문이다.
그러므로 출력단에는 패럴렐하게 나온 출력결과를 시리얼하게 내보내는 시프터 레지스터(U1∼UN)으로 이루어진 출력 레지스터부(6)가 필요하다.
가산부(3)의 첫번째 가산기(31)는 상기 홀드 레지스터부(2)에서 출력되는 데이타중 첫번째인 R1레지스터와 마지막인 RN레지스터의 출력을 입력받아 가산하고, 두번째 가산기(32)는 두번째인 R2레지스터와 RN-1레지스터의 출력을 입력받아 가산하는 방식으로 홀드 레지스터부(2)의 출력을 가산하여 롬 및 연산부(5)로 출력한다.
마찬가지로 감산부(4)의 첫번째 감산기(41)는 상기 홀드 레지스터부(2)에서 출력되는 데이타중 RN/2레지스터의 출력으로부터 RN/2+1 레지스터의 출력을 감산하고, 두번째 감산기(42)는 RN/2-1 레지스터의 출력에서 RN/2+2 레지스터의 출력을 감산하는 방식으로 홀드 레지스터부(2)의 출력에 대하여 감산을 행하여 상기 롬 및 연산부(5)로 출력한다.
이에 상기 롬 및 연산부(5)는 가산부(3)와 감산부(4)로부터 전달받은 데이타를 가지고 1차원 IDCT의 내적 연산을 행하고 그 연산을 행한 값을 출력 레지스터부(6)를 통하여 출력한다.
이상에서와 같이 로우-컬럼(ROW-COLUMN) 분리방법을 이용한 2차원 역이산 코사인 변환장치는 미국 특허번호 4791598호에 잘 나타나 있다.
그리고, 로우-컬럼 분리특성을 이용하지 않으면서 IDCT의 입력특성을 이용하는 역이산 코사인 변환장치에 대하여 제3도와 제4도에 의거하여 살펴보면, 제어부(10)로 하나씩 순차적으로 벡터값이 들어오면 제어부(10)는 누산기 어레이(20)와 램 어레이(30) 및 곱셈기(40)를 이용하여 입력행렬의 특성을 이용하여 연산을 행한다.
이 경우에는 입력행렬의 특성으로 0의 분포가 많으며, 누산기 어레이(20)의 경우 제어라인을 통해 제어신호 입력시 입력라인을 통해 입력되는 행렬입력을 연산하고 누적한다.
이상에서와 같이 로우-컬럼 분리특성을 이용하지 않는 역이산 코사인 변환장치는 미국 특허번호 5,301,136호에 잘 나타나 있다.
그러나, 상기에서와 같이 로우-컬럼 분리특성을 이용하는 IDCT는 동시에 입력 N개를 필요로 하므로 입출력의 구성이 복잡해지고 또한 N×N개의 입력을 모두 연산에 이용하므로 연산량이 증가하는 문제점이 있고 로우-컬럼 분리특성을 이용하지 않는 IDCT는 2차원 IDCT를 직접 구현하기 때문에 하드웨어가 커지는 문제점이 있다.
따라서, 본 발명의 목적은 IDCT입력의 특성을 이용하여 0이 아닌 입력값들만 연산함으로써 연산량은 감소시키고 행렬분리 특성을 이용함으로써 하드웨어를 간단하게 함으로써 고속 연산과 적은 면적으로 구성 가능하도록 한 영상 압축장치의 역이산 코사인 변환방법 및 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 방법은 제5도 내지 제8도에 도시한 바와같이, 한 클럭 사이클에 하나씩 0이 아닌 입력 XUV를 읽어들이고 이 입력 XUV의 U에 의해 선택된 커넬 매트릭스의 칼럼의 서로 다른 최대 N/2개의 원소와 상기 입력 XUV를 N/2개의 곱셈기에서 곱하는 단계와, 상기 단계에서의 곱셈 결과를 N개의 누산기에서 각각 누산시켜 출력버퍼의 V번째 칼럼에 저장하는 단계를 0이 아닌 입력이 다 들어올때까지 반복 수행하여 이루어지도록 한다.
상기에서와 같이 각 단계로 이루어진 방법을 수행하기 위한 본 발명의 장치는 제5도에 도시한 바와같이, 0이 아닌 입력 XUV를 1차원 IDCT의 커넬 매트릭스로부터 U에 의해 선택된 칼럼의 최대 N/2개의 원소와 곱하는 N/2개의 곱셈기와, 상기 곱셈기의 결과를 V번째 칼럼으로 각각 누산시키는 N개의 누산기로 구성되는 첫번째 1차원 IDCT부(100)와; 상기 첫번째 1차원 IDCT부의 출력행렬을 저장하는 전치행렬 메모리(200)와; 상기 전치행렬 메모리로부터 입력 XUV를 1차원 IDCT의 커넬 매트릭스로부터 U에 의해 선택된 칼럼의 최대 N/2개의 원소와 곱하는 N/2개의 곱셈기와, 상기 곱셈기의 결과를 V번째 칼럼으로 각각 누산시키는 N개의 누산기로 구성되는 두번째 1차원 IDCT부(300)와; 상기 두번째 1차원 IDCT부로 출력되는 값을 저장하는 출력 메모리(400)로 구성되며, 상기에서 첫번째 1차원 IDCT부(100)와 두번째 1차원 IDCT부(300)는 구조적으로 동일하다.
이와 같이 구성된 본 발명의 동작 및 작용효과에 대하여 상세히 설명하면 다음과 같다.
N×N 2차원 IDCT는 다음과 같은 수식으로 표현된다.
여기서 u,v=0,1,…(N-1)이고, χjk는 2차원 IDCT의 출력행렬의 j번째 행과 k번째 열의 원소를 나타내고, XUV는 IDCT의 입력행렬중 u번째 행과 v번째 열의 원소를 나타낸다.
이러한 2차원 IDCT는 다음과 같이 1차원 IDCT로 분리가 가능하며 이를 행렬식으로 나타내면 다음과 같다.
여기서 C는 IDCT의 커넬 매트릭스이고, X는 입력행렬을 나타낸다.
상기 (2)식에서 계산하기 위해서는 밑줄친 것과 같이 두번의 행렬곱(matrix multiplication)의 수행으로 이루어지며 이 둘 각각은 1차원 IDCT가 된다.
이러한 각 1차원 IDCT를 이용하여 역이산 코사인 변환방법을 수행하는 과정이 제10도에 나타내었으며, 각 1차원 IDCT는 같은 형태의 형렬곱셈으로 나타낼 수 있으며 식(3)에 이를 N=8인 경우에 대해 나타내었다.
설명의 편의상 입력을 열순(column-wise)로 처리한다고 가정하고 설명한다. 만약 행순(row-wise)으로 처리하는 경우에는 아래의 설명에서 열을 모두 행으로 바꾸어 주면 된다.
상기 (3)식에서 X2X12X22…X72는 V번째 칼럼의 입력값 XUV이고, C01C11C21…C71은 커넬 행렬 C의 U번째 칼럼이고, Y02Y12Y22…Y72는 출력행렬 Y의 V번째 칼럼이다.
상기 (3)식에서 알 수 있듯이 1차원 IDCT 입력 XUV는 커넬 매트릭스 C의 원소들중에서 U번째 칼럼의 원소들과만 곱셈이 이루어지며, 이 곱셈 결과는 출력행렬중 V번째 칼럼의 원소들에만 영향을 미친다.
즉, 각 1차원 IDCT에서 입력행렬 X의 V번째 칼럼의 입력들중 한 XUV가 들어오면 커넬 매트릭스 C의 U번째 칼럼을 읽어와서 곱셈한 결과를 출력행렬의 V번째 칼럼에 누적하여 저장하면 된다.
종래의 방법은 1차원 IDCT연산이 커넬 행렬 C의 행벡터(row vector)와 입력행렬의 열벡터(column vector)간의 내적으로 이루어지는 반면에 본 발명은 커넬 행렬 C의 칼럼 벡터와 상수 입력값과 곱으로 이루어지는 벡터 계수방법이는 이는 다음과 같이 표현된다.
여기서, Cnu는 커넬 매트릭스 C의 U번째 칼럼중 n번째 원소를 나타내고, YU nu는 출력행렬의 v번째 칼럼중에서 n번째 원소를 윗첨자 u는 이 원소는 u번째 부분결과임을 나타낸다. 그러므로 최종 출력행렬의 원소들은 이러한 부분 결과들을 누산하여 얻어진다.
아래식에서와 같은 최종 출력원소 Ynv를는 입력행렬 X의 U번째 칼럼중 0이 아닌 입력값 XUV에 의해 생성된 부분결과 YU nv를 누산하여 얻어진다.
그리고, 연산에 사용되는 커넬 매트릭스 C는 대칭성을 가지고 있어서 한 입력값이 들어왔을 때 읽어오는 N개의 커넬 매트릭스의 칼럼들의 원소중에서 최대 N/2개만이 서로 다른 크기의 값을 가지므로 N=8인 경우에는 4개의 곱셈결과만으로 표현될 수 있다.
커넬 매트릭스 C의 원소들을 N=8인 경우에 대해 나타내면 제1도의 (a)에서와 같다.
제1도의 (a)에 도시한 커넬 매트릭스 C중에서 가운데 점선을 경계로 하여 각 칼럼의 위쪽 4개 원소들의 절대값과 아래쪽 4개의 원소들의 절대값이 서로 대칭임을 알 수 있으며, 특히 짝수번째 칼럼의 경우는 완전 대칭이고 홀수번째 칼럼들은 부호가 반대인 대칭임을 알 수 있다.
입력 XUV가 들어왔을 때 커넬 매트릭스 C의 어떤 칼럼과 곱해지는 가는 U에 의해 결정되고 U의 LSB에 의해 U의 LSB가 '0'이면 짝수이고 '1'이면 홀수이므로 나머지 아래쪽 4개의 부호가 결정된다.
이러한 성질은 서로다른 최대 N/2개의 커넬 매트릭스 C의 원소들과 입력값과의 곱셈으로 N개의 곱셈결과를 만들 수 있으므로 곱셈기의 수를 N개가 아닌 N/2로 줄일 수 있게 해준다.
따라서, 본 발명에서 1차원 IDCT는 제6도와 제7도에서와 같이 구성할 수 있으며, 먼저 제6도에 의거하여 첫번째 1차원 IDCT부(100)에 대하여 살펴보면 다음과 같다.
본 설명에서 첫번째 IDCT는 입력값을 열순(column-wise)으로 처리하고, 두번째 IDCT는 행순(row-wise)으로 처리함을 가정하고 서술한다. 만약 첫번째 IDCT를 행순(row-wise)으로 처리할 경우 두번째 IDCT는 열순(column-wise)으로 처리하게 된다.
첫번째 IDCT의 입력값은 한 클럭-사이클에 한개씩 입력버퍼에서 읽어오게 되는데 이러한 입력값의 순서는 열순(column wise)으로 들어와야 한다.
입력버퍼로부터 입력 XUV가 입력행렬의 칼럼에서 첫번째 0이 아닌 원소이면 먼저 누산기(102)를 0으로 초기화한다.
입력 XUV가 N/2개의 곱셈기(101)의 일측입력으로 들어가고 그 N/2개의 곱셈기(101)의 타측입력으로 각각 할당된 커넬 선택 로직(KSL1,KSL2,KSL3…,KSLN/2)에서 들어간다.
예를들면, N=8일 때 입력 X12가 들어오면 U=1이므로 제1도의 (a)에 도시한 커넬 매트릭스 C의 왼쪽에서 두번째 칼럼이 선택되고, 이때 필요한 커넬 원소들은 B,D,E,G의 4개이므로 각 4개의 곱셈기(mult1∼mult4)는 입력 XUV와 상기 4개의 서로다른 커넬 원소들과 곱셈하고 그 곱셈한 결과를 N개의 누산기(102)로 출력한다.
상기 누산기가 곱셈결과를 누산할 때 덧셈을 하면 입력 XUV와 B,D,E,G와의 곱을 누산한 결과를 얻고, 뺄셈을 하면 -B,-D,-E,-G와의 곱을 누산한 결과를 얻게 된다.
이러한 방법으로 입력버퍼의 한 칼럼의 모든 0이 아닌 입력을 처리하면 누산결과를 출력버스를 통해 첫번째 1차 IDCT 출력 메모리에 저장하고 누산기를 0으로 초기화한다.
그리고, 입력을 다음 칼럼으로부터 다시 읽어오는데 만약 그 열이 모두 0으로 되어 있으면 다른 열에서 0이 아닌 입력을 읽어온다.
상기에서와 같이 입력행렬의 0이 아닌 입력값들만 1클럭에 하나씩 읽어와서 모든 0이 아닌 입력값들을 첫번째 1차원 IDCT부(100)에서 다 처리하면 1차원 IDCT가 끝나게 된다.
상기에서 1차원 IDCT 수행도중 N개의 누산기(102)의 결과를 첫번째 1차 IDCT 출력 메모리에 저장하는 것은 한 입력 칼럼의 0이 아닌 입력을 다 처리한 후인데, 이때 N개의 누산기(102)의 결과를 동시에 첫번째 1차 IDCT 출력 메모리에 저장하려면 누산기(102)와 첫번째 1차 IDCT 출력 메모리에 사이에 버스폭이 N(누산기 갯수)×NID-OUT(1차원 IDCT 출력폭)인 출력버스가 필요하다.
상기에서 첫번째 1차 IDCT 출력 메모리가 제5도에서는 전치행렬 메모리(200)가 되는 것이다.
또한, 첫번째 1차원 IDCT부(100)와 두번째 1차원 IDCT부(300)는 로컬 액세스 프로퍼티(local access property)라는 특성이 있어서 입력버퍼와 출력버퍼를 하나의 버퍼에서 구현할 수 있다. 즉, 입력버퍼의 한 열 예를들면, V번째 열에서 하나씩 입력들을 읽어오고 다 읽어오면 그때의 누산기의 결과를 출력버퍼의 V번째 열에 저장하므로 하나의 버퍼를 입력버퍼와 출력버퍼로 사용할 수 있다.
제8도는 첫번째 1차원 IDCT부(100)와 두번째 1차원 IDCT부(300)를 다 처리하기 위하여 동일한 IDCT로 타임-멀티플렉싱(time-multiplexing)한 것으로, 입력과 출력이 멀티플렉서(MUX)와 디멀티플렉서(DMUX)에 의하여 각각 선택될 수 있도록 한다.
따라서, 첫번째 IDCT를 수행할 경우에는 입력값은 멀티플렉서(MUX)를 이용하여 외부로부터의 값을 선택하고 출력은 디멀티플렉서(DMUX)를 이용하여 전치행렬 메모리(200)로 출력하도록 하며, 두번째 IDCT를 수행할 경우에는 입력값은 상기 전치행렬 메모리(200)에 저장된 값을 선택하고 출력은 출력 메모리(400)로 출력하여 저장하도록 한다.
이상에서와 같은 동작에 대하여 제10도에 도시한 동작 과정도에 의거하여 다시한번 살펴보면, 한 클럭 사이클에 한개씩 0이 아닌 입력 XUV를 1차원 IDCT의 커넬 매트릭스 C로부터 U컬럼에 해당하는 원소를 읽어들인 다음 그 읽어들인 원소가 첫번째 0이 아닌 원소인가를 체크하여 0이 아니면 U에 의해 선택된 칼럼의 서로 다른 최대 N/2개의 원소와 커넬 선택 로직(KSL)의 출력원소를 N/2개의 곱셈기에 의해 곱하고, 그 곱셈한 결과를 N개의 누산기에서 V번째 칼럼에 각각 누산시켜 저장하도록 한다.
상기에서와 같은 방법으로 누산결과를 저장시 0이 아닌 입력이 다 들어올때까지 반복 수행하도록 한다.
이상에서 상세히 설명한 바와같이 본 발명은 입력행렬에서 0이 아닌 입력값만을 선택적으로 처리하므로 기존의 행렬 분리방법보다 고속 연산이 가능하고, 기존의 0이 아닌 입력값만을 사용하는 방법에 비해서는 하드웨어 면적을 줄일 수 있도록 한 효과가 있다.

Claims (5)

  1. N×N 2차원 IDCT를 행렬분리 특성에 의해 1차원 IDCT로 분리하여 수행하는 역이산 코사인 변환에 있어서, 한 클럭 사이클에 하나씩 0이 아닌 입력 XUV를 1차원 IDCT의 입력 행렬로부터 읽어들이는 제1단계와, 상기 제1단계에서 입력 XUV의 U에 의해 선택된 커넬 매트릭스의 칼럼의 서로 다른 최대 N/2개의 출력 원소를 커넬 선택 로직(KSL)로부터 구하여 N/2개의 곱셈기에 의해 해당 입력값 XUV와 곱하는 제2단계와, 상기 제2단계에서 곱셈한 결과를 N개의 누산기에서 V번째 칼럼에 각각 누산시켜 저장하도록 하는 제3단계와, 상기 제3단계에서 누산결과 저장시 해당입력 XUV가 속한 입력행렬의 V번째 칼럼의 0이 아닌 입력이 다 들어올 때까지 반복 수행한 후에 누산 결과를 출력버퍼의 V번째 칼럼에 저장하는 제4단계로 이루어진 1차원 IDCT를 2회에 걸쳐 수행하도록 한 것을 특징으로 하는 영상 압축장치의 역이산 코사인 변환방법.
  2. 한 클럭 사이클에 입력값 한개씩 1차원 IDCT의 입력으로 공급하는 입력버퍼와, 0이 아닌 입력 XUV의 U에 의해 선택된 IDCT의 커넬 매트릭스의 칼럼의 최대 N/2개의 원소와 곱하는 N/2개의 곱셈기와, 상기 곱셈기의 결과를 각각 누산시키는 N개의 누산기로 구성되는 첫번째 1차원 IDCT부(100)와; 상기 첫번째 1차원 IDCT부의 출력행렬을 저장하는 전치행렬 메모리(200)와; 상기 전치행렬 메모리로부터 0이 아닌 입력 XUV를 한개씩 읽어들이고 이 입력 XUV의 U에 의해 선택된 IDCT 커넬 매트릭스의 칼럼의 최대 N/2개의 원소와 곱하는 N/2개의 곱셈기와, 상기 곱셈기의 결과를 각각 누산시키는 N개의 누산기로 구성되는 두번째 1차원 IDCT부(300)와; 상기 두번째 1차원 IDCT부로 출력되는 값을 저장하는 출력 메모리(400)로 구성된 것을 특징으로 하는 영상 압축장치의 역이산 코사인 변환장치.
  3. 제2항에 있어서, N개의 누산기중 N/2개는 덧셈만을 행하고 N/2개는 덧셈과 뺄셈을 선택적으로 수행하도록 한 것을 특징으로 하는 영상 압축장치의 역이산 코사인 변환장치.
  4. 제2항에 있어서, 첫번째 1차원 IDCT부와 두번째 1차원 IDCT부는 동일한 구조임을 이용하여 타임-멀티플렉싱한 것으로 입력과 출력이 멀티플렉서와 디멀티플렉서에 의해 선택되도록 구성된 것을 특징으로 하는 영상 압축장치의 역이산 코사인 변환장치.
  5. 제4항에 있어서, 동일한 한개의 IDCT로 첫번째 IDCT를 수행할 경우 입력은 외부에서 받아들이고 출력은 전치행렬 메모리에 저장하도록 하고, 두번째 IDCT 수행할 경우 입력은 상기 전치행렬 메모리로부터 받아들이고 출력은 출력 메모리에 저장하도록 한 것을 특징으로 하는 영상 압축장치의 역이산 코사인 변환장치.
KR1019950037892A 1995-10-28 1995-10-28 영상 압축장치의 역이산 코사인 변환방법 및 장치 KR0152802B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019950037892A KR0152802B1 (ko) 1995-10-28 1995-10-28 영상 압축장치의 역이산 코사인 변환방법 및 장치
US09/208,640 US6421695B1 (en) 1995-10-28 1998-12-10 Apparatus for implementing inverse discrete cosine transform in digital image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950037892A KR0152802B1 (ko) 1995-10-28 1995-10-28 영상 압축장치의 역이산 코사인 변환방법 및 장치

Publications (2)

Publication Number Publication Date
KR970022846A KR970022846A (ko) 1997-05-30
KR0152802B1 true KR0152802B1 (ko) 1998-10-15

Family

ID=19431789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950037892A KR0152802B1 (ko) 1995-10-28 1995-10-28 영상 압축장치의 역이산 코사인 변환방법 및 장치

Country Status (1)

Country Link
KR (1) KR0152802B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451731B1 (ko) * 2001-12-18 2004-10-08 엘지전자 주식회사 역 이산 코사인 변환 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085125A2 (ko) 2009-01-22 2010-07-29 삼성전자 주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451731B1 (ko) * 2001-12-18 2004-10-08 엘지전자 주식회사 역 이산 코사인 변환 장치

Also Published As

Publication number Publication date
KR970022846A (ko) 1997-05-30

Similar Documents

Publication Publication Date Title
US4791598A (en) Two-dimensional discrete cosine transform processor
KR100311251B1 (ko) 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치
EP0720104B1 (en) Method for inverse discrete cosine transform
JPH04313157A (ja) 演算処理装置
US20050004963A1 (en) Parallel adder-based DCT/IDCT design using cyclic convolution
JP6357345B2 (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
US5148381A (en) One-dimensional interpolation circuit and method based on modification of a parallel multiplier
US5226002A (en) Matrix multiplier circuit
US4736440A (en) Process for the processing of digitized signals representing an original image
KR950033919A (ko) 직교변환 프로세서
KR0175733B1 (ko) 비트-시리얼 메트릭스 전치를 위한 초대규모 집적회로
KR0152802B1 (ko) 영상 압축장치의 역이산 코사인 변환방법 및 장치
CN110673824B (zh) 矩阵向量乘电路以及循环神经网络硬件加速器
US5999958A (en) Device for computing discrete cosine transform and inverse discrete cosine transform
GB2205183A (en) Finite element analysis utilizing a bandwidth maximized matrix
JP2822684B2 (ja) 離散コサイン変換装置および逆離散コサイン変換装置
US4987557A (en) System for calculation of sum of products by repetitive input of data
KR960014197B1 (ko) 파이프라인 분산연산을 이용한 8×8 이차원 이산여현 변환/역변환 처리장치
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
KR100202567B1 (ko) 고속 역이산 코사인변환 연산장치
JPH0540776A (ja) 二次元dctマトリクス演算回路
KR0124169B1 (ko) 2차원 이산 코사인 변환기
JP2646844B2 (ja) 離散コサイン変換装置
Truong et al. A new architecture for the 2-D discrete wavelet transform
JPH05153402A (ja) 離散コサイン変換器

Legal Events

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

Payment date: 20050331

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee