KR20110091824A - 채널 전환용 시스템 및 방법 - Google Patents

채널 전환용 시스템 및 방법 Download PDF

Info

Publication number
KR20110091824A
KR20110091824A KR1020117017749A KR20117017749A KR20110091824A KR 20110091824 A KR20110091824 A KR 20110091824A KR 1020117017749 A KR1020117017749 A KR 1020117017749A KR 20117017749 A KR20117017749 A KR 20117017749A KR 20110091824 A KR20110091824 A KR 20110091824A
Authority
KR
South Korea
Prior art keywords
frame
csf
media
nal
nal unit
Prior art date
Application number
KR1020117017749A
Other languages
English (en)
Other versions
KR101141086B1 (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 KR20110091824A publication Critical patent/KR20110091824A/ko
Application granted granted Critical
Publication of KR101141086B1 publication Critical patent/KR101141086B1/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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
    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

압축 효율을 유지하면서 비디오 스트림의 획득 및 동기화/재동기화를 가능하게 하기 위해 채널 전환 프레임 (CSF) 을 비디오 인코딩 및 디코딩하는 기술이 제공된다. 채널 전환을 가능하게 하는 멀티미디어 데이터를 프로세싱하는 시스템 및 방법이 프리젠테이션된다. 이 시스템은 랜덤 액세스 포인트 (RAP) 프레임으로서 하나 이상의 NAL (network adaptation layer) 유닛으로 CSF 를 발생시킨다. 동일한 프레임 ID 번호를 각각 갖고, CSF 및 논-RAP 프레임을 포함하는 백-투-백 프레임이 송신된다.

Description

채널 전환용 시스템 및 방법{SYSTEMS AND METHODS FOR CHANNEL SWITCHING}
관련 출원의 상호 참조
본 특허출원은 2006년 11월 14일에 출원되고 발명의 명칭이 "SYSTEMS AND METHODS FOR CHANNEL SWITCHING"인 공동 양도된 가출원 제 60/865,822호의 우선권 이득을 주장한다. 이 가특허출원은 여기에 참조로서 명백히 포함된다.
본 출원은 공동 양도된 미국특허출원 제 11/527,306호 (2006년 9월 25일에 출원) 및 제 11/528,303호 (2006년 9월 26일에 출원) 를 다목적으로 참조로서 여기에 완전히 통합시킨다.
기술분야
본 개시물은 멀티미디어 신호 프로세싱에 관한 것으로, 더 상세하게는, 압축 효율을 유지하면서 비디오 스트림의 획득 및 동기화/재동기화를 가능하게 하기 위해 채널 전환 프레임 (CSF; channel switch frame) 을 비디오 인코딩 및 디코딩하는 기술에 관한 것이다.
비디오 인코더와 같은 멀티미디어 프로세싱 시스템은 MPEG (Moving Picture Experts Group)-1 표준, MPEG-2 표준 및 MPEG-4 표준, ITU (International Telecommunication Union)-T H.263 표준, 및 ITU-T H.264 표준과 그 대응물, ISO/IEC MPEG-4 파트 10, 즉, AVC (Advanced Video Coding) 와 같은 국제 표준에 기초한 인코딩 방법을 이용하여 멀티미디어 데이터를 인코딩할 수도 있으며, 이들 각각은 다목적으로 참조로서 여기에 완전히 통합된다. 이러한 인코딩 방법은 일반적으로 송신 및/또는 저장을 위해 멀티미디어 데이터를 압축하는 것에 관한 것이다. 압축은 멀티미디어 데이터로부터 리던던시를 제거하는 프로세스로서 널리 생각될 수 있다.
비디오 신호는 픽처의 시퀀스의 관점에서 설명될 수도 있는데, 이는 프레임 (전체 픽처) 또는 필드 (예를 들어, 인터레이스된 비디오 스트림은 교호하는 픽처의 홀수 또는 짝수 라인의 필드를 포함함) 를 포함한다. 본 명세서에서 사용된 바와 같이, 용어 "프레임"은 픽처, 프레임 또는 필드를 지칭한다. 비디오 인코딩 방법은 무손실 또는 손실성 압축 알고리즘을 이용하여 각 프레임을 압축함으로써 비디오 신호를 압축한다. 인트라-프레임 코딩 (본 명세서에서는 인트라-코딩으로도 지칭) 은 프레임을 그 프레임만을 이용하여 인코딩하는 것을 지칭한다. 인터-프레임 코딩 (본 명세서에서는 인터-코딩으로도 지칭) 은 다른, "참조" 프레임에 기초하여 프레임을 인코딩하는 것을 지칭한다. 예를 들어, 비디오 신호는 종종 시간적 리던던시를 나타내는데, 여기서 프레임의 시간 시퀀스에서 서로 가까이 있는 프레임은 서로 매칭하거나 또는 적어도 부분적으로 매칭하는 적어도 일부를 가진다.
비디오 인코더와 같은 멀티미디어 프로세서는, 예를 들어, 16×16 픽셀의 "매크로블록" 또는 블록으로 프레임을 파티셔닝함으로써 프레임을 인코딩할 수도 있다. 인코더는 각 매크로블록을 서브블록으로 더욱 파티셔닝할 수도 있다. 각 서브블록은 추가 서브블록을 더 포함할 수도 있다. 예를 들어, 매크로블럭의 서브블록은 16×8 및 8×16 서브블록을 포함할 수도 있다. 8×16 서브블록의 서브블록은 8×8 서브블록을 포함할 수도 있고, 이 8×8 서브블록은 4×4 서브블록을 포함할 수도 있는 등이다. 본 명세서에서 이용된 바와 같이, 용어 "블록"은 매크로블록 또는 서브블록 중 어느 하나를 지칭한다.
인코더는 인터-코딩 모션 보상 기반 알고리즘을 이용하여 순차 프레임들 사이의 시간적 리던던시를 이용한다. 모션 보상 알고리즘은 적어도 부분적으로 블록과 매칭하는 하나 이상의 참조 프레임의 부분을 식별한다. 블록은 참조 프레임(들)의 매칭 부분에 대하여 프레임에서 시프트될 수도 있다. 이 시프트는 하나 이상의 모션 벡터(들)로 특성화된다. 참조 프레임(들)의 부분적인 매칭 부분과 블록 사이의 어떤 차이는 하나 이상의 잔여(들)의 표현으로 특성화될 수도 있다. 인코더는 프레임의 특정 파티셔닝에 대한 잔여와 모션 벡터 중 하나 이상을 포함하는 데이터로서 이 프레임을 인코딩할 수도 있다. 프레임을 인코딩하기 위한 블록의 특정 파티션은, 예를 들어, 인코딩으로부터 기인한 프레임의 컨텐츠에 대해 왜곡, 또는 인지된 왜곡을 갖는 인코딩 사이즈를 밸런싱하는 비용 함수를 대략 최소화함으로써 선택될 수도 있다.
인터-코딩은 인트라-코딩보다 더 높은 압축 효율을 가능하게 한다. 그러나, 인터-코딩은 채널 에러 등으로 인해 참조 데이터 (예를 들어, 참조 프레임 또는 참조 필드) 가 손실되는 경우에 문제를 야기할 수 있다. 에러로 인한 참조 데이터의 손실에 부가하여, 참조 데이터는 또한 인터-코딩된 프레임에서 비디오 신호의 초기 획득 또는 재획득으로 인해 이용가능하지 않을 수도 있다. 이들 경우에, 인터-코딩된 데이터의 디코딩은 가능하지 않을 수도 있거나 원하지 않는 에러 및 에러 전파를 야기할 수도 있다. 이들 시나리오는 비디오 스트림의 동기화의 손실을 야기할 수 있다.
독립적으로 디코딩가능한 인터-코딩된 프레임은 비디오 신호의 동기화/재동기화를 가능하게 하는 프레임의 가장 흔한 형태이다. MPEG-x 및 H.26x 표준은 GOP (group of pictures) 로 알려진 것을 이용하는데, 이는 인트라-코딩된 프레임 (I-프레임으로도 불림), 및 GOP 내의 이 I-프레임 및/또는 다른 P 및/또는 B 프레임을 참조하는 시간 예측된 P-프레임 또는 양방향 예측된 B 프레임을 포함한다. 증가된 압축 레이트에 대해 더 긴 GOP 가 바람직하지만 더 짧은 GOP 는 더 신속한 획득 및 동기화/재동기화를 허용한다. I-프레임의 수를 증가시키는 것은 더 신속한 획득 및 동기화/재동기화를 허용하지만, 더 낮은 압축을 희생할 것이다.
따라서, 압축 효율을 유지하면서 비디오 스트림의 획득 및 동기화/재동기화를 가능하게 하기 위해 채널 전환 프레임 (CSF) 을 비디오 인코딩 및 디코딩하는 기술이 필요하다.
압축 효율을 유지하면서 비디오 스트림의 획득 및 동기화/재동기화를 가능하게 하기 위해 채널 전환 프레임 (CSF) 을 비디오 인코딩 및 디코딩하는 기술이 제공된다. 일 양태에서, 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키도록 동작하는 프로세서를 포함하는 디바이스가 제공된다.
다른 양태는 컴퓨터로 하여금, 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키게 하는 명령들을 가진 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품을 포함한다.
또 다른 양태는 동일한 프레임 ID 번호를 각각 갖는 백-투-백 (back-to-back) 프레임 중 하나 이상을 디코딩하도록 동작하는 프로세서를 포함하며, 백-투-백 프레임의 제 1 프레임은 랜덤 액세스 포인트 (RAP) 프레임이고 제 2 프레임은 논(non)-RAP 프레임이다.
추가 양태는 특히 첨부 도면과 함께 취해지는 경우에 상세한 설명으로부터 보다 더 명백해진다.
도 1 은 일정한 구성에 따른 대표적인 멀티미디어 통신 시스템의 블록도를 도시한다.
도 2a 는 도 1 의 시스템에 사용될 수도 있는 대표적인 인코더 디바이스의 블록도를 도시한다.
도 2b 는 도 1 의 시스템에 사용될 수도 있는 대표적인 디코더 디바이스의 블록도를 도시한다.
도 3 은 FLO 네트워크에서의 디바이스로/에 의해 출력된 동기 계층 메시지와 실시간 미디어 스트림 사이의 대표적인 관계를 도시한다.
도 4 는 FLO 네트워크 에서의 실시간 서비스를 위한 대표적인 프로토콜 계층을 도시한다.
도 5a 및 도 5b 는 동기 계층 패킷과 미디어 프레임 사이의 다른 대표적인 관계를 도시한다.
도 6 은 디바이스에서의 개별 흐름에 대해 동기 계층을 프로세싱하는 대표적인 상태 머신을 도시한다.
도 7 은 대표적인 채널 전환 프레임 (CSF) 을 도시한다.
도 8 은 대표적인 3-NAL CSF 를 도시한다.
도 9 는 채널 전환 프레임 (CSF) 발생기를 도시한다.
도 10 은 CSF 를 갖는 비트스트림을 디코딩하는 프로세스를 도시한다.
도 11 은 동기 헤더를 발생시키는 동기 헤더 발생기를 도시한다.
도 12a 는 동기 헤더 발생기의 추가 필드 발생기를 도시한다.
도 12b 는 동기 헤더 발생기의 적응 타입 발생기를 도시한다.
도 13a 는 공통 미디어 헤더 어셈블러를 도시한다.
도 13b 는 미디어-특정 헤더 어셈블러를 도시한다.
도 14 는 비디오 동기 계층 디렉토리 어셈블러를 도시한다.
도 15 는 VSL 레코드 어셈블러를 도시한다.
도 16 은 디바이스에서 프로세싱하는 동기 계층 내지 미디어 코덱 계층에 대한 프로세스의 흐름도를 도시한다.
도 17 은 백-투-백 동일한 프레임 식별 번호를 갖는 네트워크에 의해 발생된 비트스트림의 실시예를 도시한다.
도면의 이미지는 예시를 목적으로 단순화되고, 일정한 비율로 도시되지 않았다. 이해를 용이하게 하기 위해, 적절한 경우에 이들 도면에 공통인 동일한 구성요소를 구별하기 위해서 첨자가 부가될 수도 있는 것을 제외하고는, 가능하다면 이러한 구성요소를 지시하는데 동일한 참조부호가 이용되었다.
첨부 도면은 본 발명의 대표적인 구성을 도시하며, 이로서, 다른 동등하게 효과적인 구성을 허용할 수도 있는 본 발명의 범위를 제한하는 것으로 고려되어서는 안된다. 하나의 구성의 블록 또는 특징이 추가적으로 상술하지 않고도 다른 구성에 유리하게 통합될 수도 있다는 것이 예기된다.
약어
다음의 약어는 이하 제공되는 설명에 적용된다.
FLO: Forward Link Only
IDR: Instantaneous Decoding Refresh
IEC: International Electrotechnical Commission
IETF: Internet Engineering Task Force
ISO: International Organization for Standardization
ITU: International Telecommunication Union
ITU-T: ITU Telecommunication Standardization Sector
NAL: Network Abstraction Layer
RBSP: Raw Byte Sequence Payload
TIA: Telecommunications Industry Association
TM3: Terrestrial Mobile Multimedia Multicast
UINT: Unsigned Integer
RAP: Random Access Point
PTS: Presentation Time Stamp
단어 "대표적인"은 "실시예, 예, 또는 예시의 기능을 하는 것"을 의미하도록 본 명세서에서 이용된다. 본 명세서에서 "대표적인"으로 설명된 임의의 구성 또는 설계는 반드시 다른 구성 또는 설계에 비해 바람직하거나 유리하다고 해석되어야 하는 것은 아니고, 용어 "코어", "엔진", "머신", "프로세서" 및 "프로세싱 유닛"은 상호교환적으로 이용된다.
본 명세서에서 설명된 기술은 무선 통신, 컴퓨팅, 퍼스널 일렉트로닉스 등에 이용될 수도 있다. 무선 통신용 기술의 대표적인 이용은 후술한다.
다음의 상세한 설명은 본 발명의 일정한 샘플 구성에 관한 것이다. 그러나, 본 발명은 청구범위에 의해 정의 및 커버된 것과 같이 다수의 상이한 방식으로 구체화될 수 있다. 본 설명에서, 동일한 부분이 도면 전체에 걸쳐 동일한 번호로 지시되는 도면을 참조한다.
비디오 신호는 일련의 픽처, 프레임, 및/또는 필드의 표현으로 특성화될 수도 있으며, 이들 중 임의의 것은 하나 이상의 슬라이스를 더 포함할 수도 있다. 본 명세서에서 이용되는 바와 같이, 용어 "프레임"은 프레임, 필드, 픽처, 및/또는 슬라이스 중 하나 이상을 포괄할 수도 있는 광의의 용어이다.
구성은 멀티미디어 전송 시스템에서 채널 전환을 용이하게 하는 시스템 및 방법을 포함한다. 멀티미디어 데이터는 모션 비디오, 오디오, 스틸 이미지, 텍스트 또는 임의의 다른 적절한 타입의 오디오-비주얼 데이터 중 하나 이상을 포함할 수도 있다.
도 1 은 일정한 구성에 따른 대표적인 멀티미디어 통신 시스템 (100) 의 블록도를 도시한다. 시스템 (100) 은 네트워크 (140) 를 통해 디코더 디바이스 (150) 와 통신하는 인코더 디바이스 (110) 를 포함한다. 일 실시예에서, 인코더 디바이스 (110) 는 외부 소스 (102) 로부터 멀티미디어 신호를 수신하고 네트워크 (140) 를 통한 송신을 위해 이 신호를 인코딩한다.
이 실시예에서, 인코더 디바이스 (110) 는 송수신기 (116) 및 메모리 (114)에 커플링된 프로세서 (112) 를 포함한다. 프로세서 (112) 는 멀티미디어 데이터 소스로부터의 데이터를 인코딩하고, 네트워크 (140) 를 통한 통신을 위해 이를 송수신기 (116) 에 제공한다.
이 실시예에서, 디코더 디바이스 (150) 는 송수신기 (156) 및 메모리 (154)에 커플링된 프로세서 (152) 를 포함한다. 디코더 디바이스 (150) 가 송신 및 수신 둘 다 하는 송수신기를 가질 수도 있지만, 디코더 디바이스 (150) 는 수신기 (158) 와 같은 수신기만을 필요로 한다. 프로세서 (152) 는 범용 프로세서 및/또는 디지털 신호 프로세서 중 하나 이상을 포함할 수도 있다. 메모리 (154) 는 고체 상태 또는 디스크 기반 스토리지 중 하나 이상을 포함할 수도 있다. 송수신기 (156) 는 네트워크 (140) 를 통해 멀티미디어 데이터를 수신하고 디코딩을 위해 이를 프로세서 (152) 에 제공하도록 구성된다. 일 실시예에서, 송수신기 (156) 는 무선 송수신기를 포함한다. 네트워크 (140) 는, 이더넷, 전화 (예를 들어, POTS), 케이블, 전력선, 및 광섬유 시스템 중 하나 이상을 포함하는 유선 또는 무선 통신 시스템, 및/또는 코드 분할 다중 접속 (CDMA 또는 CDMA2000) 통신 시스템, 주파수 분할 다중 접속 (FDMA) 시스템, 직교 주파수 분할 다중 (OFDM) 접속 시스템, GSM/GPRS (General packet Radio Service)/EDGE (enhanced data GSM environment) 와 같은 시분할 다중 접속 (TDMA) 시스템, TETRA (Terrestrial Trunked Radio) 이동 전화 시스템, 광대역 코드 분할 다중 접속 (WCDMA) 시스템, HDR (high data rate)(1xEV-DO 또는 1xEV-DO Gold Multicast) 시스템, IEEE 802.11 시스템, MediaFLO 시스템, DMB 시스템, DVB-H 시스템 등에서 하나 이상을 포함하는 무선 시스템 중 하나 이상을 포함할 수도 있다.
도 2a 는 일정한 구성에 따른 도 1 의 시스템 (100) 에 사용될 수도 있는 대표적인 인코더 디바이스 (110) 의 블록도를 도시한다. 이 구성에서, 인코더 디바이스 (110) 는 인터-코딩 인코더 엘리먼트 (118), 인트라-코딩 인코더 엘리먼트 (120), 참조 데이터 발생기 엘리먼트 (122) 및 송신기 엘리먼트 (124) 를 포함한다. 인터-코딩 인코더 엘리먼트 (118) 는 다른 시간 프레임에 위치한 비디오 데이터의 다른 부분을 참조하여 시간적으로 (예를 들어, 모션 보상된 예측을 이용하여) 예측된 비디오의 인터-코딩된 부분을 인코딩한다. 인트라-코딩 인코더 엘리먼트 (120) 는 다른 시간적으로 위치한 비디오 데이터를 참조하지 않고 독립적으로 디코딩될 수 있는 비디오의 인트라-코딩된 부분을 인코딩한다. 몇몇 구성에서, 인트라-코딩 인코더 엘리먼트 (120) 는 공간 예측을 이용하여, 동일한 시간 프레임에 위치한 다른 비디오 데이터의 리던던시를 이용할 수도 있다.
일 양태에서, 참조 데이터 발생기 (122) 는 인코더 엘리먼트 (120 및 118) 에 의해 발생된 인트라-코딩 및 인터-코딩된 비디오 데이터가 각각 어디에 위치하는지를 표시하는 데이터를 발생시킨다. 예를 들어, 참조 데이터는 프레임 내의 위치를 찾기 위해서 디코더에 의해 이용되는 서브블록 및/또는 매크로블록의 식별자를 포함할 수도 있다. 참조 데이터는 또한 비디오 프레임 시퀀스 내에 프레임의 위치를 찾는데 이용되는 프레임 시퀀스 번호를 포함할 수도 있다.
송신기 (124) 는 도 1 의 네트워크 (140) 와 같은 네트워크를 통해 인터-코딩된 데이터, 인트라-코딩된 데이터, 및 몇몇 구성에서는 참조 데이터를 송신한다. 이 데이터는 하나 이상의 통신 링크를 통해 송신될 수도 있다. 용어 통신 링크는 일반적인 의미로 이용되고, 유선 또는 무선 네트워크, 가상 채널, 광학 링크 등을 포함하지만 이에 한정되지 않는 임의의 통신 채널을 포함할 수 있다. 몇몇 구성에서, 인트라-코딩된 데이터는 기본 계층 통신 링크를 통해 송신되고, 인터-코딩된 데이터는 향상 계층 통신 링크를 통해 송신된다. 몇몇 구성에서, 인트라-코딩된 데이터 및 인터-코딩된 데이터는 동일한 통신 링크를 통해 송신된다. 몇몇 구성에서, 인터-코딩된 데이터, 인트라-코딩된 데이터 및 참조 데이터 중 하나 이상은 측파대 통신 링크를 통해 송신될 수도 있다. 예를 들어, MPEG-2 의 user_data 메시지 또는 H.264 의 SEI (Supplemental Enhancement Information) 메시지와 같은 측파대 통신 링크가 이용될 수도 있다. 몇몇 구성에서, 인트라-코딩된 데이터, 인터-코딩된 데이터 및 참조 데이터 중 하나 이상이 가상 채널을 통해 송신된다. 가상 채널은 가상 채널에 속하는 것으로 데이터 패킷을 식별하는 식별가능한 패킷 헤더를 포함하는 데이터 패킷을 포함할 수도 있다. 주파수 분할, 시분할, 코드 확장 등과 같이, 가상 채널을 식별하는 다른 형태가 당업계에 알려져 있다.
도 2b 는 일정한 구성에 따른 도 1 의 시스템 (100) 에 의해 사용될 수도 있는 대표적인 디코더 디바이스 (150) 의 블록도를 도시한다. 이 구성에서, 디코더 디바이스 (150) 는 수신기 엘리먼트 (158), 선택 디코더 엘리먼트 (160), 참조 데이터 결정기 엘리먼트 (162), 및 채널 전환 검출기 엘리먼트 (164) 및 에러 검출기 엘리먼트 (166) 와 같은 하나 이상의 참조 데이터 이용가능성 검출기를 포함한다.
수신기 (158) 는 인코딩된 비디오 데이터 (예를 들어, 도 1 및 도 2a 의 인코더 디바이스 (110) 에 의해 인코딩된 데이터) 를 수신한다. 수신기 (158) 는 도 1 의 네트워크 (140) 와 같은 유선 또는 무선 네트워크를 통해 인코딩된 데이터를 수신할 수도 있다. 이 데이터는 하나 이상의 통신 링크를 통해 수신될 수도 있다. 몇몇 구성에서, 인트라-코딩된 데이터는 기본 계층 통신 링크를 통해 수신되고, 인터-코딩된 데이터는 향상 계층 통신 링크를 통해 수신된다. 몇몇 구성에서, 인트라-코딩된 데이터 및 인터-코딩된 데이터는 동일한 통신 링크를 통해 수신된다. 몇몇 구성에서, 인터-코딩된 데이터, 인트라-코딩된 데이터 및 참조 데이터 중 하나 이상은 측파대 통신 링크를 통해 수신될 수도 있다. 예를 들어, MPEG-2 의 user_data 메시지 또는 H.264 의 SEI (Supplemental Enhancement Information) 메시지와 같은 측파대 통신 링크가 이용될 수도 있다. 몇몇 구성에서, 인트라-코딩된 데이터, 인터-코딩된 데이터 및 참조 데이터 중 하나 이상은 가상 채널을 통해 수신된다. 가상 채널은 가상 채널에 속하는 것으로 데이터 패킷을 식별하는 식별가능한 패킷 헤더를 포함하는 데이터 패킷을 포함할 수도 있다. 가상 채널을 식별하는 다른 형태는 당업계에 알려져 있다.
선택 디코더 (160) 는 수신된 인터-코딩된 비디오 데이터 및 인트라-코딩된 비디오 데이터를 디코딩한다. 몇몇 구성에서, 수신된 데이터는 비디오 데이터의 일부의 인터-코딩된 버전 및 비디오 데이터의 일부의 인트라-코딩된 버전을 포함한다. 인터-코딩된 데이터는 참조 데이터 (이 참조 데이터에 기초하여 인터-코딩된 데이터가 예측됨) 가 디코딩된 후에 디코딩될 수 있다. 예를 들어, 모션 보상된 예측을 이용하여 인코딩된 데이터는 참조 데이터의 위치를 식별하는 프레임 식별자 및 모션 벡터를 포함한다. 인터-코딩된 버전의 프레임 식별자 및 모션 벡터에 의해 식별된 프레임의 일부가 이용가능하면 (예를 들어, 이미 디코딩되었으면), 선택 디코더 (160) 는 인터-코딩된 버전을 디코딩할 수 있다. 그러나, 참조 데이터가 이용가능하지 않으면, 선택 디코더 (160) 는 인트라-코딩된 버전을 디코딩할 수 있다.
일 양태에서, 참조 데이터 결정기 (162) 는, 수신되는 인코딩된 비디오 데이터에서의 인트라-코딩 및 인터-코딩된 비디오 데이터가 어디에 위치하는지를 표시하는 수신된 참조 데이터를 식별한다. 예를 들어, 참조 데이터는 프레임 내의 위치를 찾기 위해서 선택 디코더 (160) 에 의해 이용되는 서브블록 및/또는 매크로블록의 식별자를 포함할 수도 있다. 참조 데이터는 또한 비디오 프레임 시퀀스 내에 프레임의 위치를 찾는데 이용되는 프레임 시퀀스 번호를 포함할 수도 있다. 이 수신된 참조 데이터를 이용하는 것은 인터-코딩된 데이터가 의존하는 참조 데이터가 이용가능한지 여부를 디코더가 결정할 수 있게 한다.
참조 데이터 이용가능성은 멀티-채널 통신 시스템의 채널을 전환하는 사용자에 의해 영향을 받을 수 있다. 예를 들어, 다중 비디오 브로드캐스트는 하나 이상의 통신 링크를 이용하여 수신기 (158) 에 이용가능할 수도 있다. 사용자가 수신기 (158) 에게 다른 브로드캐스트 채널로 전환하라고 명령하면, 새로운 채널을 통한 인터-코딩된 데이터에 대한 참조 데이터는 즉시 이용가능하지 않을 수도 있다. 채널 전환 검출기 (164) 는 채널 전환 커맨드가 발행되었다고 검출하고 선택 디코더 (160) 에 시그널링한다. 이후, 선택 디코더 (160) 는 참조 데이터 결정기로부터 획득된 정보를 이용하여, 인터-코딩된 버전의 참조 데이터가 이용가능하지 않은지 여부를 식별한 후, 최근접 인트라-코딩된 버전의 위치를 식별하여 식별된 인트라-코딩된 버전을 선택적으로 디코딩할 수 있다.
참조 데이터 이용가능성은 또한 수신된 비디오 데이터에서의 에러에 의해 영향을 받을 수 있다. 에러 검출기 (166) 는 에러 검출 기술 (예를 들어, 순방향 에러 정정) 을 이용하여 비트스트림에서 정정불가능한 에러를 식별할 수 있다. 인터-코딩된 버전이 의존하는 참조 데이터에 정정불가능한 에러가 있으면, 에러 검출기 (166) 는, 에러에 의해 어떤 비디오 데이터가 영향을 받는지를 식별하는 것을 선택 디코더 (160) 에 시그널링할 수 있다. 이후, 선택 디코더 (160) 는 (예를 들어, 참조 데이터가 이용가능하면) 인터-코딩된 버전을 디코딩할지 여부 또는 (예를 들어, 참조 데이터가 이용가능하지 않으면) 인트라-코딩된 버전을 디코딩할지 여부를 결정할 수 있다.
일정한 구성에서, 도 2a 의 인코더 디바이스 (110) 의 엘리먼트 중 하나 이상이 재배열 및/또는 결합될 수도 있다. 이 엘리먼트는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 이의 임의의 조합에 의해 구현될 수도 있다. 일정한 구성에서, 도 2b 의 디코더 디바이스 (150) 의 엘리먼트 중 하나 이상이 재배열 및/또는 결합될 수도 있다. 이 엘리먼트는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 이의 임의의 조합에 의해 구현될 수도 있다.
비디오
본 명세서에서 설명한 일정한 구성은 기술 표준 TIA-1099 로 공개된, FLO 무선 인터페이스 사양, "Forward Link Only (FLO) Air Interface Specification for Terrestrial Mobile Multimedia Multicast"를 이용하는 TM3 시스템에서 실시간 비디오 서비스를 전달하기 위해 MediaFLOTM 비디오 코딩을 이용하여 구현될 수 있으며, 이는 다목적으로 참조로서 여기에 완전히 통합된다. 일정한 구성은 비트스트림 구문 및 의미론, 및 FLO 무선 인터페이스 계층 (412) 을 통해 이들 서비스를 전달하기 위한 디코딩 프로세스를 정의한다.
본 명세서에서 제공된 설명은, 적어도 부분적으로, FLO 멀티미디어 멀티캐스트 시스템에 대한 호환성 표준을 형성하고, 이 표준에 부합하는 임의의 FLO 네트워크 (302, 도 3) 를 통해 서비스(들)을 획득함에 있어서 컴플라이언트 (compliant) FLO 디바이스 (304) 를 용이하게 한다.
규범 참조
ITU-T 권고 H.264 및/또는 ISO/IEC 국제 표준 ISO/IEC 14496-10 AVC (advanced video coding)(본 명세서에서는 "H.264/AVC 표준"으로 언급됨) 는 다목적으로 참조로서 여기에 완전히 통합되고, 부분적으로 여기에 특별히 참조될 수도 있다.
H.264/AVC 표준의 제 3 절에서의 정의는 또한 본 명세서에서 설명한 구성에 적용된다. 추가적으로, 본 명세서에서 설명한 대표적인 구성에 따른 채널 전환 프레임 (CSF) 는 시퀀스 파라미터 세트, 및/또는 픽처 파라미터 세트, 및/또는 IDR (instantaneous decoding refresh) 픽처로 구성된 코딩된 픽처로 정의된다. 채널 전환 프레임 (CSF) 는 독립 전송 프로토콜 패킷으로 캡슐화되어, 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하거나 에러 복구를 용이하게 할 수 있다. 채널 전환 프레임 (CSF) 는 이하 특정된다.
연산자, 범위 표기, 수학 함수, 변수, 구문 엘리먼트, 표, 및 프로세스에 대해 본 명세서에서 이용된 협약은 H.264/AVC 표준의 제 5 절에서 특정된 바와 같다.
본 명세서에서 설명한 일정한 구성은 범위의 설명, 규범 참조, 용어의 정의, 개시물의 구성 및 약어, 및 비트스트림 구문, 의미론 및 디코딩 프로세스의 설명을 포함한다.
멀티미디어 브로드캐스트를 위한 저복잡도 비트스트림 포맷 및 디코딩
본 명세서에서 제공된 설명은, 그 중에서도 특히, 멀티미디어 브로드캐스트를 위한 저복잡도 확장을 제공하는 대표적인 비트스트림 포맷 및 디코딩 프로세스를 설명한다. 본 사양에 의해 설명된 저복잡도 확장에 부합하는 비트스트림은 다음의 추가 제약 및 확장을 갖는 H.264/AVC 표준의 A.2 에서의 프로파일에 부합한다: 1) 시퀀스 파라미터 세트는 66 또는 88 과 동일한 profile_idc 를 가질 수 있고; 2) 시퀀스 파라미터 세트는 0 과 동일한 constraint_set0_flag 를 가질 수 있고; 3) 시퀀스 파라미너 세트는 1 과 동일한 constraint_set1_flag 를 가질 수 있고; 4) 시퀀스 파라미터 세트는 0 과 동일한 constraint_set2_flag 를 가질 수 있고; 5) B 슬라이스 타입이 존재할 수도 있고; 및/또는 6) B-픽처에 대한 슬라이스는 0 과 동일한 nal_ref_idc 를 가질 수 있다. (idc 는 프로파일 인덱스를 나타낸다.)
구성의 다른 양태에서, 본 사양에 의해 설명된 저복잡도 확장에 부합하는 비트스트림은 다음의 제약 및 확장을 갖는 H.264/AVC 표준의 A.2 에서의 프로파일에 부합한다: 1) 시퀀스 파라미터 세트는 66 또는 88 과 동일한 profile_idc 를 가질 수 있고; 2) 시퀀스 파라미터 세트는 1 과 동일한 constraint_set0_flag 를 가질 수 있고; 3) 시퀀스 파라미터 세트는 0 과 동일한 constraint_set1_flag 를 가질 수 있고; 4) 시퀀스 파라미터 세트는 1 과 동일한 constraint_set2_flag 를 가질 수 있고; 5) B 슬라이스 타입이 존재할 수도 있고; 및/또는 6) B-픽처에 대한 슬라이스는 0 과 동일한 nal_ref_idc 를 가질 수 있다.
채널 전환 프레임
도 7 은 대표적인 채널 전환 프레임 (CSF; 700) 을 도시한다. MediaFLOTM 환경 내에서 채널 변경을 가능하게 하고 에러 복구를 용이하게 하기 위해, 일정한 구성에 따른 인코더 엘리먼트 (120) 는 채널 전환 프레임 (CSF) 을 삽입할 수도 있다. 채널 전환 프레임 (CSF; 700) 은, 참조부호 702 및 704 로 표기된 최대 3 개의 NAL 유닛 또는 그 이상 (NAL1 ... NALx) 으로 구성될 수 있다. X 는 2 이상일 수도 있다. 그럼에도 불구하고, CSF (700) 는 하나의 NAL 유닛만을 가질 수도 있다.
도 8 은 대표적인 3-NAL CSF (800) 를 도시한다. 이 실시예에서, CSF (800) 는 3 개의 NAL 유닛 (802, 804, 806) 으로 구성된다. 3 개의 NAL 유닛이 이용되면, 일정한 상황에서, 존재한다면, 이는 다음의 순서: SPS (sequence parameter set; 812), PPS (picture parameter set; 814), 및 IDR (instantaneous decoding refresh; 816) 로 비트스트림에 있을 수 있다. IDR NAL 유닛은 저품질 NAL IDR 유닛일 수도 있다.
이 CSF 배열을 표 1 에 도시한다. 표 1 은 어떤 NAL 유닛 타입이 CSF (800) 에 이용되는지를 식별한다. 대표적인 구성에서, NAL 유닛 타입은 타입 번호 7, 8 및 5 를 포함한다. 그럼에도 불구하고, 다른 환경에서, IDR NAL 타입 5 는 I-프레임 (코딩된 슬라이스) NAL 타입 1 로 대체될 수도 있다. RBSP 는 로우 바이트 시퀀스 페이로드 (raw byte sequence payload) 를 의미하고 컬럼 타이틀의 RBSP 구문 구조로 나타낸다. 컬럼 nal_unit_type 은 CSF 에 대해 본 명세서에서 이용된 NAL 유닛 타입 번호를 나타낸다. 컬럼 C 는 다른 지원된 구조를 나타낸다. 예를 들어, 번호 2, 3 및 4 는 데이터 파티션 A, B 및 C 를 나타낸다. 번호 1 은 또한 코딩된 슬라이스 NAL 유닛 1 을 나타낸다. 번호 0 은 특정되지 않는다.
표 1 : 채널 전환 프레임에 대한 NAL 유닛 및 RBSP 구문
Figure pat00001
이들 NAL 유닛의 구문, 의미론, 및 디코딩 프로세스는 H.264/AVC 표준에서 특정된 바와 같다.
채널 전환 프레임 파라미터의 사양
채널 전환 프레임 (CSF) 비트스트림의 의미론은 H.264/AVC 표준의 요건과는 상이한 수개의 구문 엘리먼트, 변수, 및 함수에 대한 요건을 가진다.
도 9 는 채널 전환 프레임 (CSF) 발생기 (900) 를 도시한다. CSF 발생기 (900) 는 SPS 발생기 (902), PPS 발생기 (904), IDR 발생기 (906) 및 I-프레임 발생기 (908) 를 포함한다. 다음의 요건은 H.264/AVC 표준과 상이하다. SPS 발생기 (902) 는 CSF (800) 의 결과적인 SPS (sequence parameter set) NAL 이 0 과 동일한 pic_order_cnt_type 을 가지게 한다. 추가적으로, SPS 발생기 (902) 는 CSF (800) 의 결과적인 SPS (sequence parameter set) NAL 이 0 과 동일한 gaps_in_frm_num_value_allowed_flag 를 가지게 한다.
PPS 발생기는 결과적인 PPS NAL 유닛을 발생시킨다. I-프레임 발생기 (908) 는 I-프레임 NAL 유닛을 발생시킨다. IDR 발생기 (906) 는, IDR 픽처에 대한 구문 엘리먼트 pic_order_cnt_lsb 가 0 이 아닐 수도 있게, 결과적인 IDR NAL 유닛을 발생시킨다. IDR 픽처 PicOrderCnt() 는 대응하는 P 슬라이스 PicOrderCnt() 와 동일하다. 추가적으로, IDR 픽처의 구문 엘리먼트 frame_num 은 0 이 아닐 수도 있다. IDR 픽처 frame_num 은 대응하는 P 슬라이스 frame_num 와 동일하다. 다음의 픽처 frame_num 은 (frame_num + 1)% MaxFrameNum 과 동일할 수 있다.
따라서, IDR 발생기는, IDR NAL 의 POC (picture order count) 번호를 P-슬라이스 POC 번호와 동일하게 설정하는 IDR POC 번호 계산기 (910) 를 포함한다. IDR 발생기는 또한, 픽처 프레임 번호를 P-슬라이스 프레임 번호와 동일하게 설정하는 IDR 픽처 프레임 번호 계산기 (912) 를 포함한다. IDR 발생기는 또한 몇몇 예에서 픽처 프레임 번호 및 POC 번호가 0 이 아닌 것을 보증한다. 인코더 디바이스 (110) 는, 픽처 frame_num 이 (frame_num + 1)%MaxFrameNum 과 동일할 수 있는 블록 916 에서 프레임 번호를 추적한다.
인코더 디바이스 (110) 는 가변 PrevRefFrameNum 이 CSF frame_num 에서 1 을 뺀 값과 동일하게 설정될 수 있도록 가변 PrevRefFrameNum 을 추적할 수도 있다.
채널 전환 프레임 디코딩
도 10 은 CSF 를 갖는 비트스트림을 디코딩하는 프로세스 (1000) 를 도시한다. H.264/AVC 표준의 제 8 절에 특정된 바와 같이 I-슬라이스에 이용된 디코딩 프로세스 (1000) 는, IDR NAL 유닛이 I-프레임 발생기 (908) 에 의해 발생된 것과 같이, I-슬라이스 NAL 유닛 (NAL 타입 1 의 코딩된 슬라이스) 으로 대체되는 경우에 채널 전환 프레임 (CSF) 을 디코딩하는데 이용될 수 있다. 채널 전환 프레임 (CSF) 이전의 출력 순서 (디스플레이) 로 요청된 채널에서의 픽처가 드롭될 수 있다. (출력 순서의 의미에서) 미래 픽처의 디코딩에 대한 변경은 없다. CSF 다음의 미래 픽처는 CSF 이전의 출력 순서의 임의의 픽처를 참조 프레임으로서 이용할 수 없다.
이하의 다양한 구성에서, 흐름도 블록은 도시된 순서로 수행되거나, 이들 블록 또는 그 일부는 동시에, 병렬로, 또는 상이한 순서로 수행될 수도 있다.
따라서, 디코딩 프로세스 (1000) 는, 픽처를 갖는 비트스트림이 디코딩되는 블록 1002 에서 시작된다. 블록 1002 다음에, CSF 가 검출되는지 여부에 관한 판정이 이루어지는 블록 1004 가 뒤따른다. 이 판정이 "아니오"이면, 블록 1004 는, 비트스트림의 추가 디코딩이 발생하는 블록 1002 로 루프백한다.
그러나, 블록 1004 에서의 판정이 "예"이면, CSF 는 I-슬라이스 및/또는 NAL 유닛 타입 프로토콜에 따라 디코딩된다. 블록 1006 다음에, 출력 순서에서 CSF 이전에 요구된 채널의 임의의 픽처가 있는지 여부에 관한 판정이 이루어지는 블록 1008 이 뒤따른다. 이 판정이 "예"이면, 블록 1010 에서 이들 픽처는 드롭된다. 블록 1010 다음에, 블록 1012 가 뒤따른다. 그러나, 블록 1008 에서의 판정이 "아니오"이면, 블록 1008 다음에, 블록 1012 가 뒤따른다. 블록 1012 에서, 출력 순서에서 CSF 이후에 요구된 채널의 임의의 픽처가 있는지 여부에 관한 판정이 이루어진다. 이 판정이 "예"이면, 블록 1014 에서 출력 순서에서 CSF 이전의 픽처가 비참조 프레임으로 설정된다. 블록 1010 다음에, 블록 1012 가 뒤따른다. 그러나, 이 판정이 "아니오"이면, 블록 1012 는 블록 1002 로 루프백한다. 블록 1014 는 또한, 정규 디코딩이 발생하는 블록 1002 로 루프백한다. 비참조 프레임은 프레임을 플러시 (flush) 함으로써 또는 비참조 프레임으로서 프레임을 강요함으로써 설정될 수도 있다.
동기 계층
MediaFLOTM 시스템은 다음의 컨텐츠: 실시간, 비실시간 및 IP 데이터캐스트 (예를 들어, 멀티캐스트, 유니캐스트 등) 중 적어도 3 가지 타입을 전달할 수 있다. 실시간 서비스의 전달을 위한 MDNI (Multicast device network Interface) 는 도 4 에 도시된다.
도 3 은 FLO 네트워크 (302) 에서의 디바이스 (304) 로/에 의해 출력된 동기 계층 메시지와 실시간 미디어 스트림 사이의 대표적인 관계를 도시한다. 대표적인 FLO 네트워크 (302) 는 디바이스 (304) 로의 스트리밍 컨텐츠의 연속적인 실시간 전달을 지원할 수 있다. 각 스트림은 별개 흐름으로서 전달될 수 있고, 관련 흐름은 시스템 정보를 이용하여 공동 서비스, 또는 서비스 세트에 속하는 것으로 식별될 수 있다. 네트워크 (302) 는 디바이스로 하여금 실시간 미디어 스트림을 서로 그리고 컨텐츠의 프리젠테이션 타이밍 요건과 동기화하도록 하는 데이터를 추가적으로 제공할 수 있다. 미디어 스트림과 동기화 데이터를 결합시키기 위한 계층이 동기 계층 (406) 으로 알려져 있다.
실시간 서비스에 액세스하는데 요구되는 디바이스 (304) 는 서비스의 위치를 찾기 위해 시스템 정보를 이용한다. 예를 들어, 서비스에 대해 현재 이용가능한 프리젠테이션의 등급 및 타이틀과 같은 서비스에 관련된 메타데이터를 프로세싱한 후에, 디바이스 (304) 는 적절한 흐름을 선택하고 수신된 스트림을 재생 (play) 할 수 있다. 이들 스트림의 프리젠테이션의 타이밍 및 동기화는 본 명세서에서의 프로토콜에 의해 제어될 수 있다.
프로토콜 아키텍처
도 4 는 FLO 네트워크 (302) 에서의 실시간 서비스를 위한 대표적인 프로토콜 계층 (400) 을 도시한다. 실시간 서비스는 본 명세서에서 설명하는 프레이밍 계층 (408), 및 본 명세서에서 또한 설명하는 스트림 암호화/암호 해독 계층 (410) 의 서비스를 이용할 수 있다. 이는 적어도 2 개의 서브-계층: 미디어 코덱 계층 (404) 및 동기 계층 (406) 으로 구성될 수 있다. 실시간 애플리케이션 계층 (402) 은 프로토콜 계층 (400) 의 상위 계층 섹션에 도시된다.
미디어 코덱 계층 (404) 은 본 구성의 범위 밖에 있는 미디어-특정 코덱을 지원한다. 미디어 코덱은 네트워크에서의 동기 계층 (406) 에 미디어 프레임의 시퀀스를 공급한다. 각 미디어 프레임은 프레임이 프리젠테이션될 시간을 일반적으로 특정하는 프리젠테이션 타임 스탬프 (PTS), 및 슈퍼프레임을 갖는 프레임의 시퀀스에서 프레임의 상대적 포지션을 식별하는 연관 프레임 ID 에 의해 식별될 수 있다. 비디오 소스 코덱은 슈퍼프레임 내에 동일한 PTS 및 프레임 ID 를 갖는 다중 미디어 프레임을 발생시킬 수도 있다.
일정한 미디어 타입, 특히 비디오에 대해, 네트워크 (302) 에서의 미디어 코덱 계층 (404) 은 또한, 디바이스 (304) 에서의 미디어 코덱 계층 (404) 으로 전달될 미디어 프레임의 시퀀스를 획득 및 복구시키는 것을 보조하는데 디바이스 (304) 에서의 동기 계층 (406) 이 이용할 수도 있는 메타데이터를 동기 계층 (406) 에 공급한다.
동기 계층 (406) 은 미디어 타입에 따라 요구된 바와 같이 미디어 프레임을 적응시킬 책임이 있고, 미디어 동기화 및 프리젠테이션 타이밍을 제공할 책임이 있다. 동기 계층 (406) 은 동기 계층 패킷의 시퀀스를 전송한다. 동기 계층 패킷은 후술할 바와 같이 미디어 프레임 또는 적응 프레임 중 어느 하나를 전달한다. 미디어 프레임을 전달하는 동기 계층 패킷은 미디어 프레임에 동기 헤더 (SH; sync header) 를 추가함으로써 형성된다. 동기 헤더 (SH) 는 이하 더욱 상세히 설명하는 바와 같이 미디어 타입, 공통 미디어 헤더, 및 미디어 특정 헤더로 구성된다.
추가적으로, 동기 계층 (406) 은 각 미디어 타입에 특정한 일정 메타데이터를 전달할 수도 있다. 이 메타데이터는 두가지 방식으로 전달된다. 첫번째로, 기재된 바와 같이, 미디어-특정 확장이 동기 계층 패킷의 동기 헤더에 포함될 수도 있다. 두번째로, 동기 계층 패킷은, 동기 계층 (406) 내에서 발생되고 동일한 흐름에서 미디어 프레임을 전달하는 동기 계층 패킷들 사이에 인터리빙되는 적응 프레임을 전달하는데 이용될 수도 있다. 상이한 타입의 적응 프레임은 애플리케이션 프레임에 대한 동기 헤더의 애플리케이션 ID 에 의해 식별된다.
도 5a 및 도 5b 는 일정한 구성에 따른 동기 계층 패킷과 미디어 프레임 사이의 다른 대표적인 관계를 도시한다. 도 5a 는 인코더 디바이스 (110) 에 의해 인코딩된 대표적인 제 1 동기 계층 패킷 (500) 을 도시한다. 동기 계층 패킷 (500) 은 예시적으로 가변 길이의 복수의 미디어 프레임 (504, 506, 및 510) 으로 구성된다. 각 미디어 프레임 (504, 506 및 510) 에 앞서, 대응하는 동기 헤더 (SH)(502) 가 있다. 동기 헤더 (SH; 502) 는 3 개의 성분을 포함한다. 3 개의 성분은 미디어 타입 (MT)(520), 공통 미디어 헤더 (CMH)(522) 및 미디어-특정 헤더 (MSH)(524) 를 포함하며, 이들 모두는 이하 상세히 후술한다.
도 5a 의 실시예에서, 적응 프레임 (508) 은 미디어 프레임 (506) 과 미디어 프레임 (510) 사이에 삽입된다. 적응 프레임 (508) 보다 2 개 성분을 갖는 SH (512) 가 앞선다. SH (512) 의 2 개의 성분은 미디어 타입 (MT)(530) 및 적응 타입 (AT)(532) 을 포함한다.
도 5b 는 인코더 디바이스 (110) 에 의해 인코딩된 대표적인 제 2 동기 계층 패킷 (550) 을 도시한다. 동기 계층 패킷 (550) 은 예시적으로 가변 길이의 복수의 미디어 프레임 (564, 570, 및 580) 으로 구성된다. 각 미디어 프레임 (564, 570 및 580) 에 앞서, 대응하는 SH (560) 및 적응 헤더 (AH)(562) 가 있다. 도 5b 의 실시예에서, 적응 프레임 (574) 은 미디어 프레임 (570) 과 미디어 프레임 (580) 사이에 삽입된다. 적응 프레임 (574) 은 SH (572) 보다 앞선다.
실시간 흐름 구성 옵션
실시간 데이터를 제공하는 흐름의 경우, 흐름 구성 옵션은 다음과 같이 1) 선택되지 않은 것으로 표시된 FASB_ALLOWED; 2) 구성가능한 것으로 표시된 CHECKSUM_ACTIVE; 및 3) 구성가능한 것으로 표시된 STREAM_ENCRYPTION_ACTIVE 로 구성될 수 있다.
미디어 코덱 및 프레이밍 계층 인터페이스
실시간 서비스는 2 개 이상의 타입의 스트리밍 컴포넌트, 예를 들어, 가능하게는 다중 언어 스트림 및 이들의 다중 조합의 비디오, 오디오, 및 해설 방송 또는 자막 방송에 이용되는 텍스트로 구성될 수도 있다. 각 스트리밍 컴포넌트는 별개 흐름으로 전달될 수 있거나 다중 스트리밍 컴포넌트는 단일 흐름으로 전달될 수 있다.
도 3 을 참조하면, 각 타입의 컨텐츠는 적절히 인코딩 및 포맷된다. 3 개 타입의 스트리밍 컨텐츠가 지원되지만, 당업자는 여기서 프리젠테이션된 개념: 비디오 (예를 들어, H.264); 오디오 (예를 들어, HE-AAC 버전 2); 및/또는 타임드 (timed) 데이터 (예를 들어, 3GPP PSS 타임드 텍스트) 의 확장성을 인식한다.
이 흐름과 연관된 메타데이터를 전달하는 적응 프레임 (508 또는 574) 은 제 4 컨텐츠 타입으로 고려된다.
네트워크 (302) 에서의 미디어 코덱 인터페이스는 동기 계층 (406) 에 미디어 프레임 (504, 506, 510, 564, 570, 및 580) 의 시퀀스를 공급한다. 디바이스 (304) 에서, 동기 계층 (406) 은 미디어 코덱으로 미디어 프레임 (예를 들어, 504, 506 및 510) 의 시퀀스를 공급한다. 미디어 프레임 (예를 들어, 504, 506 및 510) 은 디바이스 (304) 와 네트워크 (302) 둘 다에서 동기 계층 (406) 과 미디어 코덱 계층 (404) 사이의 인터페이스에 걸쳐 패스되는 경우에 바이트 경계에 대해 정렬될 수 있다.
네트워크 (302) 에서의 동기 계층 (406) 은 미디어 프레임 (예를 들어, 504, 506 및 510) 에 동기 계층 헤더 (예를 들어, 502) 를 추가하여, 동기 패킷을 생성하고, 이에 적응 프레임 (508) 을 전달하는 동기 패킷을 인터리빙하며, 송신을 위해 프레이밍 계층 (408) 에 결과적인 동기 패킷을 전달한다. 비디오 미디어 프레임을 포함하는 동기 패킷은 비디오 미디어 코덱 계층 (404) 에 의해 특정된 바와 같이, 기본 계층 변조 컴포넌트 또는 향상 계층 변조 컴포넌트 중 어느 하나로 송신될 수도 있다. 다른 동기 패킷은 기본 계층 컴포넌트로 송신될 수 있다.
디바이스 (304) 에서의 동기 계층 (406) 은 각 슈퍼프레임에서 프레임 ID 의 증가하는 순서로 미디어 코덱 계층 (404) 에 미디어 프레임 (예를 들어, 504, 506 및 510) 을 전달한다. 비디오 미디어 프레임의 전달 순서는 동일한 프레임 ID 를 갖는 2 개 이상의 비디오 미디어 프레임이 있는 경우에 일정한 추가 제약의 영향을 받기 쉽다.
미디어 프레임 (예를 들어, 504, 506 및 510) 의 최대 사이즈는 PMAX_RT 바이트를 초과할 수 없으며, 여기서 PMAX_RT 는 구성가능한 FLO 시스템 파라미터이고, 이로서, 다양한 미디어 프레임 사이즈를 용이하게 하도록 구성될 수 있다.
이하의 설명은 각 미디어 타입에 대하여 동기 계층 (406) 을 통한 전송을 위해 미디어 코덱에 의해 제공된 서비스 패킷의 적응, 및 프레이밍 계층 (408) 과 동기 계층 (406) 의 미디어-특정 상호 작용을 상술한다.
비디오 컨텐츠
네트워크 미디어 코덱 인터페이스
비디오 프레임은 이하의 표 8 에서 특정된 공칭 레이트 중 임의의 레이트로 발생될 수도 있다. 공칭 프레임 레이트는, 예를 들어, 상이한 소스로부터의 컨텐츠가 네트워크에 상이한 레이트로 제공되기 때문에 슈퍼프레임 내에서 변할 수도 있다. 각 슈퍼프레임에 대해, 미디어 코덱 계층 (404) 은 사용자에게 프리젠테이션되길 바라는 미디어 프레임의 수를 동기 계층 (406) 에 표시할 수 있다. 비디오 프레임은 정수개의 바이트로 구성된다. 따라서, 비디오 프레임을 전송하는 미디어 프레임에 바이트 정렬을 제공하는 것이 필요하지 않다.
미디어 코덱 계층 (404) 은 디코딩 순서로 동기 계층 (406) 에 비디오 프레임을 제공할 수 있다. 미디어 코덱 계층 (404) 은 다음의 메타데이터: 1) PTS 및 프레임 ID; 2) 비디오 프레임이 사용자에 프리젠테이션되는 순시 레이트를 식별하는, 프레임과 연관된 프레임 레이트; 3) 프레임이 디바이스 (304) 가 비디오 스트림을 획득하는데 이용할 수도 있는 랜덤 액세스 포인트 (RAP) 인지 여부; 4) 프레임이 참조 프레임인지 여부; 5) 프레임이 필수적인 비디오 정보를 포함하는지 또는 추가 비디오 정보를 포함하는지 여부; 및/또는 6) 프레임이 기본 계층 컴포넌트로의 송신을 위해 의도되는지 또는 향상 계층 컴포넌트로의 송신을 위해 의도되는지 여부를 각 비디오 프레임과 함께 동기 계층 (406) 에 제공할 수 있다. 비디오 정보가 필수적인 것으로 또는 추가적인 것으로 결정하는 기준은 미디어 코덱 계층 (404) 에 의해 결정된다.
프레임 ID 의 값은 슈퍼프레임의 제 1 비디오 프레임에 대해 0 으로 설정될 수 있다. 이는 디바이스 (304) 에 의해 프리젠테이션될 미디어 프레임의 수를 포함하여 이 수까지, 동기 계층 (406) 에 프리젠테이션된 후속 비디오 프레임 각각에 대해 증분되거나 동일하게 유지될 수 있다.
인터페이스를 통한 동일한 프레임 ID 를 갖는 프레임의 전달은 일부 제한의 영향을 받기 쉽다. 첫번째 제한은, 미디어 코덱 계층 (404) 이 하나 이상의 RAP 프레임 및 동일한 프레임 ID 를 갖는 하나 이상의 다른 프레임을 발생시키는 경우, 이는 다른 프레임 이전에 동기 계층 (406) 에 RAP 프레임(들)을 제공할 수 있다는 것이다. 두번째 제한은, 미디어 코덱 계층 (404) 이 비디오 품질의 레벨만 다른 동일한 프레임 ID 를 갖는 2 개의 프레임을 발생시키는 경우, 저품질 프레임은 기본 계층 컴포넌트로 송신될 수 있고 고품질 프레임은 향상 계층 컴포넌트로 송신될 수 있다는 것이다.
네트워크 프레이밍 계층 인터페이스
동기 계층 (406) 은 비디오 프레임이 기본 계층 컴포넌트로 송신되는지 또는 향상 계층 컴포넌트로 송신되는지 여부에 따라 비디오 프레임을 전달하는 동기 패킷을 그룹화할 수 있다. 각 그룹은 별개로 프로세싱될 수 있다.
동기 계층 (406) 은 프레임 ID 가 증가하는 순서로 프레이밍 계층 (408) 에 각 그룹에 대한 동기 패킷을 제공할 수 있다. 동일한 컴포넌트에서 동일한 프레임 ID 를 갖는 2 개의 동기 패킷은 미디어 코덱 계층 (404) 으로부터 수신된 순서로 프레이밍 계층 (408) 에 제공될 수 있다.
디바이스 프레이밍 계층 인터페이스
디바이스 (304) 는 기본 계층 및 향상 계층 컴포넌트로부터 송신된 동기 패킷을 복구할 수 있고, 이들을 함께 프로세싱함으로써 디바이스 미디어 코덱 인터페이스를 통해 전달되는 순서를 복구할 수 있다.
디바이스 미디어 코덱 인터페이스
디바이스 (304) 에서의 동기 계층 (406) 은, 추가 권고 (이들 전부 또는 일부는 다른 구성에 대해 제거될 수도 있다) 의 영향을 받기 쉬운 프레임 ID 로부터 결정되는 바와 같이, 디코딩 순서로 미디어 코덱 계층 (404) 에 비디오 미디어 프레임 (예를 들어, 504, 506 및 510) 을 프리젠테이션할 수 있다. 제 1 권고는, 동기 계층 (406) 이 RAP 플래그 세트를 갖는 비디오 미디어 프레임 ("RAP 프레임") 및 동일한 프레임 ID 를 갖는 하나 이상의 논(non)-RAP 프레임(들)을 검출하는 경우, 2 개의 조건 중 하나가 또한 평가되는 것이다. (제 1 권고에 대한) 첫번째 조건은, 동기 계층 (406) 이 비디오 스트림을 획득하지 않았으면, 동기 계층은 미디어 코덱 인터페이스 (MCI) 를 통해 RAP 프레임을 전달할 수 있고, 논-RAP 프레임(들)을 폐기할 수 있다는 것이다. 그렇지 않으면 (두번째 조건), 동기 계층 (406) 은 RAP 프레임을 폐기할 수 있고, 적절하게 미디어 코덱 인터페이스 (MCI) 를 통해 논-RAP 프레임(들)을 전달할 수 있다. RAP 프레임은 CSF 일 수도 있다.
제 2 권고는, 동기 계층 (406) 이 일치하는 동기 계층 헤더 (SH) 를 갖는 2 개의 비디오 미디어 프레임을 검출하는 경우, 동기 계층은 향상 계층에서 수신된 프레임을 미디어 코덱 계층 (404) 으로 전달할 수 있고 기본 계층에서 수신된 프레임을 폐기할 수 있다는 것이다.
제 3 권고는, 동기 계층 (406) 이 필수적인 비디오 정보를 갖는 비디오 미디어 프레임, 및 동일한 프레임 ID 및 추가 비디오 정보를 갖는 제 2 비디오 미디어 프레임을 검출하는 경우이다. 2 개의 추가 조건이 고려된다. 제 3 권고의 제 1 조건에서, 미디어 코덱 계층 (404) 이 추가 비디오 정보의 프로세싱을 지원하지 않는 경우, 동기 계층 (406) 은 그 비디오 미디어 프레임을 폐기하고 필수적인 비디오 정보를 갖는 비디오 미디어 프레임을 미디어 코덱 계층 (404) 에 전달할 수 있다. 제 3 권고의 제 2 조건에서, 제 1 조건이 충족하지 않는 경우, 동기 계층 (406) 은 비디오 미디어 프레임 둘 다를 미디어 코덱 계층 (404) 에 전달할 수 있다.
도 16 은 디바이스 (304) 에서 프로세싱하는 동기 계층 (406) 내지 미디어 코덱 계층 (404) 에 대한 프로세스 (1600) 의 흐름도를 도시한다. 프로세스 (1600) 는 프레임 ID 번호에 기초하여 디코딩 순서로 동기 계층 (406) 으로부터 미디어 코덱 계층 (404) 으로 비디오 미디어 프레임이 제공되는 블록 1602 에서 시작한다. 블록 1602 이후에, 동일한 프레임 ID 번호를 가지며 그리고 하나의 프레임이 RAP 프레임 (예를 들어, CSF) 이고 다른 프레임이 논-RAP 프레임인 2 개의 백-투-백 프레임이 있는지 여부에 관한 판정이 이루어지는 블록 1604 가 뒤따른다. 이 판정이 "아니오"이면, 블록 1604 는 블록 1602 로 루프백한다. 그러나, 이 판정이 "예"이면, 블록 1604 이후에, 동기 계층 (406) 이 비디오 스트림을 획득하였는지 여부에 관한 판정이 이루어지는 블록 1606 이 뒤따른다. 이 판정이 "예"이면, 블록 1606 이후에, RAP 프레임이 폐기되고 논-RAP 프레임이 적절하게 MCI 로 전달되는 블록 1608 이 뒤따른다. 이 판정이 "아니오"이면, 블록 1606 이후에, RAP 프레임이 MCI 로 전송되고 논-RAP 프레임이 폐기되는 블록 1610 이 뒤따른다.
도 17 은 백-투-백 동일한 프레임 식별 번호를 갖는 네트워크 (302) 에 의해 발생되는 비트스트림 (1700) 의 실시예를 도시한다. 비트스트림 (1700) 은 도 5a 와 관련하여 도시 및 설명된 것과 유사하다. 예로서, 미디어 프레임 (1704) 은 CH-CNN 으로 표기된 채널에 대한 P-프레임 (1) 을 포함한다. 미디어 프레임 (1704) 은 SH (1702) 를 포함한다. SH (1702) 는 전술한 SH (502) 와 유사하다.
본 실시예에서, CSF 가 예를 들어 CH-ESPN 으로의 채널 변경을 실시하도록 삽입되었다고 가정한다. CSF 는 미디어 프레임 (1708) 에 의해 나타내고, SH (1706) 를 포함한다. CSF 는 RAP 프레임이고 프레임 식별 번호를 갖는 CMH (1720) 를 가진다. 설명을 목적으로, 대응하는 SH 를 갖는 적응 프레임은 CSF (미디어 프레임 (1708)) 다음에 도시된다. 미디어 프레임 (1712) 은 논-RAP 프레임으로 지시되고, 미디어 프레임보다 SH (1710) 가 앞선다. 이 비트스트림 (1700) 에서, 미디어 프레임 (1708 및 1712) 은 백-투-백이다. CSF 는 채널 CH-ESPN 과 같은 채널로 전환하기로 예정한다. 채널 변경을 실시하기 위해, 미디어 프레임 (1712) 은 P-프레임 (2) 이고, CSF (미디어 프레임 (1708)) 에 대한 SH (1706) 에서의 프레임 식별 번호와 동일한 프레임 식별 번호를 갖는 동기 헤더 (1710) 에서 CMH 을 가진다.
미디어 프레임 (1712) 이후에, 동기 헤더 (1714) 를 가진 미디어 프레임 (1716) 이 뒤따른다. 미디어 프레임 (1716) 은 B-프레임일 수도 있다. 출력 순서에서, B-프레임은 P-프레임 이전이다. 따라서, B-프레임은 폐기 또는 드롭된다 (도 10 참조).
도 10 에서 제공된 설명과 관련하여, 미디어 프레임 (1704) 은 비참조 프레임으로 지시될 필요가 있다. 채널 변경이 있기 때문에, 프레임 (1704) 은 다른 채널에서의 비디오 프레임에 대한 참조 프레임의 기능을 할 수 없다. 미디어 프레임 (1704) 은 비참조 프레임으로 설정되거나 버퍼로부터 플러시될 수 있다. 그럼에도 불구하고, 참조 프레임의 기능을 하는 것으로부터 미디어 프레임을 제거하는 다른 수단이 이용될 수 있다.
오디오 컨텐츠
네트워크 미디어 코덱 인터페이스
오디오 프레임은 사용중인 오디오 코덱의 타입에 따라 고정 레이트로 발생된다. 그러나, 오디오 프레임 레이트는 슈퍼프레임 레이트의 정수배가 아닐 수도 있다. 각 슈퍼프레임에 대해, 미디어 코덱 계층 (404) 은 프리젠테이션되길 바라는 미디어 프레임의 수를 동기 계층 (406) 에 표시할 수 있다.
프레임 ID 는 동기 계층 (406) 에 프리젠테이션된 오디오 프레임 각각과 연관될 수 있다. 프레임 ID 는 미디어 코덱 계층 (404) 또는 동기 계층 (406) 중 어느 하나에 의해 할당될 수도 있다. 프레임 ID 의 값은 슈퍼프레임의 제 1 오디오 프레임에 대해 0 으로 설정될 수 있다. 이 값은 디바이스 (304) 에 의해 프리젠테이션될 미디어 프레임의 수를 포함하여 이 수까지, 동기 계층 (406) 에 프리젠테이션된 후속 오디오 프레임 각각에 대해 증분될 수 있다.
네트워크 (302) 에서의 미디어 코덱 계층 (404) 은 발생되는 순서로 동기 계층 (406) 에 오디오 프레임을 프리젠테이션할 수 있다. 오디오 프레임은 정수 아닌 수의 바이트로 구성될 수도 있다. 미디어 코덱 계층 (404) 은 사용중인 오디오 코덱의 타입에 대해 특정된 수단에 따라 바이트-정렬을 달성할 수 있다.
미디어 코덱 계층 (404) 은 오디오 프레임 각각과 연관하여 동기 계층 (406) 에 메타데이터를 제공할 수 있다. 메타데이터가 미디어 코덱 계층 (404) 에 의해 할당되면, 이 메타데이터는 프레임 ID 를 포함한다.
프레임이 RAP 프레임인지 여부
프레임이 필수적인 오디오 정보를 포함하는지 또는 추가 오디오 정보를 포함하는지 여부. 오디오 정보가 필수적인 것으로 또는 추가적인 것으로 결정되는 기준은 미디어 코덱 계층 (404) 에 의해 결정된다.
네트워크 프레이밍 계층 인터페이스
오디오 프레임을 포함하는 동기 패킷은 미디어 코덱 계층 (404) 에 의해 지시되는 변조 컴포넌트로 송신될 수 있다. 각 변조 컴포넌트 내에서 수신된 오디오 프레임은 발생되는 순서로 프레이밍 계층 (408) 에 프리젠테이션될 수 있다.
디바이스 프레이밍 계층 인터페이스
디바이스 (304) 에서의 동기 계층 (406) 은 프레이밍 계층 인터페이스를 통해 수신되는 순서로 동기 패킷을 프로세싱할 수 있다.
디바이스 미디어 코덱 인터페이스
디바이스 (304) 에서의 동기 계층 (406) 은 동기 패킷으로부터 추출되는 순서로 미디어 코덱 계층 (404) 에 오디오 프레임을 프리젠테이션할 수 있다.
타임드 데이터 컨텐츠
네트워크 미디어 코덱 인터페이스
타임드 데이터 프레임은 가변 레이트로 발생된다. 통상적으로, 그러나 반드시 그런 것은 아니지만, 도 3 에서 가장 잘 알 수 있는 바와 같이, 타임드 데이터 흐름에서 슈퍼프레임당 많아야 하나의 타임드 데이터 프레임이 있다.
프레임 ID 는 동기 계층 (406) 에 프리젠테이션된 타임드 데이터 프레임 각각과 연관될 수 있다. 프레임 ID 는 미디어 코덱 계층 (404) 또는 동기 계층 (406) 중 어느 하나에 의해 할당될 수도 있다. 프레임 ID 의 값은 슈퍼프레임의 제 1 타임드 데이터 프레임에 대해 0 으로 설정될 수 있다. 이 값은 디바이스에 의해 프리젠테이션될 미디어 프레임의 수를 포함하여 이 수까지, 동기 계층에 프리젠테이션된 후속 타임드 데이터 프레임 각각에 대해 증분될 수 있다.
네트워크에서의 미디어 코덱 계층 (404) 은 발생되는 순서로 동기 계층 (406) 에 타임드 데이터 프레임을 프리젠테이션할 수 있다. 타임드 데이터 프레임은 정수 아닌 수의 바이트로 구성될 수도 있다. 사용중인 타임드 데이터의 타입에 대해 특정된 수단에 따라 바이트-정렬이 달성될 수 있다. 타임드 데이터 프레임 각각과 연관하여 미디어 코덱 계층 (404) 에 의해 동기 계층 (406) 에 제공된 메타데이터는 (있다면) 데이터의 타입에 의존한다.
네트워크 프레이밍 계층 인터페이스
타임드 데이터 프레임을 포함하는 동기 패킷은 미디어 코덱 계층 (404) 에 의해 지시되는 변조 컴포넌트로 송신될 수 있다. 각 변조 컴포넌트 내에서 수신된 타임드 데이터 프레임은 발생되는 순서로 프레이밍 계층에 프리젠테이션될 수 있다.
디바이스 프레이밍 계층 인터페이스
디바이스에서의 동기 계층 (406) 은 프레이밍 계층 인터페이스를 통해 수신되는 순서로 동기 패킷을 프로세싱할 수 있다.
디바이스 미디어 코덱 인터페이스
디바이스에서의 동기 계층 (406) 은 동기 패킷으로부터 추출되는 순서로 미디어 코덱 계층 (404) 에 타임드 데이터 프레임을 프리젠테이션할 수 있다.
동기 계층 획득
도 6 은 일정한 구성에 따라 디바이스에서의 개별 흐름에 대해 동기 계층 (406) 을 프로세싱하는 대표적인 상태 머신 (600) 을 도시한다. 상태 머신 (600) 은 각 상태와 각 상태에서 수행되는 프로세싱 사이의 천이를 도시한다.
획득중 상태
디바이스 (304) 는 다음의 환경: 1) 602 로 표시된 FLO 신호의 획득; 2) 612로 표시된, 흐름 ID 가 변경되었다는 프레이밍 계층 (408) 으로부터의 표시의 수신; 3) 획득된 상태 (614) 에 있는 경우의, 610 으로 표시된, FLO 신호의 손실; 4) 획득된 상태 (614) 에 있는 동안에, 610 으로 또한 표시된, 에러를 갖는 미디어 프레임의 검출; 5) CRC (cyclical redundancy check) 프로세싱이 구성되면, 에러는 프레이밍 계층 (408) 에 의해 시그널링되거나 CRC 에 의해 검출될 수도 있는 것 중 임의의 환경에서 획득중 상태 (606) 에 진입할 수 있다. 추가적으로, 604로 표시된, 논-RAP 프레임이 수신되는 경우, 획득중 상태 (606) 에 진입할 수도 있다.
비디오의 경우에, 디바이스 (304) 는 이용가능하다면 비디오 동기 계층 디렉토리에 의해 제공된 정보를 이용하여, 에러에 영향받는 미디어 프레임의 속성을 결정할 수도 있다. 디바이스 (304) 는 획득중 상태 (614) 에 재진입하지 않고 에러 복구 절차가 가능하다는 것을 결정가능할 수도 있다.
획득된 상태
608 로 표시된, 에러 상태에 있지 않은 RAP 프레임의 수신시에, 디바이스 (304) 는 획득된 상태 (614) 로 진입할 수 있다. 획득된 상태 (614) 에 있는 경우에 616 으로 표시된, 프레임 에러가 검출되지 않는 경우에 획득된 상태로 진입한다.
획득된 상태 (614) 에 있는 동안에, 디바이스 (304) 는 프레이밍 계층 (408) 에 의해 제공된 미디어 프레임을 프로세싱할 수 있다. 유효 미디어 프레임은 미디어 코덱 계층 (404) 으로 전달될 수 있다.
동기 헤더 (SH)
도 11 은 동기 헤더 (1100) 를 발생시키는 동기 헤더 발생기 (1110) 를 도시한다. 동기 헤더 발생기 (1110) 는 미디어-타입 코드를 발생시키는 미디어 필드 타입 발생기 (1130) 를 포함한다. 미디어-타입 코드는 동기 헤더 (1100) 의 포맷에 삽입하기 위해 추출되고, 블록 1132 의 비디오에 대해 00, 블록 1134 의 오디오에 대해 01, 블록 1136 의 타임드 데이터에 대해 10 및 블록 1140 의 적응에 대해 11 을 포함한다. 동기 헤더 발생기 (1110) 는 또한 추가 필드 발생기 (1150) 를 포함한다. 동기 헤더 발생기 (1110) 는 또한 도 12b 에 도시된 적응 타입 발생기 (1160) 에 의해 도 5a 에 도시된 바와 같은 적응 타입 (AT; adaptation type) 을 발생시킨다.
동기 헤더 (1100) 는, 미디어 필드 타입 발생기 (1130) 에 의해 발생된 미디어 타입 필드의 값에 종속하는 포맷을 갖는 추가 필드들 (1104) 이 뒤따르는 미디어 타입 필드 (1102) 로 구성된다. 추가 필드 발생기 (1150) 는 도 12a 에 도시된다.
동기 헤더 (1100) 의 일반 포맷은 표 2 에 도시된다. 표는 필드 이름, 필드 타입, 및 필드 프레즌스를 포함한다. 필드 프레즌스는 필드가 강제적인지 (mandatory), 조건부 (conditional) 등인지를 표시한다. 필드 타입은 필드가 UINT, 가변, 비트 등인지를 표시한다.
동기 계층 헤더의 일반 포맷
필드 이름 필드 타입 필드 프레즌스
MEDIA_TYPE (1102) UINT(2) MANDATORY
추가 필드들 (1104) 가변 MANDATORY
MEDIA_TYPE
MEDIA_TYPE 필드 (1102) 는 동기 계층 패킷에 의해 반송되는 미디어 프레임의 타입을 식별하거나, 동기 계층 패킷이 적응 프레임을 반송하는 것을 식별한다. MEDIA_TYPE 에 대해 정의된 값은 표 3 에 열거된다.
MEDIA_TYPE 에 대해 정의된 값
이름
비디오 00
오디오 01
타임드_데이터 10
적응 11
추가 필드들
도 12a 는 동기 헤더 발생기 (1110) 의 추가 필드 발생기 (1150) 를 도시한다. 추가 필드 발생기 (1150) 는 공통 미디어 헤더 어셈블러 (1200) 및 미디어-특정 헤더 어셈블러 (1202) 를 포함한다.
추가 필드들 (1104) 의 포맷은 미디어 타입 필드 (1102) 의 값에 의존한다. 공통 미디어 헤더 어셈블러 (1200) 는 표 4 의 세부사항에 따라 CMH (도 5a) 를 어셈블링한다. 미디어-특정 헤더 어셈블러 (1202) 는 표 4 의 세부사항에 따라 MSH (도 5a) 를 어셈블링한다. 비디오, 오디오 또는 타임드 데이터 미디어 프레임을 전송하는 동기 패킷에 대한 헤더 필드의 일반 포맷은 표 4 에 도시된다.
미디어 프레임의 동기 계층 헤더에 대한 추가 필드의 일반 포맷
필드 이름 필드 타입 필드 프레즌스
공통 미디어 헤더 BIT(22) MANDATORY
미디어-특정 헤더 가변 CONDITIONAL
적응 프레임을 전송하는 동기 패킷에 대한 헤더 필더의 일반 포맷은 표 5 에 도시된다. 도 12b 는 동기 헤더 발생기 (1110) 의 적응 타입 발생기 (1160) 를 도시한다.
적응 프레임의 동기 계층 헤더에 대한 추가 필드의 일반 포맷
필드 이름 필드 타입 필드 프레즌스
ADAPTATION_TYPE UINT(6) MANDATORY
공통 미디어 헤더
도 13a 는 공통 미디어 헤더 어셈블러 (1200) 를 도시한다. CMH 어셈블러 (1200) 는 PTS 발생기 (1302), frame_id 발생기 (1304), information_level_flag 발생기 (1306) 및 RAP_flag 발생기 (1308) 를 포함한다. 미디어 프레임을 반송하는 동기 계층 패킷에 대한 공통 미디어 헤더 (CMH) 의 포맷은 표 6 에 도시된다. 공통 미디어 헤더 (CMH) 는 다양한 정보를 제공한다. CMH 정보는 1) 타임 스탬프 및 미디어 프레임 ID 정보; 2) 연속적인 데이터 스트림에서의 랜덤 액세스 포인트를 포함한다. 이는 오디오, 비디오 및 타임드 텍스트 스트림의 신속한 획득을 지원한다. CMH 정보는 또한 3) 비참조 프레임 표시를 포함한다. 이들은 미디어 프레임이 일정 상황 (예를 들어, 고속 포워딩) 에서 프로세싱 없이 드롭되게 한다. CMH 정보는 또한 4) 품질 레벨 표시자를 포함한다.
공통 미디어 헤더 어셈블러 (1200) 에 의해 발생된 공통 미디어 헤더의 포맷은 표 6 에 도시된다.
공통 미디어 헤더의 포맷
필드 이름 필드 타입 필드 프레즌스
PTS UINT(14) MANDATORY
FRAME_ID UINT(6) MANDATORY
INFORMATION_LEVEL_FLAG BIT(1) MANDATORY
RAP_FLAG BIT(1) MANDATORY
CMH 의 개별 필드가 이하 정의된다.
PTS
PTS 필드는 미디어 프레임의 프리젠테이션 타임 스탬프 (PTS) 이고, PTS 발생기 (1302) 에 의해 발생된다. 이 필드는 밀리초의 단위로 특정된다. PTS 필드는 슈퍼프레임 타임에 추가되어, 미디어 프레임이 프리젠테이션되는 실제 시간을 얻는다.
FRAME_ID
FRAME_ID 는 슈퍼프레임 내의 미디어 프레임의 수이고, frame_id 발생기 (1304) 에 의해 발생된다. 이 수는 슈퍼프레임 내의 제 1 미디어 프레임에 대해 0 으로 설정되고, PTS 에 대해 상이한 값을 갖는 후속 미디어 프레임 각각에 대해 증분된다.
INFORMATION_LEVEL_FLAG
INFORMATION_LEVEL_FLAG 는 미디어 프레임이 필수적인 정보와 결합될 수도 있는 추가 정보 또는 미디어 프레임에 대한 필수적인 정보를 전달하는지 여부를 표시하는 비트이다. INFORMATION_LEVEL_FLAG 는 information_level_flag 발생기 (1306) 에 의해 발생된다. 발생기 (1306) 는 다음의 조건에 따라 INFORMATION_LEVEL_FLAG 를 발생시킨다. 미디어 프레임이 필수적인 정보를 전달하면 (조건 1), INFORMATION_LEVEL_FLAG 는 0 으로 설정될 수 있다. 미디어 프레임이 추가 품질을 전달하면 (조건 2), INFORMATION_LEVEL_FLAG 는 1 로 설정될 수 있다. 미디어 코덱이 추가 정보 레벨을 지원하지 않으면 (조건 3), INFORMATION_LEVEL_FLAG 는 0 으로 설정될 수 있고, 이 필드는 디바이스에 의해 무시될 수 있다.
RAP_FLAG
RAP_FLAG 신호는 미디어 프레임이 랜덤 액세스 포인트인지 여부를 시그널링하고, RAP_flag 발생기 (1308) 에 의해 발생된다. 디바이스 (304) 는 재획득 또는 채널 전환 동안에 RAP_FLAG 를 이용하여, 이 미디어 프레임을 갖는 미디어 스트림에 액세스하기 시작할 수 있는지 여부를 결정할 수도 있다. RAP_flag 발생기 (1308) 는 다양한 조건에 따라 RAP_FLAG 를 발생시킨다. (조건 1 에 대해) MEDIA_TYPE 이 비디오 또는 오디오로 설정되고, 미디어 프레임이 랜덤 액세스 포인트이면, RAP_FLAG 는 1 로 설정될 수 있다. (조건 2 에 대해) MEDIA_TYPE 이 VIDEO 또는 AUDIO 로 설정되고, 미디어 프레임이 랜덤 액세스 포인트가 아니면, RAP_FLAG 는 0 으로 설정될 수 있다. (조건 3 에 대해) MEDIA_TYPE 이 TIMED_DATA 로 설정되면, RAP_FLAG 는 모든 미디어 프레임에 대해 1 로 설정될 수 있다.
미디어-특정 헤더
도 13b 는 미디어-특정 헤더 어셈블러 (1202) 를 도시한다. 미디어-특정 헤더 (MSH) 어셈블러 (1202) 는 미디어 타입에 따라, 미디어 프레임을 반송하는 동기 계층 패킷에 대해 미디어-특정 헤더 (도 5a) 의 포맷을 어셈블링한다. 이 미디어 타입은 오디오, 비디오, 타임드 데이터 및 적응이다. MSH 어셈블러 (1202) 는 비디오에 대해 지정된 미디어 타입에 대한 프레임 레이트 발생기 (1322), unreferenced_frame_flag 발생기 (1324) 및 예비 (reserved) 필드 발생기 (1326) 를 포함한다.
비디오
비디오 미디어 프레임을 반송하는 동기 계층 패킷에 대한 미디어-특정 헤더 (MSH) 는 비디오 미디어 헤더이다. 비디오 미디어 헤더의 포맷은 표 7 에서 특정된다.
비디오 미디어 헤더
필드 이름 필드 타입 필드 프레즌스
FRAME_RATE UINT(3) MANDATORY
UNREFERENCED_FRAME_FLAG BIT(1) MANDATORY
RESERVED UINT(4) MANDATORY
비디오 미디어 헤더의 개별 필드가 이하 정의된다.
FRAME_RATE
FRAME_RATE 필드는 네트워크에 의해 비디오 프레임이 발생되는 레이트를 나타내고, 표 8 의 값에 따라 프레임 레이트 발생기 (1322) 에 의해 발생된다. FRAME_RATE 에 대해 정의된 값은 표 8 에 도시된다.
FRAME_RATE 에 대해 정의된 값
프레임 레이트(프레임/초)
24000/1001(23.976) 000
24 001
25 010
30000/1001(29.97) 011
30 100
50 101
60000/1001(59.94) 110
60 111
FRAME_RATE 레이트는, 완전한 비디오 스트림이 수신되는 경우의 초당 프레임 단위의 공칭 디스플레이 레이트이다. 예를 들어, 비디오 스트림이 기본 계층과 향상 계층 둘 다를 이용하여 전송되면, FRAME_RATE 는 데이터의 두 스트림이 완전히 디코딩된 후의 레이트이다. 실제 디스플레이 레이트는 상이할 수도 있다. 예를 들어, 송신의 기본 계층만을 수신하는 디바이스는 하위 레이트로 프레임을 디스플레이할 수도 있다.
UNREFERENCED_FRAME_FLAG
UNREFERENCED_FRAME_FLAG 는 미디어 프레임이 다른 미디어 프레임의 복원에서 참조로서 이용되는지 여부를 표시하는 비트이고, unreferenced_frame_flag 발생기 (1324) 에 의해 발생된다. 발생기 (1324) 는 다음의 조건에 기초하여 UNREFERENCED_FRAME_FLAG 를 발생시킨다. 미디어 프레임이 참조 프레임이면 (조건 1), UNREFERENCED_FRAME_FLAG 는 0 으로 설정될 수 있다. 미디어 프레임이 참조 프레임이 아니면 (조건 2), UNREFERENCED_FRAME_FLAG 는 1 로 설정될 수 있다.
RESERVED
모든 RESERVED 비트의 값은 0 으로 설정될 수 있고, 필요하면 reserved 필드 발생기 (1326) 에 의해 발생된다.
오디오
미디어-특정 헤더 어셈블러 (1202) 는 오디오 미디어 프레임을 반송하는 동기 계층 패킷에 대한 미디어-특정 헤더를 발생시키지 않는다. 그럼에도 불구하고, 미디어-특정 헤더 어셈블러 (1202) 는 이러한 오디오에 대한 MSH 를 제공하도록 수정될 수도 있다.
타임드 데이터
미디어-특정 헤더 어셈블러 (1202) 는 timed_data_type 발생기 (1332) 를 포함한다. 타임드 데이터 미디어 프레임을 반송하는 동기 계층 패킷에 대한 미디어-특정 헤더는 타임드 데이터 미디어 헤더이다. timed_data_type 발생기 (1332) 에 의해 발생된 타임드 데이터 미디어 헤더의 포맷은 표 9 에 도시된다.
타임드 데이터 미디어 헤더의 포맷
필드 이름 필드 타입 필드 프레즌스
TIMED_DATA_TYPE UINT(8) MANDATORY
TIMED_DATA_TYPE
TIMED_DATA_TYPE 필드는 TIMED_DATA 미디어 프레임에서 특정 데이터의 타입을 식별하고, timed_data_type 발생기 (1332) 에 의해 발생된다. TIMED_DATA_TYPE 에 대해 정의된 값은 표 10 에서 주어진다.
TIMED_DATA_TYPE 에 대해 정의된 값
이름
CHARACTER_TEXT 0
1 내지 256 의 값이 예비된다.
ADAPTATION_TYPE
도 12b 는 동기 헤더 발생기 (1110) 의 적응 타입 발생기 (1160) 를 도시한다. 적응 타입 발생기 (1160) 는 video_sync_layer 디렉토리 어셈블러 (1220) 를 포함한다. APPLICATION_TYPE 필드는 적응 프레임에서의 적응 데이터의 타입을 특정한다. APPLICATION_TYPE 필드의 정의된 값은 표 11 에서 특정된다.
ADAPTATION_TYPE 에 대해 정의된 값
이름
VIDEO_SYNC_LAYER_DIRECTORY 1
모든 다른 값이 예비된다
적응 프레임
적응 프레임 (예를 들어, 508) 의 몸체의 구조는 적응 타입에 따른다. 각 적응 타입으로부터의 적응 프레임의 몸체는 표 11 에서 특정되고 후술된다.
비디오 동기 계층 (VSL; Video sync layer) 디렉토리
video_sync_layer 디렉토리 어셈블러 (1220) 는 옵션적인 적응 프레임인 비디오 동기 계층 디렉토리를 발생시키고, 에러 복구에서 비디오 코덱을 보조하기 위해 디바이스에서의 동기 계층 (406) 에 의해 이용될 수도 있다. 예를 들어, video_sync_layer 디렉토리 어셈블러는 손실 또는 손상된 프레임이 참조 프레임인 것으로 예정되었는지 여부를 동기 계층 (406) 이 결정하게 할 수도 있다. 이 정보는 다음 참조 프레임까지의 후속 프레임이 프로세싱되어야 하는지 또는 폐기되어야 하는지 여부를 비디오 코덱이 결정하게 허용할 수도 있다.
도 14 에 도시된 video_sync_layer 디렉토리 어셈블러 (1160) 는 video_sync_layer 디렉토리를 발생 및 어셈블링하기 위해 VSL_records 모듈 (1402), RAP_flag_bits 모듈 (1412), U_frame_flag_bits 모듈 (1422) 및 reserved 모듈 (1432) 을 포함한다. 존재한다면, video_sync_layer 디렉토리는 적용되는 비디오 흐름을 전송하는 스트림의 기본 계층 컴포넌트에서 동기 계층 적응 프레임으로서 전송될 수 있다. 이는 슈퍼프레임당 적어도 한번 송신되어야 한다. video_sync_layer 디렉토리의 포맷은 표 12 에서 특정된다.
비디오 동기 계층 (VSL) 디렉토리
필드 이름 필드 타입 필드 프레즌스
VSL_RECORDs VSL_RECORD_TYPE MANDATORY
RAP_FLAG_BITS BIT(60) MANDATORY
U_FRAME_FLAG_BITS BIT(60) MANDATORY
RESERVED BIT(가변) CONDITIONAL
VSL_RECORD
도 15 는 VSL 레코드 모듈 (1402) 을 도시한다. VSL 레코드 모듈 (1402) 은 more_VSL_records 모듈 (1502), frame_rate 모듈 (1504), num_frames 모듈 (1506), first_frame_PTS 모듈 (1508) 및 last_frame_PTS 모듈 (1510) 을 포함한다.
more_VSL_records 모듈 (1502) 은 디렉토리에 대해 하나 이상의 VSL_RECORD 를 발생 및 어셈블링할 수도 있다. VSL_RECORD 의 포맷은 표 13 에서 특정된다.
VSL_RECORD 의 포맷
필드 이름 필드 타입 필드 프레즌스
MORE_VSL_RECORDS BIT(1) MANDATORY
FRAME_RATE UINT(3) MANDATORY
NUM_FRAMES UINT(6) MANDATORY
FIRST_FRAME_PTS UINT(14) MANDATORY
LAST_FRAME_PTS UINT(14) MANDATORY
MORE_VSL_RECORDS
more_VSL_records 모듈 (1502) 은, 현재 VSL_RECORD 가 비디오 동기 계층 디렉토리에서 마지막 것이면 0 으로 설정될 수 있는 MORE_VSL_RECORDS 플래그를 발생시킨다.
more_VSL_records 모듈 (1502) 은, 현재 VSL_RECORD 가 비디오 동기 계층 디렉토리에서 마지막 것이 아니면 1 로 설정될 수 있는 MORE_VSL_RECORDS 플래그를 발생시킨다.
비디오 동기 계층 디렉토리에서의 VSL_RECORD 의 수는 슈퍼프레임에서의 공칭 비디오 프레임 레이트의 변경의 수보다 1 더 클 수 있다.
FRAME_RATE
frame_rate 모듈 (1504) 은 VSL_RECORD 에 적용가능한 프레임 레이트 정보를 제공하는 FRAME_RATE 필드를 발생 및 어셈블링한다. 표 8 은 FRAME_RATE 필드에 대해 정의된 값을 특정한다.
NUM_FRAMES
num_frames 모듈 (1506) 은 슈퍼프레임 내의 FIRST_FRAME_PTS 에서 시작하는 연속적인 비디오 미디어 프레임의 블록에서의 FRAME_RATE 필드에 의해 특정된 프레임 레이트로 상이한 프레임 ID 값을 갖는 비디오 미디어 프레임의 수를 표시하는 NUM_FRAMES 필드를 발생시킨다.
FIRST_FRAME_PTS
first_frame_PTS 모듈 (1508) 은 FRMAE_RATE 에 의해 특정된 프레임 레이트로 연속적인 비디오 미디어 프레임의 블록의 제 1 비디오 미디어 프레임의 PTS 인 FIRST_FRAME_PTS 를 발생시킨다.
LAST_FRAME_PTS
last_frame_PTS 모듈 (1510) 은 FIRST_FRAME_PTS 에서 시작하는 FRAME_RATE 에 의해 특정된 프레임 레이트로 연속적인 비디오 미디어 프레임의 블록의 마지막 비디오 미디어 프레임의 PTS 인 LAST_FRAME_PTS 를 발생 및 어셈블링한다.
RAP_FLAG_BITS
RAP_flag_bits 모듈 (1412) 은 RAP_FLAG_BITS 를 발생시킨다. 비디오 동기 계층 디렉토리는 슈퍼프레임에서의 최대 60 개의 비디오 미디어 프레임에 대응하여는, 60 개의 RAP_FLAG_BITS 를 포함한다. RAP_FLAG_BITS 필드의 각 비트는 프레임 ID 에 의해 식별된 슈퍼프레임 내의 별개 비디오 미디어 프레임의 수까지, 특정 비디오 미디어 프레임에 대응한다. 최하위 비트는 첫번째 VSL_RECORD 에 의해 커버된 첫번째 비디오 미디어 프레임에 대응한다. 첫번째 VSL_RECORD 에 의해 커버된 RAP_FLAG_BITS 이후에, 송신 순서로, 존재한다면, 두번째 그리고 후속 VSL_RECORD 에 의해 커버된 RAP_FLAG_BITS 가 뒤따른다.
비디오 동기 계층 디렉토리의 RAP_FLAGS_BIT 필드 비트에서의 각 비트는, 대응하는 비디오 미디어 프레임이 랜덤 액세스 포인트이고 동일한 프레임 ID 를 갖는 논-RAP 프레임에 의해 수반되지 않으면 1 로 설정될 수 있다. 그렇지 않으면, 이 비트는 0 으로 설정된다. 슈퍼프레임에서 마지막으로 송신된 비디오 미디어 프레임에 대응하는 RAP_FLAG_BITS 의 비트 다음의 비트는 0 으로 설정될 수 있다.
U_FRAME_FLAG_BITS
U_frame_flag_bits 모듈 (1422) 은 슈퍼프레임에서의 최대 60 개의 비디오 미디어 프레임에 대응하여, 60 개의 U_FRAME_FLAG_BITS 를 포함하는 메시지를 발생시킨다. U_FRAME_FLAG_BITS 필드의 각 비트는 프레임 ID 에 의해 식별된 슈퍼프레임 내의 별개 비디오 미디어 프레임의 수까지, 특정 비디오 미디어 프레임에 대응한다. 최하위 비트는 첫번째 VSL_RECORD 에 의해 커버된 첫번째 비디오 미디어 프레임에 대응한다. 첫번째 VSL_RECORD 에 의해 커버된 U_FRAME_FLAG_BITS 이후에, 송신 순서로, 존재한다면, 두번째 그리고 후속 VSL_RECORD 에 의해 커버된 U_FRAME_FLAG_BITS 가 뒤따른다.
비디오 동기 계층 디렉토리의 U_FRAME_FLAG_BIT 필드에서의 각 비트는, 대응하는 비디오 프레임이 비참조 프레임이면 1 로 설정될 수 있다. 그렇지 않으면, 이 비트는 0 으로 설정된다. 슈퍼프레임에서 마지막으로 송신된 프레임에 대응하는 U_FRAME_FLAG_BITS 의 비트 다음의 비트는 0 으로 설정될 수 있다.
RESERVED
U_FRAME_FLAG_BIT 필드 이후에, 바이트 경계에 대해 비디오 동기 디렉토리의 최종 바이트를 정렬시키는데 필요하며 reserved 모듈 (1432) 에 의해 발생된 최소 수의 RESERVED 비트가 뒤따른다. 네트워크는 비디오 동기 디렉토리에서의 RESERVED 비트를 0 으로 설정할 수 있다.
당업자는 정보 및 신호가 다양하고 상이한 기술 및 테크닉 중 임의의 것을 이용하여 나타낼 수도 있다는 것을 이해한다. 예를 들어, 상기 상세한 설명 전체를 통해 참조될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자계 또는 자기 입자, 광학 필드 또는 광입자, 또는 이의 임의의 조합으로 나타낼 수도 있다.
당업자는 또한, 본 명세서에 개시된 실시예와 관련하여 설명한 갖가지 예시적인 논리 블록, 모듈 및 알고리즘 단계가 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 미들웨어, 마이크로코드 또는 이의 조합으로서 구현될 수도 있다는 것을 안다. 하드웨어와 소프트웨어의 이러한 교환가능성 (interchangeability) 을 명백히 설명하기 위해, 갖가지 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계가 일반적으로 그 기능성의 관점에서 상술되었다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부여된 특정 애플리케이션 및 설계 제약에 따른다. 당업자는, 각각의 특정 애플리케이션에 대해 방법을 달리하면서 설명한 기능성을 구현할 수도 있지만, 이러한 구현예 결정은 개시된 방법의 범위로부터 벗어남을 야기하는 것으로 해석되어서는 안된다.
본 명세서에 개시된 실시예와 관련하여 설명한 각종의 예시적인 논리 블록, 컴포넌트, 모듈, 및 회로는 범용 프로세서, DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트, 또는 본 명세서에서 설명한 기능을 수행하도록 설계된 이의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로는, 프로세서는 임의의 종래 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 이러한 임의의 다른 구성으로 구현될 수도 있다.
본 명세서에 개시된 실시예와 결합하여 설명한 방법 또는 알고리즘의 블록은 직접 하드웨어로, 하나 이상의 프로세싱 엘리먼트에 의해 실행된 하나 이상의 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태나 조합의 저장 매체 에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독 및 이에 기록하도록 프로세서에 연결된다. 다른 방법으로는, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 는 무선 모뎀에 상주할 수도 있다. 다른 방법으로는, 프로세서 및 저장 매체는 무선 모뎀에 이산 컴포넌트로서 상주할 수도 있다.
하나 이상의 대표적인 구성에서, 설명한 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이의 임의의 조합으로 구현될 수도 있다. 이 기능은 소프트웨어로 구현되면, 컴퓨터-판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 이를 통해 전송될 수도 있다. 컴퓨터-판독가능 매체는 한 곳에서 다른 곳으로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체 둘 다를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 제한하기 위한 것이 아닌 예시적으로, 이러한 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 칭해진다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), DSL (digital subscriber line), 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술을 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술은 매체의 정의에 포함된다. 본 명세서에서 이용된 것과 같은 디스크 (disk 또는 disc) 는 CD (compact disc), 레이저 디스크, 광학 디스크, DVD (digital versatile disc), 플로피 디스크 및 블루레이 디스크를 포함하는데, 디스크 (disk) 는 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 는 레이저로 광학적으로 데이터를 재생한다. 상기의 조합은 또한 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다.
당업자가 개시된 방법 및 장치를 제조 또는 이용할 수 있도록 개시된 실시예의 이전 설명이 제공된다. 이들 실시예에 대한 다양한 변경이 당업자에게는 매우 명백하며, 본 명세서에서 정의된 원리는 다른 실시예에 적용될 수도 있고 추가 엘리먼트가 추가될 수도 있다.

Claims (24)

  1. 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키도록 동작하는 프로세서를 포함하며,
    상기 NAL 유닛 중 하나는 0 이 아닌 프레임 식별 번호를 갖는 IDR (Instantaneous Decoding Refresh) NAL 유닛을 포함하고,
    상기 IDR NAL 유닛의 0 이 아닌 프레임 식별 번호는 대응하는 P-슬라이스의 프레임 번호와 동일한, 디바이스.
  2. 제 1 항에 있어서,
    상기 IDR NAL 유닛은 0 이 아닌 POC (picture order count) 번호를 갖는, 디바이스.
  3. 제 2 항에 있어서,
    상기 프로세서는 적어도 2 개의 추가 NAL 유닛으로 상기 CSF 를 발생시키도록 동작하며,
    상기 적어도 2 개의 추가 NAL 유닛은 SPS (sequence parameter set) NAL 유닛 및 PPS (picture parameter set) NAL 유닛을 포함하는, 디바이스.
  4. 제 1 항에 있어서,
    상기 CSF 는 I-프레임 NAL 유닛을 포함하는, 디바이스.
  5. 제 1 항에 있어서,
    랜덤 액세스 포인트 (RAP) 프레임으로서 상기 CSF 를 브로드캐스팅하는 송신기를 더 포함하는, 디바이스.
  6. 제 1 항에 있어서,
    상기 CSF 는 하나의 채널로부터 다른 하나의 채널로의 전환을 야기하거나 에러 복구를 용이하게 하도록 동작하는, 디바이스.
  7. 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키도록 동작하는 프로세서를 포함하며,
    상기 NAL 유닛 중 하나는 0 이 아닌 프레임 식별 번호를 갖는 저품질 IDR (Instantaneous Decoding Refresh) NAL 유닛을 포함하고,
    상기 IDR NAL 유닛의 0 이 아닌 프레임 식별 번호는 대응하는 P-슬라이스의 프레임 번호와 동일한, 집적 회로.
  8. 제 7 항에 있어서,
    상기 IDR NAL 유닛은 0 이 아닌 POC (picture order count) 번호를 갖는, 집적 회로.
  9. 제 8 항에 있어서,
    상기 프로세서는 적어도 2 개의 추가 NAL 유닛으로 상기 CSF 를 발생시키도록 동작하며,
    상기 적어도 2 개의 추가 NAL 유닛은 SPS (sequence parameter set) NAL 유닛 및 PPS (picture parameter set) NAL 유닛을 포함하는, 집적 회로.
  10. 제 7 항에 있어서,
    상기 CSF 는 I-프레임 NAL 유닛을 포함하는, 집적 회로.
  11. 제 7 항에 있어서,
    랜덤 액세스 포인트 (RAP) 프레임으로서 상기 CSF 를 브로드캐스팅하는 송신기를 더 포함하는, 집적 회로.
  12. 제 7 항에 있어서,
    상기 CSF 는 하나의 채널로부터 다른 하나의 채널로의 전환을 야기하거나 에러 복구를 용이하게 하도록 동작하는, 집적 회로.
  13. 컴퓨터로 하여금, 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하여 하나의 채널로부터 다른 하나의 채널로의 전환을 야기하거나 에러 복구를 용이하게 하도록 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키게 하는 명령들을 가지며,
    상기 NAL 유닛 중 하나는 0 이 아닌 프레임 식별 번호를 갖는 저품질 IDR (Instantaneous Decoding Refresh) NAL 유닛을 포함하고,
    상기 IDR NAL 유닛의 0 이 아닌 프레임 식별 번호는 대응하는 P-슬라이스의 프레임 번호와 동일한, 컴퓨터 판독가능 매체.
  14. 제 13 항에 있어서,
    상기 IDR NAL 유닛은 0 이 아닌 프레임 번호 및 0 이 아닌 POC (picture order count) 번호를 갖는, 컴퓨터 판독가능 매체.
  15. 제 13 항에 있어서,
    상기 CSF 를 발생시키게 하는 명령들은 적어도 2 개의 추가 NAL 유닛으로 상기 CSF 를 발생시키게 하는 명령들을 포함하며,
    상기 적어도 2 개의 추가 NAL 유닛은 SPS (sequence parameter set) NAL 유닛 및 PPS (picture parameter set) NAL 유닛을 포함하는, 컴퓨터 판독가능 매체.
  16. 제 13 항에 있어서,
    상기 CSF 를 발생시키게 하는 명령들은 I-프레임 NAL 유닛을 발생시키게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체.
  17. 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생 및 브로드캐스팅하도록 동작하는 인코더로서, 상기 NAL 유닛 중 하나는 0 이 아닌 프레임 식별 번호를 갖는 저품질 IDR (Instantaneous Decoding Refresh) NAL 유닛을 포함하는, 상기 인코더; 및
    하나의 채널로부터 다른 하나의 채널로의 전환을 야기하거나 에러 복구를 용이하게 하기 위해 상기 CSF 를 디코딩하도록 동작하는 디코더를 포함하고,
    상기 IDR NAL 유닛의 0 이 아닌 프레임 식별 번호는 대응하는 P-슬라이스의 프레임 번호와 동일한, 시스템.
  18. 코딩된 비트스트림에서의 랜덤 액세스 포인트를 가능하게 하기 위해 하나 이상의 NAL (network abstraction layer) 유닛으로부터 채널 전환 프레임 (CSF) 을 발생시키는 단계를 포함하며,
    상기 NAL 유닛 중 하나는 0 이 아닌 프레임 식별 번호를 갖는 저품질 IDR (Instantaneous Decoding Refresh) NAL 유닛을 포함하고,
    상기 IDR NAL 유닛의 0 이 아닌 프레임 식별 번호는 대응하는 P-슬라이스의 프레임 번호와 동일한, 방법.
  19. 제 18 항에 있어서,
    상기 IDR NAL 유닛은 0 이 아닌 POC (picture order count) 번호를 갖는, 방법.
  20. 제 18 항에 있어서,
    상기 발생시키는 단계는 적어도 2 개의 추가 NAL 유닛으로 상기 CSF 를 발생시키는 단계를 더 포함하며,
    상기 적어도 2 개의 추가 NAL 유닛은 SPS (sequence parameter set) NAL 유닛 및 PPS (picture parameter set) NAL 유닛을 포함하는, 방법.
  21. 제 18 항에 있어서,
    상기 발생시키는 단계는 I-프레임 NAL 유닛으로 상기 CSF 를 발생시키는 단계를 포함하는, 방법.
  22. 제 18 항에 있어서,
    채널 전환을 실시하기 위해 랜덤 액세스 포인트 (RAP) 프레임으로서 상기 CSF 를 브로드캐스팅하는 단계를 더 포함하는, 방법.
  23. 제 22 항에 있어서,
    상기 CSF 를 수신하는 단계; 및 상기 수신된 CSF 에 응답하여 하나의 채널로부터 다른 하나의 채널로 전환하는 단계를 더 포함하는, 방법.
  24. 제 22 항에 있어서,
    상기 CSF 를 수신하는 단계; 및 상기 수신된 CSF 에 응답하여 상기 코딩된 비트스트림에서의 에러로부터 복구하는 단계를 더 포함하는, 방법.
KR1020117017749A 2006-11-14 2007-11-14 채널 전환용 시스템 및 방법 KR101141086B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US86582206P 2006-11-14 2006-11-14
US60/865,822 2006-11-14
PCT/US2007/084727 WO2008061164A2 (en) 2006-11-14 2007-11-14 Systems and methods for channel switching

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097012166A Division KR101089072B1 (ko) 2006-11-14 2007-11-14 채널 전환용 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20110091824A true KR20110091824A (ko) 2011-08-12
KR101141086B1 KR101141086B1 (ko) 2012-05-03

Family

ID=39302227

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117017749A KR101141086B1 (ko) 2006-11-14 2007-11-14 채널 전환용 시스템 및 방법
KR1020097012166A KR101089072B1 (ko) 2006-11-14 2007-11-14 채널 전환용 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097012166A KR101089072B1 (ko) 2006-11-14 2007-11-14 채널 전환용 시스템 및 방법

Country Status (14)

Country Link
US (1) US8345743B2 (ko)
EP (2) EP2095641A2 (ko)
JP (2) JP5378227B2 (ko)
KR (2) KR101141086B1 (ko)
CN (2) CN103024444B (ko)
AU (2) AU2007319261B2 (ko)
BR (1) BRPI0718629A2 (ko)
CA (2) CA2783599C (ko)
IL (1) IL198419A0 (ko)
IN (1) IN2014MN01853A (ko)
MX (1) MX2009005086A (ko)
RU (1) RU2419245C2 (ko)
UA (1) UA93118C2 (ko)
WO (1) WO2008061164A2 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
CN1954501B (zh) * 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
US7721184B2 (en) * 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
FR2888424A1 (fr) * 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US8229983B2 (en) 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8670437B2 (en) * 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
WO2008061211A2 (en) * 2006-11-15 2008-05-22 Qualcomm Incorporated Systems and methods for applications using channel switch frames
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US8848793B2 (en) * 2007-10-31 2014-09-30 Broadcom Corporation Method and system for video compression with integrated picture rate up-conversion
JP5056560B2 (ja) * 2008-03-17 2012-10-24 富士通株式会社 符号化装置、復号化装置、符号化方法および復号化方法
JP4935746B2 (ja) * 2008-04-07 2012-05-23 富士通株式会社 動画像符号化装置、動画像復号化装置及びその符号化、復号化方法
JP5369599B2 (ja) * 2008-10-20 2013-12-18 富士通株式会社 映像符号化装置、映像符号化方法
EP2392138A4 (en) * 2009-01-28 2012-08-29 Nokia Corp METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8526458B1 (en) * 2009-05-27 2013-09-03 Lockheed Martin Corporation Framer and deframer for self-describing superframe
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20120250690A1 (en) * 2009-12-01 2012-10-04 Samsung Electronics Co. Ltd. Method and apparatus for transmitting a multimedia data packet using cross layer optimization
US8374114B2 (en) * 2010-01-29 2013-02-12 Qualcomm Incorporated Method and system for organizing broadcast content
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
MX2014000048A (es) * 2011-07-02 2014-04-30 Samsung Electronics Co Ltd Metodo y aparato para multiplexar y desmultiplexar datos de video para identificar el estado de reproduccion de los datos de video.
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US20130195119A1 (en) * 2011-10-14 2013-08-01 Qualcomm Incorporated Feedback channel for wireless display devices
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US8917745B2 (en) * 2012-03-11 2014-12-23 Broadcom Corporation Channel bonding with orbital angular momentum
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9351016B2 (en) * 2012-04-13 2016-05-24 Sharp Kabushiki Kaisha Devices for identifying a leading picture
US9332309B2 (en) 2012-06-08 2016-05-03 Apple Inc. Sync frame recovery in real time video transmission system
US9674532B2 (en) * 2012-06-24 2017-06-06 Lg Electronics Inc. Image decoding method using information on a random access picture and apparatus using same
JP6045222B2 (ja) * 2012-06-28 2016-12-14 株式会社Nttドコモ 動画像予測復号装置、方法及びプログラム
US9591303B2 (en) * 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
US20140153636A1 (en) * 2012-07-02 2014-06-05 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
JP5885604B2 (ja) * 2012-07-06 2016-03-15 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US9491487B2 (en) 2012-09-25 2016-11-08 Apple Inc. Error resilient management of picture order count in predictive coding systems
US20140092976A1 (en) * 2012-09-30 2014-04-03 Sharp Laboratories Of America, Inc. System for signaling idr and bla pictures
US9264737B2 (en) * 2012-10-01 2016-02-16 Apple Inc. Error resilient transmission of random access frames and global coding parameters
KR102270788B1 (ko) 2013-01-10 2021-06-29 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
RU2602332C1 (ru) 2013-01-21 2016-11-20 Долби Лабораторис Лайсэнзин Корпорейшн Перекодировка метаданных
JP5672320B2 (ja) * 2013-02-26 2015-02-18 Nttエレクトロニクス株式会社 デコーダ装置
US9819944B2 (en) * 2013-04-12 2017-11-14 Samsung Electronics Co., Ltd. Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor
US9602822B2 (en) * 2013-04-17 2017-03-21 Qualcomm Incorporated Indication of cross-layer picture type alignment in multi-layer video coding
US9686609B1 (en) 2013-06-28 2017-06-20 Avnera Corporation Low power synchronous data interface
US20150030070A1 (en) * 2013-07-29 2015-01-29 Nvidia Corporation Adaptive decoding of a video frame in accordance with initiation of non-sequential playback of video data associated therewith
US9979971B2 (en) * 2013-10-14 2018-05-22 Qualcomm Incorporated Device and method for scalable coding of video information
US10116943B2 (en) * 2013-10-16 2018-10-30 Nvidia Corporation Adaptive video compression for latency control
US20150195549A1 (en) 2014-01-08 2015-07-09 Qualcomm Incorporated Support of non-hevc base layer in hevc multi-layer extensions
US10547903B2 (en) 2015-10-26 2020-01-28 Arris Enterprises, Inc. Advertisement display based on channel switch
WO2018171904A1 (en) * 2017-03-24 2018-09-27 Huawei Technologies Co., Ltd. Devices and methods for slice-compliant handover control
US11792432B2 (en) 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
US20230094234A1 (en) * 2021-09-24 2023-03-30 Apple Inc. Channel-aware semantic coding

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122875A (en) 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5241563A (en) * 1992-08-10 1993-08-31 General Instrument Corporation Method and apparatus for communicating interleaved data
JP3637584B2 (ja) 1995-05-02 2005-04-13 ソニー株式会社 表示制御装置および表示制御方法
US5825929A (en) * 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5875199A (en) * 1996-08-22 1999-02-23 Lsi Logic Corporation Video device with reed-solomon erasure decoder and method thereof
US6480541B1 (en) 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
KR20000076064A (ko) 1998-01-08 2000-12-26 마츠시타 덴끼 산교 가부시키가이샤 영상신호 재생장치와 계층형 영상신호 복호화장치
US7031348B1 (en) * 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
KR100354745B1 (ko) * 1998-11-02 2002-12-18 삼성전자 주식회사 비디오코딩및디코딩방법
US6370666B1 (en) 1998-12-02 2002-04-09 Agere Systems Guardian Corp. Tuning scheme for error-corrected broadcast programs
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
FR2795279B1 (fr) 1999-06-18 2001-07-20 Thomson Multimedia Sa Procede et dispositif de commutation de programmes de television numerique
US6788740B1 (en) * 1999-10-01 2004-09-07 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
KR100348249B1 (ko) * 1999-10-08 2002-08-09 엘지전자 주식회사 가상 채널 테이블 데이터 구조 및 부가 정보 송수신 방법
DK1181829T3 (da) 2000-03-07 2012-01-16 Koninkl Philips Electronics Nv Resynkroniseringsfremgangsmåde til dekodning af video
US20070288959A1 (en) * 2000-03-29 2007-12-13 Digeo, Inc. Single-button remote access to a synthetic channel page of specialized content
GB2366464A (en) 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
KR100674423B1 (ko) * 2001-01-19 2007-01-29 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR100736500B1 (ko) * 2001-04-25 2007-07-06 엘지전자 주식회사 디지털티브이의 브이에스비 통신시스템
US7873972B2 (en) * 2001-06-01 2011-01-18 Jlb Ventures Llc Method and apparatus for generating a mosaic style electronic program guide
US6535240B2 (en) * 2001-07-16 2003-03-18 Chih-Lung Yang Method and apparatus for continuously receiving frames from a plurality of video channels and for alternately continuously transmitting to each of a plurality of participants in a video conference individual frames containing information concerning each of said video channels
JP4443833B2 (ja) 2002-02-27 2010-03-31 パナソニック株式会社 情報再生方法、送信装置および受信装置
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
US7020823B2 (en) * 2002-03-19 2006-03-28 Matsushita Electric Industrial Co., Ltd. Error resilient coding, storage, and transmission of digital multimedia data
EP1500002A1 (en) 2002-04-29 2005-01-26 Sony Electronics Inc. Supporting advanced coding formats in media files
BR0312657A (pt) * 2002-07-16 2007-06-26 Nokia Corp método para executar uma restauração gradual do conteúdo de imagem com acesso randÈmico em uma seqüência de vìdeo codificada
US7606314B2 (en) * 2002-08-29 2009-10-20 Raritan America, Inc. Method and apparatus for caching, compressing and transmitting video signals
BR0316114A (pt) * 2002-11-15 2005-09-27 Thomson Licensing Sa Método e sistema para multiplexação estatìstica escalonada
KR100510938B1 (ko) 2003-02-18 2005-08-26 백철 동파 방지 배관 시스템
US8194751B2 (en) * 2003-02-19 2012-06-05 Panasonic Corporation Moving picture coding method and moving picture decoding method
US20040181811A1 (en) * 2003-03-13 2004-09-16 Rakib Selim Shlomo Thin DOCSIS in-band management for interactive HFC service delivery
JP2004350263A (ja) 2003-04-28 2004-12-09 Canon Inc 画像処理装置及び画像処理方法
US7464319B2 (en) * 2003-04-29 2008-12-09 Utah State University Forward error correction with codeword cross-interleaving and key-based packet compression
US7403660B2 (en) * 2003-04-30 2008-07-22 Nokia Corporation Encoding picture arrangement parameter in picture bitstream
KR20060010777A (ko) * 2003-05-02 2006-02-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 프로그램들의 리던던트 전송
US7489342B2 (en) * 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
JP2004343451A (ja) * 2003-05-15 2004-12-02 Matsushita Electric Ind Co Ltd 動画像復号化方法および動画像復号化装置
US8811492B2 (en) 2003-06-16 2014-08-19 Thomson Licensing Encoding method and apparatus enabling fast channel change of compressed video
US20040260827A1 (en) 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US8250622B2 (en) 2003-10-30 2012-08-21 Panasonic Corporation Method and apparatus for broadcasting to a portable terminal
EP1657835A4 (en) 2003-10-30 2008-12-10 Panasonic Corp MOBILEND DEVICE ORIENTED TRANSMISSION PROCESS AND DEVICE
US20070110105A1 (en) * 2003-10-30 2007-05-17 Matsushita Electric Industrial Co., Ltd. Apparatus and a method for receiving a multiplexed broadcast signal carrying a plurality of services
US7369610B2 (en) * 2003-12-01 2008-05-06 Microsoft Corporation Enhancement layer switching for scalable video coding
EP1703657A1 (en) 2004-01-08 2006-09-20 Matsushita Electric Industries Co., Ltd. Extra error correcting method for zapping stream ts packet
KR20050076019A (ko) * 2004-01-19 2005-07-26 삼성전자주식회사 스케일러블 부호화에 기반한 비트스트림의 적응적 부호화및/또는 복호화 방법, 및 이를 구현하기 위한프로그램이 기록된 기록 매체
WO2005072337A2 (en) * 2004-01-23 2005-08-11 Sarnoff Corporation Method and apparatus for digital video reconstruction
GB0402637D0 (en) 2004-02-06 2004-03-10 Nokia Corp Mobile telecommunications apparatus
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US20050185541A1 (en) * 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
JP2005277701A (ja) 2004-03-24 2005-10-06 Hitachi Ltd 動画データの伝送方法、伝送システム、配信装置及び受信装置
US20050240353A1 (en) 2004-04-21 2005-10-27 Hoffmann Technologies Corporation Reagents, devices and methods for proteomic analysis with applications including diagnostics, vaccines, quality control and research
PL2207182T3 (pl) * 2004-04-28 2012-09-28 Panasonic Corp Urządzenie do generowania strumienia ruchomego obrazu, urządzenie do kodowania ruchomego obrazu, urządzenie do multipleksowania ruchomego obrazu oraz urządzenie do dekodowania ruchomego obrazu
BRPI0510329A8 (pt) 2004-05-03 2018-05-22 Thomson Res Funding Corporation Aparelho e método para habilitar uma mudança de canal
EP1993284B1 (en) * 2004-06-02 2013-07-03 Panasonic Corporation Picture coding apparatus and picture decoding apparatus
KR20060002416A (ko) * 2004-07-02 2006-01-09 현대자동차주식회사 동력조향장치 기어박스의 에어홀구조
CN101061718B (zh) * 2004-11-22 2010-10-13 汤姆森研究基金有限公司 用于数字订户线路系统中的频道改变的方法和设备
KR100703734B1 (ko) * 2004-12-03 2007-04-05 삼성전자주식회사 Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
KR100673253B1 (ko) * 2005-01-31 2007-01-22 엘지전자 주식회사 비디오 디코딩 장치
JP2008535374A (ja) 2005-03-29 2008-08-28 トムソン ライセンシング 無線通信システムでロバスト受信を提供する方法及び装置
FR2884674B1 (fr) 2005-04-19 2007-09-07 Bouygues Telecom Sa Affichage d'une page numerique "mosaique" pour la television sur terminal mobile
US9055298B2 (en) 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US20070076796A1 (en) 2005-09-27 2007-04-05 Fang Shi Frame interpolation using more accurate motion information
US8229983B2 (en) * 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8670437B2 (en) 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
US8446954B2 (en) 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
JP4950206B2 (ja) 2005-10-11 2012-06-13 ノキア コーポレイション 効率的なスケーラブルストリーム適応のためのシステム及び方法
US8782706B2 (en) * 2005-12-29 2014-07-15 United Video Properties Systems and methods for providing channel groups in an interactive media guidance application
US7826536B2 (en) * 2005-12-29 2010-11-02 Nokia Corporation Tune in time reduction
US8316394B2 (en) * 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
CN101518082B (zh) * 2006-07-28 2012-11-28 汤姆森研究基金有限公司 用于数字视频的快速频道转换的方法和装置
WO2008061211A2 (en) * 2006-11-15 2008-05-22 Qualcomm Incorporated Systems and methods for applications using channel switch frames

