KR20120125655A - 강화된 비디오 스트림을 디코딩하는 방법 및 장치 - Google Patents

강화된 비디오 스트림을 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20120125655A
KR20120125655A KR1020127025550A KR20127025550A KR20120125655A KR 20120125655 A KR20120125655 A KR 20120125655A KR 1020127025550 A KR1020127025550 A KR 1020127025550A KR 20127025550 A KR20127025550 A KR 20127025550A KR 20120125655 A KR20120125655 A KR 20120125655A
Authority
KR
South Korea
Prior art keywords
buffer
base layer
video
enhancement layer
svc
Prior art date
Application number
KR1020127025550A
Other languages
English (en)
Other versions
KR101501333B1 (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 KR20120125655A publication Critical patent/KR20120125655A/ko
Application granted granted Critical
Publication of KR101501333B1 publication Critical patent/KR101501333B1/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/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
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

각각의 액세스 유닛이 다수의 구문 구조들을 포함하는 기본 계층 비디오 액세스 유닛들 및 강화 계층 비디오 액세스 유닛들로 구성된 강화된 비디오 스트림을 디코딩하는 방법은, 상기 기본 계층 액세스 유닛들의 구문 구조들을 기본 계층 버퍼에 전달하는 단계, 상기 강화 계층 액세스 유닛들의 구문 구조들을 강화 계층 버퍼에 전달하는 단계, 상기 기본 계층 버퍼에 전달된 상기 구문 구조들을 기설정된 순서로 출력하는 단계, 상기 강화 계층 버퍼에 전달된 상기 구문 구조들을 기설정된 순서로 출력하는 단계, 및 상기 기본 계층 버퍼 및 상기 강화 계층 버퍼에 의해 각기 출력된 구문 구조들의 순서들을 재결합하여 기본 계층 구문 구조들 및 강화 계층 구문 구조들을 기설정된 순서로 포함하는 완전한 강화된 액세스 유닛을 형성하는 단계를 포함한다.

Description

강화된 비디오 스트림을 디코딩하는 방법 및 장치{METHOD AND APPARATUS FOR DECODING AN ENHANCED VIDEO STREAM}
관련 출원의 상호참조
본 출원은 2008년 3월 6일 출원된 미국 가출원 제 61/034,370 호의 미국 특허법 120조(35 USC 120) 하의 이익을 주장하며, 그 가출원의 전체 개시 내용은 어느 관점에서든 본 명세서에서 참조문헌으로 인용된다.
본 발명은 강화된 비디오 스트림(enhanced video stream)을 디코딩하는 방법 및 장치에 관한 것이다.
도면의 도 1을 참조하면, 비디오 인코더(10)는 카메라와 같은 소스로부터 전형적으로 SMPTE 292M에서 규정된 HD-SDI 포맷의 원시 비디오 데이터를 수신한다. 비디오 인코더는 HD-SDI 데이터를 이용하여 비디오 기초 스트림(video elementary stream)을 생성하고 이 비디오 기초 스트림을 비디오 패킷타이저(14)에 공급하며, 이 비디오 패킷타이저는 가변 길이 패킷으로 구성된 비디오 패킷화 기초 스트림(packetized elementary stream: PES)을 생성한다. 전형적으로, 비디오 PES의 각 패킷은 하나 이상의 비디오 프레임을 포함한다. 마찬가지로, 오디오 인코더(도시되지 않음)는 원시 오디오 데이터를, 예를 들어, 마이크로폰으로부터 수신하고 오디오 기초 스트림을 오디오 패킷타이저에 제공하고, 이 오디오 패킷타이저는 가변 길이 패킷으로 구성된 오디오 PES를 생성한다.
비디오 및 오디오 패킷타이저는 비디오 및 오디오 PES를 전송 스트림 멀티플렉서(18)에 제공하고, 이 멀티플렉서는 상이한 각각의 프로그램 식별자들(program identifiers: PIDs)을 비디오 PES 및 오디오 PES에 할당하고 고정 길이 MPEG-2 전송 스트림(TS) 패킷처럼 가변 길이 패킷의 비디오 PES 및 오디오 PES를 구성하며, 각각의 가변 길이 패킷은 PES의 PID를 포함하는 헤더와 PES 비디오(또는 오디오) 데이터를 포함하는 페이로드를 갖는다.
전송 스트림 멀티플렉서에 의해 출력된 단일 프로그램 전송 스트림(single program transport stream: SPTS)은 프로그램 멀티플렉서(22)에 공급될 수 있으며, 이 프로그램 멀티플렉서는 SPTS를 다른 프로그램을 전달하는 다른 전송 스트림과 결합하여 멀티-프로그램 전송 스트림(MPTS)를 생성한다. MPTS는 채널을 통해 수신기에 전송되고, 이 수신기에서 프로그램 디멀티플렉서(26)는 선택된 SPTS를 MPTS로부터 분리하여 이를 전송 스트림 디멀티플렉서(30)에 제공한다. 본 기술 분야에서 숙련된 자들에게는 전송 스트림 멀티플렉서에 의해 출력된 SPTS는 먼저 다른 전송 스트림과 결합되지 않은 채 바로 전송 스트림 디멀티플렉서에 전송되어 MPTS를 생성할 수 있지만, 어느 경우에도 전송 스트림 디멀티플렉서는 선택된 SPTS의 전송 스트림 패킷들을 수신하고 이들을 PID에 근거하여 분리하고, 전송 스트림 패킷들을 디패킷화하여 PES 패킷들을 재생성하고, 비디오 PES를 소위 비디오 시스템 타겟 디코더(video system target decoder: T-STD)(34)에 전달하고 오디오 PES를 오디오 T-STD(38)에 전달한다. 본 출원의 주제는 비디오 비트스트림을 디코딩하는 것과 관련되며 따라서 오디오 디코더에 대해서는 더 설명하지 않을 것이다.
비디오 T-STD(34)는 시스템 타겟 디코더 버퍼(40) 및 비디오 디코더(42)를 포함한다. STD 버퍼(40)는 기능적으로 전송 버퍼(Tb), 멀티플렉싱 버퍼(Mb), 및 기초 스트림 버퍼(Eb)와 동등하다. 전송 버퍼(Tb)는 비디오 PES를 가변 비트 레이트로 수신하고 데이터를 일정 비트 레이트로 멀티플렉싱 버퍼(Mb)에 출력하며, 이 멀티플렉싱 버퍼는 비디오 PES를 디패킷화하고 인코드된 비트 스트림을 일정 비트 레이트로 기초 스트림 버퍼(Eb)에 제공한다. 때때로 디코더 버퍼로서 또는 부호화 픽쳐 버퍼(coded picture buffer: CPB)라고 지칭되는 기초 스트림 버퍼는 CBR 비트스트림을 수신하고 픽쳐를 디코딩하기 위한 비트들이 비디오 디코더에 의해 픽쳐 디코드 시간 때 모두 동시에 제거될 때까지 비트들을 보유한다.
디코더의 적절한 동작을 위해서 디코더 버퍼는 비트를 유실하고 픽쳐를 디코드할 수 없을 정도로 오버플로우되지 않아야 하거나, 디코더에 비트가 부족하고 적절한 시점에 픽쳐를 디코드하지 못할 정도로 언더플로우되지 않아야 하는 것이 중요하다. 디코더 버퍼에 공급되는 비트는 비디오 인코더(10)로부터 비트스트림을 수신하는 압축 데이터 버퍼(compressed data buffer: CDB)(46) 의해 조절된다. 비디오 인코더는 CDB의 충만 정도에 종속하는 레이트로 CDB에 비트를 공급한다. CDB는 비트를 일정한 레이트로 비디오 패킷타이저(14)에 공급하고 멀티플렉싱 버퍼는 비트를 동일한 레이트로 디코더 버퍼에 공급하며, 그러므로, CDB의 충만 정도는 디코더 버퍼의 충만 정도와 유사하다. CDB의 오버플로우/언더플로우를 방지하기 위하여 CDB에 공급되는 비트를 조절함으로써, 디코더 버퍼의 언더플로우/오버플로우를 방지한다.
인코더의 동작을 관장하는 비디오 압축 표준은 CDB가 가상의 기준 디코더의 디코더 버퍼보다 더 크지 않아야 한다는 것을 명시할 수 있다.
MPEG-2 전송 스트림은 인코드된 비디오를 에러 발생가능한 채널을 통해 전달하는데 널리 사용된다. MPEG-2 시스템 계층은 또한 에러 없는 환경에서 프로그램 스트림(program stream: PS) 내 인코드된 비디오의 전송을 위해 제공된다. 도 1은 비디오 PES를 전송 스트림으로서 비디오 T-STD(34)에 전송하는 대안으로, 프로그램 스트림으로서 비디오 P-STD(50)에 전송하는 것을 예시한다.
비디오 인코더(10)에 의해 생성된 비트스트림은 ISO/IEC 14496-10(MPEG-4 part 10) Advanced Video Coding(AVC)에서 규정된 통상 H.264/AVC라고 지칭되는 비디오 압축 표준을 따를 수 있다. H.264/AVC는 픽쳐를 프레임 또는 필드라는 집합 용어로서 사용한다. H.264/AVC에서는 하나의 액세스 유닛(access unit)을 한 세트의 네트워크 추상 계층(network abstraction layer: NAL) 유닛들로서 규정하며 하나의 액세스 유닛을 디코딩하면 언제나 디코드된 픽쳐의 결과를 가져온다고 명시하고 있다. AVC 인코더에 의해 생성된 액세스 유닛의 NAL 유닛은 픽쳐 정보를 포함하는 비디오 코딩 계층(video coding layer: VCL) 또는 폐쇄 자막방송 및 타이밍과 같은 다른 정보를 포함하는 넌-VCL 유닛일 수 있다.
H.264/AVC의 Annex G에서는 스케일러블 비디오 코딩(scalable video coding) 또는 SVC로서 알려진 H.264/AVC의 확장을 규정하고 있다. SVC는 케일러블 강화(scalable enhancements)를 AVC 기본 계층(AVC base layer)에 제공하며, 스케일러빌리티는 공간적 스케일러빌리티, 시간적 스케일러빌리티, SNR 스케일러빌리티 및 비트 깊이 스케일러빌리티를 포함한다. SVC 인코더는 H.264/AVC에 따르는 기본 계층을 생성하고 그 기본 계층의 강화를 하나 이상의 강화 계층들에 추가할 예정이다. SVC의 특정 구현예에서 사용된 각각의 형태의 스케일러빌리티는 그 자체의 강화 계층을 활용할 수 있다. 예를 들어, 만일 원시 비디오 데이터가 1080 HD로서 알려진 포맷으로, 1920 x 1088 픽셀의 프레임으로 구성되어 있는 경우, 기본 계층은 704 x 480 픽셀로 구성된 픽쳐로서 디코드될 수 있는 액세스 유닛들로 이루어진 서브-비트스트림에 의해 전송될 수 있는 반면, 강화 계층은 기본 계층 액세스 유닛들을 강화 계층 액세스 유닛들과 결합함으로써 적합한 디코더로 하여금 1920 x 1088 픽셀의 픽쳐를 표시할 수 있게 하는 액세스 유닛들로 이루어진 서브-비트스트림에 의해 전송될 수 있다.
본 명세서에서 기본 계층과 하나 이상의 강화 계층들 둘 다를 디코드하는 역량을 갖는 디코더는 SVC 디코더라고 지칭되는 반면, 본 명세서에서 강화 계층을 인식할 수 없으면서 기본 계층 액세스 유닛들만을 디코드할 수 있고, 그러므로 SVC 역량을 갖지 않은 디코더는 AVC 디코더라고 지칭된다.
SVC 인코더에 의해 생성된 액세스 유닛은 간편하게 AVC NAL 유닛들이라고 지칭될 수 있는 전술한 기본 계층 NAL 유닛들뿐만 아니라 SVC VCL NAL 유닛들 및 SVC 넌-VCL NAL 유닛들을 포함한다. 도 2는 SVC 표준에 의해 규정된 바와 같이 SVC 액세스 유닛 내 AVC NAL 유닛들 및 SVC NAL 유닛들의 시퀀스를 도시한다. 인코더가, 예를 들어, 두 강화 계층들을 생성하는 이벤트에서, 두 강화 계층들의 넌-VCL NAL 유닛들은 도 2에 도시된 연속하는 인접 블록들에서 AVC 넌-VCL NAL 유닛들 및 AVC VCL NAL 유닛들을 포함하는 블록들 사이에 존재하며, 두 강화 계층들의 SVC VCL NAL 유닛들은 연속하는 인접 블록들에서 AVC VCL NAL 유닛들을 포함하는 블록 다음에 존재한다.
기본 계층 NAL 유닛들을 액세스 유닛으로부터 추출하는 SVC 디코더는 AVC 넌-VCL NAL 유닛들 및 AVC VCL NAL 유닛들만을 선택한다.
H.264/AVC는 5-비트 파라미터 nal_unit_type, 또는 NUT을 명시하고 있다. H.264/AVC 하에서, AVC NAL 유닛들은 모두 1-13 범위 내의 NUT 값을 갖는다. SVC에서는 NUT 값들 14, 20 및 15를 추가한다. 그러나, 5 또는 1이라는 NUT를 갖는 NAL 유닛들 직전의 14라는 NUT를 갖는 NAL 유닛은 기본 계층 슬라이스들에게 신호하여, 넌-VCL NAL 유닛들인 이들 NAL 유닛들이 AVC과 호환가능하고 AVC 디코더에 의해 디코드될 수 있도록 한다.
도 3을 참조하면, SVC 인코더(10')는 기본 계층 및, 예를 들어, 두 개의 강화 계층들(ENH1 및 ENH2)을 전달하는 단일의 비트스트림을 생성한다. 디코더의 역량에 따라서, 디코더는 기본 계층만, 또는 기본 계층 및 강화 계층(ENH1), 또는 기본 계층 및 두 강화 계층(ENH1)과 강화 계층(ENH2)을 수신하고 디코드하리라 예상될 수 있다. MPEG-2 시스템 표준 및 SVC의 적용 사례 하에서, 인코더는 각기 기본 계층만, 기본 계층 및 강화 계층(ENH1), 및 기본 계층 및 두 강화 계층(ENH1)과 강화 계층(ENH2)을 전달하는 세 개의 비트스트림들을 제공하지 않을 수 있으며, 디코더로 하여금 어느 비트스트림이든 선택적으로 디코드할 수 있게 해준다. 인코더는 기본 계층 액세스 유닛들 및 개개의 비트스트림들 내 각 강화 계층의 부분들을 제공하여야 한다. 이것은 원칙적으로 NAL 유닛들의 NUT 값들에 따라서 단일의 비트스트림을 세 개의 서브-비트스트림들로 분리하는 NAL 분리기(48)를 이용함으로써 MPEG-2 시스템 표준에 따르는 것이 가능하였을 것이다. 하나의 서브-비트스트림은 기본 계층 NAL 유닛들을 전달하였을 것이고 다른 두 개의 서브-비트스트림들은 각기 두 강화 계층들의 NAL 유닛들을 전달하였을 것이다. 세 개의 서브-비트스트림들은 각기 비디오 PES를 생성하는 각각의 비디오 패킷타이저(전체적으로 14로 표시함)로 전달하였을 것이다. 세 개의 비디오 PES는 세 개의 패킷타이저들의 출력들을 함께 멀티플렉싱하기 위한 목적으로 SVC T-STD 내에 포함된 버퍼와 대등한 T-STD 버퍼를 포함하는 전송 스트림 멀티플렉서(18)에 공급되었을 것이다. 멀티플렉서(18)는 상이한 PID들을 세 개의 PES들에 할당하며 세 개의 계층들을 전달하는 전송 스트림을 출력한다.
도 1에 도시된 비디오 T-STD(34)는 도 3에 도시된 전송 스트림 멀티플렉서(18')에 의해 생성된 전송 스트림을 통해 전달된 비트스트림을 디코드할 수 없는데, 그 이유는 SVC 디코더에 의해 디코드될 수 있는 완전한 SVC 액세스 유닛을 생성하기 위해 기본 계층 및 강화 계층 액세스 유닛들을 재조합하는 역량을 갖추지 못했기 때문이다. H.264/AVC 표준이나 MPEG-2 시스템 표준의 어느 곳에도 기본 계층 및 강화 계층 액세스 유닛들을 재조합하는 방법을 규정하고 있지 않다. 그러므로, 도 3에 도시된 아키텍처는 지금까지 실제 응용에 부적합하다.
개시된 주제의 제1 양태에 따르면, 각각의 액세스 유닛이 다수의 구문 구조들을 포함하는 기본 계층 비디오 액세스 유닛들 및 강화 계층 비디오 액세스 유닛들로 구성된 강화된 비디오 스트림을 디코딩하는 방법이 제공되며, 상기 방법은 상기 기본 계층 액세스 유닛들의 구문 구조들을 기본 계층 버퍼에 전달하는 단계, 상기 강화 계층 액세스 유닛들의 구문 구조들을 강화 계층 버퍼에 전달하는 단계, 상기 기본 계층 버퍼에 전달된 구문 구조들을 기설정된 순서로 출력하는 단계, 상기 강화 계층 버퍼에 전달된 구문 구조들을 기설정된 순서로 출력하는 단계, 및 상기 기본 계층 버퍼 및 상기 강화 계층 버퍼에 의해 각기 출력된 구문 구조들의 순서들을 재결합하여 기본 계층 구문 구조 및 강화 계층 구문 구조를 기설정된 순서로 포함하는 완전한 강화된 액세스 유닛을 형성하는 단계를 포함한다.
개시된 주제의 제2 양태에 따르면, 강화된 비디오 신호를 생성하는 방법이 제공되며, 상기 방법은 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 단계, 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하는 단계, 및 구분 구문 구조를 상기 강화 계층 프로그램 스트림에 삽입하는 단계를 포함한다.
개시된 주제의 제3 양태에 따르면, 강화된 비디오 신호를 생성하는 방법이 제공되며, 상기 방법은 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 단계로서, 각각의 강화 계층 액세스 유닛은 비디오 계층 구문 구조들 및 넌-비디오 계층 구문 구조들을 포함하는 상기 단계, 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하는 단계, 및 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조들을 상기 기본 계층 프로그램 스트림 내에 포함시키는 단계를 포함하며, 그럼으로써 상기 강화된 비디오 신호는 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조들을 포함하는 기본 계층 컴포넌트 및 상기 강화 계층 액세스 유닛들의 비디오 계층 구문 구조들을 포함하는 강화 계층 컴포넌트를 포함한다.
개시된 주제의 제4 양태에 따르면, 강화된 비디오 스트림의 연속하는 기본 계층 액세스 유닛들을 전달하는 기본 계층 프로그램 스트림 및 상기 강화된 비디오 스트림의 연속하는 강화 계층 액세스 유닛들을 전달하는 적어도 하나의 강화 계층 프로그램 스트림을 디코딩하는 디코딩 장치로서, 각각의 액세스 유닛은 다수의 구문 구조들을 포함하는 상기 디코딩 장치가 제공되며, 상기 디코딩 장치는 상기 기본 계층 프로그램 스트림을 수신하고 각각의 기본 계층 액세스 유닛의 구문 구조들을 기설정된 순서로 출력하도록 연결된 기본 계층 버퍼, 상기 강화 계층 프로그램 스트림을 수신하고 각각의 강화 계층 액세스 유닛의 구문 구조들을 기설정 순서로 출력하도록 연결된 강화 계층 버퍼, 상기 기본 계층 버퍼 및 상기 강화 계층 버퍼에 의해 각기 출력된 상기 구문 구조들을 수신하고 기본 계층 구문 구조들 및 강화 계층 구문 구조들을 기설정된 순서로 포함하는 완전한 강화된 액세스 유닛을 형성하도록 연결된 재조합 기능 요소를 포함한다.
개시된 주제의 제5 양태에 따르면, 강화된 비디오 신호를 생성하는 장치가 제공되며, 상기 장치는 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 입력을 가지며, 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하는 분리기, 및 구분 구문 구조를 상기 강화 계층 프로그램 스트림에 삽입하는 삽입기를 포함한다.
개시된 주제의 제6 양태에 따르면, 강화된 비디오 신호를 생성하는 장치가 제공되며, 상기 장치는 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 입력을 가지며, 각각의 강화 계층 액세스 유닛은 비디오 계층 구문 구조들 및 넌-비디오 계층 구문 구조들을 포함하며, 상기 장치는 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하고 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조를 상기 기본 계층 프로그램 스트림에 포함시키는 분리기를 포함하며, 그럼으로써 상기 강화된 비디오 신호는 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조들을 포함하는 기본 계층 컴포넌트 및 상기 강화 계층 액세스 유닛들의 비디오 계층 구문 구조들을 포함하는 강화 계층 컴포넌트를 포함한다.
개시된 주제의 제7 양태에 따르면, 각각의 액세스 유닛이 다수의 구문 구조들을 포함하는, 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들을 전달하는 강화된 비디오 스트림을 수신하는 입력을 갖는 컴퓨터에 의해 실행될 때, 상기 비디오 스트림을 하기 방법에 의해 처리하는 소프트웨어를 포함하는 컴퓨터 판독가능 매체가 제공되며, 상기 방법은 상기 기본 계층 액세스 유닛들의 상기 구문 구조들을 기본 계층 버퍼에 전달하는 단계, 상기 강화 계층 액세스 유닛들의 상기 구문 구조들을 강화 계층 버퍼에 전달하는 단계, 상기 기본 계층 버퍼에 전달된 상기 구문 구조들을 기설정된 순서로 출력하는 단계, 상기 강화 계층 버퍼에 전달된 상기 구문 구조들을 기설정된 순서로 출력하는 단계, 및 상기 기본 계층 버퍼 및 상기 강화 계층 버퍼에 의해 각기 출력된 구문 구조들의 순서들을 재결합하여 기본 계층 구문 구조들 및 강화 계층 구문 구조들을 기설정된 순서로 포함하는 완전한 강화된 액세스 유닛을 형성하는 단계를 포함한다.
개시된 주제의 제8 양태에 따르면, 기본 계층 액세스 유닛들 및 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 입력을 갖는 컴퓨터에 의해 실행될 때, 상기 비트스트림을 하기 방법에 의해 처리하는 소프트웨어를 포함하는 컴퓨터 판독가능 매체가 제공되며, 상기 방법은 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하는 단계, 및 구분 구문 구조를 상기 강화 계층 프로그램 스트림에 삽입하는 단계를 포함한다.
개시된 주제의 제9 양태에 따르면, 기본 계층 액세스 유닛들 및 각각의 강화 계층 액세스 유닛이 비디오 계층 구문 구조들 및 넌-비디오 계층 구문 구조들을 포함하는 강화 계층 액세스 유닛들로 구성된 단일의 비트스트림을 수신하는 입력을 갖는 컴퓨터에 의해 실행될 때, 상기 비트스트림을 하기 방법에 의해 처리하는 소프트웨어를 포함하는 컴퓨터 판독가능 매체가 제공되며, 상기 방법은 상기 단일의 비트스트림으로부터 기본 계층 프로그램 스트림 및 강화 계층 프로그램 스트림을 분리하는 단계, 및 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조들을 상기 기본 계층 프로그램 스트림 내에 포함시키는 단계를 포함하며, 그럼으로써 상기 강화된 비디오 신호는 상기 강화 계층 액세스 유닛들의 넌-비디오 계층 구문 구조들을 포함하는 기본 계층 컴포넌트 및 상기 강화 계층 액세스 유닛들의 비디오 계층 구문 구조들을 포함하는 강화 계층 컴포넌트를 포함한다.
본 발명의 보다 나은 이해를 돕고 실행될 수 있는 방법을 보여주기 위하여, 이제 예로서 다음의 첨부 도면을 참조할 것이다.
도 1은 프리젠테이션을 위해 압축된 비디오물을 공급하기 위한 제1 시스템의 아키텍처의 개략적인 블록 예시도이다.
도 2는 기본 계층 및 하나의 강화 계층을 갖는 하나의 SVC 액세스 유닛의 구조를 예시한다.
도 3은 디코드 및 프리젠테이션을 위해 압축된 SVC 비디오물의 전송을 위한 아키텍쳐 및 적용 사례의 개략적인 블록 예시도이다.
도 4는 프리젠테이션을 위해 압축된 비디오물을 공급하기 위한 제2 시스템의 아키텍처의 개략적인 블록 예시도이다.
도 5는 프리젠테이션을 위해 압축된 비디오물을 공급하기 위한 제3 시스템의 아키텍처의 개략적인 블록 예시도이다.
도 6a, 도 6b 및 도 6c는 도 5에 도시된 시스템의 여러 지점에서 생성된 데이터 유닛들의 구조를 예시한다.
도 7은 도 4 및 도 5를 참조하여 기술된 프로세스 부분들을 구현하는데 사용될 수 있는 컴퓨팅 머신의 개략적인 블록도이다.
여러 도면들에서, 유사한 참조부호는 유사한 또는 동일한 구성요소, 기능 또는 컴포넌트를 지칭하는데 사용된다.
도 4에 도시된 SVC 인코더(10')는 기본 계층 및 하나의 강화 계층을 전달하는 비트스트림을 생성한다. NAL 분리기(52)는 비트스트림을 기본 계층 NAL 유닛들 및 강화 계층 NAL 유닛들을 각기 전달하는 두 개의 서브-비트스트림들로 분리하며, 두 개의 서브-비트스트림들은 기본 계층 비디오 패킷타이저(140) 및 강화 계층 비디오 패킷타이저(141)에 전달된다. 도 3을 참조하여 기술된 바와 같이, 두 개의 패킷타이저는 각기 비디오 PES들을 생성한다. 전송 스트림 멀티플렉서(54)는 상이한 PID들을 두 PES에 할당하고 두 계층을 전달하는 전송 스트림을 출력한다. 전송 스트림 멀티플렉서(54)는 SVC T-STD 모델에 따르는 T-STD 버퍼를 포함한다. 전송 스트림은 SPTS로서 직접 전송 스트림 디멀티플렉서(56)에 전송되거나 또는 다른 전송 스트림과 멀티플렉싱되며, MPTS의 일부로서 프로그램 디멀티플렉서(도시되지 않음)를 통해 전송 스트림 디멀티플렉서(56)에 공급된다.
통상적으로, 전송 스트림 디멀티플렉서(56)는 PID에 따라서 전송 스트림 패킷들을 분리하고 그 전송 스트림 패킷들을 디패킷화하여 다시 PES 패킷들을 생성한다. 이러한 방식으로, 전송 스트림 디멀티플렉서는 기본 계층 PES 및 강화 계층 PES뿐만 아니라, 하나 이상의 오디오 PES를 출력한다. 도 4에 도시된 바와 같이, 기본 계층 PES 및 강화 계층 PES는 기본 계층 T-STD 버퍼(64) 및 강화 계층 T-STD 버퍼(68)를 포함하는 비디오 T-STD(60)에 공급된다. 기본 계층 T-STD 버퍼(64)는 도 1에 도시된 T-STD 버퍼(40)와 유사하게, 전송 버퍼(Tb0) 및 멀티플렉싱 버퍼(Mb0)를 포함한다. 멀티플렉싱 버퍼는 기본 계층 액세스 유닛들(AVC 넌-VCL NAL 유닛들 및 AVC VCL NAL 유닛들)을 포함하는 인코드된 비트스트림을 기초 스트림 버퍼 세그먼트(ESb0)에 출력한다. 버퍼 세그먼트(ESb0)의 크기는 H.264/AVC 표준에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 못할 수 있다.
강화 계층 T-STD 버퍼(68)는 또한 전송 버퍼(Tb1), 멀티플렉싱 버퍼(Mb1) 및 기초 스트림 버퍼 세그먼트(ESb1)를 포함한다. 멀티플렉싱 버퍼(Mb0)와 유사하게, 버퍼(Mb1)는 강화 계층 액세스 유닛들(SVC 넌-VCL NAL 유닛들 및 SVC VCL NAL 유닛들)을 포함하는 인코드된 비트스트림을 출력하며, 이 강화 계층 액세스 유닛들은 적절하게 기본 계층 액세스 유닛들과 결합될 때 H.264의 Annex G에서 규정된 SVC 액세스 유닛을 생성한다.
버퍼 세그먼트들(ESb0 및 ESb1)의 결합된 크기는 기본 계층 및 하나의 강화 계층을 갖는 프로그램을 디코드하는 SVC 디코더에 대해 H.264/AVC 표준의 Annex G에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 못할 수 있다. 그러나, 허용된 총 버퍼 크기는 버퍼 세그먼트(ESb0)의 크기가 AVC 디코더에 대해 H.264/AVC 표준에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 않는다면, 디코더의 성능을 최적화하기 위해 버퍼 세그먼트들 사이에서 할당될 수 있다.
본 기술 분야에서 숙련된 자들이라면 전송 스트림 디멀티플렉서(56)에 의해 수신된 액세스 유닛의 NAL 유닛들은 그 액세스 유닛을 디코딩하는데 필요한 순서대가 아닐 수 있음을 이해할 것이다. 멀티플렉싱 버퍼들에 의해 제공된 인코드된 비트스트림들을 수신하는 기초 스트림 버퍼 세그먼트들은 각 액세스 유닛의 NAL 유닛들이 디코딩을 위해 적절한 순서로 출력되게 보장한다. 재조합 기능부(Re-A)는 두 T-STD 버퍼들에 의해 각기 출력된 AVC 및 SVC NAL 유닛들을 수신하고 이 NAL 유닛들을 적절한 순서로 결합하여 도 2에 도시된 SVC 액세스 유닛 구조를 다시 생성한다. 재조합 기능부는 SVC 액세스 유닛들을 각기 적절한 디코드 시점에 디코드하기 위해 SVC 디코더에 제공한다. 이러한 방식으로, T-STD(60)는 SVC에 의해 지원된 강화를 포함하는 픽쳐를 출력할 수 있다.
버퍼 관리(즉, 전송 버퍼, 멀티플렉싱 버퍼 및 결합된 기초 스트림 버퍼 세그먼트들의 크기뿐만 아니라 이들 버퍼들 간의 전송 속도)는 통상의 MPEG-2 T-STD에서와 동일하다. 데이터는 통상의 MPEG-2 T-STD 모델에서 멀티플렉싱 버퍼로부터 데이터의 출력에 관해 명시된 속도로 기초 스트림 버퍼 세그먼트들에 입력되며, 기본 계층 NAL 유닛들 및 소정 SVC 액세스 유닛의 강화 계층 NAL 유닛들이 각기 기초 스트림 버퍼 세그먼트들에 전달된 다음, 이들 유닛들은 동시에 재조합 기능부에 전송되고, 재조합 기능부에서 결합되어 동시에 SVC 디코더에 전송된다. 따라서, 기초 스트림 버퍼 세그먼트들 및 재조합 기능부는 멀티플렉싱 버퍼와 SVC 디코더 사이에 어떠한 지연도 야기하지 않는다.
전송 스트림 멀티플렉서(54)에 의해 출력된 전송 스트림은 전송 스트림 디멀티플렉서(30)를 경유하여 AVC T-STD(34')에도 공급될 수 있다. 전송 스트림 멀티플렉서(30)는 전송 스트림에서 기본 계층 PES를 분리하고 그 기본 계층 PES를 T-STD(34')에 공급한다. 강화 계층 PES는 T-STD(34')에 공급되지 않기 때문에, T-STD(34')는 기본 계층 액세스 유닛들을 디코드할 필요 없는 NAL 유닛들을 처리할 부담을 갖지 않는다.
이제 도 5를 참조하면, 또 다른 실시예에서, SVC 인코더(10')에 의해 생성된 비트스트림은 기본 계층 및 두 개의 강화 계층들(ENH1 및 ENH2)을 전달한다. NAL 분리기(52)는 NAL 유닛들의 NUT 값들에 따라서 비트스트림을 세 개의 서브-비트스트림들로 분리하지만, 도 4의 경우와 달리 기본 계층 비트스트림은 AVC NAL 유닛들뿐만 아니라 (전술한 바와 같이, AVC과 호환가능한 NAL 유닛들을 포함하는) SVC 넌-VCL NAL 유닛들을 포함한다. NAL 분리기에 의해 생성된 기본 계층 비트스트림은 도 6a에 도시된 구조를 갖는다. 두 개의 강화 계층 서브-비트스트림들은 각각의 SVC 액세스 유닛들의 SVC VCL NAL 유닛들을 각기 포함하고 있다. NAL 분리기는 또한 도 6b에 도시된 바와 같이 각 강화 계층 서브-비트스트림의 각 액세스 유닛의 시작 부분에 SVC 구분 NAL 유닛(SVC delim NAL unit)을 삽입한다. SVC 구분 NAL 유닛은 매우 작을 수 있으며 23 또는 24와 같은 예약된 NUT 값을 갖는다. 그 외에, 이러한 SVC 구분 NAL 유닛은 MPEG-2 시스템 표준에 의해 요구된 바와 같이 9라는 NUT를 갖는 액세스 유닛 구분자이다.
세 개의 서브-비트스트림들은 각기 패킷타이저들(140, 141 및 142)에 공급되고, 이들 패킷타이저들은 각기 PES를 생성하고 이 PES들을 전송 스트림 멀티플렉서(72)에 공급한다. 전송 스트림 멀티플렉서(72)는 SVC T-STD 모델에 따르는 버퍼를 포함하며, 상이한 PID를 세 개의 PES에 할당하고 세 개의 계층을 전달하는 전송 스트림을 출력한다. 기본 계층 PES는 기본 계층 액세스 유닛들을 디코드하는데 필요한 모든 AVC NAL 유닛들을 포함하고 있음이 인식될 것이다.
전송 스트림 멀티플렉서(72)에 의해 생성된 전송 스트림은 전송 스트림 디코딩 기능부(74)에 공급된다. 전송 스트림 디코딩 기능부는 전송 스트림 디멀티플렉서(76)를 포함하고, 이 전송 스트림 디멀티플렉서는 PID에 따라서 기본 계층 PES 및 두 강화 계층 PES를 분리하고 이들을 각각의 T-STD 버퍼들(80, 81, 및 82)에 공급한다. 각각의 T-STD 버퍼는 전송 버퍼(Tb), 멀티플렉싱 버퍼(Mb) 및 기초 스트림 버퍼 세그먼트(ESb)를 포함한다. 버퍼 세그먼트들(ESb0, ESb1 및 ESb2)의 결합된 크기는 기본 계층 및 두 강화 계층을 갖는 프로그램을 디코드하는 SVC 디코더에 관해 H.264/AVC 표준의 Annex G에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 못할 수 있다. 그러나, 허용된 총 버퍼 크기는 버퍼 세그먼트들(ESb0 및 ESb1)의 결합된 크기가 기본 계층 및 하나의 강화 계층을 갖는 프로그램을 디코드하는 SVC 디코더에 관해 H.264/AVC 표준의 Annex G에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 않으면, 그리고 버퍼 세그먼트(ESb0)의 크기가 AVC 디코더에 관해 H.264/AVC 표준에서 규정된 기초 스트림 버퍼(Eb)의 크기를 초과하지 않으면, 디코더의 성능을 최적화하기 위해 버퍼 세그먼트들 중에서 할당될 수 있다.
각각의 T-STD 버퍼는 도 4를 참조하여 기술된 바와 유사한 방식으로 비트스트림을 수신하고 처리하여 버퍼(DRB0)가 도 6a에 도시된 구조를 갖는 액세스 유닛들을 출력하도록 하고 버퍼들(DRB1 및 DRB2)이 각기 도 6b에 도시된 구조를 갖는 액세스 유닛들을 출력하도록 한다. 이러한 버퍼 구조의 출력들은 재조합 기능부(Re-A)에 의해 연결되어 도 6c에 도시된 바와 같이 각 액세스 유닛마다 연속하는 NAL 유닛들을 생성한다. 재조합 기능부의 출력은 도 4를 참조하여 기술한 바와 같이 기초 스트림 버퍼에 전달된다.
도 5는 도 4를 참조하여 기술한 바와 같이, 멀티플렉서(54)에 의해 출력된 전송 스트림이 전송 스트림 디멀티플렉서(30)를 경유하여 AVC T-STD(34')에 공급될 수 있음을 도시하고 있다.
도 5는 또한 에러가 없는 매체를 통해 프로그램 스트림 디코딩 기능부(90)에 공급되는 세 개의 비디오 PES들을 예시한다. 기본 계층 PES는 버퍼 및 디코더를 포함하는 기본 계층 AVC P-STD에 공급될 수 있는 반면, 기본 계층 PES 및 두 강화 계층 PES들(ENH1 및 ENH2)은 SVC P-STD 모델에 따르는 버퍼를 포함하는 프로그램 스트림 멀티플렉서에 공급된다. 프로그램 스트림 멀티플렉서는 기본 계층 PES 및 강화 계층 PES(ENH1)를 SVC 디코더(91)에 공급하며, 이 SVC 디코더는 기본 계층 PES 및 강화 계층 PES로부터 PES 헤더들을 제거하고 기본 계층 비트스트림을 기초 스트림 버퍼 세그먼트(ESb0)에 전달하고 강화 계층(ENH1) 비트스트림을 기초 스트림 버퍼 세그먼트(ESb1)에 전달하는 프로그램 스트림 디멀티플렉서를 포함한다. 버퍼 세그먼트들(ESb0 및 ESb1)의 출력은 재조합 기능부에 전달된다. 버퍼 세그먼트들(ESb0 및 ESb1)의 크기는 버퍼들(80 및 81) 내 기초 스트림 버퍼 세그먼트들의 크기와 유사하게 가변적이다. 그러므로, SVC 디코더(91)의 동작은 프로그램 스트림 문맥에서는 버퍼들(80 및 81)의 동작에 해당하고 전송 스트림 문맥에서는 재조합 기능부의 동작에 해당한다.
프로그램 스트림 멀티플렉서는 기본 계층 PES 및 두 강화 계층 PES들(ENH1 및 ENH2)을 SVC 디코더(92)에 공급하며, 이 SVC 디코더는 디코더(91)와 유사하지만, T-STD 버퍼(82) 내 기초 스트림 버퍼에 상응하는 기초 스트림 버퍼 세그먼트(ESb2)가 추가되어 있다. 그러므로, 프로그램 스트림 디코딩 기능부(90)는 기본 계층을 단독으로, 또는 기본 계층 및 강화 계층(ENH1)을, 또는 기본 계층 및 두 강화 계층(ENH1)과 강화 계층(ENH2)을 디코드할 수 있다.
도 4에 도시된 실시예 및 도 5에 도시된 실시예에서, Annex G를 포함하는 H.264/AVC 표준의 제한 사항에 따라서, 이용가능한 버퍼 크기는 필요에 따라서 인코더에 의해 생성된 비트스트림의 상이한 계층들에 동적으로 할당될 수 있다. 이러한 방식으로 버퍼 크기를 상이한 계층들에 동적으로 융통성 있게 할당함으로써, 디코더는 적절한 디코딩을 용이하게 하기 위하여, 예를 들어, 액세스 유닛들의 복잡도에 따라서 기본 계층에 버퍼 크기를 줄여서 할당할 수 있고, 하나 이상의 강화 계층들에 버퍼 크기를 늘려서 할당할 수 있다.
SVC 구분 NAL 유닛은 전송 스트림 디멀티플렉서(76)에 의해 쉽게 검출되며 SVC VCL NAL 유닛들을 용이하게 분리하게 해준다. SVC 구분 NAL 유닛은 디코더에 의해 인식되지 않으며 그러므로 강화 계층 액세스 유닛들의 디코딩에 영향을 미치지 않는다.
도 4와 관련하여 기술한 바와 같이, NAL 분리기는 SVC 액세스 유닛으로부터 SVC 넌-VCL NAL 유닛들 및 SVC VCL NAL 유닛들 양자 모두를 분리하여, 기본 계층 PES가 도 2에 도시된 액세스 유닛 구조의 AVC NAL 유닛들만을 포함하고, 강화 계층 PES는 모든 SVC NAL 유닛들을 포함도록 할 수 있는 반면, 그러나 도 5의 경우에서 NAL 분리기는 SVC 넌-VCL NAL 유닛들을 AVC NAL 유닛들과 함께 그룹화하여, 기본 계층 PES가 SVC 넌-VCL NAL 유닛들을 포함하도록 해준다. 이러한 접근법에 따르면 기본 계층 PES를 전송하는데 필요한 대역폭이 약간 증가하는 결과를 가져오지만, 도 2에 도시된 SVC 액세스 유닛 구조의 예시로부터 알 수 있듯이 SVC 넌-VCL NAL 유닛들을 기본 계층 PES에 포함시킴으로써, 기본 계층 PES 및 강화 계층 PES 각각에 포함된 NAL 유닛들의 간단한 연결에 의해 SVC 액세스 유닛이 재조합될 수 있다. 그렇지 않다면, 재조합 버퍼에서 데이터의 파싱이 필요했을 것이며, 이것은 프로세스에 지연과 복잡성이 더해졌을 것이다. SVC 액세스 유닛의 재조합의 간편성은 기본 계층 PES를 전송하는데 약간 더 큰 대역폭을 필요로 한다는 약간의 단점을 상쇄한다.
도 6을 참조하면, 도 4 또는 도 5에 도시된 NAL 분리기 및 패킷타이저, 또는 도 4에 도시된 전송 스트림 디멀티플렉서(56) 및 비디오 T-STD(60) 또는 도 5에 도시된 프로그램 스트림 또는 전송 스트림 디코딩 기능부는 일반적으로 통상의 아키텍처로 구성된 적어도 하나의 프로세서(161), 랜덤 액세스 메모리(162), 리드 온리 메모리(163), (비트스트림을 수신하고 전송하는데 적합한 어댑터들을 포함하는) I/O 장치(164), 사용자 인터페이스(165), CD ROM 드라이브(166) 및 하드 디스크 드라이브(167)를 포함하는 컴퓨터를 이용하여 구현될 수 있다. 컴퓨터는 하드 디스크 드라이브(167) 또는 CD ROM(168)과 같은 컴퓨터 판독가능 매체에 저장되고 실행을 위해 랜덤 액세스 메모리(162)에 로드된 프로그램에 따라서 동작한다. 프로그램은 컴퓨터가 입력 어댑터를 통해서 필요로 하는 특정 입력 신호를 전달하는 비트스트림을 수신할 때, 컴퓨터가 메모리를 적절한 버퍼들에 할당하고 다른 적합한 자원 및 기능을 활용하여 도 4 및 도 5를 참조하여 전술한 각종 동작들을 수행하며 출력 어댑터를 통해서 특정한 출력 신호를 전달하는 비트스트림을 전송하도록 하는 명령어들로 구성된다.
비록 위에서 스케일러블 비디오 스트림이 하나 또는 두 개의 강화 계층과 관련하여 기술되었을지라도, 본 기술 분야에서 숙련된 자들이라면 H.264/AVC의 Annex G가 일곱 개의 강화 계층까지도 허용한다는 것을 인식할 것이다. 또한 전술한 바와 같이 강화 계층들이 스케일러블 비디오의 문맥 내에서 기술되었을지라도, AVC 기본 계층에 대한 다른 형태의 강화가 가능하다는 것이 인식될 것이다.
본 발명은 기술된 특정한 실시예로 한정되지 않으며, 유효한 법규의 원칙에 따라서 해석될 때 청구범위의 실시가능한 범주를 문언적 범주를 넘어 확대 해석하는 등가론 또는 어떤 다른 원리도 포함하는 첨부의 특허청구범위에서 규정된 바와 같은 본 발명의 범주를 일탈함이 없이도 변경이 이루어질 수 있다는 사실이 인식될 것이다. 문맥이 그러하지 않다고 하지 않는 한, 청구범위에서 어떤 구성요소의 실례들의 개수를 언급한 것은 하나의 실례 또는 하나의 실례보다 많은 실례를 언급한 것이고, 그 구성요소의 실례들의 언급한 개수를 최소한으로 필요로 하되 언급한 것 이상으로 그 구성요소의 더 많은 실례들을 갖는 구조 또는 방법을 청구범위의 범주에서 배제하는 것으로 의도하지 않는다. "포함한다"라는 단어 또는 그의 파생어는, 청구범위에서 사용될 때, 청구한 구조 또는 방법에서의 다른 구성요소들 또는 단계들의 존재를 배제하려는 것이 아닌 비배타적인 의미로 사용된다. 첨부의 청구범위는 H.264/AVC에 관련한 참조 문헌들에서도 사용된 (구문 구조와 같은) 용어를 사용하지만, 이것은 숙련된 독자들에 편의를 위한 것이지 청구범위의 범주를 H.264/AVC에 기술된 특정 비디오 코딩에 종속하는 방법, 장치 및 컴퓨터 판독가능 매체로 한정하려는 것은 아니다.

Claims (1)

  1. 명세서 또는 도면에 기재된 방법 및 장치.
KR1020127025550A 2008-03-06 2009-03-04 강화된 비디오 스트림을 디코딩하는 방법 및 장치 KR101501333B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3437008P 2008-03-06 2008-03-06
US61/034,370 2008-03-06
US12/395,056 2009-02-27
US12/395,056 US8369415B2 (en) 2008-03-06 2009-02-27 Method and apparatus for decoding an enhanced video stream
PCT/US2009/035945 WO2009111519A1 (en) 2008-03-06 2009-03-04 Method and apparatus for decoding an enhanced video stream

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020107022262A Division KR101303480B1 (ko) 2008-03-06 2009-03-04 강화된 비디오 스트림을 디코딩하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120125655A true KR20120125655A (ko) 2012-11-16
KR101501333B1 KR101501333B1 (ko) 2015-03-11

Family

ID=41053556

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127025550A KR101501333B1 (ko) 2008-03-06 2009-03-04 강화된 비디오 스트림을 디코딩하는 방법 및 장치
KR1020107022262A KR101303480B1 (ko) 2008-03-06 2009-03-04 강화된 비디오 스트림을 디코딩하는 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107022262A KR101303480B1 (ko) 2008-03-06 2009-03-04 강화된 비디오 스트림을 디코딩하는 방법 및 장치

Country Status (7)

Country Link
US (1) US8369415B2 (ko)
EP (2) EP2253070B1 (ko)
JP (3) JP5238827B2 (ko)
KR (2) KR101501333B1 (ko)
CN (3) CN104202600B (ko)
ES (1) ES2530218T3 (ko)
WO (1) WO2009111519A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9167246B2 (en) 2008-03-06 2015-10-20 Arris Technology, Inc. Method and apparatus for decoding an enhanced video stream
US8300705B2 (en) * 2008-12-08 2012-10-30 Electronics And Telecommunications Research Institute Method for generating and processing hierarchical PES packet for digital satellite broadcasting based on SVC video
KR101216329B1 (ko) * 2009-12-16 2012-12-27 한국전자통신연구원 복수 계층 영상의 품질 측정 방법 및 시스템
WO2011084913A2 (en) 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation Complexity-adaptive scalable decoding and streaming for multi-layered video systems
WO2011097755A1 (zh) * 2010-02-11 2011-08-18 上海贝尔股份有限公司 基于svc的e-mbms流传输方法和设备
KR20110124161A (ko) * 2010-05-10 2011-11-16 삼성전자주식회사 계층 부호화 영상의 송수신 방법 및 장치
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
JP2012095053A (ja) * 2010-10-26 2012-05-17 Toshiba Corp ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
KR20130085987A (ko) * 2012-01-20 2013-07-30 한국전자통신연구원 이종망 네트워크에서 미디어 프래그먼트 유닛으로 나누어진 액세스 유닛을 가지는 미디어 데이터를 전송하는 방법
AU2013243822B2 (en) * 2012-04-06 2016-06-23 Vidyo, Inc. Level signaling for layered video coding
JP5979948B2 (ja) * 2012-04-11 2016-08-31 キヤノン株式会社 画像データ送信装置及び画像データ受信装置
JP5979949B2 (ja) 2012-04-11 2016-08-31 キヤノン株式会社 画像データ送信装置及び画像データ受信装置
CN103533404B (zh) * 2012-07-04 2016-12-21 扬智电子科技(上海)有限公司 数字广播电视的接收方法
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US20140301436A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Cross-layer alignment in multi-layer video coding
US10063868B2 (en) 2013-04-08 2018-08-28 Arris Enterprises Llc Signaling for addition or removal of layers in video coding
WO2015009693A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
KR102416235B1 (ko) 2013-07-15 2022-07-05 지이 비디오 컴프레션, 엘엘씨 다계층식 비디오 코딩에서의 저지연 개념
CN103338410B (zh) * 2013-07-19 2016-05-11 西安电子科技大学 多路径并行传输下基于svc的实时流媒体重组算法
US10291922B2 (en) 2013-10-28 2019-05-14 Arris Enterprises Llc Method and apparatus for decoding an enhanced video stream
CA2949823C (en) 2014-05-21 2020-12-08 Arris Enterprises Llc Individual buffer management in transport of scalable video
US10205949B2 (en) 2014-05-21 2019-02-12 Arris Enterprises Llc Signaling for addition or removal of layers in scalable video
CN107925776B (zh) * 2015-08-25 2021-06-08 索尼公司 发送装置、发送方法、接收装置和接收方法
GB2598255B (en) 2016-02-17 2022-07-27 V Nova Int Ltd Physical adapter, signal processing equipment, methods and computer programs
JP7178907B2 (ja) * 2017-02-03 2022-11-28 ソニーグループ株式会社 送信装置、送信方法、受信装置および受信方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5852565A (en) * 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
KR20060123362A (ko) * 2003-12-22 2006-12-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 계층화된 비디오에 대한 디스크 할당/스케줄링
EP1704720A1 (en) * 2004-01-16 2006-09-27 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7852353B1 (en) * 2005-03-31 2010-12-14 Apple Inc. Encoding a transparency (alpha) channel in a video bitstream
US20060227871A1 (en) * 2005-03-31 2006-10-12 Madhukar Budagavi Video thumbnail method
KR100763181B1 (ko) * 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
JP5082209B2 (ja) * 2005-06-27 2012-11-28 株式会社日立製作所 送信装置、受信装置、及び映像信号送受信システム
WO2007080223A1 (en) * 2006-01-10 2007-07-19 Nokia Corporation Buffering of decoded reference pictures
CN101390399B (zh) * 2006-01-11 2010-12-01 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
US8767836B2 (en) 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
JP4660408B2 (ja) * 2006-03-27 2011-03-30 三洋電機株式会社 符号化方法
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
US8467449B2 (en) * 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
JP2009010649A (ja) * 2007-06-27 2009-01-15 Sharp Corp スケーラブルビデオストリーム復号装置およびスケーラブルビデオストリーム生成装置

Also Published As

Publication number Publication date
EP2253070A4 (en) 2011-07-27
JP5748234B2 (ja) 2015-07-15
CN104967869A (zh) 2015-10-07
ES2530218T3 (es) 2015-02-27
JP2013153523A (ja) 2013-08-08
US20090225870A1 (en) 2009-09-10
KR101303480B1 (ko) 2013-09-05
EP2253070B1 (en) 2015-01-21
CN101960726B (zh) 2015-07-01
CN101960726A (zh) 2011-01-26
EP2253070A1 (en) 2010-11-24
JP5238827B2 (ja) 2013-07-17
EP2899972B1 (en) 2021-12-08
KR101501333B1 (ko) 2015-03-11
JP2015144493A (ja) 2015-08-06
CN104202600A (zh) 2014-12-10
EP2899972A1 (en) 2015-07-29
JP2011514080A (ja) 2011-04-28
US8369415B2 (en) 2013-02-05
WO2009111519A1 (en) 2009-09-11
CN104967869B (zh) 2018-06-05
KR20100119002A (ko) 2010-11-08
CN104202600B (zh) 2018-05-15
JP6040282B2 (ja) 2016-12-07

Similar Documents

Publication Publication Date Title
KR101303480B1 (ko) 강화된 비디오 스트림을 디코딩하는 방법 및 장치
US11722702B2 (en) Method and apparatus for decoding an enhanced video stream
KR102274513B1 (ko) 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
US10291922B2 (en) Method and apparatus for decoding an enhanced video stream
US20130120526A1 (en) Association of mvc stereoscopic views to left or right eye display for 3dtv
KR101290346B1 (ko) 콘텐츠 다중화/스트리밍 방법 및 시스템
KR101571257B1 (ko) 확장 디스크립터들을 사용하여 송신기로부터 수신기로 미디어 데이터를 전달하는 방법

Legal Events

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

Payment date: 20180226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190222

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 6