KR20050052523A - 적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화 - Google Patents

적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화 Download PDF

Info

Publication number
KR20050052523A
KR20050052523A KR1020057005733A KR20057005733A KR20050052523A KR 20050052523 A KR20050052523 A KR 20050052523A KR 1020057005733 A KR1020057005733 A KR 1020057005733A KR 20057005733 A KR20057005733 A KR 20057005733A KR 20050052523 A KR20050052523 A KR 20050052523A
Authority
KR
South Korea
Prior art keywords
transform coefficients
sub
block
encoding
image
Prior art date
Application number
KR1020057005733A
Other languages
English (en)
Other versions
KR100751869B1 (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 KR20050052523A publication Critical patent/KR20050052523A/ko
Application granted granted Critical
Publication of KR100751869B1 publication Critical patent/KR100751869B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (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)

Abstract

변환 계수들이 4n×4m(n, m은 1 이상인 양의 정수임)의 블록 크기를 갖는 블록들로 분할되는, 콘텍스트-기반 적응 VLC를 사용하여 이미지를 부호화하기 위한 방법 및 시스템이 제공된다. 각 블록은 16n×m의 길이를 갖는 순서화된 계수들의 벡터를 생성하기 위하여 지그재그 방식으로 스캐닝된다. 상기 순서화된 벡터는 엔트로피 부호기를 사용하여 변환 계수들을 부호화하기 전에 n×m 서브-샘플링된 변환 계수들의 시퀀스들을 생성하기 위하여 인터리빙 방식으로 서브-샘플링된다.

Description

적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화{Context-based adaptive variable length coding for adaptive block transforms}
본 발명은 일반적으로 비디오 부호화 및 압축 분야에 관한 것으로, 특히 콘텍스트-기반 적응 가변장 부호화를 위한 방법 및 시스템에 관한 것이다.
전형적인 비디오 부호기는 원래의 비디오 시퀀스의 각 프레임을 "블록들"로 불리우는 연속적인 직사각형 영역들로 분할한다. 상기 블록들은 "인트라 모드"(I-모드) 또는 "인터-모드"(P-모드)로 부호화된다. P-모드에 대해, 상기 부호기는 우선 Fref라고 표시된, 이전에 전송된 "참조 프레임"에서 부호화되는 블록과 유사한 블록을 탐색한다. 탐색은 일반적으로 부호화될 블록으로부터 단지 어떤 공간 변위가 되는 것으로 제한된다. 최선의 매치 또는 "예측"이 식별된 경우, 그것은 2차원(2D) 움직임 벡터()의 형태로 표현되는데, 는 수평 변위이고, 는 수직 변위이다. 상기 참조 프레임과 함께 상기 움직임 벡터들은 예측된 블록(Fpred)을 구성하는데 사용된다:
상기 프레임내의 화소의 위치는 로 표시된다.
I-모드에서 부호화된 블록들에 대해, 상기 예측된 블록은 동일한 프레임내의 이전에 부호화된 이웃하는 블록들로부터 공간 예측을 사용하여 형성된다. I-모드 및 P-모드 양자에 대해, 상기 예측 오차, 즉 부호화되는 블록과 예측된 블록간의 차는 어떤 이산 변환의 가중된 기저 함수들(weighted basis functions)의 세트로서 표현된다. 변환들은 전형적으로 8×8 또는 4×4 블록 기반으로 수행된다. 가중치-변환 계수들은 후속적으로 양자화된다. 양자화는 정보의 손실을 야기하여서, 양자화된 계수들은 원래의 것들보다 더 낮은 정확도를 갖는다.
양자화된 변환 계수들 및 움직임 벡터들은 "구문 요소들(syntax elements)"의 예들이다. 이들 그리고 어떤 제어 정보는 비디오 시퀀스의 완전한 부호화된 표현을 형성한다. 부호기로부터 복호기로의 전송 전에, 모든 구문 요소들은 엔트로피 부호화되어, 그들의 표현을 위해 필요한 비트들의 수를 추가로 감소시킨다. 엔트로피 부호화는 그들의 분포 특성을 이용함으로써(어떤 심볼들은 다른 심볼들보다 더 자주 발생한다) 전송되거나 저장된 심볼들(우리의 경우 구문 요소들)을 표현하는데 필요한 비트들의 수를 최소화하는 것을 목표로 하는 무손실 동작이다.
비디오 부호기들에 의해 사용된 하나의 엔트로피 부호화 방법은 가변장 부호들(VLC: Variable Length Codes)이다. 비트들(0들 및 1들)의 시퀀스인 VLC 코드워드가 각 심볼에 할당된다. VLC는 코드워드 길이들이 상기 코드워드로 표현된 심볼들이 얼마나 자주 발생하는지에 대응하도록, 즉 더 자주 발생하는 심볼들이 더 짧은 VLC 코드워드들로 표현되도록 구성된다. 더욱이, 상기 VLC는 상기 코드워드들이 유일하게 복호가능하도록 구성되어야 하는데, 즉 상기 복호기가 유한한 길이의 유효한 비트들의 시퀀스를 수신하는 경우, 부호화시 수신된 비트들의 시퀀스를 생성했을 입력 심볼들의 단지 하나의 가능한 시퀀스가 존재해야 한다.
상기 비트스트림을 정확하게 복호화하기 위하여, 부호기 및 복호기 양자는 동일한 세트의 VLC 코드워드들 및 그들에 대한 심볼들의 동일한 할당을 사용해야 한다. 이전에 논의된 바와 같이, 압축을 최대화하기 위하여, 가장 자주 발생하는 심볼들은 가장 짧은 VLC 코드워드들에 할당되어야 한다. 하지만, 상이한 심볼들의 빈도(확률)는 부호화되는 실제 프레임에 의존한다. 단일 세트의 VLC 코드워드들 및 상기 코드워드들에 대한 심볼들의 일정한 할당이 사용되는 경우, 전체 시퀀스에 대한 평균 심볼 확률이 아닐 수 있을지라도, 주어진 프레임내의 심볼들의 확률 분포는 VLC에 의해 가정되는 확률들과 다를 것 같다. 따라서, 단일 세트의 VLC 코드워드들 및 상기 코드워드들에 대한 심볼들의 단일 할당을 사용하는 것은 부호화 효율을 감소시킨다.
상기 문제를 해결하기 위하여 상이한 적응 방법들이 사용된다. 합리적인 게산 복잡성, 양호한 압축 대 효율 트레이드-오프를 제공하고, 현재 최신 비디오 부호기들에서 사용되는 하나의 접근이 이제 설명된다. 한 세트의 심볼들에 대해, VLC 코드워드들(VLCs)을 명시하는 다수의 표들이 사용하기 위해 부호기 및 복호기에 제공된다. 그래서 특정 심볼을 부호화하기 위해 선택된 표는 부호화된 블록의 유형(I- 또는 P- 형 블록), 부호화되는 성분(휘도 또는 크로마) 또는 양자화 매개 변수(QP: Quantization Parameter) 값과 같이, 상기 부호기 및 복호기 양자에 알려져 있는 정보에 의존한다. 성능은 VLC들간에 스위칭하는데 사용되는 매개 변수들이 얼마나 잘 심볼 통계를 특징화하는지에 의존한다.
상기 복호기에서, 현재 프레임내의 블록은 우선 상기 부호기에서와 동일한 방식으로 그것의 예측치를 구성하고, 압축된 예측 오차를 상기 예측치에 가산함으로써 획득된다. 상기 압축된 예측 오차는 양자화된 계수들을 사용하여 상기 변환 기저 함수들을 가중함으로써 발견된다. 상기 재구성된 프레임 및 원래의 프레임간의 차는 재구성 오차로 불리운다.
압축비, 즉 원래 시퀀스와 압축된 시퀀스를 나타내는데 사용되는 비트들의 수의 비는 변환 계수들을 양자화할 때 사용되는 양자화 매개 변수(QP)의 값을 조정함으로써 제어될 수 있다. 상기 압축비는 또한 사용된 엔트로피 부호화 방법에 의존한다.
주어진 블록내의 계수들은 지그재그 스캐닝을 사용하여 순서화(스캐닝)되는데, 이것은 1차원의 순서화된 계수 벡터를 초래한다. 4×4 블록에 대한 예시적인 지그재그 스캔이 도 1에 도시된다.
2차원(2D) 변환을 적용한 후, 대부분의 에너지를 지닌 변환 계수들(즉 높은 값 계수들)은 저 주파수 변환 함수들에 대응하고 그것이 도 1에 도시된 바와 같이 상기 블록의 좌측 상부 쪽에 위치한다고 가정한다. 따라서, 지그재그 스캐닝을 통해 생성된 계수 벡터에서, 더 큰 크기의 계수들은 대부분 상기 벡터의 시작쪽에 나타날 것 같다. 양자화후 대부분의 낮은 에너지 계수들은 0과 같게 된다.
계수들의 벡터는 각 0이 아닌 계수가 두개의 값들로 표현되도록 추가로 처리될 수 있다: 런(run)(상기 벡터에서 0이 아닌 값 앞의 연속적인 0인 계수들의 수) 및 레벨(level)(상기 계수의 값).
콘텍스트-기반 적응 VLC(CAVLC: Context-based Adaptive VLC)는 JVT 부호기 "조인트 비디오 명세의 조인트 최종 위원회 드래프트(JFCD)(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)"에서 사용되는 변환 계수 부호화 방법이다. 요약하면, CAVLC를 사용하여 단일 4×4 블록을 부호화하는 것은 5개의 단계들을 포함한다:
1. "후미 1들(trailing ones)"의 수와 결합되는, 상기 블록내의 0이 아닌 계수들의 총 수를 부호화하는 단계.
상기 후미 1들의 수는 상기 계수 벡터가 역 순서로 읽혀지는 경우(즉 도 1에서 15, 14, 13, 12, 11, ...) 1보다 큰 크기를 지닌 계수와 만나기 전에 만나는 1의 크기를 지닌 계수들의 수로서 정의된다. 상기 정보를 부호화하는데 사용되는 VLC는 예측된 수의 0이 아닌 계수들에 기초하는데, 상기 예측은 이전에 부호화된 이웃하는 블록들(상부 및 좌측 블록들)내의 0이 아닌 계수들의 수에 기초한다.
2. 어떤 후미 1들의 부호를 부호화하는 단계.
3. 상기 후미 1들 이외의 0이 아닌 계수들의 레벨들(levels)(크기들)을 부호화하는 단계.
4. 마지막 0이 아닌 계수 이전의 상기 계수 벡터내의 0인 값들의 수, 즉 상기 모든 "런들(runs)"의 합을 부호화하는 단계. 상기 값을 부호화할 때 사용되는 VLC는, 상기 두개의 값들간에 어떤 관계가 존재하기 때문에, 상기 블록내의 0이 아닌 계수들의 총 수에 의존한다.
5. 상기 계수 벡터내의 마지막 0이 아닌 값에서 시작하여, 각 0이 아닌 계수 이전에 발생하는 상기 런(run)을 부호화하는 단계.
런 값을 부호화하는데 사용되는 VLC는 단계 4로부터의 런들의 합 및 이제까지 부호화된 런들의 합에 기초하여 선택된다. 예를 들어, 블록이 8인 "런들의 합"을 갖고, 부호화된 첫번째 런이 6인 경우, 모든 나머지 런들은 0, 1 또는 2이어야 한다. 가능한 런 길이는 점진적으로 더 짧아지기 때문에, 상기 런을 표현하는데 요구되는 비트들의 수를 최소화하기 위하여 더 효율적인 VLC 부호들이 선택된다.
전형적인 블록-기반 비디오 부호기가 도 2에 도시되어 있다. 도 1에 도시된 바와 같이, 비디오 서버(100)는 비디오 소스로부터 비디오 신호들(110)을 수신하는 프런트-엔드 유닛(10) 및 비디오 다중 부호기(40)를 포함한다. 비디오 소스로부터 입력(110)으로 제공되는 압축되지 않은 비디오의 각 프레임은 래스터-스캔 순서로 매크로블록별로 수신되고 처리된다. 상기 프런트-엔드 유닛(10)은 I-모드와 P-모드간에 전환하고 제어 신호들(120)을 통해 상기 다중 부호기(40)와의 타이밍 조정을 수행하는 부호화 제어 관리자(12), 이산 코사인 변환(DCT: Discrete Cosine Transform) 변환 모듈(16) 및 양자화된 DCT 계수들을 제공하기 위한 양자화기(14)를 포함한다. 상기 양자화된 DCT 계수들(122)은 상기 다중 부호기(40)로 전달된다. 상기 프런트-엔드 유닛(10)은 또한 역 양자화기(18), 역 블록-기반 이산 코사인 변환(IDCT)을 수행하기 위한 역 변환 유닛(20) 및 비디오 시퀀스들에서 시간 중복성을 감소시키고 오류 예측 및 보상을 위해 예측 오차 프레임을 제공하기 위한 움직임 보상 예측 및 추정 모듈(22)을 포함한다. 상기 움직임 추정 모듈(22)은 또한 각 매크로블록에 대한 움직임 벡터(124)를 상기 다중 부호기(40)에 제공한다. 상기 다중 부호기(40)는 전형적으로 이미지 데이터의 각 블록에 대해 순서 벡터를 형성하기 위하여 지그재그 스캔을 수행하는 스캐닝 모듈(42) 및 런 및 레벨 매개 변수들로 0이 아닌 양자화된 DCT 계수들을 지정하기 위한 엔트로피 부호화 모듈을 포함한다. 상기 런 및 레벨 값들은 추가로 빈들(bins)의 시퀀스로 매핑되는데, 상기 빈들 각각은 콘텍스트 할당 모듈(46)에 의해 소위 '콘텍스트'에 할당된다. 상기 움직임 벡터와 함께 상기 콘텍스트들은 비트스트림(140)에 포맷된다. 콘텍스트-기반 부호기는 당 기술 분야에 알려져 있다. 더욱이, 상기 변환 모듈(16)은 고속 푸리에 변환(FFT: Fast Fourier Transform) 모듈 또는 이산 푸리에 변환(DFT: Discrete Fourier Transform) 모듈일 수 있고, DCT는 DCT의 근사일 수 있다.
전형적인 복호기가 도 3에 도시되어 있다. 도시된 바와 같이, 클라이언트(200)는 상기 부호기(40)로부터 부호화된 비디오 비트스트림(140)을 수신하는, 비디오 다중 복호기(60)를 포함한다. 상기 복호기(60)는 또한 매크로블록별로 I-모드 프레임을 복호화한다. 상기 비트스트림(140)에 포함된 VLC 코드워드들에 기초하여, 상기 복호기(60)내의 계수 추출기 모듈(62)은 상기 런 및 레벨 값들을 복구한 다음, 매크로블록의 각 블록에 대한 양자화된 DCT 계수들의 어레이(162)를 재구성한다. 상기 매크로블록과 관련된 상기 부호화된 움직임 벡터 정보는 상기 부호화된 비디오 비트스트림(140)으로부터 추출된다. 상기 재구성된 양자화된 DCT 계수들(162)과 함께, 상기 추출된 움직임 벡터(166)는 백-엔드 유닛(80)에 제공된다. 역 양자화기(84)는 상기 매크로블록의 각 블록에 대한 예측 오차 정보를 나타내는 양자화된 DCT 계수들(162)을 역 양자화하고 그 결과를 역 변환기(86)에 제공한다. 부호화 제어 관리자(82)에 의해 제공되는 제어 정보를 가지고, 비디오 신호들(180)을 생성하기 위하여 상기 매크로블록의 각 블록에 대한 재구성된 예측 오차 값들의 어레이가 생성된다.
현재, 비디오 및 정지 이미지들은 전형적으로 주파수 영역으로의 블록-방식 변환의 도움으로 부호화된다. 이러한 부호화 방법은 조인트 비디오 팀(JVT: Joint Video Team)에 의한 H.26L(또는 장래의 H.264) 표준에서 사용된다. 이러한 방법에서, 상기 이미지는 우선 크기가 4×4 화소들인 블록들로 서브 분할되고 상기 블록들은 4×4 매트릭스의 변환 계수들로 변환된다. 그다음 상기 계수들은 지그재그 경로를 따라 상기 계수들을 스캐닝함으로써 정렬되는데, 저-주파수 계수들은 변환 계수들의 순서화된 시퀀스-1차원 벡터를 형성하기 위하여 상기 스캔에서 첫번째에 배치된다. 도 1의 4×4 변환 계수 매트릭스는 1,2,5,9,6,3,4,7,10,13,14,11,8,12,15,16의 1차원 어레이 또는 시퀀스를 초래할 것이다. 이것은 다음 단계가 런-레벨 부호화에 의해 상기 DCT 계수들의 양자화된 값들을 부호화하는 것이기 때문에 유리한데, 더 가능성있는 런들은 짧은 부호들로 표현된다(호프만 부호화 또는 연산(arithmetic) 부호화). 이러한 방식으로 정렬되면, 상기 스캔의 종료시 많은 계수들은 보통 0으로 끝난다. 따라서 상기 계수들은 고-효율로 부호화된다. 가변장 부호화는 모든 심볼들이 (비트적으로) 동일한 크기를 가지고 있지 않다는 것을 의미하는 것으로 알려져 있다. 호프만 부호화는 가변장 부호화의 한 예이다. 연산은 그것이 일련의 심볼들을 포함한다는 점에서 약간 상이하다. 따라서, 일반적으로 한(ONE) 심볼의 길이를 X 비트들이 필요한 것으로 기술하는 것은 가능하지 않다. 오히려, 특정 시리즈의 심볼들은 Y 비트들을 필요로 할 것이다. 이러한 이유로, "엔트로피 부호화"는 아마도 "가변장 부호화"보다 더 일반적인 용어이다.
상술된 부호화 방식은 4×4 화소들의 블록 변환을 생성하는데 사용된다. 하지만, 콘텍스트-기반 적응 VLC(CAVLC)는 변환 계수들을 4×4 보다 더 큰 블록들로 분할하는 것을 포함할 수 있다. 예를 들어, 상기 JVT 부호기는 4×8, 8×4 및 8×8 블록들에 대한 변환들을 수행하는 "적응 블록 변환들(ABT: Adaptive Block Transforms)"이라고 불리우는 특징을 포함한다. 따라서, 4×4 블록들에 대해 설계된 상기 부호화 방식은 더 이상 적용될 수 없다. 상기 문제에 대한 해법은 더 큰 블록을 크기가 4×4 인 서브-블록들로 분할하는 것이다.
계수들의 ABT 블록이 공간 영역에서 4×4 블록들로 분할되는 기존의 해법이 제안되었다. 예로서, 8×8 블록이 도 4에 도시되는데, 스캔 순서들 중 하나가 상기 JVT 부호기에서 상기 블록에 대해 사용된다. 4개의 4×4 블록들로 분할된 동일한 블록이 도 5a 내지 도 5d에 도시된다. 후속적으로 각 4×4 블록은 4×4 스캔을 사용하여 지그재그 스캐닝되어, 길이가 16인 복수의 벡터들을 생성한다. 그다음 상기 길이가 16인 벡터들은 표준 4×4 CAVLC 알고리즘으로 전달된다. 도 1에 도시된 4×4 스캔이 도 5a 내지 도 5d에서의 4×4 블록들에 대해 사용되는 경우, 결과로서 생기는 벡터들은 도 6a 내지 도 6d에 제공된 바와 같다.
상기 기존의 CAVLC 알고리즘은 계수 벡터의 내용에 대해 어떤 가정들을 행한다. 상기 가정들이 위반되는 경우, 상기 CAVLC에 의해 사용되는 부호화 표들(즉 어떤 코드워드가 어떤 심볼을 기술하는데 사용되는지를 명시하는 표들)은 "불일치"한다. 이것은 상기 표내의 코드워드들의 길이가 더 이상 심볼의 확률을 정확하게 반영하지 않는다는 것을 의미하여서, CAVLC는 덜 효율적이다.
상기 기존의 접근의 결과로서, 상기 ABT 블록의 분할 이후에 생성된 4×4 블록들 각각은 상기 ABT 변환에서 상이한 주파수들에 대응하는 계수들을 지닌다. 예를 들어, 도 5a의 상기 4×4 블록은 (수평 및 수직 양자에서) 저 주파수 정보를 포함하는데 따라서 대부분의 큰 크기의 계수들을 포함한다. 마찬가지로, 도 5d의 4×4 블록은 고 주파수 정보 및 작은 크기의 계수들을 포함한다. 상기 CAVLC 알고리즘은 더 큰 크기들이 일반적으로 상기 벡터의 시작쪽에서 발생한다고 가정하고, 결정적으로, 0들의 더 긴 런들(runs)이 일반적으로 벡터의 끝쪽에서 발생할 것이라고 가정한다. 도 5d의 4×4 블록은 도 5a의 4×4 블록내의 많은 값들을 통계적으로 포함하지 않을 것 같고, "바깥에 있는" 값들은 그들과 관련된 0들의 긴 런들을 가질 것 같다. 도 5d의 4×4 블록이 하나 또는 두개의 0이 아닌 계수들을 포함할 수 있을지라도, 상기 계수들의 위치들은 CAVLC가 기대하는 것과 불일치하므로, 상기 블록의 부호화는 불균형적으로 많은 수의 비트들을 필요로 한다.
상기 CAVLC 방법은 또한 이웃하는 블록들이 유사한 수의 0이 아닌 계수들을 가지는 것으로 가정한다. 변환 함수들의 상이한 주파수들에 대응하는 계수들을 지닌 블록들에 대해, 0이 아닌 계수들의 수는 급격하게 변한다. 이것은 주어진 블록의 0이 아닌 계수들의 수를 부호화하는데 사용되는 VLC 표의 잘못된 선택을 초래할 수 있는데 이것은 상기 선택이 그것의 이웃들의 0이 아닌 계수들의 수에 기초하기 때문이다.
따라서, 기존의 블록 분할 방식은 부호화 효율과 양자화 정확도의 관점에서 최적 해법이 아니다.
n 및 m을 1 이상인 양의 정수라 할 때, (4n)×(4m)의 일반적인 크기를 갖는 ABT 블록들에 적용될 수 있는 비디오 및 이미지 부호화를 위한 더 효율적인 방법 및 시스템을 제공하는 것이 유리하고 바람직하다.
도 1은 4×4 블록에 대한 예시적인 지그재그 스캔이다.
도 2는 블록-기반 변환 부호화 및 움직임-보상 예측을 사용하는, 전형적인 비디오 서버를 도시한 블록도이다.
도 3은 도 2의 부호기에 대응하는 전형적인 비디오 클라이언트를 도시한 블록도이다.
도 4는 8×8 블록에 대한 예시적인 지그재그 스캔이다.
도 5a는 도 4의 8×8 블록으로부터의 4×4 서브-블록이다.
도 5b는 도 4의 8×8 블록으로부터의 다른 4×4 서브-블록이다.
도 5c는 도 4의 8×8 블록으로부터의 또 다른 4×4 서브-블록이다.
도 5d는 도 4의 8×8 블록으로부터의 네번째 4×4 서브-블록이다.
도 6a는 4×4 CAVLC 알고리즘으로 전달될, 도 5a의 4×4 블록에 따른, 벡터를 나타내는 1차원 어레이이다.
도 6b는 4×4 CAVLC 알고리즘으로 전달될, 도 5b의 4×4 블록에 따른, 벡터를 나타내는 1차원 어레이이다.
도 6c는 4×4 CAVLC 알고리즘으로 전달될, 도 5c의 4×4 블록에 따른, 벡터를 나타내는 계수들의 1차원 어레이이다.
도 6d는 4×4 CAVLC 알고리즘으로 전달될, 도 5d의 4×4 블록에 따른, 벡터를 나타내는 1차원 어레이이다.
도 7은 8×8 블록의 계수들의 순서화된 시퀀스를 나타내는 1차원 벡터이다.
도 8a는 본 발명에 따라, 원래의 벡터로부터의 제1 분할된 벡터를 나타내는 계수들의 1차원 어레이이다.
도 8b는 본 발명에 따라, 원래의 벡터로부터의 제2 분할된 벡터를 나타내는 계수들의 1차원 어레이이다.
도 8c는 본 발명에 따라, 원래의 벡터로부터의 제3 분할된 벡터를 나타내는 계수들의 1차원 어레이이다.
도 8d는 본 발명에 따라, 원래의 벡터로부터의 제4 분할된 벡터를 나타내는 계수들의 1차원 어레이이다.
도 9는 본 발명에 의한, 예시적인 비디오 서버를 도시한 블록도이다.
도 10은 도 9의 비디오 부호기에 대응하는, 본 발명에 의한, 비디오 클라이언트를 도시한 블록도이다.
도 11a는 8×8 블록의 변환 계수들로부터 서브-샘플링된 4×4 블록이다.
도 11b는 8×8 블록의 변환 계수들로부터 서브-샘플링된 다른 4×4 블록이다.
도 11c는 8×8 블록의 변환 계수들로부터 서브-샘플링된 또 다른 4×4 블록이다.
도 11d는 8×8 블록의 변환 계수들로부터 서브-샘플링된 네번째 4×4 블록이다.
본 발명의 주 목적은 4×4 보다 큰 블록 변환의 적용후 결과로서 생긴 양자화된 계수들을 나타내는데 필요한 비트들의 수를 감소시키는 것이다. 더 정확하게는, 본 발명은 4×8, 8×4 또는 8×8 변환에 기인하는 계수들을 나타내는데 필요한 비트들의 수를 감소시키는 것을 목표로 한다. 더욱이, JVT를 구현하는 코드에 의해 요구되는 메모리를 최소화할 뿐만 아니라 JVT 부호기의 설계를 단순화하기 위하여, 4×4 블록에 대해 개발된 CAVLC 방법이 변경없이 또는 최소한의 변경으로 4×8, 8×4 또는 8×8 블록들을 부호화하는데 사용되는 것이 바람직하다.
상기 목적은 4×4 보다 큰 블록을 인터리빙 방식으로 원래의 벡터를 사용하여 4×4 크기의 복수의 서브-블록으로 분할함으로써 달성될 수 있다.
따라서, 본 발명의 제1 태양에 의하면, 이미지 부호화 방법에 있어서, 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하는 단계, 변환 계수들의 시퀀스를 제공하기 위하여 상기 변환 계수들의 블록을 스캐닝하는 단계, 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 인터리빙 방식으로 상기 시퀀스내의 변환 계수들을 서브-샘플링하는 단계 및 엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계를 포함하는 방법이 제공된다.
유리하게는, 상기 서브-샘플링은 상기 부호화 이전 또는 이후에 수행된다.
바람직하기로는, 상기 변환 계수들의 시퀀스는 16 n×m 의 길이를 가지는데, n 및 m은 1 이상인 양의 정수이고, 상기 서브-샘플링된 변환 계수들의 시퀀스 각각은 16인 길이를 지닌다.
본 발명의 제2 태양에 의하면, 이미지 부호화하는데 사용되는 컴퓨터 프로그램에 있어서, 상기 부호화 프로세스는, 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하는 단계 및 변환 계수들의 시퀀스를 제공하기 위하여 상기 변환 계수들의 블록을 스캐닝하는 단계를 포함하는 컴퓨터 프로그램이 제공된다. 상기 컴퓨터 프로그램은 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 인터리빙 방식으로 상기 시퀀스내의 변환 계수들을 서브-샘플링하기 위한 알고리즘을 포함하는 것을 특징으로 한다.
유리하게는, 상기 부호화 프로세스는 엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계를 더 포함한다.
대안적으로, 상기 부호화 프로세스는 상기 서브-샘플링 이전에 엔트로피 부호기를 사용하여 상기 변환 계수들의 시퀀스를 부호화하는 단계를 더 포함한다.
본 발명의 제3 태양에 의하면, 이미지 데이터를 수신하고 상기 이미지 데이터를 나타내는 비트스트림을 제공하기 위한 이미지 부호기가 제공된다. 상기 이미지 부호기는, 상기 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하기 위한 수단, 상기 블록으로부터 순서화된 변환 계수들의 시퀀스를 형성하기 위하여 상기 변환 계수들의 블록을 스캐닝하기 위한 수단, 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 형성하기 위하여 상기 순서화된 변환 계수들의 시퀀스를 서브-샘플링하기 위한 소프트웨어 프로그램, 상기 서브-샘플링된 변환 계수들의 시퀀스들을 엔트로피 부호화하여 상기 부호화된 변환 계수들을 나타내는 신호들을 제공하기 위한 수단 및 상기 신호들에 기초하여 상기 비트스트림을 제공하기 위한 수단을 포함하는 이미지 부호기가 제공된다.
본 발명의 제4 태양에 의하면, 이미지 데이터를 나타내는 비트스트림을 제공하기 위한 서버 및 상기 비트스트림에 기초하여 상기 이미지 데이터를 재구성하기 위한 클라이언트를 포함하는 이미지 부호화 시스템이 제공되는데, 상기 서버는, 상기 이미지 데이터를 나타내는 신호들을 수신하기 위한 수신기, 상기 신호들로부터 적어도 한 블록의 변환 계수들을 형성하기 위한 수단, 상기 블록으로부터 순서화된 변환 계수들의 시퀀스를 형성하기 위하여 상기 변환 계수들의 블록을 스캐닝하기 위한 수단, 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 형성하기 위하여 상기 순서화된 변환 계수들의 시퀀스를 서브-샘플링하기 위한 소프트웨어 프로그램, 상기 서브-샘플링된 변환 계수들의 시퀀스들을 엔트로피 부호화하여 상기 부호화된 변환 계수들을 나타내는 추가 신호들을 제공하기 위한 수단 및 상기 추가 신호들에 기초하여 상기 비트스트림을 제공하기 위한 수단을 포함한다.
본 발명에 의하면, 블록 분할 방법은 변환 계수들의 ABT 블록(8×8 블록, 4×8 또는 8×4 블록)을 표준 4×4 CAVLC 알고리즘을 사용하여 부호화되는 4×4 블록들로 분할한다. 4×4 블록들 중의 계수들의 분할은 각 4×4 블록들내의 계수들의 통계적 분포가 유사하다는 것을 보장하기 위하여 계수 에너지에 기초한다. 상기 계수의 에너지는 그것이 대응하는 변환 함수의 주파수에 의존하고 예를 들어 상기 ABT 블록의 지그재그 스캔에서의 그것의 위치에 의해 표시될 수 있다. 이러한 분할의 결과로서, 주어진 4×4 블록에 선택된 모든 계수들이 ABT 블록에 서로 공간적으로 인접해 있는 것은 아니다.
본 발명에 제시된 방법은 계수들의 순서화된 벡터를 생성하기 위하여 후속적으로 지그재그 패턴(또는 어떤 다른 패턴)으로 스캐닝된, 4×8, 8×4 또는 8×8 변환을 사용하여 생성된 계수들의 블록들에 대해 동작한다.
이전에 언급된 바와 같이, 지그재그 스캐닝의 목표는 상기 계수 벡터의 시작쪽으로 0이 아닌 계수들을 묶는 것이다. 사실상, 상기 목표는 에너지 감소(변이)에 따라 상기 계수들을 정렬하는 것이다. 이것을 달성하는데 사용되는 실제 스캔은, 상기 에너지가 일반적으로 감소하는 경우, 본 발명에서 전혀 문제가 되지 않는다.
계수들의 길이 N 순서화된 벡터를 생성하기 위하여 지그재그 스캐닝을 한 이후에(N은 8×8 블록에 대해 64 또는 4×8 또는 8×4 블록에 대해 32임), 본 발명의 알고리즘은 상기 벡터를 각각 길이가 16인, N/16 작은 벡터들로 분할한다. 각각의 이러한 벡터는 서브-샘플링 프로세스에서 길이 N 계수 벡터로부터 매 (N/16) 번째 계수를 취함으로써 형성된다. 예를 들어, 상기 순서화된 벡터가 c0, c1, c2, ..., c63이라고 표시된 계수들을 포함하는 경우, 길이가 16인 제1 분할된 벡터는 c0, c4, c8, 12, ..., c60을 포함한다. 길이가 16인 제2 분할된 벡터는 c1, c5, c9, c13, ..., c61을 포함하고, 제3 및 제4 벡터들에 대해도 마찬가지이다. 예를 들어, 상기 순서화된 벡터가 도 7에 도시된 바와 같이 64 계수들의 1차원 어레이로 표현되는 경우, 길이가 16인 제1, 제2, 제3 및 제4 분할된 벡터들은 각각 도 8a 내지 도 8d에 도시된 바와 같다.
길이가 16인 서브-샘플링된 벡터들이 상술된 방식으로 획득된 후, 그들은 표준 4×4 CAVLC 알고리즘을 사용하여 부호화된다. CAVLC 기술에 쓰여진 바와 같이, 0이 아닌 계수들의 부호화는 상부 및 좌측의 이웃하는 4×4 블록들의 0이 아닌 계수들의 수에 의존한다(도 8a 내지 도 8d 참조). 그러므로 ABT 블록을 분할함으로써 생성된 벡터들 각각에는 ABT 블록을 공간적으로 분할함으로써 생성된 4×4 블록들 중 하나의 공간적인 위치들이 할당된다. 예를 들어 본 발명의 방법이 8×4 블록에 대해 동작하는 경우 제1 벡터에는 상부 4×4 블록이 할당되고 제2 벡터에는 하부 블록이 할당된다.
본 발명에 의한 상기 방법에서, 매 네번째 계수가 도 8a 내지 도 8d에 도시된 바와 같이 선택되는 경우, 0-4가 매겨진 첫번째("가장 중요한") 4개의 계수들 중 하나의 계수가 각 4×4 블록에 할당된다. (4-7이 매겨진) 다음 그룹의 네개 중 하나의 계수는 각 4×4 블록에 할당된다. 동일한 패턴이 나머지 그룹들의 네개의 계수들에 대해 반복된다. 이것은 결과로서 생기는 4×4 블록들 각각에서 에너지의 양을 "균형화"하는 효과를 지닌다. 우리의 실험에 의하면, 상기 알고리즘은 기존의 해법과 비교할 때, 주어진 비디오 시퀀스를 표현하는데 평균 3-5% 더 적은 비트들을 필요로 한다.
본 발명에 의한, 상기 벡터 분할 방법을 사용하는 비디오 부호화를 용이하게 하기 위하여, 도 9에 도시된 비디오 서버(102) 및 도 10에 도시된 비디오 클라이언트(202)가 사용될 수 있다. 본 발명에 의한 부호기(242)와 전형적인 부호기(40)(도 2)의 주된 차이점은 도8a 내지 도 8d에 도시된 바와 같이, 다중 부호기(242)가 인터리빙 방식으로 ABT 블록(4n×4m 블록, n, m은 1 이상인 양의 정수임)을 n×n 블록들로 분할하기 위한 인터리빙 분할 유닛(48)을 포함한다는 것이다. 본 발명에 의하면, 스캐닝 유닛(42)이 길이가 N인 (N=16n×m) 순서화된 계수들의 벡터를 생성한 후, 알고리즘을 구비한 인터리빙 분할 유닛(48)내의 컴퓨터 소프트웨어는 상기 순서화된 벡터를 각각 길이가 16인, n×n 작은 벡터들로 분할하는데 사용된다. 각각의 이러한 벡터는 길이가 N인 순서화된 계수 벡터로부터 매 (n×m) 번째 계수들을 취함으로써 형성된다. 따라서, 상기 비트스트림(142)은 n×n 분할된 벡터들의 내용들을 나타낸다.
마찬가지로, 상기 클라이언트(202)의 복호기(262)는 벡터 조립 유닛(66)을 구비하는데, 상기 벡터 조립 유닛(66)은 n×n 분할된 벡터들내의 계수들을 길이가 N인 순서화된 벡터로 재그룹화하기 위한 알고리즘을 지닌 컴퓨터 프로그램을 구비한다.
도 8a 내지 도 10과 함께 설명된 알고리즘이 더 일반적인 개념의 특정 실시예라는 것은 주목되어야 한다. 상기 벡터내의 DC(또는 첫번째) 항으로부터 그것의 "거리"를 나타내는 길이 N 벡터에서의 각각의 위치에 번호를 할당하는 것이 가능하다. 상기 값은 상기 위치에서의 계수들의 관련된 중요도를 반영해야 한다. 예를 들어, 도 1에서 위치 1 또는 2를 우선 부호화할지에 대한 선택은 거의 임의적이다; 그러므로 그들은 동일한 "거리" 또는 "비용" 값이 할당될 수 있다.
모든 블록들이 유사한 특성들을 가진다고(즉 상기 CAVLC 부호기에 적합하다고) 보장하는 것은 최소화 문제이다. 각 가능한 할당 패턴에 대해, 각 4×4 블록내의 계수들의 총 "비용(cost)"이 계산될 수 있고, 상기 4×4 블록들에 대한 편차가 취해질 수 있다. 상기 편차를 최소화하는 할당 패턴은 가장 유사한 통계 특성을 지닌 블록들을 초래할 것이다.
수학적으로, P가 할당 패턴들의 집합인 경우, 우리는 이 되도록 p의 값을 계산하기를 원하는데, 이고 di,j는 j번째 분할된 벡터의 i번째 계수의 "비용"이다. 상술된 바와 같이, 여기에서 설명된 할당 패턴은 분할된 블록들간의 "비용 편차"를 최소화하려는 시도의 하나의 예이다. 상기 할당 패턴들이 적응적으로 선택되는 경우, 상기 부호기에서 사용되는 할당 패턴에 대한 정보가 상기 복호기로 전송될 필요가 있다는 것은 이해되어야 한다. 대안적으로, 상기 할당 패턴은 상기 이미지의 부호화시 사용된 다른 매개 변수들로부터 결정될 수 있다. 여기에서 필수적인 것은 상기 부호기 및 복호기 양자가 동일한 할당 패턴을 사용한다는 것인데, 이것은 그렇지 않으면 부호화된 이미지가 적합하게 복호화될 수 없기 때문이다.
상기 DC 계수가 상이하게 그리고 개별적으로 부호화될 수 있다는 것은 주목되어야 한다. 하지만, 기존의 4×4 CAVLC가 변경되지 않는다는 것을 보장하기 위하여, 상기 DC 계수는 3 최저-주파수 AC 값들과 다르게 취급되지 않는다. 상기 DC 계수를 개별적으로 취급하는 것은 블록내에 매우 적은 계수들이 존재하는 경우 대부분 이익을 초래할 것이다(예를 들어, 8×8 블록에 대해, 4개의 4×4 블록들 중 3개는 비어 있게 된다). 이 경우, 0이 아닌 값들의 수의 예측으로부터 상기 DC 항을 배제하는 것이 바람직할 수 있다. 하지만, 상기 이익은 일반적으로 중요하지 않을 수 있다.
상기 스캔에서 계수의 위치에 고유한 거리/비용 메트릭은 계수가 어떤 4×4블록에 할당되는지를 결정하는데 사용될 수 있다. 예를 들어, "0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 ..."의 비용 패턴이 이러한 결정을 위해 사용될 수 있다. 대안적으로, "0111.42..."와 같은 데카르트 거리(cartesian distance)가 사용될 수 있다. 상기 할당 알고리즘의 결과는 동일하거나 근사적으로 동일한 총 비용을 지닌 블록들을 생성하는 것이다. 그 자체로, 각 블록에 대한 총 비용의 편차는 유사도의 척도가 되도록 취해진다. 상기 스캔에서 다음 계수에 대해 선택된 블록은 이제까지 그것에 할당된 계수들의 최저 누적된 비용을 지닌 블록이다.
지그재그 스캐닝 이전에 미리 결정된 서브-샘플 절차가 도 4에 도시된 8×8 블록을 도 11a 내지 도 11d에 도시된 4개의 "인터리빙된" 서브-블록들로 서브-샘플링하는데 사용된다. 그다음 길이가 16인 4개의 순서화된 벡터들을 생성하기 위하여 지그재그 스캔이 상기 서브-블록들에 적용된다. 그 자체로, 상기 결과는 도 8a 내지 도 8d에 도시된 것과 동일하다. 따라서, 다음 단계들을 포함하는 이미지 부호화 방법을 제공하는 것이 가능하다:
1. 상기 이미지 데이터에 대해 적어도 한 블록의 변환 계수들을 형성하는 단계;
2. 복수의 변환 계수들의 서브-샘플링된 블록들을 제공하기 위하여 미리 결정된 방식으로 상기 블록내의 변환 계수들을 서브-샘플링하는 단계;
3. 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 상기 서브-샘플링된 변환 계수들의 블록들을 스캐닝하는 단계; 및
4. 엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계.
여기에서 상기에 설명된 본 발명의 방법은 상기 ABT 변환의 상이한 주파수들에 대응하는 계수들을 4×4 블록로 동등하게 분할한다. 그러므로, 상기 생성된 4×4 블록들은 CAVLC 부호기에 의해 예기되는 것들과 통계적으로 유사한 특성들을 지니는데, 이것은 증가된 부호화 효율을 초래한다.
따라서, 본 발명이 본 발명의 바람직한 실시예에 관해 설명되었을지라도, 본 발명의 형태 및 상세에서의 상기한 변경과 다양한 다른 변경들, 생략들 및 변형들이 본 발명의 범위를 벗어남없이 행해질 수 있다는 것은 당업자에 의해 이해될 것이다.

Claims (24)

  1. 이미지를 나타내는 데이터를 사용하는 이미지 부호화 방법에 있어서,
    상기 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하는 단계;
    변환 계수들의 시퀀스를 제공하기 위하여 상기 변환 계수들의 블록을 스캐닝하는 단계;
    복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 인터리빙 방식으로 상기 시퀀스내의 변환 계수들을 서브-샘플링하는 단계; 및
    엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 서브-샘플링은 상기 부호화 이전에 수행되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 부호화는 상기 서브-샘플링 이전에 수행되는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 변환 계수들의 시퀀스는 16 n×m의 길이를 지니며, 상기 n 및 m은 1 이상인 양의 정수인 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 서브-샘플링된 변환 계수들의 시퀀스 각각은 16의 길이를 지니는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 이미지 데이터는 예측 오차 데이터인 것을 특징으로 하는 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 이미지 데이터는 화소 데이터인 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 변환 계수들을 양자화된 변환 계수들로 양자화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 이미지를 나타내는 이미지 데이터를 이미지 부호화하는데 사용되는 컴퓨터 프로그램에 있어서, 상기 부호화 프로세스는,
    상기 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하는 단계; 및
    변환 계수들의 시퀀스를 제공하기 위하여 상기 변환 계수들의 블록을 스캐닝하는 단계를 포함하고,
    상기 컴퓨터 프로그램은 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 인터리빙 방식으로 상기 시퀀스내의 변환 계수들을 서브-샘플링하기 위한 알고리즘을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  10. 제9항에 있어서, 상기 부호화 프로세스는 엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  11. 제9항에 있어서, 상기 부호화 프로세스는 상기 서브-샘플링 이전에 엔트로피 부호기를 사용하여 상기 변환 계수들의 시퀀스를 부호화하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  12. 이미지 데이터를 수신하고 상기 이미지 데이터를 나타내는 비트스트림을 제공하기 위한 이미지 부호기에 있어서,
    상기 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하기 위한 수단;
    상기 블록으로부터 순서화된 변환 계수들의 시퀀스를 형성하기 위하여 상기 변환 계수들의 블록을 스캐닝하기 위한 수단;
    복수의 서브-샘플링된 변환 계수들의 시퀀스들을 형성하기 위하여 상기 순서화된 변환 계수들의 시퀀스를 서브-샘플링하기 위한 소프트웨어 프로그램;
    부호화된 변환 계수들을 나타내는 신호들을 제공하기 위하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 엔트로피 부호화하기 위한 수단; 및
    상기 신호들에 기초하여 상기 비트스트림을 제공하기 위한 수단을 포함하는 것을 특징으로 하는 이미지 부호기.
  13. 제12항에 있어서, 상기 소프트웨어 프로그램은 상기 엔트로피 부호화 수단이 상기 부호화된 변환 계수들을 나타내는 신호들을 제공하기 전에 상기 복수의 서브-샘플링된 변환 계수의 시퀀스들을 형성하는 것을 특징으로 하는 이미지 부호기.
  14. 제12항에 있어서, 상기 엔트로피 부호화 수단은 상기 소프트웨어 프로그램이 상기 복수의 서브-샘플링된 변환 계수의 시퀀스들을 형성하기 전에 상기 부호화된 변환 계수들을 나타내는 신호들을 제공하는 것을 특징으로 하는 이미지 부호기.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 이미지 데이터는 예측 오차 데이터인 것을 특징으로 하는 이미지 부호기.
  16. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 이미지 데이터는 화소 데이터인 것을 특징으로 하는 이미지 부호기.
  17. 이미지 데이터를 나타내는 비트스트림을 제공하기 위한 서버 및 상기 비트스트림에 기초하여 상기 이미지 데이터를 재구성하기 위한 클라이언트를 포함하는 이미지 부호화 시스템에 있어서, 상기 서버는,
    상기 이미지 데이터를 나타내는 신호들을 수신하기 위한 수신기;
    상기 신호들로부터 적어도 한 블록의 변환 계수들을 형성하기 위한 수단;
    상기 블록으로부터 순서화된 변환 계수들의 시퀀스를 형성하기 위하여 상기 변환 계수들의 블록을 스캐닝하기 위한 수단;
    복수의 서브-샘플링된 변환 계수들의 시퀀스들을 형성하기 위하여 상기 순서화된 변환 계수들의 시퀀스를 서브-샘플링하기 위한 소프트웨어 프로그램;
    부호화된 변환 계수들을 나타내는 추가 신호들을 제공하기 위하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 엔트로피 부호화하기 위한 수단; 및
    상기 추가 신호들에 기초하여 상기 비트스트림을 제공하기 위한 수단을 포함하는 것을 특징으로 하는 이미지 부호화 시스템.
  18. 제17항에 있어서, 상기 소프트웨어 프로그램은 상기 엔트로피 부호화 수단이 상기 부호화된 변환 계수들을 나타내는 신호들을 제공하기 전에 상기 복수의 서브-샘플링된 변환 계수들의 시퀀스들을 형성하는 것을 특징으로 하는 이미지 부호화 시스템.
  19. 제17항에 있어서, 상기 엔트로피 부호화 수단은 상기 소프트웨어 프로그램이 상기 복수의 서브-샘플링된 변환 계수의 시퀀스들을 형성하기 전에 상기 부호화된 변환 계수들을 나타내는 신호들을 제공하는 것을 특징으로 하는 이미지 부호화 시스템.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 이미지 데이터는 예측 오차 데이터인 것을 특징으로 하는 이미지 부호화 시스템.
  21. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 이미지 데이터는 화소 데이터인 것을 특징으로 하는 이미지 부호화 시스템.
  22. 이미지를 나타내는 이미지 데이터를 사용하는 이미지 부호화 방법에 있어서,
    상기 이미지 데이터로부터 적어도 한 블록의 변환 계수들을 형성하는 단계;
    복수의 서브-샘플링된 변환 계수들의 블록들을 제공하기 위하여 인터리빙 방식으로 상기 블록내의 변환 계수들을 서브-샘플링하는 단계;
    복수의 서브-샘플링된 변환 계수들의 시퀀스들을 제공하기 위하여 상기 서브-샘플링된 변환 계수들의 블록들을 스캐닝하는 단계; 및
    엔트로피 부호기를 사용하여 상기 서브-샘플링된 변환 계수들의 시퀀스들을 부호화하는 단계를 포함하는 것을 특징으로 하는 이미지 부호화 방법.
  23. 이미지를 나타내는 이미지 데이터를 사용하는 이미지 부호화 방법으로서, 적어도 한 블록의 변환 계수들이 상기 이미지 데이터로부터 형성되고 상기 변환 계수들의 블록은 시퀀스내의 복수의 위치들에 위치한 변환 계수들의 시퀀스를 제공하기 위하여 스캐닝되며, 상기 위치들은 참조 위치와 관련된 복수의 위치들 각각이 어떤 거리를 정의하도록 상기 참조 위치를 포함하는 방법에 있어서,
    비용 값을 상기 거리들 각각에 할당하는 단계;
    상기 비용 값들에 기초하여 상기 시퀀스내의 변환 계수들을 복수의 서브-시퀀스들로 정렬하는 단계; 및
    엔트로피 부호기를 사용하여 상기 변환 계수들의 서브-시퀀스들을 부호화하는 단계를 포함하는 것을 특징으로 하는 이미지 부호화 방법.
  24. 제23항에 있어서, 상기 서브-시퀀스들 각각은 상기 각각의 서브-시퀀스내의 상기 변환 계수들과 관련된 상기 비용 값들의 합을 나타내는 총 비용을 구비하고, 상기 정렬은 상기 각 서브-시퀀스의 총 비용과 다른 서브-시퀀스들 각각의 총 비용의 차의 최소를 달성하기에 적합한 것을 특징으로 하는 이미지 부호화 방법.
KR1020057005733A 2002-10-03 2003-08-19 적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화 KR100751869B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/264,279 US6795584B2 (en) 2002-10-03 2002-10-03 Context-based adaptive variable length coding for adaptive block transforms
US10/264,279 2002-10-03
PCT/IB2003/003382 WO2004032032A1 (en) 2002-10-03 2003-08-19 Context-based adaptive variable length coding for adaptive block transforms

Publications (2)

Publication Number Publication Date
KR20050052523A true KR20050052523A (ko) 2005-06-02
KR100751869B1 KR100751869B1 (ko) 2007-08-23

Family

ID=32042197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057005733A KR100751869B1 (ko) 2002-10-03 2003-08-19 적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화

Country Status (10)

Country Link
US (1) US6795584B2 (ko)
EP (1) EP1546995B1 (ko)
JP (1) JP4308138B2 (ko)
KR (1) KR100751869B1 (ko)
CN (2) CN101132534B (ko)
AU (1) AU2003253133A1 (ko)
CA (1) CA2498384C (ko)
EG (1) EG23916A (ko)
RU (1) RU2330325C2 (ko)
WO (1) WO2004032032A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130128463A (ko) * 2011-03-10 2013-11-26 후아웨이 테크놀러지 컴퍼니 리미티드 변환 계수 인코딩 및 디코딩 방법 및 장치
KR101528085B1 (ko) * 2010-10-01 2015-06-10 퀄컴 인코포레이티드 조인트 콘텍스트 모델을 사용한 계수들의 엔트로피 코딩
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations

Families Citing this family (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4610195B2 (ja) 2001-12-17 2011-01-12 マイクロソフト コーポレーション スキップマクロブロックコード化
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
EP1734511B1 (en) 2002-09-04 2009-11-18 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
TW574802B (en) * 2002-10-24 2004-02-01 Icp Electronics Inc Real-time monitoring and control image transmission system and method
FR2846835B1 (fr) * 2002-11-05 2005-04-15 Canon Kk Codage de donnees numeriques combinant plusieurs modes de codage
TWI220846B (en) * 2003-02-25 2004-09-01 Icp Electronics Inc Real-time transmission method and system of monitored video image
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7602851B2 (en) 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7830963B2 (en) * 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7286710B2 (en) * 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
JP2006054846A (ja) * 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
CN1860796B (zh) * 2004-07-12 2010-06-16 索尼株式会社 编码方法、编码装置、解码方法、及解码装置
WO2006075901A1 (en) * 2005-01-14 2006-07-20 Sungkyunkwan University Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7684981B2 (en) 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
KR100736086B1 (ko) * 2005-09-06 2007-07-06 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
US20070058723A1 (en) * 2005-09-14 2007-03-15 Chandramouly Ashwin A Adaptively adjusted slice width selection
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
DE102005063136B3 (de) * 2005-12-30 2007-07-05 Siemens Ag Verfahren und Vorrichtung zum Generieren eines markierten Datenstroms, Verfahren und Vorrichtung zum Einfügen eines Wasserzeichens in einen markierten Datenstrom und markierter Datenstrom
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
KR100809301B1 (ko) * 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
JP4379444B2 (ja) * 2006-07-26 2009-12-09 ソニー株式会社 復号化方法、復号化方法のプログラム、復号化方法のプログラムを記録した記録媒体、復号化装置
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
WO2008075663A1 (ja) * 2006-12-21 2008-06-26 Ajinomoto Co., Inc. 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体
US8467449B2 (en) 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
US8335261B2 (en) * 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
BRPI0720806B1 (pt) * 2007-01-18 2023-03-28 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Corrente de dados de vídeo de qualidade escalonável
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
RU2420023C1 (ru) 2007-03-13 2011-05-27 Нокиа Корпорейшн Система и способ кодирования и декодирования видеосигналов
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
CN101321283B (zh) * 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8144784B2 (en) 2007-07-09 2012-03-27 Cisco Technology, Inc. Position coding for context-based adaptive variable length coding
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
ES2373240T3 (es) 2007-12-20 2012-02-01 Panasonic Corporation Señalización de canal de control usando un campo de señalización común para el formato de transporte y la versión de redundancia.
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
CN102007770B (zh) * 2008-04-15 2013-07-31 法国电信公司 切分成线性形式的像素分区的图像或图像序列的编码和解码
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
KR101501568B1 (ko) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
EP2154894A1 (en) * 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
JP5259828B2 (ja) * 2008-10-03 2013-08-07 クゥアルコム・インコーポレイテッド 4×4および8×8よりも大きい変換を使用するビデオ符号化
US20100098156A1 (en) 2008-10-16 2010-04-22 Qualcomm Incorporated Weighted prediction based on vectorized entropy coding
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
EP2395755A4 (en) * 2009-02-09 2015-01-07 Samsung Electronics Co Ltd VIDEO PROCESSING AND DEVICE WITH LOW-COMPLEX FREQUENCY CONVERSION AND VIDEO PROCESSING AND DEVICE
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
RU2012140740A (ru) * 2010-04-01 2014-05-10 Сони Корпорейшн Устройство и способ обработки изображения
CN113556556A (zh) 2010-04-13 2021-10-26 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
US20110292247A1 (en) * 2010-05-27 2011-12-01 Sony Corporation Image compression method with random access capability
WO2012016354A1 (en) * 2010-08-04 2012-02-09 Nxp B.V. Video player
HUE039299T2 (hu) * 2010-09-09 2018-12-28 Fraunhofer Ges Forschung Entrópia kódolási és dekódolási séma
CN102447895B (zh) 2010-09-30 2013-10-02 华为技术有限公司 扫描方法及装置、反扫描方法及装置
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US9172963B2 (en) * 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
EP2651128B1 (en) * 2010-12-06 2018-07-25 Sun Patent Trust Image encoding method, image decoding method, image encoding device, and image decoding device
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
HUE055548T2 (hu) 2011-01-13 2021-12-28 Canon Kk Képkódoló berendezés, képkódoló eljárás és program, valamint képdekódoló berendezés, képdekódoló eljárás és program
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US20120230418A1 (en) 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
RU2602672C2 (ru) 2011-06-23 2016-11-20 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
WO2012176464A1 (ja) 2011-06-24 2012-12-27 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
RU2603552C2 (ru) 2011-06-24 2016-11-27 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
MX2013013483A (es) 2011-06-27 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
MX2013012980A (es) 2011-06-28 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodififcacion de imagenes.
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001770A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
AU2012277219A1 (en) 2011-06-30 2013-09-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN103765885B (zh) 2011-07-11 2017-04-12 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US20130016769A1 (en) * 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
EP2735154A1 (en) * 2011-07-22 2014-05-28 Motorola Mobility LLC Device and methods for scanning rectangular-shaped transforms in video coding
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
KR102107643B1 (ko) * 2011-11-07 2020-05-08 타지반 투 엘엘씨 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치
FR2982446A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9237358B2 (en) 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
EP2595382B1 (en) 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters
WO2013096671A1 (en) 2011-12-20 2013-06-27 General Instrument Corporation Method and apparatus for efficient transform unit encoding
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9041721B2 (en) * 2012-02-13 2015-05-26 Nvidia Corporation System, method, and computer program product for evaluating an integral utilizing a low discrepancy sequence and a block size
GB2503295B (en) * 2012-08-13 2014-08-06 Gurulogic Microsystems Oy Encoder and method
CN104272735B (zh) * 2013-01-16 2018-04-13 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
US20140327737A1 (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
CN103391440A (zh) * 2013-07-19 2013-11-13 华为技术有限公司 语法信息的二值化编码处理方法及装置
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
JP6678357B2 (ja) * 2015-03-31 2020-04-08 リアルネットワークス,インコーポレーテッド ビデオ符号化システムにおける動きベクトルの選択及び予測方法
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
WO2017107072A1 (en) 2015-12-22 2017-06-29 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
US9712830B1 (en) 2016-09-15 2017-07-18 Dropbox, Inc. Techniques for image recompression
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN113489980B (zh) * 2021-08-13 2022-10-25 北京大学深圳研究生院 一种点云属性变换系数的熵编码和熵解码的方法及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790706A (en) * 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
CN1067204C (zh) * 1998-09-18 2001-06-13 清华大学 视频编码的全局判决方法
AUPQ668500A0 (en) * 2000-04-04 2000-05-04 Canon Kabushiki Kaisha Accessing items of information
CN1266649C (zh) * 2000-09-12 2006-07-26 皇家菲利浦电子有限公司 视频编码方法
US20030012286A1 (en) * 2001-07-10 2003-01-16 Motorola, Inc. Method and device for suspecting errors and recovering macroblock data in video coding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101528085B1 (ko) * 2010-10-01 2015-06-10 퀄컴 인코포레이티드 조인트 콘텍스트 모델을 사용한 계수들의 엔트로피 코딩
KR20130128463A (ko) * 2011-03-10 2013-11-26 후아웨이 테크놀러지 컴퍼니 리미티드 변환 계수 인코딩 및 디코딩 방법 및 장치
KR20160105934A (ko) * 2011-03-10 2016-09-07 후아웨이 테크놀러지 컴퍼니 리미티드 변환 계수 인코딩 및 디코딩 방법 및 장치
US9571836B2 (en) 2011-03-10 2017-02-14 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding with multiple transform coefficients sub-blocks
US10165305B2 (en) 2011-03-10 2018-12-25 Huawei Technologies Co., Ltd. Encoding and decoding transform coefficient sub-blocks in same predetermine order
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations

Also Published As

Publication number Publication date
WO2004032032A1 (en) 2004-04-15
JP4308138B2 (ja) 2009-08-05
CN101132534A (zh) 2008-02-27
AU2003253133A1 (en) 2004-04-23
KR100751869B1 (ko) 2007-08-23
EP1546995A4 (en) 2006-12-20
US20040066974A1 (en) 2004-04-08
US6795584B2 (en) 2004-09-21
EG23916A (en) 2007-12-30
EP1546995B1 (en) 2012-09-19
CA2498384A1 (en) 2004-04-15
CA2498384C (en) 2011-06-21
JP2006501740A (ja) 2006-01-12
CN1689026A (zh) 2005-10-26
RU2330325C2 (ru) 2008-07-27
CN100392671C (zh) 2008-06-04
RU2005113308A (ru) 2006-01-20
EP1546995A1 (en) 2005-06-29
CN101132534B (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
KR100751869B1 (ko) 적응 블록 변환을 위한 콘텍스트-기반 적응 가변장 부호화
US8036472B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
KR101622450B1 (ko) 변환을 이용하는 비디오 인코딩 및 디코딩
KR101356733B1 (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
JP3764457B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
CN107396103B (zh) 图像解码方法和设备、数据项编码方法和设备、装置及存储设备
WO2011013192A1 (ja) 画像符号化方法および画像復号方法
EP1834487A1 (en) Method for improved entropy coding
AU2021200431B2 (en) Techniques for high efficiency entropy coding of video data
JP2020005294A (ja) 処理方法
KR100801967B1 (ko) 문맥 기반 적응적 가변 길이 부호화 인코더 및 디코더,문맥 기반 적응성 가변 길이 부호화하는 방법과 복호화하는방법 및 이를 이용한 동영상 전송 시스템.
KR20120076815A (ko) 적응적 스캔 장치 및 그 스캔 방법
GB2559912A (en) Video encoding and decoding using transforms
KR20030062036A (ko) 영상신호 처리장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150717

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 13