KR20040044253A - 고속 역 이산 여현 변환 방법 및 장치 - Google Patents

고속 역 이산 여현 변환 방법 및 장치 Download PDF

Info

Publication number
KR20040044253A
KR20040044253A KR1020020072384A KR20020072384A KR20040044253A KR 20040044253 A KR20040044253 A KR 20040044253A KR 1020020072384 A KR1020020072384 A KR 1020020072384A KR 20020072384 A KR20020072384 A KR 20020072384A KR 20040044253 A KR20040044253 A KR 20040044253A
Authority
KR
South Korea
Prior art keywords
discrete cosine
inverse discrete
value
matrix
cosine transform
Prior art date
Application number
KR1020020072384A
Other languages
English (en)
Other versions
KR100561392B1 (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 KR20020072384A priority Critical patent/KR100561392B1/ko
Priority to US10/712,022 priority patent/US20040133613A1/en
Priority to EP20030257263 priority patent/EP1422664A2/en
Priority to JP2003389915A priority patent/JP2004310735A/ja
Priority to CNB2003101147842A priority patent/CN1250009C/zh
Publication of KR20040044253A publication Critical patent/KR20040044253A/ko
Application granted granted Critical
Publication of KR100561392B1 publication Critical patent/KR100561392B1/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 고속 역 이산 여현 변환 방법 및 장치에 관한 것으로, 본 발명에 따른 고속 역 이산 여현 변환 방법은 소정의 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색하는 단계, 검색된 0이 아닌 값을 갖는 원소를 2 차원 역 이산 여현 변환하는 단계, 및 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 임계 값을 초과하는 경우, 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환하는 단계로 구성된다.
본 발명에 따르면, 역 이산 여현 변환을 수행하는데 있어서, 이산 여현 변환 행렬의 원소들의 값의 대다수를 차지하는 "0"에 의한 불필요한 계산을 최대한 줄일 수 있는 효과가 있다. 또한, 압축 파일의 압출률이 낮아, "0"이 아닌 값을 갖는 원소들의 개수가 적을 때에는 기존의 고속 역 이산 여현 변환 알고리즘을 사용함으로서, 양자화 스케일에 따라 최적의 역 이산 여현 변환 알고리즘을 제공한다는 효과가 있다.

Description

고속 역 이산 여현 변환 방법 및 장치{Method and apparatus for fast inverse discrete cosine transform}
본 발명은 고속 역 이산 여현 변환 방법 및 장치에 관한 것이다.
디지털 형식의 데이터의 압축, 특히 영상 신호의 압축은 다양한 멀티미디어 응용 환경에 있어서 필수적인 요소이나, 영상 신호는 많은 정보를 처리해야 하므로 효율적인 전송이나 저장 및 가공에 많은 제약이 생기게 된다. 이러한 제약을 해결하기 위해 MPEG-2, MPEG-4, H.263, H.26L 등 국제적 표준은 압축 스트림 문법 및 복호화 과정을 정의하고 있다.
압축 방식에는 무손실 압축 방식과 손실 압축 방식이 있는데, 문자, 도형, 일반 데이터 등을 무손실 압축하면 완전 복구가 가능하지만 압축률은 평균적으로 2 대 1 정도이다. 반면, 영상, 음성, 음향 등의 데이터를 인간의 눈과 귀가 거의 느끼지 못할 정도로 작은 손실을 허용하면서 압축하면 10 대 1 이상의 압축률을 쉽게 얻을 수 있다. 영상 데이터를 효과적으로 압축하기 위한 목적으로 가장 널리 쓰이는 손실 부호화 기법은 변환 부호화이다. 이 방식의 기본구조는 공간적으로 높은 상관도를 가지면서 배열되어있는 데이터를 직교 변환에 의하여 저주파 성분으로부터 고주파 성분에 이르기까지 여러 주파수 성분으로 나누어 성분별로 달리 양자화하는 것이다. 이때, 각 주파수 성분간에는 상관도가 거의 없어지고, 신호의 에너지가 저주파 쪽에 집중된다. 직교 변환에 의해 주파수 영역으로 바뀐 데이터는 에너지가 많이 모이는(즉, 분산치가 큰) 주파수 성분이 보다 많은 비트를 할당받아 그 주파수 성분을 보다 충실히 표현하도록 하고 있다. 분산치가 4배(즉, 진폭이 2배) 될 때마다 1비트씩 더 할당받는데, 이렇게 되면 모든 주파수 성분에서 동일한 양자화 에러 특성을 갖게 된다. 여러 가지의 직교변환 중에, 이론적으로 영상 신호의에너지 집중 특성이 가장 뛰어나, 압축에 가장 효과적인 것은 카루넨-뢰브 변환(KLT, Karhunen-Loeve Transform)이다. 그러나, 이것은 영상에 따라 변환 함수가 새로 정의되어야 하므로 현실적으로 사용할 수 없다. 카루넨-뢰브 변환에 충분히 가까운 성능을 가지면서, 구현 가능한 변환이 바로 이산 여현 변환(DCT, Discrete Cosine Transform)이다. 현재, 여러 국제 표준에 핵심 기술로 자리잡고 있는 이산 여현 변환은 8 x 8크기의 화소를 하나의 블록으로 묶어 변환의 단위로 삼고 있다. 블록의 크기를 키울수록 압축 효율은 높아지나, 변환의 구현이 훨씬 어려워진다. 실험적으로 8 x 8이 성능과 구현의 용이성간 타협점으로 선택되었다.
종래의 압축 기술은 일반적으로 영상을 압축할 때 공간상의 중복성을 제거하기 위해 이산 여현 변환을 사용하며, 시간상의 중복성을 제거하기 위해서 움직임 추정(ME, Motion Estimation)과 움직임 보상(MC, Motion Compensation)을 사용한다.
도 1은 종래의 2 차원 역 이산 여현 변환(2D-IDCT, 2 Dimension - Inverse Discrete Cosine Transform)의 방향을 나타내는 도면이다.
역 이산 여현 변환 과정의 계산량을 줄임으로서, 고속으로 역 이산 여현 변환하기 위한 종래의 한가지 방식으로서, 도 1과 같이 1 차원 역 이산 여현 변환을 가로 및 세로 방향으로 각각 독립적으로 실시하였는데, 이것을 2 차원 역 이산 여현 변환이라고 한다. 특히, 도 1은 가로 N 번, 세로 N 번에 대한 2 개의 역 이산 여현 변환과 전치를 통한 RCA(Row Column Algorithm) 방식을 사용한 2 차원 역 이산 여현 변환이다. 즉, 열(row) 방향으로 1 차원 이산 여현 변환을 한 다음, 그 결과 값을 행(column)으로 계산하기 위해, 전치한 다음, 1 차원 이산 여현 변환을 한다.
도 2는 종래의 역 이산 여현 변환 알고리즘들의 계산량을 비교한 비교표를 도시한 도면이다.
상기 도 1의 2 차원 역 이산 여현 변환을 실현하기 위한 역 이산 여현 변환 알고리즘에는 Sparse Matrix Factorizations를 기초로 한 Cheng 알고리즘, Wang 알고리즘과 Discrete Fourier Transform을 기초로 한 Lee 알고리즘, AAN 알고리즘이 있다. 도 2에는 이들 알고리즘을 수행하는데 요구되는 곱셈 및 덧셈의 회수를 표시해 놓았다.
도 3은 종래의 고속 역 이산 여현 변환 알고리즘 중의 하나인 Wang 알고리즘을 나타내는 도면이다.
입력 신호 x(0) ~ x(7)에 대하여 출력 신호 X(0) ~ X(7)가 출력된다. 이 과정에서 각 접점에는 이전 접점들과의 계산 결과가 전달되어야 한다. 접점과 접점 사이의 상수 C0 ~ C7은, 다음 접점을 계산할 때, 이전 접점에 곱해져야 하는 값을 나타낸다. 예로서, C0 = x(1) + x(7)와 같이 계산할 수 있다. 이러한 방법으로 모든 계산을 완료하면, 곱셈기는 16 개, 덧셈기는 26 개가 필요하게 된다. 구체적인 실시에 있어 약간씩 방법의 차이는 있으나, 대다수의 고속 알고리즘은 유사한 형태를 취하고 있다.
종래의 고속 역 이산 여현 변환 알고리즘은 역 이산 여현 변환 계산의 복잡도를 상당히 감소시키기는 하나, 압축을 푸는 복원 과정에서, 역 이산 여현 변환과정이 가장 많은 계산량을 요구한다는 문제점이 있었다. 다양한 멀티미디어 서비스를 제공하는 현재의 모바일(mobile) 환경에서, 인코더는 멀티미디어 서비스를 제공하는 사업자의 서버 시스템이므로 크기와 전력 소모에 있어서, 큰 제약을 받지 않지만, 디코더는 휴대폰, PDA(Personal Digital Assistant) 등 이동 통신 기기이므로 크기와 전력 소모에 있어서 제약을 받기 때문에, 디코더에서 수행되는 역 이산 여현 변환은 계산량이 감소되어야 한다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 유효한 값을 갖는 원소의 개수에 따라 이산 여현 변환 행렬을 원소별로 2차원 역 이산 여현 변환, 또는 행렬별로 2차원 역 이산 여현 변환을 함으로서, 역 이산 여현 변환 과정의 계산량을 현저히 감소시키는 방법 및 장치를 제공하는데 있다.
도 1은 종래의 2 차원 역 이산 여현 변환의 방향을 나타내는 도면이다.
도 2는 종래의 역 이산 여현 변환 알고리즘들의 계산량을 비교한 비교표를 도시한 도면이다.
도 3은 종래의 고속 역 이산 여현 변환 알고리즘 중의 하나인 Wang 알고리즘을 나타내는 도면이다.
도 4는 본 발명에 따른 고속 역 이산 여현 변환 장치의 구성도이다.
도 5는 일반적인 8 x 8 이산 여현 변환 행렬의 일 예를 나타내는 도면이다.
도 6은 본 발명에 따른 상기 도 4의 원소별 2 차원 역 이산 여현 변환부의 상세 구성도이다.
도 7은 본 발명에 따른 고속 역 이산 여현 변환 방법의 흐름도이다.
도 8은 본 발명에 따른 고속 역 이산 여현 변환의 계산량과 종래의 고속 역 이산 여현 변환의 계산량을 비교한 비교표를 도시한 도면이다.
상기 문제점을 해결하기 위한 본 발명에 따른 고속 역 이산 여현 변환 방법은 소정의 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색하는 단계; 상기 검색된 0이 아닌 값을 갖는 원소를 2 차원 역 이산 여현 변환하는 단계; 및 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 상기 임계 값을 초과하는 경우, 상기 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환하는 단계로 구성된다.
상기 또 다른 문제점을 해결하기 위한 본 발명에 따른 고속 역 이산 여현 변환 장치는 소정의 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색하는 원소 검색부; 상기 원소 검색부에서 검색된 0이 아닌 값을 갖는 원소를 2차원 역 이산 여현 변환하는 원소별 2 차원 역 이산 여현 변환부; 및 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 상기 임계 값을 초과하는 경우, 상기 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환하는 행렬별 2 차원 역 이산 여현 변환부로 구성된다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 4는 본 발명에 따른 고속 역 이산 여현 변환 장치의 구성도이다.
고속 역 이산 여현 변환 장치는 유효 원소 개수 계산부(40), 원소 검색부(41), 원소별 2 차원 역 이산 여현 변환부(42), 및 행렬별 2차원 역 이산 여현 변환부(43)로 구성된다.
일반적으로 영상 데이터를 압축하는 과정은 다음과 같다. 우선, 시간 영역의 영상 신호를 몇 개의 신호 전력이 고주파인 영역과 저주파인 영역으로 분해하여 변환하는 이산 여현 변환을 한다. 여기에서, 영상 신호의 전력은 저주파 영역에 집중되어 있기 때문에 적절한 비트 배분으로 양자화하면 전체의 비트 수를 적게 하여 데이터를 압축할 수 있게 된다. 이어서, 일정한 크기를 가진 양자들로 나눔으로서, 작은 값은 0으로 만들어, 전체적인 데이터 량을 줄이기 위한 양자화를 한다. 이때, 0이 되어 사라진 숫자들 때문에, 약간의 정보 손실이 있게 된다. 이어서, 연속적으로 반복되는 문자들(여기서는 0)을 하나의 문자와 그 길이로 대체하는 런 렝스 인코딩(run-length encoding)을 한다. 반복되는 문자가 길거나, 더 자주 나타날수록 압축 효율은 높아진다. 이어서, 지그재그 스캐닝(scaning)을 통하여 만들어진 정수열을 이진수로 변환하는 허프만 인코딩(Huffman encoding)을 한다. 상기된 모든 압축 과정을 통과하면, 8 x 8 행렬은 몇 개의 0과 1의 조합으로 줄어들게 된다. 이와 같이 압축된 영상 데이터를 풀려면, 상기된 압축 과정을 역으로 수행하면 된다.
상기한 바와 같이, 영상 데이터를 이산 여현 변환한 다음, 양자화하면, 압축 정보의 대부분은 저주파 영역으로 몰리며, 고주파 영역은 거의 제로가 된다. 양자화 스케일이 클수록, 많은 값이 0이 되기 때문에, 이산 여현 변환 행렬에서 0이 아닌 값을 갖는 원소의 개수는 줄어들고, 양자화 스케일이 작을 수록, 0이 아닌 값을 갖는 원소의 개수는 많아진다. 양자화 스케일이 커서, 이산 여현 변환 행렬에서 0이 아닌 값을 갖는 원소의 개수가 적을 때에는 종래의 고속 역 이산 여현 알고리즘을 이용하여, 행렬 전체를 역 이산 여현 변환할 필요 없이, 0이 아닌 값을 갖는 원소만을 역 이산 여현 변환하면 된다. 그러나, 양자화 스케일이 작아, 이산 여현 변환 행렬에서 0이 아닌 값을 갖는 원소의 개수가 많을 때에는 종래의 고속 역 이산 여현 알고리즘을 이용하는 것이 효율적이다.
원소 검색부(41)는 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색한다. 원소별 2 차원 역 이산 여현 변환부(42)는 원소 검색부(41)에서 검색된 0이 아닌 값을 갖는 원소를 2 차원 역이산 여현 변환한다. 상기한 바와 같이, 이산 여현 변환 행렬에서 0이 아닌 값을 갖는 원소의 개수가 원소별로 역 이산 여현변환을 할 것이냐, 행렬별로 역 이산 여현 변환을 할 것이냐를 결정하기 때문에, 적당한 크기의 임계 값을 정하여, 0이 아닌 값을 갖는 원소의 개수를 이 임계 값과 비교한다. 다시 말해서, 원소별로 역 이산 여현 변환을 하는 것이 행렬별로 역 이산 여현 변환을 하는 것보다 연산의 양이 감소하는 경우에 있어서, 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 최대 값이 되도록 결정한 값이 임계 값이다. 실험에 의하면, 양자화 스케일이 10 이하일 경우, 임계 값을 15로 정하고, 10 초과일 경우는 임계 값을 10으로 정하는 것이 가장 효율이 좋았다.
상기한 바와 같이, 압축 파일에 대한 일련의 디코딩 과정은 압축 과정의 역 과정이므로, 허프만 디코딩, 런 렝스 디코딩, 역 양자화, 및 역 이산 여현 변환의 과정을 거쳐 이루어지게 된다. 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수는 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 미리 알 수 있다. 런 렝스 인코딩 과정은 연속적으로 반복되는 0을 하나의 0과 그 길이로 대체하는 것이므로, 런 렝스 디코딩 과정에서 0의 길이를 알 수 있다. 따라서, 런 렝스 디코딩 과정에서 0이 아닌 값을 갖는 원소의 개수를 알 수 있다.
즉, 유효 원소 개수 계산부(40)는 소정의 압축 파일에 대한 일련의 디코딩 과정의 일 과정인, 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 0이 아닌 값을 갖는 원소만을 카운트함으로서 0이 아닌 값을 갖는 원소의 개수를 계산한다. 예를 들어, 인코딩 과정에서 양자화 스케일이 10 이하이고, 따라서 임계값을 15로 정했다고 하자. 양자화 스케일이 10 이하인 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 15 이하인 경우에는, 행렬별로 역 이산 여현 변환하는 것보다 원소별로 역 이산 여현 변환하는 것이 효율적이다.
행렬별 2차원 역 이산 여현 변환부(43)는 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 임계 값을 초과하는 경우, 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환한다. 상기된 예에서, 양자화 스케일이 10 이하인 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 15를 초과하는 경우에는, 원소별로 역 이산 여현 변환하는 것보다, 행렬별로 역 이산 여현 변환하는 것이 효율적이다. 행렬별 역 이산 여현 변환부(43)는 Wang 알고리즘, Chen 알고리즘, Lee 알고리즘, 또는 AAN 알고리즘을 포함하는 기존의 고속 역 이산 여현 변환 알고리즘을 사용하여 2 차원 역 이산 여현 변환한다.
도 5는 일반적인 8 x 8 이산 여현 변환 행렬의 일 예를 나타내는 도면이다.
영상 정보가 집중된 원소일수록 진하게 도시하였다. 상기한 바와 같이, 영산 정보가 가장 많이 집중된 원소, 즉 가장 낮은 주파수 대의 원소인 A1이 가장 진하게 도시되어 있다. 특히, A1의 값을 DC(저주파) 값이라 하고, 나머지 63개의 원소의 값을 AC(고주파) 값이라 한다. DC 값 및 이 근처에 있는 원소의 값들, 행렬 좌측 상단에 있는 원소의 값들은 영상 전체의 명도를 좌지우지하는 매우 중요한 정보를 담고 있다.
원소 검색부(41)에서 이산 여현 변환 행렬의 각 원소에 대하여 0이 아닌 값을 갖는 원소를 검색하는 순서는 수평적(horizontal) 방향으로 각 원소로 이어지는순서로 검색할 수도 있고, 수직적(vertical) 방향으로 각 원소로 이어지는 순서로 검색할 수도 있으나, 0이 아닌 값을 갖는 원소는 행렬의 좌측 상단에 몰려 있기 때문에, A1을 출발점으로 하여 지그재그 방향으로 각 원소로 이어지는 순서로 검색한다. 즉, A1, A2, A3, ㆍㆍㆍ로 이어지는 순서로 검색하는 것이 가장 적은 처리량으로 가장 많은 0이 아닌 값을 갖는 원소를 검색할 수 있다.
도 6은 본 발명에 따른 상기 도 4의 원소별 2 차원 역 이산 여현 변환부(42)의 상세 구성도이다.
상기 도 4의 원소별 2 차원 역 이산 여현 변환부(42)는 일부 값 산출부(61), 및 완전 값 산출부(62)로 구성된다.
일반적으로, 2 차원 역 이산 여현 변환을 하기 위해서는 다음과 같은 식을 사용한다.
C(i,j)T(i,j)cos( )cos( )
단, i≠0 및 j≠0 인 경우는 C(i,j)=2/N, i=0 또는 j=0인 경우는 C(i,j)=1/N
수학식 1에서 T(i,j)는 이산 여현 변환 행렬 T의 i+1,j+1 좌표에 있는 원소의 값이고, V(x,y)는 이산 여현 변환 행렬로부터 역 이산 여현 변환된 복원 행렬 V의 x+1,y+1 좌표에 있는 원소의 값이다. 만약, 이산 여현 변환 행렬 T가 일반적으로 사용되는 8 x 8 행렬이라면, i,j, x,y는 0 ~ 7 사이의 값을 갖고, N=8 이다.
DCT 행렬에서 0이 아닌 값을 갖는 원소만을 처리하기 위하여 중첩의 원리를사용한다. 즉, 중첩의 원리에 의하여, DCT 계수 블록을 일부씩, 또는 하나씩 나누어서 각각 IDCT한 다음, 그 결과를 합하면 전체를 한꺼번에 IDCT한 것과 같은 결과가 나온다. 본 발명에서는 DCT 계수의 블록 값을 하나씩 검색하여, 유효한 값이 있는 부분만을 IDCT한 다음, 그 결과를 최종적으로 합하여 복원 행렬을 구한다. 원소별로 2 차원 역 이산 여현 변환을 하기 위해서는 0이 아닌 값을 갖는 이산 여현 변환 행렬의 원소에 대하여 다음 식과 같이 계산하여야 한다.
IDCT(T)=IDCT(T(0,0))+IDCT(T(0,1))+IDCT(T(0,2))+ㆍㆍㆍ+IDCT(T(0,7))
+IDCT(T(1,0))+IDCT(T(1,1))+IDCT(T(1,2))+ㆍㆍㆍ+IDCT(T(1,7))
+IDCT(T(2,0))+IDCT(T(2,1))+IDCT(T(2,2))+ㆍㆍㆍ+IDCT(T(2,7))
+ㆍㆍㆍ+
+IDCT(T(7,0))+IDCT(T(7,1))+IDCT(T(7,2))+ㆍㆍㆍ+IDCT(T(7,7))
여기에서, IDCT(T)는 8 x 8 이산 여현 변환 행렬 T로부터 역 이산 여현 변환된 8 x 8 복원 행렬 V를 말하고, IDCT(T(0,0))는 수학식 1에 이산 여현 변환 행렬의 첫 행 및 첫 열의 원소의 값인 T(0,0)와 그 좌표 값 i=0,j=0을 대입한 다음, 복원 행렬 V의 각각의 좌표 값 x=0~7,y=0~7을 대입한 결과 값이, x,y 좌표에 있는 원소의 값이 되는 8 x 8 행렬이고, 이것은 8 x 8 복원 행렬 V의 일부 값이 된다. 즉, 이산 여현 변환 행렬 T의 0이 아닌 모든 원소에 대하여, 복원 행렬 V의 일부 값이 되는 행렬을 모두 구한 후 합하면, 중첩의 원리에 의하여 우리가 구하고자 하는 복원 행렬의 값을 얻을 수 있다. 본 발명을 실제적으로 구현할 때에는, 상기된 복원행렬 V의 일부 값이 되는 행렬은 메모리에 테이블 형태로 저장하고, 이후 저장된 모든 테이블들의 대응되는 메모리 주소에 있는 값들을 합함으로서, 복원 행렬 값을 구할 수 있다.
상기한 바와 같이, 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 양자화 스케일에 따라 6개 이하, 10개 이하, 또는 15개 이하인 경우에 적용할 수 있으며, 이보다 많을 경우에는 일반적인 고속 알고리즘을 사용하여야 한다. 이러한 적용이 가능한 이유는 MPEG2, MPEG4, H.261 등의 영상 압축 알고리즘에서 0이 아닌 값을 갖는 원소의 개수가 대부분 10개 이하이기 때문이다.
만약, 이산 여현 변환 행렬에 있어서, 0이 아닌 값을 갖는 원소의 개수가 10개라면 원소별 2 차원 역 이산 여현 변환은 다음 식과 같이 될 것이다.
IDCT(T)=IDCT(T(0,0))+IDCT(T(0,1))+IDCT(T(0,2))+IDCT(T(0,3))
+IDCT(T(1,0))+IDCT(T(1,1))+IDCT(T(1,2))
+IDCT(T(2,0))+IDCT(T(2,1))
+IDCT(T(3,0))
즉, 일부 값 계산부(61)는 상기 도 4의 원소 검색부(41)에서 검색된 0이 아닌 값을 갖는 원소의 값 T(i,j)를 대입한 역 이산 여현 변환 식, 즉 수학식 1에 상기 검색된 0이 아닌 값을 갖는 원소의 좌표 값 i,j을 대입하고, 상기 이산 여현 변환 행렬에 대하여 역 이산 여현 변환된 복원 행렬의 각 원소의 좌표 값 x,y를 대입하여, 상기 복원 행렬의 각 원소의 일부 값 IDCT(T(i,j))를 산출한다. 완전 값 산출부(62)는 중첩의 원리에 따라, 원소 검색부(41)에서 검색된 0이 아닌 값을 갖는 모든 원소에 대하여, 상기 일부 값 산출부(61)에서 산출된 복원 행렬의 각 원소의 일부 값들 IDCT(T(i,j))를 합하여, 상기 복원 행렬의 각 원소의 완전 값 V(x,y)를 산출한다.
도 7은 본 발명에 따른 고속 역 이산 여현 변환 방법의 흐름도이다.
먼저, 소정의 압축 파일에 대한 일련의 디코딩 과정의 일 과정인, 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 0이 아닌 값을 갖는 원소만을 카운트함으로서 0이 아닌 값을 갖는 원소의 개수를 계산한다(70).
먼저, 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우(71), 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색한다(72). 여기에서, 상기 0이 아닌 값을 갖는 원소의 개수는 소정의 압축 파일에 대한 일련의 디코딩 과정에서, 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 미리 출력된 값이다. 또한, 상기 임계 값은 원소별로 2차원 역 이산 여현 변환을 하는 것이 행렬별로 2 차원 역 이산 여현 변환을 하는 것보다 연산의 양이 감소하는 경우에 있어서, 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 최대 값이 되도록 결정한 것이다. 또한, 상기 순서는 제 1 행 및 제 1 열에 위치한 원소를 출발점으로 하여 지그재그 방향으로 각 원소로 이어지는 순서를 말한다.
이어서, 검색된 0이 아닌 값을 갖는 원소를 2 차원 역 이산 여현 변환한다(73). 즉, 검색된 0이 아닌 값을 갖는 원소의 값을 대입한 역 이산 여현변환 식에 검색된 0이 아닌 값을 갖는 원소의 좌표 값을 대입하고, 이산 여현 변환 행렬에 대하여 역 이산 여현 변환된 복원 행렬의 각 원소의 좌표 값을 대입하여, 복원 행렬의 각 원소의 일부 값을 산출한다. 이어서, 중첩의 원리에 따라, 검색된 0이 아닌 값을 갖는 모든 원소에 대하여 산출된 복원 행렬의 각 원소의 일부 값들을 합하여, 상기 복원 행렬의 각 원소의 완전 값을 산출한다.
이어서, 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 임계 값을 초과하는 경우(71), 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환한다(74). 즉, Wang 알고리즘, Chen 알고리즘, Lee 알고리즘, 또는 AAN 알고리즘을 포함하는 기존의 고속 역 이산 여현 변환 알고리즘을 사용하여 2 차원 역 이산 여현 변환한다.
도 8은 본 발명에 따른 고속 역 이산 여현 변환의 계산량과 종래의 고속 역 이산 여현 변환의 계산량을 비교한 비교표를 도시한 도면이다.
이것은 양자화 스케일이 큰, 제한적인 범위에서 실험한 결과 값이다. 상기한 바와 같이, 양자화 스케일이 작은 경우는 기존의 고속 2 차원 이산 여현 변환 알고리즘을 이용해야 한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 역 이산 여현 변환을 수행하는데 있어서, 이산 여현 변환 행렬의 원소들의 값의 대다수를 차지하는 "0"에 의한 불필요한 계산을 최대한 줄일 수 있는 효과가 있다. 또한, 압축 파일의 압출률이 낮아, "0"이 아닌 값을 갖는 원소들의 개수가 적을 때에는 기존의 고속 역 이산 여현 변환 알고리즘을 사용함으로서, 양자화 스케일에 따라 최적의 역 이산 여현 변환 알고리즘을 제공한다는 효과가 있다. 특히, 본 발명에서 제시한 원소별 2 차원 역 이산 여현 변환 알고리즘과 기존의 고속 역 이산 여현 변환 알고리즘을 혼용하는 경우, 널리 사용되는 영상 신호들에 대하여 원소별 2 차원 역 이산 여현 변환 알고리즘과 기존의 고속 역 이산 여현 변환 알고리즘의 적용 비율은 적용 대상의 따라 차이가 있으나, 대체적으로 80% 이상, 원소별 2 차원 역 이산 여현 변환 알고리즘이 적용되기 때문에, 역 이산여현 변환의 계산량이 현저히 감소한다는 효과가 있다. 나아가, 비디오 디코더에서 전체 계산량 중, 25~30%에 해당하는 역 이산 여현 변환 모듈의 계산량을 획기적으로 줄임으로서, 보다 안정되고 성능이 개선된 비디오 디코더를 설계할 수 있고, 소모 전력이 감소하기 때문에 소형화된 모바일용 비디오 디코더를 설계할 수 있다는 효과가 있다.
또한, EOB(End Of Block)을 참조하여 계산하는 다른 고속 이산 여현 변환 알고리즘에서는 스캔 방식에 따라 다른 방법을 적용해야 하지만, 본 발명은 스캔 방식에 관계없이, 즉 지그재그 스캔, 수평우선 스캔, 수직우선 스캔에 관계없이 적용 가능하다. 또한, 계산 과정에서 유효 숫자를 최대한 이용한다. 즉, 라운딩(rounding) 횟수가 단 1회이므로, 기존의 역 이산 여현 변환보다 PSNR(Peak Signal-to-Noise Ratio)이 뛰어나다.

Claims (13)

  1. (a) 소정의 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색하는 단계;
    (b) 상기 검색된 0이 아닌 값을 갖는 원소를 2 차원 역 이산 여현 변환하는 단계; 및
    (c) 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 상기 임계 값을 초과하는 경우, 상기 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환하는 단계를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  2. 제 1 항에 있어서, 상기 (b) 단계는
    상기 검색된 0이 아닌 값을 갖는 원소의 값을 대입한 역 이산 여현 변환 식에 상기 0이 아닌 값을 갖는 원소의 좌표 값을 대입하고, 상기 이산 여현 변환 행렬에 대하여 역 이산 여현 변환된 복원 행렬의 각 원소의 좌표 값을 대입하여, 상기 복원 행렬의 각 원소의 일부 값을 산출하는 단계; 및
    상기 검색된 0이 아닌 값을 갖는 모든 원소에 대하여, 상기 산출된 복원 행렬의 각 원소의 일부 값들을 합하여, 상기 복원 행렬의 각 원소의 완전 값을 산출하는 단계를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  3. 제 1 항에 있어서, 상기 (c) 단계는 Wang 알고리즘, Chen 알고리즘, Lee 알고리즘, 또는 AAN 알고리즘을 포함하는 기존의 고속 역 이산 여현 변환 알고리즘을 사용하여 2 차원 역 이산 여현 변환하는 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계 이전에 소정의 압축 파일에 대한 일련의 디코딩 과정의 일 과정인, 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 0이 아닌 값을 갖는 원소만을 카운트함으로서 상기 0이 아닌 값을 갖는 원소의 개수를 계산하는단계를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  5. 제 1 항에 있어서, 상기 임계 값은 원소별로 2차원 역 이산 여현 변환을 하는 것이 행렬별로 2 차원 역 이산 여현 변환을 하는 것보다 연산의 양이 감소하는 경우에 있어서, 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 최대 값이 되도록 결정함을 특징으로 하는 고속 역 이산 여현 변환 방법.
  6. 제 1 항에 있어서, 상기 순서는 제 1 행 및 제 1 열에 위치한 원소를 출발점으로 하여 지그재그 방향으로 각 원소로 이어지는 순서인 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  7. 소정의 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 소정의 임계 값 이하인 경우, 이산 여현 변환 행렬의 각 원소에 대하여 소정의 순서로 0이 아닌 값을 갖는 원소를 검색하는 원소 검색부;
    상기 원소 검색부에서 검색된 0이 아닌 값을 갖는 원소를 2차원 역 이산 여현 변환하는 원소별 2 차원 역 이산 여현 변환부; 및
    상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 상기 임계 값을 초과하는 경우, 상기 이산 여현 변환 행렬을 2 차원 역 이산 여현 변환하는 행렬별 2 차원 역 이산 여현 변환부를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 장치.
  8. 제 7 항에 있어서, 상기 원소별 2 차원 역 이산 여현 변환부는
    상기 원소 검색부에서 검색된 0이 아닌 값을 갖는 원소의 값을 대입한 역 이산 여현 변환 식에 상기 0이 아닌 값을 갖는 원소의 좌표 값을 대입하고, 상기 이산 여현 변환 행렬에 대하여 역 이산 여현 변환된 복원 행렬의 각 원소의 좌표 값을 대입하여, 상기 복원 행렬의 각 원소의 일부 값을 산출하는 일부 값 산출부; 및
    상기 원소 검색부에서 검색된 0이 아닌 값을 갖는 모든 원소에 대하여, 상기 일부 값 산출부에서 산출된 복원 행렬의 각 원소의 일부 값들을 합하여, 상기 복원 행렬의 각 원소의 완전 값을 산출하는 완전 값 산출부를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 장치.
  9. 제 7 항에 있어서, 상기 행렬별 2 차원 역 이산 여현 변환부는 Wang 알고리즘, Chen 알고리즘, Lee 알고리즘, 또는 AAN 알고리즘을 포함하는 기존의 고속 역 이산 여현 변환 알고리즘을 사용하여 2 차원 역 이산 여현 변환하는 것을 특징으로 하는 고속 역 이산 여현 변환 장치.
  10. 제 7 항에 있어서,
    소정의 압축 파일에 대한 일련의 디코딩 과정의 일 과정인, 역 이산 여현 변환 전에 이루어지는 런 렝스 디코딩 과정에서 0이 아닌 값을 갖는 원소만을 카운트함으로서 상기 0이 아닌 값을 갖는 원소의 개수를 계산하는 유효 원소 개수 계산부를 포함하는 것을 특징으로 하는 고속 역 이산 여현 변환 방법.
  11. 제 7 항에 있어서, 상기 임계 값은 원소별로 2 차원 역 이산 여현 변환을 하는 것이 행렬별로 2 차원 역 이산 여현 변환을 하는 것보다 연산의 양이 감소하는 경우에 있어서, 상기 이산 여현 변환 행렬의 0이 아닌 값을 갖는 원소의 개수가 최대 값이 되도록 결정함을 특징으로 하는 고속 역 이산 여현 변환 장치.
  12. 제 7 항에 있어서, 상기 순서는 제 1 행 및 제 1 열에 위치한 원소를 출발점으로 하여 지그재그 방향으로 각 원소로 이어지는 순서인 것을 특징으로 하는 고속 역 이산 여현 변환 장치.
  13. 제 7 항 내지 제 12 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20020072384A 2002-11-20 2002-11-20 고속 역 이산 여현 변환 방법 및 장치 KR100561392B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20020072384A KR100561392B1 (ko) 2002-11-20 2002-11-20 고속 역 이산 여현 변환 방법 및 장치
US10/712,022 US20040133613A1 (en) 2002-11-20 2003-11-14 High-speed inverse discrete cosine transformation method and apparatus
EP20030257263 EP1422664A2 (en) 2002-11-20 2003-11-18 High-speed inverse discrete cosine transformation method and apparatus
JP2003389915A JP2004310735A (ja) 2002-11-20 2003-11-19 高速逆離散余弦変換方法及び装置
CNB2003101147842A CN1250009C (zh) 2002-11-20 2003-11-20 高速逆离散余弦变换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20020072384A KR100561392B1 (ko) 2002-11-20 2002-11-20 고속 역 이산 여현 변환 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20040044253A true KR20040044253A (ko) 2004-05-28
KR100561392B1 KR100561392B1 (ko) 2006-03-16

Family

ID=32226327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20020072384A KR100561392B1 (ko) 2002-11-20 2002-11-20 고속 역 이산 여현 변환 방법 및 장치

Country Status (5)

Country Link
US (1) US20040133613A1 (ko)
EP (1) EP1422664A2 (ko)
JP (1) JP2004310735A (ko)
KR (1) KR100561392B1 (ko)
CN (1) CN1250009C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539777B1 (ko) * 2002-11-22 2006-01-11 엘지전자 주식회사 비디오 디코더의 역이산여현변환 연산량 저감 방법
KR20190128795A (ko) * 2018-05-09 2019-11-19 에스케이하이닉스 주식회사 웨이트 매트릭스를 포맷하는 방법, 포맷된 데이터를 사용하는 가속기 및 이를 포함하는 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103840839B (zh) * 2014-03-21 2017-06-27 中国科学院声学研究所 一种井下声波成像测井数据的实时压缩方法
CN105100810B (zh) * 2014-05-16 2018-02-13 中国科学院声学研究所 一种成像声纳实时处理系统中的图像压缩解压方法及系统
CN107846599B (zh) * 2017-11-03 2019-12-10 北京奇艺世纪科技有限公司 一种解码方法及装置
CN111161234B (zh) * 2019-12-25 2023-02-28 北京航天控制仪器研究所 一种离散余弦变换测量基排序方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2950682B2 (ja) * 1992-08-04 1999-09-20 シャープ株式会社 逆離散余弦変換演算装置
JPH07262175A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd 関数変換演算装置
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5838825A (en) * 1996-01-17 1998-11-17 Matsushita Electric Industrial Co., Ltd. Apparatus for decompressing image data which has been compressed using a linear transform
JP3837197B2 (ja) * 1996-01-17 2006-10-25 松下電器産業株式会社 画像データ伸長装置
JPH1063646A (ja) * 1996-08-23 1998-03-06 Nec Corp 2次元逆離散コサイン変換回路
JPH10200892A (ja) * 1997-01-10 1998-07-31 Mitsubishi Electric Corp 画像符号化装置
JP3957829B2 (ja) * 1997-08-29 2007-08-15 株式会社オフィスノア 動画像情報の圧縮方法およびそのシステム
US20020027954A1 (en) * 1998-06-30 2002-03-07 Kenneth S. Singh Method and device for gathering block statistics during inverse quantization and iscan

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539777B1 (ko) * 2002-11-22 2006-01-11 엘지전자 주식회사 비디오 디코더의 역이산여현변환 연산량 저감 방법
KR20190128795A (ko) * 2018-05-09 2019-11-19 에스케이하이닉스 주식회사 웨이트 매트릭스를 포맷하는 방법, 포맷된 데이터를 사용하는 가속기 및 이를 포함하는 시스템

Also Published As

Publication number Publication date
JP2004310735A (ja) 2004-11-04
KR100561392B1 (ko) 2006-03-16
CN1250009C (zh) 2006-04-05
CN1520186A (zh) 2004-08-11
US20040133613A1 (en) 2004-07-08
EP1422664A2 (en) 2004-05-26

Similar Documents

Publication Publication Date Title
KR101176691B1 (ko) 변환 블록들의 효율적 코딩 및 디코딩
CA2618564C (en) Adaptive coding and decoding of wide-range coefficients
JP4425561B2 (ja) イメージおよびビデオ符号化のための2−d変換
US7634148B2 (en) Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
Memon Adaptive coding of DCT coefficients by Golomb-Rice codes
CN105163130B (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
KR100561392B1 (ko) 고속 역 이산 여현 변환 방법 및 장치
CN105472395B (zh) 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
KR100584550B1 (ko) 고속 역 이산 여현 변환 방법 및 장치
Devi JPEG Image Compression Using Various Algorithms: A Review
JP2710135B2 (ja) フレーム間/フレーム内適応符号化方式
KR20030023816A (ko) 형상 적응형 이산여현변환/역이산여현변환 알고리즘을위한 장치
Dutoit et al. How are digital images compressed in the web?

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee