KR20030049852A - 역 이산 코사인 변환(idct) 장치 - Google Patents

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

Info

Publication number
KR20030049852A
KR20030049852A KR1020010080181A KR20010080181A KR20030049852A KR 20030049852 A KR20030049852 A KR 20030049852A KR 1020010080181 A KR1020010080181 A KR 1020010080181A KR 20010080181 A KR20010080181 A KR 20010080181A KR 20030049852 A KR20030049852 A KR 20030049852A
Authority
KR
South Korea
Prior art keywords
discrete cosine
inverse discrete
cosine transform
bits
constants
Prior art date
Application number
KR1020010080181A
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 KR1020010080181A priority Critical patent/KR20030049852A/ko
Publication of KR20030049852A publication Critical patent/KR20030049852A/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 복원된 데이터의 에러를 줄이도록 한 역 이산 코사인 변환 장치에 관한 것으로서, 제 1, 제 2 1차원 IDCT와 그 사이에 전치 버퍼로 구성된 역 이산 코사인 변환 장치에 있어서, 상기 제 1 1차원 IDCT 연산의 마지막단인 쉬프터에서 n - m의 비트만큼 왼쪽으로 쉬프트하고 제 2 1차원 IDCT의 쉬프터에서 n + m의 비트만큼 오른쪽으로 쉬프트하는 것을 특징으로 한다.

Description

역 이산 코사인 변환(IDCT) 장치{Inverse Discrete Cosine Transform Device}
본 발명은 MPEG에 관한 것으로, 특히 복원된 데이터의 에러(error)를 줄이는데 적당한 역 이산 코사인 변환(Inverse Discrete Cosine Transform ; IDCT) 장치에 관한 것이다.
최근 들어 정보의 디지털화가 급속도로 발전하고 있으며, 이에 따라 화상 압축 기술이 매우 중요하게 부각되고 있다.
동화상 전문가 그룹(Moving Pictures Expert Group ; MPEG)은 멀티미디어 환경에 가장 핵심 기술인 디지털 동영상의 압축 부호화를 위한 국제적인 표준안이다.
이때, 시간에 따라 변화하는 비디오 시퀀스를 효율적으로 압축하기 위해서는 영상 데이터가 갖고 있는 2차원 공간상의 중복성(Redundancy)뿐만 아니라 시간축의 중복성 제거가 절대적으로 필요하다.
MPEG에서는 2차원 공간상의 중복성을 줄이기 위하여 DCT를 이용하며, 시간축의 중복성을 제거하기 위하여 움직임 보상 방법을 이용한다.
여기서, DCT는 2차원 축변환을 통해서 데이터의 상관성을 제거하는 방법으로 픽쳐를 블록 단위로 나눈 후 나뉘어진 각각의 블록을 DCT 알고리즘에 따라 축변환시킨다.
이렇게 축변환된 데이터들은 한쪽 방향(예컨대, 저역 방향)으로 몰리는 경향이 있는데 이렇게 몰려진 데이터들만을 양자화해서 전송하게 된다.
이와 같이 압축된 영상을 복원하는데 사용되는 IDCT 구현 방법에는 페스트(Fast) IDCT, DA(Distributed Arithmetic) 등의 방법들이 적용될 수 있고, 그 계산 과정에 곱셈이 필요하게 되는데 여기서 곱셈기를 직접 사용하는 방법, 곱셈기를 대신해 ROM(Read On Memory)를 사용하여 추가(add), 이동(shift), 축적(accumulate)시키는 방법 등으로 곱셈을 할 수 있다.
보통 IDCT를 구현함에 있어서 원래 수학적 식에서 존재하는 플로팅-포인트(floating-point) 연산(입력 값들에 사인(sine), 코사인(cosine)값들을 곱해서 더하는 형식)을 하지 않고 정수 연산을 하게 된다.
정수 연산을 하기 위해선 입력 값들에 곱해지는 1이하의 플로팅-포인트 계수들에 2의 배수 값을 곱하여 정수로 만들고 있다.
이하, 첨부된 도면을 참고하여 종래의 역 이산 코사인 변환 장치를 설명하면 다음과 같다.
도 1은 일반적인 역 이산 코사인 변환 장치를 나타낸 블록도이다.
도 1에서와 같이, 2개의 1차원 IDCT(11)(13)와 1개의 전치 버퍼(transpose buffer)(12)로 구성함으로써 1차원 IDCT(11)에서 1차원 IDCT가 실행된 후 전치 버퍼(22)에서 컬럼-로우(Column-Row) 전치가 일어나고 데이터 치환되어 저장된 후, 후단의 1차원 IDCT(13)에서 1차원의 역 이산 코사인 변환이 다시 수행되도록 한 것이다.
도 2a 및 도 2b는 종래의 첫 번째 1차원 IDCT와 두 번째 1차원 IDCT의 블록 다이어그램이다.
도 2a 및 도 2b에서와 같이, 압축 데이터가 입력단(21)을 통해 입력되면 곱셈기 및 덧셈기(22)에서 상수 값에 2n의 배수를 곱하여 정수 변환을 한다.
따라서 IDCT는 수학식 1을 구현된다.
그리고 수학식 2는 1차원 IDCT 식이고, 이를 두 번 로우(row), 칼럼(column) 방향으로 실행함으로서 수학식 1이 구현된다.
여기서 4 ×4 매트릭스와 4 ×1 매트릭스를 내적하는 부분이 나오는데, 이 내적을 위해 곱셈기 및 덧셈기(22)를 사용한다.
여기서 픽셀 데이터 x(i)(i=0,1,2,…,7)이다.
그리고 수학식 2에서와 같이 총 4개의 내적이 필요하고, 따라서 덧셈기 및 뺄셈기(23)를 사용하여 각 내적간에 더하기도 하고 빼기도 한다. 수학식 2에서 x(n)에서 n이 4보다 작으면 더하고, 4보다 같거나 크면 빼게된다.
이어, 쉬프터(24)에 관해서 설명하면, 상기 내적에 하나의 입력으로 제공되는 A, B, C, D, E, F, G는 플로팅 값이 되고, 만약 정수 연산을 한다면 이를 정수로 바꿔주는 역할이 필요하다.
따라서 상수에 2n승을 곱하여 소수점 이하부분은 버리고 n(여기서 n은 정수)의 비트만큼 왼쪽으로 쉬프트한다.
한편, 상기 A, B, C, D, E, F, G는 상수로 저장되어 있기 때문에 별도의 쉬프트 연산을 거치지 않고 정수변환 된 값을 저장하고 있다. 하지만 이 상수를 정수로 바꾸는데 쓰인 곱셈만큼 1차원 IDCT 마지막 단에서 나눠줘야 한다.
이를 위해 필요한 것이 오른쪽 방향으로 n비트만큼 쉬프트하는 연산이다.
그러나 상기와 같은 종래의 역 이산 코사인 변환 장치에 있어서 다음과 같은 문제점이 있었다.
즉, 두 개의 1차원 IDCT를 수행할 때 계수들에 2n승 배수를 곱해주었다가 다시 버퍼에 저장을 할 때 곱해진 2의 배수를 나누어 저장한다.
이때 소수점 아래 숫자들은 절단됨으로써 에러가 발생하여 이는 계수들에 곱해지는 2의 배수의 크기와 상관없이 발생하는 에러이다.
즉, 아무리 계수를 키운다고 하더라도 다음 단에 전해지는 데이터의 가장 하위 비트 다음의 첫 하위 비트가 사라짐으로써 비교적 큰(에러가 전파되어 다음 단에서 증폭되는) 에러가 발생하게 된다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 안출한 것으로 복원된 데이터의 에러(error)를 줄이도록 한 역 이산 코사인 변환 장치를 제공하는데 그 목적이 있다.
도 1은 일반적인 역 이산 코사인 변환 장치를 나타낸 블록도
도 2a 및 도 2b는 종래의 첫 번째 1차원 IDCT와 두 번째 1차원 IDCT의 블록 다이어그램
도 3a 및 도 3b는 본 발명에 의한 첫 번째 1차원 IDCT와 두 번째 1차원 IDCT의 블록 다이어그램
도면의 주요 부분에 대한 부호의 설명
31 : 입력단 32 : 곱셈기 및 덧셈기
33 : 덧셈기 및 뺄셈기 34 : 쉬프터
상기와 같은 목적을 달성하기 위한 본 발명에 의한 역 이산 코사인 변환 장치는 제 1, 제 2 1차원 IDCT와 그 사이에 전치 버퍼로 구성된 역 이산 코사인 변환 장치에 있어서, 상기 제 1 1차원 IDCT 연산의 마지막단인 쉬프터에서 n - m의 비트만큼 왼쪽으로 쉬프트하고 제 2 1차원 IDCT의 쉬프터에서 n + m의 비트만큼 오른쪽으로 쉬프트하는 것을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명에 의한 역 이산 코사인 변환 장치를 상세히 설명하면 다음과 같다.
도 3a 및 도 3b는 본 발명에 의한 첫 번째 1차원 IDCT와 두 번째 1차원 IDCT의 블록 다이어그램이다.
도 3a 및 도 3b에서와 같이, 압축 데이터가 입력단(31)을 통해 입력되면 곱셈기 및 덧셈기(32)에서 상수 값에 2n의 배수를 곱하여 정수로 변환한다.
수학식 3에서 여기서 4 ×4 매트릭스와 4 ×1 매트릭스를 내적하는 부분이 나오는데, 이 내적을 위해 곱셈기 및 덧셈기(32)를 사용한다.
여기서 픽셀 데이터 x(i)(i=0,1,2,…,7)이다.
그리고 수학식 3에서와 같이 총 4개의 내적이 필요하고, 따라서 덧셈기 및 뺄셈기(33)를 사용하여 각 내적간에 더하기도 하고 빼기도 한다. 수학식 2에서 x(n)에서 n이 4보다 작으면 더하고, 4보다 같거나 크면 빼게된다.
이어, 상기 내적에 하나의 입력으로 제공되는 A, B, C, D, E, F, G는 플로팅 값이 되고, 만약 정수 연산을 한다면 이를 정수로 바꿔주는 역할이 필요하다.
따라서 상수에 2n승을 곱하여 소수점 이하부분은 버리고 정수 연산에 사용한다.
한편, 상기 A, B, C, D, E, F, G는 상수로 저장되어 있기 때문에 별도의 쉬프트 연산을 거치지 않고 정수변환 된 값을 저장하고 있다. 하지만 이 상수를 정수로 바꾸는데 쓰인 곱셈만큼 1차원 IDCT 마지막 단에서 나눠줘야 한다.
이를 위해 필요한 것이 오른쪽 방향으로 n + m 비트만큼 쉬프트하는 연산이다.
한편, 각 단계 사이의 데이터들은 직렬(serial)로 전달할 수도 있고, 여러 개의 데이터가 병렬(parallel)로 전달할 수 있다.
이는 구현하기 나름으로 에러의 발생 유무나 크기에 상관이 없다.
여기서 곱셈은 매트릭스(matrix)에서의 인너 프로덕트인데 인너 프로덕트의 계산 특성상 두 번째 단이 필요하게 된다.
이 단에서 곱셈에 사용되는 계수값에는 2n이 곱해지고 마지막 쉬프터에서 n +m 비트만큼 오른쪽으로 쉬프트됨으로서 나눗셈이 이뤄진다.
세 번째단은 1차원 IDCT 알고리즘 중 페스트 알고리즘을 썼을 경우에 사용된다.
즉, 종래의 방법에서는 두 개의 1차원 IDCT가 같은 블록일 수 있었으나 본 발명에서는 쉬프터(34) 부분이 달라진다.
그리고 첫 번째 단에서 쉬프트를 덜 함(n - m 비트만큼)으로서 버퍼에 저장되어야 할 데이터의 길이가 m 비트만큼 달라질 수 있다.
그리고 두 번째 1차원 IDCT에서 데이터 경로들의 비트 수가 m 비트만큼 길어져야 한다.
여기서 m을 정할 때 하드웨어의 면적 제약과 에러 크기의 제약을 트래드-오프(trade-off)해야 한다.
즉, 본 발명은 첫 번째 1차원 IDCT 연산의 마지막단인 쉬프터(34)에서 상수에 곱해진 n만큼 쉬프트시키는 것이 아니라 (n-m)만큼 왼쪽으로 쉬프트시킴으로서 전파되는 절단(truncation)에 의한 에러를 줄일 수 있고, 이를 뒷 단의 1차원 IDCT의 쉬프터(34)에서 (n+m)만큼 오른쪽으로 쉬프트함으로서 보상을 해준다.
이상에서 설명한 바와 같이 본 발명에 의한 역 이산 코사인 변환 장치는 다음과 같은 효과가 있다.
즉, 첫 번째 1차원 IDCT를 수행할 때 A, B, C, D, E, F, G에 2n을 곱한 값을 상수로 썼을 경우 쉬프터에서 n - m비트만큼 왼쪽으로 쉬프트시킴으로써 절단에 의한 에러를 줄일 수 있기 때문에 복원된 데이터의 에러를 줄일 수 있다.

Claims (2)

  1. 제 1, 제 2 1차원 IDCT와 그 사이에 전치 버퍼로 구성된 역 이산 코사인 변환 장치에 있어서,
    상기 제 1 1차원 IDCT 연산의 마지막단인 쉬프터에서 n - m의 비트만큼 왼쪽으로 쉬프트하고 제 2 1차원 IDCT의 쉬프터에서 n + m의 비트만큼 오른쪽으로 쉬프트하는 것을 특징으로 하는 역 이산 코사인 변환 장치.
  2. 제 1 항에 있어서, 상기 n은 m보다 큰 정수인 것을 특징으로 하는 역 이산 코사인 변환 장치.
KR1020010080181A 2001-12-17 2001-12-17 역 이산 코사인 변환(idct) 장치 KR20030049852A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010080181A KR20030049852A (ko) 2001-12-17 2001-12-17 역 이산 코사인 변환(idct) 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010080181A KR20030049852A (ko) 2001-12-17 2001-12-17 역 이산 코사인 변환(idct) 장치

Publications (1)

Publication Number Publication Date
KR20030049852A true KR20030049852A (ko) 2003-06-25

Family

ID=29575637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010080181A KR20030049852A (ko) 2001-12-17 2001-12-17 역 이산 코사인 변환(idct) 장치

Country Status (1)

Country Link
KR (1) KR20030049852A (ko)

Similar Documents

Publication Publication Date Title
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
US7912318B2 (en) Data transform apparatus and control method thereof
KR100331136B1 (ko) 멀티미디어정보용역코사인변환함수를수행하는컴퓨터시스템
US7188132B2 (en) Hadamard transformation method and apparatus
JP3902990B2 (ja) アダマール変換処理方法及びその装置
US7720299B2 (en) Compressed data multiple description transmission and resolution conversion system
US9378186B2 (en) Data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data
US7805476B2 (en) Extended Haar transform
Wahid et al. Error-free computation of 8/spl times/8 2D DCT and IDCT using two-dimensional algebraic integer quantization
US8107767B2 (en) Data transform apparatus and control method thereof
US7421139B2 (en) Reducing errors in performance sensitive transformations
KR20030049852A (ko) 역 이산 코사인 변환(idct) 장치
US7489826B2 (en) Compensating for errors in performance sensitive transformations
EP1406179A1 (en) Dct matrix decomposing method and dct device
US7430332B2 (en) Approximations used in performance sensitive transformations which contain sub-transforms
KR100433709B1 (ko) 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
JP3754957B2 (ja) アダマール変換処理方法及びその装置
KR20040002115A (ko) 역 이산 코사인 변환 장치
KR100262645B1 (ko) 역 이산 코사인 장치
JP3543151B2 (ja) データ圧縮方法及びデータ圧縮装置
US6993550B2 (en) Fixed point multiplying apparatus and method using encoded multiplicand
JPH0746136A (ja) 音響又は画像変換プロセッサ、音響又は画像データ処理装置、音響又は画像データ処理方法、算術プロセッサ、及びデータプロセッサ
JP2003345778A (ja) 2次元逆離散コサイン変換回路及び画像復号化装置
JP2000172674A (ja) 逆dct演算装置および逆dct演算方法
KR20060120885A (ko) 이산여현변환회로장치 및 이를 구비한 화상처리장치

Legal Events

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