KR101175593B1 - 화질 스케일러블 비디오 데이터 스트림 - Google Patents

화질 스케일러블 비디오 데이터 스트림 Download PDF

Info

Publication number
KR101175593B1
KR101175593B1 KR1020097015099A KR20097015099A KR101175593B1 KR 101175593 B1 KR101175593 B1 KR 101175593B1 KR 1020097015099 A KR1020097015099 A KR 1020097015099A KR 20097015099 A KR20097015099 A KR 20097015099A KR 101175593 B1 KR101175593 B1 KR 101175593B1
Authority
KR
South Korea
Prior art keywords
transform
transform coefficient
sub
scan
data stream
Prior art date
Application number
KR1020097015099A
Other languages
English (en)
Other versions
KR20090108036A (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 KR20090108036A publication Critical patent/KR20090108036A/ko
Application granted granted Critical
Publication of KR101175593B1 publication Critical patent/KR101175593B1/ko

Links

Images

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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Picture Signal Circuits (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Television Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들의 적어도 하나는 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서(154, 156, 164, 166)가 변환 블록 내의 변환 계수 값들 사이에서 정해지며, 비디오 신호의 영상(140)에 대한 변환 계수 값들의 변환 블록(146, 148)들을 얻기 위하여 블록방식(block-wise) 변환을 사용하는 비디오 신호(18)를 부호화하기 위한 수단(42); 및 각 화질 레이어의 서브-세트는 다른 다수의 화질 레이어들의 서브-세트에 의해 포함되지 않는 적어도 하나의 가능한 스캔 포지션을 포함하도록, 상기 가능한 스캔 포지션들의 서브-세트에 속하는 변환 계수 값들에 대한 변환 계수 정보와, 상기 가능한 스캔 포지션들의 서브-세트를 표시하는 스캔 영역 정보를 포함하는 비디오 서브-데이터 스트림(30; 28, 30)을, 다수의 화질 레이어들 각각에 대하여, 형성하기 위한 수단(44); 을 포함하여 이루어지는 화질-스케일러블 비디오 데이터 스트림 생성 장치가 개시된다.
Figure R1020097015099
스케일러블, 비디오, 데이터 스트림, 블록방식 변환, 스캔순서, 변환계수정보

Description

화질 스케일러블 비디오 데이터 스트림{Quality Scalable Video Data Stream}
본 발명은 화질-스케일러블 비디오 데이터 스트림에 관한 것으로, 비디오 데이터 스트림 생성 및 디코딩은 블록방식(block-wise) 변환을 사용하여 얻어진다.
본 발명은 화질-스케일러블 비디오 데이터 스트림에 관한 것으로, 비디오 데이터 스트림 생성 및 디코딩은 블록방식(block-wise) 변환을 사용하여 얻어진다.
ISO/IEC 동영상 전문가 그룹(MPEG)에서 ITU-T 비디오 코딩 전문가 그룹의 현 조인트 비디오 팀 "JVT" 현재 H.264/MPEG4-AVC 비디오 코딩 표준의 스케일러블 확장을 열거하고 있다. 종래의 싱글 레이어 부호화와 비교하여 스케일러블 비디오 코딩(SVC)의 핵심 특징은 다른 해상도, 프레임률 및/또는 비트율을 갖는 비디오원(video source)의 다양한 표현이 싱글 비트 스트림 내에서 제공된다는 점이다. 특정한 공간-시간적 해상도 및 비트율을 갖는 비디오 표현이 패킷 드롭핑 같은 간단한 스트림 조작에 의해 글로벌 SVC 비트-스트림으로부터 추출될 수 있다. SVC 설 계의 중요한 특징으로서, H.264/MPEG4-AVC의 대부분의 구성은 표준에서 명시된 대로 사용된다. 이것은 NAL(= Network Abstraction Layer) 유닛 패킷화(NAL unit packetization) 뿐만 아니라 모션-보상 및 내부 예측, 변환 및 엔트로피 코딩, 디블로킹을 포함한다. SVC 비트-스트림의 베이스 레이어는 일반적으로 H.264/MPEG4-AVC에 따라 코드화되어 있고, 그러므로 H.264/MPEG4-AVC 디코더에 적합한 각 표준은 그것이 SVC 비트-스트림으로 제공될 때 베이스 레이어 표현을 디코딩할 수 있다. 공간 및 SNR 스케일러빌러티(scalability)를 지원하기 위한 새로운 도구들이 단지 추가되고 있다.
SNR 스케일러빌러티에 대하여, CGS/MGS(coarse-grain/medium-grain scalability) 및 FGS(fine-grain scalability)는 현재의 규격 초안에서 구별된다. 조립(coarse-grain) 또는 중립(medium-grain) SNR 스케일러블 코딩은 공간 스케일러빌러티에 대한 것과 유사한 개념을 사용함으로써 수행된다. 다른 SNR 레이어들의 영상들은 레이어 특정 모션 파라미터들(layer specific motion parameters)을 가지고 독립적으로 코드화된다. 그런데, 시멀캐스트(simulcast)하는 것에 비하여 인핸스트 레이어(enhanced layer)들의 코딩 효율을 개선하기 위하여, 부가적인 인터-레이어(inter-layer) 예측 메커니즘들이 소개되어 왔다. 이러한 예측 메커니즘들은 베이스 레이어 정보가 효율적인 인핸스먼트 레이어 코딩(enhancement layer coding)을 위해 이용될지를 인코더가 자유롭게 결정하여 바꿀 수 있게 만들어져 왔다. 구체화된 인터-레이어 예측 개념들은 모션 파라미터와 잔여 예측을 위한 기술 들을 포함하고 있기 때문에, SNR 레이어들의 시간 예측 구조는 인터-레이어 예측의 효율적인 사용을 위해 일시적으로 조정될 것이다. 모든 NAL 유닛들은 순간 동안 초과 유닛(excess unit)으로 변하고 그 후 서로 내부에 SVC 비트-스트림을 따라야 하는 것이 알려져 있다. 다음의 3개의 인터-레이어 예측 기술들은 SVC 설계에 포함되어 있다.
첫째는 인터-레이어 모션 예측으로 불린다. 인핸스먼트 레이어 코딩용 베이스-레이어 모션 데이터를 사용하기 위하여, 부가적인 매크로블록 모드 가 SNR 인핸스먼트 레어어들에 도입되어 왔다. 매크로블록 분할은 베이스 레이어에서 공동-배치된 매크로블록의 분할을 복사함으로써 얻어진다. 결합된 모션 벡터들뿐만 아니라 기준 영상 인덱스들은 공동-배치된 베이스 레이어 블록들로부터 복사된다. 게다가, 베이스 레이어의 모션 벡터는 종래의 매크로블록 모드용 모션 벡터 예측자로서 사용될 수 있다.
다양한 화질 레이어들 사이의 중복성 리덕션(redundancy reduction) 의 두번째 기술은 인터-레이어 잔존 예측으로 불린다. 인터-레이어 잔존 예측의 사용은 모든 상호-코드화된(inter-coded) 매크로블록들을 위해 전송된 플래그(잔존_예측_플래그)에 의해 나타내어진다. 이러한 플래그가 참(true)일 때, 공동-배치된 블록의 베이스 레이어 신호는 현재 매크로블록의 잔여 신호를 위한 예측으로써 사용되고, 그리하여 단지 상응하는 차이 신호만이 코드화된다.
마지막으로, 인터-레이어 내부 예측은 레이어들 간의 중복(redundancy)을 이용하기 위하여 사용된다. 이러한 내부-매크로블록 모드에서, 예측 신호는 베이스 레이어의 공동-배치된 재구축 신호에 의해 수립된다. 인터-레이어 내부 예측에 대하여, 모션-보상 예측 및 디블로킹의 계산적으로 복잡한 작동을 포함하며 베이스 레이어들이 완전히 복호화되는 것이 일반적으로 요구된다. 그러나, 이러한 문제는 인터-레이어 내부 예측이 내부-코드화된(intra-coded) 저층(lower layer) 영상의 부분들에 한정될 때 회피될 수 있다고 알려져 왔다. 이러한 제한을 가지고, 각 지원되는 목표 레이어는 싱글 모션 보상 루프을 가지고 복호화될 수 있다. 이러한 싱글-루프 디코딩 모드는 스케일러블 H.264-MPEG4-AVC 확장에서 필수적이다.
인터-레이어 내부 예측은 공동-배치된 매크로블록이 내부-코드화될 때만 적용될 수 있고, 매크로블록 타입 추측을 포함하는 인터-레이어 모션 예측은 베이스 레이어 매크로블록이 상호-코드화될 때만 적용될 수 있기 때문에, 양 모드들은 매크로블록 레벨상에 싱글 신택스 요소(single syntax element) 베이스_모드_플래그(base_mode_flag)를 통해 나타내어진다. 이러한 플래그가 1과 같을 때, 인터-레이어 내부 예측은 베이스 레이어 매크로블록이 내부-코드화될 때 결정된다. 반면에, 모션 벡터들과 기준 인덱스들뿐만 아니라 매크로블록 모드는 베이스 레이어 매크로블록으로부터 복사된다.
CGS/MGS 코딩보다 미세한 입도(granularity)를 지원하기 위하여, 소위 프로그레시브 미세 슬라이스들은 미세 SNR 스케일러블 코딩(FGS)을 할 수 있게 하는 것으로 도입되어 왔다. 각 프로그레시브 미세 슬라이스은 양자화 단계 크기(6의 QP증대)의 2등분에 상응하는 잔여 신호의 정제(refinement)를 나타낸다. 이러한 신호들은 단지 싱글 역변환이 디코더 측에서 각 변환 블록에 대해 수행되어지는 방식으로 표현된다. 프로그레시브 미세 슬라이스들에서 변환 계수 레벨의 순서는 상응하는 NAL 유닛들이 어떤 임의의 바이트-배열된 포인트에서 계산 종결되도록 하여, SNR 베이스 레이어의 화질이 미세-입자 방식(fine-granular way)으로 리파인먼트될 수 있다.잔여 신호의 정제(refinement)에 더하여, 또한 프로그레시브 미세 슬라이스들의 일부로서 모션 파라미터들의 정제(refinement)를 전송할 수 있다.
현재 SVC 초안에서 FGS 코딩의 하나의 결점은 그것이 CGS/MGS 코딩과 비교하여 분명하게 디코더 복잡도를 증가시킨다는 것이다. 하나의 측면에서 프로그레시브 미세 슬라이스에서 변환 계수들은 변환 블록들에 대한 다양한 스캔들을 사용하여 코드화되고, 그리고 각 스캔에서 단지 적은 수의 변환 계수 레벨들만이 전송된다. 디코더에 있어서, 고 메모리 대역폭이 요구되기에 이것은 복잡도를 증가시키고, 그 이유는 다른 스캔들로부터의 모든 변환 계수 레벨들은 역 변환이 수행되기 전에 수집될 필요가 있기 때문이다. 다른 한편으로, 프로그레시브 미세 슬라이스들에 대한 파싱 과정은 상응하는 베이스 레이어 슬라이스들의 신택스 요소들에 의존한다. VLC 코딩을 위한 코드워드(codeword) 테이블들뿐만 아니라 신택스 요소들의 순서 또는 산수 코딩(arithmetic coding)을 위한 가능 모델 선택은 베이스 레이어에서 신택스 요소들에 의존한다. 베이스 레이어의 신택스 요소들은 인핸스먼트 레이어의 파싱 동안 접근되어야 하므로, 그것은 나아가 디코딩을 위한 필요한 메모리 대역폭을 증가시킨다.
게다가, 절단될 수 있는 프로그레시브 미세 슬라이스들의 특별한 특성은 오늘날의 패킷 스위치 네트워크에서 사용하기 어렵다. 통상, 미디어 인식 네트워크 기기는 스케일러블 비트-스크림의 패킷을 전송하거나 드롭시킬 것이다. 그리고 응용 계층에서 나타날 수 있는 유일한 에러는 패킷 손실이다.
따라서, 상기 H.264-MPEG4-AVC의 관점뿐만 아니라 다른 비디오 압축기술을 가지고, 바이트방식 절단 문제보다 오히려 적은 패킷을 나타내는 오늘날의 요구에 보다 적합한 코딩 체계를 구비하는 것이 바람직하다.
본 발명의 하나의 실시예에 따라, 화질-스케일러블 비디오 데이터 스트림 생성 장치는, 각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들의 적어도 하나는 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서가 변환 블록 내의 변환 계수 값들 사이에서 정해지며, 비디오 신호의 영상에 대한 변환 계수 값들의 변환 블록들을 얻기 위하여 블록방식(block-wise) 변환을 사용하는 비디오 신호를 부호화하기 위한 수단; 및 각 화질 레이어의 서브-세트는 다른 다수의 화질 레이어들의 서브-세트에 의해 포함되지 않는 적어도 하나의 가능한 스캔 포지션을 포함하도록, 상기 가능한 스캔 포지션들의 서브-세트에 속하는 변환 계수 값들에 대한 변환 계수 정보와, 상기 가능한 스캔 포지션들의 서브-세트를 표시하는 스캔 영역 정보를 포함하는 비디오 서브-데이터 스트림을, 다수의 화질 레이어들 각각에 대하여, 형성하기 위한 수단;을 포함하여 이루어진다.
게다가, 본 발명의 하나의 실시예에 따라, 다수의 화질 레이어들 각각에 대해 비디오 서브-데이터 스트림을 포함하는 화질-스케일러블 비디오 데이터 스트림으로부터 비디오 신호를 재구축하기 위한 장치는, 각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들 중 적어도 하나는 상기 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서가 변환 블록들 내의 변환 계수 값들 사이에서 정해지며, 각 화질 레이어에 대해, 다른 변환 블록들의 변환 계수 값들에 대한 변환 계수 정보와 스캔 영역 정보, 및 상기 가능한 스캔 포지션들의 서브-세트를 표시하는 상기 스캔 영역 정보를 얻기 위하여, 상기 다수의 화질 레이어들의 비디오 서브-데이터 스트림들을 파싱하기 위한 수단; 상기 스캔 영역 정보를 이용하여, 상기 각 화질 레이어에 대하여, 상기 변환 계수 정보로부터의 상기 각각의 변환 블록들의 상기 변환 계수 값들을 상기 가능한 스캔 포지션들의 서브-세트에 결합시킴으로써 상기 변환 블록을 구축하기 위한 수단; 및 상기 변환 블록들의 역변환에 의해 상기 비디오 신호의 영상을 재구축하기 위한 수단;을 포함하여 이루어진다.
도 1은 본 발명의 하나의 실시예에 따른 화질-스케일러블 비디오 데이터 스트림을 발생시키는 인코더의 블록 다이아그램을 나타낸다.
도 2는 본 발명의 하나의 실시예에 따른 도 1의 하이어-레이어 하이브리드 코더의 블록 다이아그램을 나타낸다.
도 3은 본 발명의 하나의 실시예에 따른 도 1의 베이스-레이어 하이브리드 코더의 블록 다이아그램을 나타낸다.
도 4는 본 발명의 하나의 실시예에 따른 도 1의 고화질 레이어의 레이어 코딩 유닛의 블록 다이아그램을 나타낸다.
도 5는 본 발명의 하나의 실시예에 따른 블록방식 변환뿐만 아니라 영상의 구조를 도시하는 개략적인 다이아그램을 나타낸다.
도 6a 내지 6g는 본 발명의 다양한 실시예에 따라 변환 블록의 스캔된 부분과 서브-레이어들로의 분할의 개략적인 다이아그램을 나타낸다.
도 7은 본 발명의 하나의 실시예에 따라 서브-데이터 스트림들의 구축을 도시하는 개략적인 다이아그램을 나타낸다.
도 8은 본 발명의 하나의 실시예에 따라 특정한 서브-데이터 스트림에 속하는 변환 계수 레벨들의 코딩을 도시하는 의사-코드를 나타낸다.
도 9는 특정한 서브-데이터 스트림에 속하는 변환 계수 레벨들을 코드화하기 위한 다른 실시예를 도시하는 의사-코드를 나타낸다.
도 10은 본 발명의 다른 실시예에 따른 디코더의 블록 다이아그램을 나타낸다.
도 11은 도 10의 디코딩 유닛에 대한 실시예의 블록 다이아그램이다.
도면에 기초하여, 본 발명의 바람직한 실시예들이 아래에서 보다 구체적으로 설명된다.
도 1은 화질-스케일러블 비트-스트림(quality-scalable bit-stream) 생성을 위한 인코더를 도시하고 있다. 예시적으로, 도 1에 도시된 인코더(10)는 두개의 상이한 공간적인 레이어와 (N+1)개의 신호대잡음비(SNR) 레이어를 지원할 수 있는 스케일러블 비트-스트림을 생성하기 위하여 전용화되었다. 이러한 목적을 위하여, 인코더(10)는 베이스 레이어 파트(base layer part)(12)와 공간적 인핸스먼트 레이어 파트(spatial enhancement layer part)(14)로 구성된다. 인코더(10)의 화질 리덕션 유닛(16)은 일련의 영상들(20)을 표현하는 원본 또는 보다 고화질 비디오(18)를 수신하고, 일련의 영상들(24)로 구성되는 원본 비디오(18)의 저화질 버전(22)과 베이스 레이어 파트(12)에 입력되는 저화질 버전(22)을 획득하기 위하여 이것의 화질-도 1의 예에서 공간적 해상도를 의미함-을 감소시킨다. 예를 들어, 화질 리덕션 유 닛(16)은 2개의 서브샘플링 팩터를 이용하여 영상들의 서브샘플링을 수행할 수 있다. 그러나, 도 1에서 두 개의 공간적 레이어(12, 14)를 지원하는 예를 도시하고 있음에도 불구하고, 도 1에 도시된 실시예는 원본 비디오(18)와 저화질 비디오(22) 사이에서 수행되는 화질 감소가 서브-샘플링을 포함하지 않는 응용들(예를 들어 픽섹값의 표현 비트-깊이의 감소 또는 화질 리덕션 유닛이 단순히 입력신호를 출력신호에 복사하는 경우 등)에 쉽게 적용될 수 있다고 이해되어야 한다.
베이스 레이어 파트(12)가 저화질 비디오(22)를 수신하는 동안 원본 비디오(18)는 고 화질 파트(14)로 입력되고, 두 개의 파트(12, 14)는 각기 입력되는 비디오에 대한 하이브리드 코딩을 수행한다. 베이스 레이어 파트(12)는 저화질 비디오(22)를 수신하고, 베이스 레이어 비트-스트림(base layer bit-stream)(26)을 생성한다. 반면, 고화질 레이어 파트(14)는 원본 비디오(18)을 수신하고, 공간적 인핸스먼트 레이어 비트-스트림(spatial enhancement layer bit-stream)(28) 이외에 N개의 신호대잡음비(SNR) 리파인먼트 레이어 비트-스트림들(SNR refinement layer bit-streams)(30)을 생성한다. 공간적 인핸스먼트 레이어 비트-스트림(28)과 베이스 레이어 비트-스트림(26)의 상호관계와 생성에 대해서는 이하에서 보다 상세하게 설명하도록 한다. 단지 예방책으로서, 베이스 레이어 파트(12)는 몇몇의 신호대잡음비(SNR) 리파인먼트 레이어 비트-스트림들(32)을 베이스 레이어 비트-스트림(26)에 첨가할 수 있다. 그러나, 본 발명에 따른 실시예의 법칙들을 보다 쉽게 설명하기 위하여, SNR 스케일빌러티(SNR scalability)는 인핸스먼트 레이어 파트(14)에 한정되는 것으로 가정한다. 그러나, 후술되는 논의는 이하에서 설명되는 고화질 레이어 파트(14)와 SNR 리파인먼트 레이어들에 관한 상관관계가 쉽게 베이스 레이어 파트(12)에 적용될 수 있음을 나타낼 것이다. 이것은 도 1의 점선(32)을 지칭한다.
이하에서 보다 상세하게 설명되는 바와 같이, 모든 비트-스트림(26 에서 32)은 패킷들로 배열된 입력에서의 데이터 스트림들로부터 스케일러블 비트-스트림(36)을 생성하는 멀티플렉서(34)로 입력된다.
내부적으로, 베이스 레이어 파트(12)는 전술한 바와 같이 일측의 저화질 비디오(24) 입력과 타측의 멀티플렉서(34) 사이에서 직렬로 연결된 하이브리드 코더(hybrid coder)(38)와 레이어 코딩 유닛(layer coding unit)(40)을 포함할 수 있다. 유사하게, 고화질 레이어 파트(14)는 원본 비디오(18) 입력과 멀티플레서(44) 사이에 연결된 하이브리드 코더(42)와 레이어 코딩 유닛(44)를 포함할 수 있다. 각각의 하이브리드 코더(42, 38)는 하이브리드 코딩(즉, 예측잔여(the prediction residual)의 블록-방식 변환(block-wise transformation)과 함께 사용되는 모션 보상 예측(motion compensated prediction))을 이용하여 각기 자신에게 입력되는 입력신호를 코딩한다. 따라서, 각각의 하이브리드 코더(42, 38)는 각각의 모션 정보 데이터(motion information data)(46, 48)를 각각의 잔여 데이터(residual data)(50, 52)와 함께 일련된 각각의 레이어 코딩 유닛(40, 44)의 입력으로 각각 출력한다.
자연스럽게 일측의 모션 데이터(46)과 타측의 모션 데이터(48) 사이에, 그리고 일측의 잔여 데이터(50) 타측의 잔여 데이터(52) 사이에 중복성(redundancy)이 존재한다. 이러한 인터-레이어 중복성(inter-layer redundancy)은 하이브리드 코더(42)에 의하여 활용된다. 보다 상세하게, 매크로블록 기초(macroblock basis)에 기반하여, 하이브리드 코더(42)는 몇몇의 인터레이어 예측 옵션들 중 하나를 선택할 수 있다. 예를 들어, 하이브리드 코더(42)는 고화질 레이어를 위한 모션 데이터(48)로서 베이스 레이어 모션 데이터(46)을 사용 또는 채택하도록 결정할 수 있다. 선택적으로, 하이브리드 코더(42)는 모션 데이터(48)의 예측자(predictor)로서 베이스 레이어 모션 데이터(46)을 사용하도록 결정할 수도 있을 것이다. 또 다른 선택으로서, 하이브리드 코더(42)는 모션 데이터(48)을 완전히 새로운, 즉, 베이스 레이어 모션 데이터와 무관한 것으로 코드화할 수도 있을 것이다.
유사하게, 하이브리드 코더(42)는 잔여 데이터(42)를 고화질 레이어를 위한 예측에 이용하기 위하여 예측자로서의 베이스 레이어 잔여 데이터(50)에 대응되는 예측 잔여로서 코딩할 수도 있다. 그러나, 또한 하이브리드 코더(42)는 이 경우 모션 데이터 및/또는 잔여 데이터(48, 52)가 각각 단순히 재구축된 베이스 레이어 데이터와 관련된 잔여를 코드화할 수 있도록, 원본 비디오의 영상 콘텐츠를 위한 예측자로서 베이스 레이어의 영상 콘텐츠의 재구축(reconstruction)을 이용할 수도 있다. 도 2를 참조하여 기술될 바와 같이, 재구축된 베이스 레이어 영상 정보는 베 이스 레이어 하이브리드 코더(38) 또는 베이스-레이어 코딩 유닛(40)과 고화질 레이어 하이브리드 코더(42) 사이에 연결된 전용의 재구축 유닛(reconstruction unit)(54)으로부터 수신될 수도 있다.
계속하여, 베이스 레이어 하이브리드 코더(38)와 고화질 레이어 하이브리드 코더(42)의 내부 구조와 기능에 대해서 레이어 코딩 유닛(44)과 함께 상세하게 설명하도록 한다. 레이어 코딩 유닛(40)과 관련하여, 이하에서는 레이어 코딩 유닛(40)은 단순히 베이스 레이어 데이터-스트림(26)을 생성하는 것으로 가정한다. 그러나, 전술한 바와 같은 SNR 리파인먼트 레이어 데이터-스트림들(SNR refinement layer data-streams)(32)을 생성하는 레이어 코딩 유닛(40)에 대한 선택적인 실시예 또한 후술되는 레이어 코딩 유닛(44)에 관련된 설명으로부터 쉽게 추론될 수 있다.
먼저, 베이스 레이어 하이브리드 코더(38)의 내부 구조와 기능이 기술된다. 도 3에 도시된 바와 같이, 베이스 레이어 하이브리드 코더(38)은 저화질 비디오 신호를 수신하기 위한 입력(56), 모션 데이터(46)에 대한 출력(58), 잔여 데이터(50)에 대한 출력(60), 모션 데이터(58)를 하이브리드 코더(42)에 연결시키기 위한 출력(62), 재구축된 베이스 레이어 영상 데이터를 하이브리드 코더(42)에 연결시키기 위한 출력(64), 잔여 데이터(50)을 하이브리드 코더(42)에 연결시키기 위한 출력(66)을 포함할 수 있다.
내부적으로, 하이브리드 코더(38)는 변환 유닛(transformation unit)(68), 역변환 유닛(back-transformation unit)(70), 감산기(subtractor)(72), 가산기(adder)(74) 및 모션 예측 유닛(motion prediction unit)(76)을 포함할 수 있다. 이미 언급된 바와 같이, 감산기(72)와 변환 유닛(68)은 입력(56)과 출력(60) 사이에서 연결되어 있다. 감산기(72)는 입력 비디오 시그널로부터 모션 예측 유닛(76)으로부터 수신된 모션-예측된 비디오 콘텐트(motion-predicted video content)를 감산하고, 차이신호(difference signal)를 변환 유닛(68)으로 내보낸다. 변환 유닛(68)은 차이/잔여 신호에 대하여 블록-방식 변환(block-wise transformation)을 수행하고, 이와 함께 선택적으로 변환 계수들에 대한 양자화를 수행한다. 변환결과는 변환 유닛(68)에 의해 출력(60)으로 출력되는 동시에 역변환 유닛(70)의 입력으로 출력된다. 역변환 유닛(70)은 결국 양자화 진행에 따른 변환계수의 변환 블록에 대한 역변환을 수행한다. 결과는 모션 예측 유닛(76)으로부터 출력된 예측된 모션 비디오 콘텐트가 가산기(74)에 의해 부가적으로 결합된 재구축된 잔여 신호이다. 가산기(74)에 의하여 수행된 가산결과는 베이스 화질의 재구축된 비디오이다. 가산기(74)의 출력은 출력(64)으로 출력되고 동시에 모션 예측 유닛(76)의 입력으로 출력된다. 모션 예측 유닛(76)은 입력(56)을 통해 입력되는 비디오의 다른 영상들을 예측하기 위하여 재구축된 영상들에 대하여 모션-보상 예측(motion-compensated prediction)을 수행한다. 모션-예측이 수행되는 동안, 모션 예측 유닛(76)은 색인들(indices)을 참조하는 모션 벡터들, 모션 영상 등을 포함하는 모션 데이터를 생 성하고, 이러한 모드 모션 데이터를 출력(58)과 출력(62)으로 출력한다. 변환 유닛(68)의 출력은 또한 변환 잔여 데이터를 고화질 레이어의 하이브리드 코더(42)로 전달하기 위하여 출력(66)으로 연결된다. 이미 전술한 바와 같이, 도 1에 도시된 두개의 하이브리드 코더(38, 42)의 기능은 상호 유사하다. 따라서, 도 2에 도시된 하이브리드 코더(42)의 구조는 도 3에 도시된 하이브리드 코더(38)의 구조와 유사하다. 보다 구체적으로, 하이브리드 코더(42)는 원본 비디오 신호(18)를 위한 입력(86), 모션 데이터(48)을 위한 출력(88), 잔여 데이터(52)를 위한 출력(90), 베이스 레이어 하이브리드 코더(38)의 출력(62), 출력(64) 및 출력(66)에 각기 연결되기 위한 세개의 입력(92, 94, 96)을 포함할 수 있다. 내부적으로, 하이브리드 코더(42)는 입력(86)와 출력(90) 사이의 2개의 경로(102, 104) 중 하나를 연결하기 위한 두개의 스위치 또는 선택자(selector)(98, 100)를 포함할 수 있다. 보다 구체적으로, 경로(104)는 스위치(98, 100)를 통하여 입력(86)과 출력(90)사이에 연결된 감산기(106), 변환 유닛(108) 및 잔여 예측 코더(residual predictive coder)(110)를 포함할 수 있다. 감산기(106)와 변환 유닛(108)은 역변환 유닛(112)와 가산기(114) 및 모션 예측 유닛(116)과 함께 도 3에 도시된 하이브리드 코더(38)의 구성요소(68, 76)에 의해 형성되는 것과 같은 예측 루프를 형성한다. 따라서, 변환 유닛(108)의 출력에서 모션-예측된 잔여(motion-predicted residual)결과의 변환된 버전은 잔여 예측 코더(110)로 입력된다. 잔여 예측 코더(110)는 베이스 레이어 잔여 데이터를 수신하기 위하여 입력(96)에도 연결된다. 예측자(predictor)로서 베이스 레이어 잔여 데이터를 사용함에 의하여, 잔여 예측 코더(110)는 입력(96)의 잔 여 데이터와 관련된 예측 잔여로서 변환 유닛(108)으로부터 출력된 잔여 데이터의 한 부분을 코드화한다. 예를 들어, 잔여 예측 코더(100)는 베이스 레이어 잔여 데이터를 업-샘플(up-sample)하고, 변환 유닛(108)으로부터 출력된 잔여 데이터로부터 업샘플된 잔여 데이터를 감산한다. 물론, 잔여 예측 코더(110)는 단순히 변환 유닛(108)으로부터 출력되는 잔여 데이터의 한 부분의 예측을 수행할 수도 있다. 다른 경로들은 변화되지 않은 잔여 예측 코더(110)를 통과시킨다. 이러한 부분들의 입상(granularity)은 매크로블록들(macro blocks)이 될 수 있다. 바꾸어 말하면, 입력(96)에서의 잔여 데이터에 관한 결정은 예측자로서 이용되어지거나 또는 매크로블록 기초(macroblock basis)와 개별적인 신택스 엘러먼트 잔여_예측_플래그(syntax element residual_prediction_flag)에 의하여 표시될 수 있는 결정의 결과를 대상으로 수행되어지지 않을 수도 있다.
유사하게, 하이브리드 코더(42)는 입력(92)을 통하여 베이스 레이어로부터 출력되는 모션 데이터와 모션 예측 유닛(116)으로부터 획득되는 모션 정보(motion information)를 수신하기 위한 모션 파라미터 예측 코더(motion parameter predictive coder)(118)를 포함하고, 모션 파라미터 예측 코더(118)는 매크로블록 기초에 기반하여 모션 예측 유닛(116)으로부터 출력되는 모션 데이터를 변화시키지 않고 출력(88)으로 전달하거나 또는 입력(92)를 통해 베이스 레이어로부터 예측자로서 출력되는 모션 정보를 이용하여 모션 데이터를 예측적으로 코딩한다. 예를 들어, 모션 파라미터 예측 코더(118)는 입력(92)에서의 베이스 레이어 모션 데이터에 포함된 모션 벡터들과 관련된 오프셋 벡터들로서 모션 예측 유닛(116)으로부터 얻어지는 모션 벡터들을 코드화할 수 있다. 선택적으로, 모션 파라미터 예측 코더(118)는 입력(92)으로부터 출력된 베이스 레이어 정보를 고화질 레이어의 모션 예측에 이용될 수 있도록 모션 예측 유닛(116)으로 전달한다. 이 경우, 고화질 레이어 비디오 신호의 각각의 부분에 대하여 전송되어야할 모션 데이터는 없다. 또 다른 선택으로서, 모션 파라미터 예측 코더(118)는 입력(92)에서의 모션 데이터의 존재를 무시하고, 모션 예측 유닛(116)으로부터 직접적으로 출력(88)까지 모션 데이터를 코드화한다. 이러한 가능성들 중의 결정은 결과로 생기는 화질 스케일러빌러티 비트-스트림으로 코드화된다.
마지막으로, 예측 코더(120)는 경로(102)에서 제공되며, 입력(94)에 연결된다. 예측 코더(120)는 예측 코더(120)의 출력에서 단순히 각각의 잔여 또는 차이가 전진될 수 있도록, 재구축된 베이스 레이어 비디오 신호의 각각의 부분에 기초한 고화질 레이어의 부분들을 예측한다. 또한 예측 코더(120)는 스위치들(98, 100)과 협력하는 매크로블록-방식 기반에서 동작한다.
도 4에 도시된 바와 같이, 고화질 레이어의 레이어 코딩 유닛(44)은 출력(90)으로부터 잔여 데이터의 변환 계수들(transform coefficients)을 수신하기 위한 입력(122)과 출력(88)로부터 모션 데이터를 수신하기 위한 입력(124)를 포함할 수 있다. 분배 유닛(distributing unit)(126)은 변환 계수들을 수신하고, 수신 된 변환 계수들을 몇몇의 인핸스먼트 레이어들로 분배한다. 따라서 분배된 변환 계수들은 형성 유닛(formation unit)(128)으로 출력된다. 분배된 변환 계수들과 함께, 형성 유닛(128)은 입력(124)으로부터 모션 데이터를 수신한다. 형성 유닛(128)은 양 데이터를 결합하고, 이러한 데이터 입력에 근거하여 리파인먼트-레이어 데이터 스트림(refinement-layer data streams)(30)과 제로-오더 인핸스먼트 레이어 데이터 스트림(zero-order enhancement layer data stream)(28)을 형성한다.
분배 유닛(126)과 형성 유닛(128)의 기능에 대하여 보다 상세한 설명이 가능하도록 하기 위하여, 이하에서는 블록-기초를 이루는 변환 유닛(108)에 의해 수행되는 변환과 분배 유닛(126)에 의해 수행되는 분배에 대한 그것의 내부관계에 대해서 도 5를 참조하여 보다 상세하게 설명하도록 한다. 도 5는 영상(140)을 나타낸다. 예를 들어, 영상(140)은 고화질 비디오 데이터(18)의 일부이다. 예들 들어, 영상(140) 내에서 픽섹들은 종횡으로 배열되어 있다. 예를 들어, 영상(140)은 종횡으로 규칙적으로 배열되는 매크로블록들(142)로 나누어 진다. 예를 들어, 각 매크로블록(142)은 영상의 루마 컴포넌트(luma component)의 16x16 샘플들을 포함하기 위한 정사각형 영상 영역을 공간적으로 커버한다. 보다 상세하게, 매크로블록들(142)은 매크로블록들의 쌍으로 조직화될 수 있다. 보다 상세하게, 수직적으로 인접한 2개의 매크로블록들(142)은 그러한 한 쌍의 매크로블록들을 형성하고, 공간적으로 영상(140)의 매크로블록 쌍 영역(144)을 지닐 수 있다. 매크로블록 페어 베이시스(macroblock pair basis)를 통하여 하이브리드 코더(42, 도 1)는 필드-모 드(field-mode) 또는 프레임-모드(frame-mode)에서 개별적 영역(144) 내의 매크로블록들(142)을 처리할 수 있다. 필드-모드의 경우, 비디오(18)는 2 개의 삽입된 필드들(탑 필드와 바텀 필드)을 포함하는 것으로 추정되며, 여기서 탑 필드는 픽셀들의 짝수 열(even numbered rows of pixels)을 포함하고, 바텀 필드는 영상(140)의 두번째 라인에서 시작하는 홀수 열(odd numbered rows)을 포함한다. 이 경우, 영역(144)의 탑 매크로블록은 영역(144) 내의 탑 필드 라인들의 픽섹 값들과 관련이 있고, 반면 영역(144)의 바텀 매크로블록은 잔존 라인들의 콘텐트(content)와 관련이 있다. 따라서, 이 경우, 양 매크로블록은 감소된 수직적인 해상도를 가지고 공간적으로 충분하게 영역(144)의 모든 지역을 차지한다. 프레임-모드의 경우, 탑 매크로블록은 공각적으로 영역(144) 내에서 열들의 위쪽 절반을 둘러싸는 것으로 정의되며, 반면 바텀 매크로블록은 영역(144) 내의 잔여 영상 샘플들을 포함한다.
이미 전술한 바와 같이, 변환 유닛(108)은 감산기(106)로부터 출력된 잔여 신호의 블록-방식 변환을 수행한다. 이 점에 있어서, 변환 유닛(108)에서의 변환을 위한 블록 기초(block basis)는 매크로블록들142)의 매크로블록 사이즈와 다를 수 있다. 보다 상세하게, 각각의 매크로블록들(142)은 4개(즉, 2x2)의 변환 블록들(146) 또는 16개(즉, 4x4)의 변환 블록들(148)로 분할될 수 있다 전술한 바와 같은 16x16 영상 샘플들의 매크로블록 사이즈에 대한 예를 이용하는 경우, 변환 유닛(108)은 영상(140)의 매크로블록들(142)을 4x4 픽셀 샘플들 또는 8x8 픽셀 샘플들의 사이즈의 블록들로 블록-방식 변환한다. 따라서, 변환 유닛(108)은 특정 매크 로블록(142)에 대하여 몇몇의 변환 블록들(146, 148), 즉 16개의 4x4 변환 계수 블록들(transform coefficient blocks) 또는 4개의 8x8 변환 계수 블록들(transform coefficient blocks)을 출력한다.
도 5의 도면부호 150에, 프레임-코드화된 매크로블록(frame-coded macroblock)의 8x8 변환 계수 블록에 대한 일례가 도시되어 있다. 보다 상세하게, 도면부호 150에서, 각각의 변환 계수에는 스캔 포지션 넘버(0~63)가 할당되며, 이에 의하여 표시된다. 축들(152)에 의해 표현되는 바와 같이, 각각의 변환 계수들은 다른 공간적 주파수 성분(spatial frequency component)과 연관된다. 보다 상세하게, 변환 계수들 중 하나와 연관된 주파수는 변환블록(150)의 좌측상단 코너로부터 우측하단 코너로 갈수록 크기가 증가한다. 변환블록(150)의 변환 계수들 사이에서 스캔 포지션에 의하여 정의되는 스캔 오더는 좌측상단으로부터 우측하단까지 지그재그 방식으로 변환 계수를 스캔하며, 이러한 지그재그 스캔은 화살표(154)에 의하여 도시되어 있다.
단지 완전성을 위하여, 변환 계수들 사이에서의 스캔은 필드-코드화된 매크로블록(field-coded macroblock)에 대한 변환블록의 변환 계수들 사이에서와 상이하게 정의될 수 있다. 예를 들어, 필드-코드화된 매크로블록의 경우 도 5의 도면부호 156에서 나타난 바와 같이, 변환 계수 스캔(158)은 좌측상단으로부터 우측하단으로 왕복(reciprocating) 또는 지그재그 방향(도면부호 150에서의 프레임-코드화 된 매크로블록의 경우에서 이용된 45도 지그재그 방향보다 가파른 지그재그 방향)을 가지는 지그재그 방식으로 변환 계수를 스캔한다. 보다 상세하게, 계수 스캔(158)은 필드-코드화된 매크로블록들이 평행 또는 가로 피치의 두배의 세로 피치를 가지고 영상 샘플들을 둘러싸고 있다는 사실을 고려하기 위하여 가로방향 보다 2배 빠르게 세로방향의 변환 계수들을 스캔한다. 따라서, 계수 스캔(154)의 경우와 같이, 계수 스캔(158)은 포지션 스캔 넘버가 증가함에 따라 주파수가 증가할 수 있는 방식으로 변환 계수들을 스캔한다.
도면부호 150과 158에 8x8 변환 계수 블록들에 대한 계수 스캔의 예들이 도시되어 있다. 그러나, 전술한 바와 같이, 보다 작은 사이즈(즉, 4x4 변환 계수들)의 변환 블록들 또한 존재할 수 있다. 이러한 경우에 있어서, 각각의 포지션 스캔들이 도 5의 도면부호 160과 162에 도시되어 있고, 도면부호 160의 스캔(164)이 프레임-코드화된 매크로블록들에 전용화된 반면, 도면부호 162의 스캔(166)은 필드-코드화된 매크로블록들에 대하여 전용화되어 있다.
도 5에 도시된 매크로블록들과 변환 블록들의 사이즈와 배열과 관련된 구체적인 실시예는 단지 예시일 뿐이며, 다양한 변환과 적용이 가능할 것이다. 일련되는 특징들에 대한 상세한 설명을 시작하기 전에, 영상(140)은 매크로블록 기초에 기반하여 몇몇의 슬라이스들(168)로 세분화될 수 있다. 하나의 그러한 슬라이스(168)이 예시적으로 도 5에 도시되어 있다. 슬라이스(168)은 매크로블록들(142) 의 연쇄이다. 영상(140)은 하나 또는 복수의 슬라이스들(168)로 분할될 수 있다.
매크로블록 쌍 영역들, 매크로블록들, 변환 블록들, 슬라이스들로 세분화되는 영상의 세분화(subdivision)에 대하여 먼저 설명한 후, 분배 유닛(126)과 형성 유닛(128)의 기능에 대해서는 상세하게 설명하기로 한다. 도 5에 도시된 바와 같이, 변환 계수들 사이에서 정의된 스캔 오더(scan order)는 이차원적으로 배열된 변환 계수들이 그것들이 참조하는 단조롭게 증가되는 주파수 콘텐츠와 함께 선형적인 순서로 정렬되는 것을 가능하게 한다. 분배 유닛(126)은 몇몇의 매크로블록들(142)의 변환 계수를 다른 화질의 레이어들(즉, 데이터 스트림(28)과 관련된 제로 오더 레이어(zero order layer)와 리파인먼트 레이어들(refinement layers)(30) 중 어떤 레이어)에 분배하는 기능을 한다. 보다 상세하게, 분배 레이어(126)는 제로 또는 레이어(28)로부터 최고화질의 리파인먼트 레이어(30)까지 분배 레이어 넘버 증가에 따라 각각의 데이터 스트림들로부터 재구축 가능한 비디오의 SNR 화질이 증가하는 방식으로 변환 계수들을 데이터 스트림들(28, 30)로 분배하기 위한 시도를 한다. 통상적으로, 이것은 낮은 스캔 포지션들에 부합되는 낮은 주파수 변환 계수들은 저화질 레이어들에 분배되고, 고화질 주파수 변환 계수들은 고화질 레이어들에 분배되는 결과를 가져올 것이다. 다른 한편으로, 분배 유닛(126)은 높은 변환 계수값을 가지는 변환 계수들을 저화질 레이어들에 분배하고, 낮은 변환 계수값 또는 에너지를 갖는 변환 계수들을 고화질 레이어들에 분배하려고 한다. 분배 유닛(126)에 의해 수행되는 분배는 각각의 변환 계수들이 하나의 레이어에 분배되는 방식으로 수행될 수도 있다. 그러나, 분배 유닛(126)에 의해 수행되는 분배가 변환 계수의 합계를 분배되는 부분들의 합이 변환 계수 값에 달하도록 서로 다른 화질의 레이어들에 나누어 분배하는 방식으로 수행되는 것도 가능하다. 분배 유닛(126)에 의하여 수행되는 분배에 대한 다른 가능성들에 대한 상세한 내용은 도 6a 내지 6g를 참조하여 후술하기로 한다. 형성 유닛(128)은 개별적인 서브-데이터 스트림들(28, 30)을 형성하기 위하여 분배 유닛(126)으로부터의 분배 결과를 이용한다. 이미 전술한 바와 같이, 서브-데이터 스트림(28)은 가장 저화질 레이어 리파인먼트 서브-데이터 스트림을 형성하고, 입력(124)에서 입력된 모션 데이터를 포함한다. 이러한 제로-오더 서브-데이터 스트림(zero-order sub-data stream)(128)은 또한 변환 계수 값들의 첫번째 분배된 부분에 의해 나누어질 수 있다. 따라서, 서브-데이터 스트림(28)은 베이스-화질 레이어 데이터 스트림(26)의 보다 높은 화질-도 1의 실시예에서 보다 높은 공간적 화질-로의 개선을 고려하지만, 그 이상의 SNR 화질 인핸스먼트는 서브-데이터 스트림(28)에 보다 높은 화질 리파인먼트 서브-데이터 스트림들(30) 중 하나를 첨가함으로써 얻어질 수 있다. 이러한 리파인먼트 화질 서브-데이터 스트림들(30)의 수는 N개이며, 여기서 N은 하나 또는 복수가 될 수 있다. 따라서 변환 계수들은 그것-예를 들어, 대략 SNR 화질에 대한 중요성 증가 순서-에 의하여 이러한 서브-데이터 스트림들(28, 30)에 "분배" 된다.
도 6a는 8x8 변환블록의 첫번째 26개 변환 계수값들의 분배에 대한 일 예를 도시한다. 보다 상세하게, 도 6a는 테이블의 첫번째 라인이 각 스캔 오더(도 5의 도면부호154, 158)에 따른 개별적인 스캔 포지션들을 열거하고 있는 테이블을 나타낸다. 도시된 스캔 포지션들은 전형적으로 0에서 25까지의 범위에 퍼져있다. 다음 세개 라인들은 개개의 변환 계수값들에 대하여, 각각의 서브-데이터 스트림들(28, 30)과 개별적으로 혼합된 일치하는 분배 값들(contribution values)을 보여준다. 보다 상세하게, 예를 들어 두번째 라인은 제로 오더 서브-데이터 스트림(zero order sub-data stream)(28)에 대응되고, 반면 끝에서 두번째 라인(세번째 라인)은 다음의 하이어 리파인먼트 레이어(the next higher refinement layer)(30)에 속하고 마지막 라인은 더욱더 다음의 화질 레이어 리파인먼트 데이터-스트림을 참조한다. 도 6a에 도시된 예에 따르면, "122"는 DC 성분(즉, 스캔 포지션 0에 속한 변환 계수값)에 대하여 서브-데이터 스트림들(128)로 코드화된다. 다음 두개의 서브-데이터 스트림들(30) 내에서 스캔 포지션 0을 갖는 이러한 변환 계수에 대한 분배 값들(contribution values)은 개별적인 테이블 항목들의 해싱에 의하여 보여지는 바와 같이 0으로 설정된다. 도 6a에 도시된 예에 따르면, 이러한 방식으로 제로 오더 인핸스먼트 레이어 서브-데이터 스트림(the zero order enhancement layer sub-data stream)(28)은 각각의 변환 계수값들에 대한 분배 값(contribution value)을 포함한다. 그러나, 도 6a의 변환블록 내에서, 단지 스캔 포지션 0 내지 6, 8 및 9의 변환 계수값들이 제로 오더 화질 레이어들(zero order quality layers)에 속한다. 여분의 변환 계수값들은 0으로 설정된다. 다른 변환 블록들 안에서, 제로 오더 화질 레이어에 속하는 변환 계수값들은 다른 스캔 포지션들에 속할 수 있다. 유사하게, 스캔 포지션 7, 10 내지 12, 15 내지 18 및 21의 변환 계수값들은 다음으로 높은 화질 레이어에 속한다. 잔여 변환 계수값들은 0으로 설정된다. 잔여 스캔 포지션들의 계수값들은 그 다음의 더 높은 화질 레이어 서브-데이터 스트림에 포함된다. 보여지는 바와 같이, 특정 변환 계수값이 실제로 0이 될 수 있다. 도 6a의 예에서, 스캐닝 포지션 23이 그런 경우이다. 전술한 화질 레이어들 내에서 대응하는 분배 값들은 0으로 설정되고, 스캔 포지션 23에 대한 마지막 화질 레이어(마지막 라인) 안에서 스캔 포지션 23에 대한 변환 계수값은 자체로 0이다.
따라서, 디코더 측에서 실제 변환 블록이 상이한 화질 레이어들의 개별적인 스캔 포지션들에 대한 분배 값들(contribution values)을 합산함으로 인해 재구축될 수 있도록 하기 위하여, 각각의 스캔 포지션들에 대하여, 다양한 화질 레이어들 서브-비트 스트림들(28, 30)에 포함된 분배 값들은 실제 변환 계수값까지 합산한다.
도 6a의 실시예에 따르면, 각각의 서브-데이터 스트림들(28, 30)은 모든 변환 계수들과 모든 스캔 포지션들에 대한 분배 값을 개별적으로 포함한다. 그러나 이것이 필연적인 실례는 아니다. 먼저, 이미 전술한 바와 같이, 제로 오더 서브-데이터 스트림(28)이 어떤 변환 계수 또는 분배 값을 포함해야만 하는 것은 아니다. 따라서 후술되는 실례에서, 도 6a의 테이블의 마지막 세개 라인들은 입력(124)로부터의 모션 정보를 단순히 포함하고 있는 제로 오더 서브-데이터 스트림(28)과 함께 첫번째 리파인먼트 레이어 서브-데이터 스트림들(30)에 포함된 것으로 보여질 수 있다.
더구나, 도 6a에서 0으로 설정된 분배 값들과 실제적으로 0인 실제 변환 계수값들은 단순히 형성 유닛(128)의 기능에 대한 보다 쉬운 이해를 목적으로 하는 해시드 테이블 목록들(hashed table entries)의 이용에 의해 구별되어졌다. 그러나, 서브-데이터 스트림들(28, 30)은 방금 언급된 0으로 설정된 분배 값들과 원래 0인 분배 값들 사이에서의 구별이 디코더에서 투명한 그런 방식으로 해석될 수 있다. 보다 상세하게, 개별적인 스캔 포지션들에 대한 각각의 분배 값들 중 일부(즉, 도 6a의 첫째 라인 내의 개별적인 스캔 포지션 아래쪽의 2번째로부터 4번째 라인까지의 넘버들)는 0으로 설정된 것 또는 자연적으로 0인 것의 합계 내에서 개별적인 분배 값들과 무관한 변환 계수 값을 드러나게 한다.
도 6a의 실시예에서, 형성 유닛(128)은 서브-데이터 스트림(28, 30)의 하나를 각각의 스캔 포지션들에 대한 분배 값으로 각기 코드화한다. 이것이 필수적인 것은 아니다. 예를 들어 도 6b의 실시예에 따르면, 일련의 화질 레이어 서브-데이터 스트림들은 단지 각각의 화질 레이어에 속하는 그것들의 변환 계수값들을 포함한다.
분배 값들과 변환 계수값들이 각기 서브-데이터 스트림들(28, 30)로 코드화된 순서는 도 6a와 6b의 실시예들에서 각각 변할 수 있다. 예를 들어, 서브-데이터 스트림들(28, 30)은 패킷화된 데이터 스트림들(여기서 각 패킷은 하나의 슬라이스(slice)(168)에 대응됨)일 수 있다. 하나의 슬라이스(168) 내에서, 변환 계수값들은 각각의 패킷 매크로블록방식(packets macroblock-wise)으로 코드화될 수 있다. 즉, 스캔 오더는 슬라이스(168) 내의 매크로블록들 사이에서 매크로블록 스캔 오더를 따라가는 매크로블록의 첫번째 변환 계수값 이전의 개개의 패킷으로 완전히 코드화된 미리 결정된 매크로블록(142)에 대한 변환 계수값들과 함께 정의될 수 있다. 각 매크로블록 내에서, 스캔 오더는 각각의 매크로블록 내의 각각의 변환 블록들(146, 148) 사이에서 각기 정의될 수 있다. 다시 말하면, 다음 변환블록의 첫번째 변환 계수값이 동일하게 코드화되기 전에, 변환블록들 중 각 하나의 변환 계수값들이 모두 각각의 서브-데이터 스트림으로 코드화되는 그러한 방식으로, 변환 계수값들은 형성 유닛(128)에 의하여 서브-데이터 스트림들(28, 30) 중 각 하나로 코드화될 수 있다. 각각의 변환블록 내에서, 변환 계수값들과 분배 값들에 대한 코딩은 각기 후술되는 도 8 또는 도 9를 참조하여 설명되는 방식으로 수행될 수 있다.
도 6a와 도6b의 실시예들에 따르면, 화질 레이어들의 각 하나에 속하는 슬라이스(168)의 다른 변환블록들의 변환 계수값들이 스캔 오더의 다른 부분으로 퍼져있다. 보다 상세하게, 도 6a와 6b에서 예시적으로 보여지고 있는 특정적인 변환블록 내에서 스캔 포지션 0 내지 6, 8 및 9가 제로 오더 화질 레이어에 속한다 하더라도, 또다른 변환블록 내에서 이 레이어에 속하는 스캔 포지션들의 집합은 다를 수 있다. 그러나, 도 6c의 실시예에 따르면, 분배 유닛(126)은 모든 변환블록들에 대하여 스캔 포지션들의 동일한 집합의 변환 계수값들이 동일한 화질 레이어에 속하게하는 방식으로 슬라이스(168) 내의 다른 변환블록들의 변환 계수값들을 분배한다. 예를 들어, 도 6c에서 슬라이스(168) 내의 모든 변환블록들에 대하여 이것은 참(true)이 되며 스캔 포지션 0 내지 11의 변환 계수값들은 제로 오더 서브-데이터 스트림(28)에 속한다.
게다가, 도 6c의 실시예에 따르면, 화질 레이어들의 특정적인 하나에 속하는 변환 계수값들이 연속되는 스캔 포지션들의 연속적인 결과(sequence)로 퍼진다. 그러나 이것이 케이스가될 필요는 없다. 보다 상세하게, 특정 화질 레이어에 속하는 첫번째와 마지막 스캔 포지션 사이에서 하나의 스캔 포지션에 속하는 변환 계수값들은 도 6b에 도시된 바와 같은 다른 화질 레이어들 중 하나에 속할 수도 있다. 그러나, 도 6c의 실시예의 경우 단지 두개의 신택스 요소들(syntax elements)(각각의 화질 레이어의 첫번째 스캔 포지션을 표현하는 하나의 신택스 요소, 즉 scan_idx_start와 각각의 화질 레이어에 대한 마지막 스캔 포지션을 표현하는 다른 하나의 신택스 요소, 즉 scan_idx_end)의 이용에 의하여 화질 레이어 서브-데이터 스트림들(28, 30)의 어느 하나와 각기 병합된 스캔 포지션들을 표현하는 것이 가능하다.
한편으로는 화질 레이어들의 각 하나에 대한 스캔 포지션들의 특정 세트의 지정과 다른 한편으로는 개개의 화질 레이어들에 대한 변환 계수들의 분배에 종속 적인 화질-중요성은 다음의 실시예에서 보여지듯이 혼합될 수도 있다. 예를 들어, 도 6d는 분배 유닛(126)이 변환 계수들을 도 6a에 도시된 바와 같은 화질 레이어들에 분배해버린 실시예를 보여준다. 이러한 분배는 변환블록과 다르다. 그러나, 다른 한편으로, 각각의 화질 레이어에는 모든 변환블록들에 대한 스캔 포지션들의 특정 부분이 공통으로 할당된다. 예를 들어, 가장 저화질 레이어에는 스캔 포지션 0부터 스캔 포지션 63까지의 스캔 포지션들의 완전한 집합이 할당된다. 따라서, 각각의 변환블록에 대하여, 가장 저화질 레이어는 64개의 분배 값들을 포함한다. 그 다음 높은 화질 레이어 서브-데이터 스트림은 스캔 포지션 6으로부터 스캔 포지션 63까지의 특정 스캔 포지션 반경 내의 모든 변환블록들에 대한 분배 또는 변환 계수값들을 포함한다. 그 다음 화질 레이어의 스캐닝 포지션 범위는 스캔 포지션 13으로부터 63까지 미친다. 다시 한번 말하면, 디코더는 분배 값들 중 특정한 하나가 분배 값이 0으로 설정된(해시드 엔트리) 것인지 또는 실제적으로 0 변환 계수값을 표시한 것인지 또는 무의미한 변환 계수값인지에 대하여 알 필요가 없다. 그러나, 디코더는 각각의 서브-데이터 스트림에 포함되어 사용될 예정인 변환 계수 또는 분배 값들에 기반하여 어떤 스캔 포지션으로부터 각각의 슬라이스(168)에 대하여 표시하는 신택스 요소 scan_idx_start를 알 필요가 있다. 보다 정확하게, 예를 들어 도 6d의 실시예에서, 끝에서 2번째 라인에 대응하는 서브-데이터 스트림은 개개의 변환블록(58)에 대하여 변환 계수 또는 분배 값들을 포함한다. 도 6d의 변환블록의 경우, 두번째 값이 22인 반면 첫번째 값은 0이다. 디코더에서의 신택스 요소 scan_idx_start 이용에 의하여 스캔 포지션 6에 대응하는 각각의 화질 레이어의 첫 번째 변환 계수값이 알려지는 반면, 이 화질 레이어의 잔여 변환 계수값들은 다음의 스캔 포지션들을 참조한다. 도 6d의 실시예와 유사하게, 도 6e는 개개의 서브-데이터 스트림들에 대하여 서브-계수들 또는 분배 값들을 포함하는 각각의 화질 레이어 서브-데이터 스트림까지의 마지막 스캔 포지션을 표시하는 신택스 요소 scan_idx_end에 대한 실시예를 보여준다.
도 6d와 6e의 실시예의 조합이 도 6f에 도시되어 있다. 이 실시예에 따르면, 화질 레이어들 중 특정한 하나에 속하는 스캔 포지션의 각각의 집합은 신택스 요소 scan_idx_start에 의해 표시되는 첫번째 스캔 포지션으로부터 신택스 요소 last_idx_end에 의해 표시되는 마지막 스캔 포지션까지 미친다. 예를 들어, 끝에서 두번째 라인에 대응되는 화질 레이어 내에서, 스캔 포지션의 각 집합은 스캔 포지션 6에서 스캔 포지션 21까지 미친다. 마지막으로, 도 6g의 실시예는 신택스 요소 scan_idx_start 및/또는 scan_idx_end의 이용이 변환 블록들에 대하여 공통되는 슬라이스(168) 내의 다른 변환블록의 개개의 변환 계수값들의 분배에 따른 도 6c의 실시예의 포커스와 결합될 수 있음을 보여준다. 따라서, 도 6g의 실시예에 따르면, 화질 레이어들 중 특정한 하나 내에서, scan_idx_start에서 scan_idx_end까지의 모든 변환 계수값들은 각각의 화질 레이어에 분배된다. 따라서, 도 6f의 실시예와 다르게 도 6g의 실시예에서는, 스캔 포지션 6으로부터 스캔 포지션 21까지의 모든 전달 계수값들(transfer coefficient values)은 도 6g의 끝에서 두번째 라인에 대응되는 화질 레이어에 할당된다. 이와 다르게, 도 6f의 실시예에서는, 이러한 6에 서 21까지의 포지션 스캔 범위 내의 분배 값들 중 몇몇이 0으로 설정될 수 있으며, 여기서 이러한 6에서 21까지의 포지션 스캔 범위내에서 0으로 설정된 변환 계수값들과 0으로 설정되지 않은 변환 계수값들의 분배는 현재 슬라이스 내의 다른 변환블록들의 어떤 하나와 다를 수 있다.
다음에는 하이브리드 코더(42), 레이어 코딩 유닛(44), 분배유닛(126)과 형성유닛(128)사이의 협력이 도7에 예시적으로 기술되어지는데, 각각 서브-데이터 스트림(28, 30)의 구조의 한 예를 보여준다. 도7의 실시예에 따르면 형성유닛(28)은 개별적인 서브-데이터 스트림(28, 30)이 각각 패킷화되도록 즉 하나 또는 그 이상의 패킷들로 이루어지도록 설계된다. 특별히 형성유닛(128)은 각각의 서브-비트 스트림(28,30)내에 있는 영상(140)내의 각각의 슬라이스(168)를 위한 패킷을 생성하도록 각각 설계된다. 도 7에 보여지듯이 패킷은 각각의 패킷들 중의 하나 내에서 슬라이스헤드를 단지 선택적으로 이루는 서브-비트 스트림(28)을 제외하고 한쪽의 슬라이스헤드(170)와 다른쪽의 잔여 데이터(172)로 이루어진다.
잔여 데이터(172) 즉 잔여 데이터(#1, #2, ..., #N)의 설명에 대하여는 도6a~6g에 대한 위의 설명을 참조하여 만들어지는데, 예를 들면 이러한 표의 두번째에서 네번째 라인들은 잔여 데이터(#1, #2, #3)에 대응하게 된다. 심지어 다른말로 도7에 표시된 잔여 데이터(127)는 도 6a~6g에서 논의된 변환 계수 값을 포함하는데, 각각의 서브-데이터 스트림(28, 30)중에서 변환 계수 값의 분배는 여기에서는 다시 설명되지 않는다. 그러나 도 7은 더 나아가 슬라이스헤드(170)에 포함된 신택스요소와 하이브리드 코드(42)로부터 나오는 잔여 데이터(172)를 보여준다. 위에서 기술된 대로 하이브리드 코더(42)는 베이스 레이어로부터의 모션 정보를 기대하기 위해 몇몇 인터-레이어 예측 모드 사이의 매크로블록 기초로 개폐되거나, 또는 모션 정보를 잔류처럼 베이스 레이어로부터 모션 정보로 기대하게 코딩하거나 모션 정보를 새롭게 코딩하는 하이어 리파인먼트 레이어의 각각의 모션 블록을 위한 새로운 모션 정보를 생성한다. 그러므로 도7에 도시된대로 잔여 데이터(172)는 각각의 매크로블록을 위해 모션 파라미터를 나타내는 신택스요소, 필드 또는 프레임코드된것과 같은 매크로블록 모드, 또는 각각의 매크로블록의 베이스 레이어의 모션 파라미터의 재사용을 나타내는 추론모드로 이루어질 수 있다. 이것은 0 또는 서브-데이터 스트림(28)에 대해서는 특별히 참이다. 그러나 이 모션 정보는 다음 리파인먼트 레이어와 다음 고화질서브-데이터 스트림(301,~30N)에서는 다시 리파인먼트되지 않으므로 형성유닛(128)은 매크로블록 모드에 관하여 매크로블록 방식 신택스요소, 모션 파라미터, 서브-데이터 스트림(301,~30N)의 잔여 데이터에서의 추론모드지시를 떠나도록 설계되거나 또는 이러한 서브-데이터 스트림(301,~30N)의 신택스요소 둘중 하나는 매크로블록 모드와 서브-데이터 스트림(28)에 포함된 각각의 매크로블록을 위한 모션 파라미터와 동일하게 셋팅하도록 설계되거나, 같은 셋팅이 각각의 리파인먼트 레이어에서 사용됨을 나타내기 위하여 각각의 매크로블록을 위한 추론모드를 지시한다. 현재의 발명의 실시예에 따르면 여러가지 서브-데이터 스트 림(28, 301~30N)내의 모든 잔여 데이터(172)는 같은 신택스구조를 사용하여 처리되어 리파인먼트 서브-데이터 스트림(301~30N)내의 잔여 데이터는 또한 매크로블록에서 매크로블록 방식으로 정의된 정보, 모션 파라미터 및/또는 추론모드 활성화/비활성화로 이루어진다.
또한 도7에서 유도가능한대로 형성유닛(128)은 슬라이스헤더(170)에 신택스요소 스캔인덱스시작과 스캔인텍스끝을 공급하도록 설계되어질 수 있다. 대안적으로 슬라이스헤더(170)는 각각의 슬라이스헤더데이터에 대응하는 잔여 데이터와 관련되는 한세트의 스캔위치들인 각각의 개별적인 슬라이스 또는 패킷을 정의하는 다른 신택스요소로 이루어질수 있다. 벌써 위에서 나타낸바와 같이 서브-데이터 스트림(28)이 어떤 잔여 데이터로 이루어지지 않고 단지 매크로블록 모드 및/또는 모션 파라미터와 추론모드지시로 각각 이루어지는 경우에는 서브-데이터 스트림(28)의 패킷의 슬라이스헤더데이터는 레이어특정스캔위치를 정의하는것과 관련된 신택스요소로 이루어지지 않을 수도 있다. 게다가 위에서 벌써 언급된바와 같이 슬라이스헤드(170)는 단지 scan_idx_start와 scan_idx_end 중의 하나로 단지 이루어질 수 있다. 결과적으로 scan_idx_start 및/또는 scan_idx_end는 변환 블록 크기 범주 즉 4x4와 8x8마다 한번 제공되어지거나, 다음에서 후술될 다른 블록 크기에서의 scan_idx_start과 scan_idx_end을 전달하기 위하여 각각 이루어지는 측정에 대하여 일반적으로 모든 블록 크기 범주에 대한 각각의 슬라이스/영상/서브-데이터 스트림 마다 단지 한번 제공되어질 수 있다.
게다가 슬라이스헤더 데이터는 화질 레벨을 나타내는 신택스요소로 이루어질 수 있다. 이 때문에 형성유닛(128)은 설계되어 신택스요소 또는 화질 인디케이터가 단지 한쪽의 제로-오더 화질 레벨(28)과 다른 한쪽의 리파인먼트 레이어(301~30N)를 구별하게 된다. 선택적으로, 화질 인디케이터는 리파인먼트 레이어(28, 301~30N)중에서 모든 화질레이어를 구별할 수도 있다. 후자의 두 경우에는 화질 인디케이터는 어떤 매크로블록 방식으로 정의된 매크로블록 모드, 모션 파라미터 및/또는 서브-데이터 스트림(301~30N)의 패킷내의 추론모드를 생략하는 것이 가능한데, 왜냐하면 이경우 디코더쪽에서 이러한 리파인먼트 레이어 서브-데이터 스트림(301~30N)이 매크로블록 모드, 모션 파라미터, 0모드서브-데이터 스트림(28)으로부터의 추론모드를 이용하는 변환 계수를 단지 리파인먼트함이 알려져 있기 때문이다.
비록 위에서 더 구체적으로 설명되지 않았지만, 형성유닛(28)은 서브-데이터 스트림들(28 및 301 ~ 30N) 내에 패킷들을 엔트로피 코드화(entropy code)하도록 예정된다. 본 실시예에서, 도 8 및 9는 두 실시예에 따른 하나의 변환 블록에 속하는 잔여 데이터 내의 변환 계수들을 코드화하기 위한 실현 가능한 예를 보여주고 있다. 도 8은 어떤 잔여 데이터(172)에서 변환 블록 내의 변환 계수들의 실현 가능 한 코딩에 대한 제1 실시예의 의사 코드(pseudo code)를 나타내고 있다. 가정하면, 다음의 예들이 적용된다:
스캔포지션 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
계수 넘버 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
변환 계수 레벨 7 6 -2 0 -1 0 0 1 0 0 0 0 0 0 0 0
본 예를 기초로 하여, 다음에서, 도 8의 의사 코드는 형성유닛(128)이 하나의 변환 블록들 내의 잔여 데이터를 어떤 서브-데이터 스트림들로 코드화하는 방법을 보여주며 설명되어 있다.
변환 계수의 정보를 전달하기 위하여, 도 8에 따라, 우선 파라미터 coeff_token(240)이 제공된다. 파라미터 coeff_token은 0이 아닌 계수들의 수, 즉 total_coeff(coeff_token)와, 0이 아닌 변환 계수들의 순서의 말단, 즉 trailing_ones(coeff_token)에서 하나와 동일한 절대값을 갖는 변환 계수들의 실행에서의 변환 계수들의 수를 나타내는 코드 워드(code word)이다. 본 예에서, total_coeff(coeff_token)는 5(변환 계수 넘버 0, 1, 2, 4 및 7)이고 trailing_ones(coeff_token)는 2(변환 계수 넘버 4 및 7)이다. 그러므로, 파라미터 coeff_token(240)을 제공함으로써, 중요한 변환 계수들의 포지션들은 0아닌 변환 계수들이 존재하는 단지 total_coeff(coeff_token) 범위까지로 정해진다.
그리고 나서, 이러한 0아닌 변환 계수들의 레벨들의 값들이 제공된다. 이것 은 역 스캔 순서로 수행된다. 더 구체적으로, 우선 0아닌 변환 계수들의 전체 수가 0보다 큰지에 관하여 체크된다(242). 이것은total_coeff(coeff_token)가 5이므로, 위의 예에서 사실이다.
그리고 나서, 0아닌 변환 계수들은 역 스캔 순서를 통하여 단계로 수행된다(244). 역 스캔 순서는 for-루프(244)에서 카운팅 파라미터 증대 i++ 를 단지 검토하는 것으로부터 아직 명백하지 않고 그러나 다음의 계산(evaluation)으로부터 명백해질 것이다. 역 스캔 순서로 이러한 0아닌 변환 계수들을 단계적으로 수행하는 동안, 이러한 0아닌 변환 계수들의 첫 번째에 대하여, 단지 그들의 변환 계수 신호가 제공된다(248). 이것은 역 스캔 순서로 그들을 단계적으로 수행할 때 0아닌 변환 계수들의 trailing_ones(coeff_token)의 첫 번째 수에 대하여 수행되며, 이러한 변환 계수들에 대하여 이러한 변환 계수들의 절대 값은 (전술한 trailing_ones(coeff_token)의 정의와 비교하여) 하나라는 것은 이미 알려져 있기 때문이다. 이와 같이 제공된 계수 신호들은 1의 절대값을 갖는 0아닌 변환 계수 레벨들의 변환 계수 레벨 용 보조 벡터 계수 level[i]에 임시 저장하기 위해 사용되며, 여기에서 i 는 역 스캔 순서로 스캔될 때 0아닌 변환 계수들의 넘버링이다(250). 본 예에서, for-루프(244)의 첫 번째 2회 순환 후에, level[0]=1 과 level[1]=-1이 얻어진다.
다음으로, 남아있는 0아닌 변환 계수들용 계수 레벨들 coeff_level 이 역 스 캔 순서로 제공되고(252) 보조 벡터 계수들 level[i]에 임시 저장된다(254). 남아있는 for-루프 순환들은 level[2]=-2, level[3]=6 및 level[4]=7로 귀착된다.
이제, 중요 변환 계수들의 포지션들의 결정을 독특하게 하기 위하여, total_coeff(coeff_token)가 변환 블록에서 변환 계수들의 최대 수와 이미 일치하지 않는다면, 즉 maxNumCoeff와 같지 않다면, total_zeros와 run_before로 불리는 2개의 추가 파라미터들이 제공된다. 더 구체적으로는, total_coeff(coeff_token)가 maxNumCoeff와 동일한지에 관하여 체크된다(256). 만일 이것이 사실이 아니라면, 파라미터 total_zeros가 제공되며(258) 그리고 보조 파라미터 zerosLeft 가 total_zeros의 값까지 초기화된다(260). 파라미터 total_zeros는 스캔 순서에서 마지막 0아닌 계수와 스캔의 시작 사이에서 zeros의 수로 명기된다. 위의 예에서, total_zeros는 3(계수 넘버 3, 5 및 6)이다. 그러므로, zerosLeft는 3에 초기화된다.
역 스캔 순서에 대하여 마지막 하나(계수 넘버 0)를 제외한 0아닌 변환 계수들의 각각에 대하여, 스캔 순서에 대하여 마지막 0아닌 변환 계수(계수 넘버 7)에서 시작하여(62), 스캔 순서에서 보여지는 경우 각각의 0아닌 변환 계수 앞에 직접 배열된 제로-레벨 변환 계수들의 실행의 길이를 나타내는 파라미터 run_before가 제공된다(64). 예를 들면, 0에 상응하는 i 에 대하여, 스캔 순서에 대해 마지막 0아닌 변환 계수는 질의에서 0아닌 변환 계수이다. 본 예에서, 이것은 넘버 7을 갖 는 그리고 레벨 1을 갖는 변환 계수이다. 이 변환 계수의 앞에 zeros의 실행은 2의 길이, 즉 변환 계수 5 및 6를 갖는다. 그러므로, 본 예에서, 첫번째 run_before-파라미터는 2이다. 이 파라미터는 보조 벡터 계수 run[0]에 임시 저장된다(266). 이것은 역 스캔 순서로 스캔될 때 i 가 0아닌 변환 계수들의 카운트가 되어 run[i] 용 역 스캔 순서로 반복된다. for-루프(261)의 각 순환에서 파라미터 run_before에 의해 보조 파라미터 zerosLeft를 감소시킴으로써 많은 제로-레벨 변환 계수들이 어떻게 남겨지는지에 관하여 각 순환에 대해 결정된다. zerosLeft가 0이라면, 어떠한 run_before-파라미터도 더 이상 제공되지 않으며(270) 그리고 벡터 run의 잔여 계수들은 0에 고정된다(272). 어쨌든, 어떠한 run_before-파라미터도 역 스캔 순서에서 단계적으로 수행될 때 마지막 0아닌 변환 계수용으로 제공되지 않으며, 즉 스캔 순서에 대한 첫 번째의 0아닌 변환 계수용 run_before-파라미터가 제공되지 않는다. 이 파라미터는, 보조 파라미터 zerosLeft에 의해 나타내어짐에 따라, 제로-레벨 변환 계수들의 수로부터 유래된다(274). 본 예에서, 벡터 run의 보조 벡터 계수들은 run[0]=2, run[1]=1, run[2]=0, run[3]=0 및 run[4]=0이다.
끝으로, 참조부호 276에서 지적된 for-루프에서, 보조 벡터 레벨에 저장될 때 변환 계수 레벨들의 값들은 1차원 배열 coeffLevel에서 각각의 포지션에 대한 벡터 레벨의 계수들의 값을 복사함으로써 그들의 포지션들에 할당된다. 더 구체적으로는, for-루프(276)의 첫 번째 순환에서, i=4에서 0으로 초기화된(278) coeffNum는 run[4]+1=0+1=1 만큼 증대되어 coeffNum=0에 귀착되고 coeffLevel[0]은 level[4]=7의 값에 할당된다. 이것은 다음 보조 벡터 계수들 level[3] 부터 level[0]에 대해 반복된다. 배열 coeffLevel의 잔여 포지션들이 0 값으로 초기화되어(280) 있기 때문에 모든 변환 계수들은 코드화되었다.
도 8에서 굵게 쓰여진 신택스 요소들은 예컨대 가변 길이 코딩에 의해 각각의 서브-데이터 스트림으로 코드화될 것이다.
도 9는 변환 블록의 코딩에 대한 다른 예이다. 본 예에서, 스캐닝 순서는 카운팅 파라미터 i 가 while-루프 반복 당 증가되는 것을 나타내는 while-루프(310) 내의 "i++" 에서 그 자체를 명백하게 한다.
스캐닝 순서에서 각 계수에 대하여, 1-비트 기호 significant_coeff_flag가 제공된다(312). 만일 significant_coeff_flag 기호가 1이면(314), 즉 0아닌 계수가 이 스캐닝 포지션 i 에서 존재한다면, 또 1-비트 기호 last_significant_coeff_flag가 제공된다(316). 이 기호는 현재 중요 계수가 블록 내에 마지막 하나인지 또는 게다가 중요 계수들이 스캔 순서에 따르는지를 나타낸다. 그러므로, last_significant_coeff_flag 기호가 1 이라면(318), 이것은 계수들의 넘버, 즉 numCoeff가 i=1 이며(320) 다음의 변환 계수들의 레벨이 0이 되도록 추론되는(322) 것을 나타낸다. 여기까지, 신택스 요소(syntax elements) last_significant_coeff_flag 및 significant_coeff_flag은 중요 맵으로써 나타낼 수 있다. 그 다음에, 스캐닝 순서에서 마지막 변환 계수에 대하여, 레벨 마이너스 1의 절대값, 즉 coeff_abs_level_minus1 및 그 신호, 즉 coeff_sign_flag가 제공되고(324), 그에 따라 이 마지막 중요 변환 계수의 변환 계수 레벨을 나타낸다(326). 이 324, 326 단계들은 역 스캐닝 순서에서(332) 잔여 중요 (330) 변환 계수들에 대해 반복되고(328), 여기에서 역 스캔 순서는 i--, 즉 i=i-1에서 그 자체로 명백하게 되고, 카운팅 파라미터 i 는 for-루프에서 순환 마다 감소된다. 신택스 요소들 coeff_abs_level_minus1의 파싱은 신택스 요소의 가능한 값들에 대한 이진화 유도에서 시작한다. 이진화 체계(scheme)은 UEG0, 즉 연쇄된 unary/zero-th order Exp-Golomb 이진화 프로세스일 수 있다. 가능한 이진화에 따라, 각각의 신택스 요소는 bin by bin으로 2진 산술적으로 코드화되어 질 수 있다. 이점에서, 컨텍스트 적응적 이진 산술 부호화 체계(context adaptive binary arithmetic coding scheme)는 어떠한 서픽스(sufix) 부분용 어댑테이션을 구비하지 않은 십진 바이패스를 사용하면서 coeff_abs_level_minus1의 이진화의 프리픽스 부분용으로 사용될 수 있다.
완전을 기하기 위해, 8x8 변환 블록 내의 구별 가능한 스캔 포지션들의 수가 64이고 반면 4x4변환 블록 내의 구별 가능한 스캔 포지션들의 수는 단지 16인 것이 도 5로부터 명백해지는 것에 주목된다. 따라서, 위에서 언급된 신택스 요소 scan_idx_start 및scan_idx_end는 모든 64개 스캔 포지션들 사이에서 또는 단지 16개 스캔 포지션들 사이에서 구별될 수 있는 정확도로 정의되어질 수 있다. 후자의 경우에 예를 들면, 신택스 요소들은 8x8 변환 블록 내의 각 4배의 연속적인 변환 계수들에 적용될 수 있다. 더 정확하게는, 8x8 변환 블록들은 다음의 사용에 의해 코드화될 수 있으며:
residual_block(LumaLevel8x8,
4*scan_idx_start, 4*scan_ids_end +3, 64),
그리고 4x4 변환 블록들의 경우에는 다음의 사용에 의해 코드화될 수 있다:
residual_block(LumaLevel4x4,
scan_idx_start, scan_idx_end, 16).
여기에서, residual_block이 residual_block_cavlc 또는 residual_block_cabac으로 되고, LumaLevel4x4 및 LumaLevel8x8은 각각 4x4 및 8x8 변환 블록의 luma 샘플들의 배열을 나타낸다. 보여질 수 있는 바와 같이, scan_idx_start 및 scan_idx_end는 그들이 정확하게 4x4 블록들에서 포지션들의 범위를 나타내기 위하여 16개의 스캔 포지션들 간에 구별되도록 정해진다. 그런데, 8x8 블록에서, 이러한 신택스 요소들의 정확도는 이러한 블록들에서 범위가 4배 방식으로 조정되기에 충분하지 못하다.
게다가, 변환 계수들의 8x8 블록들은 또한 8x8 블록의 64개 계수들을 16개 계수들의 4세트로 분할함으로써, 예를 들면 모든 4번째 계수를 0~3을 포함하는 범위에서 n을 갖는 계수 n에서 시작하는 n-th 세트로 둠으로써, 그리고 4x4 블록들용 잔여 블록 구성을 사용하여 16개 계수들의 각 세트를 부호화함으로써 부호화될 수 있다. 디코더 측에서, 이러한 16개 계수들의 4세트는 8x8블록을 나타내는 64개 계 수들의 하나의 세트를 형성하기 위해 재결합된다.
인코더에 대한 실시예를 기술한 후, 각각의 화질 스케일러블 데이터 스트림을 해독하는 디코드가 도 10과 11에서 설명되어진다. 도10은 디코드(400)의 일반적인 구조를 보여준다. 디코드(400)는 스케일러블 비트 스트림(36)을 수신하기 위한 입력(404)을 가지는 디멀티플렉서(402)를 포함한다. 디멀티플렉서(402)는 입력신호(36)를 데이터 스트림(26~32)으로 역다중화한다. 이것 때문에 디멀티플렉서는 디코딩과 파싱기능을 수행하거나, 디코딩 또는 파싱기능을 수행한다. 예를 들면 디멀티플렉서(402)는 도8과 9의 변환 블록 코딩을 해독한다. 게다가 도6a~6g를 상기하라. 따라서 디멀티플렉서(402)는 특정한 변환 블록에 대한 변환 계수 값이나 분배 값들이 어떻게 기대되는지 알기 위하여 현재의 서브-데이터 스트림을 파싱하는데 상기의 서브-데이터 스트림 정보를 이용한다. 그러므로 검색된 데이터 스트림은 디코딩유닛(406)에 의하여 얻어지는데, 디코딩유닛(408)은 이러한 데이터 스트림을 기준으로 비디오(18)를 재구축하고 각각의 출력(410)에서 각각의 재구축된 비디오(408)를 출력한다.
디코딩유닛(406)의 내부구조는 도 11에서 좀더 자세히 도시된다. 도시된 바와 같이, 디코딩유닛(406)은 베이스 레이어 모션 데이터 유닛(412), 베이스 레이어 잔여 데이터 입력(414), 제로-오더 리파인먼트 레이어 모션 데이터 입력(416), 선택적인 변환 계수 제로-오더 리파인먼트 변환 계수 데이터 입력(418)과 서브-데이 터 스트림(30)을 위한 입력(420)으로 이루어진다. 도시된 바와 같이, 입력들(412와 414)은 데이터 스트림(26)을 수신하기 위한 것이고, 그 반면에 입력들(416과 418)은 데이터 스트림(28)을 수신하기 위한 것이다. 이외에도 디코딩유닛(406)은 저화질 재구축 비디오 신호 출력(422), 고화질 인터레이어 코드화된 재구축 비디오 신호 출력(424), 그리고 내부적으로 코드화된 재구축 비디오 신호 출력(426)을 포함하여 이루어지는데, 후자들은 고화질 비디오 신호에 대한 정보를 제공한다.
컴바이너(428)는 입력들(418과 420)에 연결된 입력과 여러 가지 화질 레이어에 상응하는 분배 값을 수집함으로써 얻어지는 각각의 변환 블록들에 대한 변환 계수 레벨을 출력하는 출력을 가진다. 수집은 몇몇 데이터 스트림들(30~28)내의 특정한 변환 계수에 대한 분배 값들의 합과 관련된다. 그러나 컴바이너(428)가 모든 변환 계수 값을 미리 0으로 조절하고 단지 이러한 0들중에서 각각의 스캔 포지션에 대하여 분배 값이 0과 같지 않은 경우에만 0으로 되돌리는 것도 가능하다. 이러한 방식으로 컴바이너는 여러 가지 변환 블록의 변환 계수에 대한 정보를 수집한다. 각각의 레이어내의 기대값이나 변환 계수 값의 조합은 scan_idx_start나 scan_idx_end과 같은 현재 레이어의 스캔 포지션 정보를 이용하는 컴바이너와 관련된다. 선택적으로, 컴바이너는 지금까지 저화질 내지 SNR레이어로부터 수신한 각각의 변환 블록들내의 변환 계수 값의 정보를 이용한다.
컴바이너(428)에 의한 변환 블록 출력은 잔여 예측 디코더(430)와 가산 자(432)에 의해 수신된다.
잔여 예측 디코더(430)와 입력(414)사이에서 후 또는 역변환유닛(432)이 역으로 변환된 잔여 데이터를 잔여 예측 디코더(430)에 전송시키기 위하여 연결된다. 후자는 결국 업-샘플링 또는 다른 화질 어댑테이션을 실행한 후 컴바이너(428)에 의한 변환 블록 출력의 변환 계수에 더해지게 되는 예측자를 얻기 위하여 역변환된 잔여 데이터를 이용한다. 그 반면에 모션 예측 유닛(434)은 입력(412)과 가산자(436)의 입력사이에 연결된다. 또 다른 가산자(436)의 입력은 역변환 유닛(432)의 출력에 연결된다. 이러한 방식으로 모션 예측 유닛(434)은 역변환 유닛(432)에 의해 역변환된 잔여 신호 출력을 위한 예측 신호를 생성하기 위하여 입력(412)에 모션 데이터를 이용한다. 가산자(436)의 출력에서 가산자(436)의 결과는 재구축된 베이스 레이어 비디오 신호이다. 가산자(436)의 출력은 예측 디코더(432)의 입력에 연결될 뿐만 아니라 출력(432)에도 연결된다. 예측 디코더(432)는 결과적으로 업-샘플링을 이용하여 컴바이너(428)에 의한 비디오 콘텐츠 출력의 인트라 레이어가 코드화된 부분을 기대하는 것으로 재구축된 베이스 레이어 신호를 이용한다. 그반면에 가산기(436) 출력은 모션 예측 유닛(434)이 입력(412)에서 모션 데이터를 이용하여 예측 신호를 베이스 레이어 데이터 스트림으로부터 재구축된 신호에 기초한 가산기(436)의 두번째 입력에 생성하기 위하여 또한 모션 예측 유닛(434)의 입력에 연결된다. 잔여 예측 디코더(430)에 의한 기대되는 디코드화된 변환 계수 값 출력은 역변환 유닛(438)에 의하여 역변환된다. 역변환 유닛(438)의 출력에서 고화질 잔여 비디오신호 데이터가 생긴다. 이 고화질 잔여 데이터 비디오신호는 가산기(440)에 의하여 모션 예측 유닛(442)에 의한 모션 예측된 비디오신호 출력과 더해진다. 가산기(440)의 출력에서 재구축된 고화질 비디오신호가 나타나며 이 신호는 출력(424)에 연결되며 또한 게다가 모션 예측 유닛(442)의 입력에도 연결된다. 모션 예측 유닛(442)은 가산기(440)에 의한 재구축된 비디오신호 출력 뿐만 아니라 입력(416)과 각각의 모션 예측 유닛(442)의 입력 사이에 연결된 모션 파라미터 예측 디코더(444)에 의한 모션 정보 출력에 기초한 모션 예측을 수행한다. 매크로블록 선택적 기초의 모션 파라미터 예측 디코더(444)는 베이스 레이어 모션 데이터 입력(412)으로부터의 모션 데이터를 예측자로 사용하고 이 데이터에 의존하여 모션 데이터를 모션 예측 유닛(442)에 출력하는데 예를 들면 입력(416)에서의 모션벡터를 입력(412)에서의 모션벡터에 대한 오프셋벡터로 사용한다.
위에서 기술된 실시예는 도입 부분에 기술한 CGS/MGS코딩에 비교하여 영상/슬라이스 레벨에서의 SNR 스케일러블(scalable)코딩의 입도의 증가를 가능하게 하지만 FGS코딩에서 존재하는 복잡도 면에서의 상당한 증가가 없다. 게다가 FGS의 절단된 패킷이 넓게 사용되지 못하는 특징 때문에 비트 스트림 어댑테이션이 간단한 패킷 드롭핑에 의해서 가능하다.
위에서 기술한 실시예는 공통적으로 일반적으로 SVC드래프트에서 특정된 전통적인 CGS/MGS 패킷 변환 계수 레벨을 다른 패킷과 다른 SNR리파인먼트 레이어로 전달되는 서브세트들로 분할하기 위한 기본적인 착상을 가진다. 예로서 위에서 기술된 실시예는 하나의 베이스와 하나의 인핸스먼트 레이어를 코딩하는 CGS/MGS와 관련된다. 각각의 영상에서 매크로블록 모드, 내부 예측 모드, 모션벡터, 레퍼런스 영상 인덱스들, 다른 제어 파라미터 뿐만 아니라 모든 매크로블록을 포함하는 인핸스먼트 레이어 대신에 SNR스케일러블 코딩의 입도를 증가시키기 위해서 이러한 데이터들이 다른 슬라이스, 다른 패킷, 다른 인핸스먼트 레이어로 분배되게 된다. 첫번째 인핸스먼트 레이어에서는 매크로블록 모드, 모션 파라미터, 다른 제어 파라미터 뿐만 아니라 선택적으로 변환 계수 레벨의 첫번째 서브세트가 전달된다. 그 다음의 인핸스먼트 레이어에서는 같은 매크로블록 모드와 모션벡터가 사용되지만 변환 계수 레벨의 두번째 서브세트는 부호화된다. 첫번째 인핸스먼트 레이어에서 이미 변환된 모든 변환 계수는 두번째와 그 다음의 모든 인핸스먼트 레이어에서는 0으로 조절될 수 있다. 세번째와 그 이후의 모든 인핸스먼트 레이어에서는 매크로블록 모드와 첫번째 인핸스먼트 레이어의 모션 파라미터가 다시 사용되지만 변환 계수 레벨의 그 이후의 서브세트는 부호화된다.
이러한 분할은 현재의 SVC 드래프트에서 특정된 전통적인 CGS/MGS 코딩과 비교하여 복잡성이 단지 매우 약간 증가하거나 증가하지 않는다는 것이 주목되어야 한다. 모든 SNR인핸스먼트는 평행하게 분석될 수 있고 변환 계수는 영상/슬라이스에 대한 다른 스캔들로부터 수집될 필요가 없다. 그것은 예를 들면 디코더가 모든 SNR인핸스먼트들로부터 블록을 위한 모든 변환 계수를 분석할 수 있었고 변환 계수 레벨을 임시 버퍼에 저장함없이 블록에 대한 역변환을 적용할수 있음을 의미한다. 매크로블록의 모든 블록이 완전히 분석되었을 때 모션 보상된 기대는 적용되고 이 매크로블록을 위한 최후의 재구축 신호가 얻어질 수 있다. 슬라이스의 모든 신택스 요소는 매크로블록에 의해 매크로블록에 전송되고 매크로블록 내에서 변환 계수 값은 변환 블록에 의해 변환 블록에 전송됨이 주목되어야 한다.
플래그(flag)는 슬라이스레벨로 부호화되는 것이 가능한데 모든 매크로블록 모드이든지 아니든지 간에 이 신호와 모션 파라미터는 베이스 레이어로부터 추론된다. 주어진 CGS/MGS 패킷의 현재 신택스는 모든 신택스 요소들인 mb_skip_run과 mb_skip_flag가 전송되지 않고 0과 동일하고, 모든 신택스 요소인 mb_field_decoding_flag는 전송되지 않고 함께 위치하는 베이스 레이어 매크로블록에 있는 그들의 값과 동일하고, 모든 신택스 요소인 base_mode_flag와 residual_prediction_flag는 전송되지 않고 1과 동일한 것으로 추론됨을 특별히 의미한다. 첫번째 SNR인핸스먼트 레이어에서 이 플래그는 보통 0으로 셋팅되는데, 왜냐하면 이 인핸스먼트에서 코딩 효율을 향상시키기 위하여 베이스 레이어와 다른 모션벡터를 전송하는 것이 가능하기 때문이다. 그러나 모든 다른 인핸스먼트 레이어에서는 플래그는 1로 셋팅되는데, 왜냐면 이러한 인핸스먼트 레이어는 단지 이전의 SNR인핸스먼트 레이어에서는 부호화되지 않았던 스캔 포지션에서의 변환 계수 레벨의 리파인먼트를 나타내기 때문이다. 이 플래그를 1로 셋팅함으로 인해 코딩효율이 향상될 수 있는데, 왜냐면 요구되지 않는 신택스 요소가 전송되지 않음이 필 요하고 그러므로 관련된 비트율이 절약되기 때문이다.
게다가 위에서 기술된 대로, 여러가지 변환 블록들 중에 변환 계수 레벨을 위한 첫번째 스캐닝 포지션x는 슬라이스 레벨에서 전송될수 있고 x보다 더 작은 스캐닝 포지션에 대한 변환 계수를 위한 매크로블록 레벨에서는 신택스 요소가 전달되지 않을 수 있다. 첫번째 스캐닝 포지션은 단지 특정의 변환크기에 대해서만 전송되고 다른 변환크기에 대해서는 첫번째 스캐닝 포지션이 변환된 값에 기초하여 추론된다는 위에서 기술한 바에 더해서 모든 지원된 변환 크기에 대한 첫번째 스캐닝 포지션을 전송하는 것이 가능하다.
유사하게 여러가지 변환 블록에서의 변환 계수 레벨을 위한 마지막 스캐닝 포지션y는 y보다 더 큰 스캐닝 포지션에 대한 변환 계수를 위한 매크로블록 레벨에서 전달되지 않고 슬라이스 레벨에서 전송될 수 있다. 게다가 모든 지원되는 변환크기에 대한 마지막 스캐닝 포지션을 전송하거나 단지 특정의 변환크기에 대한 마지막 스캐닝 포지션을 전송하는 것이 가능하고, 변환된 값에 기초한 다른 변환크기를 위한 마지막 스캐닝 포지션을 추론하는 것이 가능하다.
SNR인핸스먼트 레이어 내의 각각의 변환 블록을 위한 첫번째 스캐닝 포지션은 이전의 인핸스먼트 레이어에 전송된 변환 계수에 기초하여 선택적으로 추론될 수 있다. 이 추론법칙은 독립적으로 모든 변환 블록에 적용되며 각각의 블록에서 다른 첫번째 변환 계수가 예를 들면 컴바이너(428)에 의해 유도된다.
더 나아가 첫번째 스캐닝 포지션을 신호화하고 추론하는 조합이 이루어진다. 첫번째 스캐닝 포지션은 기본적으로 이전의 SNR인핸스먼트 레이어에 있는 이미 전송된 변환 계수 레벨에 기초하여 추론됨을 의미하나 이를 위해 첫번째 스캐닝 포지션은 슬라이스헤드(head)에서 전송되는 값x보다 작을 수 없다는 부가적인 정보가 사용된다. 이 개념과 함께 각각의 변환블랙에서 다른 첫번째 스캐닝지수를 갖는 것이 다시 가능한데 이는 코딩효율을 최대화하기 위하여 선택되어진다.
한층 더 나아간 대안으로서 첫번째 스캔 포지션의 신호화, 첫번째 스캔 포지션의 추론, 또는 그들의 조합이 마지막 스캐닝 포지션을 신호화하는 것과 결합된다.
위에서 기술한 것은 SNR스케일러빌러티(scalability)를 허용하는 가능한 체계를 할 수 있게 하는데, SNR스케일러빌러티에서는 단지 변환 계수 레벨들의 서브세트들이 다른 SNR인핸스먼트 레이어내에서 전송되며, 이 모드는 하나 또는 그 이상의 슬라이스헤드 구분요소에 의해 신호화되고, 매크로블록 모드와 모션 파라미터가 모든 매크로블록 타입을 위해 추론된다는 것 및/또는 변환 블록레벨에서 몇몇 스캐닝 포지션에 대한 변환 계수가 존재하지 않는 것을 실시예한다. 슬라이스레벨 신택스 요소는 모든 매크로블록을 위한 매크로블록 모드와 모션 파라미터는 함께 놓여있는 베이스 레이어 매크로블록들로부터 추론되는 신호들을 이용할 수 있다. 특별히 같은 매크로블록 모드와 모션 파라미터가 사용될 수 있고 대응하는 신택스 요소는 슬라이스레벨에서 전송되지 않을 수 있다. 모든 변환 블록을 위한 첫번째 스캐닝 포지션x는 슬라이스헤드 신택스 요소에 의해서 신호화될 수 있다. 매크로블록 레벨에서 x보다 적은 스캐닝 포지션의 변환 계수 값을 위해서는 신택스 요소가 전송되지 않게 된다. 선택적으로, 변환 블록을 위한 첫번째 스캐닝 포지션은 베이스 레이어의 전송된 변환 계수 레벨에 기초하여 추론된다. 후자의 양자의 조합이 또한 가능하다. 유사하게 모든 변환 블록을 위한 마지막 스캐닝 포지션y는 슬라이스헤드 신택스 요소에 의해 신호화될 수 있고 매크로블록 레벨에서 y보다 큰 스캐닝 포지션의 변환 계수 값을 위해 신택스 요소는 전달되지 않는다.
위에서 주목한 바와 같이 도 1~11의 세부적으로 설명된된 실시예는 여러가지 방법으로 변화가능하다. 예를 들면 위의 실시예가 두개의 공간 레이어 환경에 대한 예시가 될 수 있음에도 불구하고 위의 실시예는 쉽게 단지 하나의 화질 레이어나 단지 N+1 SNR스케일러블 리파인먼트 레이어를 가진 하나 이상의 화질 레이어로 전달할 수 있다. 예를 들면 도 1에서 12부분이 빠졌다고 생각하라. 이 경우에 하이브리드 코더(42)가 유닛(44)이 각각의 다양한 화질 레이어, 비디오 서브-데이터 스트림(30) 또는 가능한 스캔 포지션의 서브세트를 나타내는 스캔 영역 정보를 포함하는 비디오 서브-데이터 스트림(28+30), 가능한 스캔 포지션의 서브세트에 속하는 변환 계수 값에 대한 변환 계수 정보를 형성하는 수단으로 행동하는 동안 비디오신 호의 영상(140)을 위한 변환 계수 값들의 변환 블록(146, 148)을 얻기 위해 블록방식 변환을 사용하는 비디오신호(18)를 코딩하기 위한 코딩수단으로 행동한다. 내부 레이어 예측은 관련되지 않는다. 게다가 코더(42)는 모션 예측 없이 단지 블록방식 변환을 수행하기 위하여 간단화된다. 유사하게 한 화질 레이어의 경우 각각의 화질 레이어를 위한 스캔 영역 정보와 변환 계수 정보를 얻기 위하여 디멀티플렉서(402)는 복수의 화질레이어의 비디오 서브-데이터 스트림을 파싱하기 위한 파싱수단으로 행동하고 컴바이너(428)는 스캔 영역 정보를 이용하면서, 변환 계수 정보로부터 가능한 스캔 포지션의 서브세트까지 각각의 변환 블록의 변환 계수 값을 변환 블록의 역변환에 의하여 비디오신호의 영상을 재구축하는 역변환 유닛(438)에 관련시키는 것에 의해서 각각의 화질 레이어를 위한 변환 블록을 만드는 수단으로 행동한다.
게다가 도1의 실시예는 베이스 레이어코더(12)가 인핸스먼트 레이어코드(14)와 같은 비트 깊이와 같은 공간 해상도로 작용하는 방식으로 변화될 수 있다. 그 경우에 실시예는 SNR스케일러블 코딩을 변환 계수의 분할을 포함하는 표준 베이스 레이어(26)와 여러 가지 인핸스먼트 레이어(28, 30)로 나타낸다.
실제 구현에 따라 발명 개요는 하드웨어 또는 소프트웨어 방식으로 구현될 수 있다. 그러므로 현재 발명은 또한 컴퓨터 프로그램과 관계되고 컴퓨터로 읽을 수 있는 수단인 CD 또는 디스크 또는 다른 데이터 캐리어에 저장될 수 있다. 그러므로 현재의 발명은 또한 프로그램코드를 가지는 컴퓨터프로그램이므로 컴퓨터에서 실행될 때 위의 형태와 관련하여 발명 방식을 수행할 수 있다.
게다가 흐름도에 나타난 모든 단계와 기능은 인코더에서 각각의 수단에 의해서 구현될 수 있으며, 구현이 CPU에서 실행되는 서브루틴으로 이루어질 수도 있다.
본 발명은 화질-스케일러블 비디오 데이터 스트림에 관한 것으로, 비디오 데이터 스트림 생성 및 디코딩에 적용된다.

Claims (41)

  1. 각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들의 적어도 하나는 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서(154, 156, 164, 166)가 변환 블록 내의 변환 계수 값들 사이에서 정해지며, 비디오 신호의 영상(140)에 대한 변환 계수 값들의 변환 블록(146, 148)을 얻기 위하여 블록방식(block-wise) 변환을 사용하는 비디오 신호(18)를 부호화하는 코딩수단(42); 및
    각 화질 레이어의 서브-세트가 다른 다수의 화질 레이어들의 서브-세트에 의해 포함되지 않는 적어도 하나의 가능한 스캔포지션을 포함하고, 가능한 스캔 포지션들 중 하나는 적어도 하나 이상의 화질 레이어들의 서브-세트들에 의하여 구성되도록, 가능한 스캔 포지션들의 서브-세트를 표시하는 스캔 영역 정보와,
    하나의 가능한 스캔 포지션의 변환 계수 값이 화질 레이어들의 적어도 하나 이상의 서브-세트들의 하나의 가능한 스캔 포지션에 대한 분배 값들의 합계에 기초하여 도출되도록, 각각의 화질 레이어의 가능한 스캔 포지션들의 서브-세트에 속하고, 각각의 화질 레이어의 가능한 스캔 포지션들의 서브-세트의 가능한 스캔 포지션에 대한 분배 값을 포함하는 변환 계수 값들에 대한 변환 계수 정보를 포함하는 비디오 서브-데이터 스트림(30; 28, 30)을, 다수의 화질 레이어들 각각에 대하여, 형성하는 형성수단(44); 을 포함하고,
    상기 형성수단(44)은 미리 설정된 변환 블록의 변환 계수 값들이 상기 변환 계수 정보의 연속적인 부분을 형성하도록 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 변환 계수 값들이 블록방식으로 상기 변환 계수 정보로 부호화되도록 설정되고,
    상기 형성수단은
    미리 설정된 변환 블록에서 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들의 포지션들을 지정하는 중요 맵 (significant_coeff_flag, last_significant_coeff_flag)을 상기 비디오 서브-데이터 스트림으로 부호화함으로써, 그리고 다음에
    상기 미리 설정된 스캔 순서에 반대되는-상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 마지막 변환 계수 값에서 시작하는- 역 스캔 순서로 상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들을 부호화함으로써
    상기 연속적인 부분을 부호화하도록 형성되도록 하는 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림 생성 장치.
  2. 다수의 화질 레이어들 각각에 대해 비디오 서브-데이터 스트림(30; 28, 30)을 포함하는 화질-스케일러블 비디오 데이터 스트림(36)으로부터 비디오 신호를 재구축하기 위한 장치에 있어서,
    각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들 중 적어도 하나는 상기 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서가 변환 블록들 내의 변환 계수 값들 사이에서 정해지며, 각 화질 레이어에 대해, 다른 변환 블록들의 변환 계수 값들에 대한 변환 계수 정보와 스캔 영역 정보, 및 상기 가능한 스캔 포지션들의 서브-세트를 표시하는 상기 스캔 영역 정보를 얻기 위하여, 상기 다수의 화질 레이어들의 비디오 서브-데이터 스트림들을 파싱하는 파싱수단(402);
    상기 스캔 영역 정보를 이용하여, 상기 각 화질 레이어에 대하여, 상기 변환 계수 정보로부터의 상기 각각의 변환 블록들의 상기 변환 계수 값들을 상기 가능한 스캔 포지션들의 서브-세트에 결합시킴으로써 상기 변환 블록을 구축하는 구축수단(428); 및
    상기 변환 블록들의 역변환에 의해 상기 비디오 신호의 영상을 재구축하는 재구축수단(438); 을 포함하되,
    상기 파싱수단은 적어도 하나 이상의 화질 레이어들의 변환 계수 정보가 하나의 변환 계수 값과 관련된 분배 값을 포함할 수 있도록 형성되며,
    상기 구축수단은 하나의 변환 계수 값에 관련된 분배 값들의 합계에 기초하여 하나의 변환 계수 값에 대한 값을 도출하도록 형성되고,
    상기 파싱수단(402)은, 미리 설정된 변환 블록의 상기 변환 계수 값들이 상기 변환 계수 정보의 연속적인 부분을 형성하도록 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 변환 계수 값들이 블록방식으로 상기 변환 계수 정보로 부호화될 수 있도록 형성되고,
    상기 파싱수단(402)은
    미리 설정된 변환 블록에서 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들의 포지션들을 지정하는 중요 맵 (significant_coeff_flag, last_significant_coeff_flag)을 상기 비디오 서브-데이터 스트림으로 복호화함으로써, 그리고 다음에
    상기 미리 설정된 스캔 순서에 반대되는-상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 마지막 변환 계수 값에서 시작하는- 역 스캔 순서로 상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들을 복호화함으로써
    상기 연속적인 부분을 복호화하도록 형성되도록 하는 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  3. 청구항 2에 있어서,
    상기 구축수단(428)은 상기 스캔 영역 정보가 상기 미리 설정된 스캔 순서로 상기 가능한 스캔 포지션들의 서브-세트 내의 상기 가능한 스캔 포지션들 사이에서 제1 스캔 포지션을 표시하는 것 처럼 상기 스캔 영역 정보를 사용하기 위하여 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  4. 청구항 2에 있어서,
    상기 구축수단(428)은 상기 스캔 영역 정보가 상기 미리 설정된 스캔 순서로 상기 가능한 스캔 포지션들의 서브-세트 내의 상기 가능한 스캔 포지션들 사이에서 마지막 스캔 포지션을 표시하는 것 처럼 상기 스캔 영역 정보를 사용하기 위하여 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  5. 청구항 2에 있어서,
    상기 변환 블록들 사이에서, 적어도 하나의 제1 변환 블록(148)은 4 x 4 변환 계수 값들로 이루어지고 그리고 적어도 하나의 제2 변환 블록(146)은 8 x 8 변환 계수 값들로 이루어지며,
    상기 파싱수단은 적어도 하나의 제1 변환블록의 16개의 가능한 스캔 포지션들 사이에서 정확한 구별이 가능하도록 적어도 하나의 제1 변환블록(148)에 대하여, 그리고 적어도 하나의 제2 변환블록의 64개의 연속적인 변환 계수들 사이에서 정확한 구별이 가능하도록 적어도 하나의 제2 변환블록에 대하여 가능한 스캔 포지션들의 서브-세트를 표시하는 복수의 화질 레이어들 각각에 대한 스캔 영역 정보를 예측하도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치
  6. 삭제
  7. 삭제
  8. 청구항 2 내지 5 중 어느 하나에 있어서,
    상기 파싱수단은
    중요 플래그(significant_coeff_flag)들은 0 또는 0이 아닌 각각의 변환 계수 값들에 의존하며, 상기 미리 설정된 순서로, 상기 가능한 스캔 포지션들의 서브-세트에 속하는 제1 변환 계수 값으로부터 0이 아닌 그리고 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 마지막 변환 계수 값까지 상기 가능한 스캔 포지션들의 서브-세트에 속하는 변환 계수 값에 대하여 상기 비디오 코딩 스트림으로 상기 중요 플래그(significant_coeff_flag)를 복호화함으로써, 그리고
    0이 아닌 각각의 변환 계수 값의 각 중요 플래그 다음에, 0이 아닌 또는 0인 상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 마지막 변환 계수 값인 상기 각각의 변환 계수 값에 의존하는 마지막-플래그 (last_significant_coeff_flag)를 복호화함으로써
    상기 중요 맵을 복호화하도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  9. 삭제
  10. 청구항 2에 있어서,
    상기 미리 설정된 스캔 순서는 상기 미리 설정된 스캔 순서에서 더 높은 스캔 포지션에 속하는 변환 계수 값들이 더 높은 공간 주파수들에 부합하도록 상기 변환 블록들의 상기 변환 계수 값들을 스캔하는 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  11. 청구항 2에 있어서,
    상기 재구축수단은 모션 정보에 기초를 둔 모션-예측을 사용하여 그리고 변환 계수 값들의 상기 변환 블록들의 블록방식으로의 역변환에 의해 모션-예측 잔여를 얻으면서 모션-예측 결과를 모션-예측 잔여에 결합시킴으로써 상기 비디오 신호를 재구축하도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  12. 청구항 11에 있어서,
    상기 파싱수단(402)은
    각 서브-데이터 스트림이 상기 각각의 화질 레이어에 대하여 모션 정보 존재 또는 모션 정보 비존재를 나타내는 표시를 포함할 수 있도록, 그리고
    상기 화질 레이어들의 제1 레이어의 서브-데이터 스트림이 상기 모션 정보를 포함하고 모션 정보 존재를 나타내는 표시를 구비하도록, 또는 상기 제1 화질 레이어의 서브-데이터 스트림 내의 상기 표시가 상기 모션 정보를 포함하는 상기 서브-데이터 스트림들 이외에 상기 화질-스케일러블 비디오 데이터 스트림의 일부로 상기 모션 정보 비존재를 표시하도록, 그리고
    상기 다른 화질 레이어(들)의 서브-데이터 스트림(들)이 상기 모션 정보 비존재를 나타내는 표시를 구비할 수 있도록
    형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  13. 청구항 12에 있어서,
    상기 파싱수단은, 상기 제1 화질 레이어의 서브-데이터 스트림이 상기 모션 정보 존재를 나타내는 표시를 구비할 수 있도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  14. 청구항 12에 있어서,
    상기 파싱수단은 상기 모션 정보 및 상기 표시가 상기 영상의 매크로블록에 관련되도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  15. 청구항 2에 있어서,
    상기 파싱수단은 상기 다른 서브-데이터 스트림(들)로부터 -파싱 결과에 대하여- 개별적 독립적으로 각 서브-데이터 스트림을 파싱하도록 형성된 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 장치.
  16. 삭제
  17. 삭제
  18. 각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들의 적어도 하나는 상기 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서(154, 156, 164, 166)가 변환 블록 내의 변환 계수 값들 사이에서 정해지며, 비디오 신호의 영상(140)에 대한 변환 계수 값들의 변환 블록(146, 148)들을 얻기 위하여 블록방식(block-wise) 변환을 사용하는 비디오 신호(18)를 부호화하는 단계; 및
    각 화질 레이어의 서브-세트가 다른 다수의 화질 레이어들의 서브-세트에 의해 포함되지 않는 적어도 하나의 가능한 스캔포지션을 포함하고, 가능한 스캔 포지션들 중 하나는 적어도 하나 이상의 화질 레이어들의 서브-세트들에 의하여 구성되도록, 가능한 스캔 포지션들의 서브-세트를 표시하는 스캔 영역 정보와,
    하나의 가능한 스캔 포지션의 변환 계수 값이 화질 레이어들의 적어도 하나 이상의 서브-세트들의 하나의 가능한 스캔 포지션에 대한 분배 값들의 합계에 기초하여 도출되도록, 각각의 화질 레이어의 가능한 스캔 포지션들의 서브-세트에 속하고, 각각의 화질 레이어의 가능한 스캔 포지션들의 서브-세트의 가능한 스캔 포지션에 대한 분배 값을 포함하는 변환 계수 값들에 대한 변환 계수 정보를 포함하는 비디오 서브-데이터 스트림(30; 28, 30)을, 다수의 화질 레이어들 각각에 대하여, 형성하는 단계; 를 포함하고,
    상기 형성하는 단계는, 미리 설정된 변환 블록의 변환 계수 값들이 상기 변환 계수 정보의 연속적인 부분을 형성하도록 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 변환 계수 값들이 블록방식으로 상기 변환 계수 정보로 부호화되도록 수행되며,
    상기 형성하는 단계는, 미리 설정된 변환 블록에서 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들의 포지션들을 지정하는 중요 맵 (significant_coeff_flag, last_significant_coeff_flag)을 상기 상기 비디오 서브-데이터 스트림으로 부호화함으로써, 그리고 다음에
    상기 미리 설정된 스캔 순서에 반대되는-상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 마지막 변환 계수 값에서 시작하는- 역 스캔 순서로 상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들을 부호화함으로써
    상기 연속적인 부분을 부호화하는 단계를 포함하는 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림 생성 방법.
  19. 다수의 화질 레이어들 각각에 대해 비디오 서브-데이터 스트림(30; 28, 30)을 포함하는 화질-스케일러블 비디오 데이터 스트림(36)으로부터 비디오 신호를 재구축하기 위한 방법에 있어서,
    각 변환 블록에서, 각 가능한 스캔 포지션에 대해, 각각의 변환 블록 내의 변환 계수 값들 중 적어도 하나는 상기 각각의 가능한 스캔 포지션에 속하도록 상기 가능한 스캔 포지션들을 갖는 미리 설정된 스캔 순서가 변환 블록들 내의 변환 계수 값들 사이에서 정해지며, 각 화질 레이어에 대해, 다른 변환 블록들의 변환 계수 값들에 대한 변환 계수 정보와 스캔 영역 정보, 및 상기 가능한 스캔 포지션들의 서브-세트를 표시하는 상기 스캔 영역 정보를 얻기 위하여, 상기 다수의 화질 레이어들의 비디오 서브-데이터 스트림들을 파싱하는 단계;
    상기 스캔 영역 정보를 이용하여, 상기 각 화질 레이어에 대하여, 상기 변환 계수 정보로부터의 상기 각각의 변환 블록들의 상기 변환 계수 값들을 상기 가능한 스캔 포지션들의 서브-세트에 결합시킴으로써 상기 변환 블록을 구축하는 단계; 및
    상기 변환 블록들의 역변환에 의해 상기 비디오 신호의 영상을 재구축하는 단계; 를 포함하되,
    상기 비디오 서브-데이터 스트림들을 파싱하는 단계는 적어도 하나 이상의 화질 레이어들의 변환 계수 정보가 하나의 변환 계수 값과 관련된 분배 값을 포함하도록 수행되며,
    상기 변환 블록들을 구축하는 단계는 하나의 변환 계수 값에 관련된 분배 값들의 합계에 기초하여 하나의 변환 계수 값에 대한 값을 도출하도록 수행되고,
    상기 파싱하는 단계는, 미리 설정된 변환 블록의 변환 계수 값들이 상기 변환 계수 정보의 연속적인 부분을 형성하도록, 상기 가능한 스캔 포지션들의 서브-세트에 속하는 상기 변환 계수 값이 상기 블록 방식으로 변환 계수 정보로 부호화되는 단계를 포함하고,
    상기 파싱하는 단계는, 미리 설정된 변환 블록에서 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들의 포지션들을 지정하는 중요 맵 (significant_coeff_flag, last_significant_coeff_flag)을 상기 비디오 서브-데이터 스트림으로 복호화함으로써, 그리고 다음에
    상기 미리 설정된 스캔 순서에 반대되는-상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 마지막 변환 계수 값에서 시작하는- 역 스캔 순서로 상기 미리 설정된 변환 블록 내의 상기 가능한 스캔 포지션들의 서브-세트에 속하는 그리고 0이 아닌 상기 변환 계수 값들을 복호화함으로써 상기 연속적인 부분을 복호화하는 단계 포함하고 있는 것을 특징으로 하는 화질-스케일러블 비디오 데이터 스트림으로부터의 비디오 신호 재구축 방법.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
KR1020097015099A 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림 KR101175593B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88553407P 2007-01-18 2007-01-18
US60/885,534 2007-01-18
PCT/EP2007/003411 WO2008086828A1 (en) 2007-01-18 2007-04-18 Quality scalable video data stream

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020117006483A Division KR101168294B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020117006484A Division KR101341111B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020117006485A Division KR101190227B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림

Publications (2)

Publication Number Publication Date
KR20090108036A KR20090108036A (ko) 2009-10-14
KR101175593B1 true KR101175593B1 (ko) 2012-08-22

Family

ID=38698325

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020117006485A KR101190227B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020097015099A KR101175593B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020117006484A KR101341111B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020117006483A KR101168294B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117006485A KR101190227B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020117006484A KR101341111B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림
KR1020117006483A KR101168294B1 (ko) 2007-01-18 2007-04-18 화질 스케일러블 비디오 데이터 스트림

Country Status (18)

Country Link
US (2) US20130051472A1 (ko)
EP (1) EP2123052B1 (ko)
JP (1) JP5014438B2 (ko)
KR (4) KR101190227B1 (ko)
CN (2) CN101606391B (ko)
AT (1) ATE489808T1 (ko)
BR (1) BRPI0720806B1 (ko)
CA (1) CA2675891C (ko)
CY (1) CY1111418T1 (ko)
DE (1) DE602007010835D1 (ko)
DK (1) DK2123052T3 (ko)
ES (1) ES2355850T3 (ko)
HK (1) HK1135827A1 (ko)
PL (1) PL2123052T3 (ko)
PT (1) PT2123052E (ko)
SI (1) SI2123052T1 (ko)
TW (1) TWI445412B (ko)
WO (1) WO2008086828A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2137981B1 (en) * 2007-03-13 2012-07-25 Nokia Corporation System and method for video encoding and decoding
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
CN102197656A (zh) * 2008-10-28 2011-09-21 Nxp股份有限公司 对流数据进行缓冲的方法以及终端设备
BRPI1008372A2 (pt) * 2009-02-11 2018-03-06 Thomson Licensing métodos e aparelho para codificação e decodificação de vídeo escalável com profundidade de bit utilizando mapeamento de tons e mapeamento inverso de tons
KR101490646B1 (ko) * 2009-05-29 2015-02-06 미쓰비시덴키 가부시키가이샤 화상 복호 장치 및 화상 복호 방법
KR101805531B1 (ko) * 2009-06-07 2018-01-10 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US9635368B2 (en) 2009-06-07 2017-04-25 Lg Electronics Inc. Method and apparatus for decoding a video signal
CN113556554A (zh) * 2010-04-13 2021-10-26 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
US8798131B1 (en) 2010-05-18 2014-08-05 Google Inc. Apparatus and method for encoding video using assumed values with intra-prediction
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
WO2012011432A1 (ja) * 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
KR101483179B1 (ko) * 2010-10-06 2015-01-19 에스케이 텔레콤주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP2012095053A (ja) * 2010-10-26 2012-05-17 Toshiba Corp ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム
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
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US9288496B2 (en) 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
US20120163472A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
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
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
US20130343454A1 (en) * 2011-01-07 2013-12-26 Agency For Science, Technology And Research Method and an apparatus for coding an image
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
WO2012118358A2 (ko) * 2011-03-03 2012-09-07 한국전자통신연구원 변환 계수 스캔 방법 및 그 장치
US11102494B2 (en) * 2011-03-03 2021-08-24 Electronics And Telecommunication Research Institute Method for scanning transform coefficient and device therefor
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10142637B2 (en) 2011-03-08 2018-11-27 Texas Instruments Incorporated Method and apparatus for parallelizing context selection in video processing
US10499059B2 (en) 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
EP2685718B1 (en) * 2011-03-10 2018-08-29 Sharp Kabushiki Kaisha Image decoding apparatus
CN102685503B (zh) 2011-03-10 2014-06-25 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
US20140146891A1 (en) * 2011-06-10 2014-05-29 Mediatek Inc. Method and Apparatus of Scalable Video Coding
JP5735710B2 (ja) * 2011-06-28 2015-06-17 サムスン エレクトロニクス カンパニー リミテッド 算術符号化を伴ったビデオ符号化方法及びその装置、ビデオ復号化方法及びその装置
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
JP2014523695A (ja) * 2011-06-30 2014-09-11 ヴィディオ・インコーポレーテッド スケーラブルビデオ符号化技法
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
WO2013063800A1 (en) * 2011-11-04 2013-05-10 Mediatek Inc. Methods and apparatuses of solving mdcs parsing issue
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
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
TWI590649B (zh) * 2011-11-08 2017-07-01 三星電子股份有限公司 視訊之算術解碼裝置
US20130195169A1 (en) * 2012-02-01 2013-08-01 Vidyo, Inc. Techniques for multiview video coding
KR20130107861A (ko) * 2012-03-23 2013-10-02 한국전자통신연구원 인터 레이어 인트라 예측 방법 및 장치
TW201401891A (zh) * 2012-03-26 2014-01-01 Jvc Kenwood Corp 影像編碼裝置、影像編碼方法、影像編碼程式、送訊裝置、送訊方法、及送訊程式、以及影像解碼裝置、影像解碼方法、影像解碼程式、收訊裝置、收訊方法、及收訊程式
WO2013153778A1 (ja) 2012-04-09 2013-10-17 パナソニック株式会社 画像符号化方法および画像復号化方法
US10129540B2 (en) * 2012-04-10 2018-11-13 Texas Instruments Incorporated Reduced complexity coefficient transmission for adaptive loop filtering (ALF) in video coding
US9219913B2 (en) 2012-06-13 2015-12-22 Qualcomm Incorporated Inferred base layer block for TEXTURE—BL mode in HEVC based single loop scalable video coding
EP2875641B1 (en) * 2012-06-29 2018-07-25 Intel Corporation Systems, methods, and computer program products for scalable video coding based on coefficient sampling
MY190544A (en) * 2012-06-29 2022-04-27 Velos Media Int Ltd Decoding device and decoding method
US20140003504A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
SG11201500129UA (en) 2012-07-09 2015-02-27 Vid Scale Inc Codec architecture for multiple layer video coding
US10194158B2 (en) 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
GB2496015B (en) * 2012-09-05 2013-09-11 Imagination Tech Ltd Pixel buffering
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
RU2646340C2 (ru) * 2012-09-28 2018-03-02 Сони Корпорейшн Устройство и способ кодирования, устройство и способ декодирования
KR101835360B1 (ko) 2012-10-01 2018-03-08 지이 비디오 컴프레션, 엘엘씨 향상 레이어에서 변환 계수 블록들의 서브블록-기반 코딩을 이용한 스케일러블 비디오 코딩
US10097825B2 (en) * 2012-11-21 2018-10-09 Qualcomm Incorporated Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
US10178400B2 (en) 2012-11-21 2019-01-08 Dolby International Ab Signaling scalability information in a parameter set
PT2923488T (pt) * 2012-11-21 2021-07-09 Dolby Int Ab Sinalização de informação de escalabilidade num conjunto de parâmetros
US9756613B2 (en) 2012-12-06 2017-09-05 Qualcomm Incorporated Transmission and reception timing for device-to-device communication system embedded in a cellular system
CN103916670B (zh) * 2013-01-07 2017-08-04 华为技术有限公司 一种图像的编码、解码方法及装置
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9681155B2 (en) * 2013-03-15 2017-06-13 Sony Interactive Entertainment America Llc Recovery from packet loss during transmission of compressed video streams
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9509999B2 (en) * 2013-06-11 2016-11-29 Qualcomm Incorporated Inter-layer prediction types in multi-layer video coding
US10516898B2 (en) 2013-10-10 2019-12-24 Intel Corporation Systems, methods, and computer program products for scalable video coding based on coefficient sampling
EP3389276B1 (en) 2014-09-30 2021-01-13 Microsoft Technology Licensing, LLC Hash-based encoder decisions for video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
KR102546142B1 (ko) * 2016-03-18 2023-06-21 로즈데일 다이나믹스 엘엘씨 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
CN114222138A (zh) * 2016-05-28 2022-03-22 世宗大学校产学协力团 视频信号的解码装置
US10791340B2 (en) * 2016-11-15 2020-09-29 Sony Corporation Method and system to refine coding of P-phase data
TWI635740B (zh) * 2017-06-12 2018-09-11 元智大學 平行化階層式無失真壓縮方法及其架構
US11606569B2 (en) * 2018-09-25 2023-03-14 Apple Inc. Extending supported components for encoding image data
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
CN113473139A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种图像处理方法和图像处理装置
CN116800968A (zh) * 2022-03-17 2023-09-22 中兴通讯股份有限公司 编码方法及装置、解码方法及装置、存储介质、电子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253055A (en) 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
JPH1141600A (ja) * 1997-07-24 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 画像階層符号化・復号方法および装置並びに記録媒体
JP4593720B2 (ja) * 2000-03-10 2010-12-08 パナソニック株式会社 剰余数係数の動的表示方法および装置
US6959116B2 (en) * 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
US20030118097A1 (en) * 2001-12-21 2003-06-26 Koninklijke Philips Electronics N.V. System for realization of complexity scalability in a layered video coding framework
JP2005519543A (ja) * 2002-03-05 2005-06-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ レイヤ映像符合化のための方法及びシステム
WO2003079692A1 (en) * 2002-03-19 2003-09-25 Fujitsu Limited Hierarchical encoder and decoder
ES2277174T3 (es) * 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
KR20050061483A (ko) * 2002-09-27 2005-06-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 스케일링 가능한 비디오 인코딩
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US20060233255A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Fine granularity scalability (FGS) coding efficiency enhancements
KR20070096751A (ko) * 2006-03-24 2007-10-02 엘지전자 주식회사 영상 데이터를 코딩/디코딩하는 방법 및 장치
FR2896117A1 (fr) * 2006-01-06 2007-07-13 France Telecom Procedes de codage et de decodage d'une sequence d'images, dispositifs , programmes d'ordinateur, et signal correspondants
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US8401082B2 (en) * 2006-03-27 2013-03-19 Qualcomm Incorporated Methods and systems for refinement coefficient coding in video compression
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253055A (en) 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection

Also Published As

Publication number Publication date
ES2355850T3 (es) 2011-03-31
JP5014438B2 (ja) 2012-08-29
EP2123052A1 (en) 2009-11-25
CA2675891C (en) 2013-04-16
KR101190227B1 (ko) 2012-10-12
BRPI0720806B1 (pt) 2023-03-28
HK1135827A1 (en) 2010-06-11
ATE489808T1 (de) 2010-12-15
CN102547277A (zh) 2012-07-04
DK2123052T3 (da) 2011-02-28
CN101606391A (zh) 2009-12-16
KR20110034701A (ko) 2011-04-05
KR20110034702A (ko) 2011-04-05
DE602007010835D1 (de) 2011-01-05
US20130051472A1 (en) 2013-02-28
PL2123052T3 (pl) 2011-05-31
KR101341111B1 (ko) 2013-12-13
CN101606391B (zh) 2012-02-08
SI2123052T1 (sl) 2011-04-29
JP2010517343A (ja) 2010-05-20
KR20110032013A (ko) 2011-03-29
CY1111418T1 (el) 2015-08-05
BRPI0720806A8 (pt) 2019-01-15
CA2675891A1 (en) 2008-07-24
BRPI0720806A2 (pt) 2013-02-13
KR20090108036A (ko) 2009-10-14
KR101168294B1 (ko) 2012-07-24
TWI445412B (zh) 2014-07-11
CN102547277B (zh) 2014-12-03
WO2008086828A1 (en) 2008-07-24
US9113167B2 (en) 2015-08-18
TW200904200A (en) 2009-01-16
US20100020867A1 (en) 2010-01-28
EP2123052B1 (en) 2010-11-24
PT2123052E (pt) 2011-03-02

Similar Documents

Publication Publication Date Title
KR101175593B1 (ko) 화질 스케일러블 비디오 데이터 스트림
EP1859630B1 (en) Coding scheme enabling precision-scalability
ES2527932T3 (es) Escalabilidad de profundidad de bits
CN101637024B (zh) 用于经译码块模式的可变长度译码技术
CN101828399B (zh) 用于可缩放位深度的可缩放视频译码方法和设备
CN101529911B (zh) 用于对多层比特流数据进行信号指示的方法和系统
RU2411689C2 (ru) Способ и устройство для адаптивного к макроблоку межслойного предсказания внутренней текстуры
US8532176B2 (en) Methods and systems for combining layers in a multi-layer bitstream
US8155181B2 (en) Multilayer-based video encoding method and apparatus thereof
GB2434050A (en) Encoding at a higher quality level based on mixed image prediction factors for different quality levels
CN104335585A (zh) 图像解码方法和使用其的装置
WO2007079782A1 (en) Quality scalable picture coding with particular transform coefficient scan path
KR20150091043A (ko) 복수의 레이어를 지원하는 영상 부호화/복호화 방법 및 장치
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
CN101356821A (zh) 用于对图像或图像序列进行编码和解码的方法、对应的设备、计算机程序和信号
EP1933565A1 (en) Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E90F Notification of reason for final 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: 20150728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160808

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170802

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180802

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190802

Year of fee payment: 8