KR20040002115A - 역 이산 코사인 변환 장치 - Google Patents

역 이산 코사인 변환 장치 Download PDF

Info

Publication number
KR20040002115A
KR20040002115A KR1020020037545A KR20020037545A KR20040002115A KR 20040002115 A KR20040002115 A KR 20040002115A KR 1020020037545 A KR1020020037545 A KR 1020020037545A KR 20020037545 A KR20020037545 A KR 20020037545A KR 20040002115 A KR20040002115 A KR 20040002115A
Authority
KR
South Korea
Prior art keywords
idct
discrete cosine
mux
cosine transform
inverse discrete
Prior art date
Application number
KR1020020037545A
Other languages
English (en)
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 KR1020020037545A priority Critical patent/KR20040002115A/ko
Publication of KR20040002115A publication Critical patent/KR20040002115A/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/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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 복원된 데이터의 에러(error)를 줄임과 동시에 전체적인 면적을 줄이도록 한 역 이산 코사인 변환 장치에 관한 것으로서, 제 1, 제 2 1차원 IDCT로 구성되어 영상 압축 디코더내에서 역 이산 코사인 변환을 수행하는 역 이산 코사인 변환 장치에 있어서, 비트-폭이 서로 다른 두 개의 픽셀 데이터를 입력으로 받는 제 1, 제 2 입력단과, 상기 제 1, 제 2 입력단으로 입력되는 두 개의 픽셀 데이터의 비트-폭을 동일하게 보상해 주는 프리-프로세서와, 상기 제 1, 제 2 입력단을 통해 입력되는 데이터 중에 외부의 제어값에 따라 선택적으로 출력하는 제 1 먹스부와, 상기 제 1 먹스부의 출력을 받아 연산하여 출력하는 산술논리연산부와, 상기 산술논리연산부의 출력 값을 보상하여 출력하는 제 1, 제 2 포스트 프로세서와, 상기 제 1, 제 2 포스트 프로세서의 출력 값을 입력으로 받아 외부의 제어 값에 따라 제 1 1차원 IDCT와 제 2 1차원 IDCT를 선택적으로 출력하는 제 2 먹스부와, 상기 제 2 먹스부가 제 1 1차원 IDCT를 출력할 때 산술논리연산부의 곱셈기의 계수에 곱해진 수(2n)보다 더 적은 수(2n-m)만큼 쉬프트시키는 쉬프터를 포함하여 구성됨을 특징으로 한다.

Description

역 이산 코사인 변환 장치{Inverse Discrete Cosine Transform Appartus}
본 발명은 MPEG(Moving Pictures Expert Group)에 관한 것으로, 특히 복원된 데이터의 에러(error)를 줄임과 동시에 전체적인 면적을 줄이는데 적당한 역 이산 코사인 변환(Inverse Discrete Cosine Transform ; IDCT) 장치에 관한 것이다.
최근 들어 정보의 디지털화가 급속도로 발전하고 있으며, 이에 따라 화상 압축 기술이 매우 중요하게 부각되고 있다.
MPEG은 정지 영상이 아닌 움직이는 영상을 압축하기 위한 표준안으로 현재 MPEG-1과 MPEG-2의 표준안이 제정되어 있다.
MPEG-2 디코더는 MPEG-2 표준안에 맞게 압축되어 있는 신호를 사람이 볼 수 있는 영상 신호로 다시 재생하는 장치를 의미한다.
MPEG는 크게 3부분으로 나뉘는데 영상을 처리하는 비디오 부분, 소리를 처리를 하는 오디오 부분 및 영상과 소리의 동기를 맞추는 부분으로 구성된다.
영상은 2차원적 신호이고 서로 인접한 영상은 비슷한 값을 가진다. 즉, 주파수 변화가 크지 않다. 이러한 성질을 이용하여 영상을 압축할 때 사용되는 방법이 이산 여현 변환(Discrete Cosine Transform : DCT)이다.
일반적으로 이산 여현 변환은 8 ×8 픽셀 인 영상 단위로 연산을 수행하며, 결과는 영상의 이미지 레벨이 8×8의 주파수 성분으로 변환된다.
이산 여현 변환을 수행하면 신호들이 압축을 효율적으로 할 수 있도록 주파수 성분별로 재배열된다. 이렇게 재배열된 신호를 양자화 하고 지그 제그로 주사한 다음 VLC(Variable Length Coding) 과정을 거쳐 높은 압축율을 얻는다.
즉, DCT를 수행하면 영상신호가 주파수 성분으로 변화되는 것이다.
이와 같이 주파수 성분별로 배열된 신호를 원래의 영상으로 복원하는 과정을 역 이산 여현 변환(Inverse Discrete Cosine Transform : IDCT)라고 한다.
일반적으로 역 이산 여현 변환은 두 번의 단계를 거쳐 이루어지는데 동일한 역 이산 여현 변환 장치를 두 개 사용하여 수행한다.
이와 같이 압축된 영상을 복원하는데 사용되는 IDCT 구현 방법에는 페스트(Fast) IDCT, DA(Distributed Arithmetic) 등의 방법들이 적용될 수 있고, 그 계산 과정에 곱셈이 필요하게 되는데 여기서 곱셈기를 직접 사용하는 방법, 곱셈기를 대신해 ROM(Read On Memory)를 사용하여 추가(add), 이동(shift), 축적(accumulate)시키는 방법 등으로 곱셈을 할 수 있다.
보통 IDCT를 구현함에 있어서 원래 수학적 식에서 존재하는 플로팅-포인트(floating-point) 연산(입력 값들에 사인(sine), 코사인(cosine)값들을 곱해서 더하는 형식)을 하지 않고 정수 연산을 하게 된다.
정수 연산을 하기 위해선 입력 값들에 곱해지는 1이하의 플로팅-포인트(floating-point) 계수들에 2의 배수 값을 곱하여 정수로 만들고 있다.
최근의 IDCT는 2-D(2-Dimensional) 연산을 수행하지 않고 이것을 두 개의 1-D(1-Dimensional) 연산으로 수행하고 있다.
도 1은 일반적인 MPEG 비디오 디코딩 장치의 구성을 설명하기 위한 블록도이다.
도 1에서와 같이, 입력된 비디오 스트림을 8 ×8 매트릭스(matrix)내에 존재한 값들의 지그-재그 스캐닝된 값들을 원래 상태로 돌려 직렬 데이터를 출력하는VLD(Variable Length Decoding)부(11)와, 상기 VLD부(11)에서 출력된 직렬 데이터를 2차 배열 형태인 8 ×8 매트릭스 형태로 출력하는 역스캔부(Inverse Scan)(12)와, 상기 역스캔부(12)에서 출력된 2차원 데이터는 스텝 사이즈별로 분리된 값들을 엔코딩시 사용된 양자화 테이블(Q_table)을 이용하여 복원하는 역양자화(Inverse Quantization)부(13)와, 상기 역양자화부(13)에서 복원된 데이터를 역 DCT 하는 IDCT(Inverse Discrete Cosine Transform)부(14)와, 이전 픽처들을 저장하고 있는 메모리부(15)와, 상기 IDCT부(14)에서 통해 입력된 B(Bidirectionally) 픽처나 P(Predictive) 픽처인 경우 메모리부(15)에 저장되어 있는 이전 픽처와 현재 입력된 현재 픽처의 움직임 벡터를 이용하여 원래의 신장 열로 재생하는 움직임 보상부(16)로 구성되어 있다
이하, 첨부된 도면을 참고하여 종래의 역 이산 코사인 변환 장치(IDCT)를 설명하면 다음과 같다.
도 2는 일반적인 역 이산 코사인 변환 장치를 나타낸 블록도이다.
도 2에 도시한 바와 같이, 이산 코사인 변환된 데이터를 입력받아 1-D 역 이산 코사인 변환하여 출력하는 제 1 1-D IDCT(21)와, 상기 제 1 1-D IDCT(21)로부터 출력되는 1차원 역이산 코사인 변환된 데이터를 반올림 및 자리수 선택하여 라이트한 후 전치시키어 출력하는 전치 버퍼(22)와, 상기 전치 버퍼(22)로부터 출력된 데이터를 입력받아 1차원 역 이산 코사인 변환하여 출력하는 제 2 1-D IDCT(23)으로 구성된다.
즉, 일반적인 역 이산 코사인 변환 장치는 도 2에서와 같이, 제 1, 제 2 1-D IDCT(21)(23)와 1개의 전치 버퍼(transpose buffer)(22)로 구성함으로써 제 1 1-D IDCT(21)에서 1차로 역 이산 코사인 변환을 수행한 후 전치 버퍼(22)에서 컬럼-로우(Column-Row) 전치가 일어나고 데이터 치환되어 저장된 후, 후단의 제 2 1-DIDCT(23)에서 1차원의 역 이산 코사인 변환이 다시 수행되도록 한 것이다.
여기서 상기 제 1, 제 2 1-D IDCT(21,23)를 수행할 때 계수들에 2n을 곱해 주었다가 다시 전치 버퍼(22)에 저장할 때 곱해진 2n의 배수를 나누어 저장한다.
이때 소수점 아래 숫자들은 전이됨으로써 에러가 발생하며, 이는 계수들에 곱해지는 2의 배수의 크기와 상관없이 발생하는 에러이다.
즉, 아무리 계수를 키운다고 하더라도 다음 단에 전해지는 데이터의 가장 하위 비트 다음의 첫 하위비트가 사라짐으로써 비교적 커다란(에러가 전파되어 다음 단에서 증폭되는) 에러가 발생하게 된다.
한편, 도 2의 제 1 1-D IDCT(21)와 제 2 1-D IDCT(23)에서 처리하는 기능(function)이 같아 하나의 1차원 IDCT를 두 번 돌려서(두 데이터 경로를 공유하여) 전체 2차원 IDCT를 수행한다.
도 3은 종래의 1-D IDCT의 개략적인 구성을 나타낸 블록 다이어그램이다.
도 3에서와 같이, 이산 코사인 변환된 데이터가 입력단(31)을 통해 입력되면 곱셈기 및 덧셈기(32)에서 상수 값에 2n의 배수를 곱하여 정수 변환을 한다.
따라서 IDCT는 수학식 1이 구현된다.
그리고 IDCT를 하드웨어적인 방법으로 처리할 경우 1-D IDCT는 수학식 2와 같이 구성되고, 이를 두 번 로우(row), 칼럼(column) 방향으로 실행함으로서 수학식 1이 구현된다.
여기서 4 ×4 매트릭스와 4 ×1 매트릭스를 내적하는 부분이 나오는데, 이 내적을 위해 곱셈기 및 덧셈기(22)와 덧셈기 및 뺄셈기(23)를 사용한다.
여기서 픽셀 데이터 x(i)(i=0,1,2,…,7), 전이 계수 X(u)(u=0,1,2,…,7)이다.
그리고 수학식 2에서와 같이 총 4개의 내적이 필요하고, 따라서 덧셈기 및 뺄셈기(23)를 사용하여 각 내적간에 더하기도 하고 빼기도 한다. 수학식 2에서 x(n)에서 n이 4보다 작으면 더하고, 4보다 같거나 크면 빼게된다.
수학식 2에서 보면 A에서 G까지의 계수들이 "0"이하의 플로팅 값이라는 것을 알 수 있다. 이러한 값들을 정수 계산만을 위한 ALU(Arithmetic Logic Unit ; 산술논리 연산장치)(곱셈기/덧셈기 및 덧셈기/뺄셈기)에서 사용하려면 정수 값으로 바꾸어 주어야 한다.
즉, 여기서 사용되는 계수 값들을 하드웨어적으로 저장을 할 때 처음부터 2n을 곱한 상태에서 저장을 한다. 따라서 이후에 계산 결과에서는 여기서 곱해진 2n을 다시 나누어주어야 한다. 이때 필요한 회로가 쉬프터(shifter)(34)이다.
이어, 쉬프터(34)에 관해서 설명하면, 상기 내적에 하나의 입력으로 제공되는 A, B, C, D, E, F, G는 플로팅 값이 되고, 만약 정수 연산을 한다면 이를 정수로 바꿔주는 역할이 필요하다.
따라서 상수에 2n승을 곱하여 소수점 이하부분은 버리고 n(여기서 n은 정수)의 비트만큼 왼쪽으로 쉬프트한다.
한편, 상기 A, B, C, D, E, F, G는 상수로 저장되어 있기 때문에 별도의 쉬프트 연산을 거치지 않고 정수변환 된 값을 저장하고 있다. 하지만 이 상수를 정수로 바꾸는데 쓰인 곱셈만큼 1-D IDCT 마지막 단에서 나눠줘야 한다.
이를 위해 필요한 것이 오른쪽 방향으로 2n+m비트만큼 쉬프트하는 연산이다.
플로팅 포인트 값을 정수로 바꾸어서 계산을 하기 때문에 데이터 경로 동작 중 에러가 발생한다. 여기서 두 번째 쉬프트단에 변형을 가함으로서 에러의 전파를 줄일 수 있다.
즉, 첫 번째 단의 쉬프터(34)에서는 2n-m만큼 쉬프트하여 두 번째 단으로 에러가 전파되는 것을 막고, 두 번째 단의 쉬프터에서는 앞단에서 발생한 2m을 보상하기 위해서 2n+m만큼 오른쪽으로 쉬프트한다.
상기와 같은 종래의 방법에서는 두 개의 1-D IDCT가 같은 블록일 수 있었으나 전술한 바와 같이 쉬프터 부분이 달라져야 한다.
그리고 첫 번째단에서 쉬프트를 저장함으로써 전치 버퍼에 저장되어야 할 데이터의 길이가 m 비트만큼 달라질 수 있다.
또한, 두 번째 1-D IDCT에서 데이터 경로들의 비트 수가 m 비트만큼 길어져한다. 여기서 m을 정할 때 하드웨어의 면적 제약과 에러 크기의 제약을 트래드-오프(trade-off)해야 한다.
그러나 상기와 같은 종래의 역 이산 코사인 변환 장치에 있어서 다음과 같은 문제점이 있었다.
즉, 두 개의 1-D IDCT를 수행할 때 계수들에 2n을 곱해주었다가 다시 버퍼에저장을 할 때 곱해진 2n의 배수를 나누어 저장한다.
이때 소수점 아래 숫자들은 절단됨으로써 에러가 발생하여 이는 계수들에 곱해지는 2n의 크기와 상관없이 발생하는 에러이다.
즉, 아무리 계수를 키운다고 하더라도 다음 단에 전해지는 데이터의 가장 하위 비트 다음의 첫 하위 비트가 사라짐으로써 비교적 큰(에러가 전파되어 다음 단에서 증폭되는) 에러가 발생하게 된다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 안출한 것으로 원래 저장되어야 하는 데이터에 2의 배수를 곱해진 데이터를 저장함으로서 복원된 데이터의 에러(error)를 줄임과 동시에 전체적인 면적을 줄이도록 한 역 이산 코사인 변환 장치를 제공하는데 그 목적이 있다.
도 1은 일반적인 MPEG 비디오 디코딩 장치의 구성을 설명하기 위한 블록도
도 2는 일반적인 역 이산 코사인 변환 장치를 나타낸 블록도
도 3은 종래의 1-D IDCT의 개략적인 구성을 나타낸 블록 다이어그램
도 4는 본 발명에 의한 IDCT의 개략적인 구성을 나타낸 블록 다이어그램
도면의 주요 부분에 대한 부호의 설명
41a,41b : 제 1, 제 2 입력단 42 : 프리-프로세서
43 : 제 1 먹스부 44 : 산술논리연산부
45a,45b : 제 1,제 2 포스트 프로세서 46 : 제 2 먹스부
47 : 쉬프터
상기와 같은 목적을 달성하기 위한 본 발명에 의한 역 이산 코사인 변환 장치는 제 1, 제 2 1차원 IDCT로 구성되어 영상 압축 디코더내에서 역 이산 코사인 변환을 수행하는 역 이산 코사인 변환 장치에 있어서, 비트-폭이 서로 다른 두 개의 픽셀 데이터를 입력으로 받는 제 1, 제 2 입력단과, 상기 제 1, 제 2 입력단으로 입력되는 두 개의 픽셀 데이터의 비트-폭을 동일하게 보상해 주는 프리-프로세서와, 상기 제 1, 제 2 입력단을 통해 입력되는 데이터 중에 외부의 제어값에 따라 선택적으로 출력하는 제 1 먹스부와, 상기 제 1 먹스부의 출력을 받아 연산하여 출력하는 산술논리연산부와, 상기 산술논리연산부의 출력 값을 보상하여 출력하는 제1, 제 2 포스트 프로세서와, 상기 제 1, 제 2 포스트 프로세서의 출력 값을 입력으로 받아 외부의 제어 값에 따라 제 1 1차원 IDCT와 제 2 1차원 IDCT를 선택적으로 출력하는 제 2 먹스부와, 상기 제 2 먹스부가 제 1 1차원 IDCT를 출력할 때 산술논리연산부의 곱셈기의 계수에 곱해진 수(2n)보다 더 적은 수(2n-m)만큼 쉬프트시키는 쉬프터를 포함하여 구성됨을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명에 의한 역 이산 코사인 변환 장치를 상세히 설명하면 다음과 같다.
본 발명에서는 두 개의 1-D IDCT 사이의 전치 버퍼에 데이터를 저장할 때 원래의 데이터를 저장해야 하는데 데이터에 2의 배수를 곱해진 데이터를 저장함으로서 종래의 문제점을 해결하고자 한다.
예를 들면, 첫 번째 1-D IDCT를 수행할 때, 2n(n은 정수)을 곱했다고 하면 이 단의 끝에서 다시 2의 배수를 나눌 때 2n을 나누는 것이 아니라 2n-m을 나눔으로써 전파되는 전이 에러를 줄인다(단, n 》m, 이때 n과 m은 정수).
이때 쉬프트양에 의해서 생기는 첫 번째 1-D IDCT와 두 번째 1-D IDCT로의 입력 비트-폭(bit-width) 차이로 인해 두 데이터 경로(data path)가 달라지게 되는데, 이 두 데이터 경로의 리소스(resource)를 할당하기 위해서는 먹싱(Muxing)을 통해 비트-폭과 상관없이 두 데이터 경로를 공유시켜 면적을 줄일 수 있다.
도 3은 본 발명에 의한 역 이산 코사인 변환 장치를 나타낸 블록 다이어그램이다.
도 3에서와 같이, 영상 압축 디코더내에서 역 이산 코사인 변환을 수행하는 역 이산 코사인 변환 장치에 있어서, 비트-폭이 서로 다른 두 개의 픽셀 데이터(first 1-D IDCT input와 second 1-D IDCT input)를 입력으로 받는 제 1, 제 2 입력단(41a,41b)과, 상기 제 1, 제 2 입력단(41a,41b)으로 입력되는 두 개의 픽셀 데이터 중 비트-폭이 짧은 쪽의 픽셀 데이터의 비트-폭을 그 차이만큼 보상하여 동일하게 만들어주는 프리-프로세서(pre-processor)(42)와, 상기 프리-프로세서(42)에서 보상된 픽셀 데이터와 제 1, 제 2 입력단(41a,41b)을 통해 입력되는 픽셀 데이터 중에 외부의 제어값(first/second)에 따라 선택적으로 출력하는 제 1 먹스(mux)부(43)와, 상기 제 1 먹스부(43)의 출력 값을 받아 연산하여 출력하는 곱셈기/덧셈기(44a)와 덧셈기/뺄셈기(44b)로 구성된 산술논리연산부(44)와, 상기 산술논리연산부(44)의 출력 값을 보상하여 출력하는 제 1, 제 2 포스트 프로세서(post processor)(45a,45b)와, 상기 제 1, 제 2 포스트 프로세서(45a,45b)의 출력 값을 입력으로 받아 외부의 제어 값(first/second)에 따라 선택적으로 첫 번째 1차원 IDCT와 두 번째 1차원 IDCT를 출력하는 제 2 먹스부(46)와, 상기 제 2 먹스부(46)의 출력 값을 받아 산술논리연산부(44)의 곱셈기의 계수에 곱해진 수(n)보다 더 적은 수(2n-m(여기서 n 》m, 이때 n과 m은 정수)만큼 쉬프트시키는 쉬프터(shifter)(47)를 포함하여 구성되어 있다.
이때 상기 쉬프터(47)는 제 2 먹스부(46)에서 선택된 것이 두 번째 1차원 IDCT일 때는 2n+m만큼 쉬트시킨다.
여기서, 입력되는 픽셀 데이터의 비트-폭(bit-width)이 서로 다르므로 first 1-D IDCT input와 second 1-D IDCT input의 입력으로 받는 제 1, 제 2 입력단(41a,41b)을 구성한 후, 처리될 비트-폭이 같아지도록 한다.
즉, first 1-D IDCT input의 비트-폭이 second 1-D IDCT input의 비트 폭보다 더 짧으므로 그 차이만큼 사인-익스텐션(sign-extension)을 하거나 뒤에 그 차이만큼 0을 채우기 위해 상기 제 1 입력단(41a)의 출력단에 프리-프로세서(pre processor)(42)를 추가로 구성한다.
본 발명에서는 도 1의 첫 번째 1-D IDCT(21)와 두 번째 1-D IDCT(23)를 각각 나타낸 도 2의 곱셈기 및 덧셈기(22)와 덧셈기 및 뺄셈기(23)를 공유하도록 함으로서 전체적인 면적을 1/2로 줄일 수 있다.
그리고 상기 제 1 먹스부(43)에서 선택된 압축 데이터를 곱셈기 및 덧셈기(44a)에서 상수 값에 2n을 곱하여 정수로 변환한다.
수학식 3에서 여기서 4 ×4 매트릭스와 4 ×1 매트릭스를 내적하는 부분이 나오는데, 이 내적을 위해 곱셈기 및 덧셈기(44a)를 사용한다.
여기서 픽셀 데이터 x(i)(i=0,1,2,…,7)이다.
그리고 수학식 3에서와 같이 총 4개의 내적이 필요하고, 따라서 덧셈기 및 뺄셈기(44b)를 사용하여 각 내적간에 더하기도 하고 빼기도 한다. 수학식 2에서 x(n)에서 n이 4보다 작으면 더하고, 4보다 같거나 크면 빼게된다.
이어, 상기 덧셈기 및 뺄셈기(44b)의 출력단에는 두 개의 1-D IDCT의 데이터 경로를 하나로 공유시키기 위해서 첫 번째 1-D IDCT의 입력을 두 번째 1-D IDCT의 입력과 비트 폭이 같게 만들기 위해서 첫 번째 1-D IDCT에 포스트 프로세서(post processor)(45)를 추가로 구성한다.
그리고 상기 포스트 프로세서(45)와 덧셈기 및 뺄셈기(44b)의 출력 값을 받아 외부의 제어 값(first/second)에 따라 첫 번째 1-D IDCT와 두 번째 1-D IDCT를 선택하여 출력하는 제 2 먹스부(46)를 구성한다.
이어, 상기 제 2 먹스부(46)에서 선택된 값을 받아 상기 곱셈기 및덧셈기(44a)의 곱셈기의 계수에 곱해진 수(2n)보다 더 적은 수(2n-m, n 》m, 이때 n과 m은 정수)를 쉬프트시키어 IDCT 결과 데이터를 출력하는 쉬프터(47)를 포함한다.
즉, 본 발명에서는 전체 2차원 IDCT를 수행함에 있어 에러가 전파되는 것을 줄여주기 위해 첫 번째 1-D IDCT단의 계산을 위한 마지막 단에 해당하는 쉬프터(47)에서 곱셈기의 계수에 곱해진 2n보다 더 적은 2n-m(n 》m, 이때 n과 m은 정수)을 쉬프트하도록 한다.
또한, 종래의 2m을 보상하기 위해 두 번째 1-D IDCT단의 쉬프터를 2n+m을 쉬프트하도록 한다.
즉, 본 발명은 제 2 먹스부(46)에서 첫 번째 1-D IDCT 연산이 선택되면 마지막단인 쉬프터(47)에서 상수에 곱해진 n만큼 쉬프트시키는 것이 아니라 곱셈기의 계수에 곱해진 2n보다 더 작은 2n-m만큼 쉬프트시키고, 두 번째 1-D IDCT 연산이 선택되면 쉬프터(47)에 종래의 2m을 보상하기 위해 2n+m을 쉬프트시킴으로서 전파되는 절단(truncation)에 의한 에러를 줄일 수 있다.
이상에서 설명한 바와 같이 본 발명에 의한 역 이산 코사인 변환 장치는 다음과 같은 효과가 있다.
첫째, 2차원 IDCT를 구현하기 위한 두 개의 1차원 IDCT를 구성하는 곱셈기및 덧셈기와 덧셈기 및 뺄셈기를 공유하도록 함으로서 전체적인 면적을 1/2로 줄일 수 있다.
둘째, 첫 번째 1차원 IDCT를 구현할 때는 쉬프터에서 상수에 곱해진 n만큼 쉬프트시키는 것이 아니라 곱셈기의 계수에 곱해진 2n보다 더 작은 2n-m만큼 쉬프트시키고, 두 번째 1-D IDCT를 구현할 때는 쉬프터에 2m을 보상하기 위해 2n+m을 쉬프트시킴으로서 전파되는 절단에 의한 에러를 줄일 수 있다.

Claims (3)

  1. 제 1, 제 2 1차원 IDCT로 구성되어 영상 압축 디코더내에서 역 이산 코사인 변환을 수행하는 역 이산 코사인 변환 장치에 있어서,
    비트-폭이 서로 다른 두 개의 픽셀 데이터를 입력으로 받는 제 1, 제 2 입력단과,
    상기 제 1, 제 2 입력단으로 입력되는 두 개의 픽셀 데이터의 비트-폭을 동일하게 보상해 주는 프리-프로세서와,
    상기 제 1, 제 2 입력단을 통해 입력되는 데이터 중에 외부의 제어값에 따라 선택적으로 출력하는 제 1 먹스부와,
    상기 제 1 먹스부의 출력을 받아 연산하여 출력하는 산술논리연산부와,
    상기 산술논리연산부의 출력 값을 보상하여 출력하는 제 1, 제 2 포스트 프로세서와,
    상기 제 1, 제 2 포스트 프로세서의 출력 값을 입력으로 받아 외부의 제어 값에 따라 제 1 1차원 IDCT와 제 2 1차원 IDCT를 선택적으로 출력하는 제 2 먹스부와,
    상기 제 2 먹스부가 제 1 1차원 IDCT를 출력할 때 산술논리연산부의 곱셈기의 계수에 곱해진 수(2n)보다 더 적은 수(2n-m)만큼 쉬프트시키는 쉬프터를 포함하여 구성됨을 특징으로 하는 역 이산 코사인 변환 장치.
  2. 제 1 항에 있어서, 상기 제 2 먹스부가 제 2 1차원 IDCT를 출력할 때 쉬프터에서 2n+m만큼 쉬프트하는 것을 특징으로 하는 역 이산 코사인 변환 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 n은 m보다 큰 정수인 것을 특징으로 하는 역 이산 코사인 변환 장치.
KR1020020037545A 2002-06-29 2002-06-29 역 이산 코사인 변환 장치 KR20040002115A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020037545A KR20040002115A (ko) 2002-06-29 2002-06-29 역 이산 코사인 변환 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020037545A KR20040002115A (ko) 2002-06-29 2002-06-29 역 이산 코사인 변환 장치

Publications (1)

Publication Number Publication Date
KR20040002115A true KR20040002115A (ko) 2004-01-07

Family

ID=37313834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020037545A KR20040002115A (ko) 2002-06-29 2002-06-29 역 이산 코사인 변환 장치

Country Status (1)

Country Link
KR (1) KR20040002115A (ko)

Similar Documents

Publication Publication Date Title
KR101013344B1 (ko) 이산 코사인 변환의 계산 중의 에러 감소
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
US5825680A (en) Method and apparatus for performing fast division
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
KR100331136B1 (ko) 멀티미디어정보용역코사인변환함수를수행하는컴퓨터시스템
KR100275933B1 (ko) 엠펙디코더의 역이산여현변환장치
JPH07274174A (ja) デジタル信号デコーダ・システム
US20060129622A1 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
US7720299B2 (en) Compressed data multiple description transmission and resolution conversion system
JP4688988B2 (ja) ビデオデータの圧縮方法並びに装置、及び伸張方法並びに装置
KR20010072420A (ko) 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법
KR100377084B1 (ko) 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
US20030133507A1 (en) Adaptive inverse transformation device
US8107767B2 (en) Data transform apparatus and control method thereof
KR20040002115A (ko) 역 이산 코사인 변환 장치
US7555510B2 (en) Scalable system for inverse discrete cosine transform and method thereof
KR100433709B1 (ko) 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
US6327601B1 (en) Linear transform system for decoding video data
KR20030049852A (ko) 역 이산 코사인 변환(idct) 장치
Caroline et al. A reconfigurable DCT/IDCT architecture for video codec: A Review
KR100221657B1 (ko) 역이산여현변환장치
Konstantinides Key Components in the design of image and video compression ICs
KR960014196B1 (ko) 이차원 역 이산 코사인 변환(idct) 프로세서

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination