KR100991409B1 - 스케일가능성을 갖는 비디오 처리 - Google Patents

스케일가능성을 갖는 비디오 처리 Download PDF

Info

Publication number
KR100991409B1
KR100991409B1 KR1020087025166A KR20087025166A KR100991409B1 KR 100991409 B1 KR100991409 B1 KR 100991409B1 KR 1020087025166 A KR1020087025166 A KR 1020087025166A KR 20087025166 A KR20087025166 A KR 20087025166A KR 100991409 B1 KR100991409 B1 KR 100991409B1
Authority
KR
South Korea
Prior art keywords
video data
nal unit
enhancement layer
nal
layer video
Prior art date
Application number
KR1020087025166A
Other languages
English (en)
Other versions
KR20090006091A (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 KR20090006091A publication Critical patent/KR20090006091A/ko
Application granted granted Critical
Publication of KR100991409B1 publication Critical patent/KR100991409B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/02Colour television systems with bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일반적으로, 본 발명은 비디오 스케일가능성을 갖는 멀티미디어 처리를 위한 낮은 복잡성의 확장들을 지원하기 위해서 신택스 엘리먼트들 및 시멘틱스들을 사용하는 비디오 처리 기술들을 설명한다. 그 신택스 엘리먼트들 및 시멘틱스는 NAL(network abstraction layer) 유닛들에 가산될 수 있고, 특히 멀티미디어 브로드캐스팅에 적용될 수 있고, 낮은 복잡성의 비디오 스케일가능성을 지원하는 비트스트림 포맷 및 인코딩 처리를 정의할 수 있다. 일부 양상들에 있어서, 그 기술들은 H.264 표준을 따르는 장치들에 대한 낮은 복잡성의 비디오 스케일가능성 확장들을 구현하기 위해 적용될 수 있다. 예컨대, 신택스 엘리먼트 및 시멘틱스는 H.264 표준을 따르는 NAL 유닛들에 적용될 수 있다.

Description

스케일가능성을 갖는 비디오 처리{VIDEO PROCESSING WITH SCALABILITY}
본 출원은 2006년 3월 29일에 미국 가출원된 제 60/787,310호, 2006년 3월 3일에 미국 가출원된 제 60/789,320호, 및 2006년 7월 25일에 미국 가출원된 60/833,445호를 우선권으로 청구하며, 상기 가출원들 각각의 내용은 본 명세서에서 참조로서 포함된다.
본 발명은 디지털 비디오 처리에 관한 것으로서, 더 상세하게는, 스케일가능한 비디오 처리를 위한 기술에 관한 것이다.
디지털 비디오 성능들은 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 통신 장치들, PDA들(personal digital assistants), 랩톱 컴퓨터들, 데스크톱 컴퓨터들, 비디오 게임 콘솔들, 디지털 카메라들, 디지털 레코딩 장치들, 셀룰러 또는 위성 무선 전화기들 등을 포함하는 광범위한 장치들에 포함될 수 있다. 디지털 비디오 장치들은 비디오 시퀀스들을 처리 및 전송하는데 있어서 종래의 아날로그 비디오 시스템들에 비해 상당한 개선점들을 제공할 수 있다.
디지털 비디오 시퀀스들을 인코딩하기 위한 상이한 비디오 인코딩 표준들이 설정되었다. 예컨대 MPEG(Moving Picture Experts Group)은 MPEG-1, MPEG-2 및 MPEG-4를 포함하는 다수의 표준들을 개발하였다. 다른 예들은 ITU(International Telecommunication Union)-T H.263 표준 및 ITU-T H.264, 그리고 이것의 대응물인 ISO/IEC MPEG-4, Part 10, 즉, AVC(Advanced Video Coding)를 포함한다. 이러한 비디오 인코딩 표준들은 압축 방식으로 데이터를 인코딩함으로써 비디오 시퀀스들의 향상된 전송 효율성을 지원한다.
일반적으로, 본 발명은 비디오 스케일가능성을 통한 멀티미디어 처리에 있어서 낮은 복잡성의 확장들을 지원하기 위해 신택스 엘리먼트들(syntax elements) 및 시멘틱스(semantics)를 이용하는 비디오 처리 기술들을 설명한다. 신택스 엘리먼트들 및 시멘틱스는 멀티미디어 브로드캐스팅에 적용될 수 있으며, 낮은 복잡성의 비디오 스케일가능성을 지원하는 비트스트림 포맷 및 인코딩 처리를 정의한다.
신택스 엘리먼트 및 시멘틱스는 NAL(network abstraction layer) 유닛들에 적용가능할 수 있다. 일부 양상들에 있어서, 그 기술들은 ITU-T H.264 표준을 따르는 장치들에 대한 낮은 복잡성의 비디오 스케일가능성 확장들을 구현하는데 적용될 수 있다. 따라서, 일부 양상들에 있어서, NAL 유닛들은 일반적으로 H.264 표준을 따를 수 있다. 특히, 베이스 층 비디오 데이터를 전달하는 NAL 유닛들은 H.264 표준을 따를 수 있는데 반해, 인핸스먼트 층 비디오 데이터를 전달하는 NAL 유닛들은 하나 이상의 추가되거나 변경된 신택스 엘리먼트들을 포함할 수 있다.
일양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법을 제공하는데, 상기 방법은 NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터를 포함시키는 단계, 및 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 포함한다.
다른 양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치를 제공하는데, 상기 장치는 NAL(network abstraction layer) 유닛 모듈을 포함하고, 상기 NAL 유닛 모듈은 NAL 유닛에 인핸스먼트 층 비디오 데이터를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시킨다.
또 다른 양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 전송하기 위한 프로세서를 제공하는데, 상기 프로세서는 NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터를 포함시키고 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키도록 구성된다.
추가적이 양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법을 제공하는데, 상기 방법은 NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터를 수신하는 단계, 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들을 수신하는 단계, 및 상기 표시에 기초하여 상기 NAL 유닛 내의 디지털 비디오 데이터를 디코딩하는 단계를 포함한다.
다른 양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치를 제공하는데, 상기 장치는 NAL(network abstraction layer) 유닛 모듈 - 상기 NAL 유닛 모듈은 NAL 유닛을 통해 인핸스먼트 층 비디오 데이터를 수신하고, 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들을 수신함 -, 및 상기 표시에 기초하여 상기 NAL 유닛 내의 디지털 비디오 데이터를 디코딩하는 디코더를 포함한다.
다른 양상에 있어서, 본 발명은 스케일가능한 디지털 비디오 데이터를 전송하기 위한 프로세서를 제공하는데, 상기 프로세서는 NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터를 수신하고, 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들을 수신하며, 상기 표시에 기초하여 상기 NAL 유닛 내의 디지털 비디오 데이터를 디코딩하도록 구성된다.
본 발명에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합을 통해 디지털 비디오 인코딩 및/또는 디코딩 장치에서 구현될 수 있다. 소프트웨어로 구현되는 경우에, 소프트웨어는 컴퓨터에서 실행될 수 있다. 그 소프트웨어는 명령들, 프로그램 코드 등으로서 처음에 저장될 수 있다. 따라서, 본 발명은 또한 컴퓨터-판독가능 매체를 포함하는 디지털 비디오 인코딩을 위한 컴퓨터 프로그램 제품을 설명하는데, 여기서 상기 컴퓨터-판독가능 매체는 컴퓨터로 하여금 본 발명에 따른 기술들 및 기능들을 실행하도록 하는 코드들을 포함한다.
여러 양상들에 대한 추가적인 세부사항들은 첨부된 도면들 및 아래의 설명에서 기술된다. 다른 특징들, 목적들 및 장점들이 아래의 설명 및 도면들 그리고 청구항들로부터 자명해질 것이다.
도 1은 비디오 스케일가능성을 지원하는 디지털 멀티미디어 브로드캐스팅 시스템을 나타내는 블록도이다.
도 2는 스케일가능한 비디오 비트스트림의 베이스 층 및 인핸스먼트 층 내에 있는 비디오 프레임들을 나타내는 개략도이다.
도 3은 도 1의 디지털 멀티미디어 브로드캐스팅 시스템에서 가입자 장치 및 브로드캐스트 서버의 예시적인 성분들을 나타내는 블록도이다.
도 4는 가입자 장치에 대한 비디오 디코더의 예시적인 성분들을 나타내는 블록도이다.
도 5는 스케일가능한 비디오 비트스트림의 베이스 층 및 인핸스먼트 층 비디오 데이터에 대한 디코딩을 나타내는 흐름도이다.
도 6은 단일 층 디코딩을 위한 비디오 디코더에서의 베이스 층 및 인핸스먼트 층 계수들의 조합을 나타내는 블록도이다.
도 7은 비디오 디코더에서의 베이스 층 및 인핸스먼트 층 계수들의 조합을 나타내는 블록도이다.
도 8은 낮은 복잡성의 비디오 스케일가능성을 지원하기 위해서 다양한 예시적인 신택스 엘리먼트를 포함하도록 스케일가능한 비트스트림을 인코딩하는 것을 나타내는 흐름도이다.
도 9는 낮은 복잡성의 비디오 스케일가능성을 지원하기 위해 다양한 예시적인 신택스 엘리먼트들을 처리하기 위해서 다양한 예시적인 신택스 엘리먼트들을 처리하도록 스케일가능한 비디오 비트스트림을 디코딩하는 것을 나타내는 흐름도이다.
도 10 및 도 11은 루마 공간 예측 모드들의 경우에 매크로블록들(MB들) 및 쿼터-매크로블록들의 분할을 나타내는 개략도이다.
도 12는 단일 MB 층을 생성하기 위해서 베이스 층 및 인핸스먼트 층 매크로블록들(MB들)을 디코딩하는 것을 나타내는 흐름도이다.
도 13은 루마 및 크로마 디블록킹 필터 처리를 나타내는 개략도이다.
도 14는 4×4 블록 수평 또는 수직 경계에 걸쳐 샘플들을 설명하기 위한 조약을 나타내는 개략도이다.
도 15는 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치를 나타내는 블록도이다.
도 16은 스케일가능한 디지털 비디오 데이터를 디코딩하기 위한 장치를 나타내는 블록도이다.
비디오 압축 애플리케이션들에서 신호-대-잡음비(SNR) 스케일가능성을 제공하기 위해 스케일가능한 비디오 코딩이 사용될 수 있다. 시간 및 공간적인 스케일가능성도 또한 가능하다. SNR 스케일가능성의 경우에, 일예로서, 인코딩된 비디오 는 베이스 층 및 인핸스먼트 층을 포함한다. 베이스 층은 비디오 디코딩을 위해 필요한 최소 양의 데이터를 전달하고, 기본적인 레벨의 품질을 제공한다. 인핸스먼트 층은 디코딩된 비디오의 품질을 개선시키는 추가적인 데이터를 전달한다.
일반적으로, 베이스 층은 본 명세서에 의해 정의되는 제 1 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하고 있는 비트스트림을 지칭할 수 있다. 인핸스먼트 층은 본 명세서에 의해 정의되는 제 2 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하고 있는 비트스트림을 지칭할 수 있다. 인핸스먼트 층 비트스트림은 단지 베이스 층과 함께 디코딩될 수 있는데, 즉, 인핸스먼트 층 비트스트림은 최종 디코딩된 비디오 데이터를 생성하는데 사용되는 디코딩된 베이스 층 비디오 데이터에 대한 레퍼런스들을 포함한다.
물리 층 상에서의 계층적인 변조를 사용함으로써, 베이스 층 및 인핸스먼트 층은 동일한 반송파 또는 부반송파들을 통해 전송될 수 있지만, 상이한 전송 특징들이 상이한 패킷 에러율(PER)을 초래한다. 베이스 층은 커버리지 영역에 전역에 걸쳐 더욱 신뢰적인 수신을 위해 더 낮은 PER을 갖는다. 디코더는, 인핸스먼트 층이 신뢰적으로 수신되는지 여부 및/또는 다른 기준에 따라 베이스 층만을 디코딩하거나 또는 베이스층 및 인핸스먼트 층 양쪽 모두를 디코딩할 수 있다.
일반적으로, 본 발명은 비디오 스케일가능성을 통한 멀티미디어 처리를 위해 낮은 복잡성의 확장들을 지원하기 위해서 신택스 엘리먼트들(syntax elements) 및 시멘틱스(semantics)를 사용하는 비디오 처리 기술들을 설명한다. 그 기술들은 특히 멀티미디어 브로드캐스팅에 적용될 수 있고, 낮은 복잡성의 비디오 스케일가능 성을 지원하는 비트스트림 포맷 및 인코딩 처리를 정의할 수 있다. 일부 양상들에 있어서, 그 기술들은 H.264 표준을 따르는 장치들에 대한 낮은 복잡성의 비디오 스케일가능성 확장들을 구현하기 위해서 적용될 수 있다. 예컨대, 확장들은 H.264 표준이나 또는 다른 표준들의 미래의 버전들 또는 확장들을 위한 잠재적인 변경들을 나타낼 수 있다.
H.264 표준이 JVT(Joint Video Team)으로 알려진 협력업체의 제품으로서 ITU-T Video Coding Experts Group 및 ISO/IEC Moving Picture Experts Group(MPEG)에 의해서 개발되었다. H.264 표준이 2005년 3월에 ITU-T Study Group에 의해서 "ITU-T Recommunication H.264, Advanced video coding for generic audiovisual services"에 설명되어 있고, 이는 H.264 표준 또는 H.264 규격, 또는 H.264/AVC 표준 또는 규격으로서 본 명세서에서 지칭될 수 있다.
본 명세서에 설명된 기술들은 비디오 디코더에 의한 베이스 층 및 인핸스먼트 층 비디오의 효율적인 처리를 촉진하기 위해서 설계되는 인핸스먼트 층 신택스 엘리먼트들 및 시멘틱스를 사용한다. 다양한 신택스 엘리먼트들 및 시멘틱스가 본 명세서에서 설명될 것이고, 선택적으로 함께 또는 개별적으로 사용될 수 있다. 낮은 복잡성의 비디오 스케일가능성은 비트스트림을 베이스 층 및 인핸스먼트 층으로 표현되는 두 타입들의 신택티컬한 엔티티들(syntactical entities)로 분할함으로써 두 레벨들의 시간-공간-SNR 스케일가능성들을 제공한다.
코딩된 비디오 데이터 및 스케일가능한 확장들이 NAL(network abstraction layer) 유닛들을 통해 전달된다. 각각의 NAL 유닛은 정수 개의 바이트들을 포함하는 패킷의 형태를 취할 수 있는 네트워크 전송 유닛이다. NAL 유닛들은 베이스 층 데이터 또는 인핸스먼트 층 데이터 중 어느 하나를 전달한다. 본 발명의 일부 양상들에 있어서, NAL 유닛들 중 일부는 H.264/AVC 표준을 실질적으로 따를 수 있다. 그러나, 본 발명의 여러 원리들이 다른 타입들의 NAL 유닛들에 적용될 수도 있다. 일반적으로, NAL 유닛의 제 1 바이트는 NAL 유닛에 있는 데이터의 타입을 나타내는 헤더를 포함한다. NAL 유닛의 나머지 바이트는 그 헤더에서 나타내는 타입에 상응하는 페이로드 데이터를 전달한다. 헤더 nal_unit_type는 32 가지의 상이한 NAL 유닛 타입들 중 하나를 표시하는 5 비트 값이고, 그 NAL 유닛 타입들 중 9개는 나중에 사용하기 위해 예비된다. 그 9 개의 NAL 유닛 타입들 중 4 개는 스케일가능성 확장을 위해 예비된다. 애플리케이션 특정 nal_unit_type는 NAL 유닛이 스케일가능성 애플리케이션들에서 사용하기 위한 인핸스먼트 층 비디오 데이터를 포함할 수 있는 애플리케이션 특정 NAL 유닛이라는 것을 표시하기 위해 사용될 수 있다.
일반적으로 NAL 유닛의 베이스 층 비트스트림 신택스 및 시멘틱스는 가능하게는 일부 제약들에 종속되는 H.264 표준과 같은 적용가능한 표준을 따른다. 예시적인 제약들로서, 화상 파라미터 세트들은 '0'인 MbaffFRameFlag를 가질 수 있고, 시퀀스 파라미터 세트들은 '1'인 frame_mbs_only_flag를 가질 수 있으며, 저장된 B 화상들 플래그는 '0'일 수 있다. NAL 유닛들에 대한 인핸스먼트 층 비트스트림 신택스 및 시멘틱스는 비디오 스케일가능성에 대한 낮은 복잡성의 확장들을 효율적으로 지원하도록 본 발명에서 정의된다. 예컨대, 인핸스먼트 층 데이터를 전달하는 NAL(network abstraction layer) 유닛들의 시멘틱스는 인핸스먼트 층 NAL 유닛에 포함되는 RBSP(raw bit sequence payload) 데이터 구조의 타입을 명시하는 새로운 NAL 유닛 타입들을 도입하기 위해서 H.264에 대해 변경될 수 있다.
인핸스먼트 층 NAL 유닛들은 비디오 디코더가 NAL 유닛을 처리하는 것을 돕기 위해 다양한 인핸스먼트 층 표시들을 갖는 신택스 엘리먼트들을 전달할 수 있다. 여러 표시들은 NAL 유닛이 인핸스먼트 층에 인트라-코딩된 인핸스먼트 층 비디오 데이터를 포함시키는지 여부에 대한 표시, 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산을 사용해야 하는지 아니면 변환 도메인 가산을 사용해야 하는지 여부에 대한 표시, 및/또는 인핸스먼트 층 비디오 데이터가 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터를 포함하는지 여부에 대한 표시를 포함할 수 있다.
인핸스먼트 층 NAL 유닛들은 또한 자신이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 표시하는 신택스 엘리먼트들을 전달할 수 있다. 다른 신택스 엘리먼트들은 비-제로 변환 계수 값들을 포함하고 있는 블록들을 인핸스먼트 층 비디오 데이터 내에서 식별할 수 있고, '1'보다 큰 크기를 갖는 인트라-코딩된 블록들의 비-제로 계수들의 수를 인핸스먼트 층 비디오 데이터에서 표시할 수 있으며, 인핸스먼트 층 비디오 데이터에서 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 표시할 수 있다. 위에 설명된 정보는 효율적이면서 순서적인 디코딩을 지원하는데 유용할 수 있다.
본 발명에 설명된 기술들은 MPEG-1, MPEG-2, 또는 MPEG-4 표준들과 같은 다양한 예측 비디오 인코딩 표준들, ITU H.263 또는 H.264 표준들, 또는 ISO/IEC MPEG-4, Part 10 표준, 즉, H.264 표준과 실질적으로 동일한 AVC(Advanced Video Coding) 중 어느 하나와 함께 사용될 수 있다. 이러한 기술들을 H.264 표준과 연관된 비디오 스케일가능성을 위한 낮은 복잡성의 확장들에 적용하는 것이 설명을 위해 본 명세서에서 설명될 것이다. 따라서, 본 발명은 특히 낮은 복잡성의 비디오 스케일가능성을 제공하기 위해서 본 명세서에 설명되는 바와 같이 H.264 표준의 적응, 확장 또는 변경을 고려하지만, 다른 표준들에도 적용될 수 있다.
일부 양상들에 있어서, 본 발명은 Technical Standard TIA-1099("FLO Specification")로서 공개된 FLO(Forward Link Only) Air Interface Specification의 "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast"을 사용하는 지상 이동 멀티미디어 멀티캐스트(TM3)에서 실시간 비디오 서비스들을 전달하기 위해 Enhanced H.264 비디오 코딩에 대한 애플리케이션을 고려한다. 상기 FLO 규격은 FLO Air Interface를 통해 서비스들을 전달하는데 적합한 비트스트림 신택스 및 시멘틱스와 디코딩 처리들을 정의하는 예들을 포함한다.
위에 설명된 바와 같이, 스케일가능한 비디오 코딩은 두 개의 층들, 즉, 베이스 층 및 인핸스먼트 층을 제공한다. 일부 양상들에 있어서, 예컨대 신호-대-잡음비 스케일가능성과 같은 점진적으로 증가하는 품질 레벨들을 제공하는 다수의 인핸스먼트 층들이 제공될 수 있다. 그러나, 단일의 인핸스먼트 층이 설명을 위해 본 명세서에서 설명될 것이다. 물리 층 상에서의 계층적인 변조를 사용함으로써, 베이스 층 및 하나 이상의 인핸스먼트 층들은 동일한 반송파 또는 부반송파들을 통 해서 전송될 수 있지만, 상이한 전송 특징들은 상이한 패킷 에러율(PER)을 초래한다. 베이스 층은 보다 더 낮은 PER을 갖는다. 다음으로, 디코더는 단지 베이스 층만을 디코딩할 수 있거나 또는 베이스 층 및 인핸스먼트 층 양쪽 모두를 디코딩할 수 있는데, 이는 그들의 이용가능성 및/또는 다른 기준에 따라 좌우된다.
만약 디코딩이 이동 핸드셋과 같은 클라이언트 장치나 또는 다른 소형의 휴대용 장치에서 수행된다면, 계산적인 복잡성 및 메모리 요구조건들로 인한 제한사항들이 존재할 수 있다. 따라서, 스케일가능한 인코딩은 베이스 층 및 인핸스먼트 층 양쪽 모두의 디코딩이 단일 층 디코딩에 비해서 계산적인 복잡성 및 메모리 요구조건을 상당히 증가시키지 않는 방식으로 설계될 수 있다. 적절한 신택스 엘리먼트들 및 연관된 시멘틱스가 베이스 및 인핸스먼트 층 데이터의 효율적인 디코딩을 지원할 수 있다.
가능한 하드웨어 구현의 일예로서, 가입자 장치는 다음과 같은 세 가지 모듈들을 갖는 하드웨어 코어를 포함할 수 있다: 움직임 보상을 처리하기 위한 움직임 추정 모듈, 역양자화 및 역변환 연산들을 처리하기 위한 변환 모듈, 및 디코딩된 비디오의 디블록킹을 처리하기 위한 디블록킹 모듈. 각각의 모듈은 한번에 하나의 매크로블록(MB)을 처리하도록 구성될 수 있다. 그러나, 각 모듈의 부단계들에 액세스하는 것이 어려울 수도 있다.
예컨대, 인터-MB의 루미넌스의 역변환은 4×4 블록에 기초할 수 있고, 변환 모듈에서 모든 4×4 개의 모든 블록들에 대해서 16 번의 변환들이 순차적으로 이루어질 수 있다. 게다가, 상기 세 가지 모듈들의 파이프라이닝이 디코딩 처리의 속 도를 증가시키기 위해서 사용될 수 있다. 그러므로, 스케일가능한 디코딩을 위한 처리들을 수용하기 위한 인터럽션들이 실행 흐름의 속도를 떨어뜨릴 수 있다.
스케일가능한 인코딩 설계에 있어서는, 본 발명의 일양상에 따르면, 디코더에서는, 베이스 및 인핸스먼트 층들로부터의 데이터가 단일 층, 예컨대 범용 마이크로프로세서에서 결합된다. 이러한 방식에 있어서, 마이크로프로세서로부터 방출되는 인입 데이터는 단일 층의 데이터처럼 보이고, 하드웨어 코어에 의해서 단일 층으로서 처리될 수 있다. 따라서, 일부 양상들에 있어서, 스케일가능한 디코딩은 하드웨어 코어에 대해 투명하다. 하드웨어 코어의 모듈들을 다시 스케줄링할 필요가 없을 수 있다. 베이스 및 인핸스먼트 층 데이터의 단일 층 디코딩은, 일부 양상들에 있어서, 디코딩에 있어 적은 복잡성만을 추가할 수 있고, 메모리 필요요건을 조금만 증가시키거나 혹은 아예 증가시키지 않을 수 있다.
인핸스먼트 층이 높은 PER이나 또는 어떤 다른 이유로 인해서 중단될 때는, 단지 베이스 층 데이터만이 이용가능하다. 그러므로, 베이스 층 데이터에 대해서 통상적인 단일 층 디코딩이 수행될 수 있고, 일반적으로는 통상적인 비-스케일가능한 디코딩에 대한 적은 변환가 필요하거나 혹은 어떠한 변화도 필요하지 않을 수 있다. 그러나, 베이스 층 및 인핸스먼트 층 데이터 양쪽 모두에 대해서, 디코더는 그 두 층들을 디코딩할 수 있고 또한 인핸스먼트 층-품질 비디오를 생성함으로써, 디스플레이 장치 상에서의 표현을 위해 최종 비디오의 신호-대-잡음비가 증가된다.
본 발명에 있어서는, 베이스 층 및 인핸스먼트 층 양쪽 모두가 수신되고 이용가능한 경우에 대한 디코딩 절차가 설명된다. 그러나, 설명되는 디코딩 절차가 베이스 층만의 단일 층 디코딩에 적용될 수도 있음을 당업자는 이해할 수 있을 것이다. 또한, 스케일가능한 디코딩 및 통상적인 단일(베이스) 층 디코딩은 동일한 하드웨어 코어를 공유할 수 있다. 게다가, 하드웨어 코어 내에서의 스케줄링 제어는 베이스 층 디코딩을 처리하고 또한 베이스 층 및 인핸스먼트 층 양쪽 모두의 디코딩을 처리하기 위해서 적은 변경을 필요로 하거나 혹은 어떠한 변경도 필요로 하지 않을 수 있다.
스케일가능한 디코딩과 관련된 작업들 중 일부가 범용 마이크로프로세서에서 수행될 수 있다. 동작은 두 층 엔트로피 디코딩, 두 층 계수들 조합, 및 제어 정보의 디지털 신호 프로세서(DSP)로의 제공을 포함할 수 있다. DSP에 제공되는 그 제어 정보는 QP 값들 및 각각의 4×4 블록에서 비제로 계수들의 수를 포함할 수 있다. QP 값들은 역양자화를 위해 DSP로 전송될 수 있고, 또한 디블록킹을 위해 하드웨어 코어에서 비제로 계수 정보와 함께 작용할 수 있다. DSP는 다른 동작들을 완료하기 위해서 하드웨어 코어의 유닛들에 액세스할 수 있다. 그러나, 본 명세서에 설명된 기술들은 임의의 특별한 하드웨어 구현이나 구조로 제한될 필요가 없다.
본 발명에서, 양방향 예측(B) 프레임들은, 그 B 프레임들이 두 층들을 통해 전달될 수 있다는 가정에서, 표준 방식으로 인코딩될 수 있다. 본 발명은 전반적으로 I 및 P 프레임들 및/또는 슬라이스들의 처리에 초점을 두는데, 그것은 베이스 층과 인핸스먼트 층 중 어느 하나에서나 또는 그 둘 모두에서 나타날 수 있다. 일반적으로, 본 발명은 디코딩 복잡성 및 전력 소모를 최소화하기 위해서 베이스 층 및 인핸스먼트 층 비트스트림들에 대한 연산들을 결합하는 단일 층 디코딩 처리를 기술한다.
일예로서, 베이스 층과 인핸스먼트 층을 결합하기 위해, 베이스 층 계수들은 인핸스먼트 층 SNR 스케일로 변환될 수 있다. 예컨대, 그 베이스 층 계수들은 스케일 팩터에 의해서 단순히 곱해질 수 있다. 만약 베이스 층과 인핸스먼트 층 간의 양자화 파라미터(QP) 차이가 6의 배수라면, 예컨대, 베이스 층 계수들은 간단한 비트 시프팅 연산에 의해서 인핸스먼트 층 스케일로 변환될 수 있다. 그 결과는, 마치 베이스 층 및 인핸스먼트 층이 공통 비트스트림 층 내에 존재하는 것처럼 그 베이스 층 및 인핸스먼트 층 양쪽 모두의 결합에 기초한 단일 층 디코딩을 허용하기 위해 인핸스먼트 층 데이터와 결합될 수 있는 스케일 업 버전의 베이스 층 데이터이다.
독립적으로 두 상이한 층들을 디코딩하는 것이 아니라, 단일 층을 디코딩함으로써, 디코더의 필요한 처리 성분들은 간단해질 수 있고, 스케줄링 제약들이 완화될 수 있으며, 전력 소모가 감소될 수 있다. 간략화된 낮은 복잡성의 스케일가능성을 허용하기 위해서, 인핸스먼트 층 비트스트림 NAL 유닛들은 비디오 디코더가 상이한 NAL 유닛들에서 베이스 층 데이터 및 인핸스먼트 층 데이터 양쪽 모두의 존재에 응할 수 있도록 디코딩을 용이하게 하기 위해 설계되어진 다양한 신택스 엘리먼트 및 시멘틱스를 포함한다. 예시적인 신택스 엘리먼트들, 시멘틱스, 및 처리 특징들이 도면들을 참조하여 아래에서 설명될 것이다.
도 1은 비디오 스케일가능성을 지원하는 디지털 멀티미디어 브로드캐스팅 시스템(10)을 나타낸 블록도이다. 도 1의 예에서, 시스템(10)은 브로드캐스트 서버(12), 전송 타워(14), 및 다수의 가입자 장치들(16A, 16B)을 포함한다. 브로드캐스트 서버(12)는 하나 이상의 소스들로부터 디지털 멀티미디어 컨텐트를 획득하고, 예컨대 H.264와 같은 본 명세서에 설명된 비디오 인코딩 표준들 중 임의의 표준에 따라서 멀티미디어 컨텐트를 인코딩한다. 브로드캐스트 서버(12)에 의해 인코딩된 멀티미디어 컨텐트는 가입자 장치(16)와 연관된 사용자에 의한 선택을 위해서 상이한 채널들을 지원하기 위해 별도의 비트스트림들에 정렬될 수 있다. 브로드캐스트 서버(12)는 상이한 컨텐트 제공자 피드들(feeds)로부터의 라이브(live) 혹은 보관된(archived) 멀티미디어 데이터로서 그 디지털 멀티미디어 컨텐트를 획득할 수 있다.
브로드캐스트 서버(12)는 변조기/전송기를 포함하거나 혹은 그것에 연결될 수 있는데, 상기 변조기/전송기는 적절한 무선 주파수(RF) 변조, 필터링, 및 브로드캐스트 서버(12)로부터 획득되는 인코딩된 멀티미디어를 무선 채널을 통해서 전달하기 위해 전송 타워(14)와 연결된 하나 이상의 안테나들을 구동시키는 증폭기 성분들을 포함한다. 일부 양상들에 있어서, 브로드캐스트 서버(12)는 일반적으로 FLO 규격에 따라 지상 이동 멀티미디어 멀티캐스트(TM3) 시스템들에서 실시간 비디오 서비스들을 전달하도록 구성될 수 있다. 변조기/전송기가 CDMA(code division multiple access), TDMA(time division multiple access), FDMA(frequency division multiple access), OFDM(orthogonal frequency division multiplexing), 또는 이러한 기술들의 임의의 조합과 같은 다양한 무선 통신 기술들 중 임의의 기술에 따라 멀티미디어 데이터를 전송할 수 있다.
각각의 가입자 장치(16)는 디지털 멀티미디어 데이터를 디코딩 및 제공할 수 있는 임의의 장치, 디지털 다이렉트 브로드캐스트 시스템, 셀룰러 또는 위성 무선 전화기와 같은 무선 통신 장치, PDA(personal digital assistant), 랩톱 컴퓨터, 데스크톱 컴퓨터, 비디오 게임 콘솔 등 내에 존재할 수 있다. 가입자 장치들(16)은 멀티미디어 데이터의 유선 및/또는 무선 수신을 지원할 수 있다. 또한, 일부 가입자 장치들(16)은 멀티미디어 데이터를 인코딩 및 전송할 뿐만 아니라 비디오 전화통신, 비디오 스트리밍 등을 포함하는 음성 및 데이터 애플리케이션들을 지원하기 위해서 장착될 수 있다.
스케일가능한 비디오를 지원하기 위해서, 브로드캐스트 서버(12)는 비디오 데이터의 여러 채널들을 위한 개별적인 베이스 층 및 인핸스먼트 층 비트스트림들을 생성하도록 소스 비디오를 인코딩한다. 이러한 채널들은 일반적으로 동시에 전송됨으로써, 가입자 장치(16A, 16B)는 아무 때나 시청하기 위해 상이한 채널을 선택할 수 있다. 따라서, 가입자 장치(16A, 16B)는 사용자의 제어 하에서, 스포츠를 시청하기 위해서 하나의 채널을 선택할 수 있고 이어서 뉴스나 어떤 다른 스케줄링된 프로그래밍 이벤트를 시청하기 위해서 다른 채널을 선택할 수 있다. 일반적으로, 각각의 채널은 상이한 PER 레벨로 전송되는 베이스 층 및 인핸스먼트 층을 포함한다.
도 1의 예에서는, 두 가입자 장치들(16A, 16B)이 도시되어 있다. 그러나, 시스템(10)은 주어진 커버리지 영역 내에 임의의 수의 가입자 장치들(16A, 16B)을 포함할 수 있다. 특히, 다수의 가입자 장치들(16A, 16B)이 동일한 컨텐트를 동시에 시청하기 위해서 동일한 채널에 액세스할 수 있다. 도 1에서 하나의 가입자 장치(16A)는 전송 타워(14)에 근접하고 다른 가입자 장치(16B)는 그 전송 타워(14)로 부터 떨어져 있다. 베이스 층은 보다 낮은 PER로 인코딩되기 때문에, 베이스 층은 적용가능한 커버리지 영역 내에 있는 임의의 가입자 장치(16)에 의해서 신뢰적으로 수신되어 인코딩되어야 한다. 도 1에 도시된 바와 같이, 두 가입자 장치들(16A, 16B)은 베이스 층을 수신한다. 그러나, 가입자 장치(16B)는 전송 타워(14)로부터 더욱 멀리 위치하고, 인핸스먼트 층을 신뢰적으로 수신하지 못한다.
더 가까이 있는 가입자 장치(16A)에는 베이스 층 및 인핸스먼트 층 데이터 모두가 이용될 수 있기 때문에 더 높은 품질의 비디오가 제공될 수 있는 반면에, 가입자 장치(16B)에는 베이스 층 데이터에 의해 제공되는 최소 품질 레벨만이 제공될 수 있다. 따라서, 가입자 장치들(16)에 의해서 획득되는 비디오는 인핸스먼트 층이 디코딩된 비디오의 신호-대-잡음비를 증가시키기 위해서 디코딩되고 베이스 층에 더해질 수 있다는 점에서 스케일가능하다. 그러나, 스케일가능성은 단지 인핸스먼트 층 데이터가 존재할 때만 가능하다. 설명될 바와 같이, 인핸스먼트 층 데이터가 이용가능할 때는, 인핸스먼트 층 NAL 유닛들과 연관된 신택스 엘리먼트 및 시멘틱스가 비디오 스케일가능성을 달성하기 위해 가입자 장치(16)의 비디오 디코더를 돕는다. 본 발명에서, 그리고 특히 도면들에서, "인핸스먼트"란 용어는 간략성을 위해서 "enh" 또는 "ENH"로 간략히 표현될 수 있다.
도 2는 스케일가능한 비디오 비트스트림의 베이스 층(17) 및 인핸스먼트 층(18) 내의 비디오 프레임을 나타내는 개략도이다. 베이스 층(17)은 제 1 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하는 비트스트림이다. 인핸스먼트 층(18)은 제 2 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하는 비트스트림이다. 일반적으로, 인핸스먼트 층 비트스트림은 단지 베이스 층과 함께 디코딩될 수 있고, 독립적으로는 디코딩될 수 없다. 인핸스먼트 층(18)은 베이스 층(17) 내의 디코딩된 비디오 데이터에 대한 레퍼런스들을 포함한다. 이러한 레퍼런스들은 최종 디코딩된 비디오 데이터를 생성하기 위해서 변환 도메인 또는 픽셀 도메인에서 사용될 수 있다.
베이스 층(17) 및 인핸스먼트 층(18)은 인트라(I), 인터(P), 및 양방향(B) 프레임들을 포함할 수 있다. 인핸스먼트 층(18) 내의 P 프레임들은 베이스 층(17) 내의 P 프레임들에 대한 레퍼런스들에 의존적이다. 인핸스먼트 층(18) 및 베이스 층(17) 내의 프레임들을 디코딩함으로써, 비디오 디코더는 디코딩된 비디오의 비디오 품질을 증가시킬 수 있다. 예컨대, 베이스 층(17)은 초당 15 프레임들의 최소 프레임 속도로 인코딩되는 비디오를 포함할 수 있는 반면에, 인핸스먼트 층(18)은 초당 30 프레임들의 더 높은 프레임 속도로 인코딩된 비디오를 포함할 수 있다. 상이한 품질 레벨들로의 인코딩을 지원하기 위해서, 베이스 층(17) 및 인핸스먼트 층(18)은 더 높은 양자화 파라미터(QP) 및 더 낮은 QP를 통해 인코딩될 수 있다.
도 3은 도 1의 디지털 멀티미디어 브로드캐스팅 시스템(10)에서 브로드캐스트 서버(12) 및 가입자 장치(16)의 예시적인 성분들을 나타내는 블록도이다. 도 3 에 도시된 바와 같이, 브로드캐스트 서버(12)는 하나 이상의 비디오 소스들(20) 또는 여러 비디오 소스들에 대한 인터페이스를 포함한다. 브로드캐스트 서버(12)는 또한 비디오 인코더(22), NAL 유닛 모듈(23) 및 변조기/전송기(24)를 포함한다. 가입자 장치(16)는 수신기/복조기(26), NAL 유닛 모듈(27), 비디오 디코더(28) 및 비디오 디스플레이 장치(30)를 또한 포함한다. 수신기/복조기(26)는 변조기/전송기(24)로부터의 비디오 데이터를 통신 채널(15)을 통해서 수신한다. 비디오 인코더(22)는 베이스 층 인코더 모듈(32) 및 인핸스먼트 층 인코더 모듈(34)을 포함한다. 비디오 디코더(28)는 베이스 층/인핸스먼트(base/enh) 층 결합기 모듈(38) 및 베이스 층/인핸스먼트 층 엔트로피 디코더(40)를 포함한다.
베이스 층 인코더(32) 및 인핸스먼트 층 인코더(34)는 공통 비디오 데이터를 수신한다. 베이스 층 인코더(32)는 비디오 데이터를 제 1 품질 레벨로 인코딩한다. 인핸스먼트 층 인코더(34)는 베이스 층에 더해질 때 비디오를 제 2의 더 높은 품질 레벨로 향상시키는 개선들(refinements)을 인코딩한다. NAL 유닛 모듈(23)은 비디오 인코더(22)로부터의 인코딩된 비트스트림을 처리하고, 베이스 및 인핸스먼트 층들로부터 인코딩된 비디오 데이터를 포함한 NAL 유닛들을 생성한다. NAL 유닛 모듈(23)은 도 3에 도시된 바와 같이 별도의 성분일 수 있거나, 또는 비디오 인코더(22) 내에 삽입되거나 그렇지 않으면 그와 통합될 수 있다. 일부 NAL 유닛들은 베이스 층 데이터를 전달하는 반면에, 다른 NAL 유닛들은 인핸스먼트 층 데이터를 전달한다. 본 발명에 따르면, NAL 유닛들 중 적어도 일부는 복잡성이 실질적으로 추가되지 않고도 베이스 및 인핸스먼트 층 데이터를 디코딩하는데 있어서 비디오 디코더(28)를 돕기 위해 신택스 엘리먼트들 및 시멘틱스를 포함한다. 예컨대, NAL 유닛 내에 인핸스먼트 층 비디오 데이터의 존재를 표시하는 하나 이상의 신택스 엘리먼트들이 인핸스먼트 층 비디오 데이터를 포함하는 NAL 유닛, 베이스 층 비디오 데이터를 포함하는 NAL 유닛, 또는 그 둘 모두를 통해 제공될 수 있다.
변조기/전송기(24)는 NAL 유닛 모듈(23)에 의해 생성되는 NAL 유닛들의 변조 및 무선 전송을 지원하기 위해서 적절한 모뎀, 증폭기, 필터, 및 주파수 변환 성분들을 포함한다. 수신기/복조기(26)는 브로드캐스트 서버에 의해 전송되는 NAL 유닛들의 무선 수신을 지원하기 위해서 적절한 모뎀, 증폭기, 필터 및 주파수 변환 성분들을 포함한다. 일부 양상들에 있어서, 브로드캐스트 서버(12) 및 가입자 장치(16)는 양방향 통신을 위해 장착될 수 있고, 그럼으로써 브로드캐스트 서버(12), 가입자 장치(16), 또는 그 둘 모두는 전송 및 수신 성분들 모두를 포함하여, 비디오를 인코딩하고 디코딩하는 것을 모두할 수 있다. 다른 양상들에 있어서, 브로드캐스트 서버(12)는 베이스 층 및 인핸스먼트 층 인코딩을 사용하여 비디오 데이터를 인코딩, 디코딩, 전송 및 수신할 수 있도록 장착되는 가입자 장치(16)일 수 있다. 따라서, 둘 이상의 가입자 장치들 간에 전송되는 비디오에 대한 스케일가능한 비디오 처리가 또한 고려된다.
NAL 유닛 모듈(27)은 수신되는 NAL 유닛들로부터 신택스 엘리먼트들을 추출하고, 베이스 층 및 인핸스먼트 층 비디오 데이터를 디코딩하는데 있어 사용하기 위한 연관된 정보를 비디오 디코더(28)에 제공한다. NAL 유닛 모듈(27)은 도 3에 도시된 바와 같이 별도의 성분일 수 있거나, 비디오 디코더(28) 내에 삽입될 수 있거나 그렇지 않으면 그와 통합될 수 있다. 베이스 층/인핸스먼트 층 엔트로피 디코더(40)는 수신되는 비디오 데이터에 엔트로피 디코딩을 적용한다. 만약 인핸스먼트 층 데이터가 이용가능하다면, 베이스 층/인핸스먼트 층 결합기 모듈(38)은 결합된 정보의 단일 층 디코딩을 지원하기 위해서, NAL 유닛 모듈(27)에 의해 제공되는 표시들을 사용하여 베이스 층 및 인핸스먼트 층으로부터의 계수들을 조합한다. 비디오 디코더(28)는 디스플레이 장치(30)를 구동시킬 출력 비디오를 생성하기 위해서 조합된 비디오 데이터를 디코딩한다. 신택스 엘리먼트들은 각각의 NAL 유닛에 존재하고, 그 신택스 엘리먼트의 시멘틱스들은 수신되는 베이스 층 및 인핸스먼트 층 비디오 데이터의 조합 및 디코딩에 있어 비디오 디코더(28)를 가이드한다.
브로드캐스터 서버(12) 및 가입자 장치(16) 내의 여러 성분들은 하드웨어, 소프트웨어, 및 펌웨어의 임의의 적절한 조합에 의해 구현될 수 있다. 예컨대, 비디오 인코더(22) 및 NAL 유닛 모듈(23)뿐만 아니라 NAL 유닛 모듈(27) 및 비디오 디코더(28)는 하나 이상의 범용 마이크로프로세서들, 디지털 신호 프로세서들(DSP들), 하드웨어 코어들, ASIC들(application specific integrated circuits), FPGA들(field programmable gate arrays), 또는 이들의 임의의 결합에 의해서 구현될 수 있다. 또한, 다양한 성분들이 비디오 인코더-디코더(CODEC) 내에 구현될 수 있다. 일부 경우들에 있어서, 설명된 기술들의 일부 양상들은 인코딩 처리의 속도를 높이기 위해서 하드웨어 코어 내의 여러 하드웨어 성분들을 호출하는 DSP에 의해서 실행될 수 있다.
프로세서나 DSP에 의해 실행되는 기능과 같은 기능이 소프트웨어로 구현되는 양상들의 경우에, 본 발명은 또한 컴퓨터 프로그램 제품 내에 코드들을 포함하는 컴퓨터-판독가능 매체를 고려한다. 기계에서 실행될 때, 그 코드들은 그 기계로 하여금 본 발명에서 설명된 기술들의 하나 이상의 양상들을 수행하도록 한다. 기계 판독가능 매체는 SDRAM(synchronous dynamic random access memory)과 같은 RAM(random access memory), ROM(read-only memory), NVRAM(non-volatile random access memory), EEPROM(electrically erasable programmable read-only memory), FLASH 메모리 등을 포함할 수 있다.
도 4는 가입자 장치(16)를 위한 비디오 디코더(28)의 예시적인 성분들을 나타내는 블록도이다. 도 4의 예에서는, 도 3에서와 같이, 비디오 디코더(28)가 베이스 층/인핸스먼트 층 엔트로피 디코더 모듈(40) 및 베이스 층/인핸스먼트 층 결합기 모듈(38)을 포함한다. 또한 도 4에는 베이스 층+인핸스먼트 층 에러 복원 모듈(44), 역양자화 모듈(46), 및 역변환 및 예측 모듈(48)이 도시되어 있다. 도 4는 또한 비디오 디코더(28) 및 디스플레이 장치(30)의 출력을 수신하는 사후처리 모듈(50)을 도시하고 있다.
베이스 층/인핸스먼트 층 엔트로피 디코더(40)는 비디오 디코더(28)에 의해서 수신되는 비디오 데이터에 엔트로피 디코딩을 적용한다. 베이스 층/인핸스먼트 층 결합기 모듈(38)은, 인핸스먼트 층 데이터가 이용가능할 때, 즉, 인핸스먼트 층 데이터가 성공적으로 수신되었을 때, 주어진 프레임 또는 매크로블록에 대한 베이스 층 및 인핸스먼트 층 비디오 데이터를 결합한다. 설명될 바와 같이, 베이스 층/인핸스먼트 층 결합기 모듈(38)은 제일먼저, NAL 유닛에 존재하는 신택스 엘리먼트들에 기초하여, 상기 NAL 유닛이 인핸스먼트 층 데이터를 포함하는지 여부를 결정한다. 만약 그렇다면, 결합기 모듈(38)은 예컨대 베이스 층 데이터를 스케일링함으로써 상응하는 프레임에 대한 베이스 층 데이터를 인핸스먼트 층 데이터와 결합한다. 이러한 방식으로, 결합기 모듈(38)은 다수의 층들을 처리하지 않고도 비디오 디코더(28)에 의해 디코딩될 수 있는 단일 층 비트스트림을 생성한다. NAL 유닛 내의 다른 신택스 엘리먼트 및 연관된 시멘틱스는 베이스 및 인핸스먼트 층 데이터가 결합되고 디코딩되는 방식을 규정할 수 있다.
에러 복원 모듈(44)은 결합기 모듈(38)의 디코딩된 출력 내에서 에러를 정정한다. 역양자화 모듈(46) 및 역변환 모듈(48)이 에러 복원 모듈(44)의 출력에 역양자화 및 역변환 함수들을 각각 적용하고, 그럼으로써 사후처리 모듈(50)에 대한 디코딩된 출력 비디오를 생성한다. 사후처리 모듈(50)은 디블록킹, 디링잉(deringing), 평활화(smoothing), 샤프닝(sharpening) 등과 같은 다양한 비디오 인핸스먼트 기능들 중 임의의 가능을 수행할 수 있다. 프레임 또는 매크로블록에 대한 인핸스먼트 층 데이터가 존재할 때, 비디오 디코더(28)는 사후처리 모듈(50) 및 디스플레이 장치(30)에 적용하기 위한 더 높은 품질의 비디오를 생성할 수 있다. 만약 인핸스먼트 층 데이터가 존재하지 않는다면, 디코딩된 비디오는 베이스 층에 의해 제공되는 최소 품질 레벨로 생성된다.
도 5는 스케일가능한 비디오 비트스트림의 베이스 층 및 인핸스먼트 층 비디오 데이터를 디코딩하는 것을 나타내는 흐름도이다. 일반적으로, 인핸스먼트 층이 높은 패킷 에러율로 인해 중단되거나 수신되지 않을 때에는, 단지 베이스 층 데이터만이 이용가능하다. 그러므로, 통상의 단일 층 디코딩이 수행될 것이다. 그러나, 만약 베이스 층 및 인핸스먼트 층 데이터 양쪽 모두가 이용가능하다면, 비디오 디코더(28)는 상기 양 층들 모두를 디코딩할 것이고, 인핸스먼트 층-품질 비디오를 생성할 것이다. 도 5에 도시된 바와 같이, 화상들 그룹(GOP)의 디코딩을 시작하면(단계 54), NAL 유닛 모듈(27)은 인입 NAL 유닛들이 인핸스먼트 층 데이터를 포함하는지 혹은 베이스 층 데이터만을 포함하는지 여부를 결정한다(단계 58). 만약 NAL 유닛들이 베이스 층 데이터만을 포함한다면, 비디오 디코더(28)는 베이스 층 데이터에 통상의 단일 층 디코딩을 적용하고(단계 60), GOP 디코딩의 종료 단계(62)로 진행한다.
만약 NAL 유닛들이 베이스 층 데이터만을 포함하는 것이 아니라면(단계 58), 즉, NAL 유닛들 중 일부가 인핸스먼트 층 데이터를 포함한다면, 비디오 디코더(28)는 베이스 층 I 디코딩(64) 및 인핸스먼트(ENH) 층 I 디코딩(66)을 수행한다. 특히, 비디오 디코더(28)는 베이스 층 및 인핸스먼트 층 내의 모든 I 프레임들을 디코딩한다. 비디오 디코더(28)는 베이스 층 및 인핸스먼트 층 양쪽 모두에 대한 I 프레임들의 디코딩을 관리하기 위해서 메모리 셔플링(memory shuffling)(68)을 수행한다. 실제로, 베이스 및 인핸스먼트 층들은 단일 I 프레임에 대한 두 개의 I 프레임들을 제공하는데, 즉, 인핸스먼트 층 I 프레임(Ie) 및 베이스 층 I 프레임(Ib)를 제공한다. 이러한 이유로, 메모리 셔플링이 사용될 수 있다.
양 층들로부터의 데이터가 이용가능할 때 I 프레임을 디코딩하기 위해서, 일반적으로 다음과 같이 동작하는 2 경로 디코딩이 구현될 수 있다. 먼저, 베이스 층 프레임(Ib)이 본래 I 프레임으로서 재구성된다. 다음으로, 인핸스먼트 층 I 프레임이 P 프레임으로서 재구성된다. 재구성되는 인핸스먼트 층 P 프레임에 대한 기준 프레임은 재구성된 베이스 층 I 프레임이다. 최종적인 P 프레임에서 모든 움직임 벡터들은 제로이다. 따라서, 디코더(28)는 제로 움직임 벡터들을 갖는 P 프레임으로서 상기 재구성된 프레임을 디코딩하여, 스케일가능성이 투명해진다.
단일 층 디코딩에 비교해서, 인핸스먼트 층 I 프레임(Ie)을 디코딩하는 것은 일반적으로 통상적인 I 프레임 및 P 프레임의 디코딩 시간과 동일하다. 만약 I 프레임들의 빈도가 초당 한 프레임보다 더 크지 않다면, 추가적인 복잡성은 크지 않다. 만약 그 빈도가 예컨대 장면 바뀜 또는 어떤 다른 이유로 인해서 초당 하나의 I 프레임보다 크다면, 인코딩 알고리즘은 이러한 지정된 I 프레임들이 베이스 층에서만 인코딩되는 것을 보장하도록 구성되어야 한다.
만약 동시에 디코더에서 Ib 및 Ic 양쪽 모두의 존재가 허용될 수 있다면, Ie는 Ib와 상이한 프레임 버퍼에 저장될 수 있다. 이러한 방식으로, Ie가 P 프레임으로서 재구성될 때, 메모리 인덱스들이 셔플링될 수 있고, Ib에 의해서 점유되었던 메모리가 해제될 수 있다. 다음으로, 디코더(28)는 인핸스먼트 층 비트스트림이 존재하는지 여부에 기초하여 메모리 인덱스 셔플링을 처리한다. 만약 메모리 버짓이 이를 허용하기에는 너무 여유가 없다면, 처리는 모든 움직임 벡터들이 제로이기 때문에 Ib 위에 Ie를 겹쳐쓸 수 있다.
I 프레임들을 디코딩(단계 64 및 단계 66)하고 메모리 셔플링(68)을 한 이후에, 결합기 모듈(38)은 베이스 층 및 인핸스먼트 층 P 프레임 데이터를 단일 층 내에 결합한다(단계 70). 다음으로, 역양자화 모듈(46) 및 역변환 모듈(48)은 단일 P 프레임 층을 디코딩한다(단계 72). 또한, 역양자화 모듈(46) 및 역변환 모듈(48)이 B 프레임들을 디코딩한다(단계 74).
P 프레임 데이터를 디코딩하고(단계 72) B 프레임 데이터를 디코딩한 후(단계 74), GOP가 완료된 경우에(단계 76) 처리는 종료한다(단계 62). 만약 GOP가 아직 완전히 디코딩되지 않았다면, 처리는 베이스 층 및 인핸스먼트 층 P 프레임을 결합하는 단계(단계 70), 최종적인 단일 층 P 프레임 데이터를 디코딩하는 단계(단계 72), 및 B 프레임들을 디코딩하는 단계(단계 74)의 추가 반복을 통해서 계속된다. 이러한 처리는 GOP의 끝에 도달할 때까지(단계 76) 계속되고, 도달되면 상기 처리는 종료된다.
도 6은 비디오 디코더(28)에서 베이스 층 및 인핸스먼트 층 계수들의 결합을 나타내는 블록도이다. 도 6에 도시된 바와 같이, 베이스 층 P 프레임 계수들은 예컨대 역양자화 모듈(46)과 역변환 및 예측 모듈(48)(도 4)에 의해서 역양자화(80) 및 역변환(82)이 수행되고, 이어서 디코딩된 베이스 층 P 프레임 출력을 생성하기 위해 기준 프레임을 나타내는 버퍼(86)로부터의 잔류 데이터와 가산기(84)에 의해서 합산된다. 그러나, 만약 인핸스먼트 층 데이터가 이용가능하다면, 베이스 층 계수들은 인핸스먼트 층 계수들의 품질 레벨에 매칭하기 위해서 스케일링(88)이 이루어진다.
다음으로, 주어진 프레임에 대한 인핸스먼트 층 계수들 및 스케일링된 베이스 층 계수들은 결합된 베이스 층/인핸스먼트 층 데이터를 생성하기 위해 가산기(90)에서 합산된다. 그 결합된 데이터는 역양자화(92) 및 역변환(94)이 이루어지고, 이어서 버퍼(98)로부터의 잔류 데이터와 가산기(96)에 의해서 합산된다. 출력은 결합되어진 디코딩된 베이스 및 인핸스먼트 층 데이터이고, 이는 베이스 층에 비해 개선된 품질 레벨을 생성하지만 단지 단일 층 처리만을 필요로할 수 있다.
일반적으로, 베이스 및 인핸스먼트 층 버퍼들(86 및 98)은 움직임 보상을 위해서 구성 파일들에 의해 규정되는 재구성된 기준 비디오 데이터를 저장할 수 있다. 만약 베이스 및 인핸스먼트 층 비트스트림들 양쪽 모두가 수신된다면, 베이스 층 DCT 계수들을 간단히 스케일링하여 이들을 인핸스먼트 층 DCT 계수들과 합산하는 것은 단지 단일 역양자화 및 역 DCT 연산이 두 층들의 데이터에 대해 수행되는 단일 층 디코딩을 지원할 수 있다.
일부 양상들에 있어서, 베이스 층 데이터의 스케일링은 간단한 비트 시프팅 동작에 의해서 달성될 수 있다. 예컨대, 만약 베이스 층의 양자화 파라미터(QP)가 인핸스먼트 층의 QP보다 6 레벨들만큼 더 크다면, 즉, 만약 QPb-QPe=6이라면, 결합된 베이스 층 및 인핸스먼트 층 데이터는 다음과 같이 표현될 수 있고:
Figure 112008071737311-pct00001
여기서, Cenh'는 베이스 층 계수들 Cbase을 스케일링하여 이를 본래의 인핸스먼트 층 계수 Cenh에 더한 이후의 결합된 계수를 나타내고,
Figure 112010042341335-pct00002
는 인핸스먼트 층에 적용되는 역양자화 연산을 나타낸다.
도 7은 비디오 디코더에서 베이스 층 및 인핸스먼트 층 계수들의 결합을 나타내는 흐름도이다. 도 7에 도시된 바와 같이, NAL 유닛 모듈(27)은 예컨대 NAL 유닛 확장 타입을 나타내는 NAL 유닛 신택스 엘리먼트들을 참조함으로써 베이스 층 비디오 데이터 및 인핸스먼트 층 비디오 데이터가 가입자 장치(16)에 의해 수신되는 시점을 결정한다(단계 100). 만약 베이스 및 인핸스먼트 층 비디오 데이터가 수신된다면, NAL 유닛 모듈(27)은 또한 각각의 베이스 매크로블록(MB)이 임의의 비제로 계수들을 갖는지 여부를 결정하기 위해서 주어진 NAL 유닛 내의 하나 이상의 추가적인 신택스 엘리먼트들을 조사한다(단계 102). 만약 그렇다면(단계(102)에서 "예" 브랜치), 결합기(38)는 인핸스먼트 층 계수들을 각각의 동일 위치에 존재하는 MB에 대한 기존 인핸스먼트 층 계수가 상기 동일 위치에 존재하는 MB에 대한 업-스케일링된 베이스 층 계수들의 합이 되도록 변환한다(단계 104).
이 경우에, 역양자화 모듈(46) 및 역변환 모듈(48)에 대한 계수들은 COEFF=SCALED BASE_COEFF+ENH_COEFF으로 표현되는 바와 같이 스케일링된 베이스 층 계수들과 인핸스먼트 층 계수들의 합이다(단계 104). 이러한 방식으로, 결합기(38)는 비디오 디코더(28)의 역양자화 모듈(46) 및 역변환 모듈(48)에 대한 단일 층으로 인핸스먼트 층 및 베이스 층 데이터를 결합한다. 만약 인핸스먼트 층과 동일 위치에 존재하는 베이스 층 MB가 임의의 비제로 계수들을 갖지 않는다면(단계(102)의 "아니오" 브랜치), 인핸스먼트 층 계수들은 임의의 베이스 층 계수들과 합산되지 않는다. 대신에, 역양자화 모듈(46) 및 역변환 모듈(48)을 위한 계수들은 COEFF=ENH_COEFF로 표현되는 바와 같이 인핸스먼트 층 계수들이다(단계 108). 인핸스먼트 층 계수들을 사용하거나(단계 108) 또는 결합된 베이스 층 및 인핸스먼트 층 계수들을 사용하는 것(단계 104)에 의해서, 역양자화 모듈(46) 및 역변환 모듈(48)은 MB를 디코딩한다(단계 106).
도 8은 낮은 복잡성의 비디오 스케일가능성을 지원할 목적으로 여러 예시적인 신택스 엘리먼트들을 포함시키기 위해서 스케일가능한 비디오 비트스트림을 인코딩하는 것을 나타내는 흐름도이다. 여러 신택스 엘리먼트들은 NAL 유닛을 통해 전달되는 데이터의 타입을 식별하고 또한 인핸스먼트 층 비디오 데이터를 디코딩하는 것을 지원하는 정보를 전달하기 위해서 그 인핸스먼트 층 비디오 데이터를 전달하는 NAL 유닛들에 삽입될 수 있다. 일반적으로, 신택스 엘리먼트들은, 연관된 시멘틱스와 함께, NAL 유닛 모듈(32)에 의해서 생성될 수 있으며, 브로드캐스트 서버(12)로부터 가입자(16)로의 전송에 앞서서 NAL 유닛들에 삽입될 수 있다. 일예로서, NAL 유닛 모듈(23)은 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함할 수 있는 애플리케이션 특정 NAL 유닛이라는 것을 나타내기 위해서 NAL 유닛 내의 NAL 유닛 타입 파라미터(예컨대, nal_unit_type)를 선택된 값(예컨대, 30)으로 설정할 수 있다. 다른 신택스 엘리먼트들 및 연관된 값들이, 본 명세서에서 설명되는 바와 같이, 여러 NAL 유닛들을 통해 전달되는 인핸스먼트 층 비디오 데이터의 처리 및 디코딩을 용이하게 하기 위해서 NAL 유닛 모듈(32)에 의해 생성될 수 있다. 하나 이상의 신택스 엘리먼트들이 베이스 층 비디오 데이터를 포함하는 제 1 NAL 유닛, 인핸스먼트 층 비디오 데이터를 포함하는 제 2 NAL 유닛, 또는 그 둘 모두에 포함되어, 상기 제 2 NAL 유닛에 인핸스먼트 층 비디오 데이터가 존재함을 나타낸다.
신택스 엘리먼트들 및 시멘틱스가 아래에서 더욱 상세히 설명될 것이다. 도 8에서는, 베이스 층 비디오 및 인핸스먼트 층 비디오 양쪽 모두를 전송하는 처리가 도시되어 있다. 대부분의 경우들에 있어서, 베이스 층 비디오 및 인핸스먼트 층 비디오는 모두 전송될 것이다. 그러나, 일부 가입자 장치들(16)은 전송 타워(14)로부터의 거리, 간섭 또는 다른 요인들로 인해서, 베이스 층 비디오를 전달하는 NAL 유닛들만을 수신할 것이다. 그러나, 브로드캐스트 서버(12)의 견지에서, 베이스 층 비디오 및 인핸스먼트 층 비디오는 일부 가입자 장치들(16)이 상기 두 층들을 수신할 수 없는 것에 상관없이 전송된다.
도 8에 도시된 바와 같이, 베이스 층 인코더(32)로부터의 인코딩된 베이스 층 비디오 데이터 및 인핸스먼트 층 인코더(34)로부터의 인코딩된 인핸스먼트 층 비디오 데이터는 NAL 유닛 모듈(32)에 의해서 수신되며, 각각의 NAL 유닛들에 페이로드로서 삽입된다. 특히, NAL 유닛 모듈(32)은 인코딩된 베이스 층 비디오를 제 1 NAL 유닛에 삽입하고(단계 110), 인코딩된 인핸스먼트 층 비디오를 제 2 NAL 유닛에 삽입한다(단계 112). 비디오 디코더(28)를 돕기 위해서, NAL 유닛 모듈(23)은 제 1 NAL 유닛에 대한 NAL 유닛 타입이 베이스 층 비디오 데이터를 포함하는 RBSP라는 것을 표시하는 값을 제 1 NAL 유닛에 삽입한다(단계 114). 또한, NAL 유닛 모듈(23)은 제 2 NAL 유닛에 대한 확장된 NAL 유닛 타입이 인핸스먼트 층 비디오 데이터를 포함하는 RBSP라는 것을 표시하는 값을 제 2 NAL 유닛에 삽입한다(단계 116). 상기 값들은 특정 신택스 엘리먼트들과 연관될 수 있다. 이러한 방식으로, 가입자 장치(16)의 NAL 유닛 모듈(27)은 베이스 층 비디오 데이터 및 인핸스먼트 층 비디오 데이터를 포함하는 NAL 유닛들을 구별할 수 있고, 스케일가능한 비디오 처리가 비디오 디코더(28)에 의해서 개시되어야 하는 시점을 검출할 수 있다. 베이스 층 비트스트림은 정확한 H.264 포맷을 따를 수 있는 반면에, 인핸스먼트 층 비트스트림은 예컨대 "extended_nal_unit_type"와 같은 개선된 비트스트림 신택스 엘리먼트를 NAL 유닛 헤더에 포함시킬 수 있다. 비디오 디코더(28)의 견지에서, "확장 플래그"와 같은 NAL 유닛 헤더의 신택스 엘리먼트는 인핸스먼트 층 비트스트림을 표시하고, 비디오 디코더에 의한 적절한 처리를 트리거시킨다.
만일 인핸스먼트 층 데이터가 인트라-코딩된 (I) 데이터를 포함한다면(단계 118), NAL 유닛 모듈(23)은 인핸스먼트 층 데이터 내에 인트라 데이터가 존재함을 표시하기 위해서 신택스 엘리먼트 값을 제 2 NAL 유닛에 삽입한다(120). 이러한 방식으로, NAL 유닛 모듈(27)은, 제 2 NAL 유닛이 가입자 장치(16)에 의해서 신뢰적으로 수신된다는 가정에서, 제 2 NAL 유닛에서 인핸스먼트 층 비디오 데이터의 인트라 처리가 필요하다는 것을 표시하기 위해 정보를 비디오 디코더(28)에 전송할 수 있다. 여하튼, 인핸스먼트 층이 인트라 데이터를 포함하든지 혹은 포함하지 않든지 간에, NAL 유닛 모듈(23)은 또한, 베이스 층 비디오 데이터 및 인핸스먼트 층 비디오 데이터의 가산이 인핸스먼트 층 인코더(34)에 의해 규정된 도메인에 따라 픽셀 도메인에서 수행되어야 하는지 혹은 변환 도메인에서 수행되어야 하는지 여부를 표시하기 위해서 신택스 엘리먼트 값을 제 2 NAL 유닛에 삽입한다(단계 122).
만약 잔류 데이터가 인핸스먼트 층에 존재한다면(단계 124), NAL 유닛 모듈(23)은 인핸스먼트 층 내에 잔류 정보가 존재함을 표시하기 위해서 제 2 NL 유닛에 값을 삽입한다(단계 126). 여하튼, 잔류 데이터가 존재하든지 혹은 존재하지 않든지 간에, NAL 유닛 모듈(23)은 또한 제 2 NAL 유닛을 통해 전달되는 파라미터 세트의 범위를 표시하기 위해서 상기 제 2 NAL 유닛에 값을 삽입한다(단계 128). 도 8에 또한 도시된 바와 같이, NAL 유닛 모듈(23)은 또한 '1'보다 큰 비제로 계수들을 가진 예컨대 매크로블록들(MB)과 같은 임의의 인트라-코딩된 블록들을 식별하기 위해서, 제 2 NAL 유닛, 즉, 인핸스먼트 층 비디오 데이터를 전달하는 NAL 유닛에 값을 삽입한다(단계 130).
또한, NAL 유닛 모듈(23)은 제 2 NAL 유닛에 의해 전달되는 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들(CBP들)을 표시하기 위해서 상기 제 2 NAL 유닛에 값을 삽입한다. '1'보다 큰 비제로 계수들을 가진 인트라-코딩된 블록들의 식별, 및 인터-코딩된 블록 패턴들에 대한 CBP들의 표시는 스케일가능한 비디오 디코딩을 수행하는데 있어 가입자 장치(16) 내의 비디오 디코더(28)를 돕는다. 특히, NAL 유닛 모듈(72)은 여러 신택스 엘리먼트들을 검출하고 엔트로피 디코더(40) 및 결합기(38)에 명령들을 제공함으로써, 디코딩을 위한 베이스 및 인핸스먼트 층 비디오 데이터를 효율적으로 처리한다.
일예로서, NAL 유닛 내에 인핸스먼트 층이 존재함은 신택스 엘리먼트 "nal_unit_type"에 의해 표시될 수 있는데, 그것은 특정 디코딩 처리가 규정되는 애플리케이션 특정 NAL 유닛을 표시한다. H.264의 불특정 범위 내에서의 nal_unit_type의 값, 예컨대 30의 값이 NAL 유닛이 애플리케이션 특정 NAL 유닛이라는 것을 표시하기 위해 사용될 수 있다. NAL 유닛 헤더 내의 신택스 엘리먼트 "extension_flag"는 애플리케이션 특정 NAL 유닛이 확장된 NAL 유닛 RBSP를 포함한다는 것을 표시한다. 따라서, nal_unit_type 및 extension_flag는 NAL 유닛이 인핸스먼트 층 데이터를 포함하는지 여부를 함께 표시할 수 있다. 신택스 엘리먼트 "extended_nal_unit_type"는 NAL 유닛에 포함된 특정 타입의 인핸스먼트 층 데이터를 표시한다.
비디오 디코더(28)가 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부에 대한 표시는 인핸스먼트 슬라이스 헤더 "enh_slice_header"내의 신택스 엘리먼트 "decoding_mode_flag"에 의해 표시될 수 있다. 인트라-코딩된 데이터가 인핸스먼트 층에 존재하는지 여부에 대한 표시는 신택스 엘리먼트 "refine_intra_mb_flag"에 의해서 제공될 수 있다. 비제로 계수들 및 인트라 CBP를 갖는 인트라 블록들의 표시는 인핸스먼트 층 매크로블록 층(enh_macroblock_layer) 내의 인트라 16×16 MB들에 대한 "enh_intra 16×16_macroblock_cbp()" 및 enh_macroblock_layer 내의 인트라 4×4 모드에 대한 "coded_block_pattern"과 같은 신택스 엘리먼트들에 의해 표시될 수 있다. 인터 CBP가 enh_macroblock_layer 내의 신택스 엘리먼트 "enh_coded_block_pattern"에 의해서 표시될 수 있다. 신택스 엘리먼트들의 특정 이름들은, 비록 설명을 위해 제공될지라도, 다양한 변경이 가능하다. 따라서, 그 이름들은 이러한 신택스 엘리먼트들과 연관된 기능들 및 표시들을 제한하는 것으로 간주되지 않아야 한다.
도 9는 낮은 복잡성의 비디오 스케일가능성을 지원할 목적으로 여러 예시적인 신택스 엘리먼트들을 처리하기 위해서 스케일가능한 비디오 비트스트림을 디코딩하는 것을 나타내는 흐름도이다. 도 9에 도시된 디코딩 처리는 수신된 인핸스먼트 층 NAL 유닛 내의 여러 신택스 엘리먼트들의 처리를 강조한다는 점에서 일반적으로 도 8에 도시된 인코딩 처리와 상보적이다. 도 9에 도시된 바와 같이, 수신기/복조기(26)가 NAL 유닛을 수신하였을 때(단계 134), NAL 유닛 모듈(27)은, NAL 유닛이 자신이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하는 신택스 엘리먼트를 포함하는지 여부를, 결정한다(단계 136). 만약 그렇지 않다면, 디코더(28)는 베이스 층 비디오 처리만을 적용한다(단계 138). 그러나, 만약 NAL 유닛 타입이 인핸스먼트 층 데이터를 표시한다면(단계 136), NAL 유닛 모듈(27)은 그 인핸스먼트 층 비디오 데이터와 연관된 다른 신택스 엘리먼트들을 검출하기 위해서 NAL 유닛을 분석한다. 그 추가적인 신택스 엘리먼트들은 베이스 층 비디오 데이터 및 인핸스먼트 층 비디오 데이터의 효율적이면서 순서적인 디코딩을 제공하는데 있어서 디코더(28)를 돕는다.
예컨대, NAL 유닛 모듈(27)은 예컨대 적절한 신택스 엘리먼트 값의 존재를 검출함으로써, NAL 유닛의 인핸스먼트 층 비디오 데이터가 인트라 데이터를 포함하는지 여부를 결정한다(단계 142). 또한, NAL 유닛 모듈(27)은 베이스 및 인핸스먼트 층들의 픽셀 또는 변환 도메인 가산이 표시되는지 여부(단계 144), 인핸스먼트 층 내에 잔류 데이터의 존재가 표시되는지 여부(단계 146), 및 파라미터 세트 및 그 파라미터 세터의 범위가 표시되는지 여부를 나타내는 신택스 엘리먼트들을 검출하기 위해서 NAL 유닛을 분석한다(단계 148). NAL 유닛 모듈(27)은 또한 인핸스먼트 층에서 '1'보다 큰 비제로 계수들을 가진 인트라-코딩된 블록들을 식별하는 신택스 엘리먼트들(단계 150), 및 인핸스먼트 층 비디오 데이터에서 인터-코딩된 블록들에 대한 CBP들을 표시하는 신택스 엘리먼트들(152)을 검출한다. 신택스 엘리먼트들에 의해서 제공되는 결정들에 기초해서, NAL 유닛 모듈(27)은 베이스 층 및 인핸스먼트 층 비디오 데이터를 디코딩하는데 있어 사용하기 위한 적절한 표시들을 비디오 디코더(28)에 제공한다(단계 154).
도 8 및 도 9의 예들에 있어서, 인핸스먼트 층 NAL 유닛들은 그 NAL 유닛을 처리하는데 있어서 비디오 디코더(28)를 돕기 위해 여러 인핸스먼트 층 표시들을 갖는 신택스 엘리먼트들을 전달할 수 있다. 예들로서, 상기 여러 표시들은 NAL 유닛이 인트라-코딩된 인핸스먼트 층 비디오 데이터를 포함하는지 여부에 대한 표시, 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부에 대한 표시, 및/또는 인핸스먼트 층 비디오 데이터가 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터를 포함하는지 여부에 대한 표시를 포함할 수 있다. 추가적인 예들로서, 인핸스먼트 층 NAL 유닛들은 또한 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 표시하는 신택스 엘리먼트들을 전달할 수 있다.
다른 신택스 엘리먼트들은 비제로 변환 계수 값들을 포함하는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하고, '1'보다 큰 크기를 갖는 인핸스먼트 층 비디오 데이터의 인트라-코딩된 블록들에 있는 비제로 계수들의 수를 표시하며, 인핸스먼트 층 비디오 데이터의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 표시할 수 있다. 또한, 도 8 및 도 9에서 제공된 예들은 제한적으로 간주되지 않아야 한다. 많은 추가적인 신택스 엘리먼트들 및 시멘틱스가 인핸스먼트 층 NAL 유닛들을 통해 제공될 수 있는데, 그 중 일부가 아래에서 설명될 것이다.
인핸스먼트 층 신택스의 예들이 이제 적용가능한 시멘틱스의 설명과 함께 더 상세히 설명될 것이다. 일부 양상들에 있어서는, 위에서 설명된 바와 같이, NAL 유닛들이 베이스 층 비디오 데이터 및 인핸스먼트 층 비디오 데이터를 포함해서 멀티미디어 데이터의 인코딩 및/또는 디코딩에 사용될 수 있다. 이러한 경우들에 있어서, 인핸스먼트 층 NAL 유닛들의 일반적인 신택스 및 구조는 H.264 표준과 동일할 수 있다. 그러나, 다른 유닛들이 사용될 수도 있다는 것이 당업자들에게 자명해야 한다. 대안적으로는, 인핸스먼트 층 NAL 유닛에 포함된 미처리 비트 시퀀스 페이로드(RBSP:raw bit sequence payload) 데이터 구조의 타입을 규정하는 새로운 NAL 유닛 타입(nal_unit_type)을 도입하는 것이 가능하다.
일반적으로, 본 발명에서 설명되는 인핸스먼트 층 신택스는 예컨대 단일 층 디코딩에 의한 낮은 오버헤드 시멘틱스 및 낮은 복잡성을 특징으로 할 수 있다. 인핸스먼트 매크로블록 층 신택스는 높은 압축 효율성을 특징으로 할 수 있고, 또한 인핸스먼트 층 Intra_16×16 코딩된 블록 패턴들(CBP)에 대한 신택스 엘리먼트들, 인핸스먼트 층 Inter MB CBP, 및 인핸스먼트 층 Intra MB들에 대한 CAVLC(context adaptive variable length coding) 코딩 표들을 사용하는 새로운 엔트로피 디코딩을 규정할 수 있다.
낮은 오버헤드를 위해, 슬라이스 및 MB 신택스는 동일 위치에 존재하는 베이스 슬라이스에 대한 인핸스먼트 층 슬라이스의 연관성을 규정한다. 매크로블록 예측 모드들 및 움직임 벡터들은 베이스 층 신택스를 통해 전달될 수 있다. 인핸스먼트 MB 모드들이 동일 위치에 존재하는 베이스 층 MB 모드들로부터 유도될 수 있다. 인핸스먼트 층 MB 코딩된 블록 패턴(CBP)이 동일 위치에 존재하는 베이스 층 MB CBP에 따라서 두 가지의 상이한 방식들로 디코딩될 수 있다.
낮은 복잡성을 위해, 단일 층 디코딩이 디코더 복잡성 및 전력 소모를 감소시키도록 베이스 및 인핸스먼트 층 비트스트림들에 대한 간단한 결합 연산들에 의해 달성될 수 있다. 이 경우에, 베이스 층 계수들은 예컨대 스케일 팩터와의 곱해 의해서 인핸스먼트 층 스케일로 변환될 수 있는데, 이는 베이스 및 인핸스먼트 층 간의 양자화 파라미터(QP) 차이에 기초한 비트 시프팅에 의해서 달성될 수 있다.
또한, 낮은 복잡성을 위해, 인핸스먼트 P 슬라이스에 Intra MB가 존재함을 표시하기 위해서 신택스 엘리먼트 refine_intra_mb_flag가 제공될 수 있다. 디폴트 세팅은 단일 층 디코딩을 가능하게 하기 위해서 값 refine_intra_mb_flag==0으로 설정한다. 이 경우에는, 인핸스먼트 층에 있는 Intra MB들에 대한 개선(refinement)이 존재하지 않는다. 이는, 심지어 Intra MB들이 베이스 층 품질로 코딩될지라도, 시각적인 품질에 역효과를 주지 않을 것이다. 특히, Intra BM들은 본래 새롭게 나타나는 시각적인 정보에 상응하고, 사람의 눈들은 처음에는 그것을 감지하지 못한다. 그러나, refine_intra_mb_flag=1이 여전히 확장을 위해 제공될 수 있다.
높은 압축 효율성을 위해서, 인핸스먼트 층 Intra 16×16 MB CBP는 인핸스먼트 층 Intra 16×16 계수들의 구획이 베이스 층 루마 intra_16×16 예측 모드들에 기초하여 정해지도록 제공될 수 있다. 상기 인핸스먼트 층 intra_16×16 MB CBP는 동일 위치에 존재하는 베이스 층 MB CBP에 따라 두 가지의 상이한 방식들로 디코딩된다. 베이스 층 AC 계수들이 모두가 제로는 아닌 경우 1에 있어서, 인핸스먼트 층 intra_16×16 CBP는 H.264에 따라 디코딩된다. 신택스 엘리먼트(예컨대, BaseLayerAcCoefficentsAllZero)가 베이스 층 슬라이스에서 상응하는 매크로블록의 모든 AC 계수들이 제로인지를 표시하는 플래그로서 제공된다. 베이스 층 AC 계수들이 모두가 제로인 경우 2에 있어서, intra_16×16 CBP를 전달하기 위해 새로운 해결책이 제공될 수 있다. 특히, 인핸스먼트 층 MB는 베이스 층 루마 intra_16×16 예측 모드들에 따라 4 개의 서브-MB 구획들로 분할된다.
인핸스먼트 층 Inter MB CBP가 6 개의 8×8 블록들(루마 및 크로마) 중 어느 것이 비-제로인 계수들을 포함하는지를 명시하기 위해서 제공될 수 있다. 인핸스먼트 층 MB CBP는 동일 위치에 존재하는 베이스 층 MB CBP에 따라 두 가지의 상이한 방식들로 디코딩된다. 동일 위치에 존재하는 베이스 층 MB CBP(base_coded_block_pattern 또는 base_cbp)가 제로인 경우 1에 있어서, 인핸스먼트 층 MB CBP(enh_coded_block_pattern 또는 enh_cbp)는 H.264에 따라 디코딩된다. base_coded_block_pattern이 제로가 아닌 경우 2에 있어서는, enh_coded_block_pattern을 전달하기 위한 새로운 해결책이 제공될 수 있다. 비제로 계수들을 갖는 베이스 층 8×8의 경우에는, 동일 위치에 존재하는 인핸스먼트 층 8×8이 비제로인 계수들을 갖는지 여부를 표시하기 위해서 1 비트가 사용된다. 다른 8×8 블록들의 상태가 가변 길이 코딩(VLC)에 의해서 표현된다.
추가적인 개선으로서, 인핸스먼트 층 Intra MB 내에서 비제로인 계수들의 수를 나타내기 위해서 인핸스먼트 층 Intra MB들에 대한 새로운 엔트로피 디코딩(CAVLC 테이블들)이 제공될 수 있다. 1'보다 큰 크기를 갖는 계수가 존재하지 않는 경우에, 신택스 엘리먼트 enh_coeff_token 0~16는 '0 내지 16의 비제로 계수들 수를 나타낼 수 있다. 신택스 엘리먼트 enh_coeff_token 17은 '1'보다 큰 크기를 갖는 적어도 하나의 비제로 계수가 존재한다는 것을 나타낸다. 이 경우(enh_coeff_token 17)에는, 비제로 계수들의 총 수 및 트레일링 1 계수들의 수를 디코딩하기 위해서 표준적인 해결책이 사용될 것이다. enh_coeff_token(0~16)은 컨텍스트에 기초하여 8 개의 VLC 표들 중 하나를 사용하여 디코딩된다.
본 명세서에서, 여러 약어들이 H.264 표준의 조항 4에 규정된 바와 같이 해석될 것이다. 컨벤션들이 H.264의 조항 5에 규정된 바와 같이 해석될 수 있고, 소스, 코딩, 디코딩 및 출력 데이터 포맷들, 스캐닝 처리, 및 이웃 관계들이 H.264 표준의 조항 6에 규정된 바와 같이 해석될 수 있다.
게다가, 본 명세서에서, 아래의 정의들이 적용될 수 있다. 베이스 층이란 용어는 일반적으로 본 명세서에 의해 정의된 제 1 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하는 비트스트림을 지칭한다. 베이스 층 비트스트림은 H.264 표준의 임의의 순응적인 확장된 프로파일 디코더에 의해 디코딩될 수 있다. 신택스 엘리먼트 BaseLayerAcCoefficentsAllZero는 변수인데, 상기 변수는, '0'이 아닐 경우에는, 동일 위치에 존재하는 베이스 층 내의 매크로블록의 AC 계수들 모두가 제로라는 것을 표시한다.
신택스 엘리먼트 BaseLayerIntra 16×16 PredMode는 동일 위치에 존재하는 베이스 층 내의 Intra_16×16 예측 매크로블록의 예측 모드를 표시하는 변수이다. 신택스 엘리먼트 BaseLayerIntra 16×16 PreMode는 '0', '1', '2', 또는 '3'인 값들을 갖는데, 상기 값들 각각은 Intra_16×16_Vertical, Intra_16×16_Horizontal, Intra_16×16_DC 및 Intra_16×16_Planar 각각에 상응한다. 이러한 변수는 H.264 표준의 8.3.3 조항에 규정된 바와 같은 변수 Intra 16×16 PredMode와 동일하다. 신택스 엘리먼트 BaseLayerMbType는 베이스 층 내에 동일 위치에 존재하는 매크로블록의 매크로블록 타입을 표시하는 변수이다. 이러한 변수는 H.264 표준의 7.3.5 조항에 규정된 바와 같은 신택스 엘리먼트 mb_type와 동일할 수 있다.
베이스 층 슬라이스(또는 base_layer_slice)란 용어는 H.264 표준의 7.3.3 조항에 따라 코딩되는 슬라이스를 지칭하며, H.264 표준의 8.2.1 조항에 정의된 것과 동일한 화상 순서 카운트로 본 명세서에서 규정된 대로 코딩되는 상응하는 인핸스먼트 층 슬라이스를 갖는다. 엘리먼트 BaseLayerSliceType(또는 base_layer_slice_type)는 동일 위치에 존재하는 베이스 층 슬라이스의 슬라이스 타입을 표시하는 변수이다. 이 변수는 H.264 표준의 7.3.3 조항에 규정된 바와 같은 신택스 엘리먼트 slice_type와 동일하다.
인핸스먼트 층이란 용어는 일반적으로 제 2 레벨의 공간-시간-SNR 스케일가능성을 나타내는 인코딩된 비디오 데이터를 포함하는 비트스트림을 지칭한다. 인핸스먼트 층 비트스트림은 단지 베이스 층과 함께 디코딩될 수 있는데, 즉, 인핸스먼트 층 비트 스트림은 최종 디코딩된 비디오 데이터를 생성하는데 사용되는 디코딩된 베이스 층 비디오 데이터에 대한 레퍼런스를 포함한다.
쿼터-매크로블록은 매크로블록을 분할하는 것으로부터 발생하는 매크로블록의 샘플들 중 1/4을 지칭한다. 이러한 정의는 쿼터-매크로블록들이 비-정사각형(예컨대, 직사각형) 모양들을 가질 수 있다는 것을 제외하고는 H.264 표준에서의 서브-매크로블록에 대한 정의와 유사하다. 쿼터-매크로블록 구획이란 용어는 인터 예측 또는 인트라 개선을 위한 쿼터-매크로블록의 분할로부터 발생하는 루마 샘플들의 블록 및 그에 상응하는 크로마 샘플들의 두 개의 블록들을 지칭한다. 이러한 정의는 "인트라 개선(intra refinement)"이란 용어가 본 명세서에서 사용된다는 것을 제외하고는 H.264 표준에서의 서브-매크로블록 구획의 정의와 동일할 수 있다.
매크로블록 구획이란 용어는 인터 예측 또는 인트라 개선을 위한 매크로블록의 분할로부터 발생하는 루마 샘플들의 블록 및 그에 상응하는 크로마 샘플들의 두 개의 블록들을 지칭한다. 이러한 정의는 "인트라 개선"이란 용어가 본 발명에서 사용된다는 것을 제외하고는 H.264 표준에서의 정의와 동일하다. 또한, 본 명세서에서 정의되는 매크로블록 구획들의 모양들은 H.264 표준에서 정의되는 모양과 상 이할 수 있다.
인핸스먼트 층 신택스
RBSP 신택스
아래의 표 1은 낮은 복잡성의 비디오 스케일가능성을 위한 RBSP 타입들의 예들을 제공한다.
표 1
순수 바이트 시퀀스 페이로드 및 RBSP 트레일링 비트들
RBSP 설명
시퀀스 파라미터 세트 RBSP 시퀀스 파라미터 세트는 단지 베이스 층에서 전송된다.
화상 파라미터 세트 RBSP 화상 파라미터 세트는 단지 베이스 층에서 전송된다.
슬라이스 데이터 구획 RBSP 신택스 인핸스먼트 층 슬라이스 데이터 구획 RBSP 신택스는 H.264 표준을 따른다.
위에서 설명된 바와 같이, 인핸스먼트 층 RBSP의 신택스는 시퀀스 파라미터 세트 및 화상 파라미터 세트가 베이스 층에서 전송될 수 있다는 것을 제외하고는 상기 표준과 동일할 수 있다. 예컨대, 인핸스먼트 층에서 코딩된 시퀀스 파라미터 세트 RBSP 신택스, 화상 파라미터 세트 RBSP 신택스 및 슬라이스 데이터 구획 RBSP는 ITU-T H.264 표준의 조항 7에 규정된 바와 같은 신택스를 가질 수 있다.
본 발명의 여러 표들에 있어서, 모든 신택스 엘리먼트들은 달리 명시되지 않는 한은, 이러한 신택스 엘리먼트가 H.264 표준에서 설명되는 바와 같이 ITU-T H.264 표준에서 표시되는 적절한 신택스 및 시멘틱스를 가질 수 있다. 일반적으로, H.264 표준에 설명되어 있지 않은 신택스 엘리먼트들 및 시멘틱스가 본 발명에서 설명된다.
본 발명의 여러 표들에 있어서, "C"로 표기된 열은 H.264 표준의 카테고리들을 따를 수 있는, NAL 유닛에 존재할 수 있는 신택스 엘리먼트들의 카테고리들을 목록화한다. 또한, 신택스 카테고리 "All"를 갖는 신택스 엘리먼트들이 RBSP 데이터 구조의 신택스 및 시멘틱스들에 의해 결정되는 바와 같이 존재할 수 있다.
특정의 목록화된 카테고리의 임의의 신택스 엘리먼트들의 존재 또는 부재는 연관된 RBSP 데이터 구조의 신택스 및 시멘틱스로부터 결정된다. 설명자(descriptor) 열은 본 발명에서 달리 명시되지 않은 한, H.264 표준에 규정된 설명d들을 일반적으로 따를 수 있는 예컨대 f(n), u(n), b(n), ue(v), se(v), me(v), ce(v)와 같은 설명자를 명시한다.
확장된 NAL 유닛 신택스
비디오 스케일가능성을 위한 확장들에 대해 NAL 유닛들에 대한 신택스가, 본 발명의 양상에 따라, 아래의 표 2에서와 같이 일반적으로 규정된다.
표 2
확장들을 위한 NAL 유닛 신택스
Figure 112008071737311-pct00003
위의 표 2에서, 값 nal_unit_type는 인핸스먼트 층 처리를 위한 특정 확장을 표시하기 위해서 30으로 설정된다. nal_unit_type가 예컨대 30과 같은 선택된 값으로 설정될 때, NAL 유닛은 자신이 디코더(28)에 의한 인핸스먼트 층 처리를 트리거시키는 인핸스먼트 층 데이터를 전달한다는 것을 표시한다. nal_unit_type 값은 표준 H.264 비트스트림에 더하여 추가적인 인핸스먼트 층 비트스트림 신택스 변경들의 처리를 지원하기 위한 고유의 전용 nal_unit_type를 제공한다. 일예로서, 이러한 nal_unit_type 값은 NAL 유닛이 인핸스먼트 층 데이터를 포함한다는 것을 표시하고 또한 예컨대 extension_flag 및 extended_nal_unit_type와 같은 NAL 유닛 내에 존재할 수 있는 추가적인 신택스 엘리먼트들의 처리를 트리거시키기 위해서 30인 값이 할당될 수 있다. 예컨대, 신택스 엘리먼트 extended_nal_unit_type는 확장 타입을 규정하는 값으로 설정된다. 특히, extended_nal_unit_type는 인핸스먼트 층 NAL 유닛 타입을 표시할 수 있다. 엘리먼트 extended_nal_unit_type는 NAL 유닛 내의 인핸스먼트 층 데이터에 대한 RBSP 데이터 구조의 타입을 표시할 수 있다. B 슬라이스들의 경우에, 슬라이스 헤더 신택스는 H.264 표준을 따를 수 있다. 적용가능한 시멘틱스가 본 발명에 걸쳐 더욱 상세히 설명될 것이다.
슬라이스 헤더 신택스
인핸스먼트 층에서의 I 슬라이스들 및 P 슬라이스들의 경우에, 슬라이스 헤더 신택스는 아래의 표 3에 도시된 바와 같이 정의될 수 있다. 기준 프레임 정보를 포함하는 인핸스먼트 층 슬라이스에 대한 다른 파라미터들이 동일 위치에 존재하는 베이스 층 슬라이스로부터 유도될 수 있다.
표 3A
슬라이스 헤더 신택스
Figure 112008071737311-pct00004
엘리먼트 base_layer_slice는 예컨대 H.264 표준의 조항 7.3.3에 따라 코딩되는 슬라이스를 지칭할 수 있고, 이는 예컨대 H.264 표준의 8.2.1 조항에서 정의된 바와 동일한 화상 순서 카운트로 표 2에 따라 코딩된 상응하는 인핸스먼트 층 슬라이스를 갖는다. 엘리먼트 base_layer_slice_type는 예컨대 H.264 표준의 조항 7.3에 규정된 바와 같이 베이스 층의 슬라이스 타입을 지칭한다. 기준 프레임 정보를 포함하는 인핸스먼트 층 슬라이스에 대한 다른 파라미터들이 동일 위치에 존재하는 베이스 층 슬라이스로부터 유도된다.
슬라이스 헤더 신택스에 있어서, refine_intra_MB는 NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 표시한다. 만약 refine_intra_MB가 '0'이면, 인트라 코딩은 베이스 층에만 존재한다. 따라서, 인핸스먼트 층 인트라 코딩은 스킵될 수 있다. 만약 refine_intra_MB가 '1'이면, 인트라 코딩된 비디오 데이터는 베이스 층 및 인핸스먼트 층 모두에 존재한다. 이 경우에는, 인핸스먼트 층 인트라 데이터가 베이스 층 인트라 데이터를 개선시키기 위해 처리될 수 있다.
슬라이스 데이터 신택스
예시적인 슬라이스 데이터 신택스가 아래의 표 3B에 명시된 바와 같이 제공될 수 있다.
표 3B
슬라이스 데이터 신택스
Figure 112008071737311-pct00005
매크로블록 층 신택스
인핸스먼트 층 MB들에 대한 예시적인 신택스가 아래의 표 4에 제시된 바와 같이 제공될 수 있다.
표 4
인핸스먼트 층 MB 신택스
Figure 112008071737311-pct00006
인핸스먼트 매크로블록 층에 대한 다른 파라미터들이 상응하는 base_layer_slice 내의 상응하는 매크로블록에 대한 베이스 층 매크로블록 층으로부터 유도된다.
위의 표 4에서, 신택스 엘리먼트 enh_coded_block_pattern은 일반적으로 인핸스먼트 층 MB 내의 인핸스먼트 층 비디오 데이터가 베이스 층 데이터에 대해 임의의 잔류 데이터를 포함하는지 여부를 표시한다. 인핸스먼트 매크로블록 층에 대한 다른 파라미터들이 상응하는 base_layer_slice 내의 상응하는 매크로블록에 대한 베이스 층 매크로블록 층으로부터 유도된다.
인트라 매크로블록 코딩된 블록 패턴(CBP) 신택스
intra 4×4 MB들의 경우에, CBP 신택스는 예컨대 H.264 표준의 조항 7과 같은 H.264 표준과 동일할 수 있다. intra 16×16 MB들의 경우에, CBP 정보를 인코딩하기 위한 새로운 신택스가 아래의 표 5에 제시된 바와 같이 제공될 수 있다.
표 5
인트라 16×16 매크로블록들 CBP 신택스
Figure 112008071737311-pct00007
잔류 데이터 신택스
인핸스먼트 층 내의 인트라-코딩된 MB 잔류 데이터에 대한 신택스, 즉, 인핸 스먼트 층 잔류 데이터 신택스가 아래의 표 6A에 제시된 바와 같을 수 있다. 인터-코딩된 MB 잔류 데이터의 경우에, 신택스는 H.264 표준을 따를 수 있다.
표 6A
인트라-코딩된 MB 잔류 데이터 신택스
Figure 112008071737311-pct00008
인핸스먼트 층 잔류 데이터에 대한 다른 파라미터들이 상응하는 베이스 층 슬라이스 내의 동일 위치에 존재하는 매크로블록에 대한 베이스 층 잔류 데이터로부터 유도된다.
잔류 블록 CAVLC 신택스
인핸스먼트 층 잔류 블록 컨텍스트 적응성 가변 길이 코딩(CAVLC)에 대한 신택스는 아래의 표 6B에 명시된 바와 같다.
표 6B
잔류 블록 CAVLC 신택스
Figure 112008071737311-pct00009
인핸스먼트 층 잔류 블록 CAVLC에 대한 다른 파라미터들이 상응하는 베이스 층 슬라이스 내의 동일 위치에 존재하는 매크로블록에 대한 베이스 층 잔류 블록 CAVLC로부터 유도된다.
인핸스먼트 층 시멘틱스
인핸스먼트 층 시멘틱스가 이제 설명될 것이다. 인핸스먼트 층 NAL 유닛들의 시멘틱스는 H.264 표준에서 규정되어 있는 신택스 엘리먼트들에 대한 H.264 표준에 의해 규정된 NAL 유닛들의 신택스와 실질적으로 동일할 수 있다. H.264 표준에 설명되어 있지 않은 새로운 신택스 엘리먼트들은 본 발명에서 설명되는 적용가능한 시멘틱스를 갖는다. 인핸스먼트 층 RBSP 및 RBSP 트레일링 비트들의 시멘틱스는 H.264 표준과 동일할 수 있다.
확장된 NAL 유닛 시멘틱스
위의 표 2를 참조하면, forbidden_zero_bit는 H.264 표준 규격의 조항 7에 명시되어 있다. '0'이 아닌 nal_ref_idc 값은 확장된 NAL 유닛의 컨텐트가 시퀀스 파라미터 세트 또는 화상 파라미터 세트 또는 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함한다는 것을 명시한다. 슬라이스 또는 슬라이스 데이터 구획을 포함하고 있는 확장된 NAL 유닛에 대한 '0'인 nal_ref_idc 값은 슬라이스 또는 슬라이스 데이터 구획이 비-기준 화상의 일부라는 것을 표시한다. nal_ref_idc의 값은 시퀀스 파라미터 세트 또는 화상 파라미터 세트 NAL 유닛들에 대해서 '0'이 아니어야 한다.
nal_ref_idc가 특정 화상의 하나의 슬라이스 또는 슬라이스 데이터 구획 확장된 NAL 유닛에 대해 '0'일 때, 그것은 화상의 슬라이스 및 슬라이스 데이터 구획 확장된 NAL 유닛들에 대해 '0'이어야 한다. nal_ref_idc 값은 IDR Extended NAL 유닛들에 대해 '0'이 아니어야 하는데, 즉, NAL 유닛들은 아래의 표 7에 제시된 바와 같이 '5'인 extended _nal_unit_type를 갖는다. 또한, nal_ref_idc는 아래 표 7에 제시된 바와 같이 '6', '9', '10', '11', 또는 '12'인 extended_nal_unit_type를 갖는 모든 Extended NAL 유닛들에 대해서 '0'이어야 한다.
nal_unit_type 값은 본 발명에서 그 디코딩 처리가 명시되는 애플리케이션 특정 NAL 유닛을 표시하기 위해 H.264의 "Unspecified" 범위 내의 '30'의 값을 갖는다. '30'인 nal_unit_type 값은 H.264 표준의 조항 7에 규정된 바와 같다.
extension_flag 값은 1-비트 플래그이다. extension_flag가 '0'일 때, 그것은 다음의 6 비트들이 예비된다는 것을 명시한다. extension_flag가 '1'일 때, 그것은 그 NAL 유닛이 확장된 NAL 유닛 RBSP를 포함한다는 것을 명시한다.
reserved 또는 reserved_zero_1 bit 값은 '30'인 nal_unit_type에 상응하는 애플리케이션으로의 추가적인 확장들을 위해 사용될 1-비트 플래그이다. enh_profile-idc 값은 비트스트림이 따르는 프로파일을 표시한다. reserved_zero_3 bits 값은 나중에 사용하기 위해 예비되는 3 비트 필드이다.
extended_nal_type 값은 아래의 표 7에 명시된 바와 같다:
표 7
확장된 NAL 유닛 타입 코드들
Figure 112008071737311-pct00010
'0'이거나 또는 '24'...'63'의 범위 내에 있는 값인 extended_nal_unit_type를 사용하는 확장된 NAL 유닛들은 본 발명에서 설명되는 디코딩 처리에 영향을 주지 않는다. 확장된 NAL 유닛 타입들('0' 및 '24'...'63')은 애플리케이션에 의해 결정될 때 사용될 수 있다. nal_unit_type의 이러한 값들('0' 및 '24'...'63')에 대한 비디코딩 처리가 규정된다. 본 예에서, 디코더들은 extended_nal_unit_type의 예비된 값들을 사용하는 모든 확장된 NAL 유닛들의 컨텐츠를 무시할 수 있는데, 즉, 비트스트림으로부터 제거하거나 폐기할 수 있다. 이러한 잠재적인 요건은 호환적인 확장들의 추후 정의를 가능하게 한다. rbsp_byte 및 emulation_prevention_three_byte의 값들은 H.264 표준 규격의 조항 7에 규정된 바와 같다.
RBSP 시멘틱스
인핸스먼트 층 RBSP들의 시멘틱스는 H.264 표준 규격의 조항 7에 규정된 바와 같다.
슬라이스 헤더 시멘틱스
슬라이스 헤더 시멘틱스의 경우에, 신택스 엘리먼트 first_mb_in_slice는 슬라이스에서 제 1 매크로블록의 주소를 명시한다. 임의적인 슬라이스 순서가 허용되지 않을 때, first_mb_in_slice의 값은 디코딩 순서에 있어 현재의 슬라이스에 앞서는 현재 화상의 임의의 다른 슬라이스에 대한 first_mb_in_slice의 값보다 작지 않다. 슬라이스의 제 1 매크로블록 주소는 다음과 같이 유도될 수 있다. first_mb_in_slice의 값은 슬라이스에서 제 1 매크로블록의 매크로블록 주소이고, first_mb_in_slice는 '0' 내지 'PicSizeInMbs-1'의 범위 내에 있고, 여기서 PicSizeInMbs는 화상에서 메가바이트들의 수이다.
엘리먼트 enh_slice_type가 아래의 표 8에 따라 슬라이스의 코딩 타입을 명시한다.
표 8
enh_slice_type의 값에 대한 이름 연관성
Figure 112008071737311-pct00011
'5' 내지 '9'의 범위 내에 있는 enh_slice_type의 값은, 현재 슬라이스의 코딩 타입 이외에도, 현재 코딩된 화상의 모든 다른 슬라이스들이 enh_slice_type의 현재 값과 동일하거나 혹은 slice_type-5의 현재 값과 동일한 enh_slice_type의 값을 갖는다는 것을 명시한다. 다른 양상들에 있어서, enh_slice_type 값들('3', '4', '8' 및 '9')은 사용되지 않을 수 있다. extended_nal_unit_type가 순시 디코딩 리프레시(refresh)(IDR) 화상에 상응하는 '5'일 때, slice_type는 '2', '4', '7', 또는 '9'일 수 있다.
신택스 엘리먼트 pic_parameter_set_id는 상응하는 base_layer_slice의 pic_parameter_set_id로서 명시된다. 인핸스먼트 층 NAL 유닛 내의 엘리먼트 frame_num은 동일 위치에 존재하는 베이스 층의 슬라이스와 동일할 것이다. 마찬가지로, 인핸스먼트 층 NAL 유닛 내의 엘리먼트 pic_order_cnt_lsb는 동일 위치에 존재하는 베이스 층의 슬라이스(base_layer_slice)에 대한 pic_order_cnt_lsb와 동일할 것이다. delta_pic_order_cnt_bottom, delta_pic_order_cnt[0], delta_pic_order_cnt[1], 및 redundant_pic_cnt 시멘틱스에 대한 시멘틱스들은 H.264 표준의 조항 7.3.3에 규정된 바와 같다. 엘리먼트 decoding_mode_flag는 아래의 표 9에 제시된 바와 같이 인핸스먼트 층 슬라이스에 대한 디코딩 처리를 명시한다.
표 9
decoding_mode_flag에 대한 설명
decoding_mode_flag 처리
0 픽셀 도메인 가산
1 계수 도메인 가산
위의 표 9에 있어서, NAL 유닛에서 '0'인 decoding_mode_flag 값에 의해 표시된 픽셀 도메인 가산은 인핸스먼트 층 슬라이스가 단일 층 디코딩을 지원하기 위해 픽셀 도메인에서 베이스 층 슬라이스에 가산되어야 한다는 것을 의미한다. NAL 유닛에서 '1'인 decoding_mode_flag 값에 의해 표시된 계수 도메인 가산은 인핸스먼트 층 슬라이스가 단일 층 디코딩을 지원하기 위해 계수 도메인에서 베이스 층 슬라이스에 가산될 수 있다는 것을 의미한다. 따라서, decoding_mode_flag는 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부를 표시하는 신택스 엘리먼트를 제공한다.
픽셀 도메인 가산 결과들은 다음과 같이 픽셀 도메인에서 베이스 층 슬라이스에 인핸스먼트 층 슬라이스가 가산되게 하는데:
Figure 112008071737311-pct00012
여기서, Y는 루미넌스를 표시하고, Cb는 청색 루미넌스를 표시하고, Cr은 적색 크로미넌스를 표시하며, Clip1Y는 다음과 같은 수학 함수이고:
Figure 112008071737311-pct00013
Clip1C는 다음과 같은 수학 함수이며:
Figure 112008071737311-pct00014
Clip3은 본 명세서의 다른 곳에서 설명된다. 상기 수학 함수들 Clip1y, Clip1c 및 Clip3은 H.264 표준에 정의되어 있다.
계수 도메인 가산은 다음과 같이 계수 도메인에서 베이스 층 슬라이스에 인핸스먼트 층 슬라이스가 가산되게 하는데:
Figure 112008071737311-pct00015
여기서, k는 인핸스먼트 층 QP 스케일에 대해 베이스 층 계수들을 조정하기 위해서 사용되는 스케일링 팩터이다.
인핸스먼트 층 NAL 유닛 내의 신택스 엘리먼트 refine_intra_MB는 비-I 슬라이스 내의 인핸스먼트 층에 있는 인트라 MB들을 개선할지 여부를 명시한다. 만약 refine_intra_MB가 '0'이라면, 인트라 MB는 인핸스먼트 층에서 개선되지 않고, 그러한 MB들은 인핸스먼트 층에서 스킵될 것이다. 만약 refine_intra_MB가 '1'이라면, 인트라 MB는 인핸스먼트 층에서 개선된다.
엘리먼트 slice_qp_delta는 매크로블록 층의 mb_qp_delta 값에 의해 변경될 때까지 슬라이스 내의 모든 매크로블록들에 대해 사용될 루마 양자화 파라미터 QPY의 초기 값을 규정한다. 상기 슬라이스에 대한 초기 QPY 양자화 파라미터는 다음과 같이 계산된다:
Figure 112008071737311-pct00016
slice_qp_delta의 값은 QPY가 '0' 내지 '51'의 범위 내에 있도록 제한될 수 있다. pic_init_qp_minus26의 값은 초기 QP 값을 표시한다.
슬라이스 데이터 시멘틱스
인핸스먼트 층 슬라이스 데이터의 시멘틱스는 H.264 표준의 조항 7.4.4에 규정된 바와 같을 수 있다.
매크로블록 층 시멘틱스
매크로블록 층 시멘틱스에 대해서, 엘리먼트 enh_coded_block_pattern은 6 개의 8×8 블록들(루마 및 크로마) 중 어느 것이 비-제로 변환 계수 레벨들을 포함할 수 있는지를 규정한다. 엘리먼트 mb_qp_delta 시멘틱스는 H.264 표준의 조항 7.4.5에 규정된 바와 같을 수 있다. 신택스 엘리먼트 coded_block_pattern에 대한 시멘틱스는 H.264 표준의 조항 7.4.5에 규정된 바와 같을 수 있다.
Intra 16×16 매크로블록 코딩된 블록 패턴(CBP) 시멘틱스
refine_intra_mb_flag가 '1'일 때 I 슬라이스들 및 P 슬라이스들의 경우에, 아래의 설명은 Intra 16×16 CBP 시멘틱스를 정의한다. Intra_16×16과 동일한 자신들의 동일 위치에 존재하는 베이스 층 매크로블록 예측 모두를 가진 매크로블록들은 상기 동일 위치에 존재하는 베이스 층 매크로블록의 intra_16×16 예측 모드(BaseLayerIntra 16×16PredMode) 및 그들의 AC 계수들의 값들에 따라서 4 개의 쿼터-매크로블록들로 분할될 수 있다. 만약 베이스 층 AC 계수들이 모두 제로이고 적어도 하나의 인핸스먼트 층 AC 계수가 비제로라면, 인핸스먼트 층 매크로블록은 BaseLayerIntra 16×16PredMode에 따라 4 개의 매크로블록 구획들로 분할된다.
매크로블록 분할은 쿼터-매크로블록들로 지칭되는 구획들을 생성한다. 각각의 쿼터-매크로블록은 4×4개의 쿼터-매크로블록 구획들로 더 분할될 수 있다. 도 10 및 도 11은 매크로블록들 및 쿼터-매크로블록들의 분할을 나타내는 개략도이다. 도 10은 베이스 층 intra_16×16 예측 모드들 및 공간 위치들에 상응하는 그들의 인덱스들에 기초하여 인핸스먼트 층 매크로블록 구획들을 나타낸다. 도 11은 도 10에 도시된 매크로블록 구획들 및 공간 위치들에 상응하는 그들의 인덱스들에 기초하는 인핸스먼트 층 쿼터-매크로블록 구획들을 나타낸다.
도 10은 4*16 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4 개의 MB 구획들을 구비하는 Intra_16×16_Vertical 모드, 16*4 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4 개의 MB 구획들을 구비하는 Intra_16×16_Horizontal 모드, 및 8*8 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4 개의 매크로블록 구획들을 구비하는 Intra_16×16_DC 또는 Intra_16×16_Planar 모드를 나타낸다.
도 11은 4*4 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4개의 쿼터 매크로블록 수직 구획들, 4*4 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4개의 쿼터 매크로블록 수평 구획들, 및 4*4 루마 샘플들 및 상응하는 크로마 샘플들을 각각 갖는 4개의 쿼터 매크로블록 DC 또는 평면 구획들을 나타낸다.
각각의 매크로블록 구획은 mbPartIdx로 지칭된다. 각각의 쿼터-매크로블록 구획은 qtrMbPartIdx로 지칭된다. mbPartIdx 및 qtrMbPartIdx 모두는 '0', '1', '2', 또는 '3'인 값들을 가질 수 있다. 매크로블록 및 쿼터-매크로블록 구획들은 도 10 및 도 11에 도시된 바와 같이 인트라 개선(intra refinement)을 위해 스캐닝된다. 직사각형들은 구획들을 지칭한다. 각각의 직사각형의 번호는 매크로블록 구획 스캔 또는 쿼터-매크로블록 구획 스캔의 인덱스를 명시한다.
'1'인 엘리먼트 mb_intra 16×16_luma_flag는 Intra 16×16 ACLevel의 적어도 하나의 계수가 제로가 아니라는 것을 명시한다. '0'인 Intra 16×16_luma_flag는 Intra 16×16 ACLevel의 모든 계수들이 제로라는 것을 명시한다.
'1'인 엘리먼트 mb_intra 16×16_luma_part_flag[mbPartIdx]는 매크로블록 구획 mbPartIdx의 Intra 16×16 ACLevel의 적어도 하나의 비제로 계수가 존재한다는 것을 명시한다. '0'인 mb_intra 16×16_luma_part_flag[mbPartIdx]는 매크로블록 구획 mbPartIdx의 Intra 16×16 ACLevel의 모든 계수들이 0 이라는 것을 명시한다.
'1'인 엘리먼트 qtr_mb_intra 16×16_luma_part_flag[mbPartIdx][qtrMbPartIdx]는 쿼터-매크로블록 구획 qtrMbPartIdx의 Intra 16×16 ACLevel에 적어도 하나의 비제로 계수가 존재한다는 것을 명시한다.
'0'인 엘리먼트 qtr_mb_intra 16×16_luma_part_flag[mbPartIdx][qtrMbPartIdx]는 쿼터-매크로블록 구획 qtrMbPartIdx의 Intra 16×16 ACLevel의 모든 계수들이 0 이라는 것을 명시한다. '1'인 엘리먼트 mb_intra 16×16_chroma_flag는 적어도 하나의 크로마 계수는 제로가 아니라는 것을 명시한다.
'0'인 엘리먼트 mb_intra 16×16_chroma_flag는 모든 크로마 계수들이 제로라는 것을 명시한다. '1'인 엘리먼트 mb_intra 16×16_chroma_AC_flag는 mb_ChromaACLevel의 적어도 하나의 크로마 계수는 제로가 아니라는 것을 명시한다. '0'인 mb_intra 16×16_chroma_AC_flag는 mb_ChromaACLevel의 모든 계수들이 제로라는 것을 명시한다.
잔류 데이터 시멘틱스
잔류 데이터의 시멘틱스는, 본 발명에서 설명된 잔류 블록 CAVLC 시멘틱스를 제외하고, H.264 표준의 조항 7.4.5.3에 규정된 바와 같을 수 있다.
잔류 데이터 CAVLC 시멘틱스
잔류 블록 CAVLC 시멘틱스가 다음과 같이 제공될 수 있다. 특히, enh_coeff_token은 변환 계수 레벨 스캔에서 비제로 변환 계수 레벨들의 총 수를 명시한다. TotalCeoff(enh_coeff_token) 함수는 enh_coeff_token으로부터 유도되는 비제로 변환 계수 레벨들의 수를 다음과 같이 반환한다:
1. enh_coeff_token이 '17'일 때, TotalCoeff(enh_coeff_token)은 H.264 표준의 조항 7.4.5.3.1에 규정된 바와 같다.
2. enh_coeff_token이 '17'이 아닐 때, TotalCoeff(enh_coeff_token)은 enh_coeff_token과 동일하다.
enh_coeff_sign_flag는 비제로 변환 계수 레벨의 부호를 명시한다. Total_zeros 시멘틱스는 H.264 표준의 조항 7.4.5.3.1에 규정된 바와 같다. run_before 시멘틱스는 H.264 표준의 조항 7.4.5.1에 규정된 바와 같다.
확장들을 위한 디코딩 처리들
I 슬라이스 디코딩
스케일가능성 확장들을 위한 디코딩 처리들이 이제 더 상세히 설명될 것이다. 베이스 층 및 인핸스먼트 층 모두로부터의 데이터가 이용가능할 때 I 프레임을 디코딩하기 위해서, 두 경로 디코딩이 디코더(28)에서 구현될 수 있다. 상기 두 경로 디코딩 처리는 일반적으로 앞서 설명된 바와 같이 그리고 다음과 같이 반복적으로 동작한다. 먼저, 베이스 층 프레임 Ib가 일반 I 프레임으로서 재구성된다. 다음으로, 동일 위치에 존재하는 인핸스먼트 층 I 프레임이 P 프레임으로서 재구성된다. 다음으로, 이 P 프레임에 대한 기준 프레임은 상기 재구성된 베이스 층 I 프레임이다. 또한, 상기 재구성된 인핸스먼트 층 P 프레임의 모든 움직임 벡터들은 제로이다.
인핸스먼트 층이 이용가능할 때, 각각의 핸스먼트 층 매크로블록은 동일 위치에 존재하는 베이스 층의 매크로블록으로부터의 모드 정보를 사용하여 잔류 데이터로서 디코딩된다. 베이스 층 I 슬라이스 Ib가 H.264 표준의 조항 8에서와 같이 디코딩될 수 있다. 인핸스먼트 층 매크로블록 및 그것의 동일 위치에 존재하는 베이스 층 매크로블록 모두가 디코딩된 이후에는, H.264 표준의 조항 2.1.2.3에 규정된 바와 같은 픽셀 도메인 가산이 최종의 재구성된 블록을 생성하기 위해 적용될 수 있다.
P 슬라이스 디코딩
P 슬라이스들에 대한 디코딩 처리에 있어서, 베이스 층 및 인핸스먼트 층 모두는 베이스 층에서 전송되는 동일한 모드 및 움직임 정보를 공유한다. 인터 매크로블록들에 대한 정보가 그 두 층들에 존재한다. 즉, 인트라 MB들에 속하는 비트들이 베이스 층에만 존재하고 인핸스먼트 층에는 어떠한 인트라 MB 비트들도 존재하지 않는 반면에, 인터 MB들 계수들은 그 두 층들에 걸쳐 분산된다. 동일 위치에 존재하는 베이스 층이 스킵된 매크로블록들을 갖는 인핸스먼트 층 매크로블록들도 또한 스킵된다.
만약 refine_intra_mb_flag가 '1'이라면, 인트라 매크로블록에 속하는 정보는 두 층들에 존재하고, decoding_mode_flag는 '0'이어야 한다. 그렇지 않고, refine_intra_mb_flag가 '0'일 때는, 인트라 매크로블록에 속하는 정보는 베이스 층에만 존재하고, 동일 위치에 존재하는 베이스 층 인트라 매크로블록을 갖는 인핸스먼트 층 매크로블록들은 스킵된다.
P 슬라이스 인코딩 설계의 일양상에 따라, 인터 MB들의 두 층 계수 데이터는 엔트로피 디코딩 바로 직후에 그리고 역양자화 이전에 범용 프로세서에서 구현될 수 있는데, 그 이유는 역양자화 모듈이 하드웨어 코더에 위치하고 그것이 다른 모듈들과 파이프라인되기 때문이다. 그 결과, DSP 및 하드웨어 코어에 의해 처리될 MB들의 총 수는 단일 층 디코딩 경우와 동일할 수 있고, 하드웨어 코어는 단지 단일 디코딩을 수행한다. 이 경우에는, 하드웨어 코어 스케줄링을 변경할 필요가 없을 수 있다.
도 12는 P 슬라이스 디코딩을 나타내는 흐름도이다. 도 12에 도시된 바와 같이, 비디오 디코더(28)는 베이스 층 MB 엔트로피 디코딩을 수행한다(단계 160). 만약 현재의 베이스 층 MB가 인트라-코딩된 MB이거나 혹은 스킵된다면(단계 162), 비디오 디코더(28)는 다음 베이스 층 MB로 진행한다(단계 164). 그러나, 만약 MB가 인트라-코딩되거나 혹은 스킵된다면, 비디오 디코더(28)는 동일 위치에 존재하는 인핸스먼트 층 MB에 대해 엔트로피 디코딩을 수행하고(단계 166), 이어서 두 층들의 데이터, 즉, 엔트로피 디코딩된 베이스 층 MB 및 동일 위치에 존재하는 엔트로피 디코딩된 인핸스먼트 층 MB를 병합함으로써(단계 168), 역양자화 및 역변환 연산들을 위한 단일 층의 데이터를 생성한다. 도 12에 도시된 동작들은 역양자화 및 역변환을 위한 하드웨어 코어에 대한 단일의 병합된 층의 데이터를 처리하기 이전에 범용 프로세서 내에서 수행될 수 있다. 도 12에 도시된 절차에 기초해서, 디코딩된 화상 버퍼(dpb)의 관리는 단일 층 디코딩과 동일하거나 혹은 거의 동일하고, 어떠한 추가적인 메모리도 필요로 하지 않을 수 있다.
인핸스먼트 층 인트라 매크로블록 디코딩
인핸스먼트 층 인트라 매크로블록 디코딩의 경우에는, 변환 계수들의 엔트로피 디코딩 동안에, CAVLC가 베이스 층 디코딩 및 인핸스먼트 층 디코딩에서 상이하 게 처리되는 컨텍스트 정보를 필요로할 수 있다. 그 컨텍스트 정보는 현재 블록(blkA)의 좌측에 위치되는 변환 계수 레벨들의 블록 및 현재 블록(blkB)의 위에 위치하는 변환 계수 레벨들의 블록에서 비제로 변환 계수 레벨들의 수(TotalCoeff(coeff_token)에 의해 제공됨)를 포함한다.
동일 위치에 존재하는 비제로 계수 베이스 층 매크로블록으로 인핸스먼트 층 인트라 매크로블록들을 엔트로피 디코딩하는 경우에, coeff_token을 디코딩하기 위한 컨텍스트는 동일 위치에 존재하는 베이스 층 블록들에서 비제로 계수들의 수이다. 계수들이 동일 위치에 존재하는 모두 제로인 베이스 층 매크로블록으로 인핸스먼트 층 인트라 매크로블록들을 엔트로피 디코딩하는 경우에, coeff_token을 디코딩하기 위한 컨텍스트는 인핸스먼트 층 컨텍스트이고, nA 및 nB는 현재 블록의 좌측에 위치하는 인핸스먼트 층 블록(blkA) 및 현재 블록의 위에 위치하는 베이스 층 블록(blkB)에서 비제로 변환 계수 레벨들의 수(TotalCoeff(coeff_token)에 의해 제공됨)이다.
엔트로피 디코딩 이후에는, 다른 매크로블록들의 엔트로피 디코딩 및 디블록킹을 위해서 정보가 디코더(28)에 의해 저장된다. 어떠한 인핸스먼트 층 디코딩도 갖지 않는 단지 베이스 층 디코딩의 경우에, 각 변환 블록의 TotalCoeff(coeff_token)는 저장된다. 이 정보는 다른 매크로블록들의 엔트로피 디코딩을 위한 컨텍스트로서 그리고 디블록킹을 제어하기 위해서 사용된다. 인핸스먼트 층 비디오 디코딩의 경우에, TotalCoeff(enh_coeff_token)이 컨텍스트로서 그리고 디블록킹을 제어하기 위해서 사용된다.
일양상에 있어서, 디코더(28) 내의 하드웨어 코어는 엔트로피 디코딩을 처리하도록 구성된다. 이 양상에 있어서, DSP는 제로 움직임 벡터를 갖는 P 프레임을 디코딩할 것을 하드웨어 코어에 알리도록 구성될 수 있다. 하드웨어 코어에 대해, 통상적인 IP 프레임이 디코딩되고 있고, 스케일가능한 디코딩은 투명하다. 또한, 단일 층 디코딩과 비교해서, 인핸스먼트 층 I 프레임을 디코딩하는 것은 일반적으로 통상적인 I 프레임 및 P 프레임의 디코딩 시간과 동일하다.
만약 I 프레임들의 빈도가 초당 한 프레임보다 크지 않다면, 추가적인 복잡성은 크지 않다. 만약 그 빈도가 초당 하나의 I 프레임보다 크다면(장면 바뀜 또는 어떠한 다른 이유로 인해서), 인코딩 알고리즘은 그러한 지정된 I 프레임들이 단지 베이스 층에서 인코딩되는 것을 보장할 수 있다.
enh_coeff_token에 대한 유도 처리
enh_coeff_token에 대한 유도 처리가 이제 설명될 것이다. 신택스 엘리먼트 enh_coeff_token가 아래의 표 10 및 표 11에 명시된 8 가지의 VLC들 중 하나를 사용하여 디코딩될 수 있다. 엘리먼트 enh_coeff_sign_flag는 비제로 변환 계수 레벨의 부호를 명시한다. 표 10 및 표 11의 VLC들은 27개의 MPEG2 디코딩된 시퀀스들에 걸친 통계 정보에 기초한다. 각각의 VLC는 주어진 코드워드 enh_coeff_token에 대한 TotalCoeff(enh_coeff_token)의 값을 명시한다. VLC 선택은 다음과 같이 유도되는 변수 numcoeff_vlc에 의존적이다. 만약 베이스 층에 배치된 매크로블록이 비제로 계수들을 갖는다면, 다음과 같은 사항들이 적용된다:
Figure 112008071737311-pct00017
그렇지 않다면, nC는 H.264 표준을 따르는 기술을 사용하여 구해지고, numcoeff_vlc가 다음과 같이 유도된다:
Figure 112008071737311-pct00018
Figure 112008071737311-pct00019
표 10
enh_coeff_token, numcoeff_vlc=0-3을 디코딩하기 위한 코드 표들
Figure 112008071737311-pct00020
표 11
enh_coeff_token, numcoeff_vlc=4-7을 디코딩하기 위한 코드 표들
Figure 112008071737311-pct00021
인핸스먼트 층 인터 매크로블록 디코딩
인핸스먼트 층 인터 매크로블록 디코딩이 이제 설명될 것이다. 인터 매크로블록(스킵된 매크로블록들은 제외)에 대해서, 디코더(28)는 베이스 층 및 인핸스먼트 층 모두로부터의 잔류 정보를 디코딩한다. 따라서, 디코더(28)는 각각의 매크로블록을 위해 필요할 수 있는 두 엔트로피 디코딩 처리들을 제공하도록 구성될 수 있다.
만약 베이스 층 및 인핸스먼트 층 모두가 매크로블록에 대한 비제로 계수들을 갖는다면, 이웃 매크로블록들에 대한 컨텍스트 정보가 coeff_token을 디코딩하기 위해서 그 두 층들 모두에서 사용된다. 각각의 층은 상이한 컨텍스트 정보를 사용한다.
엔트로핑 코딩 이후에, 정보는 다른 매크로블록들의 엔트로피 디코딩 및 디블록킹을 위한 컨텍스트 정보로서 저장된다. 베이스 층 디코딩의 경우에는, 디코딩된 TotalCoeff(coeff_token)이 저장된다. 인핸스먼트 층 디코딩의 경우에는, 베이스 층 디코딩된 TotalCoeff(coeff_token) 및 인핸스먼트 층 TotalCoeff(enh_coeff_token)이 개별적으로 저장된다. 파라미터 TotalCoeff(coeff_token)은 베이스 층에만 존재하는 인트라 매크로블록들을 포함하고 있는 베이스 층 매크로블록 coeff_token을 디코딩하기 위한 컨텍스트로서 사용된다. 합 TotalCoeff(coeff_token)+TotalCoeff(enh_coeff_token)이 인핸스먼트 층의 인터 매크로블록들을 디코딩하기 위한 컨텍스트로서 사용된다.
인핸스먼트 층 인터 매크로블록 디코딩
인터 MB들의 경우에, 스킵된 MB들을 제외하고, 만약 구현된다면, 잔류 정보가 베이스 층 및 인핸스먼트 층 모두에서 인코딩될 수 있다. 그 결과, 예컨대 도 5에 도시된 바와 같이 각각의 MB에 대해서 두 가지 엔트로피 디코딩들이 적용된다. 그 두 층들 모두가 MB에 대한 비제로 계수들을 갖는다고 가정하면, 이웃 MB들의 컨텍스트 정보가 coeff_token을 디코딩하기 위해 그 두 층들에서 제공된다. 각각의 층은 고유의 컨텍스트 정보를 갖는다.
엔트로피 디코딩 이후에는, 다른 MB들의 엔트로피 디코딩 및 디블록킹을 위해서 일부 정보가 저장된다. 만약 베이스 층 비디오 디코딩이 수행된다면, 베이스 층 디코딩된 TotalCoeff(coeff_token)이 저장된다. 만약 인핸스먼트 층 비디오 디코딩이 수행된다면, 베이스 층 디코딩된 TotalCoeff(coeff_token) 및 인핸스먼트 층 디코딩된 TotalCoeff(enh_coeff_token)이 개별적으로 저장된다.
파라미터 TotalCoeff(coeff_token)가 베이스 층에만 존재하는 인트라 MB들을 포함하는 베이스 층 MB coeff_token을 디코딩하기 위한 컨텍스트로서 사용된다. 베이스 층 TotalCoeff(coeff_token) 및 인핸스먼트 층 TotalCoeff(enh_coeff_token)의 합이 인핸스먼트 층의 인터 MB들을 디코딩하기 위한 컨텍스트로서 사용된다. 또한, 이 합은 인핸스먼트 층 비디오를 디블록킹하기 위한 파라미터로서 사용될 수도 있다.
역양자화는 집중적인 계산을 수반하기 때문에, 두 층들로부터의 계수들은 하드웨어 코어가 하나의 QP를 갖는 각각의 MB에 대해 한번씩 역양자화를 수행하도록 하기 위해서 역양자화 이전에 범용 마이크로프로세서에서 결합된다. 그 두 층들은 예컨대 아래의 섹션에서 설명되는 바와 같이 마이크로프로세서에서 결합될 수 있다.
코딩된 블록 패턴(CBP) 디코딩
인핸스먼트 층 매크로블록 cbp, 즉, enh_coded_block_pattern은 인핸스먼트 층 비디오 데이터의 인터-코딩된 블록들에 대한 코드 블록 패턴들을 표시한다. 일부 경우들에 있어서, enh_coded_block_pattern은 예컨대 아래의 표 12 내지 표 15에서 enh_cbp로 간략하게 표현될 수 있다. 높은 압축 효율을 통한 CBP 디코딩의 경우에, 인핸스먼트 층 매크로블록 cbp, 즉, enh_coded_block_pattern은 동일 위치에 존재하는 베이스 층 MB cbp base_coded_block_pattern에 따라 두 가지 상이한 방법들로 인코딩될 수 있다.
base_coded_block_pattern=0인 경우 1에 있어서, enh_coded_block_pattern은 예컨대 베이스 층과 동일한 방식으로 H.264 표준에 따라 인코딩될 수 있다. base_coded_block_pattern≠0인 경우 2에 있어서는, 아래의 해결책이 enh_coded_block_pattern을 전달하기 위해서 사용될 수 있다. 이러한 해결책은 아래의 3 단계들을 포함할 수 있다:
단계 1. 이 단계에서는, 상응하는 베이스 층 coded_block_pattern 비트가 '1'인 각각의 루마 8×8 블록에 대해서, 1 비트를 페치(fetch)한다. 각각의 비트는 인핸스먼트 층의 동일 위치에 존재하는 8×8 블록에 대한 enh_coded_block_pattern이다. 페치된 비트는 개선 비트(refinement bit)로서 지칭될 수 있다. 8×8 블록이 설명을 위한 예로서 사용된다는 것을 알아야 한다. 그러므로, 상이한 크기의 다른 블록들이 적용될 수 있다.
단계 2. 베이스 층에서 크로마 블록 cbp 및 비제로 루마 8×8 블록들의 수에 기초하여, 아래의 표 12에 제시된 바와 같은 9 가지의 결합들이 존재한다. 각각의 결합은 나머지 enh_coded_block_pattern 정보의 디코딩을 위한 컨텍스트이다. 표 12에서, cbpb,C는 베이스 층 크로마 cbp를 의미하고, ∑cbpb,Y(b8)은 비제로 베이스 층 루마 8×8 블록들의 수를 나타낸다. cbpe,C 및 cbpe,Y 열들은 컨텍스트들 4 및 9를 제외하고, 코딩되지 않은 enh_coded_block_pattern 정보에 대한 새로운 cbp 포맷을 나타낸다. cbpe,Y에서, "x"는 8×8 블록에 대한 1 비트를 의미하고, 반면에 cbpe,C에서, "xx"는 '0', '1' 또는 '2'를 의미한다.
상이한 컨텍스트들에 기초하여 enh_coded_block_pattern를 디코딩하기 위한 코드 표들이 아래의 표 13 및 표 14에 명시되어 있다.
단계 3. 컨텍스트들 4 및 9에 대해서, enh_chroma_coded_block_pattern(enh_chroma_cbp로 간략하게 표현될 수 있음)은 아래의 표 15의 코드북을 사용하여 개별적으로 디코딩된다.
표 12
enh_coded_block_pattern(enh_cbp)의 디코딩을 위해 사용되는 컨텍스트들
Figure 112008071737311-pct00022
상이한 컨텍스트들에 대한 코드북들이 표 13 및 표 14에 제시되어 있다. 이러한 코드북들은 27 개의 MPEG 디코딩된 시퀀스들에 걸친 통계적인 정보에 기초한다.
표 13
enh_coded_block_pattern(enh_cbp)를 위한 컨텍스트들 1-3에 대한 호프만 코 드워드들
Figure 112008071737311-pct00023
표 14
enh_coded_block_pattern(enh_cbp)를 위한 컨텍스트들 5-7에 대한 호프만 코 드워드들
Figure 112008071737311-pct00024
단계 3. 컨텍스트들 4-9에 대해서, enh_cbp는 아래의 표 15에 제시된 코드북을 사용하여 개별적으로 디코딩될 수 있다.
표 15
enh_chroma_coded_block_pattern(enh_chroma_cbp)에 대한 코드워드
Figure 112008071737311-pct00025
양자화 파라미터들에 대한 유도 처리
양자화 파라미터들(QP들)에 대한 유도 처리가 이제 설명될 것이다. 각각의 매크로블록에 대한 신택스 엘리먼트 mb_qp_delta가 매크로블록 QP를 전달한다. 공칭 베이스 층 QP, 즉, QPb는 또한 base_layer_slice의 매크로블록들에서 mb_qp_delta를 사용하여 명시되어 있는 베이스 층에서의 양자화를 위해 사용되는 QP이다. 공칭 층 QP, 즉, QPe는 또한 enh_macroblock_layer에서 mb_qp_delta를 사용하여 명시되어 있는 인핸스먼트 층에서의 양자화를 위해 사용되는 QP이다. QP 유도의 경우에, 비트들을 절약하기 위해서, 베이스 층과 인핸스먼트 층 간의 QP 차이가 각각의 인핸스먼트 층 매크로블록에 대한 mb_qp_delta를 전송하는 대신에 일정하게 유지될 수 있다. 이러한 방식으로, 두 층들 간의 QP 차이 mb_qp_delta는 단지 프레임 단위로 전송된다.
QPb 및 QPe에 기초하여, 차이 QP로 지칭되는 delta_layer_qp가 다음과 같이 정의된다:
Figure 112008071737311-pct00026
인핸스먼트 층을 위해 사용되는 양자화 QP QPe,Y가 다음의 두 팩터들에 기초하여 유도된다: (a) 베이스 층에 비제로 계수 레벨들의 존재 및 (b) delta_layer_qp. 인핸스먼트 층 계수들에 대한 단일 역양자화 연산을 용이하게 하기 위해서, delta_qp는 delta_layer_qp%6=0이도록 제약될 수 있다. 이러한 두 가지의 양들이 제공되면, QP가 다음과 같이 유도된다:
1. 만약 베이스 층에 동일 위치에 존재하는 MB가 비제로 계수를 갖지 않는다면, 공칭 QPe가 사용될 것인데, 그 이유는 단지 인핸스먼트 계수들만이 디코딩될 필요가 있기 때문이다.
Figure 112008071737311-pct00027
2. 만약 delta_layer_qp%6=0이면, QPe가 비제로 계수들이 존재하는지 여부에 상관없이 인핸스먼트 층을 위해 여전히 사용된다. 이는 양자화 스텝 사이즈가 QP에서 매 6의 증분마다 두 배가 된다는 사실에 기초한다.
아래의 연산은 Cb 및 Ce로 각각 정의된 베이스 층 및 인핸스먼트 층 계수들을 병합하기 위한 역양자화 처리(Q-1로 표기됨)를 설명하는데:
Figure 112008071737311-pct00028
여기서, Fe는 역양자화된 인핸스먼트 층 계수들을 나타내고, Q-1은 역양자화 함수를 표시한다.
만약 베이스 층에 동일 위치에 존재하는 매크로블록이 비제로 계수들을 갖고 또한 delta_layer_qp%6≠0라면, 베이스 및 인핸스먼트 층 계수들의 역양자화는 QPb 및 QPe를 각각 사용한다. 인핸스먼트 층 계수들은 다음과 같이 유도된다:
Figure 112008071737311-pct00029
크로마 QP들(QPbase,C 및 QPenh,C)의 유도는 루마 QP들(QPb,Y 및 QPe,Y)에 기초한다. 먼저, 다음과 같이
Figure 112008071737311-pct00030
이 계산되는데:
Figure 112008071737311-pct00031
여기서, x는 베이스에 대한 "b" 또는 인핸스먼트에 대한 "e"를 의미하고, chroma_qp_index_offset가 화상 파라미터 세트에서 정의되고, Clip3은 아래의 수학 함수이다:
Figure 112008071737311-pct00032
QPx,C의 값이 아래의 표 16에 명시된 바와 같이 결정될 수 있다.
표 16
Figure 112008071737311-pct00033
에 따른 QP x,C 의 열거
Figure 112008071737311-pct00034
인핸스먼트 층 비디오의 경우에, 역양자화 동안에 유도된 MB QP들은 디블록킹에서 사용된다.
디블록킹
디블록킹을 위해서, 디블록킹 필터 처리가 disable_deblocking_filter_idc에 의해 디스에이블되는 프레임의 경계에 있는 에지들 및 임의의 에지들의 제외하고 프레임의 모든 4×4 블록 에지들에 적용될 수 있다. 이러한 필터링 처리는 매크로블록 어드레스들의 순서에 따라 처리되는 프레임의 모든 매크로블록들을 통한 프레임 구성 처리를 완료한 이후에 매크로블록(MB)에 기초하여 수행된다.
도 13은 루마 및 크로마 디블록킹 필터 처리를 나타내는 개략도이다. 루마 및 크로마 성분들에 대한 디블록킹 필터 처리가 개별적으로 호출된다. 각각의 매크로블록에 대해, 수직 에지들이 제일먼저 좌측으로부터 우측으로 필터링되고, 이어서 수평 에지들이 상단으로부터 하단으로 필터링된다. 16×16 매크로블록의 경우에는, 예컨대 도 13에 도시된 바와 같이 수평 방향 및 수직 방향에 대해서, 루마 디블록킹 필터 처리가 4 개의 16-샘플 에지들에 대해 수행되고, 각각의 크로마 성분에 대한 디블록킹 필터 처리가 2 개의 8-샘플 에지들에 대해 수행된다. 필터링될 매크로블록에서의 루마 경계들은 도 13에서 굵은 선들로 도시되어 있다. 도 13은 필터링될 매크로블록에서의 크로마 경계들을 점선들로 나타내고 있다.
도 13에서, 참조번호들(170, 172)은 루마 및 크로마 필터링을 위한 수직 에지들을 각각 나타낸다. 참조번호들(174, 176)은 루마 및 크로마 필터링을 위한 수평 에지들을 각각 나타낸다. 이전 매크로블록들에 대한 디블록킹 필터 처리 동작에 의해서 이미 변경되었을 수 있는 현재 매크로블록의 위 및 좌측으로의 샘플 값들이 현재 매크로블록에 대한 디블록킹 필터 처리의 입력으로서 사용되고, 또한 현재 매크로블록의 필터링 동안에 추가적으로 변경될 수 있다. 수직 에지들의 필터링 동안에 변경된 샘플 값들은 동일한 매크로블록에 대한 수평 에지들의 필터링을 위한 입력으로서 사용된다.
H.264 표준에서는, MB 모드들, 비제로 변환 계수 레벨들의 수 및 움직임 정보가 경계 필터링 강도를 결정하기 위해 사용된다. MB QP들이 입력 샘플들이 필터링되는지 여부를 표시하는 임계치를 획득하기 위해 사용된다. 베이스 층 디블록킹의 경우에, 이러한 정보 피스들(pieces of information)은 정확하다(straightforward). 인핸스먼트 층 비디오의 경우에는, 적절한 정보가 생성된다. 이 예에서, 상기 필터링 처리는 pi 및 qi(도 14에 도시된 바와 같이 i=0, 1, 2, 또는 3임)로 표기된 4×4 블록의 수평 또는 수직 에지에 걸친 8 개의 샘플들로 이루어진 세트에 적용되는데, 에지(178)는 p0와 q0 사이에 놓인다. 도 14는 i=0 내지 3을 갖는 pi 및 qi를 명시한다.
인핸스먼트 I 프레임의 디코딩은 디코딩된 베이스 층 I 프레임 및 층간 예측된 잔류 가산을 필요로할 수 있다. 디블록킹 필터가 인핸스먼트 층 I 프레임을 예측하기 위해 사용되기 이전에 상기 재구성된 베이스 층 I 프레임에 적용된다. 인핸스먼트 층 I 프레임을 디블록킹하기 위해서 I 프레임 디블록킹에 표준적인 기술을 적용하는 것은 바람직하지 않을 수 있다. 대안으로서, 아래의 기준이 경계 필터링 강도(bS)를 유도하기 위해 사용될 수 있다. 가변적인 bS가 다음과 같이 유도될 수 있다. bS의 값은 아래의 조건들 중 어느 하나가 충족될 경우에 '2'로 설정된다:
a. 샘플 p0를 포함하고 있는 4×4 루마 블록이 비제로 변환 계수 레벨들을 포함하고 또한 인트라 4×4 매크로블록 예측 모드를 사용하여 코딩된 매크로블록에 있거나, 또는
b. 샘플 q0를 포함하고 있는 4×4 루마 블록이 비제로 변환 계수 레벨들을 포함하고 또한 인트라 4×4 매크로블록 예측 모드를 사용하여 코딩된 매크로블록에 있다.
위의 조건들 중 어느 것도 충족되지 않는다면, bS 값은 '1'로 설정된다.
P 프레임들의 경우에, 스킵된 MB들을 제외하고 인터 MB들의 잔류 정보는 베이스 층 및 인핸스먼트 층 모두에서 인코딩될 수 있다. 단일 디코딩으로 인해, 두 층들로부터 알려진 계수들은 결합된다. 비제로 변환 계수 레벨들의 수가 디블록킹에서 경계 강도를 결정하는데 사용되기 때문에, 디블록킹에서 사용될 인핸스먼트 층에서 각 4×4 블록의 비제로 변환 계수들 레벨들의 수를 계산하는 방법을 정하는 것은 중요하지 않다. 상기 수를 부적절하게 증가시키거나 감소시키는 것은 화상을 오버해서 평화시키거나 혹은 블록킹현상(blockiness)을 초래할 수 있다. 가변적인 bS가 다음과 같이 유도된다:
1. 만약 블록 에지가 또한 매크로블록 에지이고 또한 샘플들(p0 및 q0)이 모두 프레임 매크로블록 내에 있고, 또한 샘플들(p0 또는 q0) 중 어느 하나가 인트라 매크로블록 예측 모드를 사용하여 코딩된 매크로블록 내에 있다면, bS에 대한 값은 '4'이다.
2. 그렇지 않고, 만약 샘플들(p0 또는 q0) 중 어느 하나가 인트라 매크로블록 예측 모드를 사용하여 코딩된 매크로블록 내에 있다면, bS에 대한 값은 '3'이다.
3. 그렇지 않고, 만약 베이스 층에서 샘플(po)을 포함하는 4×4 루마 블록이나 또는 샘플(qo)을 포함하는 4×4 루마 블록이 비제로 변환 계수 레벨들을 포함하거나, 혹은 인핸스먼트 층에서 샘플(po)을 포함하는 4×4 루마 블록이나 또는 샘플(q0)을 포함하는 4×4 루마 블록이 비제로 변환 계수 레벨들을 포함한다면, bS에 대한 값은 '2'이다.
4. 그렇지 않다면, bS에 대해 '1'의 값을 출력하거나, 혹은 대안적으로는 상기 표준적인 해결책을 사용한다.
채널 스위치 프레임들
채널 스위치 프레임들이 하나 이상의 보충 인핸스먼트 정보(SEI) NAL 유닛들에 인캡슐화될 수 있고, SEI 채널 스위치 프레임(CSF)으로서 지칭될 수 있다. 일실시예에서, SEI CSF는 '22'인 payloadTypefield를 갖는다. SEI 메시지에 대한 RBSP 신택스는 H.264 표준의 조항 7.3.2.3에 규정된 바와 같다. SEI RBSP 및 SEI CSF 메시지는 아래의 표 17 및 표 18에 제시된 바와 같이 제공될 수 있다.
표 17
SEI RBSP 신택스
Figure 112008071737311-pct00035
표 18
SEI CSF 메시지 신택스
Figure 112008071737311-pct00036
채널 스위치 프레임 슬라이스 데이터의 신택스는 H.264 표준의 조항 7에 규정되어 있는 베이스 층 I 슬라이스 또는 P 슬라이스의 신택스와 동일할 수 있다. 채널 스위치 프레임(CSF)는 독립적인 전송 프로토콜 패킷에 인캡슐화될 수 있음으로써, 코딩된 비트스트림 내의 랜덤한 액세스 포인트들로의 가시성을 가능하게 한다. 채널 스위치 프레임을 통신하기 위해서 상기 층에 대해 어떠한 제약도 존재하지 않는다. 그것은 베이스 층 또는 인핸스먼트 층 중 어느 하나에 포함될 수 있다.
채널 스위치 프레임 디코딩의 경우에, 만약 채널 변경 요청이 개시된다면, 상기 요청된 채널 내의 채널 스위치 프레임이 디코딩될 것이다. 만약 채널 스위치 프레임이 SEI CSF 메시지에 포함되어 있다면, 베이스 층 I 슬라이스를 위해 사용되는 디코딩 처리가 SEI CSF를 디코딩하는데 사용될 것이다. SEI CSF와 함께 공존하는 P 슬라이스는 디코딩되지 않을 것이고, 채널 스위치 프레임의 앞에서 출력 순서 를 갖는 B 화상들은 중단된다. 나중 화상들의 디코딩 처리에 대해 어떠한 변경도 존재하지 않는다(출력 순서의 의미에서).
도 15는 낮은 복잡성의 비디오 스케일가능성을 지원하기 위해서 여러 예시적인 신택스 엘리먼트들을 갖는 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치(180)를 나타낸 블록도이다. 장치(180)는 제 1 NAL 유닛에 베이스 층 비디오 데이터를 포함시키기 위한 모듈(182), 제 2 NAL 유닛에 인핸스먼트 층 비디오 데이터를 포함시키기 위한 모듈(184), 및 제 2 NAL 유닛에 인핸스먼트 층 비디오 데이터가 존재함을 표시하기 위해서 제 1 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 모듈(186)을 포함한다. 일예에 있어서, 장치(180)는 도 1 및 도 3에 도시된 바와 같이 브로드캐스트 서버(12)의 일부를 형성할 수 있으며, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 적절한 결합에 의해 구현될 수 있다. 예컨대, 모듈(182)은 도 3의 베이스 층 인코더(32) 및 NAL 유닛 모듈(23)에 대한 하나 이상의 양상들을 포함할 수 있는데, 그것은 베이스 층 비디오 데이터를 인코딩하고 또한 인코딩된 베이스 층 비디오 데이터를 NAL 유닛에 포함시킬 수 있다. 게다가, 일예로서, 모듈(184)은 인핸스먼트 층 인코더(34) 및 NAL 유닛 모듈(23)에 대한 하나 이상의 양상들을 포함할 수 있는데, 그것은 인핸스먼트 층 비디오 데이터를 인코딩하며 또한 인코딩된 인핸스먼트 층 비디오 데이터를 NAL 유닛에 포함시킨다. 모듈(186)은 NAL 유닛 모듈(23)에 대한 하나 이상의 양상들을 포함할 수 있는데, 그것은 제 2 NAL 유닛에 인핸스먼트 층 비디오 데이터가 존재함을 표시하기 위해서 제 1 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시킨다. 일예에서는, 하나 이상의 신택스 엘리먼트들이 인핸스먼트 층 비디오 데이터가 제공되는 제 2 NAL 유닛을 통해 제공된다.
도 16은 낮은 복잡성의 비디오 스케일가능성을 지원할 목적으로 여러 예시적인 신택스 엘리먼트들을 처리하기 위해서 스케일가능한 비디오 비트스트림을 디코딩하는 디지털 비디오 디코딩 장치(188)를 나타내는 블록도이다. 디지털 비디오 디코딩 장치(188)는 도 1 또는 도 3의 가입자 장치(16)와 같은 가입자 장치나 도 1의 비디오 디코더(14)에 존재할 수 있고, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 적절한 결합에 의해 구현될 수 있다. 장치(18)는 제 1 NAL 유닛을 통해 베이스 층 비디오 데이터를 수신하기 위한 모듈(190), 제 2 NAL 유닛을 통해 인핸스먼트 층 비디오 데이터를 수신하기 위한 모듈(192), 제 2 NAL 유닛에 인핸스먼트 층 비디오 데이터가 존재함을 표시하기 위해서 제 1 및 제 2 NAL 유닛들 중 적어도 하나를 통해 하나 이상의 신택스 엘리먼트들을 수신하기 위한 모듈(194), 및 제 2 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들에 의해서 제공되는 표시에 기초하여 제 2 NAL 유닛 내의 디지털 비디오 데이터를 디코딩하기 위한 모듈(196)을 포함한다. 일양상에 있어서, 하나 이상의 신택스 엘리먼트들은 인핸스먼트 층 비디오 데이터가 제공되게 하는 제 2 NAL 유닛을 통해서 제공된다. 일예로서, 모듈(190)은 도 3의 가입자 장치(16)의 수신기/복조기(26)를 포함할 수 있다. 이 예에서, 모듈(192)은 또한 수신기/복조기(26)를 포함할 수 있다. 모듈(194)은, 일부 예시적인 구성들에 있어서, 도 3의 NAL 유닛 모듈(27)과 같은 NAL 유닛 모듈을 포함할 수 있는데, 그것은 NAL 유닛들 내의 신택스 엘리먼트들을 처리한다. 모듈(196)은 도 3의 비디오 디코더(28)와 같은 비디오 디코더를 포함할 수 있다.
본 명세서에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 만약 소프트웨어로 구현된다면, 그 기술들은 컴퓨터-판독가능 매체 상의 하나 이상의 저장되거나 전송된 명령들 또는 코드에 의해서 적어도 부분적으로 구현될 수 있다. 컴퓨터-판독가능 매체들은 컴퓨터 저장 매체들, 통신 매체들, 또는 그 둘 모두를 포함할 수 있고, 한 곳으로부터 다른 곳으로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함할 수 있다. 저장 매체는 컴퓨터에 의해서 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다.
일예로서, 그리고 비제한적으로, 이러한 컴퓨터-판독가능 매체들은 SDRAM(synchronous dynamic random access memory)와 같은 RAM, ROM(read-only memory), NVRAM(non-volatile random access memory), EEPROM(electrically erasable programmable read-only memory), FLASH 메모리, CD-ROM이나 다른 광학 디스크 저장부, 자기 디스크 저장부나 다른 자기 저장 장치들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 전달하거나 저장하기 위해 사용될 수 있으면서 또한 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.
또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 불린다. 예컨대, 만약 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축케이블, 광섬유 케 이블, 꼬임쌍선(twisted pair), DSL(digital subscriber line), 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 사용하여 전송된다면, 상기 동축케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. disk 및 disc는, 본 명세서에서 사용되는 바와 같이, disk들이 일반적으로 데이터를 자기적으로 재생하는 CD(compact disc), laser disc, optical disc, DVD(digital versatile disc), floppy disk 및 blue-ray disc를 포함하는 반면에, disc들은 예컨대 레이저들을 통해서 광학적으로 데이터를 재생한다. 위의 것들의 결합들도 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
컴퓨터 프로그램 제품의 컴퓨터-판독가능 매체와 연관된 코드가 컴퓨터에 의해서, 예컨대 하나 이상의 DSP들(digital signal processors), 범용 마이크로프로세서들, ASIC들(application specific integrated circuits), FPGA들(field programmable logic arrays), 또는 다른 유사한 통합 또는 이산적인 로직 회로와 같은 하나 이상의 프로세서들에 의해서 실행될 수 있다. 일부 양상들에 있어서, 본 명세서에 설명된 기능은 인코딩 및 디코딩을 위해 구성되거나 혹은 결합된 비디오 인코더-디코더(CODEC)에 포함되어 있는 전용의 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수 있다.
여러 양상들이 설명되었다. 이러한 양상들 및 다른 양상들은 이후의 청구항들의 청구범위 내에 있다.

Claims (64)

  1. 삭제
  2. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  3. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  4. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키는 단계, 및 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 비디오 데이터의 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  5. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키는 단계, 및 상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  6. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛이 시퀀스 파라미터, 화상(picture) 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획(partition)을 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  7. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  8. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  9. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  10. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키는 단계를 더 포함하며,
    상기 인핸스먼트 층 비디오 데이터는 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키기 위해서 인코딩되는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  11. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키는 단계; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계를 포함하며,
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 단계는 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 상기 NAL 유닛의 NAL 유닛 타입 파라미터를 선택된 값으로 설정하는 단계를 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  12. 삭제
  13. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  14. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  15. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키고,
    상기 NAL 유닛 모듈은 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 비디오 데이터의 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  16. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키고,
    상기 NAL 유닛 모듈은 상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  17. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 상기 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  18. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  19. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  20. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  21. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키며,
    인코더가 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키기 위해서 상기 인핸스먼트 층 비디오 데이터를 인코딩하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  22. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인코딩된 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키는 NAL 유닛 모듈을 포함하며,
    상기 NAL 유닛 모듈은 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 상기 NAL 유닛의 NAL 유닛 타입 파라미터를 선택된 값으로 설정하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  23. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 프로세서로서,
    상기 프로세서는 NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키고, 또한 상기 NAL 유닛이 '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키도록 구성되는
    스케일가능한 디지털 비디오 데이터 전송 프로세서.
  24. 삭제
  25. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  26. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  27. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키기 위한 수단, 및 디코더가 인핸스먼트 층 비디오 데이터와 베이스 층 비디오 데이터의 픽셀 도메인 가산을 사용해야 하는지 혹은 변환 도메인 가산을 사용해야 하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  28. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키기 위한 수단, 및 상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 표시하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  29. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  30. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  31. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  32. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  33. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키기 위한 수단을 더 포함하며,
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  34. 스케일가능한 디지털 비디오 데이터를 전송하기 위한 장치로서,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키기 위한 수단; 및
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단을 포함하며,
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키기 위한 수단은 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 상기 NAL 유닛의 NAL 유닛 타입 파라미터를 선택된 값으로 설정하기 위한 수단을 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  35. 컴퓨터-판독가능 매체로서, 컴퓨터로 하여금,
    NAL(network abstraction layer) 유닛에 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 포함시키고,
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들(syntax elements)을 포함시키고, 그리고
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 표시하기 위해서 상기 NAL 유닛에 하나 이상의 신택스 엘리먼트들을 포함시키도록 하는 코드들을 포함하는,
    컴퓨터-판독가능 매체.
  36. 삭제
  37. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  38. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  39. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은,
    제 2 NAL 유닛을 통해 베이스 층 비디오 데이터를 수신하는 단계;
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계; 및
    상기 인핸스먼트 층 비디오 데이터가 베이스 층 비디오 데이터에 대해 어떠한 잔류 데이터도 포함하고 있지 않다고 결정되는 경우에는, 상기 인핸스먼트 층 비디오 데이터의 디코딩을 스킵하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  40. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은,
    제 2 NAL 유닛을 통해 베이스 층 비디오 데이터를 수신하는 단계;
    상기 제 1 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계;
    비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계; 및
    디지털 비디오 데이터를 디코딩하기 위해 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산이 사용되어야 하는지 혹은 변환 도메인 가산이 사용되어야 하는지 여부를 결정하기 위해서, 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  41. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  42. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는 단계를 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 방법.
  43. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 방법은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키는 단계를 더 포함하며,
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키기 위해서 인코딩되는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  44. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 방법으로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하는 단계;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 단계를 포함하며,
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 단계는 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 선택된 값으로 설정되는 상기 NAL 유닛 내의 NAL 유닛 타입 파라미터를 수신하는 단계를 포함하는,
    스케일가능한 디지털 비디오 데이터 전송 방법.
  45. 삭제
  46. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛 모듈은 NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  47. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛 모듈은 NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  48. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은 제 2 NAL 유닛을 통해 베이스 층 비디오 데이터를 수신하고,
    상기 NAL 유닛 모듈은 상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하며,
    상기 인핸스먼트 층 비디오 데이터가 베이스 층 비디오 데이터에 대해 어떠한 잔류 데이터도 포함하고 있지 않다고 결정되는 경우에는, 상기 디코더가 상기 인핸스먼트 층 비디오 데이터의 디코딩을 스킵하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  49. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은,
    제 2 NAL 유닛을 통해 베이스 층 비디오데이터를 수신하고;
    상기 제 1 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하고;
    비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하며;
    디지털 비디오 데이터를 디코딩하기 위해 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산이 사용되어야 하는지 혹은 변환 도메인 가산이 사용되어야 하는지 여부를 결정하기 위해서, 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  50. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛 모듈은 '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  51. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛 모듈은 상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  52. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 NAL 유닛 모듈은 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키며,
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키기 위해서 인코딩되는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  53. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고, 또한 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하는 NAL 유닛 모듈; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하는 디코더를 포함하며,
    상기 NAL 유닛 모듈은 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 선택된 값으로 설정되는 상기 NAL 유닛 내의 NAL 유닛 타입 파라미터를 수신하는,
    스케일가능한 디지털 비디오 데이터 전송 장치.
  54. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 프로세서로서, 상기 프로세서는,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하며;
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하며; 그리고
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하도록 구성되는,
    스케일가능한 디지털 비디오 데이터 처리 프로세서.
  55. 삭제
  56. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    NAL 유닛 내의 인핸스먼트 층 데이터의 RBSP(raw byte sequence payload) 데이터 구조의 타입을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  57. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    NAL 유닛 내의 인핸스먼트 층 비디오 데이터가 인트라-코딩된 비디오 데이터를 포함하는지 여부를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  58. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는,
    제 2 NAL 유닛을 통해 베이스 층 비디오 데이터를 수신하기 위한 수단;
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터에 대해 임의의 잔류 데이터(residual data)를 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단; 및
    상기 인핸스먼트 층 비디오 데이터가 베이스 층 비디오 데이터에 대해 어떠한 잔류 데이터도 포함하고 있지 않다고 결정되는 경우에는, 상기 인핸스먼트 층 비디오 데이터의 디코딩을 스킵하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  59. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는,
    제 2 NAL 유닛을 통해 베이스 층 비디오데이터를 수신하기 위한 수단;
    상기 제 1 NAL 유닛이 시퀀스 파라미터, 화상 파라미터 세트, 기준 화상의 슬라이스 또는 기준 화상의 슬라이스 데이터 구획을 포함하는지 여부를 결정하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단;
    비제로 변환 계수 신택스 엘리먼트들을 포함하고 있는 인핸스먼트 층 비디오 데이터 내의 블록들을 식별하기 위해서 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단; 및
    디지털 비디오 데이터를 디코딩하기 위해 인핸스먼트 층 비디오 데이터와 베이스 층 데이터의 픽셀 도메인 가산이 사용되어야 하는지 혹은 변환 도메인 가산이 사용되어야 하는지 여부를 결정하기 위해서, 제 1 NAL 유닛 및 제 2 NAL 유닛 중 적어도 하나 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  60. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  61. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    상기 인핸스먼트 층 비디오 데이터 내의 인터-코딩된 블록들에 대한 코딩된 블록 패턴들을 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하기 위한 수단을 더 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  62. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    상기 NAL 유닛은 제 1 NAL 유닛이고,
    상기 장치는 제 2 NAL 유닛에 베이스 층 비디오 데이터를 포함시키기 위한 수단을 더 포함하며,
    상기 인핸스먼트 층 비디오 데이터가 상기 베이스 층 비디오 데이터의 신호-대-잡음비를 개선시키기 위해서 인코딩되는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  63. 스케일가능한 디지털 비디오 데이터를 처리하기 위한 장치로서,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하기 위한 수단;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단; 및
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하기 위한 수단을 포함하며,
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하기 위한 수단은 상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하고 있다는 것을 표시하기 위해서 선택된 값으로 설정되는 상기 NAL 유닛 내의 NAL 유닛 타입 파라미터를 수신하기 위한 수단을 포함하는,
    스케일가능한 디지털 비디오 데이터 처리 장치.
  64. 컴퓨터-판독가능 매체로서, 컴퓨터로 하여금,
    NAL(network abstraction layer) 유닛을 통해 인핸스먼트 층 비디오 데이터(enhancement layer video data)를 수신하고;
    상기 NAL 유닛이 인핸스먼트 층 비디오 데이터를 포함하는지 여부를 표시하기 위해서 상기 NAL 유닛을 통해 하나 이상의 신택스 엘리먼트들(syntax elements)을 수신하며;
    상기 표시에 기초하여 상기 NAL 유닛의 디지털 비디오 데이터를 디코딩하고; 그리고
    '1'보다 큰 크기를 갖는 상기 인핸스먼트 층 비디오 데이터 내의 인트라-코딩된 블록들의 비제로 계수들의 수를 결정하기 위해서 상기 NAL 유닛 내의 하나 이상의 신택스 엘리먼트들을 검출하도록 하는 코드들을 포함하는,
    컴퓨터-판독가능 매체.
KR1020087025166A 2006-03-29 2007-03-29 스케일가능성을 갖는 비디오 처리 KR100991409B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US78731006P 2006-03-29 2006-03-29
US60/787,310 2006-03-29
US78932006P 2006-04-04 2006-04-04
US60/789,320 2006-04-04
US83344506P 2006-07-25 2006-07-25
US60/833,445 2006-07-25
US11/562,360 US20070230564A1 (en) 2006-03-29 2006-11-21 Video processing with scalability
US11/562,360 2006-11-21

Publications (2)

Publication Number Publication Date
KR20090006091A KR20090006091A (ko) 2009-01-14
KR100991409B1 true KR100991409B1 (ko) 2010-11-02

Family

ID=38308669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087025166A KR100991409B1 (ko) 2006-03-29 2007-03-29 스케일가능성을 갖는 비디오 처리

Country Status (10)

Country Link
US (1) US20070230564A1 (ko)
EP (1) EP1999963A1 (ko)
JP (1) JP4955755B2 (ko)
KR (1) KR100991409B1 (ko)
CN (1) CN101411192B (ko)
AR (1) AR061411A1 (ko)
BR (1) BRPI0709705A2 (ko)
CA (1) CA2644605C (ko)
TW (1) TWI368442B (ko)
WO (1) WO2007115129A1 (ko)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
CN103826133B (zh) * 2004-05-04 2017-11-24 高通股份有限公司 运动补偿帧速率上调方法和设备
KR100913260B1 (ko) * 2004-07-01 2009-08-21 콸콤 인코포레이티드 규모 가변적 비디오 코딩에서 프레임 레이트 업 변환을 이용하는 방법 및 장치
KR20070044455A (ko) 2004-07-20 2007-04-27 콸콤 인코포레이티드 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치
US8553776B2 (en) * 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
JP4680608B2 (ja) * 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
KR100781524B1 (ko) * 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
US8634463B2 (en) * 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US8130822B2 (en) * 2006-07-10 2012-03-06 Sharp Laboratories Of America, Inc. Methods and systems for conditional transform-domain residual accumulation
US8660380B2 (en) 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
EP2060122A4 (en) 2006-09-07 2016-04-27 Lg Electronics Inc METHOD AND DEVICE FOR CODING AND DECODING A VIDEO SIGNAL
KR100842544B1 (ko) * 2006-09-11 2008-07-01 삼성전자주식회사 스케일러블 영상 코딩을 이용한 전송 방법 및 이를 이용한이동통신 시스템
AU2007318376B2 (en) 2006-11-09 2010-07-01 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
KR101349836B1 (ko) 2006-11-17 2014-01-10 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
US8467449B2 (en) 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
EP1944978A1 (en) * 2007-01-12 2008-07-16 Koninklijke Philips Electronics N.V. Method and system for encoding a video signal. encoded video signal, method and system for decoding a video signal
PL2123052T3 (pl) * 2007-01-18 2011-05-31 Fraunhofer Ges Forschung Strumień danych wideo o skalowalnej jakości
PL2123049T3 (pl) * 2007-01-18 2017-06-30 Nokia Technologies Oy Przenoszenie komunikatów SEI w formacie bloku danych RTP
US8767834B2 (en) * 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
US20140072058A1 (en) * 2010-03-05 2014-03-13 Thomson Licensing Coding systems
PL2528341T3 (pl) * 2007-04-18 2017-10-31 Dolby Int Ab System kodowania, stosujący uzupełniający zestaw parametrów sekwencyjnych do skalowalnego kodowania wideo lub kodowania wielowidokowego
MX2009012392A (es) * 2007-05-16 2009-12-01 Thomson Licensing Aparato y metodo para codificar y descodificar señales.
US8756482B2 (en) * 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
KR20100030648A (ko) * 2007-06-26 2010-03-18 노키아 코포레이션 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
US8144784B2 (en) 2007-07-09 2012-03-27 Cisco Technology, Inc. Position coding for context-based adaptive variable length coding
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
WO2009051687A2 (en) * 2007-10-15 2009-04-23 Thomson Licensing Apparatus and method for encoding and decoding signals
US9414110B2 (en) 2007-10-15 2016-08-09 Thomson Licensing Preamble for a digital television system
CA2650151C (en) * 2008-01-17 2013-04-02 Lg Electronics Inc. An iptv receiving system and data processing method
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US9167246B2 (en) * 2008-03-06 2015-10-20 Arris Technology, Inc. Method and apparatus for decoding an enhanced video stream
US8369415B2 (en) * 2008-03-06 2013-02-05 General Instrument Corporation Method and apparatus for decoding an enhanced video stream
US8752092B2 (en) 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
IT1394245B1 (it) * 2008-09-15 2012-06-01 St Microelectronics Pvt Ltd Convertitore per video da tipo non-scalabile a tipo scalabile
JP5369599B2 (ja) * 2008-10-20 2013-12-18 富士通株式会社 映像符号化装置、映像符号化方法
US8666181B2 (en) 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US8774225B2 (en) * 2009-02-04 2014-07-08 Nokia Corporation Mapping service components in a broadcast environment
EP2399395A4 (en) * 2009-02-17 2016-11-30 Ericsson Telefon Ab L M SYSTEMS AND METHOD FOR QUICK CHANNEL SWITCHING
US20100262708A1 (en) * 2009-04-08 2010-10-14 Nokia Corporation Method and apparatus for delivery of scalable media data
US8654838B2 (en) * 2009-08-31 2014-02-18 Nxp B.V. System and method for video and graphic compression using multiple different compression techniques and compression error feedback
US8345749B2 (en) * 2009-08-31 2013-01-01 IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH Method and system for transcoding regions of interests in video surveillance
WO2011081643A2 (en) * 2009-12-14 2011-07-07 Thomson Licensing Merging encoded bitstreams
US9357244B2 (en) 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
WO2011121715A1 (ja) * 2010-03-30 2011-10-06 株式会社 東芝 画像復号化方法
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
EP3675494B1 (en) 2010-06-04 2021-12-15 Sony Group Corporation Coding of a qp and a delta qp for image blocks larger than a minimum size
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
EP2596633B1 (en) * 2010-07-20 2016-11-23 Nokia Technologies Oy A media streaming apparatus
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
TWI497983B (zh) * 2010-09-29 2015-08-21 Accton Technology Corp Internet video playback system and its method
JP5875236B2 (ja) 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2012124300A1 (ja) * 2011-03-11 2012-09-20 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置および動画像復号装置
WO2012124347A1 (en) * 2011-03-17 2012-09-20 Panasonic Corporation Methods and apparatuses for encoding and decoding video using reserved nal unit type values of avc standard
JP6039163B2 (ja) * 2011-04-15 2016-12-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN107018424B (zh) * 2011-05-20 2020-06-09 索尼公司 图像处理装置和图像处理方法
WO2013000324A1 (en) * 2011-06-28 2013-01-03 Mediatek Singapore Pte. Ltd. Method and apparatus of intra mode coding
US20130083856A1 (en) * 2011-06-29 2013-04-04 Qualcomm Incorporated Contexts for coefficient level coding in video compression
US10944994B2 (en) * 2011-06-30 2021-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Indicating bit stream subsets
US10237565B2 (en) 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
US9338458B2 (en) * 2011-08-24 2016-05-10 Mediatek Inc. Video decoding apparatus and method for selectively bypassing processing of residual values and/or buffering of processed residual values
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
CN108696753B (zh) 2011-09-20 2021-07-27 Lg 电子株式会社 用于编码/解码图像信息的方法和装置
US9143802B2 (en) * 2011-10-31 2015-09-22 Qualcomm Incorporated Fragmented parameter set for video coding
AR092786A1 (es) 2012-01-09 2015-05-06 Jang Min Metodos para eliminar artefactos de bloque
US9756353B2 (en) 2012-01-09 2017-09-05 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
CN104205813B (zh) * 2012-04-06 2018-05-08 维德约股份有限公司 分层视频编码的等级信令
US20130272371A1 (en) * 2012-04-16 2013-10-17 Sony Corporation Extension of hevc nal unit syntax structure
JP6057395B2 (ja) * 2012-04-16 2017-01-11 ノキア テクノロジーズ オーユー ビデオ符号化方法および装置
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN104604236B (zh) * 2012-07-02 2017-12-15 诺基亚技术有限公司 用于视频编码的方法和装置
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9584804B2 (en) 2012-07-10 2017-02-28 Qualcomm Incorporated Coding SEI NAL units for video coding
GB2496015B (en) * 2012-09-05 2013-09-11 Imagination Tech Ltd Pixel buffering
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
US9426462B2 (en) 2012-09-21 2016-08-23 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US20150245066A1 (en) * 2012-09-28 2015-08-27 Sony Corporation Image processing apparatus and image processing method
EP2901688B1 (en) 2012-09-28 2019-10-23 Nokia Technologies Oy An apparatus and a method for video coding and decoding
US9565452B2 (en) 2012-09-28 2017-02-07 Qualcomm Incorporated Error resilient decoding unit association
US9332257B2 (en) * 2012-10-01 2016-05-03 Qualcomm Incorporated Coded black flag coding for 4:2:2 sample format in video coding
US9781413B2 (en) * 2012-10-02 2017-10-03 Qualcomm Incorporated Signaling of layer identifiers for operation points
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
CN104704850A (zh) * 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
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
WO2014092407A1 (ko) 2012-12-10 2014-06-19 엘지전자 주식회사 영상의 디코딩 방법 및 이를 이용하는 장치
WO2014092445A2 (ko) * 2012-12-11 2014-06-19 엘지전자 주식회사 영상 복호화 방법 및 이를 이용하는 장치
EP3273691B1 (en) * 2012-12-18 2021-09-22 Sony Group Corporation Image processing device and image processing method
US10021388B2 (en) 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
GB201300410D0 (en) * 2013-01-10 2013-02-27 Barco Nv Enhanced video codec
US9307256B2 (en) * 2013-01-21 2016-04-05 The Regents Of The University Of California Method and apparatus for spatially scalable video compression and transmission
KR20140106121A (ko) * 2013-02-26 2014-09-03 한국전자통신연구원 계층적 위성 방송을 제공하는 다계층 위성방송 시스템
WO2014168890A1 (en) 2013-04-08 2014-10-16 General Instrument Corporation Individual buffer management in video coding
JP6361866B2 (ja) * 2013-05-09 2018-07-25 サン パテント トラスト 画像処理方法および画像処理装置
EP2997732A1 (en) * 2013-05-15 2016-03-23 VID SCALE, Inc. Single loop decoding based inter layer prediction
WO2015009693A1 (en) 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
WO2015100522A1 (en) 2013-12-30 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for inter-component residual prediction
JP2015136060A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US9584334B2 (en) * 2014-01-28 2017-02-28 Futurewei Technologies, Inc. System and method for video multicasting
US9712837B2 (en) * 2014-03-17 2017-07-18 Qualcomm Incorporated Level definitions for multi-layer video codecs
JP6233121B2 (ja) * 2014-03-17 2017-11-22 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9794626B2 (en) 2014-05-01 2017-10-17 Qualcomm Incorporated Partitioning schemes in multi-layer video coding
CA2949823C (en) 2014-05-21 2020-12-08 Arris Enterprises Llc Individual buffer management in transport of scalable video
CA2949826C (en) 2014-05-21 2021-06-29 Arris Enterprises Llc Signaling and selection for the enhancement of layers in scalable video
US9729887B2 (en) * 2014-06-25 2017-08-08 Qualcomm Incorporated Multi-layer video coding
KR20160014399A (ko) 2014-07-29 2016-02-11 쿠도커뮤니케이션 주식회사 영상 데이터 제공 방법, 영상 데이터 제공 장치, 영상 데이터 수신 방법, 영상 데이터 수신 장치 및 이의 시스템
GB2533775B (en) * 2014-12-23 2019-01-16 Imagination Tech Ltd In-band quality data
USD776641S1 (en) 2015-03-16 2017-01-17 Samsung Electronics Co., Ltd. Earphone
CN107333133B (zh) * 2016-04-28 2019-07-16 浙江大华技术股份有限公司 一种码流接收设备的码流编码的方法及装置
CN113452999B (zh) * 2016-07-22 2023-12-05 夏普株式会社 使用自适应分量缩放对视频数据进行编码的系统和方法
US20180213202A1 (en) * 2017-01-23 2018-07-26 Jaunt Inc. Generating a Video Stream from a 360-Degree Video
EP3454556A1 (en) 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
CN110650343A (zh) * 2018-06-27 2020-01-03 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统
EP3821601A1 (en) * 2018-07-15 2021-05-19 V-Nova International Limited Low complexity enhancement video coding
KR102581186B1 (ko) * 2018-10-12 2023-09-21 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US10972755B2 (en) * 2018-12-03 2021-04-06 Mediatek Singapore Pte. Ltd. Method and system of NAL unit header structure for signaling new elements
CN117956149A (zh) * 2019-03-08 2024-04-30 佳能株式会社 自适应环路滤波器
US11245899B2 (en) 2019-09-22 2022-02-08 Tencent America LLC Method and system for single loop multilayer coding with subpicture partitioning
WO2021061530A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Ols for spatial and snr scalability
KR102557904B1 (ko) * 2021-11-12 2023-07-21 주식회사 핀텔 동적프레임이 존재하는 구간의 검출방법
GB2620996A (en) * 2022-10-14 2024-01-31 V Nova Int Ltd Processing a multi-layer video stream

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670096A (en) * 1970-06-15 1972-06-13 Bell Telephone Labor Inc Redundancy reduction video encoding with cropping of picture edges
GB2247587B (en) * 1990-08-31 1994-07-20 Sony Broadcast & Communication Movie film and video production
US5784107A (en) * 1991-06-17 1998-07-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for picture coding and method and apparatus for picture decoding
KR0151410B1 (ko) * 1992-07-03 1998-10-15 강진구 영상신호의 운동벡터 검출방법
JPH08510880A (ja) * 1993-06-01 1996-11-12 トムソン マルチメディア ソシエテ アノニム 動き補償された補間の方法及び装置
JP2900983B2 (ja) * 1994-12-20 1999-06-02 日本ビクター株式会社 動画像帯域制限方法
FR2742900B1 (fr) * 1995-12-22 1998-02-13 Thomson Multimedia Sa Procede d'interpolation de trames progressives
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
WO1997046020A2 (en) * 1996-05-24 1997-12-04 Philips Electronics N.V. Motion vector processing
WO1998020483A1 (fr) * 1996-11-07 1998-05-14 Matsushita Electric Industrial Co., Ltd. Generateur de vecteur de source sonore, codeur et decodeur vocal
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
US6008865A (en) * 1997-02-14 1999-12-28 Eastman Kodak Company Segmentation-based method for motion-compensated frame interpolation
FR2764156B1 (fr) * 1997-05-27 1999-11-05 Thomson Broadcast Systems Dispositif de pretraitement pour codage mpeg ii
US6560371B1 (en) * 1997-12-31 2003-05-06 Sarnoff Corporation Apparatus and method for employing M-ary pyramids with N-scale tiling
US6192079B1 (en) * 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate
JP4004653B2 (ja) * 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
US6229570B1 (en) * 1998-09-25 2001-05-08 Lucent Technologies Inc. Motion compensation image interpolation—frame rate conversion for HDTV
US6597738B1 (en) * 1999-02-01 2003-07-22 Hyundai Curitel, Inc. Motion descriptor generating apparatus by using accumulated motion histogram and a method therefor
US6618439B1 (en) * 1999-07-06 2003-09-09 Industrial Technology Research Institute Fast motion-compensated video frame interpolator
US7003038B2 (en) * 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
US6704357B1 (en) * 1999-09-28 2004-03-09 3Com Corporation Method and apparatus for reconstruction of low frame rate video conferencing data
JP2003513565A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
KR100504641B1 (ko) * 2000-06-28 2005-08-01 미쓰비시덴키 가부시키가이샤 화상 부호화 장치 및 화상 부호화 방법
US7042941B1 (en) * 2001-07-17 2006-05-09 Vixs, Inc. Method and apparatus for controlling amount of quantization processing in an encoder
KR100850705B1 (ko) * 2002-03-09 2008-08-06 삼성전자주식회사 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
KR100850706B1 (ko) * 2002-05-22 2008-08-06 삼성전자주식회사 적응적 동영상 부호화 및 복호화 방법과 그 장치
WO2003102868A2 (en) * 2002-05-29 2003-12-11 Pixonics, Inc. Classifying image areas of a video signal
US7116716B2 (en) * 2002-11-01 2006-10-03 Microsoft Corporation Systems and methods for generating a motion attention model
KR100517504B1 (ko) * 2003-07-01 2005-09-28 삼성전자주식회사 B-픽처의 움직임 보상 모드 결정방법 및 장치
FR2857205B1 (fr) * 2003-07-04 2005-09-23 Nextream France Dispositif et procede de codage de donnees video
JP4198608B2 (ja) * 2004-01-15 2008-12-17 株式会社東芝 補間画像生成方法および装置
CN103826133B (zh) * 2004-05-04 2017-11-24 高通股份有限公司 运动补偿帧速率上调方法和设备
KR100913260B1 (ko) * 2004-07-01 2009-08-21 콸콤 인코포레이티드 규모 가변적 비디오 코딩에서 프레임 레이트 업 변환을 이용하는 방법 및 장치
KR20070044455A (ko) * 2004-07-20 2007-04-27 콸콤 인코포레이티드 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치
US8553776B2 (en) * 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
US8649436B2 (en) * 2004-08-20 2014-02-11 Sigma Designs Inc. Methods for efficient implementation of skip/direct modes in digital video compression algorithms
KR100703744B1 (ko) * 2005-01-19 2007-04-05 삼성전자주식회사 디블록을 제어하는 fgs 기반의 비디오 인코딩 및디코딩 방법 및 장치
US8644386B2 (en) * 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
CN101416513A (zh) * 2006-01-09 2009-04-22 诺基亚公司 具有运动补偿的用于低复杂性精细粒度可伸缩视频编码的系统和装置
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) * 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
JP4764273B2 (ja) * 2006-06-30 2011-08-31 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、記憶媒体
US8045783B2 (en) * 2006-11-09 2011-10-25 Drvision Technologies Llc Method for moving cell detection from temporal image sequence model estimation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Schwarz H ET AL: "COMBINED SCALABILITY SUPPORT FOR SCALABLE EXTENSION OF H. 264/AVC", Multimedia and Expo, 2005. ICME 2005. IEEE International Conference on AMSTERDAM, THE NETHERLANDS 06-08 July 2005
Schwarz H ET AL: "MCTF AND SCALABILITY EXTENSION OF H.264/AVC", Proc. of PCS 2004

Also Published As

Publication number Publication date
JP4955755B2 (ja) 2012-06-20
CN101411192B (zh) 2013-06-26
CN101411192A (zh) 2009-04-15
TWI368442B (en) 2012-07-11
KR20090006091A (ko) 2009-01-14
WO2007115129A1 (en) 2007-10-11
CA2644605C (en) 2013-07-16
EP1999963A1 (en) 2008-12-10
AR061411A1 (es) 2008-08-27
US20070230564A1 (en) 2007-10-04
BRPI0709705A2 (pt) 2011-07-26
CA2644605A1 (en) 2007-10-11
JP2009531999A (ja) 2009-09-03

Similar Documents

Publication Publication Date Title
KR100991409B1 (ko) 스케일가능성을 갖는 비디오 처리
US11838558B2 (en) Methods, devices and systems for parallel video encoding and decoding
KR101135293B1 (ko) 비디오 블록 헤더 정보의 적응적 코딩
EP1656793B1 (en) Slice layer in video codec
US9277228B2 (en) Adaptation parameter sets for video coding
US9510016B2 (en) Methods and apparatus for video coding and decoding with reduced bit-depth update mode and reduced chroma sampling update mode
JP4981927B2 (ja) Svccgs拡張層コーディングに関するcavlc拡張
RU2406254C2 (ru) Видеообработка с масштабируемостью
WO2023132993A1 (en) Signaling general constraints information for video coding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee