KR20050065548A - 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환 - Google Patents

비디오 코딩을 위한, 낮은 복잡도의 통합형 변환 Download PDF

Info

Publication number
KR20050065548A
KR20050065548A KR1020057005010A KR20057005010A KR20050065548A KR 20050065548 A KR20050065548 A KR 20050065548A KR 1020057005010 A KR1020057005010 A KR 1020057005010A KR 20057005010 A KR20057005010 A KR 20057005010A KR 20050065548 A KR20050065548 A KR 20050065548A
Authority
KR
South Korea
Prior art keywords
block
transform
coefficients
coefficient
index
Prior art date
Application number
KR1020057005010A
Other languages
English (en)
Other versions
KR100762155B1 (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 KR20050065548A publication Critical patent/KR20050065548A/ko
Application granted granted Critical
Publication of KR100762155B1 publication Critical patent/KR100762155B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/124Quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

변환을 이용하여 데이터 (예를들어, 비디오 데이터) 를 디코딩하는 방법 및 장치가 개시되어 있다. 일 실시형태에서, 디코딩 프로세스는 각각의 계수에 대한 인덱스를 계산한 다음 이 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써, 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 단계를 포함한다. 인덱스는 양자화 파라미터, 계수들의 블록 크기, 및 블록 내의 상기 각각의 계수의 위치에 기초한다. 또한, 이 방법은 스케일링한 계수들의 블록에 변환을 제공하는 단계를 포함한다.

Description

비디오 코딩을 위한, 낮은 복잡도의 통합형 변환{LOW COMPLEXITY AND UNIFIED TRANSFORMS FOR VIDEO CODING}
본 특허 명세서의 개시부분은 (저작권 또는 회로배치 설계권 (mask work)) 보호를 받는 재료를 포함한다. 이 특허는 특허청 파일 또는 기록에 남겨져 있기 때문에, 이 (저작권 또는 회로배치 설계권) 소유권자는 어느 누군가가 특허 서류 또는 특허 개시물의 팩시밀리 재생하는 것에 대해서는 반대할 권한은 없지만, 그 외의 다른 모든 경우에 대해서는 모든 (저작권 또는 회로배치 설계권) 권리를 소유한다.
우선권
이 출원은 2002년 9월 26일에 출원된, Frank J. Bossen 의, 발명의 명칭이 "비디오 코딩을 위한, 낮은 복잡도의 통합형 변환 (Low Complexity and Unified Transforms For Video Coding)" 인 미국 가출원번호 60/413,819 를 우선권으로 주장하며, 이를 참조로서 포함한다.
기술분야
본 발명은 비디오 코딩에 관한 것으로, 더욱 자세하게는, 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환에 관한 것이다.
배경기술
디지털 텔레비전 및 DVD-비디오는 비디오 압축 기술의 표준화에 따라 가능하도록 이루어져 왔다. 최근의 표준, ITU-T H. 264 (이하, H.264라 함) 은 새로운 세대의 애플리케이션들을 가능하게 한다. H.264 표준은 코덱을 명확하게 정의하지 않는다. 다만, 이러한 표준은 비트스트림을 디코딩하는 방법을 사용하여 인코딩된 비디오 비트스트림의 구문 (syntax) 을 정의한다.
H.264 표준에서 기술된 방법에 따라서 디코딩될 수 있는 인코딩된 비디오 비트스트림을 생성하는 프로세스의 부분에서는, 인코더가 변환 및 양자화를 수행한다. 더욱 자세하게는, 인코더는 데이터를 매크로블록들로 분할하며, 각각의 매크로 블록은 변환되고 양자화된 다음 코딩된다. 이전 표준들은 8x8 이산 코사인 변환 (DCT) 을, 부동점 계수들에 대하여 연산하는 기본 변환으로서 이용해왔다. 이와 반대로, H.264 (T. Wiegand (편집자) 의 "조인트 비디오 사양 (ITU-T Rec.H.264 I ISO/IEC 14496-10 AVC) 에 대한 에디터 제안 드래프트 텍스트 변형, 드래프트 7, 섹션 12.4.3) 의 드래프트 버전은 복수의 상이한 블록 크기 (4x4, 4x8, 8x4, 및 8x8) 에 대한 변환을 제공할 수 있는 DCT 와 같은 4x4 정수 변환을 이용한다. 변환 스테이지로부터의 계수들은 양자화를 진행한다. 양자화 이후, 그 양자화 계수들은 엔트로피 코딩된다.
H.264 의 코딩방법은 상술한 인코딩 프로세스와 반대로 된다. 자세하게는, 인코딩된 데이터를 엔트로피 디코딩 처리한 다음, 후속하여 역 양자화 및 역 변환의 애플리케이션을 제공한다. 더욱 자세하게는, H.264 표준 (JFCD에 대한 레퍼런스) 의 초기 드래프트에서 설명된 바와 같이, 디코더 동안에, 양자화 계수들을 (4x4, 4x8, 8x4 또는 8x8 의 크기의) 2 차원 어레이로 배열한 다음, 역 양자화를 제공한다. 역 양자화를 수행한 후, 이 계수들에는, 통상적으로, 먼저 수평 방향으로 수행된 다음 수직방향으로 수행되는 역 변환이 제공된다. 최종적으로, 그 결과값이 스케일링된다. 4x8, 8x4 또는 8x8 블록 크기의 경우, 추가적인 스케일링 연산이 수평 역변환의 애플리케이션과 수직 역변환의 애플리케이션 사이에 수행된다.
블록 크기 (예를들면, 4x4 블록, 4x8 또는 8x4 블록 및 8x8 블록) 와 무관하게, 동일한 양자화 파라미터 (QP) 를 이용하여 인코더에서 수행된 양자화가 얼마나 정교하거나 대략적인가를 나타낸다. 통상적으로, QP 는 0 과 51 사이의 양의 정수값이다. 종래 실시에서는, 예를 들어, T. Wiegand (편집자) 의 "조인트 비디오 사양 (ITU-T Rec. H. 264 I ISO/IEC 14496-10 AVC) 의 조인트 파이널 커미티 드래프트 (JFCD)" (이하, "Wiegand"라 함) 에 설명된 바와 같이, 4x8, 8x4 및 8x8 블록에 대한 QP는 12 이상의 값으로 제한되며, 이하, Wiegand 를 참조로서 포함한다. 여기에 설명된 바와 같이, 역 양자화는 어레이 (V) 라 하는 어레이를 이용하여 제공되며, 이 어레이 (V) 는 3 개의 상이한 블록 크기 타입, 즉 4x4 블록, 4x8 또는 8x4 블록 및 8x8 블록마다 상이하였다.
4x4 블록에 대하여, 어레이 (V) 가 도 1a 에 도시되어 있다. 각각의 양자화 계수 c_ij, 계수 w_ij 는 표준화 C 언어 표기에서, 양자화 계수들의 블록에 어레이 (V) 를 제공한 결과로서,
와 같이 구해진다.
여기서, ij 가 {00, 02, 20, 22} 인 경우, R_ij(m) 는 V_m0 와 동일하며, 그렇치 않고 ij 가 {11, 13, 31, 33} 인 경우, R_ij(m) 는 V_m2 이며, 여기서, V_mn 는 어레이 (V) 의 m-번째 로우와 n-번째 컬럼에서의 엔트리이다.
8x4 또는 4x8 블록에 대하여 어레이 (V) 가 도 1b 에 도시되어 있다. 각각의 양자화 계수 c_ij에 대하여, 계수 w_ij 는 양자화 계수들의 블록에 어레이 (V) 를 제공한 결과로서,
와 같이 구해지며, 여기서, i (4x8 블록에 대하여) 또는 j (8x4 블록에 대하여) 가 {0,2} 인 경우, R_ij (m) 는 V_m0 이며, 그 외의 경우, R_ij (m) 는 V_ml 이다.
8x8 블록에 대하여, 어레이 (V) 가 도 1c 에 도시되어 있다. 각각의 양자화 계수 c_ij 에 대하여, 계수 w_ij 는 양자화 계수들의 블록에 어레이 (V) 를 제공한 결과로서,
와 같이 구해지며, 여기서, R_ij (m) 는 V_m 와 같다.
역 양자화가 수행된 후, 계수들에 대하여 역변환이 수행된다. H.264 드래프트 표준의 실시 부분으로서, 계수들에 역변환을 제공하는 것은 수평변환을 제공하는 것, 중간 스케일링을 수행하는 것, 수직변환을 제공하는 것, 및 최종 스케일링을 수행하는 것을 포함한다. 통상적으로, 이용되는 역변환은 분리가능 변환들이며, 따라서, 통상적으로 크기 4 및 8 을 가진 2 개의 1-차원 변환들을 각각 이용한다.
베이시스 벡터들은 역변환을 정의한다. 크기 4 를 가진 종래 기술의 변환의 베이시스 벡터들은 도 2a 에 도시된 매트릭스 M4 에 의해 정의되는 한편, 크기 8 을 가진 종래 기술의 변환의 베이시스 벡터들은 도 2b 에 도시된 바와 같은 매트릭스 M8 에 의해 정의될 수 있다.
종래기술의 실시에서의 수평변환은 계수들의 어레이 W 와, 베이시스 벡터를 포함하는 대응 변환 매트릭스 (즉, 4x4 및 4x8 블록들에 대한 변환 매트릭스 (M4), 및 8x4 및 8x8 블록들에 대한 변환 매트릭스 (M8)) 의 전치 간의 매트릭스 승산을 수행함으로써 제공된다. 수평변환 결과를 포함하는 어레이 Z' 는,
Z'= W* 전치 (M4) (4x8 및 4x4 블록들에 대하여) 및
Z'= W* 전치 (M8) (8x8 및 8x4 블록들에 대하여)
로서 결정되며, 여기서, "*" 는 매트릭스 승산을 나타낸다.
이후,
에 따라서, 수평변환으로부터 생성되는 매트릭스 Z' 를 스케일링함으로써 중간 스케일링을 수행하며, 여기서, Z'_ij 는 어레이 Z' 의 계수이며, B 는, 4x4 블록에 대하여 0 이며, 4x8 및 8x4 블록에 대하여 2 이며, 8x8 블록에 대하여 7 이다.
이후, 수평변환을 제공한다. 어레이 Z 가 주어지는 경우, 어레이 Z 와, 베이시스 벡터 (즉, 8x4 및 4x4 블록에 대하여 M4, 8x8 및 4x8 블록에 대하여 M8) 를 포함하는 대응 매트릭스 간의 매트릭스 승산을 수행하여 수직 역변환을 제공한다. 수직변환의 결과를 포함하는 어레이 X'는,
X'=M4*Z (8x4 및 4x4 블록에 대하여) 및
X'= M8*Z (8x8 및 4x8 블록에 대하여) 로서 결정된다.
수직변환을 제공한 다음,
에 따라서 수직변환의 결과를 스케일링하여, 최종 스케일링을 실시한다.
통상적으로, M4 즉, 전치 (M4) 을 이용한 매트릭스 승산은 다음과 같이 실시된다. 입력 벡터 w[0..3] 가 주어지는 경우, 출력 벡터 x [0..3] 는,
에 의해 구해진다.
입력 어레이의 각각의 로우 또는 컬럼에 대하여 하나씩, 상술한 과정을 4 회 제공하여, 매트릭스 승산을 수행한다.
이러한 방식으로 역 양자화를 수행하는 것은, 양자화 파라미터 (QP) 에 대한 값을 정보의 4x4 블록에 대하여 0 내지 51 로 제한하고 정보의 4x8, 8x4 및 8x8 블록에 대하여 12 내지 51 로 제한하여, 이에 의해 4x4 외의 변환으로 달성가능한 최고 품질을 제한한다.
또한, 상술한 바와 같이 역변환을 수행하는 것은 정보의 8x4, 4x8 및 8x8 블록에 대한 연산을 위하여 적어도 역 수평변환 및 역 수직변환 및 중간 스케일링 동안의 승산 연산을 요구한다. 이러한 승산은 상당한 프로세싱 연산들을 소비하고 이에 따라 변환의 베이시스 벡터들은 4x4 경우에 대하여 고속의 구현을 가능하게 하는 승산을 요구한다.
또한, 상술한 스케일링을 수행하기 위하여, 어떤 역변환이 수행되는지에 기초하여 상이한 테이블이 이용된다. 즉, 상이한 블록 크기에 기초하여 복수의 변환이 존재하기 때문에, 스케일링이 수행되는 경우 이용되어야 하는 복수의 테이블이 존재한다. 복수의 테이블의 이용을 요구하는 것은 가장 효율적인 실시가 아닐 수 있다.
또한, 종종 역변환은 크기에서 16 비트보다 큰 레지스터를 요구하는데, 이는 SIMD 아키텍쳐 (SIMD = 단일 명령 다중 데이터, 예를 들어, 인텔 프로세서 상의 MMX) 상에서 병렬로 실행될 수 있는 연산들의 개수를 제한함으로써 추가 프로세스 자원들을 소모한다. 이에 더하여, 상술한 하나 이상의 단점은 인코더들에도 존재할 수 있다.
발명의 개요
변환을 이용하여 데이터 (예를들어, 비디오 데이터) 를 디코딩하는 방법 및 장치가 개시되어 있다. 일 실시형태에서, 디코딩 프로세스는 각각의 계수에 대한 인덱스를 연산한 다음 이 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써, 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 단계를 포함한다. 인덱스는 양자화 파라미터, 계수들의 블록의 크기, 및 블록 내의 상기 각각의 계수의 위치에 기초한다. 또한, 이 방법은 스케일링된 계수들의 블록에 변환을 제공하는 단계를 포함한다.
도면의 간단한 설명
본 발명은 첨부한 도면 및 상세한 설명부를 통하여 보다 완전히 이해되겠지만, 본 발명은 특정 실시형태들로 제한되지 않으며 이 실시형태는 단지 설명 및 이해를 위한 것이다.
도 1a 는 4x4 블록의 역 양자화를 위해 이용되는 종래 기술의 어레이 (V) 의 테이블을 나타낸다.
도 1b 는 8x4 또는 4x8 블록의 역 양자화를 위한 종래 기술의 어레이 (V) 의 테이블을 나타낸다.
도 1c 는 8x8 블록의 역 양자화를 위한 종래 기술의 어레이 (V) 의 테이블을 나타낸다.
도 2a 는 매트릭스 M4 를 정의하는 크기 4 를 가진 베이시스 벡터를 나타낸다.
도 2b 는 매트릭스 M8 을 정의하는 크기 8 을 가진 베이시스 벡터를 나타낸다.
도 3 은 역 양자화를 수행하는 프로세스의 일 실시형태의 흐름도이다.
도 4 는 크기 8 을 가진 역 변환의 일 실시형태에 대한 벡터 베이시스의 테이블을 나타낸다.
도 5 는 역 변환을 수행하는 프로세스의 일 실시형태의 흐름도이다.
도 6 은 역 변환을 결정하는데 이용될 수 있는 알고리즘의 일 실시형태를 나타낸다.
도 7 은 도 6 의 알고리즘을 이용하여 역 수평변환을 결정하기 위한 프로세스의 일 실시형태를 나타내는 흐름도이다.
도 8 은 도 6 의 알고리즘을 이용하여 역 수직변환을 결정하기 위한 프로세스의 일 실시형태를 나타내는 흐름도이다.
도 9 는 단일 변환의 일 실시형태의 설계에서 이용될 수 있는 베이시스 벡터를 나타내는 테이블이다.
도 10 은 단일 역 변환을 결정하는데 이용될 수 있는 알고리즘의 일 실시형태를 나타낸다.
도 11 은 인코더에서 통합형 변환을 수행하기 위한 프로세스의 일 실시형태의 흐름도이다.
도 12 는 매트릭스 M4 의 일 실시형태에 대한 크기 4 를 가진 베이시스 벡터를 나타내는 테이블이다.
도 13a 는 디코더의 일 실시형태의 블록도이다.
도 13b 는 인코더의 일 실시형태의 블록도이다.
도 14 는 예시적인 컴퓨터 시스템의 블록도이다.
상세한 설명
데이터 (예를 들어, 비디오 데이터) 를 코딩 및 디코딩하는 방법 및 장치가 개시되어 있다. 데이터의 코딩 및 디코딩은 변환을 이용하여 부분적으로 수행된다. 일 실시형태에서, 이 변환은 아래 자세히 설명된 바와 같이 낮은 복잡도를 가지며 통합되어 있다.
일 실시형태에서, 본 방법은 스케일링 팩터로 계수들의 블록을 스케일링하는 것을 포함한다. 스케일링 팩터는 양자화 파라미터, 블록의 크기, 및 블록 내에서의 계수의 위치에 기초하여 인덱스를 연산하여 결정된다. 일 실시형태에서, 인덱스는 양자화 파라미터와, 블록의 크기 및 블록에서의 계수들의 위치에 의해 결정되는 값의 합이다. 블록의 크기와 블록에서의 계수들의 위치에 의해 결정되는 값은 블록의 수직 크기와 블록 내에서의 계수의 수직 위치에 의해 결정되며, 어떤 값은 블록의 수평 크기 및 블록 내에서의 계수의 수평위치에 의해 결정된다. 일 실시형태에서, 블록의 크기는 4x4, 4x8, 8x4, 또는 8x8 로 될 수 있다.
데이터를 프로세싱하는 방법은 인덱스를 이용하여 단일 룩업 테이블 (LUT) 을 인덱싱하는 것을 더 포함한다. 인덱스를 이용하여 LUT 를 인덱싱한 다음 계수들의 블록의 스케일링을 수행하도록 승산한 후, 스케일링된 계수들의 블록에 변환을 제공한다. 일 실시형태에서, 변환은 가산, 감산 및 시프트 연산들의 시퀀스를 이용하여 연산되기 때문에, 매트릭스 승산 연산들이 수행될 필요가 없다. 동일한 LUT 는 스케일링된 계수들의 블록에 제공되는 변환과 무관하게 이용될 수 있다.
더욱 자세하게는, 일 실시형태에서, 정보의 블록 (예를 들어, 비디오 신호) 은 계수값 (예를들어, 양자화 계수값) 의 블록을 수신하고, 양자화 계수값의 블록의 계수에 대응하는 오프셋 값을 결정한 다음, 결정된 오프셋 값에 응답하여 역 양자화 계수값을 결정함으로써 처리된다. 양자화 계수값들의 블록은 양자화 계수값들의 적어도 하나의 4x4, 4x8, 8x4, 및 8x8 블록을 포함할 수 있다.
일 실시형태에서, 오프셋 값은 값들의 1-차원 어레이와 수신값들의 블록에 응답하여 결정된다. 재구성된 계수 매트릭스는 역 양자화 계수값들을 결정하는 것에 응답하여 생성될 수 있다.
또 다른 실시형태에서, 데이터는 계수값들의 블록을 수신한 다음, 이산 코사인 변환 (DCT) 을 대략화하는 베이시스 벡터를 이용하여 계수값들의 수신된 블록에 대해 역변환을 수행하는 것을 포함하는 정보 블록의 코딩에 의해 처리된다. 일 실시형태에서, 계수값들의 블록은 양자화 계수값들의 적어도 하나의 4x4, 4x8, 8x4, 및 8x8 블록을 포함한다. 또한, 계수값들의 블록은 역 양자화된 비디오 데이터를 포함할 수 있다.
역 변환에 대하여, 일 실시형태에서, 베이시스 벡터는 실질적으로 서로 직교하며, 분수값들을 가진 엘리먼트를 포함할 수 있다. 베이시스 벡터는 크기 8x8 로 이루어질 수 있다.
일 실시형태에서, 역변환은 수평 역변환 및 수직 역변환을 이용하여 수행될 수 있다. 일 실시형태에서, 수평 역변환은 계수들의 양자화된 버전들에 역 양자화 매트릭스를 제공함으로써 역 양자화 계수들에 대하여 수행된다. 변환의 베이시스 벡터는 DCT 를 대략화한다. 다른 경우, 베이시스 벡터들은 실질적으로 수직이다. 수평 역변환은 가산, 감산 및 시프트 연산의 시퀀스를 이용하여 역 양자화 계수의 벡터에 대하여 수행될 수 있다.
수직 역 변환은 수평 역변환 이후에 수행되지만, 수직 역변환과 수평 역변환의 순서는 반대로 될 수도 있다. 일 실시형태에서, 수직 역변환은, 수평 역변환 매트릭스를 역 양자화 계수에 제공한 이후 수행된다. 수직 역변환은 DCT를 대략화하는 베이시스 벡터들을 가질 수 있다. 다른 경우, 수직 역변환은 수직인 베이시스 벡터를 가질 수도 있다. 수직 역 변환은 가산, 감산 및 시프트 중 적어도 하나를 포함하는 연산만을 이용하여 수행될 수 있다.
이하 설명에서는, 여러 세부사항이 본 발명의 보다 전체적인 설명을 제공하기 위해 제시된다. 그러나, 본 발명은 이들 구체적인 세부사항 없이도 수행될 수 있다. 또 다른 예에서는, 본 발명이 모호해지는 것을 피하기 위하여 세부사항 보다는 잘 알려진 스트럭쳐 및 디바이스가 블록도 형식으로 도시된다.
후속하는 상세한 설명부의 몇몇 부분은 컴퓨터 메모리 내에서의 데이터 비트들에 대한 연산의 알고리즘과 심볼 표현에 의해 제시된다. 이들 알고리즘 기술 및 표현은 당업자들이 그들의 작업의 요지를 가장 효율적으로 수행하는 데이터 프로세싱 분야에서 이용되는 수단이다. 이 알고리즘은 일반적으로 원하는 결과를 이끄는 단계들의 일관성있는 시퀀스인 것으로 간주된다. 이들 단계는 물리적인 양의 물리적인 조작을 요구한다. 통상적으로 반드시 필요한 것은 아니지만, 이들 물리적인 양은 기억되고 전송되고 합성되고 비교되고 그 외의 경우 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 띨 수 있다. 기본적으로 통상적인 사용을 위하여 비트, 값, 엘리먼트, 심볼들, 캐릭터, 용어, 넘버 등을 하나로 신호라 하는 것이 편리하다.
그러나, 이들 모든 용어 및 유사한 용어는 적절한 물리적인 양과 관련되어야 하며, 다소 편리한 레벨들이 이들 물리적인 양에 제공된다. 이하 설명으로부터 명백한 바와 같이 그 외의 것은 구체적으로 설명하지 않았지만, 상세한 설명부 전반에 걸쳐 이용하는 "프로세싱" 또는 "연산" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어는 컴퓨터 시스템의 레지스터 및 메모리내의 물리적인 (전자) 양으로서 표현되는 데이터를, 컴퓨터 시스템 메모리 또는 레지스터 또는 그 외의 다른 정보저장, 송신 또는 디스플레이 디바이스 내의 물리적인 양으로서 표현되는 그 외의 다른 유사한 데이터로 조작하거나 변환하는 컴퓨터 시스템 또는 이와 유사한 전자 연산장치의 액션 또는 프로세스를 의미한다.
또한, 본 발명은 연산들을 수행하기 위한 장치에 관한 것이다. 이 장치는 요구되는 목적을 위하여 특별하게 구성될 수도 있거나, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 이에 한정되는 것은 아니지만, 플로피 디스크, 광 디스크, CD-ROM, 및 광자기 디스크를 포함하는 어떤 형태의 디스크, 판독전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자적 명령들을 저장하기에 적합하고 각각이 컴퓨터 시스템 버스에 연결되어 있는 어떤 형태의 매체와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
여기에 설명된 알고리즘 및 디스플레이는 어떤 특정 컴퓨터 또는 다른 장치들과 의도적으로 관련되지 않는다. 여러 범용 시스템들이 여기의 교시에 따라서 프로그램과 함께 이용될 수도 있거나, 또는 보다 특화된 장치가 필요한 방법 단계들을 수행하도록 편리하게 검증할 수도 있다. 이하, 이들 여러 시스템에 대한 필요한 구조를 자세히 설명한다. 또한, 본 발명은 어떤 특정한 프로그래밍 언어를 통하여 설명하지 않는다. 여기에 설명된 바와 같이, 본 발명의 교시를 구현하는데는 여러 프로그래밍 언어가 이용될 수 있다.
머신 판독가능 매체는 머신 (예를 들면, 컴퓨터) 에 의해 판독가능한 형태로 정보를 저장 또는 송신하기 위한 어떠한 메카니즘도 포함할 수 있다. 예를들면, 머신 판독가능 매체는 판독전용 메모리 ("ROM"); 랜덤 액세스 메모리 ("RAM"); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 디바이스; 전기적, 광학적, 음향적, 또는 그 외 다른 형태의 전파 신호들 (예를 들면, 반송파, 적외선 신호, 디지털 신호 등); 등 을 포함할 수 있다.
개관
예를 들어, 비디오 코딩에 이용하기 위한 역 양자화 및 역 변환 기술을 설명한다. 이하 설명은 디코더에서의 실시에 초점을 두고 있지만, 동일한 기술들이 인코더들에서도 실시될 수 있다. 더욱 자세히 후술될 바와 같이, 일 실시형태에서, 기술들은 단일 어레이 (예를 들어, 통합형 1-D 어레이 (V)) 를 채택한다. 일 실시형태에서, 역 양자화는 정보 (예를 들어, 비디오 정보) 의 블록들에 1 차원 어레이의 값들을 제공하여 수행된다. 1 차원 어레이, 예를 들어, 어레이 (V) 는 32 개의 엔트리, V = {10, 11, 11, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32, 34, 36, 38, 40, 43, 45, 48, 51, 54, 57, 60} 를 가질 수 있다. 그 외의 단일 어레이들도 이용될 수 있다. 상술한 예에서, 어레이 (V) 의 엔트리들은 pow(2,(k+O)/12) 형태로 이루어지며, 여기서 k 는 어레이에서의 엔트리의 위치를 나타내며, O 은 상수이다. 예를 들어, O 는 40 일 수도 있다.
단일 어레이의 이용에서는, 하나의 어레이 만을 이용하는 것은 역 양자화 펑션 하나만을 이용하는 것을 의미하는 점에서 보다 효과적인 연산을 발생시키는 이점을 가진다. 신호 역 양자화 펑션은 제공되어질 역변환과 무관하게 이용될 수도 있다. 따라서, 신호 역 양자화 펑션은 디코딩 프로세스에 이용되는 어떠한 변환 이전에 계수들을 양자화하는데 이용된다. 일 실시형태에서, 역 양자화 및 역 변환은 승산연산과 반대로, 가산, 감산 및 시프트 연산 만이 이용되기 때문에, 역변환을 연산하는데 보다 적은 연산동작만이 요구된다.
또한, 일 실시형태에서, 중간 스케일링이 수평 및 수직 역 변환 간에 요구되지 않는다. 크기 8 을 가진 변환은 크기 4 를 가진 변환에 의해 이용되는 성분들을 재이용할 수 있으며, 크기 8 을 가진 변환은 이산 코사인 변환 (DCT) 의 보다 근접한 근사값을 제공한다. 또한, 적어도 4x4, 4x8, 8x4 및 8x8 블록 크기에 대한 역변환은 16 비트 레지스터를 이용하여 구현될 수 있으며, 그 크기가 16 비트보다 큰 레지스터는 요구되지 않는다. 이와 유사한 기술이 인코더에서와 같이 그리고 아래 후술할 바와 같이, 변환 및 양자화를 수행하는데 이용될 수도 있다.
역 양자화 및 역 변환
도 3 은 본 발명의 일 실시형태에 따른 역 양자화를 수행하는 프로세스의 일 실시형태의 흐름도를 나타낸다. 이 프로세스는 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 프로세서 또는 전용 머신과 같은) 소프트웨어 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행된다. 도 3 의 흐름도에 대하여 설명된 역 양자화를 1 차원 어레이 (V) 에 대하여 설명하지만, 상이한 엘리먼트 값 또는 상이한 엘리먼트 개수를 가진 1 차원 어레이를 이용할 수도 있다.
역 양자화는 양자화 계수 (c_ij) 를 포함하는 양자화 계수의 어레이 (C) 에 대하여 수행된다. 도 3 을 참조하면, 프로세싱 블록 305 에서, 프로세싱 로직은 양자화 계수의 어레이 (C) 의 양자화 계수 (c_ij) 를 수신하는데, 여기서, 양자화 계수 (c_ij) 는 양자화 계수 매트릭스 (C) 에서 위치 (ij) 를 가진 계수이다.
프로세싱 로직은 양자화 계수 매트릭스에서의 계수 (c_ij) 의 위치 (i,j) 에 따라서, 어레이 (V) 의 오프셋을 결정한다 (프로세싱 블록 310). 오프셋은 계수와 관련한 베이시스 벡터의 기준 (norm) 에 의존하는 스케일링 값을 나타내며, 일 실시형태에서 다음,
오프셋 (i,j) = ofst4[i] + ofst4[j] (4x4 블록에 대하여)
오프셋 (i,j) = ofst8[i] + ofst4 [j] (8x4 블록에 대하여)
오프셋 (i,j) = ofst4 [i] + ofst8 [j] (4x8 블록에 대하여)
오프셋 (i,j) = ofst8 [i] + ofst8 [j] (8x8 블록에 대하여)
과 같이 결정되며, 여기서, ofst4 = {0, 4, 0, 4} 이며, ofst8 = {6, 5, 10, 5, 6, 5, 10, 5}이다.
후술할 바와 같이, 양자화 계수 매트릭스에서의 계수의 특정위치 (ij) 에 대한 오프셋의 결정시, 프로세싱 로직은 계수에 대한 역 양자화 값을 결정한다 (프로세싱 블록 315).
4x4 변환에서, 역 양자화는 C-언어 프로그래밍 표기법으로 재구성된 계수의 매트릭스 (W) 를 다음,
과 같이 생성할 수 있다.
일 실시형태에서, 상술한 식 및 그 외의 식들에서 설명되는 V [.] 연산은 테이블 룩업 연산으로 구현된다.
4x8 또는 8x4 변환에서, 역 양자화로부터 발생되는 재구성 계수는 다음,
으로 결정될 수 있으며, 여기서, "w_ij"는 예를 들어, 상술한 계수 (w_ij) 와 동일한 매트릭스 (W) 의 재구성 계수이다. 8x8 변환에서, 역 양자화로부터 발생되는 재구성된 계수는 다음,
에 의해 결정될 수 있으며, 여기서, w_ij 는 매트릭스 W의 계수이다.
또 다른 실시형태에서, 어레이 ofst4 및 ofst8 는 다음,
ofst4 = {4, 11, 4, 11}
ofst8= {1, 0, 5, 0, 1, 0, 5, 0}
로서 정의되며, 재구성된 계수 (w_ij) 는 크기 4x4, 4x8, 8x4 및 8x8의 블록에 대하여 다음,
에 의해 결정된다.
또 다른 실시형태에서, 어레이 (V) 의 크기는 증가될 수 있으며, 재구성 식은
로서 정의된다.
또 다른 실시형태에서, 추가 가중팩터는 블록 내에서의 계수 위치 및 블록 크기의 펑션으로서, 다음,
과 같이 포함될 수 있으며, 여기서 f(블록크기, i,j) 는 가중 팩터들을 정의한다. 이러한 가중처리를 이용하여, 각각의 계수의 인식적 중요도에 적용할 수 있다. MPEG-2 (ISO/IEC 13818-2) 는 추가적인 승산 또는 및 시프트 연산을 요구하여 이러한 기능성을 제공하는 반면, 본 발명의 정보는 단지 추가적인 가산 연산만이 요구된다.
양자화되는 계수 매트릭스에서의 계수의 특정 위치 (i,j) 에 대한 역 양자화값 (w_ij) 의 결정시, 프로세싱 로직은 역 양자화가 수행되어야 하는 양자화 계수 매트릭스 (C) 의 계수가 더 있는지를 결정한다 (프로세싱 블록 320). 만약 있다면, 프로세싱은 프로세싱 블록 305 로 트랜지션하며, 이 블록 305 에서, 양자화 매트릭스 (C) 의 다음 양자화 계수 (c_ij) 를 수신한다. 그러나, 역 양자화가 수행되어야 하는 계수들이 더 이상 없는 경우, 양자화 계수 매트릭스에 대한 역 양자화를 종료한다 (프로세싱 블록 325).
따라서, 양자화 계수 매트릭스의 역 양자화는 값들의 단일 1 차원 어레이를 이용하여 결정될 수 있으며, 여기서 역 양자화되는 크기의 블록은 적어도 4x4, 4x8, 8x4 및 8x8 의 크기의 정보블록이다.
역 양자화 프로세스는 다음 계수를 프로세싱하기 이전에, 양자화 계수 매트릭스의 계수에 대한 역 양자화 값 및 오프셋 값을 모두 결정할 수 있다. 그러나, 또 다른 실시형태에서는, 양자화 계수 매트릭스의 모든 계수들의 오프셋 값을 먼저 결정할 수 있으며, 그 후, 결정된 오프셋 값을 이용하여, 양자화 계수 매트릭스의 모든 계수들에 대하여 역 양자화 값을 결정할 수 있다.
또 다른 실시형태에서는, 후술할 바와 같이, 승산 연산이 수행되지 않고 역 변환이 수행될 수 있다. 이에 더하여, 또는 다른 방법으로, 중간 스케일링 연산이 수행됨이 없이 역변환이 수행될 수도 있다.
역 양자화가 제공된 후에는, 역변환이 제공된다. 이 실시형태에서, 크기 4 를 가진 변환에 대한 벡터 베이시스는 (예를들어, 도 2a 에 도시된 바와 같이) 변경되지 않을 수 있다. 역변환은 8x8 변환에 대한 벡터 베이시스를 변경시켜 변형될 수도 있다. 또한, 중간 스케일링 프로세스가 제거될 수도 있다. 이러한 경우, 수평변환으로부터 발생되는 어레이가 직접 수직변환에 입력된다.
크기 8 을 가진 역 변환의 일 실시형태에 대한 벡터 베이시스가 도 4 에 도 4 의 테이블에 도시되어 있으며, 도 4 는 DCT를 근사화하며, 실질적으로 수직인 베이시스를 가진다 (즉, 어떤 2 개의 벡터곱은 제로 또는 실질적으로 제로에 가깝다). 도 5 에는, 역변환을 나타내는 흐름도가 도시되어 있다.
도 5 는 역변환을 수행하기 위한 프로세스의 일 실시형태의 흐름도를 나타낸다. 이 프로세스는 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 것과 같은) 소프트웨어 또는 이들의 조합을 포함할 수 있는 로직을 프로세싱하여 수행된다.
도 5 를 참조하면, 프로세싱 로직은 수평 역변환으로부터 발생되는 어레이 (Z) 를 연산하며 (프로세싱 블록 505), 여기서,
Z = W * 전치 (M4) (4x8 및 4x4 블록에 대하여) 및
Z = W * 전치 (M8) (8x8 및 8x4 블록에 대하여) 이며,
일 실시형태에서, M4 는 도 1a 에 도시되어 있으며, 일 실시형태에서 M8 은 도 4 에 도시되어 있다. 역 수평변환으로부터 발생되는 어레이 (Z) 의 결정은 아래 자세히 설명되어 있으며, 아래 더욱 자세히 후술할 바와 같이, 역 수평변환은 승산 연산을 수행하지 않고 연산될 수 있다.
이후, 프로세싱 로직은 어레이 (Z) 에 수직변환을 제공하여 발생되는 어레이 (X') 를 결정하는데 (프로세싱 블록 510), 이 어레이 (X') 는,
X'= M4 * Z (8x4 및 4x4 블록에 대하여), 및
X'= M8 * Z (8x8 및 4x8 블록에 대하여)
로 되며, 일 실시형태에서, M4 는 도 2a 에 도시되어 있으며, 일 실시형태에서, M8 은 도 4 에 도시되어 있다. 어레이 (X') 의 결정은 아래 자세히 설명되어 있으며, 후술할 바와 같이, 다른 방법에서는, 어레이 (X') 또한 승산연산을 이용하지 않고 구해질 수 있다.
수평 및 수직 역 변환을 제공한 이후에는, 프로세싱 로직은 이렇게 구해진 어레이 (X') 에 대하여 최종 스케일링을 수행하며 (프로세싱 블록 515), 이 어레이 (X') 는,
로 된다.
비디오 샘플의 비트 깊이가 8과 같은 경우, 상술한 식이 통상적으로 이용된다. 비디오 샘플의 비트 깊이가 8 보다 더 큰 경우, 스케일링 연산은 더욱 일반적인 식,
으로 될 수 있으며, 여기서, D 는 비디오 샘플의 비트 깊이를 나타낸다.
도 6 은 매트릭스 승산을 이용하지 않고 적어도 8x8, 8x4 및 4x8 의 정보 블록들에 대한 역변환 (즉, Z 의 역 수평변환 및 X' 의 역 수직변환) 을 계산하는데 이용될 수 있는 알고리즘의 일 실시형태를 나타낸다. 도 6 의 알고리즘의 "in" 벡터의 "in" 계수들은 IN 매트릭스 (입력 매트릭스) 로부터 검색되며, 도 6 의 알고리즘의 "out" 벡터의 "out" 계수들은 OUT 매트릭스 (출력 매트릭스) 를 형성하는데 이용된다. 연산되는 IN 매트릭스의 "in" 벡터 및 형성되는 OUT 매트릭스의 "out" 벡터는 다음과 같이 결정된다. 수평변환에서, "in" 벡터는 어레이 (W) 의 로우이며, "out"벡터는 어레이 (Z) 의 대응 로우이다. 도 7 내지 도 9 의 흐름도에 대하여 아래 자세히 설명된 바와 같이, 역변환의 특정 부분이 수행될 때까지, 수직변환에서, "in" 벡터는 어레이 (Z) 의 컬럼이며, "out" 벡터는 어레이 (X') 의 대응 컬럼이다.
도 7 은 도 6 의 알고리즘을 이용하여 역수평변환을 계산하기 위한 프로세스의 일 실시형태의 흐름도를 나타낸다. 이 프로세스는 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 것과 같은) 소프트웨어 또는 이들의 조합을 포함할 수 있는 로직을 프로세싱하여 수행된다.
도 7 을 참조하면 프로세싱 로직은 igure 7, 프로세싱 로직은 IN 매트릭스로부터 "in" 벡터를 검색한다 (프로세싱 블록 705). 수행되는 역변환은 역 수평변환이기 때문에, 벡터는 역 양자화로부터 발생되는 매트릭스 (W) 의 로우일 수 있다 (따라서, 매트릭스 (W) 는 이용되는 IN 매트릭스이다). 양자화 계수 매트릭스 (W) 의 "in" 벡터를 수신시, 프로세싱 로직은 가산, 감산, 및 시프트 연산의 시퀀스 (비승산 연산 (non- multiplication)) 를 수행하여, "out" 벡터 계수들, 여기서는 Z 의 로우를 생성한다 (프로세싱 블록 710). 이 연산은 예를 들면, 도 6 의 알고리즘에 의해 도시된 바와 같이 수행될 수도 있다. 도 6 의 알고리즘을 이용하면, "in" 벡터는 역 양자화 매트릭스 (W) 의 로우이며, 생성된 "out" 벡터는 Z 매트릭스의 출력 벡터 (로우) 이다.
매트릭스 (Z) 의 "out" 벡터를 생성한 이후, 프로세싱 로직은 연산해야 할 역 양자화된 IN 매트릭스 벡터가 더 있는지를 결정한다 (프로세싱 블록 715). 역변환 매트릭스의 벡터가 더 있는 경우, 프로세싱은 프로세싱 블록 705 으로 트랜지션한다. 그러나, 역 양자화 변환된 매트릭스의 모든 벡터가 변환되었을 경우, 역 수평변환의 애플리케이션은 종료한다 (프로세싱 블록 720). 캘리포니아 산타클라라의 인텔 사의 펜티엄 IV 프로세서와 같은 멀티미디어 익스텐션을 가진 프로세서를 이용하는 경우, 수개의 벡터를 병렬로 프로세싱할 수도 있다.
따라서, 역 수평변환은 승산 연산없이, 다만, 예를 들어, 가산, 감산, 및 시프트 연산들을 이용하여 적어도 크기 8x8 및 4x8 블록의 적어도 역 양자화된 매트릭스들에 대하여 수행될 수 있다.
양자화 계수 매트릭스 (W) 로부터의 매트릭스 (Z) 결정시, 역 수직변환은 중간 스케일링 없이 수행될 수도 있다. 예를 들어, 역 수직변환은 상술한 수평변환으로부터 발생하는 매트릭스 (Z) 에 대하여 수행될 수도 있다. 이후, 역 수직변환은 도 8 의 흐름도에 대하여 도시된 바와 같이 수행될 수 있다.
도 8 은 도 6 의 알고리즘을 이용하여 역 수직변환을 수행하는 프로세스의 일 실시형태의 흐름도를 나타낸다. 이 프로세스는 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 것과 같은) 소프트웨어 또는 이들의 조합을 포함할 수 있는 로직을 프로세싱하여 수행된다.
도 8 을 참조하면, 프로세싱 로직은 IN 매트릭스로부터 수신되는 "in" 벡터를 수신한다 (프로세싱 블록 805). 수행되는 역변환은 역 수직변환 (즉, 도 5 의 프로세싱 블록 510) 이기 때문에, 벡터는 매트릭스 (Z) 의 컬럼일 수 있다.
"in" 벡터를 수신한 후, 프로세싱 로직은 비승산 (non- multiplication) 연산을 수행하여 "out" 벡터 계수들을 생성한다 (따라서, 매트릭스 (X') 의 컬럼을 생성한다) (프로세싱 블록 810). 예를 들어, 비승산 연산은 도 6 에 도시된 바와 같이 수행될 수 있다. 도 6 의 알고리즘을 이용하면, "in" 벡터는 (프로세싱 블록 805 에 수신된 바와 같이) 매트릭스 (Z') 로부터 검색되는 벡터 (컬럼) 이다. "out"벡터는 매트릭스 (X') 로부터의 컬럼인 출력 벡터 (컬럼) 이다.
"out" 벡터를 생성한 다음, 프로세싱 로직은 연산되어야 할 매트릭스 (Z) 의 벡터가 더 있는지를 결정한다 (프로세싱 블록 815). 연산되어야 할 매트릭스 (Z) 의 벡터가 더 있는 경우, 상술한 바와 같이, 프로세싱은 프로세싱 블록 805 으로 트랜지션한다. 그러나, 매트릭스 (Z) 의 모든 벡터가 변환되었을 경우, 프로세싱 로직은 역 수직변환을 종료한다 (프로세싱 블록 820). 역 수평변환에 대하여 상술한 바와 동일하게, 펜티엄 4 프로세서와 같이 멀티미디어 익스텐션을 가진 프로세서를 이용하는 경우, 수개의 벡터들이 병렬로 프로세싱될 수 있다.
따라서, 도 6 의 알고리즘을 이용하여, 어떠한 매트릭스 승산 없이도 역 수평변환 및 역 수직변환을 연산할 수 있다. 따라서, 역 변환이 더욱 효율적으로 수행될 수 있고, 고속으로 연산될 수 있다. 또한, 크기 8 (뿐만 아니라 그 외의 변환 크기) 을 가진 변환에 대하여, 수평 역 변환과 수직 역 변환 사이에 중간 스케일링이 요구되지 않는다.
또 다른 실시형태에서, 양자화를 이용한 변환들의 조합은 단일 변환의 설계에도 이용될 수 있다.
도 9 는 단일 4x4 변환의 일 실시형태의 설계에 이용될 수 있는 베이시스 벡터를 나타내는 테이블이다. 도 9 에 나타낸 베이시스 벡터에서는, 제 1 및 제 3 베이시스 벡터의 기준이 2 이며 제 2 및 제 4 벡터의 기준은 3.625의 제곱근 (sqrt(3.625) = 1.903943...) 과 실질적으로 동일하다. 기준들 간의 비는 1.050451... 이며, 이 값은 pow(2, 1/14) = 1. 050756... 에 매우 근접한다.
따라서, 단일 스케일링 테이블이 역 양자화에 대하여 이용될 수 있으며, 이 스케일링 테이블은 C-프로그래밍 컴퓨터 언어 표기법의 형태인,
를 가지며, 여기서 c 는 상수이며, k = 0... 15 로 오프셋을 나타낸다. 일 실시형태에서, 테이블에서의 값들은 상술한 식의 결과를 최근접 정수로 반올림하여 유도할 수 있는 정수들이다.
예를 들면, c = 32 인 경우, 스케일링 테이블은,
V [] = 32, 34, 35, 37, 39, 41, 43, 45, 48, 50, 53, 55, 58, 61, 64, 67인 값을 포함할 수 있다.
이후, 오프셋 값,
을 이용하여 스케일링을 수행할 수 있으며, 여기서, 오프셋값은,
offs[] = 0, 1, 0, 1
에 의해 결정된다.
또 다른 실시형태에서, 더 큰 어레이 (V) 를 이용할 수 있으며, 스케일링 연산은,
로서 변경된다.
이러한 경우, 어레이 (V) 의 크기는 QP 더하기 2 의 최대값에 의해 결정된다.
또 다른 실시형태에서, 어레이 (V) 에서의 값들은,
인 형태로 될 수 있다.
또 다른 실시형태에서, 스케일링은,
와 같이 연산될 수 있으며, 여기서, 16개 부분들의 승산과 우측 시프트의 조합이 이를 지원하는 프로세서 상에서 단일 명령으로 실시될 수도 있다. 예를 들어, MMX 명령 세트에서, 승산은 독립변수로서 2 개의 16-비트 값을 취하고 병렬성 (parallelism) 의 정도를 희생시키지 않고 32-비트 결과의 최상위 비트들을 리턴시킨다.
변환벡터들의 값은 모두 2의 2제곱의 합의 또는 2의 1제곱의 합으로서 표현될 수 있으며, 따라서, 1 차원 역 변환의 실시가 간략해진다. 예를 들어, x [] 는 입력이고 y [] 가 출력인 경우, 일 실시형태에서, 도 10 의 알고리즘에 의해 도시된 바와 같이, 입력 벡터에 제공되는 역 변환이 실시될 수 있다. 또 다른 실시형태에서, 우측 시프트 이전에 팩터들을 반올림하는 것으로 변경될 수도 있다. 예를 들어, 연산 x >> 1 는 (x+1) >> 1 로 대체될 수도 있으며, 연산 (x+2) >> 2 는 x >> 2 또는 (x+l) >> 2 로 대체될 수도 있다.
도 9 및 도 10 의 베이시스 벡터와 알고리즘을 각각 이용하는 것은 간단한 알고리즘을 고정밀로 이용할 수 있게 한다.
당업자가 이해하는 바와 같이, 여기에 설명된 기술들은 인코딩 프로세스와 디코딩 프로세스 모두에 적용될 수 있다. 따라서, 인코딩 실시형태에 대한 오프셋들과 스케일링 벡터는 상술한 디코딩 프로세스에서와 동일한 방식으로 재연산될 수 있다.
인코딩
도 11 은 인코딩을 위한 통합형 변환을 수행하는 프로세스의 일 실시형태의 흐름도를 나타낸다. 이 프로세스는 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 것과 같은) 소프트웨어 또는 이들의 조합을 포함할 수 있는 로직을 프로세싱하여 수행된다.
인코딩을 위한 변환의 수행시, X 는 변환될 입력 블록이며, Z 는 변환된 블록이며 (매트릭스 Y 는 수평으로 변환된 블록을 나타내며, 매트릭스 Z 는 추가로 수직으로 변환된 매트릭스를 나타냄), Z' 는 양자화 변환된 블록이다. 도 11 을 참조하면, 프로세싱 로직은 인코딩될 정보의 블록을 수신한다 (프로세싱 블록 1105). 이후, 프로세싱 로직은 C- 언어 컴퓨터 표기법으로 다음,
Y = X*M4 (4x8 및 4x4 블록에 대하여), 및
Y = X*M8 (8x8 및 8x4 블록에 대하여)
과 같이 수평변환을 수행하며 (프로세싱 블록 1110), 여기서, M4 는 일 실시형태에서 도 12 에 도시된 바와 같이, 크기 4 를 가진 변환에 대한 베이시스 벡터이며, M8 은 일 실시형태에서 도 4 에 도시되고 크기 8 을 가진 역변환에 대하여 이용되는 바와 같이, 크기 8 을 가진 변환에 대한 베이시스 벡터이다.
수평변환이 수행된 경우, 프로세싱 로직이 수직변환을 수행한다 (프로세싱 블록 1115). 수직으로 변환된 매트릭스 (Z) 를 결정하는 수직변환은 다음,
Z = transpose (M4) * Y (8x4 및 4x4 블록에 대하여)
Z = transpose (M8) * Y (8x8 및 4x8 블록에 대하여)
과 같이 수행될 수 있으며, 여기서, M4 및 M8 는 프로세싱 블록 1110 의 수평변환에 대하여 상술한 바와 같다.
블록 1115 에서 수직변환을 수행시, 양자화가 프로세싱 블록 1120 에서 수행될 수 있다. 일 실시형태에서, 양자화는 1 차원의 32 개의 엘리먼트 어레이 (V'):
를 이용하여 수행될 수 있으며, 여기서, 어레이 (V') 의 각각의 엘리먼트 (k) 는 16384*pow(0.5 (k-8)/12.0) 와 동일할 수 있다.
양자화를 수행하기 위하여, 변환된 매트릭스 (Z) 의 각각의 계수에 대한 오프셋은 다음,
offset(i,j) = ofst4[i] + ofst4[j] (4x4 블록에 대하여)
offset(i,j) = ofst4[i] + ofst8[j] (4x8 블록에 대하여)
offset(i,j) = ofst8[i] + ofst4[j] (8x4 블록에 대하여)
offset(i,j) = ofst8[i] + ofst8[j] (8x8 블록에 대하여)
과 같이 연산될 수 있으며, 여기서, ofst4 = {0, 8, 0, 8} 이며, ofst8 = {6, 7, 2, 7, 6, 7, 2, 7} 이다.
양자화 변환된 블록 (Z) 은 다음,
과 같이 연산될 수 있으며, 여기서, B 는 계수와 재구성 에러를 코딩하는 비용 간을 교환하는데 이용될 수 있는 바이어스를 나타내며, 2 이상의 어떠한 수도 될 수 있다.
통합형 역 양자화 및 통합형 양자화를 수행하는데 이용되는 1-차원 매트릭스 V 및 V', 및 디코더에서의 역변환을 수행하기 위한 도 4 의 벡터 베이시스, 디코더에서의 단일 변환의 설계를 위하여 양자화와 간단한 변환의 결합을 수행하기 위한 도 9 의 베이시스 벡터, 및 인코더에서의 변환을 수행하기 위한 도 12 및 도 4 의 베이시스 벡터는 단지 예를 들어 설명하기 위한 것이며, 그 외의 어레이들 및/또는 벡터 베이시스를 결정하여 여기에 설명된 이점의 적어도 몇몇을 달성할 수도 있다. 예를 들어, 그 엔트리들을 2 의 부분 제곱 (이 예에서는, 매트릭스의 i 번째 엔트리는 플로어의 값 (pow(2, 4+(i-8)/12.0) + 0.5) 을 가짐) 으로 설정함으로써 1 차원 매트릭스가 통합형 역 양자화할 수 있으며, 이에 따라, 이러한 것을 고려하여 설계된 어떠한 1-차원 어레이도 이용될 수 있다. 몇몇 환경에서는, 상술한 오프셋을 계산하기 위한 오프셋 벡터들이 변경되어, 변환의 베이시스 벡터의 기준을 고려하여 균일한 양자화의 이용을 가능하게 한다. 예를 들면, 도 4 에 도시된 본 발명의 매트릭스의 경우, 제 1 베이시스 벡터는 기준 sqrt(8) = pow(2, 18/12.0) 을 가지며, 제 2 베이시스 벡터는 대략 pow(2,19/12.0) 인 기준 sqrt (578/64) 을 가지며, 제 3 베이시스 벡터는 대략 (2, 14/12.0) 인 기준 sqrt (5) 를 가진다. {6, 5, 10, ...} 는 {24-18, 24-19, 24-10, ...} 에 의해 구해진다.
이와 유사하게, 상술한 도 4 의 벡터 베이시스는 승산 연산 및 중간 스케일링을 필요로 하지 않고 도 6 의 알고리즘을 이용할 수 있게 하며, 각각의 벡터의 최대 계수가 1 과 같거나 대략 1 에 근사한 값을 가지기 때문에, 계수들은 대부분 2의 2 제곱의 합으로서 표현될 수 있으며, 이에 따라, 이러한 상황을 고려하여 설계/결정된 어떠한 벡터 베이시스를 이용하면서, 상술한 이점들의 적어도 몇몇을 달성할 수 있다.
따라서, 2의 2 (음 또는 양의) 정수제곱의 합이 되는 베이시스 벡터 계수에 관한 고려사항 및 통상적으로 2를 초과하지 않는 벡터 계수는 상술한 이점들 중 하나 이상의 것을 제공할 수 있다.
또한, 벡터 베이시스는 상술한 고려사항들 하에서 그 외의 크기 (즉, 8 보다 큰 크기를 가진 경우) 의 변환을 위하여 동일하게 결정/설계될 수 있으며, 따라서, 본 발명은 4x4,4x8, 8x4 또는 8x8 크기의 변환으로 한정되지 않는다. 예를 들어, pow(2, k/n) (여기서 k 와 n 은 작은 수 (8x8 변환의 본 경우에 n 은 12 이다) 에 거의 근사화될 수 있도록 16x16 크기의 변환이 설계되어, 베이시스 벡터의 기준이 설계될 수 있다.
예시적인 디코더
도 13a 는 디코더의 일 실시형태의 블록도를 나타낸다. 도 13a 를 참조하면, 압축 데이터 (1300) 는 엔트로피 디코더 (1301) 에 의해 엔트로피 디코딩된다. 엔트로피 디코딩된 데이터는 계수들을 포함한다. 일 실시형태에서, 엔트로피 디코더 (1301) 는 가변 길이 디코딩 및 콘텍스트 적응 2 진법 디코딩을 수행한다.
엔트로피 디코더 (1301) 에 의해 출력된 엔트로피 디코딩 데이터는 역 양자화기 (1302) 를 이용하여 역 양자화를 진행한다. 역 양자화기 (1302) 는 상술한 역 양자화를 수행하도록 룩업 테이블을 저장하는 메모리 (1321) 를 포함하거나 또는 메모리 (1321) 에 대한 액세스를 가진다. 엔트로피 디코딩 데이터는 역 양자화를 진행하기 이전에 계수들을 어레이로 디시리얼라이즈 (de-serialize) 하도록 배열될 수 있다. 이와 다른 방법을, 디시리얼라이즈화가 역 양자화 이후에 발생할 수도 있다.
역 양자화 이후, 역 변환부 (1303) 가 역변환 계수들에 제공된다. 일 실시형태에서, 역변환부 (1303) 는 상술한 바와 같은 수평 및 수직 1-D 변환부를 포함한다. 역 변환부 (1303) 를 제공받아 생성되는 디코딩 데이터는 가산기 (1304) 를 이용하여 구성요소 (1305) 에서 생성된 공간적 예상 블록 또는 모션 보상 블록과 합성된다.
가산기 (1304) 의 출력은 필터 (1306) 을 이용하여 필터링되어, 인접한 블록들 간의 모션 벡터 차이 뿐만 아니라 변환 및 양자화의 애플리케이션에 의해 발생하는 인위적 성분들을 제거한다. 필터 (1306) 의 출력은 데이터 (1307) 를 재구성한다. 일 실시형태에서, 필터 (1306) 는 인 루프 필터 (in-loop filter) (즉, 필터링된 이미지가 추후 모션 보상 예상에 이용됨) 이다. 인 루프 필터는 16x16 매크로블록 및 블록 바운더리에 대하여 모두 동작할 수 있으며, 여기서 블록은 4x4, 4x8, 8x4 또는 8x8 와 같은 크기를 가질 수 있다.
도 13b 는 인코더의 일 실시형태의 블록도를 나타낸다. 도 13b 를 참조하면, 입력 데이터 (1317) 가 감산기 (1314) 에 의해 수신된다. 입력 데이터 (1317) 는 입력 프레임을 포함할 수 있다. 감산기 (1314) 는 입력 데이터 (1317) 로부터, 모션 보상 또는 공간 예상 유닛 (1315) 에 의해 생성되는 예상데이터를 감산한다. 일 실시형태에서, 예상 데이터는 모션 보상 블록 또는 공간적 예상 블록을 포함한다.
감산의 결과는 순방향 변환부 (1313) 에 입력되는데, 이 순방향 변환부에서 블록이 데이터를 변환하여 계수를 생성한다. 일 실시형태에서, 순방향 변환부(1313) 는 상술한 역변환에 대하여 반대로 되는 수평 및 수직 1-D 변환부를 포함한다.
이후, 계수들은 역 양자화기 (1312) 에 의해 양자화되어, 양자화 변환된 계수들을 생성한다. 양자화기 (1312) 는 상술한 역 양자화에 대하여 반대 방식으로 양자화 연산을 수행하도록 룩 업 테이블을 저장하는 메모리 (1321) 를 포함하거나 또는 메모리에 대한 액세스를 가진다. 양자화 변환계수들을 어레이로부터 재정렬하여, 양자화 변환된 계수들을 시리얼라이즈할 수 있다. 이러한 임의의 재정렬 이후, 양자화 변환된 계수들은 엔트로피 인코더 (1311) 에 의해 엔트로피 인코딩된다. 일 실시형태에서, 엔트로피 인코더 (1311) 는 가변 길이 인코딩 또는 콘텍스트 적응 2진법 인코딩을 수행한다.
상술한 바와 같이, 인코더에서의 변환을 수행하는 고려사항은 디코더에서의 역변환을 수행하기 위한 고려사항들과 유사하다. 비디오 코딩을 위한 변환을 제공하는 콘텍스트에서 설명을 하였지만, 이러한 변환은 비디오를 프로세싱하기 위한 양자화 및 변환과 분리된 기술영역에도 적용가능성을 가질 수 있으며, 이에 따라, 본 발명의 교시는 비디오 코딩에만 제한되지 않는다.
상술한 통합형 역 양자화 및 역 변환을 수행하는 경우, 역 양자화와 역 변환의 애플리케이션은 적절한 프로세서 상에서 실행되는 소프트웨어를 통하여 그리고, 요구되는 연산들을 수행하기 위한 적절한 메모리를 가지고 수행될 수 있다. 이들 프로세싱 세트 내에서 멀티미디어 익스텐션을 이용할 수 있는 프로세서들이 필요하지 않는 이점을 가질 수 있다. 다른 방법으로, 여기에 교시된 양자화 및 변환 기술은 소프트웨어 및 하드웨어 디바이스의 어떠한 조합으로 또는 당업자가 이해하는 바와 같이 필요에 따라 하드웨어만을 가지고 완전히 수행될 수도 있다.
예시적인 컴퓨터 시스템
도 14 는 상술한 하나 이상의 연산들을 수행할 수 있는 예시적인 컴퓨터 시스템의 블록도를 나타낸다. 이들 블록들 또는 이들 블록의 서브세트는 예를 들어, 셀폰과 같은 디바이스로 통합되어, 상술한 기술들을 수행할 수 있다.
도 14 를 참조하면, 컴퓨터 시스템 (1400) 은 정보를 통신하기 위한 통신 메카니즘 또는 버스 (1411), 및 정보를 프로세싱하기 위한 버스 (1411) 와 연결되어 있는 프로세서 (1412) 를 포함한다. 프로세서 (1412) 는 마이크로프로세서를 포함하지만, 예를 들어, PentiumTM, PowerPCTM, AlphaTM 등과 같은 마이크로프로세서에만 한정되지 않는다.
시스템 (1400) 은 프로세서 (1412) 에 의해 실행될 정보 및 명령을 저장하기 위한, 버스 (1411) 에 연결된 랜덤 액세스 메모리 (RAM), 또는 다이내믹 저장 디바이스 (1404; 메인 메모리라 함) 를 포함한다. 또한, 메인 메모리 (1404) 는 프로세서 (1412) 에 의한 명령들의 실행 동안에 그외의 중간정보 또는 임시 변수들을 저장하기 위하여 이용될 수도 있다.
또한, 컴퓨터 시스템 (1400) 은 프로세서 (1412) 에 대한 스테이틱 정보 및 명령을 저장하기 위한, 버스 (1411) 에 연결되는 판독전용 메모리 (ROM) 및/또는 그 외의 스테이틱 저장 디바이스 (1406), 및 자기 디스크 또는 광학 디스크 및 이들에 대응하는 디스크 드라이브와 같은 데이터 저장 디바이스 (1407) 를 포함한다. 데이터 저장 디바이스 (1407) 는 정보 및 명령을 저장하기 위하여 버스 (1411) 에 연결되어 있다.
컴퓨터 시스템 (1400) 은 컴퓨터 사용자에 정보를 표시하기 위한, 버스 (1411) 에 연결된 음극선관 (CRT) 또는 액정 표시장치 (LCD) 와 같은 표시장치 (1421) 에 추가로 연결될 수도 있다. 또한, 영숫자 또는 그 외의 키들을 포함하는 영숫자 입력 디바이스 (1422) 가 프로세서 (1412) 로 정보 및 커맨드 선택들을 전달하기 위하여 버스 (1411) 에 연결될 수도 있다. 추가 사용자 입력 디바이스는 프로세서 (1412) 로 검출 정보와 커맨드 선택들을 전달하고 표시장치 (1421) 상의 커서 이동을 제어하기 위한, 버스 (1411) 에 연결된 마우스, 트랙볼, 트랙패드, 스타일러스, 또는 커서 검출 키들과 같은 커서 제어부 (1423) 이다.
버스 (1411) 에 연결될 수 있는 또 다른 장치는 하드카피 디바이스 (1424) 이며, 이 디바이스는 명령, 데이터, 또는 그 외의 정보들을 페이퍼, 필름, 또는 이와 유사한 형태의 매체 상에 프린트하는데 이용될 수 있다. 또한, 스피커 및/또는 마이크로폰과 같은 사운드 리코딩 및 플레이백 디바이스가 컴퓨터 시스템 (1400) 과 오디오 인터페이스하기 위하여 버스 (1411) 에 옵션적으로 연결될 수 있다. 버스 (1411) 에 연결될 수 있는 그 외의 디바이스는 폰, 휴대용 팜 디바이스, 및 그외 디바이스와의 통신을 위한 유무선 통신 가능부 (1425) 이다.
시스템 (1400) 의 구성요소들 및 관련 하드웨어 중 어느 하나 또는 모두를 본 발명에 이용할 수 있다. 그러나, 컴퓨터 시스템의 그 외의 구성이 디바이스의 몇몇 또는 모두를 포함할 수도 있다.
상술한 설명으로부터 본 발명의 많은 변경 및 변형이 이루어짐을 알 수 있으며, 본 발명은 설명을 위하여 도시되고 설명된 어떤 실시형태에 한정되지 않는다. 따라서, 여러 실시형태의 세부사항에 대한 참조는 본 발명의 필수사항으로 간주되는 특징을 설명하는 본 발명의 청구범위를 한정하기 위한 것이 아니다.

Claims (58)

  1. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 단계로서, 상기 인덱스는 양자화 파라미터, 상기 계수들의 블록 크기, 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 단계; 및
    상기 스케일링한 계수들의 블록에 변환을 제공하는 단계를 포함하는, 디코딩 방법.
  2. 제 1 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 상기 위치 및 상기 계수들의 블록의 블록크기에 의해 결정되는 제 1 값과의 합인, 디코딩 방법.
  3. 제 2 항에 있어서,
    상기 제 1 값은 상기 블록 내의 상기 각각의 계수의 수직 위치 및 상기 블록의 수직 크기에 의해 결정되는 제 2 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치 및 상기 블록의 수평 크기에 의해 결정되는 제 3 값과의 합인, 디코딩 방법.
  4. 제 3 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 디코딩 방법.
  5. 제 1 항에 있어서,
    상기 LUT 는, 하나의 LUT 가 복수의 크기 중 하나의 크기인 변환을 이용하는 것을 지원하도록, 상기 블록 크기와 독립적으로 이용되는, 디코딩 방법.
  6. 제 1 항에 있어서,
    상기 각각의 계수의 위치에 따라서 어레이의 오프셋을 결정하는 단계; 및
    상기 오프셋에 기초하여 상기 각각의 계수에 대한 역 양자화 값을 결정하는 단계를 더 포함하는, 디코딩 방법.
  7. 제 6 항에 있어서,
    상기 어레이의 엔트리는 pow(2, (k+O)/12) 인 형태로 이루어지며,
    상기 k 는 상기 어레이에서의 각각의 엔트리의 위치를 나타내며, 상기 O 는 상수인, 디코딩 방법.
  8. 제 6 항에 있어서,
    상기 어레이는 1 차원 (1-D) 인, 디코딩 방법.
  9. 제 1 항에 있어서,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 단계는,
    상기 스케일링한 계수들의 블록에 수직변환을 제공하는 단계; 및
    상기 스케일링한 계수들의 블록에 수평변환을 제공하는 단계를 포함하는, 디코딩 방법.
  10. 제 1 항에 있어서,
    상기 변환의 베이시스 벡터는,
    이며 8 의 수평크기 및 수직 크기 중 하나 또는 모두를 가지는 블록들에 이용되는 8 포인트 변환을 나타내는, 디코딩 방법.
  11. 제 1 항에 있어서,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 단계는, 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는 단계를 포함하는, 디코딩 방법.
  12. 제 1 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 디코딩 방법.
  13. 룩업 테이블 (LUT);
    각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 상기 LUT를 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 역 양자화기로서, 상기 인덱스는 양자화 파라미터, 상기 계수들의 블록 크기, 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 역 양자화기; 및
    상기 스케일링한 계수들의 블록에 변환을 제공하는 역 변환 유닛을 포함하는, 디코더.
  14. 제 13 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 상기 위치 및 상기 계수들의 블록의 블록크기에 의해 결정되는 제 1 값과의 합인, 디코더.
  15. 제 14 항에 있어서,
    상기 제 1 값은 상기 블록 내의 상기 각각의 계수의 수직 위치 및 상기 블록의 수직 크기에 의해 결정되는 제 2 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치 및 상기 블록의 수평 크기에 의해 결정되는 제 3 값과의 합인, 디코더.
  16. 제 15 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 디코더.
  17. 제 13 항에 있어서,
    상기 LUT 는, 하나의 LUT 가 복수의 크기 중 하나의 크기인 변환을 이용하는 것을 지원하도록, 상기 블록 크기와 독립적으로 이용되는, 디코더.
  18. 제 13 항에 있어서,
    상기 역 양자화기는 상기 각각의 계수의 위치에 따라서 어레이의 오프셋을 결정하고 상기 오프셋에 기초하여 상기 각각의 계수에 대한 역 양자화 값을 결정함으로써 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는, 디코더.
  19. 제 18 항에 있어서,
    상기 어레이의 엔트리는 pow(2, (k+O)/12) 인 형태로 이루어지며,
    상기 k 는 상기 어레이에서의 각각의 엔트리의 위치를 나타내며, 상기 O 는 상수인, 디코더.
  20. 제 18 항에 있어서,
    상기 어레이는 1 차원 (1-D) 인, 디코더.
  21. 제 13 항에 있어서,
    상기 변환유닛은 상기 스케일링한 계수들의 블록에 수직변환을 제공하고 상기 스케일링한 계수들의 블록에 수평변환을 제공함으로써 상기 스케일링한 계수들의 블록에 변환을 제공하는, 디코더.
  22. 제 13 항에 있어서,
    상기 변환의 베이시스 벡터는,
    이며 8 의 수평크기 및 수직 크기 중 하나 또는 모두를 가지는 블록들에 이용되는 8 포인트 변환을 나타내는, 디코더.
  23. 제 13 항에 있어서,
    상기 변환 유닛은 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는, 디코더.
  24. 제 13 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 디코더.
  25. 시스템에 의해 실행되는 경우, 상기 시스템이,
    각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하고;
    상기 스케일링한 계수들의 블록에 변환을 제공하도록 하는 명령을 저장하는 하나 이상의 기록가능 매체를 포함하며,
    상기 인덱스가 양자화 파라미터, 상기 계수들의 블록 크기, 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 제조물.
  26. 제 25 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 상기 위치 및 상기 계수들의 블록의 블록크기에 의해 결정되는 제 1 값과의 합인, 제조물.
  27. 제 26 항에 있어서,
    상기 제 1 값은 상기 블록 내의 상기 각각의 계수의 수직 위치 및 상기 블록의 수직 크기에 의해 결정되는 제 2 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치 및 상기 블록의 수평 크기에 의해 결정되는 제 3 값과의 합인, 제조물.
  28. 제 25 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 제조물.
  29. 제 25 항에 있어서,
    상기 LUT 는, 하나의 LUT 가 복수의 크기 중 하나의 크기인 변환을 이용하는 것을 지원하도록, 상기 블록 크기와 독립적으로 이용되는, 제조물.
  30. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 수단으로서, 상기 인덱스는 양자화 파라미터, 상기 계수들의 블록 크기, 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 수단; 및
    상기 스케일링한 계수들의 블록에 변환을 제공하는 수단을 포함하는, 디코딩 장치.
  31. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 단계로서, 상기 인덱스는 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 단계; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 단계를 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코딩 방법.
  32. 제 31 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 디코딩 방법.
  33. 제 31 항에 있어서,
    상기 변환을 제공하는 단계는 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는 단계를 포함하는, 디코딩 방법.
  34. 제 31 항에 있어서,
    상기 블록 크기는 4x4, 4x8, 8x4 및 8x8 로 구성되는 군으로부터 선택되는 것인, 디코딩 방법.
  35. 제 31 항에 있어서,
    상기 LUT 는, 하나의 LUT 가 복수의 크기 중 하나의 크기인 변환을 이용하는 것을 지원하도록, 상기 블록 크기와 독립적으로 이용되는, 디코딩 방법.
  36. 제 31 항에 있어서,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 단계는,
    상기 스케일링한 계수들의 블록에 수직변환을 제공하는 단계; 및
    상기 스케일링한 계수들의 블록에 수평변환을 제공하는 단계를 포함하는, 디코딩 방법.
  37. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 역 양자화기로서, 상기 인덱스는 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 역 양자화기; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 역 변환부를 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코더.
  38. 제 37 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 디코더.
  39. 제 37 항에 있어서,
    상기 변환을 제공하는 것은 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는 것을 포함하는, 디코더.
  40. 제 37 항에 있어서,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 것은,
    상기 스케일링한 계수들의 블록에 수직변환을 제공하는 것; 및
    상기 스케일링한 계수들의 블록에 수평변환을 제공하는 것을 포함하는, 디코더.
  41. 시스템에 의해 실행되는 경우, 상기 시스템이,
    각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하고;
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하도록 하는 명령을 저장하는 하나 이상의 기록가능 매체를 포함하며,
    상기 인덱스가 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하고,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 제조물.
  42. 제 41 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 제조물.
  43. 제 41 항에 있어서,
    상기 시스템이 변환을 제공하도록 하는 상기 명령은, 상기 시스템에 의해 실행되는 경우, 상기 시스템이 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하도록 하는 명령을 포함하는, 제조물.
  44. 제 41 항에 있어서,
    상기 시스템이 상기 스케일링한 계수들의 블록에 변환을 제공하도록 하는 상기 명령은, 상기 시스템에 의해 실행되는 경우, 상기 시스템이 상기 스케일링한 계수들의 블록에 수직변환을 제공하고 상기 스케일링한 계수들의 블록에 수평변환을 제공하도록 하는 명령을 포함하는, 제조물.
  45. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 수단으로서, 상기 인덱스는 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 수단; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 수단을 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코더.
  46. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 단계로서, 상기 인덱스는 양자화 파라미터, 상기 계수들의 블록 크기, 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 단계; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 단계를 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코딩 방법.
  47. 제 46 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 디코딩 방법.
  48. 제 46 항에 있어서,
    상기 변환을 제공하는 단계는 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는 단계를 포함하는, 디코딩 방법.
  49. 제 46 항에 있어서 ,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 단계는,
    상기 스케일링한 계수들의 블록에 수직변환을 제공하는 단계; 및
    상기 스케일링한 계수들의 블록에 수평변환을 제공하는 단계를 포함하는, 디코딩 방법.
  50. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 역 양자화기로서, 상기 인덱스는 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 역 양자화기; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 역 변환부를 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코더.
  51. 제 50 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 디코더.
  52. 제 50 항에 있어서,
    상기 변환을 제공하는 것은 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하는 것을 포함하는, 디코더.
  53. 제 50 항에 있어서,
    상기 스케일링한 계수들의 블록에 변환을 제공하는 것은,
    상기 스케일링한 계수들의 블록에 수직변환을 제공하는 것; 및
    상기 스케일링한 계수들의 블록에 수평변환을 제공하는 것을 포함하는, 디코더.
  54. 시스템에 의해 실행되는 경우, 상기 시스템이,
    각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하고;
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하도록 하는 명령을 저장하는 하나 이상의 기록가능 매체를 포함하며,
    상기 인덱스가 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하고,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 제조물.
  55. 제 54 항에 있어서,
    상기 인덱스는 상기 양자화 파라미터와, 상기 블록 내의 상기 각각의 계수의 수직 위치에 의해 결정되는 제 1 값과, 상기 블록 내의 상기 각각의 계수의 수평 위치에 의해 결정되는 제 2 값과의 합인, 제조물.
  56. 제 54 항에 있어서,
    상기 시스템이 변환을 제공하도록 하는 상기 명령은, 상기 시스템에 의해 실행되는 경우, 상기 시스템이 가산, 감산 및 시프트 연산의 시퀀스만을 이용하여 변환을 연산하도록 하는 명령을 포함하는, 제조물.
  57. 제 54 항에 있어서,
    상기 시스템이 상기 스케일링한 계수들의 블록에 변환을 제공하도록 하는 상기 명령은, 상기 시스템에 의해 실행되는 경우, 상기 시스템이 상기 스케일링한 계수들의 블록에 수직변환을 제공하고 상기 스케일링한 계수들의 블록에 수평변환을 제공하도록 하는 명령을 포함하는, 제조물.
  58. 각각의 계수에 대한 인덱스를 연산하고 상기 인덱스를 이용하여 룩업 테이블 (LUT) 을 인덱싱함으로써 상기 각각의 계수에 대하여 결정된 스케일링 팩터를 이용하여 계수들의 블록을 스케일링하는 수단으로서, 상기 인덱스는 양자화 파라미터 및 상기 블록 내의 상기 각각의 계수의 위치에 기초하는, 스케일링하는 수단; 및
    상기 스케일링한 계수들의 블록에 수직변환 및 수평변환을 제공하는 수단을 포함하며,
    상기 수직변환 및 상기 수평변환의 베이시스 벡터는,
    또는 이들의 배수인, 디코더.
KR1020057005010A 2002-09-26 2003-09-25 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환 KR100762155B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US41381902P 2002-09-26 2002-09-26
US60/413,819 2002-09-26
US10/670,698 2003-09-24
US10/670,698 US7760950B2 (en) 2002-09-26 2003-09-24 Low complexity and unified transforms for video coding

Publications (2)

Publication Number Publication Date
KR20050065548A true KR20050065548A (ko) 2005-06-29
KR100762155B1 KR100762155B1 (ko) 2007-10-01

Family

ID=32045254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057005010A KR100762155B1 (ko) 2002-09-26 2003-09-25 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환

Country Status (9)

Country Link
US (2) US7760950B2 (ko)
EP (1) EP1543476B1 (ko)
JP (3) JP4515263B2 (ko)
KR (1) KR100762155B1 (ko)
CN (1) CN100412907C (ko)
AU (1) AU2003272735A1 (ko)
DE (1) DE60325979D1 (ko)
ES (1) ES2321288T3 (ko)
WO (1) WO2004029880A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809409B1 (ko) * 2005-11-18 2008-03-05 후지제롯쿠스 가부시끼가이샤 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
KR20160090331A (ko) * 2013-11-22 2016-07-29 구글 인코포레이티드 하이브리드 변환 코딩 방식을 위한 구현 설계

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515870B2 (ja) * 2004-09-24 2010-08-04 パナソニック株式会社 信号処理装置及び映像システム
US7778327B2 (en) * 2005-02-08 2010-08-17 Texas Instruments Incorporated H.264 quantization
US20060291565A1 (en) * 2005-06-22 2006-12-28 Chen Eddie Y System and method for performing video block prediction
KR100694137B1 (ko) * 2005-07-08 2007-03-12 삼성전자주식회사 동영상 부호화 장치, 동영상 복호화 장치, 및 그 방법과,이를 구현하기 위한 프로그램이 기록된 기록 매체
JP4274234B2 (ja) * 2006-12-04 2009-06-03 ソニー株式会社 圧縮データ量制御方法及び画像データ圧縮装置
US20090097545A1 (en) * 2007-10-14 2009-04-16 Nokia Corporation Fixed-Point Implementation of an Adaptive Image Filter with High Coding Efficiency
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
US8228983B2 (en) * 2007-12-04 2012-07-24 Hong Kong Applied Science And Technology Research Method and device for order-16 integer transform from order-8 integer cosine transform
KR101885258B1 (ko) * 2010-05-14 2018-08-06 삼성전자주식회사 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2012057470A2 (ko) * 2010-10-26 2012-05-03 한양대학교 산학협력단 부호화/복호화 장치 및 그 방법과 이를 구현하기 위한 프로그램이 기록된 기록매체
US9824066B2 (en) * 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
AU2016219700B2 (en) * 2011-01-18 2018-06-28 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP2013038758A (ja) * 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CA2836161C (en) 2011-08-23 2017-12-19 Mediatek Singapore Pte. Ltd. Method and system of transform block processing according to quantization matrix in video coding
GB2561487B (en) 2011-10-18 2019-01-02 Kt Corp Method for encoding image, method for decoding image, image encoder, and image decoder
US9167261B2 (en) 2011-11-07 2015-10-20 Sharp Laboratories Of America, Inc. Video decoder with constrained dynamic range
KR20130050404A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
US20130114688A1 (en) * 2011-11-07 2013-05-09 Louis Joseph Kerofsky Video Decoder with Constrained Dynamic Range
CN103208290B (zh) * 2012-01-17 2015-10-07 展讯通信(上海)有限公司 编解码器、码流中参数解析及预处理方法与装置
CN115065823A (zh) * 2012-07-02 2022-09-16 韩国电子通信研究院 视频编码/解码方法和非暂时性计算机可读记录介质
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
JPWO2015141116A1 (ja) * 2014-03-19 2017-04-06 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
RU2631992C2 (ru) * 2016-02-25 2017-09-29 Кабусики Кайся Тосиба Способ кодирования изображения и способ декодирования изображения
KR102601350B1 (ko) * 2016-05-31 2023-11-13 엘지디스플레이 주식회사 데이터 압축 방법 및 이를 이용한 표시 장치
CN109246431B (zh) * 2017-07-10 2021-06-04 北京君正集成电路股份有限公司 一种基于量化参数配置的视频编码方法、装置和电子设备
AU2018204786A1 (en) 2018-06-29 2020-01-16 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
CN110392256B (zh) * 2019-03-09 2020-12-11 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129015A (en) * 1990-04-19 1992-07-07 Ricoh Company Ltd. Apparatus and method for compressing still images without multiplication
JPH04282988A (ja) 1991-03-12 1992-10-08 Sony Corp データ変換装置及び方法
US5224062A (en) * 1992-03-17 1993-06-29 Sun Microsystems, Inc. Method and apparatus for fast implementation of inverse discrete cosine transform in a digital image processing system using optimized lookup tables
WO1993021731A1 (en) * 1992-04-13 1993-10-28 Sony Corporation Image reproducing apparatus
US6009201A (en) * 1997-06-30 1999-12-28 Intel Corporation Efficient table-lookup based visually-lossless image compression scheme
US6792149B1 (en) * 1998-05-07 2004-09-14 Sarnoff Corporation Method and apparatus for resizing an image frame including field-mode encoding
US6445829B1 (en) * 1998-09-15 2002-09-03 Winbond Electronics Corp. Joint cosine transforming and quantizing device and joint inverse quantizing and inverse cosine transforming device
KR100390115B1 (ko) * 1999-04-12 2003-07-04 마츠시타 덴끼 산교 가부시키가이샤 화상 처리 방법, 화상 처리 장치 및 데이터 기억 매체
JP2002185967A (ja) * 2000-12-19 2002-06-28 Matsushita Electric Ind Co Ltd 画像表示装置および画像表示方法
US7082450B2 (en) * 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7096245B2 (en) * 2002-04-01 2006-08-22 Broadcom Corporation Inverse discrete cosine transform supporting multiple decoding processes
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7813574B2 (en) * 2003-09-24 2010-10-12 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
WO2006009668A1 (en) * 2004-06-16 2006-01-26 Memc Electronic Materials, Inc. Silicon wafer etching process and composition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809409B1 (ko) * 2005-11-18 2008-03-05 후지제롯쿠스 가부시끼가이샤 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
KR20160090331A (ko) * 2013-11-22 2016-07-29 구글 인코포레이티드 하이브리드 변환 코딩 방식을 위한 구현 설계
US10104382B2 (en) 2013-11-22 2018-10-16 Google Llc Implementation design for hybrid transform coding scheme

Also Published As

Publication number Publication date
WO2004029880A1 (en) 2004-04-08
JP5015285B2 (ja) 2012-08-29
US7949196B2 (en) 2011-05-24
JP4871402B2 (ja) 2012-02-08
JP2010220225A (ja) 2010-09-30
CN100412907C (zh) 2008-08-20
AU2003272735A1 (en) 2004-04-19
JP4515263B2 (ja) 2010-07-28
JP2006516835A (ja) 2006-07-06
CN1685369A (zh) 2005-10-19
DE60325979D1 (de) 2009-03-12
US7760950B2 (en) 2010-07-20
JP2010213296A (ja) 2010-09-24
EP1543476B1 (en) 2009-01-21
KR100762155B1 (ko) 2007-10-01
EP1543476A1 (en) 2005-06-22
US20040151253A1 (en) 2004-08-05
ES2321288T3 (es) 2009-06-04
US20100034286A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
KR100762155B1 (ko) 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환
US7627187B2 (en) Low complexity and unified transforms for video coding
KR100839310B1 (ko) 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 또는 이미지 정보를 제공하기 위한 시스템
KR100811986B1 (ko) 양자화 및 역양자화 방법
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
CN1697328B (zh) 快速视频编解码变换实现
JP5086274B2 (ja) 共通因数を用いる変換
JP2010501911A (ja) 逆離散コサイン変換の計算中の誤差の低減
JP2005168028A (ja) 絶対差演算装置とそれを用いた動き推定装置及び動映像符号化装置
JP2005354307A (ja) 逆量子化器及びこれを用いた画像復号化装置
JPH04222122A (ja) データ圧縮装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20120907

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130903

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170823

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180904

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 13