KR20120048570A - 미디어 데이터 코딩을 위한 8-포인트 변환 - Google Patents
미디어 데이터 코딩을 위한 8-포인트 변환 Download PDFInfo
- Publication number
- KR20120048570A KR20120048570A KR1020127001820A KR20127001820A KR20120048570A KR 20120048570 A KR20120048570 A KR 20120048570A KR 1020127001820 A KR1020127001820 A KR 1020127001820A KR 20127001820 A KR20127001820 A KR 20127001820A KR 20120048570 A KR20120048570 A KR 20120048570A
- Authority
- KR
- South Korea
- Prior art keywords
- internal factor
- factor
- internal
- sum
- divided
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Discrete Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
일반적으로, 8-포인트 역 이산 코사인 변환 (IDCT) 을 구현하기 위한 기술들이 설명된다. 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛을 포함하는 장치는 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 이러한 기술들을 구현할 수도 있다. 8-포인트 IDCT 하드웨어 유닛은 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 인수들 (A, B) 을 포함하는 짝수부를 포함한다. 8-포인트 IDCT 하드웨어 유닛은 또한 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 1 관계식은 제 1 스케일링된 인수를 제 1 및 제 2 내부 인수들과 관련시킨다. 제 2 관계식은 제 2 스케일링된 인자를 제 3, 제 4, 제 5 및 제 6 내부 인수들과 관련시킨다.
Description
본 출원은, 2009년 6월 24일에 출원된 미국 가출원 제61/219,891호의 우선권을 주장하며, 그 전체 내용이 본 명세서에 참조로서 통합된다.
본 특허 출원은, 하기의 공동 계류 중인 미국 특허출원, 즉,
본 출원과 동시에 출원되고, 본 양수인에게 양도되며, 본 명세서에 참조로서 통합된, 대리인 명세서 번호 092240U2 의 8- POINT TRANSFORM FOR MEDIA DATA CODING
과 관련된다.
기술분야
본 개시물은 데이터 압축에 관한 것으로, 더욱 상세하게는, 변환을 수반하는 데이터 압축에 관한 것이다.
데이터 압축은, 데이터 저장 공간, 송신 대역폭, 또는 이들 양자의 소모를 감소시키기 위해 다양한 애플리케이션들에서 폭넓게 이용된다. 데이터 압축의 예시적인 애플리케이션들은, 디지털 비디오, 이미지, 음성, 및 오디오 코딩과 같은 가시 또는 가청 미디어 데이터 코딩을 포함한다. 디지털 비디오 코딩은 예를 들어, 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템, 무선 통신 디바이스, 개인 휴대 정보 단말기 (PDA), 랩톱 또는 데스크톱 컴퓨터, 디지털 카메라, 디지털 레코딩 디바이스, 비디오 게임 디바이스, 셀룰러 또는 위성 무선 전화기 등을 포함하는 광범위한 디바이스들에서 이용된다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, 또는 H.264/MPEG-4 AVC (Advanced Video Coding) 와 같은 비디오 압축 기술들을 구현하여 디지털 비디오를 더 효율적으로 송수신한다.
일반적으로, 비디오 압축 기술들은 공간 예측, 모션 추정 및 모션 보상을 수행하여 비디오 데이터에 고유한 리던던시를 감소 또는 제거한다. 특히, 인트라-코딩 (intra-coding) 은 공간 예측에 의존하여, 소정의 비디오 프레임 내에서의 비디오에서 공간적 리던던시를 감소 또는 제거한다. 인터-코딩 (inter-coding) 은 시간 예측에 의존하여, 인접 프레임들 내에서의 비디오에서 시간적 리던던시를 감소 또는 제거한다. 인터-코딩의 경우, 비디오 인코더는 모션 추정을 수행하여 2개 이상의 인접 프레임들 간에 매칭되는 비디오 블록들의 움직임을 추적한다. 모션 추정은 모션 벡터들을 생성하고, 그 모션 벡터들은 하나 이상의 기준 프레임들에서의 대응하는 비디오 블록들에 관련하여 비디오 블록들의 변위를 나타낸다. 모션 보상은 모션 벡터를 이용하여 기준 프레임으로부터 예측 비디오 블록을 생성한다. 모션 보상 이후, 예측 비디오 블록을 오리지널 비디오 블록으로부터 감산함으로써 잔여 비디오 블록이 형성된다.
그 후에, 비디오 인코더는 변환에 후속하여, 양자화 및 무손실 통계 코딩 프로세스들을 적용하여, 비디오 코딩 프로세스에 의해 생성된 잔여 블록의 비트 레이트를 더 감소시킨다. 일부 경우에, 적용된 변환은, 각각 수직 및 수평 방향들로 적용된 이산 코사인 변환 (DCT) 을 포함한다. 통상적으로, DCT 는, 그 사이즈가 2 의 거듭제곱인 비디오 블록들, 이를테면, ("4×4 비디오 블록" 이라고 종종 지칭되는) 4 개 픽셀 높이 × 4 개 픽셀 폭의 비디오 블록에 적용된다. 종종, DCT 는 먼저 비디오 블록의 행 (row) 들에 적용되고 다음에 비디오 블록의 열 (column) 들에 적용되는 1차원 또는 선형 DCT 이다. 따라서, 이들 1차원 (1D) DCT들은, 이들 DCT들이 4×4 비디오 블록들에 적용되어 DCT 계수들의 4×4 행렬을 생성하는 4-포인트 DCT들로 지칭될 수도 있다. 4-포인트 DCT 를 잔여 블록에 적용하는 것으로부터 생성된 DCT 계수들의 4×4 행렬은, 그 후에 (통상적으로 "엔트로피 코딩" 프로세스들로 공지된) 양자화 및 무손실 통계 코딩 프로세스들을 경험하여 비트스트림을 생성한다. 통계 코딩 프로세스들의 예로는, CAVLC (context-adaptive variable length coding) 또는 CABAC (context-adaptive binary arithmetic coding) 을 포함한다. 비디오 디코더는 인코딩된 비트스트림을 수신하고 무손실 디코딩을 수행하여 블록들 각각에 대한 잔여 정보를 압축해제한다. 잔여 정보 및 모션 정보를 이용하여, 비디오 디코더는 인코딩된 비디오를 복원한다.
일반적으로, 본 개시물은, 종래의 8-포인트 DCT들에 비해 증가된 코딩 이득을 제공할 수도 있는, 8-포인트 이산 코사인 변환 (DCT) 의 하나 이상의 구현들을 이용하여, 미디어 데이터와 같은 데이터를 코딩하는 기술들에 관련된 것이다. 본 개시물의 기술들에 따라 적용된 8-포인트 DCT 의 구현들은 스케일링된 인수 (scaled factor) 들 및 내부 인수들 사이의 다양한 관계식들을 수반한다. "스케일링된 인수들" 이라는 용어는 인수 분해를 통해 제거되는, 8-포인트 DCT 의 구현으로부터 무관한 인수들을 지칭한다. "내부 인수들" 이라는 용어는 인수 분해 이후에 남아있는, 8-포인트 DCT 의 구현에 속하는 인수들을 지칭한다. 8-포인트 DCT 의 하나의 예시적인 구현은 직교이고, 이는 8-포인트 DCT 를 나타내는 계수들의 행렬이, 이 행렬의 전치 (transpose) 로 곱셈이 행해지는 경우, 단위 행렬과 동일하다는 것을 의미한다. 8-포인트 DCT 의 또 다른 예시적인 구현은 근직교 (near-orthogonal) (또는 대략 직교) 이다. 상세히 후술되는 다양한 관계식들을 고수함으로써, 본 기술들은 직교 및 근직교 8-포인트 DCT 구현들을 발생시키는 양쪽 모두의 경우에서 행렬 계수들의 선택을 용이하게 하고, 이는 데이터에 적용될 경우, 종래의 8-포인트 DCT들에 비해 코딩 이득의 증가를 촉진시킬 수도 있다.
일 양태에서, 방법은 코딩 디바이스로 미디어 데이터를 수신하는 단계 및 수신된 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛으로 8-포인트 DCT 을 수행하는 단계를 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하는 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛을 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 디바이스는 미디어 데이터를 수신하는 수단 및 수신된 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 8-포인트 이산 코사인 변환 (DCT) 을 수행하는 수단을 포함한다. 8-포인트 DCT-Ⅱ 을 수행하는 수단은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체는 프로세서로 하여금, 코딩 디바이스로 미디어 데이터를 수신하게 하고, 상기 수신된 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛으로 8-포인트 DCT 을 수행하게 하는 명령들을 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 방법은 코딩 디바이스로 미디어 데이터를 수신하는 단계, 및 상기 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛으로 8-포인트 DCT 을 수행하는 단계를 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 DCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하는 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛을 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 DCT 하드웨어 유닛은, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 미디어 데이터를 수신하는 수단, 및 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 8-포인트 이산 코사인 변환 (DCT) 을 수행하는 수단을 포함한다. 8-포인트 DCT 을 수행하는 수단은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 DCT 을 수행하는 수단은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체는 프로세서로 하여금, 미디어 데이터를 수신하게 하고, 상기 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하기 위해 8-포인트 이산 코사인 변환 (DCT) 하드웨어 유닛으로 8-포인트 DCT 을 수행하게 하는 명령들을 포함한다. 8-포인트 DCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 DCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 방법은 코딩 디바이스로 코딩된 미디어 데이터를 수신하는 단계 및 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하는 단계를 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 8-포인트 IDCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하는 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛을 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 8-포인트 IDCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 디바이스는 코딩된 미디어 데이터를 수신하는 수단 및 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 을 수행하는 수단을 포함한다. 8-포인트 IDCT 을 수행하는 수단은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 8-포인트 IDCT 을 수행하는 수단은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체는 프로세서로 하여금, 코딩 디바이스로 코딩된 미디어 데이터를 수신하게 하고, 상기 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하게 하는 명령들을 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 제 3 내부 인수의 제곱과 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다. 제 2 관계식은 또한, 제 2 스케일링된 인수가 제 5 내부 인수의 제곱과 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의된다.
또 다른 양태에서, 방법은 코딩 디바이스로 코딩된 미디어 데이터를 수신하는 단계, 및 상기 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하는 단계를 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 IDCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하는 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛을 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 IDCT 하드웨어 유닛은, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 장치는 코딩된 미디어 데이터를 수신하는 수단, 및 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 을 수행하는 수단을 포함한다. 8-포인트 IDCT 을 수행하는 수단은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 IDCT 을 수행하는 수단은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
또 다른 양태에서, 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체는 프로세서로 하여금, 코딩된 미디어 데이터를 수신하게 하고, 상기 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하게 하는 명령들을 포함한다. 8-포인트 IDCT 하드웨어 유닛은, 제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부를 포함하는데, 제 1 관계식은, 제 1 스케일링된 인수가, 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의된다. 8-포인트 IDCT 하드웨어 유닛은 또한, 제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함한다. 제 2 관계식은, 제 2 스케일링된 인수가 하기의 식들: (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의된다.
본 기술들의 하나 이상의 양태들의 세부사항을 첨부한 도면 및 하기의 설명에서 설명한다. 본 개시물에서 기술되는 기술들의 다른 특징들, 목적들 및 이점들은 상세한 설명 및 도면과 청구범위로부터 명백해질 것이다.
도 1 은 비디오 인코딩 및 디코딩 시스템을 예시한 블록도이다.
도 2 는 도 1 의 비디오 인코더를 더 상세히 예시한 블록도이다.
도 3 은 도 1 의 비디오 디코더를 더 상세히 예시한 블록도이다.
도 4는 본 개시물의 기술들에 따라 구성된, 스케일링된 8-포인트 DCT-Ⅱ 의 구현들을 각각 예시한 도면이다.
도 5 는 본 개시물의 기술들에 따라 구성된 8-포인트 DCT 구현을 적용함에 있어서 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다.
도 6 은 본 개시물의 기술들에 따라 구성된 8-포인트 DCT-Ⅲ 구현을 적용함에 있어서 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다.
도 2 는 도 1 의 비디오 인코더를 더 상세히 예시한 블록도이다.
도 3 은 도 1 의 비디오 디코더를 더 상세히 예시한 블록도이다.
도 4는 본 개시물의 기술들에 따라 구성된, 스케일링된 8-포인트 DCT-Ⅱ 의 구현들을 각각 예시한 도면이다.
도 5 는 본 개시물의 기술들에 따라 구성된 8-포인트 DCT 구현을 적용함에 있어서 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다.
도 6 은 본 개시물의 기술들에 따라 구성된 8-포인트 DCT-Ⅲ 구현을 적용함에 있어서 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다.
일반적으로, 본 개시물은 다양한 관계식들에 따라 선택된 계수들의 8×8 행렬로서 나타낸 하나 이상의 8-포인트 이산 코사인 변환 (DCT) 들을 이용하여 데이터를 코딩하는 기술들에 관련된 것이다. 이러한 기술들은, 전기적 신호들의 더 효율적인 프로세싱, 송신 또는 기록보관을 위해, 디지털 비디오, 이미지, 음성, 및/또는 오디오 데이터와 같은 가시성 또는 가청 미디어 데이터를 포함하는 다양한 데이터를 압축하여, 이러한 데이터를 나타내는 전기적 신호들을 압축된 신호들로 변환하는 것에 적용될 수도 있다. 본 개시물의 기술들에 따라 정의된 다양한 관계식들을 고수함으로써, 계수들이 계수 행렬들에 대해 선택될 수도 있으며, 따라서 8-포인트 DCT들의 직교 및 근직교 구현들은 데이터에 적용될 경우, 코딩 이득의 증가를 촉진시킬 수도 있다.
상술된 사이즈, 즉, 8-포인트는 개별 데이터 유닛들의 관점에서 나타낸 것이다. 예시하기 위해, 비디오 데이터가 비디오 블록들의 관점에서, 특히, 비디오 압축과 관련하여 종종 기술된다. 일반적으로, 비디오 블록은 비디오 프레임의 임의의 사이즈의 부분을 지칭하고, 여기서 비디오 프레임은 일련의 픽처들 또는 이미지들에서의 픽처 또는 이미지를 지칭한다. 통상적으로, 각각의 비디오 블록은, 예를 들어, 레드, 블루 및 그린의 컬러 성분들 (소위 "색도" 또는 "크로마 (chroma)" 성분들), 또는 휘도 성분들 (소위 "루마 (luma)" 성분들) 중 어느 하나를 나타내는 복수의 개별 픽셀 데이터를 포함한다. 각각의 픽셀 데이터 세트는 비디오 블록에서의 단일의 1×1 포인트를 포함하고, 비디오 블록들에 대하여 개별 데이터 유닛으로 간주될 수도 있다. 따라서, 8×8 비디오 블록은 예컨대, 각각의 행에서 8개의 개별 픽셀 데이터 세트들을 갖는, 픽셀 데이터의 8개의 행들을 포함한다. 컬러 또는 휘도 값을 특정하기 위해 각각의 픽셀에 n-비트 값이 할당될 수도 있다. 8×8 비디오 블록을 변환할 경우, 8-포인트 DCT 가 행들에 적용되어 변환된 행들을 생성한다. 이후에, 변환된 행 데이터의 열들에 8-포인트 DCT 를 적용한다. 행-열 순서는 역전될 수도 있다. 8개 행들과 4개 열들을 포함하는 직사각형 블록에 대하여 유사하게, 4-포인트 DCT 가 행들에 적용된 후, 중간 변환된 행 데이터의 열들에 8-포인트 DCT 가 적용된다.
통상적으로, DCT들은 데이터의 사이즈의 관점에서 기술되고, 오디오, 음성 이미지이든지 또는 비디오 데이터이든지, DCT 가 프로세싱하는 것이 가능하다. 예를 들어, DCT 가 입력 데이터의 8개 샘플들을 프로세싱할 수 있는 경우, DCT 는 8-포인트 DCT 라고 지칭될 수도 있다. 또한, DCT들은 특정 타입으로 표시될 수도 있다. DCT들의 8개의 상이한 타입들 중 DCT 의 가장 흔히 채용되는 타입은 타입-Ⅱ 의 DCT 이고, 이는 "DCT-Ⅱ" 로서 표시될 수도 있다. 종종, 일반적으로 DCT 라고 지칭할 경우, 이러한 언급은 타입-Ⅱ 의 DCT 또는 DCT-Ⅱ 를 지칭한다. DCT-Ⅱ 의 역은 타입-Ⅲ 의 DCT 라고 지칭되고, 이는 유사하게 "DCT-Ⅲ" 로서 표시될 수도 있거나, DCT 가 DCT-Ⅱ 를 지칭하는 통상의 이해에 따라, "IDCT" 로서 표시될 수도 있으며, 여기서 "IDCT" 에서의 "I" 는 역을 표시한다. 하기의 DCT들에 대한 언급은 이러한 표시법에 따르고, DCT들에 대한 일반적인 언급은 달리 특정되지 않는 한 DCT-Ⅱ 로 지칭한다. 그러나, 혼동을 피하기 위해, DCT들-Ⅱ 을 포함하는 DCT들 대부분은 표시된 대응하는 타입 (Ⅱ, Ⅲ 등) 에 따라 하기에서 지칭된다.
본 개시물에서 기술된 기술들은, 데이터의 압축 및/또는 압축해제를 용이하게 하기 위해 각각 8-포인트 DCT들-Ⅱ 및/또는 8-포인트 DCT들-Ⅲ 의 하나 이상의 구현들을 이용하는 인코더 및/또는 디코더 양자를 수반한다. 또한, 이들 8-포인트 DCT-Ⅱ 구현들을 적용하는 것을 통해 달성된 압축 및 압축해제는, 물리적 컴퓨팅 하드웨어, 물리적 전송 매체 (예를 들어, 구리, 광섬유, 무선, 또는 다른 매체), 및/또는 저장 하드웨어 (예를 들어, 자기 또는 광학 디스크 또는 테이프, 또는 다양한 반도체 매체 중 임의의 반도체 매체) 를 이용하여 신호가 더 효율적으로 프로세싱, 송신, 및/또는 저장될 수 있도록, 데이터를 나타내는 전기적 신호들의 물리적 변환을 허용한다. 이들 구현들은 하드웨어 단독으로 구성될 수도 있거나, 하드웨어 및 소프트웨어의 조합으로 구성될 수도 있다.
8-포인트 DCT들-Ⅱ 의 구현들은 직교 또는 근직교일 수도 있다. "직교" 라는 용어는 일반적으로, 행렬이 그 행렬의 전치가 곱해질 경우, 단위 행렬과 동일하게 되는, 행렬의 속성을 지칭한다. "근직교" 라는 용어는 이러한 직교 속성이 완화되어 엄격한 직교성이 요구되지 않는 경우들을 지칭한다. 이러한 점에서, "근직교" 는 대략적인 또는 정밀하지 않은 (loose) 직교성을 제안한다. 그러나, 근직교 행렬은 직교의 기술적 정의를 만족시키지 못하며, 이러한 근직교 행렬들은 순수한 기술적 관점에서 비직교 (non-orthogonal) 로 간주될 수도 있다.
본 개시물에 기술된 8-포인트 DCT-Ⅱ 의 직교 구현을 예시하기 위해, 8-포인트 DCT 모듈을 포함하는 장치를 고려한다. 8-포인트 DCT 모듈은 본 개시물에 기술된 기술들에 따라 구성된 직교 8-포인트 DCT-Ⅱ 를 구현한다. 이러한 직교 8-포인트 DCT-Ⅱ 구현은 홀수부 및 짝수부를 포함한다. 8-포인트 DCT-Ⅱ 의 소위 "짝수부" 는 짝수 넘버링된 계수들을 출력하는 8-포인트 DCT-Ⅱ 구현의 일부를 지칭한다. 8-포인트 DCT-Ⅱ 의 소위 "홀수부" 는 홀수 넘버링된 계수들을 출력하는 8-포인트 DCT-Ⅱ 구현의 일부를 지칭한다.
본 개시물의 기술들에 의하면, 짝수부는 제 1 및 제 2 내부 인수들 (A,B) 과 제 1 스케일링된 인수 (μ) 를 포함한다. 제 1 스케일링된 인수는 제 1 내부 인수의 제곱과 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하며, 하기의 식 (1) 으로 표시된다:
홀수 부분은 제 3, 제 4, 제 5, 및 제 6 내부 인수들 (G, D, E, Z) 및 제 2 스케일링된 인수 () 를 포함한다. 제 2 스케일링된 인수는 제 3 내부 인수 (G) 의 제곱과 제 4 내부 인수 (D) 의 제곱을 더한 합의 제곱근과 동일하다. 제 2 스케일링된 인수는 또한, 제 5 내부 인수 (E) 의 제곱과 제 6 내부 인수 (Z) 의 제곱을 더한 합의 제곱근과 동일하다. 제 2 스케일링된 인수와 제 3, 제 4, 제 5, 및 제 6 내부 인수들 간의 이러한 2 개의 관계식들은 하기의 식 (2) 에 의해 수학적으로 정의된다:
"내부 인수들" 이라는 용어는 인수 분해 이후에 남아있는, 8-포인트 DCT 의 구현에 속하는 인수들을 지칭한다. "스케일링된 인수들" 이라는 용어는 인수 분해를 통해 제거되는, 8-포인트 DCT 의 구현과 무관한 인수들을 지칭한다.
통상적으로, 내부 인수들은 구현 복잡도의 관점에서 고비용일 수도 있는 곱셈들을 요구함으로써 구현 복잡도를 증가시킨다. 예를 들어, 곱셈은 더 단순한 덧셈 연산보다 3 배 이상 더 많은 계산 연산들이 완료될 것을 요구할 수도 있다. (예를 들어, 보다 적은 클록 사이클들에서) 곱셈을 더 효율적으로 수행하도록 특정 승수 (multiplier) 들이 구현될 수도 있지만, 이들 승수 구현들은 통상적으로 칩 또는 실리콘 표면적을 상당히 더 많이 소비하고, 또한 다량의 전력을 인출할 수도 있다. 따라서, 인수들에 의한 곱셈은, 특히, 셀룰러 폰, 소위 "스마트" 셀룰러 폰, 개인 휴대 정보 단말기 (PDA) 들, 랩톱 컴퓨터, 소위 "노트북" 등을 포함하는 대부분의 모바일 디바이스와 같은 전력 민감성 디바이스들에서는 종종 회피된다. 인수 분해는, 하나 이상의 내부 인수들이 8-포인트 DCT-Ⅱ 구현으로부터 제거되어 외부 인수들로 대체될 수도 있는 프로세스이다. 그 후에, 외부 인수들은, 예를 들어, 비디오 인코더들과 관련하여, 통상적으로 최소 비용을 갖거나 복잡도가 증가하는 후속의 양자화 동작들에 포함될 수 있다.
임의의 경우, 상술된 내부 인수들과 스케일링된 인수들 사이의 식들 (1) 및 (2) 에 의해 정의되는 상기 관계들은, 8-포인트 DCT들-Ⅱ 의 이전 구현들에 이용되지 않은, 특정 값의 내부 인수들을 제공한다. 그 후에, 비디오 인코더는 내부 인수들을 갖는 8-포인트 DCT-Ⅱ 구현을 미디어 데이터에 적용하여, 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환시키도록 한다. 이러한 직교 8-포인트 DCT-Ⅱ 구현을 적용함으로써, 본 기술들은, 표준 8-포인트 DCT-Ⅱ 구현들과 비교할 경우, (압축 효율을 나타내는 용어인) 코딩 이득을 용이하게 한다.
직교성은 가역적이기 때문에 DCT-Ⅱ 구현들에 대하여 일반적으로 바람직하다. 일 실시예로서, 이러한 가역적 속성은 비디오 인코더가 직교 8-포인트 DCT-Ⅱ 구현을 적용하여 비디오 데이터의 잔여 블록들로부터 DCT 계수들을 생성하도록 한다. 그 후에, 비디오 디코더는 8-포인트 역 DCT-Ⅱ (IDCT) 구현을 적용하여 DCT-Ⅱ 계수들로부터 비디오 데이터의 잔여 블록을, 데이터에서 임의의 손실이 있는 경우에 거의 손실이 없이 복원할 수 있다. 비디오 인코딩의 주된 목적이 데이터의 보존이라는 것을 고려하여, H.264 비디오 코딩 표준과 같은 다양한 코딩 표준들이 8-포인트 DCT 의 직교 구현에 채용된다.
직교성은 일반적으로 이론상 요구되는 것이지만, 실제로, 비디오, 오디오 또는 일반적 코딩 파이프라인은, 소위 "잡음" 을 도입하는 다수의 단계들을 수반하며, 이 잡음은 직교 8-포인트 DCT-Ⅱ 구현들에 의해 제공되는 값들의 정확한 복원을 대부분은 사실상 방해한다. 결과적으로, 근직교 (기술적으로 말해서 비-직교) 를 달성하기 위해 직교 속성을 완화시키는 것은 원래의 DCT 기본 함수들의 덜 정확한 근사화를 희생하여 구현 복잡도도 감소시키면서 코딩 효율을 개선할 수도 있다. 사실상, 직교 속성을 완화시키면 잡음이 시스템 내로 도입되지만, 코딩 이득을 개선시키면서 구현 복잡도도 감소시킬 수도 있다.
본 개시물에서 기술된 8-포인트 DCT-Ⅱ 의 근직교 구현의 일 실시예를 예시하기 위해, 장치의 8-포인트 DCT 모듈이, 본 개시물에 기술된 기술들에 따라 구성되는 이러한 근직교 8-포인트 DCT-Ⅱ 를 구현하는 것으로 고려한다. 또한, 이러한 근직교 8-포인트 DCT-Ⅱ 구현은 제 1 및 제 2 내부 인수들 (A,B) 및 제 1 스케일링된 인수 (μ) 를 가지는 짝수부를 포함한다. 스케일링된 인수는 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하며, 이는 하기의 식 (3) 에 수학적으로 표시된다:
이 실시예의 근직교 8-포인트 DCT-Ⅱ 구현은 또한 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 및 제 2 스케일링된 인수 () 를 포함하는 홀수부를 포함한다. 제 2 스케일링된 인수는 하기의 식 (4) 에 의해 정의되는 관계식에서 하기의 항들 중 최소 오차를 발생하는 항과 동일하다:
식 (4) 은, 제 2 스케일링된 인수가, (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 하나와 동일할 수도 있음을 나타낸다.
다시 말해서, 이 식들은 직교 구현과 관련하여 정의된 관계식들에 대하여 앞서 결정된 것과 유사한 특정 내부 인수 값들을 식별할 수도 있지만, 상이한 외부 인수를 발생할 수도 있다. 그러나, 상이한 외부 인수는 상술된 이유로 구현 복잡도를 통상적으로 증가시키지 않지만, 종래의 8-포인트 DCT-Ⅱ 구현들에 비해, 그리고 심지어는 일부 경우 본 개시물의 기술들에 따라 구성된 직교 8-포인트 DCT-Ⅱ 구현에 비해 개선된 코딩 이득을 제공할 수도 있다. 그 결과, 제어 유닛은 이러한 근직교 8-포인트 DCT-Ⅱ 를 미디어 데이터에 적용하여 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하여, 잠재적으로 개선된 코딩 이득을 발생시킨다.
도 1 은 비디오 인코딩 및 디코딩 시스템 (10) 을 예시한 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (16) 을 통해 수신 하드웨어 디바이스 (14) 로 송신하는 소스 하드웨어 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20) 및 송신기 (22) 를 포함할 수도 있다. 목적지 디바이스 (14) 는 수신기 (24), 비디오 디코더 (26) 및 비디오 디스플레이 디바이스 (28) 를 포함할 수도 있다.
도 1 의 실시예에서, 통신 채널 (16) 은 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 채널 (16) 은 근거리 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 일반적으로, 통신 채널 (16) 은 비디오 데이터를 소스 디바이스 (12) 로부터 수신 디바이스 (14) 로 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 집합을 나타낸다.
소스 디바이스 (12) 는 목적지 디바이스 (14) 에 송신하기 위한 비디오를 생성한다. 그러나, 일부 경우, 디바이스들 (12, 14) 은 실질적으로 대칭적인 방식으로 동작할 수도 있다. 예를 들어, 디바이스들 (12, 14) 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함할 수도 있다. 이에 따라, 시스템 (10) 은, 예를 들어, 비디오 스트리밍, 비디오 브로드캐스팅, 또는 비디오 전화를 위해 비디오 디바이스들 (12, 14) 간의 일방향 또는 양방향 비디오 송신을 지원할 수도 있다. 다른 데이터 압축 및 코딩 애플리케이션들의 경우, 디바이스들 (12, 14) 은 이미지, 음성 또는 오디오 데이터와 같은 다른 타입들의 데이터, 또는 2개 이상의 비디오, 이미지, 음성 및 오디오 데이터의 결합물들을 전송 및 수신, 또는 교환하도록 구성될 수 있다. 따라서, 비디오 애플리케이션들의 다음 설명이 예시의 목적으로 제공되고, 본 명세서에 폭넓게 기술된 본 개시물의 다양한 양태들을 한정하는 것으로 고려되지 않아야 한다.
비디오 소스 (18) 는 하나 이상의 비디오 카메라들과 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 (video archive), 또는 비디오 콘텐츠 제공자로부터의 라이브 비디오 피드 (live video feed) 를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (18) 는 소스 비디오로서의 컴퓨터 그래픽 기반 데이터, 또는 라이브 비디오 및 컴퓨터 생성된 비디오의 결합물을 생성할 수도 있다. 일부 경우, 비디오 소스 (18) 가 카메라이면, 소스 디바이스 (12) 및 수신 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 이에 따라, 일부 양태에서, 소스 디바이스 (12), 수신 디바이스 (14) 또는 이들 양자는 모바일 전화기와 같은 무선 통신 디바이스 핸드셋을 형성할 수도 있다. 각각의 경우, 송신기 (22), 채널 (16) 및 수신기 (24) 를 통해 비디오 소스 디바이스 (12) 로부터 비디오 수신 디바이스 (14) 의 비디오 디코더 (26) 로 송신하기 위해, 캡처된 비디오, 미리 캡처된 비디오 또는 컴퓨터 생성된 비디오가 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 디스플레이 디바이스 (28) 는 액정 디스플레이 (LCD), 플라즈마 디스플레이 또는 유기 발광 다이오드 (OLED) 디스플레이와 같은 다양한 디스플레이 디바이스들 중 임의의 디스플레이 디바이스를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (26) 는 공간적, 시간적 및/또는 신호 대 잡음 비 (SNR) 확장성을 위해 확장가능 비디오 코딩을 지원하도록 구성될 수도 있다. 일부 양태에서, 비디오 인코더 (20) 및 비디오 디코더 (22) 는 정밀한 입도의 SNR 확장성 (fine granularity SNR scalability; FGS) 코딩을 지원하도록 구성될 수도 있다. 인코더 (20) 및 디코더 (26) 는 기본 계층 및 하나 이상의 확장가능한 향상 계층들의 인코딩, 송신 및 디코딩을 지원함으로써 확장성의 다양한 등급들을 지원할 수도 있다. 확장가능 비디오 코딩의 경우, 기본 계층은 최소 레벨의 품질로 비디오 데이터를 운반한다. 하나 이상의 향상 계층들은 더 높은 공간적, 시간적 및/또는 SNR 레벨들을 지원하기 위한 부가적인 비트스트림을 운반한다.
비디오 인코더 (20) 및 비디오 디코더 (26) 는 MPEG-2, MPEG-4, ITU-T H.263, 또는 ITU-T H.264/MPEG-4 AVC (Advanced Video Coding) 과 같은 비디오 압축 표준에 따라 동작할 수도 있다. 도 1 에 도시되지는 않았지만, 일부 양태에서, 비디오 인코더 (20) 및 비디오 디코더 (26) 가 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 개별 데이터 스트림들에서 오디오 및 비디오 양쪽 모두의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
일부 양태에서, 비디오 브로드캐스팅을 위해, 예를 들어, 무선 비디오 브로드캐스트 서버 또는 무선 통신 디바이스 핸드셋을 통해, 기술 표준 TIA-1099 로서 공개된, FLO (Forward Link Only) 공중 인터페이스 사양 "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast" ("FLO 사양") 을 이용하여, TM3 (terrestrial mobile multimedia multicast) 시스템들에서의 실시간 비디오 서비스들을 전달하기 위한 H.264 비디오 코딩을 향상시키도록 본 개시물에 기술된 기술들이 적용될 수도 있다. FLO 사양은 FLO 공중 인터페이스에 적합한 비트스트림 신택스 (syntax) 및 시멘틱 (semantics) 및 디코딩 프로세스들을 정의한 예들을 포함한다. 대안적으로, 비디오가 DVB-H (digital video broadcast-handheld), ISDB-T (integrated services digital broadcast - terrestrial), 또는 DMB (digital media broadcast) 와 같은 다른 표준들에 따라 브로드캐스팅될 수도 있다. 이에 따라, 소스 디바이스 (12) 는 모바일 무선 단말기, 비디오 스트리밍 서버, 또는 비디오 브로드캐스트 서버일 수도 있다. 그러나, 본 개시물에 기술된 기술들은 임의의 특정 타입의 브로드캐스트, 멀티캐스트, 또는 포인트-투-포인트 시스템으로 한정되지 않는다. 브로드캐스트의 경우, 소스 디바이스 (12) 는 비디오 데이터의 몇몇 채널들을 다수의 수신 디바이스에 브로드캐스팅할 수도 있고, 그 다수의 수신 디바이스 각각은 도 1 의 수신 디바이스 (14) 와 유사할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (26) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적회로 (ASIC) 들, 필드 프로그램가능 게이트 어레이 (FPGA) 들, 개별 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수도 있다. 이에 따라, 비디오 인코더 (20) 및 비디오 디코더 (26) 각각은 적어도 부분적으로 집적 회로 (IC) 칩 또는 디바이스로서 구현될 수도 있고, 하나 이상의 인코더들 또는 디코더들에 포함될 수 있으며, 그 중 어느 하나는 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등에서 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수 있다. 또한, 소스 디바이스 (12) 및 수신 디바이스 (14) 각각은, 인코딩된 비디오의 송신 및 수신을 위해, 적용가능하다면, 무선 통신을 지원하기에 충분한 무선 주파수 (RF) 무선 컴포넌트들 및 안테나들을 포함하는, 적절한 변조, 복조, 주파수 변환, 필터링, 및 증폭기 컴포넌트들을 포함할 수도 있다. 그러나, 예시를 용이하게 하기 위해, 이러한 컴포넌트들은 도 1 에 도시되지 않는다.
비디오 시퀀스는 일련의 비디오 프레임들을 포함한다. 비디오 인코더 (20) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 프레임들 내의 픽셀들의 블록들 상에서 동작한다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 달라질 수도 있다. 각각의 비디오 프레임은 일련의 슬라이스들을 포함한다. 각각의 슬라이스는 일련의 매크로블록들을 포함할 수도 있고, 그 매크로블록들은 서브-블록들로 배열될 수도 있다. 일 예로서, ITU-T H.264 표준은, 루마 성분들에 대하여 16×16, 8×8, 4×4 와, 크로마 성분들에 대하여 8×8 과 같은 다양한 이항 (dyadic) 블록 사이즈들에서의 인트라 예측 뿐만 아니라, 루마 성분들에 대하여 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 와, 크로마 성분들에 대하여 대응하는 스케일링된 사이즈들과 같은 다양한 블록 사이즈들에서의 인터 예측을 지원한다.
더 작은 비디오 블록들은 일반적으로 더 양호한 분해능을 제공할 수 있고, 더 고레벨의 세부사항을 포함하는 비디오 프레임의 위치들에 대해 이용될 수도 있다. 일반적으로 비디오 블록들을 나타내기 위해, 일반적으로 매크로블록들 (MB들) 및 다양한 서브-블록들이 고려될 수도 있다. 또한, MB들 및/또는 서브-블록들과 같은 일련의 비디오 블록들을 나타나기 위해 슬라이스가 고려될 수도 있다. 각각의 슬라이스는 독립적인 디코딩가능 유닛일 수도 있다. 예측 이후에, 이항 또는 비-이항 사이징된 잔여 블록들에 대해 변환이 수행될 수도 있고, 인트라 16×l6 예측 모드가 이용되는 경우, 크로마 성분들 또는 루마 성분에 대한 4×4 블록들의 DCT 계수들에 부가적인 변환이 적용될 수도 있다.
도 1 의 시스템 (10) 의 비디오 인코더 (20) 및/또는 비디오 디코더 (26) 가 8-포인트 DCT-Ⅱ 및 그의 역 (예를 들어, 8-포인트 DCT-Ⅲ) 의 구현을 포함하도록 각각 구성될 수도 있고, 여기에서 8-포인트 DCT-Ⅱ 는 본 개시물에 기술된 8-포인트 사이즈 DCT 에 대한 DCT-Ⅱ 행렬 계수들을 선택하기 위한 기술들의 다양한 관계식들 중 하나의 관계식을 고수한다. ITU-T H.264 표준이 루마 성분들에 대한 16×16, 8×8, 4×4 와, 크로마 성분들에 대한 8×8 과 같은 다양한 블록 사이즈들에서 인트라 예측을 지원하지만, 코딩 효율을 개선시키기 위한 이러한 표준에 대한 개정이 현재 진행 중이다. MPEG 와 ITU-T 의 공동 작업인 JCT-VC (Joint Collaborative Team-Video Coding) 에 의해 제안되는 하나의 개정된 표준은 고효율 비디오 코딩 (HEVC) 으로 지칭될 수도 있다. 그 결과, HEVC 및 다른 및 다른 진화된 표준들 또는 사양들은 코딩 효율을 개선하기 위해 이들 DCT들-Ⅱ 및 DCT들-Ⅲ 을 고려할 수도 있다.
본 개시물에 기술된 기술들에 의하면, 종래의 구현들에 비해 개선된 코딩 이득을 촉진시킬 수도 있는 다양한 관계식들 중 하나를 고수하는 방식으로 8-포인트 DCT들-Ⅱ 의 구현들이 생성될 수도 있다. 직교 구현들과 관련하여, 편의를 목적으로 여기에서 반복되는 앞의 식 (1) 은 짝수 내부 인수들 (또는 DCT-Ⅱ 구현의 짝수부에 속하는 인수들의 짝수 내부 인수들) 과 짝수부의 하나 이상의 출력들에 적용되는 제 1 스케일링된 인수 사이의 제 1 관계식을 식별하며:
여기서, 변수들 A 및 B 는 8-포인트 DCT-Ⅱ 구현의 "짝수"부에서의 제 1 및 제 2 내부 인수들을 표시한 것이고, 변수 μ 는 8-포인트 DCT-Ⅱ 구현의 "짝수"부에 적용되는 제 1 스케일링된 인수를 표시한 것이다. 8-포인트 DCT-Ⅱ 의 소위 "짝수부" 는 짝수 넘버링된 계수들을 출력하는 4-포인트 DCT-Ⅱ 구현의 일부를 지칭한다.
8-포인트 DCT-Ⅱ 의 소위 "홀수부" 는 홀수 넘버링된 계수들을 출력하는 4-포인트 DCT-Ⅱ 구현의 일부를 지칭한다. 직교 8-포인트 DCT-Ⅱ 구현에서, 홀수부는 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 및 제 2 스케일링된 인수 () 를 포함한다. 제 2 스케일링된 인수는 제 3 내부 인수 (G) 의 제곱과 제 4 내부 인수 (D) 의 제곱을 더한 합의 제곱근과 동일하다. 제 2 스케일링된 인수는 또한 제 5 내부 인수 (E) 의 제곱과 제 6 내부 인수 (Z) 의 제곱을 더한 합의 제곱근과 동일하다. 제 2 스케일링된 인수와 제 3, 제 4, 제 5, 및 제 6 내부 인수들 사이의 이러한 2 개의 관계식들은 식 (2) 에 대하여 전술된 것과 같이 수학적으로 정의되며, 편의를 목적으로 여기에 다시 재현된다:
"내부 인수들" 이라는 용어는 인수 분해 이후에 남아있는, 8-포인트 DCT 의 구현에 속하는 인수들을 지칭한다. "스케일링된 인수들" 이라는 용어는 인수 분해를 통해 제거되는, 8-포인트 DCT 의 구현과 무관한 인수들을 지칭한다.
통상적으로, 내부 인수들은 더 복잡한 구현들을 수반하는 곱셈들을 요구함으로써 구현 복잡도가 증가한다. 예를 들어, 곱셈은 더 단순한 덧셈 동작보다 3 배 이상 더 많은 계산 연산들이 완료되는 것을 요구할 수도 있다. (예를 들어, 보다 적은 클록 사이클들에서) 곱셈을 더 효율적으로 수행하도록 특정 승수들이 구현될 수도 있지만, 이들 승수 구현들은 통상적으로 상당히 많은 칩 또는 실리콘 표면적을 소비하고, 또한 다량의 전력을 인출할 수도 있다. 따라서, 인수들에 의한 곱셈은, 특히, 셀룰러 폰, 소위 "스마트" 셀룰러 폰, 개인 휴대 정보 단말기 (PDA), 랩톱 컴퓨터, 소위 "노트북" 등을 포함하는 대부분의 모바일 디바이스와 같은 전력 민감성 디바이스들에서는 종종 회피된다. 인수 분해는, 하나 이상의 내부 인수들이 8-포인트 DCT-Ⅱ 구현으로부터 제거될 수도 있고 외부 인수들로 대체될 수도 있는 프로세스이다. 그 후에, 외부 인수들은, 예를 들어, 비디오 인코더들과 관련하여, 통상적으로 최소 비용을 갖거나 복잡도가 증가하는 후속의 양자화 동작들에 포함될 수 있다.
임의의 경우, 식 (1) 과 관련하여 상술된 제 1 및 제 2 내부 인수들 A, B 과 제 1 스케일링된 인수 (μ) 사이의 상기 관계식 및 제 3 내지 제 6 내부 인수들 G, D, E 및 Z 와 제 2 스케일링된 인수 () 사이의 관계식은 8-포인트 DCT들-Ⅱ 의 이전 구현들에서 일반적으로 이용되지 않은, 특정 값의 내부 인수들을 제공한다. 예를 들어, 각각 2 및 5 의 내부 인수들 A 및 B 의 값들과 각각 11, 3, 9, 및 7 의 내부 인수들 G, D, E 및 Z 의 값들은 공지된 8-포인트 DCT 구현들에 비해 구현 복잡도를 지나치게 증가시키지 않고, 코딩 이득을 개선시킨다. 그 후에, 비디오 인코더는 이러한 내부 인수들을 갖는 8-포인트 DCT-Ⅱ 구현을 미디어 데이터에 적용하여, 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환한다. 이러한 직교 8-포인트 DCT-Ⅱ 구현을 적용함으로써, 본 기술들은, 종래의 DCT-Ⅱ 구현들과 비교할 경우, (압축 효율을 나타내는 용어인) 코딩 이득을 용이하게 한다.
직교성은 가역적이기 때문에 DCT-Ⅱ 구현들에 대하여 일반적으로 바람직하다. 일 예로서, 이러한 가역적 속성은 비디오 인코더가 직교 8-포인트 DCT 구현을 적용하여 비디오 데이터의 잔여 블록들로부터 DCT 계수들을 생성하도록 한다. 그 후에, 비디오 디코더는 8-포인트 역 DCT-Ⅱ (IDCT) 구현을 적용하여 DCT-Ⅱ 계수들로부터 비디오 데이터의 잔여 블록을, 데이터에서 임의의 손실이 있는 경우 거의 손실이 없이 복원할 수 있다. 비디오 인코딩의 주된 목적이 데이터의 보존임을 고려하여, H.264 비디오 코딩 표준과 같은 다수의 코딩 표준들은 8-포인트 DCT 의 직교 구현에 채용된다.
직교성은 일반적으로 이론상 요구되는 것이지만, 실제로, 비디오, 오디오 또는 일반적 코딩 파이프라인은, 소위 "잡음" 을 도입하는 다수의 단계들을 수반하며, 이 잡음은 직교 8-포인트 DCT-Ⅱ 구현들에 의해 제공되는 값들의 정확한 복원을 대부분은 사실상 방해한다. 결과적으로, 근직교 (기술적으로 말해서 비-직교) 를 달성하기 위해 직교 속성을 완화시키는 것은 원래의 DCT 기본 함수들의 덜 정확한 근사화를 희생하여 구현 복잡도도 감소시키면서 코딩 효율을 개선할 수도 있다. 사실상, 직교 속성을 완화시키면 잡음이 시스템 내로 도입되지만, 코딩 이득을 개선시키면서 구현 복잡도도 감소시킬 수도 있다.
8-포인트 DCT-Ⅱ 의 근직교 구현의 일 실시예를 예시하기 위해, 제어 유닛을 포함하는 장치를 일 예로서 고려한다. 제어 유닛은 본 개시물에 기술된 기술들에 따라 근직교 8-포인트 DCT-Ⅱ 를 구현한다. 이러한 근직교 8-포인트 DCT-Ⅱ 구현은 직교 구현과 동일하게, 제 1 및 제 2 내부 인수들 (A,B) 및 제 1 스케일링된 인수 (μ) 를 가지는 짝수부를 포함한다. 스케일링된 인수는 제 1 내부 인수와 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하며, 이는 전술된 식 (3) 에 의해 수학적으로 표시되고, 편의를 위해 하기에 다시 재현된다:
이 실시예에서, 근직교 8-포인트 DCT-Ⅱ 구현은 또한 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 및 제 2 스케일링된 인수 () 를 포함하는 홀수부를 포함한다. 제 2 스케일링된 인수는 전술된 식 (4) 에 의해 정의되는 관계식에서 하기의 항들 중 최소 오차를 발생하는 항과 동일하며, 편의를 위해 하기에 재현된다:
식 (4) 은, 제 2 스케일링된 인수가, (1) 제 3 내부 인수 (G) 와 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것, (2) 제 3 내부 인수 (G) 와 제 5 내부 인수 (E) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (3) 제 3 내부 인수 (G) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것, (4) 제 4 내부 인수 (D) 와 제 5 내부 인수 (E) 를 더한 합을, 제 4 근사치 (δ) 와 제 5 근사치 (ε) 를 더한 합으로 나눈 것, (5) 제 4 내부 인수 (D) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 4 근사치 (δ) 와 제 6 근사치 () 를 더한 합으로 나눈 것, 및 (6) 제 5 내부 인수 (E) 와 제 6 내부 인수 (Z) 를 더한 합을, 제 5 근사치 (ε) 와 제 6 근사치 () 를 더한 합으로 나눈 것 중 하나와 동일할 수도 있음을 나타낸다.
다시 말해서, 이 식들은 직교 구현과 관련하여 정의된 관계식들에 대하여 앞서 결정된 것과 유사한 특정 내부 인수 값들을 식별할 수도 있지만, 상이한 외부 인수를 발생할 수도 있다. 그러나, 상이한 외부 인수는 상술된 이유로 구현 복잡도를 통상적으로 증가시키지 않지만, 종래의 8-포인트 DCT-Ⅱ 구현들에 비해, 그리고 심지어는 일부 경우 본 개시물의 기술들에 따라 구성된 직교 8-포인트 DCT-Ⅱ 구현에 비해 개선된 코딩 이득을 제공한다. 그 결과, 제어 유닛은 이러한 근직교 8-포인트 DCT-Ⅱ 를 미디어 데이터에 적용하여 미디어 데이터를 공간 도메인으로부터 주파수 도메인으로 변환하여, 잠재적으로 개선된 코딩 이득을 발생시킨다.
도 2 는 도 1 의 비디오 인코더 (20) 를 더 상세히 예시한 블록도이다. 비디오 인코더 (20) 는 하나 이상의 집적 회로 디바이스들로서 적어도 부분적으로 형성될 수도 있고, 이는 총괄하여 집적 회로 디바이스로서 지칭될 수도 있다. 일부 경우, 비디오 인코더 (20) 는 무선 통신 디바이스 핸드셋 또는 브로드캐스트 서버의 일부를 형성할 수도 있다. 비디오 인코더 (20) 는 비디오 프레임들 내의 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 공간 예측에 의존하여, 소정의 비디오 프레임 내에서 비디오의 공간적 리던던시를 감소 또는 제거한다. 인터-코딩은 시간 예측에 의존하여, 비디오 시퀀스의 인접 프레임들 내에서 비디오의 시간적 리던던시를 감소 또는 제거한다. 인터-코딩의 경우, 비디오 인코더 (20) 는 모션 추정을 수행하여 인접 프레임들 간의 매칭되는 비디오 블록들의 움직임을 추적한다.
도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록 (30) 을 수신한다. 도 2 의 예에서, 비디오 인코더 (20) 는 모션 추정 유닛 (32), 기준 프레임 저장 유닛 (34), 모션 보상 유닛 (36), 블록 변환 유닛 (38), 양자화 유닛 (40), 역 양자화 유닛 (42), 역 변환 유닛 (44) 및 엔트로피 코딩 유닛 (46) 을 포함한다. 인-루프 또는 포스트 루프 디블로킹 필터 (미도시) 가 블록들을 필터링하기 위해 적용되어 블로킹 아티팩트 (blocking artifact) 들을 제거할 수도 있다. 또한, 비디오 인코더 (20) 는 합산기 (48) 및 합산기 (50) 를 포함한다. 도 2 는 비디오 블록들의 인터-코딩을 위한 비디오 인코더 (20) 의 시간 예측 컴포넌트들을 예시한 것이다. 또한, 예시를 용이하게 하기 위해 도 2 에 도시되지는 않았지만, 비디오 인코더 (20) 는 또한 일부 비디오 블록들의 인트라-코딩을 위한 공간 예측 컴포넌트들을 포함할 수도 있다.
모션 추정 유닛 (32) 은 비디오 블록 (30) 을 하나 이상의 인접 비디오 프레임들에서의 블록들과 비교하여 하나 이상의 모션 벡터들을 생성한다. 기준 프레임 저장 유닛 (34) 으로부터 인접 프레임 또는 프레임들이 검색될 수도 있고, 그 기준 프레임 저장 유닛 (34) 은 미리 인코딩딘 블록들로부터 복원된 비디오 블록들을 저장하기 위한 임의의 타입의 메모리 또는 데이터 저장 디바이스를 포함할 수도 있다. 가변 사이즈들, 예를 들어, 16×16, 16×8, 8×16, 8×8 또는 더 작은 블록 사이즈들의 블록들에 대해 모션 추정이 수행될 수도 있다. 모션 추정 유닛 (32) 은, 예를 들어, 레이트 왜곡 모델에 기초하여, 현재 비디오 블록 (30) 에 가장 근접하게 매칭하는 인접 프레임들에서의 하나 이상의 블록들을 식별하고, 인접 프레임들에서의 블록들과 현재 비디오 블록 사이의 변위를 결정한다. 이에 기초하여, 모션 추정 유닛 (32) 은 현재 비디오 블록 (30) 과 현재 비디오 블록 (30) 을 코딩하는데 이용되는 기준 프레임들로부터의 하나 이상의 매칭 블록들 사이의 변위의 크기 및 궤적을 나타내는 하나 이상의 모션 벡터들 (MV) 을 생성한다. 매칭 블록 또는 블록들은 코딩될 블록의 인터-코딩을 위한 예언 (또는 예측) 블록들로서 기능할 것이다.
모션 벡터들은 1/2-픽셀 또는 1/4-픽셀 정밀도 또는 심지어는 더 미세한 정밀도를 가질 수도 있어서, 비디오 인코더 (20) 가 정수 픽셀 위치들보다 더 높은 정밀도로 모션을 추적하고 더 양호한 예측 블록을 획득하도록 할 수도 있다. 부분 픽셀 값들을 갖는 모션 벡터들이 이용되는 경우, 모션 보상 유닛 (36) 에서 보간 동작들이 수행된다. 모션 추정 유닛 (32) 은 레이트 왜곡 모델과 같은 특정 기준을 이용하여 비디오 블록에 대한 최상의 블록 파티션들 및 모션 벡터 또는 모션 벡터들을 식별한다. 예를 들어, 양방향 예측의 경우에는 모션 벡터보다 더 많이 존재할 수도 있다. 결과적인 블록 파티션들 및 모션 벡터들을 이용하여, 모션 보상 유닛 (36) 이 예측 비디오 블록을 형성한다.
비디오 인코더 (20) 는 합산기 (48) 에서 모션 보상 유닛 (36) 에 의해 생성된 예측 비디오 블록을 원래의 현재 비디오 블록 (30) 으로부터 감산함으로써 잔여 비디오 블록을 형성한다. 블록 변환 유닛 (38) 은 변환을 적용하여 잔여 변환 블록 계수들을 생성한다. 도 2 에 도시된 바와 같이, 블록 변환 유닛 (38) 은 본 개시물에 기술된 기술들에 따라 구성된 8-포인트 DCT-Ⅱ 를 구현하는 8-포인트 DCT-Ⅱ 유닛 (52) 을 포함한다. 8-포인트 DCT-Ⅱ 유닛 (52) 은, 일부 경우 (소프트웨어 코드 또는 명령들을 실행하는 디지털 신호 프로세서 또는 DSP 와 같은) 소프트웨어를 실행하는 하드웨어 모듈을 나타내고, 상기 식별된 2 개의 관계식들 중 하나에 의해 정의된 내부 인수들을 갖는 8-포인트 DCT-Ⅱ 를 구현한다. 블록 변환 유닛 (38) 은 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 을 잔여 블록에 적용하여 8×8 블록의 잔여 변환 계수들을 생성한다. 8-포인트 DCT-Ⅱ 유닛 (52) 은 일반적으로 잔여 블록을 공간 도메인으로부터 주파수 도메인으로 변환하고, 그 공간 도메인은 잔여 픽셀 데이터로서 나타내며, 그 주파수 도메인은 DCT 계수들로서 나타낸다. 변환 계수들은 적어도 하나의 DC 계수 및 하나 이상의 AC 계수들을 포함하는 DCT 계수들을 포함할 수도 있다.
양자화 유닛 (40) 은 잔여 변환 블록 계수들을 양자화 (예를 들어, 반올림) 하여, 비트 레이트를 더 감소시킨다. 상술된 바와 같이, 양자화 유닛 (40) 은, 인수 분해 동안 제거된 내부 인수들을 포함시킴으로써, 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 의 스케일링 유형을 설명한다. 즉, 양자화 유닛 (40) 은 도 4 의 구현들 (70) 과 관련하여 하기 나타낸 외부 인수를 포함한다. 양자화가 통상적으로 곱셈을 수반함에 따라, 이들 인수들을 양자화 유닛 (40) 내에 포함시키는 것은 양자화 유닛 (40) 의 구현 복잡도를 증가시키지 않을 수도 있다. 이와 관련하여, 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 으로부터 인수들을 제거하는 것은, 양자화 유닛 (40) 의 구현 복잡도를 증가시키지 않고 DCT-Ⅱ 유닛 (52) 의 구현 복잡도를 감소시켜서, 비디오 인코더 (20) 에 대한 구현 복잡도를 결국 감소시키게 된다.
엔트로피 코딩 유닛 (46) 은 양자화된 계수들을 엔트로피 코딩하여 비트 레이트를 더 감소시킨다. 엔트로피 코딩 유닛 (46) 은, 일부 경우 엔트로피 코딩이라고 지칭되는 통계적 무손실 코딩을 수행한다. 엔트로피 코딩 유닛 (46) 은 양자화된 DCT 계수들의 확률 분포를 모델링하고, 그 모델링된 확률 분포에 기초하여 코드북 (예를 들어, CAVLC 또는 CABAC) 을 선택한다. 이러한 코드북을 이용하여, 엔트로피 코딩 유닛 (46) 은, 양자화된 DCT 계수들을 압축하는 방식으로, 각각의 양자화된 DCT 계수에 대한 코드들을 선택한다. 예시를 위해, 엔트로피 코딩 유닛 (46) 은 양자화된 DCT 계수들을 빈번하게 발생시키기 위한 (비트들의 관점에서) 더 짧은 코드워드, 및 양자화된 DCT 계수들을 덜 빈번하게 발생시키기 위한 (비트들의 관점에서) 더 긴 코드워드를 선택할 수도 있다. 짧은 코드워드가 양자화된 DCT 계수들보다 더 적은 비트들을 이용한다면, 평균적으로, 엔트로피 코딩 유닛 (46) 은 양자화된 DCT 계수들을 압축한다. 엔트로피 코딩 유닛 (46) 은 엔트로피 코딩된 계수들을 비디오 디코더 (26) 에 전송되는 비트스트림으로서 출력한다. 일반적으로, 비디오 디코더 (26) 는, 도 3 의 실시예들을 참조하여 기술되는 바와 같이, 비트스트림으로부터 인코딩된 비디오를 디코딩 및 복원하기 위한 역 동작들을 수행한다.
복원 유닛 (42) 및 역 변환 유닛 (44) 은 각각 양자화된 계수들을 복원하고, 역 변환을 적용하여, 잔여 블록을 복원한다. 역 변환 유닛 (44) 은 통상적으로 타입 Ⅲ 의 DCT 로 지칭되는 역 DCT (IDCT) 를 포함하며, 이는 도 3 과 관련하여 하기에 기술된 8-포인트 DCT-Ⅲ 유닛 (68) 과 유사하게 8-포인트 DCT-Ⅱ 유닛 (52) 의 역 연산들을 수행한다. 합산 유닛 (50) 은 복원된 잔여 블록을 모션 보상 유닛 (36) 에 의해 생성된 모션 보상된 예측 블록과 가산하여, 기준 프레임 저장 유닛 (34) 에서의 저장을 위해 복원된 비디오 블록을 생성한다. 복원된 비디오 블록이 모션 추정 유닛 (32) 및 모션 보상 유닛 (36) 에 의해 이용되어, 후속의 비디오 프레임에서의 블록을 인코딩한다.
도 3 은 도 1 의 비디오 디코더 (26) 의 일 예를 더 상세히 예시한 블록도이다. 비디오 디코더 (26) 는 하나 이상의 집적 회로 디바이스들로서 적어도 부분적으로 형성될 수도 있고, 이는 총괄하여 집적 회로 디바이스로 지칭될 수도 있다. 일부 경우, 비디오 디코더 (26) 는 무선 통신 디바이스 핸드셋의 일부를 형성할 수도 있다. 비디오 디코더 (26) 는 비디오 프레임들 내의 블록들의 인트라-디코딩 및 인터-디코딩을 수행할 수도 있다. 도 3 에 도시된 바와 같이, 비디오 디코더 (26) 는 비디오 인코더 (20) 에 의해 인코딩된 인코딩 비디오 비트스트림을 수신한다. 도 3 의 실시예에서, 비디오 디코더 (26) 는 엔트로피 디코딩 유닛 (54), 모션 보상 유닛 (56), 복원 유닛 (58), 역 변환 유닛 (60), 및 기준 프레임 저장 유닛 (62) 을 포함한다. 엔트로피 디코딩 유닛 (64) 은 코딩에 유용한 데이터를 획득하기 위해 메모리 (64) 에 저장된 하나 이상의 데이터 구조들에 액세스할 수도 있다. 또한, 비디오 디코더 (26) 는 합산기 (66) 의 출력을 필터링하는 인-루프 디블로킹 필터 (미도시) 를 포함할 수도 있다. 또한, 비디오 디코더 (26) 는 합산기 (66) 를 포함한다. 도 3 은 비디오 블록들의 인터-디코딩을 위한 비디오 디코더 (26) 의 시간 예측 컴포넌트들을 예시한 것이다. 또한, 도 3 에 도시된 것은 아니지만, 비디오 디코더 (26) 는 일부 비디오 블록들의 인트라-디코딩을 위한 공간 예측 컴포넌트들을 포함할 수도 있다.
엔트로피 디코딩 유닛 (54) 은 인코딩된 비디오 비트스트림을 수신하고, 그 비트스트림으로부터 양자화된 잔여 계수들 및 양자화된 파라미터들 뿐만 아니라, 매크로블록 코딩 모드 및 모션 정보와 같은 다른 정보를 디코딩하고, 그 모션 정보는 모션 벡터들 및 블록 파티션들을 포함할 수도 있다. 모션 보상 유닛 (56) 은 모션 벡터들 및 블록 파티션들 및 기준 프레임 저장 유닛 (62) 으로부터의 하나 이상의 복원된 기준 프레임들을 수신하여 예측 비디오 블록을 생성한다.
복원 유닛 (58) 은 양자화된 블록 계수들을 역 양자화, 즉, 양자화 해제한다. 역 변환 유닛 (60) 은 역 변환, 예를 들어, 역 DCT 를 계수들에 적용하여, 잔여 블록들을 생성한다. 더 상세하게는, 역 변환 유닛 (60) 은 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 을 포함하고, 그 역 변환 유닛 (60) 이 계수들에 적용하여 잔여 블록들을 생성한다. 도 2 에 도시된 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 의 역인, 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 은, 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔여 블록들을 생성할 수도 있다. 상기의 양자화 유닛 (40) 과 유사하게, 복원 유닛 (58) 은, 구현 복잡도에서의 임의의 증가가 있는 경우에 그 구현 복잡도를 거의 증가시키지 않고, 인수 분해 동안 제거된 외부 인수들을 복원 프로세스에 포함시킴으로써 8-포인트 DCT-Ⅲ 유닛 (68) 의 스케일링 유형을 설명한다. 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 으로부터 인수들을 제거하는 것은, 구현 복잡도를 감소시킬 수도 있어서, 비디오 디코더 (26) 에 대한 복잡도를 결국 감소시키게 된다.
그 후에, 예측 비디오 블록들은 합산기 (66) 에 의해 잔여 블록들과 합산되어, 디코딩된 블록들을 형성한다. 디블로킹 필더 (미도시) 는 디코딩된 블록들을 필터링하기 위해 적용되어 블로킹 아티팩트들을 제거할 수도 있다. 그 후에, 필터링된 블록들이 기준 프레임 저장 유닛 (62) 에 위치되고, 그 기준 프레임 저장 유닛 (62) 은 후속 비디오 프레임들의 디코딩을 위한 기준 프레임을 제공하고, 또한 디코딩된 비디오를 생성하여 디스플레이 디바이스 (28; 도 1) 를 구동한다.
도 4 는 본 개시물의 기술들에 따라 구성된, 도 2 의 실시예에 도시된 8-포인트 DCT-Ⅱ 유닛 (52) 에 의해 표시된 것과 같은 스케일링된 8-포인트 DCT-Ⅱ 의 일반적인 구현을 예시한 도면이다. 도 4 의 실시예에서, 8-포인트 DCT-Ⅱ 구현 (70) 은 상술한 8-포인트 DCT-Ⅱ 의 직교 및 근직교 구현들 양자를 표시한다. 이러한 관점에서, 직교 및 근직교 구현 양자는 동일한 인수분해 프로세스를 이용하여 결정될 수도 있고, 직교 구현과 근직교 구현 간의 차이는 하기에서 더 상세히 언급되는 것과 같이 서로다른 내부 인수 및 스케일링된 인수의 형태로 발생한다. 이러한 예시적인 구현과 관련하여 설명되고 있지만, 상이한 인수분해 프로세스들을 통해 유도되는 다른 구현들이 이용될 수도 있다. 따라서, 본 개시물의 기술들은 도 4 의 실시예에 제한되지 않을 것이다. 도 2 의 실시예에 도시된 8-포인트 DCT-Ⅱ 유닛 (52) 은 하나 이상의 이러한 구현들 (70) 을 통합할 수도 있다. 도 3 의 실시예에 도시된 8-포인트 DCT-Ⅲ 유닛 (68) 은 하나 이상의 이러한 구현들 (70) 의 역 구현을 포함시킬 수도 있고, 여기에서 역 구현은 단일 경로를 거의 역전시켜 입력들이 구현 (70) 의 우측으로부터 시작하고 출력들이 구현 (70) 의 좌측에서 종료하도록 한다.
도 4 의 실시예에 도시된 것과 같이, 8-포인트 DCT-Ⅱ 구현 (70A) 은 버터플라이 유닛 (72), 짝수부 (74A) 및 홀수부 (74B) 를 포함한다. 버터플라이 유닛 (72) 은 입력들 (x0, ..., x3) 을 적절한 짝수 및 홀수부들 (74A, 47B) ("부분들 (74)") 로 라우팅 또는 포워딩하기 위한 하드웨어 또는 하드웨어와 소프트웨어의 결합물을 나타낼 수도 있다. 통상적으로, 버터플라이 유닛 (72) 은 4-포인트 DCT-Ⅱ 구현들과 같은 더 작은 DCT들의 결과를 결합하고, 이 경우에 4-포인트 DCT-Ⅱ 구현들은 각각 짝수 및 홀수부들 (74A, 74B) 로 나타낼 수도 있다. 짝수부 (74A) 는 짝수 DCT 계수들 (X0, X2, X4 및 X6) 을 출력하는 8-포인트 DCT-Ⅱ 구현 (70) 의 4×4 부분이다. 특히, 짝수 계수들 (X0 및 X4) 에는 2의 제곱근 분의 1 의 외부 인수가 곱해지고, 그 외부 인수는 양자화 유닛 (40) 에 의해 적용될 수 있고, 통상적으로 적용된다. 짝수 계수들 (X2 및 X6) 에는 뮤 (μ) 분의 1 의 외부 인수가 곱해지고, 그 외부 인수는 다시 양자화 유닛 (40) 에 의해 통합되고 적용될 수 있고, 통상적으로 통합되고 적용된다. 짝수부 (74A) 는 하기에서 더 상세히 설명되는 것과 같은 2가지 방식들 중 하나로 뮤 (μ) 와 관련된 2 개의 외부 인수들 (A 및 B) 을 포함한다.
홀수부 (74B) 는 홀수 DCT 계수들 (X1, X3, X5 및 X7) 을 출력하는 8-포인트 DCT-Ⅱ 구현 (70) 의 4-포인트 부분이다. 홀수부 (74B) 는 G, D, E 및 Z 로 표시된 4 개의 내부 인수들을 포함하고, 이들은 하기에서 더 상세히 설명되는 것과 같은 2가지 방식들 중 하나로 홀수 계수들 (X1, X3, X5 및 X7) 에 적용되는 스케일링된 인수, 에타 ()와 관련된다. 추가로, 2의 제곱근 분의 1 의 외부 인수 () 는 홀수 계수들 (X1 및 X7) 에 적용된다. 2의 제곱근 분의 1 및 스케일링된 인수, 에타 분의 1 의 외부 인수 양자는 양자화 유닛 (40) 내에 포함될 수 있으며, 일반적으로 비디오 인코더 (20) 의 구현 복잡도를 증가시키지 않고 이러한 인수들을 적용한다.
직교 구현들의 경우, 식들 (1) 및 (2) 에서 언급된 관계식은 먼저 하기의 식 (5) 에 의해 수학적으로 설명되는 직교 속성을 고려하여 유도될 수 있다:
이 경우 변수 C 는 임의의 행렬을 지칭하는 반면, CT 는 행렬 C 의 전치를 표시한 것이다. 변수 I 는 단위 행렬을 표시한 것이다. 따라서, 행렬은,행렬의 전치와 그 행렬 자체의 곱이 단위 행렬과 동일한 경우, 직교 속성을 나타낸다.
상술된 이유들로 미디어 코딩 구현들에 바람직한, 스케일링된 행렬을 가정하면, 행렬 (C) 는 하기 식 (6) 에서 설명되는 바와 같이, C' 로 표시된 정수 스케일링된 변환, 및 스케일 인수들 또는 외부 인수들의 대각 행렬 D 로 분할될 수 있다:
식 (5) 에서의 C 를 식 (6) 로부터의 C'D 로 치환하면 하기 식 (7) 이 발생하고:
이는 하기의 식 (8) 에 나타낸 수학식으로 단순화될 수 있다:
식 (8) 은 스케일링 인수들을 선택하기 위한 메커니즘을 제공하여, 결과적인 정수 변환이 여전히 직교 이도록 한다.
예를 들어, 8-포인트 DCT-Ⅱ 구현들의 경우, 통상적으로, 이러한 DCT-Ⅱ 구현은 8 로 나눈 3 × 상수 파이의 코사인, 및 8 로 나눈 3 × 상수 파이의 사인, 16 으로 나눈 상수 파이의 코사인, 16 으로 나눈 상수 파이의 사인, 16 으로 나눈 3 × 상수 파이의 코사인 및 16 으로 나눈 3 × 상수 파이의 사인을 나타내는 인수들의 근사치들만을 적용한다. 이들 6 개의 인수들이 행렬 C' 의 계수들인 정수들 A, B, G, D, E 및 Z 로 대체되어야 한다고 가정하고, 상기 직교성 조건을 이용하면, 상기의 식 (1) 은 정규화 인수를 표시하며, 따라서 8-포인트 DCT-Ⅱ 의 직교 근사를 설계하는 작업이 정수들 (A, B, G, D, E 및 Z) 을 발견하는 것으로 한정될 수도 있어, 하기 식들 (9) 및 (10) 이 만족되도록 한다:
하기의 표 1 는, 구현 (70) 의 짝수부 (74A) 에 대한 무리 (irrational) DCT-Ⅱ 와 비교할 때 A 및 B 의 정수들에 대하여 선택된 다양한 값들과 결과적인 근사 오차들 및 사용된 비트들의 수를 예시한 것이다.
표 1
하기의 표 2 는, 구현 (70) 의 홀수부 (74B) 에 대한 무리 (irrational) DCT-Ⅱ 와 비교할 때 G, D, E 및 Z 의 정수들에 대하여 선택된 다양한 값들과 결과적인 근사 오차들 및 사용된 비트들의 수를 예시한 것이다.
표 2
특히, 표 1 및 표 2 의 양자에서 처음 3 개의 솔루션은 다소 부정확하지만, A 및 B 는 각각 5 및 12 로 설정되고 G, D, E 및 Z 는 각각 11, 3, 9 및 7 로 설정된 제 4 솔루션에서 시작할 때, 결과적인 구현 (70) 의 복잡도는 증가하지만, 다수의 코사인 및 사인 항들의 근사치들에서 오차가 훨씬 덜 발생한다. 표 2 의 (헤더 행 다음으로) 제 5 행에서의 제 5 솔루션은 근사 오차들과 관련하여 표 2 의 제 6 행의 솔루션과 대략 동일하다. 표 2 의 제 7 및 제 8 행들에 열거된 제 7 및 제 8 솔루션은 매우 작은 근사 오차들을 보여준다. 표 1 및 표 2 로부터, 내부 인수들 A, B, G, D, E 및 Z 에 대한 다수의 상이한 조합들은 특정 용도에 구현 (70) 을 맞추도록 시도될 수도 있다. 주목할만한 조합은, (1, 2), (2, 5) 또는 (3, 7) 의 (A, B) 값들을 (11, 3, 9, 7) 및 (19, 4, 16, 11) 의 (G, D, E, Z) 값들 중 하나와 결합하는 것을 포함한다. 이와 관련하여, 본 개시물에 기술된 기술들은, 내부 인수들 A, B, G, D, E 및 Z 에 대한 값들의 상기 조합들 중 하나 이상을 포함하는 구현 (70) 으로, 복잡도의 최소의 증가만으로 증가된 코딩 이득을 촉진시키며, 구현 복잡도에 최소한의 증가로 잠정적으로 개선된 코딩 이득을 제공한다.
근직교 구현들의 경우, 식 (3) 및 (4) 에 언급된 관계식은 먼저, 일반적으로 직교성이 이론상 8-포인트 DCT-Ⅱ 의 간단한 역 구현을 보장하지만, 실제로는 (정수 변환들에 후속하는) 대부분의 스케일 인수들이 무리수들이 되고, 이 무리수들은 정수 승수를 이용하여 정밀하게 구현하기가 어렵다는 것을 고려하여 유도될 수 있다. 또한, 일반적으로 양자화는 8-포인트 DCT 변환들의 적용에 후속하고, 이러한 양자화는, 역 직교 DCT-Ⅱ 구현의 간단한 적용을 방해할 수도 있는 잡음을 부가시킨다. 또한, 직교성을 유지하는 것은 실제로 이러한 직교 구현들의 근사치들이 원래의 DCT-Ⅱ 기본 함수들과 관련하여 정확성이 떨어지도록 할 수도 있다. 결과적으로, 직접 구현과 역 구현 사이의 이러한 직교성 미스매치의 정도를 완화시키면 실제로 코딩 이득을 개선할 수도 있다.
미스매치의 정도를 특성화하기 위해, 단위 행렬로부터의 차이의 놈 (norm) 이 하기 식 (11) 에 따라 정의된다:
식 (5) 과 관련하여 전술된 것과 동일한 기수법을 이용하여, 식 (11) 은 간단히, 단위 행렬로부터의 차이의 놈은 행렬의 전치 × 행렬에서 단위 행렬을 감산한 것로서 정의될 수 있다는 것을 나타낸다. CTC 가 대각성 (diagonal) 을 가지는 것으로 가정하면, 평균 절대 차이는 하기 식 (12) 에 따라 계산될 수 있다:
직교 속성을 완화시킴으로써, 코딩 이득을 개선시킬 수도 있지만, 평균 절대 차이에 관련된 코딩 이득의 분석은 압축을 경험하는 이미지의 특정 모델 또는 통계치들에 너무 의존한다. 그 결과, 직교 속성을 완화시키기 위한 범위는, DCT-Ⅱ 의 기본 함수들의 매칭의 관점에서 잠재적으로 최상인 정수 변환들을 발견하는 것에 관련된 상이한 메트릭의 분석을 통해 결정될 수도 있다. 이러한 형태의 평가에 관한 더 많은 정보가 Y.A. Reznik, A.T.Hinds, 및 J.L.Mitchell 저서의 "Improved precision of Fixed-Point Algorithms by Means of Common factors (Proc. ICIP 2008, 샌디에고, CA)" 라는 명칭의 문헌에서 발견될 수 있고, 그 전체 내용이 본 명세서에서 완전히 설명되는 바와 같이 참조로서 통합된다.
이러한 통합된 참조로부터, 최상의 매칭 설계를 생성하기 위한 하나의 기술은 "공통 인수 기반 근사" 라고 지칭된다. 이러한 기술들을 이용하여, 식들 (3) 및 (4) 이 유도될 수 있고, 그 양자는 편의를 위해 하기에 재현된다:
하기의 표 3 는 A 및 B 의 정수들에 대해 선택된 다양한 값들 및 결과적인 근사 오차들을 예시한 것이다.
표 3
하기의 표 4 는 G, D, E 및 Z 의 정수들에 대해 선택된 다양한 값들 및 무리 DCT-Ⅱ 와 비교하여 결과적인 근사 오차들을 예시한 것이다.
표 4
표 4 에서, 공통 인수 접근법을 이용하여 대칭적이 되는 오차들의 쌍들은 밑줄 표시된다. 이러한 대칭적인 오차들은 변환의 홀수부에서 4 개의 내부 인수들의 세트에 대하여 발견된 최악 (worst case) 근사 오차들을 나타낸다.
하기의 표 5 는 사용된 비트들의 수에 기초하여 최악 정밀도의 직교 구현 (70) 과 근직교 또는 비-직교 구현 (70) 의 비교를 예시한다.
표 5
표 5 에서 보여지는 것과 같이, DCT-Ⅱ 의 비-직교 구현들 모두는 3-비트 직교 구현과 비교할 경우, 대응하는 직교 구현들, 특히 3-비트 비-직교 구현보다 적은 최악 오차를 갖는다. 이러한 3-비트 비-직교 구현은 또한 무리 DCT-Ⅱ 인수들의 양호한 근사화를 통해 증가된 코딩 이득을 제공하는데 부가하여, H.264 비디오 코딩 표준에서 특정된 8-포인트 DCT-Ⅱ 보다 덜 복잡한 수학적 연산들을 요구한다.
선형 또는 1차원 DCT 로서 상술되었지만, 본 개시물에서 설명된 8-포인트 DCT 는 하기의 표 6 에 도시된 것과 같은 8×8 DCT-Ⅱ 행렬로 표시될 수도 있다. 파라미터들 A, B, G, D, E 및 Z 의 선택에 따라, 행렬 계수들의 개수가 많아 수도 있고, 이 많은 값들로 곱셈들을 수행하는데 요구되는 연산들과 관련하여 구현 복잡도가 증가된다. 이러한 많은 값들을 제거하고 변환의 동적 범위를 밸런싱하기 위해, 곱셈 이후 구현에 우측 쉬프트들이 도입될 수도 있다. 일부 경우, 우측 쉬프트들은 파라미터들 A 및 B 에 대한 우측 쉬프트들이 동일하다는 하나의 예시적인 제한에 따라 임의의 양의 정수만큼 값들을 우측으로 쉬프트시킬 수도 있다. 유사하게, G, D, E 및 Z에 대한 우측으로의 쉬프트들은 동일해야만 할 수도 있다. 우측 쉬프트들은 이러한 정수 파라미터들을, 2 의 거듭제곱의 분모를 가지는 유리수인, 이항 유리수 (dyadic rational) 들로 컨버팅한다. 통상적으로, 우측 쉬프트들은 변환의 정확성을 감소시키며, 결과적으로 이러한 우측 쉬프트들을 최소로 유지하는 것이 바람직하다. 또한, 입력 샘플들은 우측 쉬프팅으로 인한 정확성의 손실을 최소로 하기 위해 일정한 상수만큼 좌측으로 미리 쉬프팅될 수도 있다. 통상의 실시예는 A 및 B 에 대하여 1 만큼의 우측 쉬프트들과 G, D, E 및 Z 에 대하여 4 만큼의 우측 쉬프트들이다.
표 6: 8×8
DCT
-Ⅱ 행렬
DCT-Ⅱ 유닛과 관련하여 도 4 의 실시예에서 상술되었지만, 이러한 DCT-Ⅱ 유닛은 본 개시물의 기술들에 따라 구성된 IDCT 을 나타낼 수도 있다. 도 4 의 실시예에 도시된 구현으로부터 역 DCT 를 형성하는 것은 입력들 및 출력들을 반전시키는 것을 수반하여, 입력들이 도 4 의 우측에서의 구현에 의해 수신되고 출력들이 구현의 좌측에서 출력되도록 한다. 다시 말해서, 수직적인 액세스에 대하여 구현을 반전시켜 입력들이 출력들이 되고 출력들이 입력들이 되도록 하는 것은 일반적으로 IDC 구현을 생성할 것이다. 예시를 용이하게 하기 위해, DCT 로부터 IDCT 을 형성하는 것이 당업계에 널리 공지된 것을 고려하여, 이러한 추가의 IDCT 구현들은 별도의 도면들로 도시되지 않는다.
도 5 는 본 개시물의 기술들에 따라 구성된 8-포인트 DCT 구현을 적용함에 있어서 도 2 의 비디오 인코더 (20) 와 같은 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다. 먼저, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록 (30) 을 수신한다 (도면부호 90). 모션 추정 유닛 (32) 은 비디오 블록 (30) 을 하나 이상의 인접 비디오 프레임들에서의 블록들과 비교하기 위한 모션 추정을 수행하여 하나 이상의 모션 벡터들을 생성한다 (도면부호 92). 인접 프레임 또는 프레임들이 기준 프레임 저장 유닛 (34) 으로부터 검색될 수도 있다. 다양한 사이즈들, 예를 들어, 16×16, 16×8, 8×16, 8×8, 4×4 또는 더 작은 블록 사이즈들의 블록들에 대해 모션 추정이 수행될 수도 있다. 모션 추정 유닛 (32) 은, 예를 들어, 레이트 왜곡 모델에 기초하여, 현재 비디오 블록 (30) 과 매우 가깝게 매칭하는 인접 프레임들에서의 하나 이상의 블록들을 식별하고, 인접 프레임들에서의 블록들과 현재 비디오 블록 사이의 변위를 결정한다. 이에 기초하여, 모션 추정 유닛 (32) 은 현재 비디오 블록 (30) 과 현재 비디오 블록 (30) 을 코딩하는데 이용되는 기준 프레임들로부터의 하나 이상의 매칭 블록들 사이의 변위의 크기 및 궤적을 나타내는 하나 이상의 모션 벡터들 (MV) 을 생성한다. 매칭 블록 또는 블록들은 코딩될 블록의 인터-코딩을 위한 예언 (또는 예측) 블록들로서 기능할 것이다.
모션 벡터들은 1/2-픽셀 또는 1/4-픽셀 정밀도 또는 심지어는 더 미세한 정밀도를 가질 수도 있어서, 비디오 인코더 (20) 가 정수 픽셀 위치들보다 더 높은 정밀도로 모션을 추적하고 더 양호한 예측 블록을 획득하도록 할 수도 있다. 부분 (fractional) 픽셀 값들을 갖는 모션 벡터들이 이용되는 경우, 모션 보상 유닛 (36) 에서 보간 동작들이 수행된다. 모션 추정 유닛 (32) 은 레이트 왜곡 모델과 같은 특정 기준을 이용하여 비디오 블록에 대한 최상의 블록 파티션들 및 모션 벡터 또는 모션 벡터들을 식별한다. 예를 들어, 양방향 예측의 경우에는 더 많은 모션 벡터가 존재할 수도 있다. 결과적인 블록 파티션들 및 모션 벡터들을 이용하여, 모션 보상 유닛 (36) 이 예측 비디오 블록을 형성한다 (도면부호 94).
비디오 인코더 (20) 는 합산기 (48) 에서 모션 보상 유닛 (36) 에 의해 생성된 예측 비디오 블록을 원래의 현재 비디오 블록 (30) 으로부터 감산함으로써 잔여 비디오 블록을 형성한다 (도면부호 96). 블록 변환 유닛 (38) 은 변환을 적용하여 잔여 변환 블록 계수들을 생성한다. 블록 변환 유닛 (38) 은 본 개시물에 기술된 기술들에 따라 생성된 8-포인트 DCT-Ⅱ 유닛 (52) 을 포함한다. 블록 변환 유닛 (38) 은 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 을 잔여 블록에 적용하여 8×8 블록의 잔여 변환 계수들을 생성한다. 8-포인트 DCT-Ⅱ 유닛 (52) 은 일반적으로 잔여 블록을 공간 도메인으로부터 주파수 도메인으로 변환하고, 그 공간 도메인은 잔여 픽셀 데이터로서 나타내며, 그 주파수 도메인은 DCT 계수들로서 나타낸다. 이러한 방식으로, 8-포인트 DCT-Ⅱ 유닛 (52) 은 전술된 8-포인트 DCT-Ⅱ 에 대한 구현을 잔여 데이터에 적용하여 DCT 계수들을 결정한다 (도면부호 98). 변환 계수들은 적어도 하나의 DC 계수 및 하나 이상의 AC 계수들을 포함하는 DCT 계수들을 포함할 수도 있다.
양자화 유닛 (40) 은 잔여 변환 블록 계수들을 양자화 (예를 들어, 반올림) 하여, 비트 레이트를 더 감소시킨다 (도면부호 100). 상술된 바와 같이, 양자화 유닛 (40) 은, 인수 분해 동안 제거된 내부 인수들을 포함시킴으로써, 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 의 스케일링 유형을 설명한다. 즉, 양자화 유닛 (40) 은 도 4 의 구현들 (70) 과 관련하여 전술된 외부 인수를 포함한다. 양자화가 통상적으로 곱셈을 수반함에 따라, 이들 인수들을 양자화 유닛 (40) 내에 포함시키는 것은 양자화 유닛 (40) 의 구현 복잡도를 증가시키지 않을 수도 있다. 이와 관련하여, 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 으로부터 인수들을 제거하는 것은, 양자화 유닛 (40) 의 구현 복잡도를 증가시키지 않고 DCT-Ⅱ 유닛 (52) 의 구현 복잡도를 감소시켜서, 비디오 인코더 (20) 에 관련된 구현 복잡도를 결국 감소시키게 된다.
엔트로피 코딩 유닛 (46) 은 양자화된 계수들을 엔트로피 코딩하여 비트 레이트를 더 감소시킨다. 엔트로피 코딩 유닛 (46) 은, 일부 경우 엔트로피 코딩이라고 지칭되는 통계적 무손실 코딩을 수행하여 코딩된 비트스트림을 생성한다 (도면부호 102). 엔트로피 코딩 유닛 (46) 은 양자화된 DCT 계수들의 확률 분포를 모델링하고, 그 모델링된 확률 분포에 기초하여 코드북 (예를 들어, CAVLC 또는 CABAC) 을 선택한다. 이러한 코드북을 이용하여, 엔트로피 코딩 유닛 (46) 은, 양자화된 DCT 계수들을 압축하는 방식으로, 각각의 양자화된 DCT 계수에 대한 코드들을 선택한다. 엔트로피 코딩 유닛 (46) 은 엔트로피 코딩된 계수들을, 메모리 또는 저장 디바이스에 저장되고/되거나 비디오 디코더 (26) 에 전송되는 코딩된 비트스트림으로서 출력한다 (도면부호 104).
복원 유닛 (42) 및 역 변환 유닛 (44) 은 각각 양자화된 계수들을 복원하고, 역 변환을 적용하여, 잔여 블록을 복원한다. 다시 말해서, 역 변환 유닛 (44) 은 도 3 과 관련하여 하기에서 설명되는 8-포인트 DCT-Ⅲ 유닛 (68) 과 유사하게 8-포인트 DCT-Ⅱ 유닛 (52) 의 역 연산들을 수행하는, 타입 Ⅲ 의 DCT 로서 통상적으로 지칭되는 역 DCT (IDCT) 을 포함할 수도 있다. 합산 유닛 (50) 은 복원된 잔여 블록을 모션 보상 유닛 (36) 에 의해 생성된 모션 보상된 예측 블록과 가산하여, 기준 프레임 저장 유닛 (34) 에서의 저장을 위해 복원된 비디오 블록을 생성한다. 복원된 비디오 블록이 모션 추정 유닛 (32) 및 모션 보상 유닛 (36) 에 의해 이용되어, 후속의 비디오 프레임에서의 블록을 인코딩한다.
도 6 은 본 개시물의 기술들에 따라 구성된 8-포인트 DCT-Ⅲ 구현을 적용함에 있어서 도 3 의 비디오 디코더 (26) 와 같은 코딩 디바이스의 예시적인 동작을 예시한 흐름도이다. 비디오 디코더 (26) 는 비디오 인코더 (20) 에 의해 인코딩된, 인코딩 비디오 비트스트림을 수신한다. 특히, 엔트로피 디코딩 유닛 (54) 은 인코딩된 비디오 비트스트림을 수신하고, 그 비트스트림으로부터 양자화된 잔여 계수들 및 양자화된 파라미터들 뿐만 아니라, 매크로블록 코딩 모드 및 모션 정보와 같은 다른 정보를 디코딩하고, 그 모션 정보는 모션 벡터들 및 블록 파티션들을 포함할 수도 있다 (도면부호 106, 108). 모션 보상 유닛 (56) 은 모션 벡터들 및 블록 파티션들 및 기준 프레임 저장 유닛 (62) 으로부터의 하나 이상의 복원된 기준 프레임들을 수신하여 예측 비디오 블록을 생성한다 (도면부호 110).
복원 유닛 (58) 은 양자화된 블록 계수들을 역 양자화, 즉, 양자화 해제한다 (도면부호 112). 역 변환 유닛 (60) 은 역 변환, 예를 들어, 역 DCT 를 계수들에 적용하여, 잔여 블록들을 생성한다. 더 상세하게는, 역 변환 유닛 (60) 은 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 을 포함하고, 그 역 변환 유닛 (60) 이 계수들에 적용하여 잔여 블록들을 생성한다 (도면부호 114). 도 2 에 도시된 스케일링된 8-포인트 DCT-Ⅱ 유닛 (52) 의 역인, 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 은, 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔여 블록들을 생성할 수도 있다. 상기의 양자화 유닛 (40) 과 유사하게, 복원 유닛 (58) 은, 구현 복잡도에서 임의의 증가가 있는 경우에 그 구현 복잡도를 거의 증가시키지 않고, 인수 분해 동안 제거된 외부 인수들을 복원 프로세스에 포함시킴으로써 8-포인트 DCT-Ⅲ 유닛 (68) 의 스케일링 유형을 설명한다. 스케일링된 8-포인트 DCT-Ⅲ 유닛 (68) 으로부터 인수들을 제거하는 것은, 구현 복잡도를 감소시킬 수도 있어서, 비디오 디코더 (26) 에 대한 복잡도를 결국 감소시키게 된다.
그 후에, 예측 비디오 블록들은 합산기 (66) 에 의해 잔여 블록들과 합산되어, 디코딩된 블록들을 형성한다 (도면부호 116). 디블로킹 필더 (미도시) 는 디코딩된 블록들을 필터링하여 블로킹 아티팩트들을 제거하도록 적용될 수도 있다. 그 후에, 필터링된 블록들이 기준 프레임 저장 유닛 (62) 에 위치되고, 그 기준 프레임 저장 유닛 (62) 은 후속 비디오 프레임들의 디코딩을 위해 기준 프레임을 제공하고, 또한 디코딩된 비디오를 생성하여 도 1 의 디스플레이 디바이스 (28) 와 같은 디스플레이 디바이스를 구동한다 (도면부호 118).
본 개시물의 기술들은 모바일 폰과 같은 무선 통신 디바이스 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (즉, 칩셋) 을 포함하는 폭넓게 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 임의의 컴포넌트들, 모듈들, 또는 유닛들은 기능적 양태들을 강조하기 위해 제공되는 것으로 설명되었으며, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하는 것은 아니다. 또한, 여기에 기술된 기술들은 하드웨어, 또는 하드웨어, 소프트웨어, 펌웨어의 임의의 조합으로 구현될 수도 있다. 모듈들, 유닛들 또는 컴포넌트들로서 기술된 임의의 특징들은 통합된 로직 디바이스에서 함께 구현될 수도 있거나, 개별적이지만 상호 동작가능한 로직 디바이스들로서 별도로 구현될 수도 있다. 일부 경우, 다양한 특징들이 집적 회로 칩 또는 칩셋과 같은 집적 회로 디바이스로서 구현될 수도 있다.
소프트웨어로 구현되는 경우, 그 기술들은 프로세서에서 실행될 경우, 상술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 매체는 물리적이고 비일시적인 구조물인 컴퓨터 판독가능 저장 매체를 포함할 수도 있고, 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 저장 매체는 동기식 동적 랜덤 액세스 메모리 (SDRAM : synchronous dynamic random access memory) 와 같은 랜덤 액세스 메모리 (RAM : random access memory), 판독 전용 메모리 (ROM : read-only memory), 비휘발성 랜덤 액세스 메모리 (NVRAM : non-volatile random access memory), 전기적 소거가능 프로그램가능 판독전용 메모리 (EEPROM : electrically erasable programmable read-only memory), 플래시 메모리 (FLASH memory), 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다.
코드 또는 명령들은 하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC), 필드 프로그램가능 로직 어레이 (FPGA) 들, 또는 다른 동등한 통합된 또는 개별 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본 명세서에 사용되는 "프로세서" 라는 용어는 본 명세서에 기술된 기술들의 구현에 적합한 임의의 상기 구조 또는 임의의 다른 구조를 지칭할 수도 있다. 또한, 일부 양태들에서는, 본 명세서에 기술된 기능성이 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수도 있거나, 조합된 비디오 코덱 내에 포함될 수도 있다. 또한, 그 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
또한, 본 개시물은, 본 개시물에 기술된 기술들 중 하나 이상을 구현하기 위한 회로를 포함하는 다양한 집적 회로 디바이스들 중 임의의 집적 회로 디바이스를 고려한다. 이러한 회로가 소위 칩셋 내의 단일의 집적 회로 칩 또는 다수의 상호동작가능한 집적 회로 칩들로 제공될 수도 있다. 이러한 집적 회로 디바이스들은 그 일부가 모바일 전화기 핸드셋들과 같은 무선 통신 디바이스들에서 이용하는 것을 포함할 수도 있는 다양한 애플리케이션들에서 이용될 수도 있다.
기술들의 다양한 양태들이 기술되었다. 이들 양태들 및 다른 양태들은 다음의 청구항들의 범위 내에 있다.
Claims (60)
- 코딩 디바이스로 코딩된 미디어 데이터를 수신하는 단계; 및
상기 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 상기 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하는 단계를 포함하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가 상기 제 1 내부 인수의 제곱과 상기 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 상기 제 3 내부 인수의 제곱과 상기 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 그리고
상기 제 2 관계식은 또한, 상기 제 2 스케일링된 인수가 상기 제 5 내부 인수의 제곱과 상기 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 방법. - 제 1 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 방법. - 제 1 항에 있어서,
상기 8-포인트 IDCT 하드웨어 유닛은, 상기 8-포인트 IDCT 을 구현하기 위한 소프트웨어를 실행하는 프로세서를 포함하는, 방법. - 제 1 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 방법. - 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하는 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛을 포함하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가 상기 제 1 내부 인수의 제곱과 상기 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 상기 제 3 내부 인수의 제곱과 상기 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 그리고
상기 제 2 관계식은 또한, 상기 제 2 스케일링된 인수가 상기 제 5 내부 인수의 제곱과 상기 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 장치. - 제 11 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 장치. - 제 11 항에 있어서,
상기 8-포인트 IDCT 하드웨어 유닛은, 직교 8-포인트 IDCT 을 구현하기 위한 소프트웨어를 실행하는 프로세서를 포함하는, 장치. - 제 11 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 장치. - 코딩된 미디어 데이터를 수신하는 수단; 및
상기 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 을 수행하는 수단을 포함하며,
상기 8-포인트 IDCT 을 수행하는 수단은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가 상기 제 1 내부 인수의 제곱과 상기 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 상기 제 3 내부 인수의 제곱과 상기 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 그리고
상기 제 2 관계식은 또한, 상기 제 2 스케일링된 인수가 상기 제 5 내부 인수의 제곱과 상기 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 3 으로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 7 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 제 1 내부 인수 (A) 는 3 으로 설정되고,
상기 제 2 내부 인수 (B) 는 7 로 설정되고,
상기 제 3 내부 인수 (G) 는 19 로 설정되고,
상기 제 4 내부 인수 (D) 는 4 로 설정되고,
상기 제 5 내부 인수 (E) 는 16 으로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 11 로 설정되는, 디바이스. - 제 21 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 디바이스. - 명령들을 포함하는 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 프로세서로 하여금,
코딩 디바이스로 코딩된 미디어 데이터를 수신하게 하고; 그리고
상기 수신된 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 상기 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하게 하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가 상기 제 1 내부 인수의 제곱과 상기 제 2 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 상기 제 3 내부 인수의 제곱과 상기 제 4 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되고, 그리고
상기 제 2 관계식은 또한, 상기 제 2 스케일링된 인수가 상기 제 5 내부 인수의 제곱과 상기 제 6 내부 인수의 제곱을 더한 합의 제곱근과 동일하게 하도록 정의되는, 비-일시적인 컴퓨터 판독가능 저장 매체. - 코딩 디바이스로 코딩된 미디어 데이터를 수신하는 단계; 및
상기 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 상기 코딩 디바이스의 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하는 단계를 포함하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가, 상기 제 1 내부 인수와 상기 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 하기의 식들:
(1) 상기 제 3 내부 인수 (G) 와 상기 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것,
(2) 상기 제 3 내부 인수 (G) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(3) 상기 제 3 내부 인수 (G) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것,
(4) 상기 제 4 내부 인수 (D) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(5) 상기 제 4 내부 인수 (D) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것, 및
(6) 상기 제 5 내부 인수 (E) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 5 근사치 (ε) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것
중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 으로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 으로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 방법. - 제 31 항에 있어서,
상기 8-포인트 IDCT 하드웨어 유닛은, 상기 8-포인트 IDCT 을 구현하기 위한 소프트웨어를 실행하는 프로세서를 포함하는, 방법. - 제 31 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 방법. - 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하는 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛을 포함하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가, 상기 제 1 내부 인수와 상기 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 하기의 식들:
(1) 상기 제 3 내부 인수 (G) 와 상기 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것,
(2) 상기 제 3 내부 인수 (G) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(3) 상기 제 3 내부 인수 (G) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것,
(4) 상기 제 4 내부 인수 (D) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(5) 상기 제 4 내부 인수 (D) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것, 및
(6) 상기 제 5 내부 인수 (E) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 5 근사치 (ε) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것
중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 으로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 으로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 41 항에 있어서,
상기 8-포인트 IDCT 하드웨어 유닛은, 상기 8-포인트 IDCT 을 구현하기 위한 소프트웨어를 실행하는 프로세서를 포함하는, 장치. - 제 41 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 장치. - 코딩된 미디어 데이터를 수신하는 수단; 및
상기 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 을 수행하는 수단을 포함하며,
상기 8-포인트 IDCT 을 수행하는 수단은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가, 상기 제 1 내부 인수와 상기 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 하기의 식들:
(1) 상기 제 3 내부 인수 (G) 와 상기 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것,
(2) 상기 제 3 내부 인수 (G) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(3) 상기 제 3 내부 인수 (G) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것,
(4) 상기 제 4 내부 인수 (D) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(5) 상기 제 4 내부 인수 (D) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것, 및
(6) 상기 제 5 내부 인수 (E) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 5 근사치 (ε) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것
중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 1 로 설정되고,
상기 제 2 내부 인수 (B) 는 2 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 으로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 2 로 설정되고,
상기 제 2 내부 인수 (B) 는 5 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 5 로 설정되고,
상기 제 4 내부 인수 (D) 는 1 로 설정되고,
상기 제 5 내부 인수 (E) 는 4 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 3 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 제 1 내부 인수 (A) 는 5 으로 설정되고,
상기 제 2 내부 인수 (B) 는 12 로 설정되고,
상기 제 3 내부 인수 (G) 는 11 로 설정되고,
상기 제 4 내부 인수 (D) 는 2 로 설정되고,
상기 제 5 내부 인수 (E) 는 9 로 설정되고, 그리고
상기 제 6 내부 인수 (Z) 는 6 으로 설정되는, 장치. - 제 51 항에 있어서,
상기 내부 인수들 (A, B, G, D, E 및 Z) 은 이들 내부 인수들이 이항 유리수 값 (dyadic rational value) 들이 되게 하도록 정규화되며,
상기 내부 인수들 (A 및 B) 을 정규화하는데 이용되는 제 1 분모는 2 의 1 제곱이고, 그리고
상기 내부 인수들 (G, D, E 및 Z) 을 정규화하는데 이용되는 제 2 분모는 2 의 2 제곱인, 장치. - 명령들을 포함하는 비-일시적인 (non-transitory) 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 프로세서로 하여금,
코딩된 미디어 데이터를 수신하게 하고; 그리고
상기 코딩된 미디어 데이터를 주파수 도메인으로부터 공간 도메인으로 변환하기 위해 8-포인트 역 이산 코사인 변환 (IDCT) 하드웨어 유닛으로 8-포인트 IDCT 을 수행하게 하며,
상기 8-포인트 IDCT 하드웨어 유닛은,
제 1 관계식에 따라 제 1 스케일링된 인수 (μ) 와 관련된 제 1 및 제 2 내부 인수들 (A, B) 을 포함하는 짝수부로서, 상기 제 1 관계식은, 상기 제 1 스케일링된 인수가, 상기 제 1 내부 인수와 상기 제 2 내부 인수를 더한 합을, 8 로 나눈 3 × 상수 파이 (π) 의 코사인 값인 제 1 근사치 (α) 와 8 로 나눈 3 × 상수 파이 (π) 의 사인 값인 제 2 근사치 (β) 를 더한 합으로 나눈 것과 동일하게 하도록 정의되는, 상기 짝수부, 및
제 2 관계식에 따라 제 2 스케일링된 인수 () 와 관련된 제 3, 제 4, 제 5 및 제 6 내부 인수들 (G, D, E, Z) 을 포함하는 홀수부를 포함하며,
상기 제 2 관계식은, 상기 제 2 스케일링된 인수가 하기의 식들:
(1) 상기 제 3 내부 인수 (G) 와 상기 제 4 내부 인수 (D) 를 더한 합을, 16 으로 나눈 상수 파이의 코사인 값인 제 3 근사치 () 와 16 으로 나눈 상수 파이의 사인 값인 제 4 근사치 (δ) 를 더한 합으로 나눈 것,
(2) 상기 제 3 내부 인수 (G) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 코사인 값인 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(3) 상기 제 3 내부 인수 (G) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 3 근사치 () 와 16 으로 나눈 3 × 상수 파이의 사인 값인 제 6 근사치 () 를 더한 합으로 나눈 것,
(4) 상기 제 4 내부 인수 (D) 와 상기 제 5 내부 인수 (E) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 5 근사치 (ε) 를 더한 합으로 나눈 것,
(5) 상기 제 4 내부 인수 (D) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 4 근사치 (δ) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것, 및
(6) 상기 제 5 내부 인수 (E) 와 상기 제 6 내부 인수 (Z) 를 더한 합을, 상기 제 5 근사치 (ε) 와 상기 제 6 근사치 () 를 더한 합으로 나눈 것
중 최소 오차를 발생하는 하나의 식과 동일하게 하도록 정의되는, 비-일시적인 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21989109P | 2009-06-24 | 2009-06-24 | |
US61/219,891 | 2009-06-24 | ||
US12/820,312 | 2010-06-22 | ||
US12/820,312 US9118898B2 (en) | 2009-06-24 | 2010-06-22 | 8-point transform for media data coding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120048570A true KR20120048570A (ko) | 2012-05-15 |
Family
ID=43380709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127001820A KR20120048570A (ko) | 2009-06-24 | 2010-06-23 | 미디어 데이터 코딩을 위한 8-포인트 변환 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9118898B2 (ko) |
EP (1) | EP2446375A2 (ko) |
JP (1) | JP2012531670A (ko) |
KR (1) | KR20120048570A (ko) |
CN (1) | CN102804173A (ko) |
BR (1) | BRPI1013292A2 (ko) |
TW (1) | TW201122846A (ko) |
WO (1) | WO2011005572A2 (ko) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110849B2 (en) * | 2009-04-15 | 2015-08-18 | Qualcomm Incorporated | Computing even-sized discrete cosine transforms |
US9069713B2 (en) * | 2009-06-05 | 2015-06-30 | Qualcomm Incorporated | 4X4 transform for media coding |
US8762441B2 (en) * | 2009-06-05 | 2014-06-24 | Qualcomm Incorporated | 4X4 transform for media coding |
US9075757B2 (en) * | 2009-06-24 | 2015-07-07 | Qualcomm Incorporated | 16-point transform for media data coding |
US9118898B2 (en) | 2009-06-24 | 2015-08-25 | Qualcomm Incorporated | 8-point transform for media data coding |
US9081733B2 (en) * | 2009-06-24 | 2015-07-14 | Qualcomm Incorporated | 16-point transform for media data coding |
US8451904B2 (en) * | 2009-06-24 | 2013-05-28 | Qualcomm Incorporated | 8-point transform for media data coding |
US8635357B2 (en) | 2009-09-08 | 2014-01-21 | Google Inc. | Dynamic selection of parameter sets for transcoding media data |
US9824066B2 (en) | 2011-01-10 | 2017-11-21 | Qualcomm Incorporated | 32-point transform for media data coding |
KR20120088488A (ko) | 2011-01-31 | 2012-08-08 | 한국전자통신연구원 | 시간적 움직임 벡터 저장 방법 및 그 장치 |
CN103650502A (zh) * | 2011-07-13 | 2014-03-19 | 瑞典爱立信有限公司 | 用于参考画面管理的编码器、解码器及其方法 |
US10127624B1 (en) * | 2012-12-28 | 2018-11-13 | Amazon Technologies, Inc. | Block mapping in high efficiency video coding compliant encoders and decoders |
US20140328406A1 (en) | 2013-05-01 | 2014-11-06 | Raymond John Westwater | Method and Apparatus to Perform Optimal Visually-Weighed Quantization of Time-Varying Visual Sequences in Transform Space |
US10264052B2 (en) * | 2014-08-18 | 2019-04-16 | Spatial Digital Systems, Inc. | Enveloping for device independence |
US20160048371A1 (en) * | 2014-08-18 | 2016-02-18 | Spatial Digital Systems, Inc. | Enveloping via Digital Audio |
US10289856B2 (en) * | 2014-10-17 | 2019-05-14 | Spatial Digital Systems, Inc. | Digital enveloping for digital right management and re-broadcasting |
US20160048701A1 (en) * | 2014-08-18 | 2016-02-18 | Spatial Digital Systems, Inc. | Enveloping for remote Digital Camera |
US20160048697A1 (en) * | 2014-08-18 | 2016-02-18 | Spatial Digital Systems, Inc. | Enveloping and de-enveloping for Digital Photos via Wavefront Muxing |
CN105743510A (zh) * | 2016-02-03 | 2016-07-06 | 南京邮电大学 | 一种基于稀疏字典无线传感器网络WSNs信号处理的方法 |
KR20240104228A (ko) * | 2016-07-14 | 2024-07-04 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 변환 기반 잔차 코딩을 이용한 예측 화상 코딩 |
CN107846599B (zh) * | 2017-11-03 | 2019-12-10 | 北京奇艺世纪科技有限公司 | 一种解码方法及装置 |
TWI718625B (zh) * | 2019-08-16 | 2021-02-11 | 瑞昱半導體股份有限公司 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
JP7444970B2 (ja) | 2019-08-20 | 2024-03-06 | 北京字節跳動網絡技術有限公司 | デフォルトおよびユーザ定義のスケーリング行列の使用法 |
CN112422979B (zh) * | 2019-08-23 | 2022-12-13 | 瑞昱半导体股份有限公司 | 应用于离散及逆离散正弦余弦变换的运算电路 |
US11862315B2 (en) | 2020-12-16 | 2024-01-02 | Express Scripts Strategic Development, Inc. | System and method for natural language processing |
US11423067B1 (en) | 2020-12-16 | 2022-08-23 | Express Scripts Strategic Development, Inc. | System and method for identifying data object combinations |
US11776672B1 (en) | 2020-12-16 | 2023-10-03 | Express Scripts Strategic Development, Inc. | System and method for dynamically scoring data objects |
CN113640115B (zh) * | 2021-08-11 | 2023-05-02 | 中国工程物理研究院流体物理研究所 | 适用于准等熵压缩实验数据逆问题求解的优化方法和系统 |
CN114710677B (zh) * | 2022-01-12 | 2023-07-18 | 华芯算科学技术(苏州)有限公司 | 图像压缩方法、装置、存储介质及终端 |
TWI799302B (zh) * | 2022-06-24 | 2023-04-11 | 瑞昱半導體股份有限公司 | 應用於離散與逆離散正弦餘弦變換的運算電路 |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US595675A (en) * | 1897-12-14 | John w | ||
FR2581463B1 (fr) * | 1985-05-03 | 1989-09-08 | Thomson Csf | Dispositifs de calcul de transformees cosinus, dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul |
US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
US5408425A (en) * | 1993-05-25 | 1995-04-18 | The Aerospace Corporation | Split-radix discrete cosine transform |
US5508949A (en) * | 1993-12-29 | 1996-04-16 | Hewlett-Packard Company | Fast subband filtering in digital signal coding |
US5649077A (en) * | 1994-03-30 | 1997-07-15 | Institute Of Microelectronics, National University Of Singapore | Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation |
TW284869B (ko) * | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
JP3115199B2 (ja) | 1994-12-16 | 2000-12-04 | 松下電器産業株式会社 | 画像圧縮符号化装置 |
US5737450A (en) * | 1995-05-15 | 1998-04-07 | Polaroid Corporation | Method and apparatus for fast two-dimensional cosine transform filtering |
JP2778622B2 (ja) * | 1995-06-06 | 1998-07-23 | 日本電気株式会社 | 2次元dct回路 |
JPH09212484A (ja) | 1996-01-30 | 1997-08-15 | Texas Instr Inc <Ti> | 離散コサイン変換方法 |
CN1268231A (zh) | 1997-08-25 | 2000-09-27 | 夸尔柯姆股份有限公司 | 数据块规模可变的2维逆向离散余弦变换机 |
CN1296852C (zh) | 1997-11-17 | 2007-01-24 | 索尼电子有限公司 | 用于采用离散变换进行数字视频数据去压缩的方法和系统 |
US6252994B1 (en) * | 1998-01-26 | 2001-06-26 | Xerox Corporation | Adaptive quantization compatible with the JPEG baseline sequential mode |
US6222944B1 (en) | 1998-05-07 | 2001-04-24 | Sarnoff Corporation | Down-sampling MPEG image decoder |
JP2001346213A (ja) * | 2000-06-02 | 2001-12-14 | Nec Corp | 離散コサイン変換装置及びその離散コサイン変換方法 |
AU2001234971A1 (en) | 2000-02-09 | 2001-08-20 | T. C. Cheng | Fast method for the forward and inverse mdct in audio coding |
CN100429644C (zh) | 2000-10-23 | 2008-10-29 | 国际商业机器公司 | 使用比例项、早期中止和精度细算的更快速变换 |
US7929610B2 (en) * | 2001-03-26 | 2011-04-19 | Sharp Kabushiki Kaisha | Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding |
US7366236B1 (en) * | 2001-06-04 | 2008-04-29 | Cisco Sytems Canada Co. | Source adaptive system and method for 2D iDCT |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
RU2004108695A (ru) | 2001-08-24 | 2005-08-20 | Конинклейке Филипс Электроникс Н.В. (Nl) | Суммирование полей видеокадра |
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 |
KR100481067B1 (ko) * | 2001-09-28 | 2005-04-07 | 브이케이 주식회사 | 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치 |
US7088791B2 (en) | 2001-10-19 | 2006-08-08 | Texas Instruments Incorporated | Systems and methods for improving FFT signal-to-noise ratio by identifying stage without bit growth |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
FR2834362A1 (fr) | 2001-12-28 | 2003-07-04 | Koninkl Philips Electronics Nv | Dispositif de transformation inverse adaptatif |
JP2003223433A (ja) | 2002-01-31 | 2003-08-08 | Matsushita Electric Ind Co Ltd | 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置 |
US7007055B2 (en) * | 2002-03-12 | 2006-02-28 | Intel Corporation | Method of performing NxM Discrete Cosine Transform |
US7242713B2 (en) | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US7437394B2 (en) * | 2002-06-19 | 2008-10-14 | The Aerospace Corporation | Merge and split discrete cosine block transform method |
US20040136602A1 (en) * | 2003-01-10 | 2004-07-15 | Nithin Nagaraj | Method and apparatus for performing non-dyadic wavelet transforms |
US7412100B2 (en) * | 2003-09-04 | 2008-08-12 | Qualcomm Incorporated | Apparatus and method for sub-sampling images in a transform domain |
US7379500B2 (en) * | 2003-09-30 | 2008-05-27 | Microsoft Corporation | Low-complexity 2-power transform for image/video compression |
TWI241074B (en) | 2003-11-05 | 2005-10-01 | Bing-Fei Wu | Image compression system using two-dimensional discrete wavelet transformation |
TWI289992B (en) | 2003-12-03 | 2007-11-11 | Via Tech Inc | Method and device for sharing MPEG frame buffers |
US20050213835A1 (en) * | 2004-03-18 | 2005-09-29 | Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. | Integer transform matrix selection method in video coding and related integer transform method |
US8861600B2 (en) * | 2004-06-18 | 2014-10-14 | Broadcom Corporation | Method and system for dynamically configurable DCT/IDCT module in a wireless handset |
US7587093B2 (en) | 2004-07-07 | 2009-09-08 | Mediatek Inc. | Method and apparatus for implementing DCT/IDCT based video/image processing |
US7471850B2 (en) | 2004-12-17 | 2008-12-30 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
US7792385B2 (en) * | 2005-01-25 | 2010-09-07 | Globalfoundries Inc. | Scratch pad for storing intermediate loop filter data |
TW200643848A (en) | 2005-06-01 | 2006-12-16 | Wintek Corp | Method and apparatus for four-color data conversion |
US20070025441A1 (en) * | 2005-07-28 | 2007-02-01 | Nokia Corporation | Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding |
TWI280804B (en) | 2005-09-26 | 2007-05-01 | Yuh-Jue Chuang | Method for splitting 8x8 DCT into four 4x4 modified DCTS used in AVC/H. 264 |
US7725516B2 (en) * | 2005-10-05 | 2010-05-25 | Qualcomm Incorporated | Fast DCT algorithm for DSP with VLIW architecture |
US20070200738A1 (en) * | 2005-10-12 | 2007-08-30 | Yuriy Reznik | Efficient multiplication-free computation for signal and data processing |
TWI311856B (en) * | 2006-01-04 | 2009-07-01 | Quanta Comp Inc | Synthesis subband filtering method and apparatus |
US8595281B2 (en) * | 2006-01-11 | 2013-11-26 | Qualcomm Incorporated | Transforms with common factors |
CN100562111C (zh) | 2006-03-28 | 2009-11-18 | 华为技术有限公司 | 离散余弦逆变换方法及其装置 |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
EP1850597A1 (en) | 2006-04-24 | 2007-10-31 | Universität Dortmund | Method and circuit for performing a cordic based Loeffler discrete cosine transformation (DCT), particularly for signal processing |
US8699810B2 (en) * | 2006-06-26 | 2014-04-15 | Qualcomm Incorporated | Efficient fixed-point approximations of forward and inverse discrete cosine transforms |
US8582663B2 (en) * | 2006-08-08 | 2013-11-12 | Core Wireless Licensing S.A.R.L. | Method, device, and system for multiplexing of video streams |
US8548815B2 (en) | 2007-09-19 | 2013-10-01 | Qualcomm Incorporated | Efficient design of MDCT / IMDCT filterbanks for speech and audio coding applications |
US8654833B2 (en) | 2007-09-26 | 2014-02-18 | Qualcomm Incorporated | Efficient transformation techniques for video coding |
JP5427785B2 (ja) * | 2007-09-28 | 2014-02-26 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ビデオ圧縮技法及びビデオ伝達技法 |
US20090141808A1 (en) * | 2007-11-30 | 2009-06-04 | Yiufai Wong | System and methods for improved video decoding |
US8631060B2 (en) * | 2007-12-13 | 2014-01-14 | Qualcomm Incorporated | Fast algorithms for computation of 5-point DCT-II, DCT-IV, and DST-IV, and architectures |
KR20090078494A (ko) * | 2008-01-15 | 2009-07-20 | 삼성전자주식회사 | 영상 데이터의 디블록킹 필터링 방법 및 디블록킹 필터 |
CN101330616B (zh) | 2008-07-31 | 2011-04-13 | 上海交通大学 | 视频解码过程中反离散余弦变换的硬件实现装置及方法 |
US20100172409A1 (en) * | 2009-01-06 | 2010-07-08 | Qualcom Incorporated | Low-complexity transforms for data compression and decompression |
US9110849B2 (en) * | 2009-04-15 | 2015-08-18 | Qualcomm Incorporated | Computing even-sized discrete cosine transforms |
US8762441B2 (en) * | 2009-06-05 | 2014-06-24 | Qualcomm Incorporated | 4X4 transform for media coding |
US9069713B2 (en) * | 2009-06-05 | 2015-06-30 | Qualcomm Incorporated | 4X4 transform for media coding |
US9118898B2 (en) * | 2009-06-24 | 2015-08-25 | Qualcomm Incorporated | 8-point transform for media data coding |
US9075757B2 (en) * | 2009-06-24 | 2015-07-07 | Qualcomm Incorporated | 16-point transform for media data coding |
US8451904B2 (en) * | 2009-06-24 | 2013-05-28 | Qualcomm Incorporated | 8-point transform for media data coding |
US9081733B2 (en) * | 2009-06-24 | 2015-07-14 | Qualcomm Incorporated | 16-point transform for media data coding |
CN101989253B (zh) * | 2009-07-31 | 2012-08-29 | 鸿富锦精密工业(深圳)有限公司 | 离散余弦转换电路及使用其的影像处理装置 |
US9824066B2 (en) * | 2011-01-10 | 2017-11-21 | Qualcomm Incorporated | 32-point transform for media data coding |
-
2010
- 2010-06-22 US US12/820,312 patent/US9118898B2/en active Active
- 2010-06-23 EP EP10731650A patent/EP2446375A2/en not_active Withdrawn
- 2010-06-23 KR KR1020127001820A patent/KR20120048570A/ko not_active Application Discontinuation
- 2010-06-23 CN CN2010800276543A patent/CN102804173A/zh active Pending
- 2010-06-23 JP JP2012517688A patent/JP2012531670A/ja active Pending
- 2010-06-23 BR BRPI1013292A patent/BRPI1013292A2/pt not_active IP Right Cessation
- 2010-06-23 WO PCT/US2010/039657 patent/WO2011005572A2/en active Application Filing
- 2010-06-24 TW TW099120666A patent/TW201122846A/zh unknown
-
2013
- 2013-02-12 US US13/765,040 patent/US9319685B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102804173A (zh) | 2012-11-28 |
US9118898B2 (en) | 2015-08-25 |
US20100329329A1 (en) | 2010-12-30 |
US20130148718A1 (en) | 2013-06-13 |
WO2011005572A3 (en) | 2012-05-31 |
BRPI1013292A2 (pt) | 2016-03-29 |
TW201122846A (en) | 2011-07-01 |
US9319685B2 (en) | 2016-04-19 |
JP2012531670A (ja) | 2012-12-10 |
EP2446375A2 (en) | 2012-05-02 |
WO2011005572A2 (en) | 2011-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101315562B1 (ko) | 미디어 코딩을 위한 4×4 변환 | |
US9118898B2 (en) | 8-point transform for media data coding | |
US8718144B2 (en) | 8-point transform for media data coding | |
KR101315600B1 (ko) | 미디어 코딩을 위한 4×4 변환 | |
US9110849B2 (en) | Computing even-sized discrete cosine transforms | |
KR101315629B1 (ko) | 미디어 데이터 코딩을 위한 16-포인트 변환 | |
US9075757B2 (en) | 16-point transform for media data coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application |