KR20060112255A - 이미지 및 비디오 코딩을 위한 향상된 블록 변환 및 양자화 - Google Patents

이미지 및 비디오 코딩을 위한 향상된 블록 변환 및 양자화 Download PDF

Info

Publication number
KR20060112255A
KR20060112255A KR1020060094699A KR20060094699A KR20060112255A KR 20060112255 A KR20060112255 A KR 20060112255A KR 1020060094699 A KR1020060094699 A KR 1020060094699A KR 20060094699 A KR20060094699 A KR 20060094699A KR 20060112255 A KR20060112255 A KR 20060112255A
Authority
KR
South Korea
Prior art keywords
transform coefficients
block
groups
scaling
group
Prior art date
Application number
KR1020060094699A
Other languages
English (en)
Other versions
KR100839309B1 (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 KR20060112255A publication Critical patent/KR20060112255A/ko
Application granted granted Critical
Publication of KR100839309B1 publication Critical patent/KR100839309B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

인코딩 및 디코딩 시에 계산의 복잡성이 상당히 감소하도록 변환 및 역변환 행렬이 정의된, 이미지 또는 비디오 인코딩 및 디코딩을 위한 향상된 방법 및 블록 변환이 제공된다. 예컨대, 디코딩하는 동안 역양자화된 변환 계수들을 출력 화소 정보로 2차원 역변환함에 있어, 16비트 산술 연산으로, 계수 변환마다 모두 4개의 덧셈과 하나의 시프트 연산만이 요구된다. 각 계수의 위치에 기초하여 선택된 3개의 테이블 중 하나를 이용하는 인코딩 중의 양자화 및 디코딩 중의 역양자화(16비트)가, 변환 및 역변환 처리 중에 시프트 연산에 의해 수행되는 2의 거듭제곱(예컨대, 2 또는 1/2)들을 제외한 다른 변환 곱셈들의 인수들을 이미 보상하는 파라미터 값들을 갖기 때문에, 그 변환들은 올바른 결과를 제공한다. 압축 또는 품질에 불리한 영향을 주지 않고서도 다른 공지된 변환들에 비하여 계산의 복잡성이 상당히 감소한다.
DCT, 블록 변환, 역변환, 양자화, 역양자화, 변환 행렬, 이미지 코딩, 비디오 코딩

Description

이미지 및 비디오 코딩을 위한 향상된 블록 변환 및 양자화{IMPROVED BLOCK TRANSFORM AND QUANTIZATION FOR IMAGE AND VIDEO CODING}
도 1은 본 발명이 포함될 수 있는 예시적인 컴퓨터 시스템을 나타내는 블록도.
도 2는 본 발명의 일 형태에 따른 변환, 양자화, 역양자화 및 역변환을 포함하는, 화소의 비디오 또는 이미지 데이터를 인코딩된 비디오로 인코딩하고 인코딩된 비디오를 화소 정보로 디코딩하는데 사용되는 구성 요소를 나타내는 블록도.
도 3은 본 발명의 일 형태에 따른 향상된 변환 행렬을 나타내는 버터플라이 구조의 대표도.
도 4는 본 발명의 일 형태에 따른 향상된 역변환 행렬을 나타내는 버터플라이 구조의 대표도.
[도면 부호 설명]
122 : 프로세서 126 : 터치스크린을 갖는 디스플레이
128 : 키보드 132 : 응용 프로그램
134 : 통지 관리자 144 : 오디오 발생기
136 : 전원 공급부
200 : 블록 변환 인코더 202 : 입력 화소 데이터
204 : 화소 변환 처리 206 : 행 변환 처리
208 : 열 변환 처리 210 : 변환 계수
212 : 양자화 처리 214 : 양자화 파라미터
216 : 양자화된 계수(정수) 218 : 엔트로피 인코더
222 : 블록 변환 디코더 224 : 엔트로피 디코더
226 : 양자화된 계수(정수) 228 : 역양자화 처리
230 : 역양자화 파라미터 232 : 변환 계수
234 : 역변환 처리 236 : 열 역변환 처리
238 : 행 역변환 처리 240 : 출력 화소 데이터
본 발명은 일반적으로 이미지 및 비디오 신호의 인코딩 및 디코딩에 관한 것으로, 더 상세하게는 이미지 및 비디오 신호를 인코딩 및 디코딩하기 위한 양자화 및 역양자화(de-quantization) 방법과 함께, 향상된 블록 변환(block transform) 및 역변환에 관한 것이다.
블록 변환 이미지 및 비디오(이미지의 연속) 코딩, 예컨대 JPEG 및 MPEG에는 DCT(Discrete Cosine Transform)가 흔히 이용된다. 이것은 여러 이유들 중에서, DCT가 (이미지 데이터에 대응하는 것과 같은) 랜덤 신호를 이미지의 시각 품질에 대하여 더 중요한 저주파 부분과 덜 중요한 고주파 부분으로 분리하여 압축을 용이 하게 하기 때문이다.
예컨대, H.26L은 4 ×4 화소 블록을 사용하여 프레임을 구성하는 이미지 및/또는 비디오 코덱(codec) 기술이다. 8 ×8 화소 블록을 사용하는 MPEG 및 JPEG과는 달리, H.26L은, 프레임 간의 추정 및 운동 보상(motion compensation)(즉, 인터 프레임 코딩(inter-frame coding))에 덧붙여 동일 프레임 내에 존재하는 다른 블록의 예측(prediction) 정보를 이용(즉, 인트라 프레임 코딩(intra-frame coding))함으로써 4 ×4 화소 블록으로 비교적 고품질의 압축을 얻는다. 일반적으로, 인트라 프레임 예측을 달성하기 위하여, H.26L 인코더는 대응하는 H.26L 디코더에게 6개의 가능 예측자(수식)중 어느 것이 (이전의 인트라 프레임 블록의 화소들로부터) 새로운 블록용 화소를 결정하는 데에 사용되는지를 식별함과 동시에, 구성되고 있는 프레임 내에서 어느 다른 이전의 화소 블록이 예측을 위한 기초로서 사용되고 있는지를 통지한다. 이 때문에 예측 에러가 초래되고, 이러한 예측 에러는 상기 디코더에도 제공되어 새로운 블록을 정정한다. 예측 에러 정보는 블록 변환(DCT)으로 인코딩되며 역변환 경유를 포함하여 에러 정보를 계산하기 위하여 인코딩된 상태로 디코더에 보내져, 예측된 블록을 정정한다.
이미지 및 비디오 인코딩 또는 디코딩은 상당한 양의 처리력(processing power)을 필요로 한다. 알려진 바와 같이, 디코더는 통상적으로 소비자 장치에 구현되므로, 인코더는 통상적으로 데이터를 이미지로 변환하는 많은 디코더들보다 훨씬 더 큰 처리력을 갖는다. 예컨대, 이미지 및 비디오 디코딩은 TV 세트톱(set- top) 박스, PDA(Personal Digital Assistant), 포켓사이즈 퍼스널 컴퓨터 및 보다 진보된 셀룰러 전화기에서 일어날 수 있다.
따라서, 이미지 및 비디오 인코딩 및 디코딩 방법을 고려하면, 인코딩이 계산상 더욱 복잡하게 이루어져야 한다는 것을 의미하더라도, 디코딩을 간단하게 유지하는 것이 중요하다. 디코딩을 단순화할 때에, 인코딩 및 디코딩 처리가 기존의 압축 레벨, 최종 이미지 품질 및 기존의 기술에 관하여 실질적으로 디코더에 요구되는 그 외의 자원의 양에 불리하게 영향을 미치지 않는다면, 디코딩을 단순화할 수 있는 것은 어느 것이라도 바람직하다.
간단히 말해서, 본 발명은 인코더 및 디코더 양측에서 이미지 및 비디오에 대한 계산 복잡성을 상당히 단순화하는 향상된 방법, 시스템 및 블록 변환을 제공한다. 동시에, 압축, 이미지/비디오 품질 및 다른 자원들은 무시할 수 있을 정도로만 영향을 받는다.
보다 상세하게는, 인코더 및 디코더 양측에서 계산 복잡성을 상당히 줄이는 다른 계산 변화와 함께, DCT에 대한 새로운 정수 근사법을 갖는 직교 블록 변환 및 대응하는 역변환이 제공된다. 실제로, 일 구성예에서는, 인코더 및 디코더에서 계수 당 변환 연산의 수가 (H.26L 특정 변환에 요구되는 32비트 연산에서의 4개의 덧셈과 3개의 곱셈으로부터) 16비트 연산에서 4개의 덧셈 및 1개의 시프트 연산으로 감소되었다. 본 발명은, 각 계수의 위치에 기초하여 선택된 3개 테이블 중 하나를 이용하는 인코딩 중의 양자화(정수로의 스케일링(scaling)과 라운딩(rounding)) 및 디코딩 중의 역양자화가 변환 및 역변환 처리 중의 시프트 연산에 의해 수행되는 것을 제외하고는 다른 변환 곱셈들의 인수를 보상하는 파라미터 값들을 갖기 때문에, 화소 정보(예컨대 에러 정정 데이터)를 올바르게 변환한다.
또한, 디코딩 중에 디코더는, 각각의 양자화된 계수에 대하여 (H.26L에서 요구되는 바와 같은) 32비트 곱셈 대신에 16비트 곱셈을 수행하여, 양자화된 계수를 변환 계수로 역양자화할 수 있다. 통상적인 이미지 및 비디오를 갖는 많은 장치들에 대하여, 본 발명의 처리 이점들은 특히 디코더에서 H.26L에 비하여 의미가 있으며 품질 및/또는 압축에 있어서의 손실은 있다고 하더라도 무시할 만하다.
다른 이점들은 첨부 도면과 함께 이하의 상세한 설명으로부터 분명해진다.
전형적인 연산 환경
도 1은 본 발명이 구현될 수 있는, 특히 이미지 및/또는 비디오 데이터를 디코딩하는데 적합한 오퍼레이팅 환경(120)의 일례를 나타낸다. 이 오퍼레이팅 환경(120)은 적합한 오퍼레이팅 환경의 일례일 뿐이며, 본 발명의 용도나 기능성의 범위에 대한 제한을 가하려는 의도가 아니다. 본 발명의 용도에 적합할 수 있는 다른 공지된 계산 시스템, 환경 및/또는 구성들은, 퍼스널 컴퓨터, 서버 컴퓨터, 헨드 헬드(hand-held)나 랩탑(laptop) 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가능 소비자 전자기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 이상의 시스템이나 장치들 중 어느 하나를 포함하는 분산 계산 환경 등을 포함하지만 이들에 제한되는 것은 아니다. 예컨대, 이미지 및/또는 비디오 이미지 데이터를 인코딩하는 것은 종종 통상의 핸드 헬드 퍼스널 컴퓨터보다 큰 처리력을 갖는 컴퓨터 상에서 수행되는 경향이 있지만, 인코딩이 예시적인 장치에서 수행되지 못하고 디코딩이 보다 강력한 기기에서 수행되지 못할 이유는 없다.
본 발명은, 하나 이상의 컴퓨터나 다른 장치들에 의해 수행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반적인 문맥(context)으로 기재될 수도 있다. 일반적으로, 프로그램 모듈은 특정한 업무를 수행하거나 특정한 추상적인 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 구성요소, 데이터 구조 등등을 포함한다. 통상적으로, 프로그램 모듈의 기능성은 다양한 실시예에서 원하는 대로 조합되거나 분산될 수 있다. 계산 장치(120)는 통상적으로 적어도 어떤 형태의 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 계산 장치(120)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 예컨대, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함할 수 있으며, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법이나 기술에서 구현된 휘발성, 비휘발성, 탈착 가능 및 탈착 불가능한 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리나 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD)나 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치나 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 계산 장치(120)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지마, 여기에 제한되는 것은 아니다. 통신 매체는 통상적으로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파나 다른 전송 기구와 같은 변조된 데이터 신호 내의 다른 데이터를 구체화하며 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"라는 용어는 정보를 신호로 인코딩하는 식으로 설정 또는 변화된 하나 이상의 특성을 갖는 신호를 의미한다. 예컨대, 통신 매체는 유선 네트워크나 직접 유선 접속 등의 유선 매체 및 음파, RF, 적외선 및 기타 무선 매체를 포함하며, 이에 제한되는 것은 아니다. 상기한 것들을 임의의 조합한 것도 컴퓨터 판독 가능 매체의 범위 내에 포함된다.
도 1은 프로세서(122), 메모리(124), 디스플레이(126) 및 키보드(128)(실제 또는 가상 키보드일 수도 있음)를 포함하는 핸드헬드 계산 장치(120)의 기능적인 구성요소를 나타낸다. 메모리(124)는 일반적으로 휘발성 메모리(예컨대, RAM) 및 비휘발성 메모리(예컨대, ROM, PCMCIA 카드 등)를 모두 포함한다. 오퍼레이팅 시스템(130)은 메모리(124)에 내재되어 있으며 프로세서(122) 상에서 실행되는데, Microsoft 사의 Windows CE 오퍼레이팅 시스템이나 기타 다른 오퍼레이팅 시스템 등이 있다.
하나 이상의 응용 프로그램(132)이 메모리(124)에 로딩되어 오퍼레이팅 시스템(130) 상에서 실행된다. 응용 프로그램의 예는 전자메일 프로그램, 스케줄링 프로그램, PIM(Personal Information Management) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램 등이 있다. 핸드헬드 퍼스널 컴퓨터(120)는 또한 메모리(124)에 로딩되어 프로세서(122) 상에서 실행되는 통지 관리자(notification manager)(134)를 포함할 수도 있다. 통지 관리자(134)는 예컨대 응용 프로그램(132)으로부터의 통지 요구를 다룬다.
핸드헬드 퍼스널 컴퓨터(120)는 하나 이상의 배터리로서 구현되는 전원 공급부(136)를 갖는다. 전원 공급부(136)는 내장 배터리를 재충전하거나 그에 우선하는 AC 어댑터나 전원 연결된 도킹 크레이들(docking cradle) 등의 외부 전원을 더 포함할 수도 있다.
도 1에 나타낸 예시적인 핸드헬드 퍼스널 컴퓨터(120)는 3가지 타입의 외부 통지 기구, 즉 하나 이상의 발광 다이오드(LED)(140) 및 오디오 발생기(144)를 구비하는 것으로 표시된다. 이들 장치는, 활성화되면 배터리 전력을 보존하기 위하여 핸드헬드 퍼스널 컴퓨터 프로세서(122) 및 다른 구성요소들이 꺼지는 경우에도 통지 기구에 의해 지시된 기간 동안 온 상태로 유지되도록 하기 위하여, 전원 공급부(136)에 직접 결합될 수 있다. LED(140)는 사용자가 행동을 취할 때까지 무한히 온 상태로 남아 있는 것이 바람직하다. 최신 버젼의 오디오 발생기(144)는 요즈음의 핸드헬드 퍼스널 컴퓨터 배터리에 많은 전력을 사용하며, 그래서 시스템의 비사용시에나 활성화 후의 제한된 기간동안 턴오프하도록 구성되어 있다.
인코딩 및 디코딩
배경 기술로서, DCT(Discrete Cosine Transform)는 길이 N의 벡터 x를 변환 계수들의 새로운 벡터 X로 선형 변환 X = Hx에 의해 매핑하는데, 여기서 H의 k번째 행 및 n번째 열의 원소는
Figure 112006070826508-PAT00001
에 의해 정의되며, k = 0, 1, ..., N-1 및 n = 0, 1, ..., N-1이고, k>1에서 c0 =21/2 및 ck = 1이다. DCT 행렬은 직교적(orthogonal)이므로, 그 역변환은 그 전치 행렬(transpose)와 동일하다. 즉, x = H -1 X = H T X이다.
DCT의 한가지 불리한 점은 엔트리 H(k,n)들이 무리수(irrational number)라는 것이며, 그래서 정수 입력 데이터 x(n)은 무리수 변환 계수 X(k)로 매핑된다. 그 결과, 디지털 컴퓨터에서 정변환 및 역변환이 직렬로 계산될 때, 출력 데이터는 입력 데이터와 정확하게 일치하지 않는다. 바꿔 말하면, X = Hxu = round(H T X)로서 계산되면, 모든 n에 대하여 u(n) = x(n)이 성립하지는 않는다. 그러나, 적절한 스케일 인수 α, γ를, 예컨대 X = γHxu = round(αH T X)와 같이 도입함으로써, α와 γ가 충분히 크도록 선택되면 거의 모든 n에 대하여 u(n) = Gx(n) (여기서, G는 정수)이 성립하지만, 이것이 정확한 결과를 보장하는 것은 아니다.
예를 들어, 운동 보상 비디오 인코더에 있어, 과거에 디코딩된 프레임의 데이터는 현재 프레임을 생성하기 위하여 사용될 예측 정보에 대한 기준 정보로서 사용된다. 그러므로, 인코딩의 일부로서, 인코더는 자신의 디코딩된 프레임을 생성하고, 이에 의해 인코더는 역변환을 계산할 필요가 있다. 식 u = round(αH T X)를 사용하면, 상이한 프로세서에서의 상이한 부동점 포맷 및 라운딩 전략은 다른 결과를 초래한다. 그 결과, 인코더에서 디코딩된 데이터와 디코더(다른 프로세서를 가짐)에 의해 디코딩된 데이터 사이에는 드리프트(drift)가 있을 것이며, 이에 의해, 인코더는 디코더가 생성하고 있는 블록의 프레임과 점점 덜 유사해지는 블록 프레 임에 대한 예측/운동 정보에 기초하고 있기 때문에, 이미지는 각각의 새로운 프레임마다 점점 더 악화된다.
데이터 드리프트 문제에 대한 한가지 해결책은 정수만을 포함하고 있는 행렬에 의해 행렬 H를 근사하는 것이며, 이에 의해 라운딩 에러가 제거된다. H의 행이 직교이고 동일한 놈(norm)(제곱의 합)을 갖는다면, u는 모든 정수 x에 대한 정수 산술 연산에서 정확하게 계산될 수 있다. 바꿔 말하면, 정변환이 X = Hx에 의해 계산되고 역변환이 u = H T X에 의해 계산되는 경우, u = Gx가 되고, 여기서 G는 H 내의 임의의 행의 제곱 놈과 동일한 정수이다.
DCT로의 정수 근사를 생성하는 한가지 방법은 일반식
Q(k,n) = round(αH(k,n))
을 이용하는 것이며, 여기서 α는 스케일링 파라미터이다.
H.26L 비디오 압축 표준에서, 이미지는 4 ×4 화소의 블록으로 이루어지며, 이에 의해 H.26L에서의 DCT 식에서 N=4이 다. 이것은 다음과 같은 DCT 행렬을 낳는다.
Figure 112006070826508-PAT00002
여기서, c ≡ 21/2cos(π/8) 및 s ≡ 21/2sin(π/8)이다.
H.26L의 현재 버젼에서의 변환 행렬은 α= 26로 설정함으로써 얻어지는데, 이에 의해 값들이 다음과 같이 계산된다.
Figure 112006070826508-PAT00003
스케일링 파라미터 값인 26으로, Q 0의 행 및 열은 서로 직교하며(즉, 두 열의 내적이 0이며), 모든 행 및 열은 676과 동일한 놈을 갖는다. 실제로, α< 50인 값에 대하여, α= 2 또는 α= 26만이 동일한 놈 행을 직교 행렬에 제공한다. 그러나, α= 2에 대한 해는 양호한 압축을 초래하지는 않으며, α에 대한 보다 큰 값은 정변환의 결과 X = Q 0 x를 계산하는데 요구되는 계산 복잡성(예컨대, 워드 길이)에 있어서의 증가 때문에 매력적이지 않다. 따라서, α= 26이 지금까지 H.26L에서 선택되어 왔다.
역변환은 x' = Q 0 X에 의해 정의되어, 정수 산술 연산으로 의해 계산될 수 있다. 상기 정의로부터, x' = 676 x, 즉 재구성된 데이터 x'은 676의 정수 이득(Q 0에서 임의의 행의 놈)를 원래 데이터 x에 곱한 값과 동일하다.
본 발명의 일 형태에 따르면, 직교이면서, 인코딩 및 디코딩 시에 계산의 복잡성을 상당히 줄이는 상이한 값들을 갖는 정수 근사법을 사용하는 블록 변환 행렬이 제공된다. 보다 구체적으로는, α= 2.5를 이용하여, 다음의 행렬이 생성된다.
Figure 112006070826508-PAT00004
QD의 행들은 서로 직교하며, 그들의 놈은 다르지만(1행 및 3행은 10의 노름을 갖지만 0행 및 2행은 4의 놈을 가짐), 이하에서 설명하는 바와 같이, 이것은 계산 복잡성을 상당히 증가시키지 않도록 양자화 및 역양자화에서 다뤄진다는 점에 주의해야 한다.
도 2를 살펴보면, 어떤 타입의 매체 및/또는 중간 장치(220)를 통하여 접속 가능한 블록 변환 인코더(200)와 블록 변환 디코더(222)가 나타나 있다. 알 수 있는 바와 같이, 인코더(200)는 디코더(222)에 직접 이용 가능한 출력을 만들 필요가 없으며, 따라서 도 2에서 도면 부호(220)가 지시하는 라인은 실제로 임의의 타입의 매체나 장치, 예컨대 네트워크 케이블, 무선 전송 매체, 전화선, 저장 장치, 라우터(router) 및/또는 실제로 이들의 임의의 조합을 나타낼 수도 있다.
일반적으로, 인코더(200)는, 분리 가능한 2차원 변환(204)을 통하여 N ×N 입력 화소 데이터(202)(예컨대, 에러 정정 정보를 나타냄)의 각 블록을 변환함으로써 동작한다. 보다 구체적으로는, 먼저 블록 내의 화소 데이터의 행들이 행 변환 처리(206)에 의해 변환되고, 그 후에 행 변환의 결과(도 2에는 구체적으로 나타내지 않음)가 열 변환 처리(208)에 의해 결과적인 변환 계수(210)들로 변환된다. 바꿔 말하면, 2차원 DCT는 기본적으로 화소 블록의 각 행에 대하여 1차원 DCT를 수행하고, 그 후에 행에 대한 1차원 DCT에 의해 생성된 화소 블록의 각 열에 대한 1차원 DCT가 수행된다. 행 및 열 변환은 역순으로 수행될 수 있으며, 동일한 결과가 얻어진다.
H.26L에서, 특정 변환 행렬은 변환 계수들을 계산하기 위한 이하의 식을 낳는다.
A = 13a + 13b + 13c + 13d
B = 17a + 7b - 7c - 17d
C = 13a - 13b - 13c + 13d
D = 7a - 17b + 17c - 7d
여기에서 [abcd]는 4 ×4 블록에서, 처음에는 행의 화소 값들을 나타내고, 행 변환 후에는 열의 행 변환된 데이터 값들을 나타낸다. 그러나, 실제로는 이들 식은 단순화될 수 있으며, DCT 행렬은 요구된 곱셈 및 덧셈 연산의 수를 감소시키는 재귀적인(recursive) 구조를 갖는다. 그럼에도 불구하고, 상기 행렬은 각 화소에 대한 변환 계수들을 계산하기 위하여 적어도 4개의 덧셈 및 3개의 곱셈을 필요로 한다. 또한, 각 화소는 부호가 있는 9비트 값일 수 있기 때문에, 행 및 열 인수들에 의해 곱해지면(이득은 놈인 676임), 그 계산은 32비트 산술 연산을 필요로 하며, 하나의 계산은 16비트 계산만큼의 시간이 걸린다. 이들 고려 사항은 인코딩 중에는 정상적으로는 중요하지 않지만, 이들 H.26L 지정 행렬 값에 대해서는, 여분의 연산 및 32비트 산술 연산이 디코딩 중에 발생하며, 비용이 중요해진다.
H.26L 지정 행렬과는 반대로, 동일한 일반식 표현을 이용하여 본 발명의 블록 변환 행렬은 다음과 같이 표시된다.
Figure 112006070826508-PAT00005
여기서, 변환 계수들을 계산하기 위한 다음의 식이 제공된다.
A = a + b + c + d
B = 2a + b - c - 2d
C = a - b - c + d
D = a - 2b + 2c - d
이 식/행렬이 보다 최적으로 작용하는 이유의 일부는, 변환 단계에서 개별적인 곱셈을 수행하는 대신에, 스케일링에 사용되는 값들을 단순히 바꿈으로써, 곱셈 인수들이 양자화 상태에서 기본적으로 취급되기 때문이다. 결과적으로, 이들 식을 갖는 곱셈은 2의 거듭제곱에 의해서만 달성되며, 이는 프로세서에서 실제 곱셈이 아니라 간단한 좌측 시프트 연산을 통하여 달성된다. 보조 변수들로서 u, v, y 및 z를 사용하고, "<< 1"이 1비트 좌측 시프트(2를 곱한 것과 마찬가지지만 계산적으로 더 빠름)를 의미한다고 하면, 상기 식은 다음 식으로 단순화된다.
u = a + d
v = b + c
y = b - c
z = a - d
A = u + v
C = u - v
B = y + (z << 1)
D = z - (y << 1)
도 3에 나타낸 버터플라이 구조(2점간의 라인은 합을 나타내고, 라인상의 숫자(-1, 2 및 -2)는 곱셈 인수를 나타냄)를 통하여 이들 변환 계수를 찾는 것은 실제로 각 화소에 대하여 4개의 덧셈과 1개의 시프트만을 필요로 하며, H.26L 지정 인수들에 비하여 매우 실질적인 성능 향상을 제공한다. 또한, 더 낮은 계수값들 때문에, 모든 변환 연산은 (9비트 화소 데이터를 갖는) 16비트 산술 연산으로 수행될 수 있다. 보다 구체적으로는, 앞에서 정의된 변환 행렬 Q D 에 의해, 2차원 2-D 변환 후의 최대 신호 증폭은 36이며, 이로써 2차원 변환 후의 출력 계수들은 입력보다 6만큼 큰 비트에 이를 것이다. 따라서, 9비트 입력에 대하여, 출력 계수들은 15비트의 동적 범위를 가지며, 이는 2차원 정변환이 16비트 산술 연산에 의해 계산될 수 있음을 의미한다. 또한, 이하에 기재하는 바와 같이, 각각이 16비트 산술 연산만을 필요로 하는 훨씬 적은 연산으로부터 생긴 성능 향상은 역변환에서 디코딩 연산중에 본질적으로 반복되어, 디코딩 성능에 상당한 향상을 제공한다.
일단 변환 계수(210)가 계산되면, 그 값들을 스케일링하고 그들에 가장 가까운 정수로 라운딩함으로써 계수들의 블록(210)이 양자화된다. 이것은 도 2에 양자화 처리(212)에 의해 표시되는데, 이는 양자화 파라미터(214)로부터의 양자화 값들중에서 선택하여 변환 계수(210)를 양자화된 계수(216)로 스케일링한다. 전술한 바와 같이, 향상된 행렬에는 1 놈이 아닌 3 놈이 있기 때문에, 양자화되는 변환된 계수들이 블록 내의 어디에 위치하는지에 따라 3개의 양자화 테이블 Q0, Q1 및 Q2가 이들 값을 포함하고 있다.
스케일링 및 라운딩용 양자화 식은 다음과 같으며, 32비트 정밀도로 계산되어야 한다.
L = [K ×A(QP,r) + fX] >> 20
여기에서, L은 양자화된 계수이고, K는 변환된 계수이며, A(QP,r)은 양자화 파라미터 QP와 r에 의해 인덱싱되는 스케일 인수이며, r은 어느 테이블(Q0, Q1 또는 Q2)이 사용되는지를 식별하고, fX는 [0-0.5] ×220의 범위 내에 있으며(fX는 K와 동일 부호를 가짐), >> 20은 수를 스케일링 다운하기 위하여 우측 20자리 시프트(1,048,576으로 나눔)를 의미한다. 따라서, 양자화 처리에는 에러가 도입된다. 32비트 산술 연산이 양자화에 이용되지만, 이것은 인코딩 시에만 필요하며 디코딩 시(역양자화는 이하에 기재되는 바와 같이, 16비트 정밀도를 필요로 함)에서는 그만큼 중요하지 않다는 점에 주의한다.
인덱스 r은, 블록 내의 계수 K의 위치에 기초하여, 3개의 양자화 테이블 Q0, Q1 및 Q2 중에서 어느 것을 3개의 다른 놈을 조절하는데 사용할 것인가를 선택한다.
계수가 위치 {(0,0), (0,1), (1,0), (1,1)} 중 하나로부터 나왔다면 r = 0 (Q0 이용);
계수가 위치 {(0,2), (0,3), (1,2), (1,3), (2,0), (2,1), (3,0), (3,1)} 중 하나로부터 나왔다면 r = 1 (Q1 이용);
계수가 위치 {(2,2), (2,3), (3,2), (3,3)} 중 하나로부터 나왔다면 r = 2 (Q2 이용).
20비트 우측 시프트 후에, 각각의 양자화된 결과 L은 16비트 정수로 맞춰진다.
예시적인 구현예에서는, 스케일링 인수 A(QP,r)는 다음 테이블에 따라서 양자화 파라미터 QP와 계수 위치 그룹 r에 좌우된다.
A (QP=0..31,r=0) = {104858, 93418, 83226, 74146, 66056, 58849, 52429, 46709, 41613, 37073, 33028, 29425, 26214, 23354, 20806, 18536, 16514, 14712, 13107, 11677, 10403, 9268, 8257, 7356, 6554, 5839, 5202, 4634, 4129, 3678, 3277, 2919};
A (QP=0..31,r=1) = {66318, 59082, 52636, 46894, 41778, 37220, 33159, 29541, 26318, 23447, 20889, 18610, 16579, 14771, 13159, 11723, 10444, 9305, 8290, 7385, 6580, 5862, 5222, 4652, 4145, 3693, 3290, 2931, 2611, 2326, 2072, 1846};
A (QP=0..31,r=2) = {41943, 37367, 33290, 29658, 26422, 23540, 20972, 18684, 16645, 14829, 13211, 11770, 10486, 9342, 8323, 7415, 6606, 5885, 5243, 4671, 4161, 3707, 3303, 2942, 2621, 2335, 2081, 1854, 1651, 1471, 1311, 1168}.
상기 특정 값들은 테이블 인덱스의 6 증가마다 양자화 스텝 사이즈가 2배가 되도록 H.26L에서의 설계 사양을 충족하도록 설계되었다. 다른 비디오 또는 정지 이미지 코딩 응용 프로그램에 대하여는, 원하는 충실도(fidelity) 증가분에 비추어 다른 양자화 테이블이 설계될 수 있다. 인코더에 양자화 테이블을 저장하기 위하여 하나가 아닌 3개의 테이블을 저장하기 위한 어떤 여분의 테이블 공간이 필요하지만, 여분의 공간의 양은 64바이트 뿐이며 무시할 만하다.
도 2로 돌아가면, 양자화 처리 다음에, 일반적으로 블록을 인코딩하는데 필요한 비트 수를 더 감소시키는 엔트로피(entropy) 인코더(218)에 양자화된 계수(216)가 공급된다. 본 발명은 엔트로피 인코딩에 앞서 작동하며 그로부터 본질적으로 독립적이고 엔트로피 디코딩 후에 작동하며 그와는 본질적으로 독립적이므로, 엔트로피 인코더(및 디코더)는 공지되어 있으며, 따라서 여기에서 설명하지 않는다.
블록 변환 디코더(222)에서의 디코딩을 고려하면, 때때로 얼마나 전달되는냐에 관계없이 엔트로피 인코딩된 출력 비트들이 입력 비트로서 엔트로피 디코더(224)에 공급된다. 일반적으로, 그러한 엔트로피 디코더는 공지되어 있으며, 따라서 다른 가능 동작들 중에서 엔트로피 디코더(224)가 블록을 위한 양자화된 계수(226)를 재생한다고 언급하는 것으로 족하다. 통상적으로 인코딩 및 디코딩은 손실되지 않는다는 점에 주의한다. 즉, 엔트로피 인코더(218)에 공급된 양자화된 계수들(216)은 엔트로피 디코더(224)에 의해 생성된 양자화된 계수들(226)과 동일하다.
일반적으로, 전술한 바와 같이 그리고 본 발명과 일치하여 16비트 산술 연산 이 디코딩 처리동안 사용될 수 있게 하는 수정된 역변환 행렬이 제공되더라도, 블록 변환 디코더(222)는 블록 변환 인코더(200)의 동작을 반영하므로, 디코더의 계산 복잡성을 크게 단순화시킨다.
일단 양자화된 계수들(226)이 엔트로피 디코더(224)로부터 복구되면, 각각의 양자화된 계수 L은 이하의 식을 구현하는 역양자화 처리(228)에 의해 재구성된(역양자화된) 값 K'으로 변환된다.
K' = L ×B(QP,r)
여기에서, 스케일링 인수 B는 인코딩 시에 사용되는 QP 인덱스에 의존하고, r은 (3개의 놈을 조절하기 위해) 테이블 D0, D1 및 D2중 하나로부터 파라미터를 선택함으로써 역양자화 파라미터(230)를 결정한다. 인코더로부터 r값을 보내는 것이 실현 가능하다고 할지라도, -이는 디코더 상에서의 계산의 복잡성을 감소시키기는 하겠지만, r을 식별하기 위하여 계수마다 적어도 두 개의 비트를 더 보낼 필요가 있을 수 있음- 양자화에 대한 이상의 설명과 같이 블록 내에서 역양자화되는 계수의 위치로부터 r이 유도될 수 있음에 유의한다.
이런 식으로, 스케일링 인수 B(QP,r)는 인코딩 시에 이용되는 QP에 대한 양자화 파라미터 인덱스와 계수 위치 그룹 r에 좌우된다. 예시적인 구성예에서, 그 의존성은 다음의 테이블에 따라 지정된다.
B (QP=0..31, r=0) = {80, 90, 101, 113, 127, 143, 160, 180, 202, 226, 254, 285, 320, 359, 403, 453, 508, 570, 640, 718, 806, 905, 1016, 1140, 1280, 1437, 1613, 1810, 2032, 2281, 2560, 2874};
B (QP=0..31, r=1) = {101, 114, 127, 143, 161, 180, 202, 227, 255, 286, 321, 361, 405, 454, 510, 572, 643, 721, 810, 909, 1020, 1145, 1285, 1443, 1619, 1817, 2040, 2290, 2570, 2885, 3239, 3635};
B (QP=0..31, r=2) = {128, 144, 161, 181, 203, 228, 256, 287, 323, 362, 406, 456, 512, 575, 645, 724, 813, 912, 1024, 1149, 1290, 1448, 1625, 1825, 2048, 2299, 2580, 2896, 3252, 3650, 4095, 4596}.
상기 인코딩 테이블에서와 같이, 상기 특정한 값들은 테이블 인덱스에서 6 증가분마다 양자화 스텝 사이즈가 2배로 되는 H.26L에서의 설계 사양을 충족시도록 설계되었다. 다른 비디오 또는 정지 이미지 코딩 응용 프로그램에 대하여는, 원하는 충실도 증가분에 비추어 다른 양자화 테이블이 설계될 수 있다.
인식할 수 있는 바와 같이, 이들 스케일링 값들 각각이 16비트 산술 연산만이 디코더에 요구된다는 것을 보장하기에 충분히 작다고 하더라도, 상기 역양자화 식은 계수들을 보다 큰 값들로 스케일링한다. 테이블 내의 각 엔트리는 다른 2개 테이블의 대응하는 QP 인덱싱된 테이블 엔트리와 수학적으로 (놈에 기초하여) 관련되어 있기 때문에, 3테이블을 갖는 것보다는, r 값에 기초한 적절한 수학적인 조절로서 한 테이블의 QP값들만을 갖는 것이 대안적으로 가능하다. 그러나, 작은 테이블에서의 검색이 비교적 효율적이며, (지정 H.26L 변환에 요구되는) 엔트리당 4비트의 32 엔트리의 한 테이블 대신에 엔트리당 2바이트의 32바이트 엔트리의 3 테이블을 저장하는데 요구되는 바이트의 수는 64 여분의 바이트이며, 이는 현재의 계산 장치에서 무시할 만 하며, 특히 역양자화에 의해 생성된 변환 계수들이 32비트 워 드 대신에 16비트 워드로 맞춰져서 필요한 메모리의 총량을 감소시킨다는 점에 주의한다.
도 2에도 나타낸 바와 같이, 일단 양자화된 계수(226)가 상기 식 및 테이블을 통하여 역양자화되면, 재구성된 변환 계수들(232)의 4 ×4 행렬이 존재한다. 이들 변환 계수들(232)로부터, 각각 열 및 행 역변환 처리(236, 238)를 포함하는 2차원 역변환 처리(234)에 공급됨으로써, 재구성된 화소들이 생성된다.
본 발명과 관련하여, 역변환 QI = QD T을 이용하는 대신, 정상적으로 행해지는 바와 같이, 16비트 역양자화 및 역변환 계산을 고려하기 위하여, 본 발명은 다음의 역변환 행렬을 정의한다.
Figure 112006070826508-PAT00006
QI의 열은 서로 직교하지만 그들의 놈은 서로 다름을 주목해야 한다. 그러나, 전술한 바와 같이, 이것은 역양자화 파라미터를 선택하는데 이용되는 "r" 값을 통하여 다뤄졌다. 또한, QD로부터 QI를 생성함에 있어 QD가 1열과 3열에 1/2를 곱하여 전치되었음(transpose)에 유의한다. 그러나, 또다시 테이블 D0, D1 및 D2에 이미 존재하는 QP 값들이 이를 위하여 미리 조절되어, 보상할 추가적인 계산 복잡성에 대한 필요성을 제거하였다. 또한, 그와 같은 행렬로 역변환을 계산할 때 행해질 필요가 있는 곱셈은 단지 1/2를 곱하는 것이며, 이것은 고효율의 우측 시프트 연산에 의해 실제로 수행된다. 이러한 정확하지 않은 나눗셈에 의해 도입된 적은 양의 노이즈는 본질적으로 비율 왜곡 성능(rate-distortion performance)에 본질적으로 영향을 주지 않는다는 점에 유의한다.
앞에서 정의된 QI에서 최대 이득은 4이다. 그러므로, 2차원 역변환 처리는 동적 범위를 4비트만큼 확장시키만 하여 16비트 산술 연산의 계산을 허용한다.
도 2에 나타낸 열 역변환 처리(236) 및 (열 역변환 처리의 결과 동작하는) 행 역변환 처리(238)는 출력 화소 데이터(240)를 생성한다. 이를 위하여, 상기 역변환 행렬을 이용하고 [A B C D]를 역변환되는 특정 행 및 열로 하여, 대응하는 역변환된 값들[a' b' c' d']이 이하에 의해 계산된다.
u = A + C;
v = A - C;
y = (B >> 1) - D;
z = (D >> 1) + B;
a' = u + z;
b' = v + y;
c' = v - y;
d' = u - z
여기에서, u, v, y 및 z는 보조 변수이고 >> 1은 우측으로의 1비트 시프트를 의미한다(1/2를 곱하는 것과 같음). 인코딩과 유사하게, 도 4에 나타낸 버터플라 이 구조를 통하여, 이들 식은 실제로 모두 16 비트 산술 연산에서 계수당 4개의 덧셈 연산과 1개의 시프트 연산까지 감소한다. 마지막으로, 역변환 처리(234)(도 2)는 (7비트 우측 시프트 연산을 통하여 수행되는) 2-7의 인수에 의해 재구성된 화소 값들을 스케일링한다.
7비트 시프트 후에 재구성된 화소 값들이 9비트 범위를 가지므로, 역변환은 16비트 산술 연산에서 계산될 수 있다. 앞에서 설정된 역양자화 테이블 D0, D1 및 D2는 역양자화 식들이 16비트 산술 연산에서의 계산시에 오버플로우하지 않도록 된다. 다음의 테이블들은 H.26L에서 지정된 값들에 대하여 본 발명의 변환 및 역변환을 사용하는 경우의 계산상의 이점의 일부를 요약한 것이다.
변환 화소당 연산, 정변환 양자화 역양자화 화소당 연산, 역변환
지정된 H.26L 32비트 산술 연산에서 4덧셈, 3곱셈 32비트 산술 연산에서 1곱셈 32비트 산술 연산에서 1곱셈 32비트 산술 연산에서 4덧셈, 3곱셈
본 발명 16비트 산술 연산에서 4덧셈, 1시프트 32비트 산술 연산에서 1곱셈 16비트 산술 연산에서 1곱셈 16비트 산술 연산에서 4덧셈, 1시프트
쉽게 인식할 수 있는 바와 같이, 이러한 절감은 특히 16비트 용량의 프로세서에 대하여 의미가 있다. 예컨대, 실제로 전형적인 16비트 PDA 프로세서는 본 발명에 의해 속도가 거의 2배인 디코딩의 향상을 보일 수 있다.
또한, 변환/역변환은 품질 및 압축에 대한 영향에 관하여 테스트되었다. 코딩 이득(일반적으로 신호-대-노이즈 비의 증가로서 정의됨)에 대한 결과는 본 발명의 변환을 테스트 데이터에 사용한 결과 H.26L 변환에 비하여 약 0.01dB의 손실이 초래되며, 이 값은 무시할 만하고, 사실상 화소 예측 에러와 같은 실제 비디오 신 호 정보에서 보다 훨씬 작다. 또한, 32 양자화 파라미터 각각에 걸친 H.26L 지정 변환에 대하여 전체 성능을 테스트하였고, 평균이 0에 매우 가까운 + 또는 - 0.5% 범위의 차이만이 초래되어, 본 발명의 변환이 H.26L에서 지정된 변환만큼 잘 수행되었음을 나타낸다.
전술한 상세한 설명으로부터 알 수 있는 바와 같이, 압축 또는 품질에 악영향을 미치지 않고도 다른 공지된 변환들에 비하여 계산 복잡성을 상당히 감소시킨, 이미지 또는 비디오 인코딩 및 디코딩 각각에 대한 향상된 변환 및 역변환 행렬이 제공된다. 변환 및 역변환 처리 중에 시프트 연산에 의해 수행되는 것을 제외하고는 양자화 및 역양자화 파라미터들이 곱셈 인수를 보상하기 때문에, 변환 곱셈들이 제거되지만 정확한 결과가 얻어진다. 사용되는 값들로 인하여, 인코딩 중의 변환 작업과 디코딩 중의 역양자화 및 변환 작업들이 (9비트 이하로 나타낸 화소 데이터에 대하여) 16비트 산술 연산에서 수행될 수 있다.
본 발명은 다양한 변경 및 대체적 구성에 민감하기는 하지만, 그 예시된 어떤 실시예들은 도면에 도시되어 있으며 앞에서 상세히 기술되었다. 그러나, 개시된 특정한 형태로 본 발명을 제한하려는 의도는 없으며, 오히려 본 발명의 사상 및 범위 내에서의 모든 변경, 선택적인 구성 및 등가의 것들을 커버하려는 의도이다.
상술한 본 발명에 따르면, 인코더 및 디코더 양측에서 이미지 및 비디오에 대한 계산 복잡성을 상당히 단순화하는 향상된 방법, 시스템 및 블록 변환이 제공되며, 본 발명의 압축, 이미지/비디오 품질 및 다른 자원들에 대한 영향은 무시할 만하다.

Claims (20)

  1. 비디오 또는 이미지 정보를 디코딩하는 방법으로서,
    양자화된 변환 계수들을 수신하는 단계;
    상기 수신된 양자화된 변환 계수들을 역양자화된 변환 계수들로 역양자화하는 단계 - 상기 역양자화는 스케일링 인수(scaling factor)들의 복수의 그룹들로부터 선택된 스케일링 인수에 의해 상기 양자화된 변환 계수들을 스케일링하고, 상기 양자화된 변환 계수들은 블록에서 논리적으로 편성되며(logically organized), 상기 역양자화를 위한 복수의 그룹들 사이의 선택은 상기 블록 내에서의 상대적인 계수 위치에 기초함 - ; 및
    상기 역양자화된 변환 계수들에 역변환 처리를 적용하여 그로부터 재구성된 정보를 생성하는 단계
    를 포함하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  2. 제1항에 있어서,
    상기 복수의 그룹들 각각은 상기 역변환 처리에 대응하는 변환 처리를 특성화하는 상이한 놈(norm)에 조절하도록 적응되는 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  3. 제1항에 있어서,
    상기 블록은 4x4 블록이고, 상기 복수의 그룹들은 스케일링 인수들의 제1 그룹, 제2 그룹 및 제3 그룹을 포함하는 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  4. 제3항에 있어서,
    상기 제1 그룹은 낮은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되고, 상기 제2 그룹은 높은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되며, 제3 그룹은 중간 스케일링(intermediate scaling)을 갖는 8개의 계수 위치들에 대하여 선택되는 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  5. 제3항에 있어서,
    상기 제2 그룹 및 제3 그룹에서의 스케일링 인수는 각각 제1 그룹에서의 대응 스케일링 인수들보다 개략적으로 1.6배 및 1.3배 더 큰 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  6. 제1항에 있어서,
    상기 복수의 그룹들 중 하나에서 스케일링 인수들을 선택하는 것은 양자화 파라미터에 기초하는 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  7. 제1항에 있어서,
    상기 역양자화는 상기 블록의 상기 양자화된 변환 계수들 각각에 스케일링 인수들 중 하나를 곱셈하는 것을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  8. 제1항에 있어서,
    상기 재구성된 정보는 4x4 블록에 대하여 재구성된 예측 에러 정보(reconstructed prediction error information)에 대한 것임을 특징으로 하는 비디오 또는 이미지 정보를 디코딩하는 방법.
  9. 비디오 또는 이미지 정보를 코딩하는 방법으로서,
    상기 정보에 변환 처리를 적용하여 변환 계수들을 생성하는 단계; 및
    상기 변환 계수들을 양자화된 변환 계수들로 양자화하는 단계 - 상기 양자화는 스케일링 인수들의 복수의 그룹들로부터 선택된 스케일링 인수들에 의해 상기 변환 계수들을 스케일링하고, 상기 변환 계수들은 블록에서 논리적으로 편성되며, 상기 양자화를 위한 복수의 그룹들 사이의 선택은 상기 블록 내에서의 상대적인 계수 위치에 기초함 -
    을 포함하는 비디오 또는 이미지 정보를 코딩하는 방법.
  10. 제9항에 있어서,
    상기 복수의 그룹들 각각은 상기 변환 처리를 특성화하는 상이한 놈(norm)에 조절하도록 적응되는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  11. 제9항에 있어서,
    상기 블록은 4x4 블록이고, 상기 복수의 그룹들은 스케일링 인수들의 제1 그룹, 제2 그룹 및 제3 그룹을 포함하는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  12. 제11항에 있어서,
    상기 제1 그룹은 낮은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되고, 상기 제2 그룹은 높은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되며, 제3 그룹은 중간 스케일링(intermediate scaling)을 갖는 8개의 계수 위치들에 대하여 선택되는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  13. 제9항에 있어서,
    상기 복수의 그룹들 중 하나에서 스케일링 인수들을 선택하는 것은 양자화 파라미터에 기초하는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  14. 제9항에 있어서,
    상기 양자화는 상기 블록의 상기 변환 계수들 각각에 스케일링 인수들 중 하나를 곱셈하는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  15. 제9항에 있어서,
    상기 정보는 4x4 블록에 대하여 예측 에러 정보(reconstructed prediction error information)를 포함하는 것을 특징으로 하는 비디오 또는 이미지 정보를 코딩하는 방법.
  16. 비디오 디코더로서,
    양자화된 변환 계수들을 역양자화된 변환 계수들로 역양자화하는 수단 - 상기 역양자화는 스케일링 인수들의 3개의 그룹들로부터 선택된 스케일링 인수에 의해 상기 양자화된 변환 계수들을 스케일링하고, 상기 역양자화는 상기 양자화된 변환 계수들 각각에 상기 스케일링 계수들 중 하나를 곱셈하는 것을 포함하며, 상기 양자화된 변환 계수들은 4x4 블록에서 논리적으로 편성되며, 상기 3개의 그룹들 사이의 선택은 상기 블록 내에서의 상대적인 계수 위치에 기초함 - ; 및
    상기 역양자화된 변환 계수들에 역변환 처리를 적용하는 수단
    을 포함하는 비디오 디코더.
  17. 제16항에 있어서,
    상기 3개의 그룹 중 제1 그룹은 낮은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되고, 제2 그룹은 높은 스케일링을 갖는 4개의 계수 위치들에 대하여 선택되며, 제3 그룹은 중간 스케일링(intermediate scaling)을 갖는 8개의 계수 위치들에 대하여 선택되는 것을 특징으로 하는 비디오 디코더.
  18. 제17항에 있어서,
    상기 제2 그룹 및 제3 그룹에서의 스케일링 인수는 각각 제1 그룹에서의 대응 스케일링 인수들보다 개략적으로 1.6배 및 1.3배 더 큰 것을 특징으로 하는 비디오 디코더.
  19. 제16항에 있어서,
    상기 3개의 그룹들 각각은 상기 역변환 처리에 대응하는 변환 처리를 특성화하는 상이한 놈(norm)에 조절하도록 적응되는 것을 특징으로 하는 비디오 디코더.
  20. 제16항에 있어서,
    상기 3개의 그룹 중 하나에서 스케일링 인수들을 선택하는 것은 양자화 파라미터에 기초하는 것을 특징으로 하는 비디오 디코더.
KR1020060094699A 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 디코딩하는 방법, 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 디코더 KR100839309B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/955,577 US6882685B2 (en) 2001-09-18 2001-09-18 Block transform and quantization for image and video coding
US09/955,577 2001-09-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20020054526A Division KR100839311B1 (ko) 2001-09-18 2002-09-10 비디오 또는 이미지 정보를 디코딩하는 방법, 본 방법을 수행하기 위한 컴퓨터 수행 가능한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체, 그리고 비디오 또는 이미지 정보를 제공하기 위한 시스템

Publications (2)

Publication Number Publication Date
KR20060112255A true KR20060112255A (ko) 2006-10-31
KR100839309B1 KR100839309B1 (ko) 2008-06-19

Family

ID=25497025

Family Applications (4)

Application Number Title Priority Date Filing Date
KR20020054526A KR100839311B1 (ko) 2001-09-18 2002-09-10 비디오 또는 이미지 정보를 디코딩하는 방법, 본 방법을 수행하기 위한 컴퓨터 수행 가능한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체, 그리고 비디오 또는 이미지 정보를 제공하기 위한 시스템
KR1020060094777A KR100839310B1 (ko) 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 또는 이미지 정보를 제공하기 위한 시스템
KR1020060094699A KR100839309B1 (ko) 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 디코딩하는 방법, 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 디코더
KR1020060094696A KR100839308B1 (ko) 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 디코딩하는 방법, 및 비디오 디코더

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR20020054526A KR100839311B1 (ko) 2001-09-18 2002-09-10 비디오 또는 이미지 정보를 디코딩하는 방법, 본 방법을 수행하기 위한 컴퓨터 수행 가능한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체, 그리고 비디오 또는 이미지 정보를 제공하기 위한 시스템
KR1020060094777A KR100839310B1 (ko) 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 또는 이미지 정보를 제공하기 위한 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020060094696A KR100839308B1 (ko) 2001-09-18 2006-09-28 비디오 또는 이미지 정보를 디코딩하는 방법, 및 비디오 디코더

Country Status (9)

Country Link
US (6) US6882685B2 (ko)
EP (4) EP1768418B1 (ko)
JP (5) JP3964765B2 (ko)
KR (4) KR100839311B1 (ko)
CN (4) CN100459712C (ko)
DE (1) DE20222025U1 (ko)
ES (4) ES2615488T3 (ko)
HK (1) HK1053033B (ko)
TW (1) TWI221388B (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101315600B1 (ko) * 2009-06-05 2013-10-10 퀄컴 인코포레이티드 미디어 코딩을 위한 4×4 변환
KR101315562B1 (ko) * 2009-06-05 2013-10-10 퀄컴 인코포레이티드 미디어 코딩을 위한 4×4 변환
KR101315565B1 (ko) * 2009-06-24 2013-10-10 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 16-포인트 변환
US8718144B2 (en) 2009-06-24 2014-05-06 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
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100335055B1 (ko) * 1999-12-08 2002-05-02 구자홍 압축 영상신호의 블럭현상 및 링현상 제거방법
US7113646B2 (en) * 2001-06-29 2006-09-26 Equator Technologies, Inc. Decoding of predicted AC coefficient without division
US7068850B2 (en) * 2001-06-29 2006-06-27 Equator Technologies, Inc. Decoding of predicted DC coefficient without division
US7185037B2 (en) * 2001-08-23 2007-02-27 Texas Instruments Incorporated Video block transform
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
US7920624B2 (en) * 2002-04-01 2011-04-05 Broadcom Corporation Inverse quantizer supporting multiple decoding processes
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7760950B2 (en) * 2002-09-26 2010-07-20 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US7471726B2 (en) * 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
US7813574B2 (en) * 2003-09-24 2010-10-12 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
EP1685537B1 (en) 2003-11-18 2015-04-01 Mobile Imaging in Sweden AB Method for processing a digital image and image representation format
US7487193B2 (en) * 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
KR101320260B1 (ko) * 2004-06-18 2013-10-23 톰슨 라이센싱 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
CN1282107C (zh) * 2005-01-07 2006-10-25 北京北大方正电子有限公司 一种对图像进行快速压缩和解压缩的方法
US7778327B2 (en) * 2005-02-08 2010-08-17 Texas Instruments Incorporated H.264 quantization
US7546240B2 (en) * 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US8369406B2 (en) * 2005-07-18 2013-02-05 Electronics And Telecommunications Research Institute Apparatus of predictive coding/decoding using view-temporal reference picture buffers and method using the same
CN100370834C (zh) * 2005-08-08 2008-02-20 北京中星微电子有限公司 多模图像编解码芯片中的系数缩放计算模块
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US8705617B2 (en) * 2005-09-27 2014-04-22 Qualcomm Incorporated Multiple layer video encoding
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
CN100539704C (zh) * 2005-12-08 2009-09-09 香港中文大学 视频信号的编码系数的转换装置及其方法
US20070199011A1 (en) * 2006-02-17 2007-08-23 Sony Corporation System and method for high quality AVC encoding
US7912129B2 (en) * 2006-03-16 2011-03-22 Sony Corporation Uni-modal based fast half-pel and fast quarter-pel refinement for video encoding
US20070223590A1 (en) * 2006-03-24 2007-09-27 Mediatek Inc. System, apparatus, method, and computer program product for processing an integer transform
US8077769B2 (en) * 2006-03-28 2011-12-13 Sony Corporation Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach
US7929608B2 (en) * 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
WO2008019524A1 (en) * 2006-07-17 2008-02-21 Thomson Licensing Method and apparatus for encoding video color enhancement data, and method and apparatus for decoding video color enhancement data
EP2041984A4 (en) * 2006-07-17 2009-08-05 Thomson Licensing METHOD AND DEVICE FOR ADAPTING A DEFAULT CODING OF A DIGITAL VIDEO SIGNAL DURING A SCENE CHANGE PERIOD
JP4952282B2 (ja) * 2007-02-14 2012-06-13 パナソニック株式会社 画像符号化装置、画像符号化方法、および画像符号化プログラム
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US8019804B2 (en) * 2007-03-26 2011-09-13 City University Of Hong Kong Method and apparatus for calculating an SSD and encoding a video signal
US7761290B2 (en) 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US8819095B2 (en) 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors
US7965900B2 (en) * 2007-09-26 2011-06-21 Hewlett-Packard Development Company, L.P. Processing an input image to reduce compression-related artifacts
KR101496324B1 (ko) 2007-10-17 2015-02-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8369638B2 (en) * 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
WO2010085125A2 (ko) 2009-01-22 2010-07-29 삼성전자 주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
CN101605259B (zh) * 2009-05-31 2012-11-21 华亚微电子(上海)有限公司 对多媒体数据进行变换编、解码的装置及方法
WO2011142279A1 (ja) 2010-05-13 2011-11-17 シャープ株式会社 符号化装置、復号装置、およびデータ構造
KR101885258B1 (ko) 2010-05-14 2018-08-06 삼성전자주식회사 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
CN103125116A (zh) 2010-09-28 2013-05-29 三星电子株式会社 视频编码方法和装置以及解码方法和装置
JP5678593B2 (ja) * 2010-11-12 2015-03-04 沖電気工業株式会社 符号化支援装置、符号化装置、復号支援装置、復号装置、符号化支援プログラム、及び復号支援プログラム
EP3349360B1 (en) 2011-01-14 2019-09-04 GE Video Compression, LLC Entropy encoding and decoding scheme
AU2016219700B2 (en) * 2011-01-18 2018-06-28 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183044A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with memory storing
US20120183047A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with inverse transform clipping
US20120183048A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with multiple clipping
US9807395B2 (en) * 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
WO2012115487A2 (ko) * 2011-02-25 2012-08-30 삼성전자 주식회사 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치
JP5410638B2 (ja) 2011-03-10 2014-02-05 日本電信電話株式会社 量子化制御装置及び方法、及び量子化制御プログラム
US20120307889A1 (en) * 2011-06-01 2012-12-06 Sharp Laboratories Of America, Inc. Video decoder with dynamic range adjustments
US8571099B2 (en) * 2011-06-01 2013-10-29 Sharp Laboratories Of America, Inc. Decoder with dynamic range compensation
JP2013038768A (ja) * 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20130114685A1 (en) * 2011-11-07 2013-05-09 Sharp Laboratories Of America, Inc. Video decoder with constrained dynamic range
JP6120490B2 (ja) * 2011-11-07 2017-04-26 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9167261B2 (en) 2011-11-07 2015-10-20 Sharp Laboratories Of America, Inc. Video decoder with constrained dynamic range
US9749633B2 (en) 2012-01-19 2017-08-29 Vid Scale, Inc. System and method of video coding quantization and dynamic range control
US9104473B2 (en) * 2012-03-30 2015-08-11 Altera Corporation Conversion and compression of floating-point and integer data
US9277214B2 (en) * 2013-02-15 2016-03-01 Cisco Technology, Inc. Sub-picture hierarchical QP coding
DK3111560T3 (da) * 2014-02-27 2021-06-28 Ericsson Telefon Ab L M Fremgangsmåde og indretning til pyramide-vektorkvantiseringsindeksering og -deindeksering af audio/video sample-vektorer
US9787332B2 (en) * 2015-09-15 2017-10-10 Intel Corporation Error-checking compressed streams in heterogeneous compression accelerators
US10264196B2 (en) 2016-02-12 2019-04-16 Contrast, Inc. Systems and methods for HDR video capture with a mobile device
US10257393B2 (en) 2016-02-12 2019-04-09 Contrast, Inc. Devices and methods for high dynamic range video
CA3033242A1 (en) 2016-08-09 2018-02-15 Contrast, Inc. Real-time hdr video for vehicle control
CN106341689B (zh) * 2016-09-07 2019-04-23 中山大学 一种avs2量化模块和反量化模块的优化方法及系统
JP6822121B2 (ja) * 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
KR102432486B1 (ko) * 2017-11-22 2022-08-12 삼성전자주식회사 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법
US10951888B2 (en) 2018-06-04 2021-03-16 Contrast, Inc. Compressed high dynamic range video
US11303932B2 (en) * 2018-08-14 2022-04-12 Contrast, Inc. Image compression
CN110944177B (zh) * 2018-09-21 2024-03-01 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
GB2578633B (en) * 2018-11-02 2021-10-13 Advanced Risc Mach Ltd Encoding data arrays
US11665368B2 (en) 2018-12-06 2023-05-30 Lg Electronics Inc. Method and device for processing video signal by using transform having low complexify
JP2020098984A (ja) 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
US10992960B2 (en) 2019-02-06 2021-04-27 Jared Michael Cohn Accelerated video exportation to multiple destinations
CA3151584C (en) * 2019-09-20 2024-04-02 Jani Lainema An apparatus, a method and a computer program for video coding and decoding
US20220237259A1 (en) * 2021-01-28 2022-07-28 Stmicroelectronics, Inc. Methods and devices for fast fourier transforms

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06105296B2 (ja) 1986-09-30 1994-12-21 株式会社島津製作所 Ect装置の散乱線補正法
JPH0654307B2 (ja) 1986-10-08 1994-07-20 動力炉・核燃料開発事業団 液体一固体系内の超音波可視化方法及び装置
JPS63219066A (ja) 1987-03-06 1988-09-12 Matsushita Electric Ind Co Ltd 直交変換装置
US4922537A (en) * 1987-06-02 1990-05-01 Frederiksen & Shu Laboratories, Inc. Method and apparatus employing audio frequency offset extraction and floating-point conversion for digitally encoding and decoding high-fidelity audio signals
JPH0645949B2 (ja) 1988-06-14 1994-06-15 ナショナル住宅産業株式会社 小屋組
JPH0645948Y2 (ja) 1988-11-16 1994-11-24 京セラ株式会社 カメラの逆入射光防止装置
US5357594A (en) * 1989-01-27 1994-10-18 Dolby Laboratories Licensing Corporation Encoding and decoding using specially designed pairs of analysis and synthesis windows
US5379351A (en) * 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
US5319724A (en) 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
JP2945487B2 (ja) * 1990-12-26 1999-09-06 株式会社日立製作所 行列乗算器
JPH04282988A (ja) 1991-03-12 1992-10-08 Sony Corp データ変換装置及び方法
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
DE4207895A1 (de) * 1992-03-12 1993-09-16 Vaw Ver Aluminium Werke Ag Verfahren und anordnung zum vertikalstranggiessen von metall
KR0150955B1 (ko) * 1992-05-27 1998-10-15 강진구 비트고정을 위한 영상압축방법과 신장방법 및 그 장치
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
JPH0645948A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0645949A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0654307A (ja) 1992-07-29 1994-02-25 Casio Comput Co Ltd データ圧縮装置
JP3348310B2 (ja) 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
JP3069455B2 (ja) * 1992-12-22 2000-07-24 富士写真フイルム株式会社 画像データ圧縮伸張装置における量子化・逆量子化回路
US5995539A (en) * 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
JP3697717B2 (ja) * 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
US5587708A (en) * 1994-01-19 1996-12-24 Industrial Technology Research Institute Division technique unified quantizer-dequantizer
US5604502A (en) * 1994-03-21 1997-02-18 Lucent Technologies Inc. Motion video compression system with inverse discrete cosine transform mismatch control
KR0126109B1 (ko) * 1994-05-12 1997-12-19 아더 와이.씨. 치아오 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서
JPH08214307A (ja) * 1995-02-02 1996-08-20 Canon Inc 符号化装置
JP3046224B2 (ja) * 1994-07-26 2000-05-29 三星電子株式会社 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法
EP0714212A3 (en) * 1994-11-21 1999-03-31 SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH Video decoder using concurrent processing and resource sharing
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5864637A (en) * 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
JPH08305684A (ja) * 1995-04-28 1996-11-22 Matsushita Electric Ind Co Ltd バタフライ演算装置及び逆離散余弦変換装置
CN1154193A (zh) * 1995-05-15 1997-07-09 宝丽来公司 用于降低图象数据压缩噪声的方法和设备
JP2778622B2 (ja) * 1995-06-06 1998-07-23 日本電気株式会社 2次元dct回路
JP2914226B2 (ja) 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
JP3274593B2 (ja) * 1995-09-27 2002-04-15 日本電気株式会社 可逆変換可能な変換装置及び逆変換装置
US5959673A (en) * 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
KR100280559B1 (ko) * 1996-01-08 2001-02-01 포만 제프리 엘 멀티미디어파일배포를위한파일서버
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JP3168922B2 (ja) * 1996-08-27 2001-05-21 日本ビクター株式会社 デジタル画像情報の記録再生装置
KR100229795B1 (ko) * 1996-08-30 1999-11-15 전주범 개선된 영상 복호화 시스템
JPH1091614A (ja) 1996-09-13 1998-04-10 Hitachi Ltd Idctの整数化法
JPH10107644A (ja) * 1996-09-26 1998-04-24 Sony Corp 量子化装置および方法、並びに、符号化装置および方法
SG54383A1 (en) * 1996-10-31 1998-11-16 Sgs Thomson Microelectronics A Method and apparatus for decoding multi-channel audio data
US5883823A (en) 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
DE69805583T2 (de) * 1997-02-08 2003-01-23 Matsushita Electric Ind Co Ltd Quantisierungsmatrix für die codierung von stand- und bewegtbildern
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6351570B1 (en) * 1997-04-01 2002-02-26 Matsushita Electric Industrial Co., Ltd. Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
US6134270A (en) * 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
WO1999029112A1 (en) * 1997-12-01 1999-06-10 Matsushita Electric Industrial Co., Ltd. Image processor, image data processor and variable length encoder/decoder
KR100441466B1 (ko) * 1997-12-19 2004-07-23 인피니언 테크놀로지스 아게 상수 팩터 승산을 위한 장치와 비디오 압축(mpeg)을 위한 상기 장치의 사용방법
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
EP0926899A3 (en) * 1997-12-25 1999-12-15 SANYO ELECTRIC Co., Ltd. An apparatus and process for decoding motion pictures
JP3953183B2 (ja) 1998-03-27 2007-08-08 パナソニック コミュニケーションズ株式会社 画像通信方法および画像通信装置
TW420935B (en) * 1998-05-07 2001-02-01 Sarnoff Corp Method and apparatus for increasing memory resource utilization in an information stream decoder
US6029126A (en) * 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6115689A (en) * 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6154762A (en) * 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6073153A (en) * 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6301304B1 (en) * 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
GB9819648D0 (en) * 1998-09-10 1998-11-04 Nds Ltd Determining visually noticeable differences between two images
US6353808B1 (en) * 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
US7117053B1 (en) * 1998-10-26 2006-10-03 Stmicroelectronics Asia Pacific Pte. Ltd. Multi-precision technique for digital audio encoder
US7194138B1 (en) * 1998-11-04 2007-03-20 International Business Machines Corporation Reduced-error processing of transformed digital data
US6421464B1 (en) * 1998-12-16 2002-07-16 Fastvdo Llc Fast lapped image transforms using lifting steps
US6363117B1 (en) * 1998-12-31 2002-03-26 Sony Corporation Video compression using fast block motion estimation
US6473534B1 (en) * 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
US6496795B1 (en) * 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
US6487574B1 (en) * 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
US6370502B1 (en) * 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6574651B1 (en) * 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6507614B1 (en) * 1999-10-19 2003-01-14 Sony Corporation Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations
US7028063B1 (en) * 1999-10-26 2006-04-11 Velocity Communication, Inc. Method and apparatus for a DFT/IDFT engine supporting multiple X-DSL protocols
AU2063401A (en) 1999-12-06 2001-06-12 Hrl Laboratories, Llc Variable precision wavelets
KR20020001760A (ko) * 2000-01-12 2002-01-09 요트.게.아. 롤페즈 영상 데이터 압축
JP3593944B2 (ja) * 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
JP4560694B2 (ja) 2000-04-05 2010-10-13 ソニー株式会社 符号化装置及びその方法
US6606725B1 (en) * 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
SE522261C2 (sv) * 2000-05-10 2004-01-27 Global Ip Sound Ab Kodning och avkodning av en digital signal
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
JP4063508B2 (ja) * 2001-07-04 2008-03-19 日本電気株式会社 ビットレート変換装置およびビットレート変換方法
US20030112873A1 (en) 2001-07-11 2003-06-19 Demos Gary A. Motion estimation for video compression systems
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7185037B2 (en) * 2001-08-23 2007-02-27 Texas Instruments Incorporated Video block transform
KR100433709B1 (ko) 2001-08-31 2004-05-31 (주)씨앤에스 테크놀로지 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7295609B2 (en) * 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
US7379498B2 (en) * 2002-03-11 2008-05-27 Broadcom Corporation Reconstructing a compressed still image by transformation to a compressed moving picture image
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
JP2003348598A (ja) 2002-04-12 2003-12-05 Seiko Epson Corp メモリ効率のいい圧縮領域ビデオ処理のための且つ因数分解及び整数近似法を用いる高速逆動き補償のための方法並びに装置
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US7197525B2 (en) * 2002-11-26 2007-03-27 Analog Devices, Inc. Method and system for fixed point fast fourier transform with improved SNR
US7075530B2 (en) * 2003-02-27 2006-07-11 International Business Machines Corporation Fast lighting processors
US7330866B2 (en) * 2003-07-01 2008-02-12 Nvidia Corporation System for frequency-domain scaling for discrete cosine transform
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7502415B2 (en) * 2003-07-18 2009-03-10 Microsoft Corporation Range reduction
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7688895B2 (en) * 2003-07-22 2010-03-30 Lsi Corporation Method and/or circuit for binary arithmetic decoding decisions before termination
US8014450B2 (en) * 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
KR100965881B1 (ko) * 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
ES2392437T3 (es) 2004-01-30 2012-12-10 Panasonic Corporation Procedimiento de decodificación de vídeos que utiliza matrices de cuantificación adaptativas
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
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
JP4241517B2 (ja) 2004-06-15 2009-03-18 キヤノン株式会社 画像符号化装置及び画像復号装置
JP4074868B2 (ja) * 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
JP2008536451A (ja) 2005-04-14 2008-09-04 トムソン ライセンシング 空間スケーラブルビデオ符号化及び復号化向けスライス適応型動きベクトル符号化のための方法及び装置
CN101815224A (zh) * 2005-07-22 2010-08-25 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
CN100539437C (zh) * 2005-07-29 2009-09-09 上海杰得微电子有限公司 一种音频编解码器的实现方法
US8548265B2 (en) * 2006-01-05 2013-10-01 Fastvdo, Llc Fast multiplierless integer invertible transforms
US20070271321A1 (en) * 2006-01-11 2007-11-22 Qualcomm, Inc. Transforms with reduce complexity and/or improve precision by means of common factors
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
CA2681402C (en) * 2007-03-23 2016-02-16 Thomson Licensing Modifying a coded bitstream
CN101681499B (zh) * 2007-06-14 2013-04-24 汤姆逊许可证公司 修改经编码的比特流
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
KR101315600B1 (ko) * 2009-06-05 2013-10-10 퀄컴 인코포레이티드 미디어 코딩을 위한 4×4 변환
KR101315562B1 (ko) * 2009-06-05 2013-10-10 퀄컴 인코포레이티드 미디어 코딩을 위한 4×4 변환
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
KR101315565B1 (ko) * 2009-06-24 2013-10-10 퀄컴 인코포레이티드 미디어 데이터 코딩을 위한 16-포인트 변환
US8718144B2 (en) 2009-06-24 2014-05-06 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
US9081733B2 (en) 2009-06-24 2015-07-14 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
US9319685B2 (en) 2009-06-24 2016-04-19 Qualcomm Incorporated 8-point inverse discrete cosine transform including odd and even portions for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Also Published As

Publication number Publication date
JP2007151131A (ja) 2007-06-14
EP1768418A3 (en) 2011-02-02
KR100839311B1 (ko) 2008-06-17
EP1750450A2 (en) 2007-02-07
CN1764278A (zh) 2006-04-26
CN1231068C (zh) 2005-12-07
EP1768418A2 (en) 2007-03-28
KR20060112256A (ko) 2006-10-31
JP4560027B2 (ja) 2010-10-13
DE20222025U1 (de) 2012-04-02
EP1750449A3 (en) 2011-02-02
CN100484247C (zh) 2009-04-29
EP1294198A3 (en) 2006-04-12
US6882685B2 (en) 2005-04-19
ES2628527T3 (es) 2017-08-03
JP4560033B2 (ja) 2010-10-13
ES2628532T3 (es) 2017-08-03
KR20030024581A (ko) 2003-03-26
KR100839308B1 (ko) 2008-06-19
JP2007128504A (ja) 2007-05-24
JP3964765B2 (ja) 2007-08-22
ES2628498T3 (es) 2017-08-03
US7106797B2 (en) 2006-09-12
EP1294198A2 (en) 2003-03-19
US20030081674A1 (en) 2003-05-01
KR20060112254A (ko) 2006-10-31
HK1053033B (zh) 2017-11-24
JP2003204552A (ja) 2003-07-18
CN1764277A (zh) 2006-04-26
EP1750449B1 (en) 2017-03-29
EP1768418B1 (en) 2017-03-29
US8971405B2 (en) 2015-03-03
EP1750449A2 (en) 2007-02-07
TWI221388B (en) 2004-09-21
US7881371B2 (en) 2011-02-01
US20110116543A1 (en) 2011-05-19
US20050141609A1 (en) 2005-06-30
CN1764279A (zh) 2006-04-26
US7839928B2 (en) 2010-11-23
JP2007122711A (ja) 2007-05-17
JP3964925B2 (ja) 2007-08-22
US20050180503A1 (en) 2005-08-18
US7773671B2 (en) 2010-08-10
CN100463522C (zh) 2009-02-18
CN100459712C (zh) 2009-02-04
EP1294198B1 (en) 2016-11-16
US20050175097A1 (en) 2005-08-11
JP4560028B2 (ja) 2010-10-13
CN1409558A (zh) 2003-04-09
EP1750450B1 (en) 2017-03-29
KR100839310B1 (ko) 2008-06-19
JP2007122710A (ja) 2007-05-17
US20050213659A1 (en) 2005-09-29
KR100839309B1 (ko) 2008-06-19
EP1750450A3 (en) 2011-02-02
ES2615488T3 (es) 2017-06-07

Similar Documents

Publication Publication Date Title
KR100839309B1 (ko) 비디오 또는 이미지 정보를 디코딩하는 방법, 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 디코더
JP4030558B2 (ja) 画像復号装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
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: 20130521

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 12