Also Published As

Publication number Publication date
JP5701790B2 (ja) 2015-04-15
EP2095641A2 (en) 2009-09-02
JP2012135027A (ja) 2012-07-12
US20080170564A1 (en) 2008-07-17
CN103024444A (zh) 2013-04-03
AU2011200446B2 (en) 2012-04-12
JP5378227B2 (ja) 2013-12-25
RU2419245C2 (ru) 2011-05-20
CA2668670A1 (en) 2008-05-22
BRPI0718629A2 (pt) 2013-11-26
MX2009005086A (es) 2009-05-27
KR101141086B1 (ko) 2012-05-03
AU2011200446A1 (en) 2011-02-24
CA2783599C (en) 2013-06-25
JP2010509896A (ja) 2010-03-25
KR101089072B1 (ko) 2011-12-09
CN101536523B (zh) 2013-01-23
IL198419A0 (en) 2010-02-17
RU2009122491A (ru) 2010-12-20
EP2129129B1 (en) 2013-09-18
WO2008061164A2 (en) 2008-05-22
US8345743B2 (en) 2013-01-01
CN101536523A (zh) 2009-09-16
KR20090089409A (ko) 2009-08-21
CN103024444B (zh) 2015-11-18
UA93118C2 (ru) 2011-01-10
IN2014MN01853A (ko) 2015-07-03
AU2007319261A1 (en) 2008-05-22
CA2783599A1 (en) 2008-05-22
EP2129129A1 (en) 2009-12-02
AU2007319261B2 (en) 2010-12-16
CA2668670C (en) 2013-04-30
WO2008061164A3 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
KR101141086B1 (ko) 채널 전환용 시스템 및 방법
KR100983169B1 (ko) 프레임 정보 테이블을 이용한 프레임 레벨 멀티미디어 디코딩
US8229983B2 (en) Channel switch frame
EP2171903B1 (en) Simultaneous processing of media and redundancy streams for mitigating impairments
US8761162B2 (en) Systems and methods for applications using channel switch frames
KR100926017B1 (ko) 대역외 디렉토리 정보를 이용한 에러 복원의 개선
US20090034627A1 (en) Non-enhancing media redundancy coding for mitigating transmission impairments
WO2002015589A1 (en) Video coding
EP1929785B1 (en) Channel switch frame
Murugan Multiplexing H. 264 video with AAC audio bit streams, demultiplexing and achieving lip synchronization during playback

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: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee