KR20210024131A - 적응 스트리밍 정렬을 위한 프레임 변환 - Google Patents

적응 스트리밍 정렬을 위한 프레임 변환 Download PDF

Info

Publication number
KR20210024131A
KR20210024131A KR1020217002694A KR20217002694A KR20210024131A KR 20210024131 A KR20210024131 A KR 20210024131A KR 1020217002694 A KR1020217002694 A KR 1020217002694A KR 20217002694 A KR20217002694 A KR 20217002694A KR 20210024131 A KR20210024131 A KR 20210024131A
Authority
KR
South Korea
Prior art keywords
frame
audio
bitstream
video
content
Prior art date
Application number
KR1020217002694A
Other languages
English (en)
Other versions
KR102406318B1 (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 KR20210024131A publication Critical patent/KR20210024131A/ko
Application granted granted Critical
Publication of KR102406318B1 publication Critical patent/KR102406318B1/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/615Signal processing at physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

AV 비트스트림이 적어도 하나의 오디오 I-프레임과 동기화된 적어도 하나의 비디오 I-프레임을 포함하도록, 예를 들어, 적어도 하나의 비디오 또는 오디오 프레임을 (재저작된 I-프레임 또는 재저작된 P-프레임으로) 재저작하여 포함하는 AV 비트스트림 (예를 들어, MPEG-2 전송 스트림 또는 적응 스트리밍 포맷을 갖는 비트스트림 세그먼트) 생성 방법. 일반적으로 재저작된 프레임을 포함하는 AV 비트스트림의 콘텐츠 세그먼트는 I-프레임으로 시작하고 적어도 하나의 후속 P-프레임을 포함한다. 다른 양상은 이러한 AV 비트스트림을 적응하는 방법, 발명의 방법의 임의의 실시예를 수행하도록 구성되는 오디오/비디오 처리 유닛, 및 발명의 방법의 임의의 실시예에 따라 생성된 AV 비트스트림의 적어도 하나의 세그먼트를 저장하는 버퍼 메모리를 포함하는 오디오/비디오 처리 유닛이다.

Description

적응 스트리밍 정렬을 위한 프레임 변환
관련된 출원에 대한 상호 참조
이 출원은 모두 2018년 6월 28일에 출원된 미국 가출원 제62/690,998호 및 유럽 특허 출원 제18180389.1호의 우선권의 이익을 주장하며, 이들은 본원에서 참조로 포함된다.
기술분야
이 문서는 오디오 및 비디오 신호 처리에 관한 것으로서, 더 구체적으로는, (인코딩된 비디오 데이터 및 선택적으로 또한 메타데이터의) 비디오 프레임 및 (인코딩된 오디오 데이터 및 선택적으로 또한 메타데이터의) 오디오 프레임을 포함하는 비트스트림(예를 들어, 적응 스트리밍 포맷 또는 방법/프로토콜, 또는 전송 스트림에서 사용되는 비트스트림 또는 비트스트림 세그먼트)의 생성 및 적응에 관한 것이다. 발명의 일부 실시예는 인코딩된 오디오 데이터(예를 들어, AC-4, 또는 MPEG-D USAC, 또는 MPEG-H 오디오 표준과 컴플라이언트(compliant) 또는 호환(compatible)되는 포맷의 인코딩된 오디오 데이터)를 포함하는 (예를 들어, MPEG-2 전송 스트림 포맷, 또는 MMT 또는 MPEG-DASH 또는 다른 스트리밍 방법/프로토콜에 따른 포맷, 또는 다른 적응 스트리밍 포맷, 또는 다른 표준 호환 포맷을 갖는) 비트스트림 세그먼트를 생성 또는 적응(예를 들어, 정렬)시킨다.
적응 스트리밍에서, 적응 스트리밍 포맷을 갖는(또는 이에서 사용되는) 데이터는 각 비디오 표현 및 오디오 표현에 대하여 별도의 비트스트림(또는 비트스트림 세그먼트)을 포함할 수 있다. 따라서, 데이터는 단일 비트스트림(예를 들어, 단일 전송 스트림)으로 구성되지 않을 수 있으며, 대신 둘 이상의 별도의 비트스트림을 포함할 수 있다. 본원에서, 표현 "AV 비트스트림"(이하에서 정의됨)은 비트스트림, 또는 비트스트림 세그먼트, 또는 둘 이상의 비트스트림 세그먼트(예를 들어, 전송 스트림, 또는 적응 스트리밍 포맷에서 사용되는 비트스트림 세그먼트)를 표시하는 신호(또는 신호들)를 나타내는 데 사용되며, 상기 비트스트림(또는 비트스트림 세그먼트(들))은 비디오 데이터 및/또는 인코딩된 오디오 데이터, 및 일반적으로 또한 메타데이터를 포함한다.
AV 비트스트림(예를 들어, 전송 스트림, 또는 적응 스트리밍 포맷 또는 스트리밍 방법 또는 프로토콜에서 사용되는 비트스트림 세그먼트)은 적어도 하나의 오디오/비디오(오디오 및/또는 비디오) 프로그램("프로그램")을 표시할 수 있으며, (이에 따라 표시되는 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터 프레임 및 비디오 데이터에 대응하는 (적어도 하나의 오디오 기본 스트림을 결정하는) 인코딩된 오디오 데이터 프레임을 포함할 수 있다. 비디오 데이터 프레임은 비디오 데이터의 I-프레임(비디오 I-프레임) 및 비디오 데이터의 P-프레임(비디오 P-프레임)을 포함하거나 이들로 구성될 수 있으며, 인코딩된 오디오 데이터 프레임은 I-프레임 또는 인코딩된 오디오 데이터(오디오 I-프레임) 및 인코딩된 오디오 데이터의 P-프레임(오디오 P-프레임) 을 포함하거나 이들로 구성될 수 있다.
청구범위를 포함하여, 본원에서, "I-프레임"은 자체적인 정보만을 사용하여 디코딩될 수 있는 독립적으로 디코딩 가능한 프레임을 나타낸다. 청구범위를 포함하여, 본원에서, I-프레임이 아닌 프레임(예를 들어, 예측 인코딩된 프레임)은 "P-프레임"으로 지칭된다. AV 비트스트림에서, P-프레임은 통상 디코딩을 위하여 이전 I-프레임의 정보가 필요하다. I-프레임(또는 P-프레임)은 비디오 데이터(및 통상적으로 또한 메타데이터)를 포함할 수 있으며, 이러한 프레임은 본원에서 때때로 비디오 프레임 또는 비디오 데이터 프레임으로 지칭된다. I-프레임(또는 P-프레임)은 인코딩된 오디오 데이터(및 통상적으로 또한 메타데이터)를 포함할 수 있으며, 이러한 프레임은 본원에서 때때로 오디오 프레임 또는 오디오 데이터 프레임으로 지칭된다.
많은 최신 오디오 코덱(예를 들어, AC-4 오디오, MPEG-H 오디오 및 MPEG-D USAC 오디오 코덱) 및 비디오 코덱은 독립적으로 디코딩 가능한 프레임(위에서 정의된 바와 같은 "I-프레임") 및 다른 프레임(예를 들어, 위에서 정의된 바와 같은 "P-프레임"인 비독립적으로 디코딩 가능한 프레임)의 개념을 사용하여, 이러한 코덱에 의해 인코딩된 오디오 및/또는 비디오 콘텐츠를 포함하는 비트스트림은 일반적으로 I-프레임 및 P-프레임을 포함한다. 다수의 패키징된 미디어 전달 포맷 또는 프로토콜(예를 들어, MPEG-DASH(HTTP를 통한 동적 적응 스트리밍, ISO/IEC 23009-1:2012로 발표됨), HLS(애플 HTTP 라이브 스트리밍), MMT(MPEG 미디어 전송) 및 MPEG-2 전송 스트림 포맷)은 세그먼트 경계에서 원활한(seamless) 스플라이싱(splicing)(또는 스위칭)을 가능하게 하기 위하여 오디오(또는 비디오) 콘텐츠의 세그먼트가 I-프레임으로 시작할 것을 요구하며, 오디오 및 비디오 세그먼트 정렬의 이점을 누릴 수 있다. 오디오 인코더와 비디오 인코더는 일반적으로 독립적으로 실행되고, I-프레임을 생성할 시점에 대하여 양자가 모두 상대방에 대한 지식이 없이 결정할 수 있기 때문에, 일반적으로 오디오 I-프레임과 비디오 I-프레임 사이의 정렬을 얻는 것이 매우 어렵다.
발명의 일부 실시예는 AV 비트스트림의 기본 스트림(예를 들어, 비디오 기본 스트림, 및 하나 이상의 대응하는 오디오 기본 스트림)의 세그먼트 사이의 정렬 문제를 해결하기 위하여, 인코딩된 오디오 데이터의 I-프레임(오디오 I-프레임)과 동기화된 비디오 데이터의 I-프레임(비디오 I-프레임)을 포함하는 AV 비트스트림을 생성한다. 전형적인 실시예에서, AV 비트스트림은 적어도 하나의 오디오/비디오 프로그램("프로그램")을 표시하며 (이에 따라 표시되는 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터 프레임 및 (적어도 하나의 오디오 기본 스트림을 결정하는) 대응하는 인코딩된 오디오 데이터 프레임을 포함하고, 비디오 데이터 프레임은 비디오 데이터의 I-프레임(비디오 I-프레임) 및 비디오 데이터의 P-프레임(비디오 P-프레임)을 포함하며, 인코딩된 오디오 데이터 프레임은 인코딩된 오디오 데이터의 I-프레임(오디오 I-프레임) 및 인코딩된 오디오 데이터의 P-프레임(오디오 P-프레임)을 포함한다. AV 비트스트림의 적어도 하나의 프레임(비디오 프레임 중 적어도 하나 및/또는 오디오 프레임 중 적어도 하나)은, 재저작된(re-authored) 프레임을 포함하는 스트림의 콘텐츠 세그먼트가 I-프레임으로 시작하고 적어도 하나의 후속 P-프레임을 포함하며, 또한 통상 콘텐츠 세그먼트의 I-프레임이 스트림의 대응하는 콘텐츠(콘텐츠가 비디오 콘텐츠이면 대응하는 콘텐츠는 오디오 콘텐츠이고, 콘텐츠가 오디오 콘텐츠이면 대응하는 콘텐츠는 비디오 콘텐츠이다) 세그먼트의 I-프레임과 정렬(예를 들어, 동일한 타임스탬프 값을 갖도록 시간 정렬)되도록 (재저작된 I-프레임 또는재저작된 P-프레임으로) 재저작되었다. 일부 실시예에서, AV 비트스트림의 적어도 하나의 오디오 프레임(그렇지만 비디오 프레임은 아님)은, 재저작된 프레임을 포함하는 스트림의 오디오 콘텐츠의 세그먼트가 (비디오 콘텐츠의 대응하는 세그먼트의 비디오 I-프레임과 정렬된) 오디오 I-프레임으로 시작하고 적어도 하나의 후속 오디오 P-프레임을 포함하도록 (재저작된 오디오 I-프레임 또는 재저작된 오디오 P-프레임으로) 재저작되었다. 전형적인 실시예에서, AV 비트스트림은 세그먼트 경계에서(예를 들어, 적어도 하나의 오디오 기본 스트림 각각의 대응하는 오디오 콘텐츠 세그먼트의 시작과 정렬된 비디오 기본 스트림의 비디오 콘텐츠 세그먼트의 시작에서) 원활한 적응(예를 들어, 스플라이싱 또는 스위칭)을 가능하게 하기 위하여 AV 비트스트림의 콘텐츠(오디오 콘텐츠 또는 비디오 콘텐츠)의 각 세그먼트가 I-프레임으로 시작하여야 하는 패키징된 미디어 전달 포맷을 갖는다. 일부(그렇지만 전부는 아닌) 실시예에서, 패키징된 미디어 전달 포맷은 MPEG-DASH, HLS, 또는 MMT 방법/프로토콜을 따르거나, MPEG-2 전송 스트림 포맷이거나, 또는 일반적으로 ISO 베이스 미디어 포맷 (MPEG-4 14496-12) 기반이다.
본원에서, 콘텐츠(오디오 또는 비디오 콘텐츠)를 표시하는 프레임을 "재저작"하는 것(또는 프레임을 "재저작")은 프레임의 콘텐츠를 수정하지 않고(예를 들어, 콘텐츠의 디코딩 및 디코딩된 콘텐츠의 재인코딩에 의하여 콘텐츠를 수정하지 않고) 프레임의 메타데이터를 상이한 메타데이터로 교체하거나, 또는 프레임의 메타데이터를 상이한 메타데이터로 교체(및 콘텐츠의 디코딩 및 디코딩된 콘텐츠의 재인코딩 없이 프레임의 콘텐츠를 수정)하는 것을 나타낸다. 예를 들어, 발명의 일부 실시예에서, 오디오 P-프레임은 P-프레임의 인코딩된 오디오 콘텐츠를 수정하지 않고 (예를 들어, 이러한 콘텐츠를 디코딩한 다음 디코딩된 콘텐츠를 재인코딩함으로써 인코딩된 오디오 콘텐츠를 수정하지 않고) (오디오 P-프레임의 헤더에 있을 수 있는) 오디오 P-프레임의 메타데이터의 전부 또는 일부를 상이한 메타데이터 세트(예를 들어, 이전 오디오 I-프레임으로부터 획득한 메타데이터로부터 복사 또는 이를 수정함으로써 생성된 메타데이터로 구성되거나 이를 포함하는 상이한 메타데이터 세트)로 교체함으로써 재저작된 오디오 I-프레임으로 재저작된다. 다른 예를 들면, 오디오 P-프레임은 P-프레임의 원본 오디오 콘텐츠를 디코딩하지 않고 P-프레임의 인코딩된 오디오 콘텐츠(델타-시간(프레임 간) 코딩을 사용하여 인코딩된 오디오 콘텐츠)를 프레임 내(intra-frame) 코딩을 사용하여 인코딩된, 인코딩된 오디오 콘텐츠(즉, 동일한 오디오 콘텐츠이지만, 델타 주파수 또는 절대 코딩을 사용하여 인코딩됨)로 교체하여 포함하는 재저작된 오디오 I-프레임으로 재저작된다. 다른 예를 들면, 발명의 일부 실시예에서, 오디오 P-프레임은 적어도 하나의 이전 오디오 P-프레임을 P-프레임(각 이전 P-프레임의 인코딩된 오디오 콘텐츠를 포함함) 내로 복사하여, 결과적인 재저작된 I-프레임이 P-프레임과 상이한 메타데이터 세트를 포함하고(즉, 이는 P-프레임의 원본 메타데이터와 함께 각 이전 P-프레임의 메타데이터를 포함한다) 또한 추가적인 인코딩된 오디오 콘텐츠(각 이전 P-프레임의 인코딩된 오디오 콘텐츠)를 포함하도록 함으로써, 재저작된 오디오 I-프레임으로 재저작된다. 다른 예를 들면, 발명의 일부 실시예에서, 오디오(또는 비디오) I-프레임은 I-프레임의 콘텐츠(비디오 또는 오디오 콘텐츠)를 수정하지 않고(예를 들어, 이러한 콘텐츠를 디코딩한 다음 디코딩된 콘텐츠를 재인코딩함으로써 I-프레임의 인코딩된 콘텐츠를 수정하지 않고) (I-프레임의 헤더에 있을 수 있는) I-프레임의 메타데이터의 전부 또는 일부를 상이한 메타데이터 세트(예를 들어, 이전 프레임으로부터 획득한 메타데이터로부터 복사 또는 이를 수정함으로써 생성된 메타데이터로 구성되거나 이를 포함하는 상이한 메타데이터 세트)로 교체함으로써 재저작된 오디오(비디오) P-프레임으로 재저작된다.
본원에서, AV 비트스트림의 또는 그 안에 포함될 수 있는 프레임(임의의 비디오 또는 오디오 프레임일 수 있지만 명확성을 위해 "제1" 프레임으로 지칭)이 "제1 디코딩 유형"을 갖는다는 표현은 프레임이 I-프레임(자체적인 정보만을 사용하여 인코딩된 독립적으로 디코딩 가능한 프레임으로, 그 디코딩 유형이 I-프레임의 것임)이거나 P-프레임(그 디코딩 유형이 P-프레임의 것임)인 것을 나타내며, AV 비트스트림의 또는 그 안에 포함될 수 있는 다른 프레임("제2 프레임")이 "제2 디코딩 유형"(제1 디코딩 유형과 상이함)을 갖는다는 표현은 제2 프레임이 P-프레임(제1 프레임이 I-프레임인 경우)이거나 I-프레임(제1 프레임이 P-프레임인 경우)인 것을 나타낸다.
발명의 방법의 일부 실시예는 다음의 단계를 포함한다:
(a) 제1 디코딩 유형의 프레임 및, 선택적으로 각 프레임과 연관된 메타데이터를 포함하는 오디오 및 비디오 콘텐츠를 표시하는 프레임을 포함하는 입력 AV 비트스트림을 제공(예를 들어, 프레임, 또는 프레임을 포함하는 입력 전송 스트림 또는 다른 입력 AV 비트스트림을 인코더 또는 NBMP 엔티티로 전송, 전달, 또는 다른 방식으로 제공)하는 단계 - 제1 디코딩 유형의 각 프레임은 P-프레임 또는 I-프레임을 포함하며 오디오 콘텐츠(예를 들어, 인코딩된 오디오 콘텐츠) 또는 비디오 콘텐츠(예를 들어, 인코딩된 비디오 콘텐츠)를 표시함;
(b) 제1 디코딩 유형과 상이한 제2 디코딩 유형의 적어도 하나의 재저작된 프레임을 생성하기 위하여 제1 디코딩 유형의 적어도 하나 프레임과 연관된 메타데이터의 일부를 상이한 메타데이터로 수정하는 단계; 및
(c) 비디오 콘텐츠의 I-프레임을 오디오 콘텐츠의 I-프레임과 정렬하기 위하여, AV 비트스트림이 재저작된 프레임을 포함하는 콘텐츠의 세그먼트를 포함하고, 콘텐츠 세그먼트가 I-프레임으로 시작하며 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록 제1 디코딩 유형의 프레임 중 적어도 하나를 제1 디코딩 유형과 상이한 제2 디코딩 유형의 재저작된 프레임으로 재저작(예를 들어, 제1 디코딩 유형의 상기 하나의 프레임이 P-프레임이면 재저작된 프레임이 재저작된 I-프레임이고, 또는 제1 디코딩 유형의 상기 하나의 프레임이 I-프레임이면 재저작된 프레임이 재저작된 P-프레임임)하여 포함하는, 입력 AV 비트스트림에 응답하여 출력 AV 비트스트림을 생성하는 단계. 예를 들어, 단계 (b)는 재저작된 프레임이 오디오 I-프레임이 되도록 적어도 하나의 오디오 P-프레임을 재저작, 또는 재저작된 프레임이 오디오 P-프레임이 되도록 적어도 하나의 오디오 I-프레임을 재저작, 또는 재저작된 프레임이 비디오 I-프레임이 되도록 적어도 하나의 비디오 P-프레임을 재저작, 또는 재저작된 프레임이 비디오 P-프레임이 되도록 적어도 하나의 비디오 I-프레임을 재저작하는 단계를 포함할 수 있다.
이러한 일부 실시예에서, 단계 (a)는: 제1 시스템(예를 들어, 제작 유닛 또는 인코더)에서, 콘텐츠를 표시하는 프레임을 포함하는 입력 AV 비트스트림(예를 들어, 입력 전송 스트림)을 생성하는 단계; 및 입력 AV 비트스트림을 제2 시스템(예를 들어, NBMP 엔티티)으로 전달(예를 들어, 전송)하는 단계를 포함하며; 단계 (b) 및 (c)는 제2 시스템에서 수행된다.
이러한 일부 실시예에서, 적어도 하나의 오디오 P-프레임(메타데이터 및 인코딩된 오디오 데이터, 예를 들어, AC-4 인코딩된 오디오 데이터를 포함)이 오디오 I-프레임(동일한 인코딩된 오디오 데이터 및 상이한 메타데이터를 포함)으로 재저작된다. 일부 다른 실시예에서, 적어도 하나의 오디오 I-프레임(메타데이터 및 인코딩된 오디오 데이터, 예를 들어, AC-4 인코딩된 오디오 데이터를 포함)이 오디오 P-프레임(동일한 인코딩된 오디오 데이터 및 상이한 메타데이터를 포함)으로 재저작된다. 일부 실시예에서, 적어도 하나의 오디오 P-프레임(메타데이터 및 델타-시간(프레임 간) 코딩을 사용하여 인코딩된, 인코딩된 오디오 콘텐츠를 포함)은, P-프레임의 원본 오디오 콘텐츠를 디코딩하지 않고, P-프레임의 원본 인코딩된 오디오 콘텐츠를 프레임 내 코딩을 사용하여 인코딩된, 인코딩된 오디오 콘텐츠(즉, 동일한 오디오 콘텐츠이지만, 델타 주파수 또는 절대 코딩을 사용하여 인코딩됨)로 교체함으로써 포함하는 재저작된 오디오 I-프레임으로 재저작된다.
일 실시예에서, 상이한 메타데이터는 재저작되는 프레임 이전의 제1 디코딩 유형 또는 제2 디코딩 유형의 프레임과 연관된 메타데이터일 수 있다.
일부 실시예에서, 재저작되는 프레임은 오디오 P-프레임이다. 재저작된 프레임은 오디오 I-프레임이다. 오디오 P-프레임의 메타데이터는 이러한 오디오 P-프레임의 일부 메타데이터를 이전 오디오 I-프레임에서 복사한 상이한 메타데이터로 교체함으로써 수정되어, 재저작된 프레임이 상기 상이한 메타데이터를 포함한다.
일부 다른 실시예에서, 재저작되는 프레임은 오디오 P-프레임이다. 재저작된 프레임은 오디오 I-프레임이다. 오디오 P-프레임의 메타데이터는 이전 오디오 I-프레임의 메타데이터를 수정하고 오디오 P-프레임의 메타데이터의 적어도 일부를 수정된 메타데이터로 교체함으로써 수정되어, 재저작된 프레임(I-프레임)이 상기 수정된 메타데이터를 포함한다.
일부 다른 실시예에서, 재저작되는 프레임은 오디오 P-프레임이다. 재저작된 프레임은 오디오 I-프레임이다. 오디오 P-프레임의 메타데이터는 적어도 하나의 이전 P-프레임을 오디오 P-프레임 내로 복사함으로써 수정되어, 결과적인 재저작된 I-프레임이 P-프레임과 상이한 메타데이터 세트를 포함하고(즉, 이는 P-프레임의 원본 메타데이터와 함께 각 이전 P-프레임의 메타데이터를 포함함) 또한 추가 인코딩된 오디오 콘텐츠(각 이전 P-프레임의 인코딩된 오디오 콘텐츠)를 포함한다.
일부 실시예에서 출력 AV 비트스트림의 생성은 출력 AV 비트스트림의 오디오 및 비디오 콘텐츠 세그먼트를 I-프레임으로 시작하는 비디오 콘텐츠(예를 들어 입력 AV 비트스트림의 입력 비디오 콘텐츠) 세그먼트로 결정하는 것을 포함한다. 달리 말하자면, 오디오 및 비디오 콘텐츠 세그먼트는 (예를 들어 입력) 비디오 콘텐츠에 의해 정의된다. 오디오 및 비디오 콘텐츠 세그먼트는 (예를 들어 입력) 비디오 콘텐츠의 I-프레임으로 시작한다. 오디오 프레임은 재저작되어 오디오 콘텐츠의 I-프레임이 비디오 콘텐츠의 I-프레임과 정렬된다. 오디오 및 비디오 콘텐츠 세그먼트는 또한 오디오 콘텐츠의 I-프레임으로 시작한다.
일부 실시예에서, 출력 AV 비트스트림의 생성은, 수정되지 않은 입력 AV 비트스트림의 콘텐츠 세그먼트의 오디오 및 비디오 콘텐츠 및 메타데이터를 출력 AV 비트스트림으로 통과시키는 것을 포함한다. 예를 들어, 입력 AV 비트스트림의 콘텐츠 세그먼트를 버퍼링(예를 들어 저장)하기 위하여 버퍼가 사용될 수 있다. 서브시스템은 콘텐츠의 이러한 버퍼링된 세그먼트의 프레임 중 하나를 재저작하고 재저작에 의해 수정되지 않은 이들 프레임을 통과시키도록 구성될 수 있다. 서브시스템에 의해 수정되지 않은 임의의 미디어 콘텐츠 및 메타데이터는 입력 AV 비트스트림으로부터 출력 AV 비트스트림으로 통과한다. 생성된 출력 AV 비트스트림은 입력 AV 비트스트림의 수정되지 않은 프레임 및 재저작된 프레임을 포함한다.
실시예의 제1 부류(본원에서 "방법 1"을 구현하는 실시예로 때때로 지칭됨)에서, 발명의 방법은: (a) 콘텐츠를 표시하는 오디오 I-프레임 및 오디오 P-프레임을 (예를 들어, 종래의 방식으로) 생성하는 단계; 및 (b) AV 비트스트림이 재저작된 오디오 I-프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트가 재저작된 오디오 I-프레임으로 시작하도록 적어도 하나의 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하여 포함하는 AV 비트스트림을 생성하는 단계를 포함한다. 일반적으로, 콘텐츠 세그먼트는 또한 재저작된 오디오 I-프레임 다음에 적어도 하나의 오디오 P-프레임을 포함한다. 단계 (a) 및 (b)는 오디오 인코더가 단계 (a)를 수행하도록 동작하여 포함되는, 오디오 인코더(예를 들어, 오디오 인코더를 포함하거나 구현하는 제작 유닛) 내에서 수행될 수 있다.
방법 1을 구현하는 일부 실시예에서, 단계 (a)는 오디오 I-프레임 및 오디오 P-프레임을 생성하는 오디오 인코더(예를 들어, AC-4 인코더) 내에서 수행되며, 단계 (b)는 (오디오 I-프레임이 필요한 시간에 대응하는) 적어도 하나의 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하는 것을 포함하고, 단계 (b)는 또한 상기 하나의 오디오 P-프레임 대신 재저작된 오디오 I-프레임을 AV 비트스트림 내에 포함시키는 단계를 포함한다.
방법 1을 구현하는 일부 실시예는: 제1 시스템(예를 들어, 제작 유닛 또는 인코더)에서, 단계 (a)에서 생성된 오디오 I-프레임 및 오디오 P-프레임을 포함하는 AV 비트스트림(예를 들어, 입력 전송 스트림)을 생성하는 단계; 입력 AV 비트스트림을 제2 시스템(예를 들어, NBMP 엔티티)으로 전달(예를 들어, 전송)하는 단계; 및 제2 시스템에서 단계 (b)를 수행하는 단계를 포함한다.
실시예의 제2 부류(본원에서 "방법 2"를 구현하는 실시예로 때때로 지칭됨)에서, 발명의 방법은: (a) 콘텐츠를 표시하는 오디오 I-프레임을 (예를 들어, 종래의 방식으로) 생성하는 단계; 및 (b) AV 비트스트림이 재저작된 오디오 P-프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트가 단계 (a)에서 생성된 오디오 I-프레임 중 하나로 시작하도록 적어도 하나의 오디오 I-프레임을 재저작된 오디오 P-프레임으로 재저작하여 포함하는 AV 비트스트림을 생성하는 단계를 포함한다. 단계 (a) 및 (b)는 오디오 인코더가 단계 (a)를 수행하도록 동작하여 포함되는, 오디오 인코더(예를 들어, 오디오 인코더를 포함하거나 구현하는 제작 유닛) 내에서 수행될 수 있다.
방법 2를 구현하는 일부 실시예에서, 단계 (a)는 오디오 I-프레임을 생성하는 오디오 인코더 (예를 들어, AC-4 인코더) 내에서 수행되며, 단계 (b)는 세그먼트 경계가 아닌 시간에 대응하는(및 따라서 세그먼트 경계에서 발생하지 않는) 각 오디오 I-프레임을 재저작하여, 이에 따라 적어도 하나의 재저작된 오디오 P-프레임을 결정하는 것을 포함하고, AV 비트스트림을 생성하는 단계는 적어도 하나의 재저작된 오디오 P-프레임을 AV 비트스트림 내에 포함시키는 단계를 포함한다.
방법 2를 구현하는 일부 실시예는: 제1 시스템(예를 들어, 제작 유닛 또는 인코더)에서, 단계 (a)에서 생성된 오디오 I-프레임을 포함하는 AV 비트스트림(예를 들어, 입력 전송 스트림)을 생성하는 단계; 입력 AV 비트스트림을 제2 시스템(예를 들어, NBMP 엔티티)으로 전달(예를 들어, 전송)하는 단계; 및 제2 시스템에서 단계 (b)를 수행하는 단계를 포함한다.
AV 비트스트림을 생성(예를 들어, 입력 AV 비트스트림의 적어도 하나의 프레임의 재저작에 의해 포함)하는 발명 방법의 일부 실시예는 AV 비트스트림이 적어도 하나의 현재 기본 네트워크 제약조건 또는 다른 제약조건을 만족하도록 구현된다(예를 들어, AV 비트스트림의 생성은 입력 비트스트림의 적어도 하나의 프레임의 재저작을 포함하며, AV 비트스트림이 입력 비트스트림에 대한 적어도 하나의 현재 기본 네트워크 제약조건을 만족하도록 수행된다). 예를 들어, AV 비트스트림이 NBMP 엔티티(예를 들어, CDN 서버이거나 이에 포함된 MPEG NBMP 엔티티)에 의해 생성되면, NBMP 엔티티는 네트워크 및 다른 제약조건에 따른 방식으로 AV 비트스트림에 I-프레임을 삽입하거나 I-프레임을 제거하도록 구현될 수 있다. 이러한 제약조건의 예는 사용가능한 비트율(bitrate), 프로그램에 필요한 튠인(tune-in) 시간, 및/또는 기본 MPEG-DASH 또는 MMT AV 비트스트림의 세그먼트 지속시간을 포함하지만 이에 제한되지는 않는다.
일부 실시예에서, AV 비트스트림 생성 방법은:
프레임을 제공하는 것, 적어도 하나의 프레임은 P-프레임과 I-프레임을 포함하는 하이브리드 프레임이고, I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 P-프레임은 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함; 및
적어도 하나의 상기 하이브리드 프레임의 P-프레임을 선택하여 포함하고, 각 선택된 P-프레임을 AV 비트스트림 내에 포함하여, AV 비트스트림이 I-프레임으로 시작하며 I-프레임 다음에 적어도 상기 선택된 P-프레임을 포함하는 세그먼트를 포함하도록 AV 비트스트림을 생성하는 것을 포함한다.
일부 실시예에서, 발명 방법은 적어도 하나의 오디오/비디오 프로그램 ("프로그램")을 표시하며 AV 비트스트림을 생성하는 발명 방법의 임의의 실시예에 따라 생성된 (예를 들어, MPEG-2 포맷, 또는 MPEG-DASH 또는 MMT 포맷을 갖는) AV 비트스트림을 적응(예를 들어, 스위칭 또는 스플라이싱)하여, 적응된(예를 들어, 스플라이싱된) AV 비트스트림을 생성하는 단계를 포함한다. 전형적인 실시예에서, 적응된 AV 비트스트림은 AV 비트스트림의 인코딩된 오디오 기본 스트림을 수정하지 않고 생성된다. AV 비트스트림의 적응(예를 들어, 스위칭 또는 스플라이싱) 단계를 포함하는 일부 실시예에서, 적응은 AV 비트스트림의 비디오 I-프레임(예를 들어, 재저작된 비디오 I-프레임) 및 적어도 하나의 대응하는 재저작된 오디오 I-프레임에 대응하는 AV 비트스트림의 적응 포인트(예를 들어, AV 비트스트림에 의해 표시되는 프로그램 내의 시간)에서 수행된다. AV 비트스트림이 (이에 따라 표시된 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터의 프레임 및 (적어도 하나의 오디오 기본 스트림을 결정하는) 대응하는 인코딩된 오디오 데이터의 프레임을 포함하는 전형적인 실시예에서, 적응(예를 들어, 스플라이싱)은 AV 비트스트림의 임의의 인코딩된 오디오 기본 스트림이 적응기(예를 들어, 스플라이서)에 의해 수정될 필요가 없이 오디오/비디오 동기화("A/V" 동기화)가 유지되는 것을 보장하는 방식으로 수행된다.
발명 방법의 임의의 전형적인 실시예에 따라 생성된 AV 비트스트림은, AV 비트스트림에 의해 표시되는 각 프로그램에 대하여, 프로그램을 표시하는 AV 비트스트림의 데이터가 I-프레임 동기화의 특성을 갖는다는 의미에서, I-프레임 동기화(즉, AV 비트스트림에 의해 표시되는 각 프로그램에 대하여, 프로그램의 비디오 기본 스트림 내의 각 비디오 I-프레임에 대하여, 프로그램의 오디오 기본 스트림 내에 적어도 하나의 매칭 오디오 I-프레임(즉, 비디오 I-프레임과 동기화된 적어도 하나의 오디오 I-프레임)이 있도록 비디오 및 오디오 인코딩이 동기화)의 특성을 갖는다(즉, 만족한다).
발명의 다른 실시예의 다른 양상은 (예를 들어, AV 비트스트림의 생성 및/또는 적응을 위한) 발명 방법의 임의의 실시예를 수행하도록 구성되는 오디오/비디오 처리 유닛(AVPU)이다. 예를 들어, AVPU는 발명 방법의 임의의 실시예를 수행하도록 프로그래밍되거나 또는 다른 방식으로 구성되는 NBMP 엔티티(예를 들어, CDN 서버이거나 이에 포함될 수 있는 MPEG NBMP 엔티티)일 수 있다. 다른 예를 들면, AVPU는 발명의 AV 비트스트림 적응(예를 들어, 스플라이싱) 방법의 임의의 실시예를 수행하도록 구성되는 적응기(예를 들어, 스플라이서)일 수 있다. 발명의 실시예의 다른 부류에서 AVPU는 발명 방법의 임의의 실시예에 의해 생성된 AV 비트스트림의 적어도 하나의 세그먼트를 (예를 들어, 비일시적 방식으로) 저장하는 버퍼 메모리(버퍼)를 포함한다. AVPU의 예는, 인코더(예를 들어, 트랜스코더), NBMP 엔티티(예를 들어, AV 비트스트림을 생성 및/또는 이에 대해 적응을 수행하도록 구성되는 NBMP 엔티티), 디코더(예를 들어, AV 비트스트림의 콘텐츠를 디코딩하거나, 및/또는 AV 비트스트림에 적응(예를 들어, 스플라이싱)을 수행하여 적응된(예를 들어, 스플라이싱된) AV 비트스트림을 생성하고 적응된 AV 비트스트림의 콘텐츠를 디코딩하도록 구성되는 디코더), 코덱, AV 비트스트림 적응기(예를 들어, 스플라이서), 전처리 시스템(전처리기), 후처리 시스템(후처리기), AV 비트스트림 처리 시스템 및 이러한 요소의 결합을 포함하지만, 이에 제한되지 않는다.
발명의 일부 실시예는, 발명의 방법의 임의의 실시예를 수행하도록 구성되는(예를 들어, 프로그래밍되는) 시스템 또는 디바이스, 및 발명의 방법 또는 그 단계의 임의의 실시예를 구현하는 코드를 (예를 들어, 비일시적 방식으로) 저장하는 컴퓨터 판독 가능 매체(예를 들어, 디스크)를 포함한다. 예를 들어, 발명의 시스템은 발명의 방법 또는 그 단계의 실시예를 포함하여, 데이터에 대한 다양한 동작 중 임의의 것을 수행하도록 소프트웨어 또는 펌웨어로 프로그래밍되거나 및/또는 다른 방식으로 구성된 프로그래밍 가능한 범용 프로세서, 디지털 신호 프로세서 또는 마이크로 프로세서이거나 이를 포함할 수 있다. 이러한 범용 프로세서는 입력 디바이스, 메모리 및 어서트된(asserted) 데이터에 응답하여 본 발명의 방법 (또는 그 단계)의 실시예를 수행하도록 프로그래밍된 (및/또는 다른 방식으로 구성되는) 처리 회로를 포함하는 컴퓨터 시스템이거나 이를 포함할 수 있다.
도 1은 NBMP 엔티티(12)(및 선택적으로 또한 적어도 하나의 다른 요소)가 발명의 실시예에 따라 구성되는 콘텐츠 전달 네트워크의 블록도이다.
도 2는 MPEG-2 전송 스트림의 예시의 도면이다.
도 3은 시스템의 하나 이상의 요소가 발명의 실시예에 따라 구성될 수 있는 시스템의 실시예의 블록도이다.
도 4는 발명의 실시예에 따라 구성되는 도 3의 제작 유닛(3) 및 도 3의 캡처 유닛(1)의 구현을 포함하는 시스템의 블록도이다.
도 5는 MPEG-DASH 포맷을 갖는 AV 비트스트림 세그먼트의 도면이다.
도 6은 발명의 실시예에 따라 생성된 하이브리드 프레임의 도면이다.
도 6a는 발명의 실시예에 따라 생성된 하이브리드 프레임의 도면이다.
도 7은 발명의 실시예에 따라 MPEG-DASH 포맷을 갖는 AV 비트스트림을 생성하는 시스템의 블록도이다.
표기법 및 명명법
청구범위를 포함하여 본 개시 전체에 걸쳐, 신호 또는 데이터"에 대해(on)" 동작을 수행한다는 표현(예를 들어, 신호 또는 데이터에 대해 필터링, 스케일링, 변환 또는 이득 적용)은 신호 또는 데이터에 대한 직접 동작, 또는 신호 또는 데이터의 처리된 버전에 대한 동작(예를 들어, 동작 수행 전에 예비 필터링 또는 전처리를 거친 신호 버전에 대한)을 수행하는 것을 나타내는 넓은 의미로 사용된다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 표현 "시스템"은 디바이스, 시스템 또는 서브시스템을 나타내는 넓은 의미로 사용된다. 예를 들어, 인코딩을 구현하는 서브시스템은 인코더 시스템으로 지칭될 수 있으며 그러한 서브시스템을 포함하는 시스템(예를 들어, 다중 입력에 응답하여 X 출력 신호를 생성하는 시스템, 여기에서 서브시스템은 M 개의 입력을 생성하고 나머지 X-M 입력은 외부 소스에서 수신된다) 또한 인코더 시스템으로 지칭될 수 있다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 표현 "AV 비트스트림"은 비트스트림, 또는 비트스트림 세그먼트, 또는 둘 이상의 비트스트림 세그먼트(예를 들어, 전송 스트림 또는 적응 스트리밍 포맷에서 사용되는 비트스트림 세그먼트)를 표시하는 신호(또는 신호들)를 나타내며, 상기 비트스트림(또는 비트스트림 세그먼트(들))은 비디오 데이터 및/또는 인코딩된 오디오 데이터 및 일반적으로 또한 메타데이터를 포함한다. 표현 "AV 데이터"는 본원에서 때때로 이러한 비디오 데이터 및/또는 이러한 인코딩된 오디오 데이터를 나타내기 위해 사용된다. 일반적으로 전송 스트림은 인코딩된 오디오 데이터의 세그먼트(예를 들어, 패킷), 비디오 데이터의 세그먼트(예를 들어, 패킷) 및 메타데이터(예를 들어, 스플라이싱을 지원하는 메타데이터 포함)의 세그먼트(예를 들어, 헤더 또는 다른 세그먼트)의 시퀀스를 포함하는 직렬 비트스트림을 나타내는 신호이다. AV 비트스트림(예를 들어, 전송 스트림)은 다수의 프로그램을 나타낼 수 있고, 각 프로그램은 다수의 기본 스트림(예를 들어, 비디오 기본 스트림 및 둘 이상의 오디오 기본 스트림)을 포함할 수 있다. 일반적으로, 전송 스트림의 각 기본 스트림에는 기본 스트림과 관련된 정보를 포함하는 관련 기술자(descriptor)가 있다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 표현 "프로세서"는 데이터(예를 들어, 오디오 및/또는 비디오 또는 다른 이미지 데이터)에 대한 동작을 수행하기 위하여 (예를 들어, 소프트웨어 또는 펌웨어를 사용하여) 프로그래밍 가능하거나 다른 방식으로 구성할 수 있는 시스템 또는 디바이스를 나타내는 넓은 의미로 사용된다. 프로세서의 예는 현장 프로그래밍 가능 게이트 어레이(또는 다른 구성 가능한 집적 회로 또는 칩셋), 오디오 또는 다른 사운드 데이터에 대해 파이프라인 처리를 수행하도록 프로그래밍 및/또는 다른 방식으로 구성되는 디지털 신호 프로세서, 프로그래밍 가능 범용 프로세서 또는 컴퓨터, 및 프로그래밍 가능 마이크로프로세서 칩 또는 칩셋을 포함한다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 표현 "오디오/비디오 처리 유닛"(또는 "AV 처리 유닛" 또는 "AVPU") 및 "AV 프로세서"는 상호 교환적으로 사용되며, AV 비트스트림(또는 AV 비트스트림의 비디오 데이터 및/또는 인코딩된 오디오 데이터)을 처리하도록 구성되는 시스템을 나타내는 넓은 의미로 사용된다. AV 처리 유닛의 예는 인코더(예를 들어, 트랜스코더), 디코더, 코덱, NBMP 엔티티, 스플라이서, 전처리 시스템, 후처리 시스템 및 비트스트림 처리 시스템 (때로는 비트스트림 처리 도구로 지칭됨)을 포함하지만, 이에 제한되지 않는다. 일 예에서, AV 처리 유닛은 제1 전송 스트림의 아웃 포인트(out point)(즉, 시간)과 제2 전송 스트림 (제1 전송 스트림이거나 제1 전송 스트림이 아닌 다른 전송 스트림일 수 있음)의 인 포인트(in point)(즉, 다른 시간)을 결정하고, 스플라이싱된 전송 스트림(예를 들어, 아웃 포인트 이전에 발생하는 제1 비트스트림의 데이터와 인 포인트 이후에 발생하는 제2 비트스트림의 데이터를 포함하는 스플라이싱된 전송 스트림)을 생성하도록 구성되는 스플라이서이다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 표현 "메타데이터"는 대응하는 오디오 데이터 및/또는 비디오 데이터(메타데이터를 또한 포함하는 비트스트림의 오디오 및/또는 비디오 콘텐츠)와 별개의 상이한 데이터를 의미한다. 메타데이터는 오디오 및/또는 비디오 데이터("AV" 데이터)와 연관되며, AV 데이터의 적어도 하나의 특징 또는 특성(예를 들어, AV 데이터에 대하여 이미 수행되었거나 수행되어야 하는 처리 유형(들), 또는 AV 데이터의 오디오 데이터에 의해 표시되는 객체의 궤적(trajectory))을 나타낸다. 메타데이터와 AV 데이터의 연관은 시간 동기된다. 따라서, 현재 (가장 최근에 수신되거나 업데이트된) 메타데이터는 대응하는 AV 데이터가 동시에 표시된 특징을 갖거나 및/또는 표시된 유형의 오디오 및/또는 비디오 데이터 처리의 결과를 포함한다는 것을 나타낼 수 있다.
청구범위를 포함하여 본 개시 전체에 걸쳐, 용어 "연결하다" 또는 "연결된"은 직접 또는 간접 연결을 의미하는 데 사용된다. 따라서, 제1 디바이스가 제2 디바이스에 연결되면, 그 연결은 직접 연결을 통하거나, 다른 디바이스 및 연결을 통한 간접 연결을 통한 것일 수 있다.
예시적인 실시예의 상세한 설명
발명의 일부 실시예는 인코딩된 오디오 데이터의 I-프레임(오디오 I-프레임)과 동기화된 비디오 데이터의 I-프레임(비디오 I-프레임)을 포함하는 AV 비트스트림을 생성하는 방법 및 시스템이며, AV 비트스트림은 AV 비트스트림의 기본 스트림(예를 들어, 비디오 기본 스트림, 및 하나 이상의 대응하는 오디오 기본 스트림)의 세그먼트 사이의 정렬 문제에 대한 해결책을 제공한다. 예를 들어, 도 1의 콘텐츠 전달 네트워크의 NBMP 엔티티(12), 도 7의 시스템, 및 도 4의 제작 유닛(3) 각각은 이러한 AV 비트스트림을 생성하는 본 발명의 실시예에 따라 구성된 시스템이다.
일부 비디오 및 오디오 코덱 포맷에 따라 생성되며, 위에서 정의된 바와 같은 I-프레임인 독립적으로 디코딩 가능한 프레임은 "I-프레임"으로 (연관된 코덱 포맷의 공식적인 사양에서) 공식적으로 정의되거나 일반적으로 지칭되지 않을 수 있다(대신 다른 명칭, 예를 들어, IDR-프레임, IPF-프레임 또는 IF-프레임으로 지칭될 수 있다). 일부 코덱에서, 모든 비디오 프레임 및/또는 모든 오디오 프레임이 독립적으로 디코딩 가능하며, 이러한 프레임 각각은 "I-프레임"이다.
일부 경우에서, 오디오 P-프레임(예를 들어, 오디오 콘텐츠가 AC-4 인코딩된 오디오 데이터인 오디오 P-프레임)의 인코딩된 오디오 데이터는 P-프레임 내의 정보만을 사용하여 디코딩될 수 있지만, 재생 시에 디코딩된 오디오는, 일부 경우에서, 원래 인코딩 당시에 원래 의도한 대로 정확하게 들리지 않을 것이다. 일부 경우에서, P-프레임의 오디오 콘텐츠의 디코딩된 버전이 재생 시에 원래 의도한 대로 들리도록 하기 위하여, 이전 I-프레임으로부터의 메타데이터(예를 들어, 동적 범위 제어 메타데이터, 다운믹스 메타데이터, 음량 메타데이터, 스펙트럼 확장 메타데이터 또는 커플링 메타데이터)가 통상 디코딩 동안 사용할 수 있도록 (및 통상 사용될 수 있도록) 되어야 할 것이다.
일부 경우에서 P-프레임은 정확한 디코딩을 위해 이전 프레임에서 전송된 데이터를 지칭할 수 있다. 비디오 P-프레임은 전송된 데이터와 함께 이전 데이터를 사용하여 해당 비디오 프레임의 화상에 대한 예측 버전을 생성하고 해당 화상에 대한 차이만을 전송한다. 오디오 P-프레임은 이전 프레임으로부터 예측될 수 있는 매개변수의 차등 코딩, 예를 들어 AC-4의 ASPX 또는 ACPL의 패닝(panning) 데이터에서 사용되는 스펙트럼 포락선의 차등 코딩을 사용할 수 있다.
본원에서, 각각의 용어 (AV 비트스트림, 예를 들어, 전송 스트림, 또는 다른 비트스트림의) "적응", 및 (비트스트림에 대한) "적응" 수행은 비트스트림에 의해 표시되는 콘텐츠(예를 들어, 비트스트림에 의해 표시되는 프로그램의 하나 이상의 기본 스트림의 콘텐츠)에 대한 접근을 포함하여 비트스트림에 대한 임의의 동작을 수행하는 것을 나타내는 넓은 의미로 사용되며, 콘텐츠는 특정 시간(예를 들어, 본 발명의 실시예에 따른 비트스트림에 포함된 I-프레임의 시간)에 발생한다(대응한다). 비트스트림 적응의 예는: 적응적 비트율 스위칭(예를 들어, 비트스트림에서 특정 시간에, 비트스트림에 의해 표시되는 콘텐츠의 상이한 비트율 버전 사이에서 스위칭); 비트스트림의(에 의해 표시되는) 프로그램의 기본 스트림(오디오 기본 스트림, 또는 비디오 및 오디오 기본 스트림)의 정렬; 특정 시간에, 비트스트림에 의해 표시되는 프로그램을 (예를 들어, 다른 비트스트림으로 표시되는) 다른 프로그램과 스플라이싱; 특정 시간에, 비트스트림(또는 그 세그먼트)에 의해 표시되는 프로그램을 다른 프로그램과 연결; 또는 특정 시간에, 비트스트림(또는 그 세그먼트)에 의해 표시되는 프로그램의 재생 개시를 포함한다(그러나 이에 제한되지 않는다). 표현 (AV 비트스트림, 예를 들어, 전송 스트림, 또는 다른 비트스트림의) "적응 포인트"는 적응(예를 들어, 스위칭 또는 스플라이싱)이 적응 포인트에서 비트스트림에 대해 수행될 수 있도록 I-프레임이 발생하는(또는 비디오 I-프레임 및 적어도 하나의 대응하는 오디오 I-프레임이 발생하는) (예를 들어, 타임스탬프 값에 의해 표시되는) 비트스트림 내의 시간을 나타내는 넓은 의미로 사용된다.
AV 비트스트림(예를 들어, 전송 스트림)은 다수의 프로그램을 표시할 수 있다. 각 프로그램은 다수의 기본 스트림(예를 들어, 비디오 기본 스트림, 및 하나 이상의 인코딩된 오디오 기본 스트림)을 포함할 수 있다. 기본 스트림은 (비디오 데이터를 포함하는) 비디오 기본 스트림이거나 인코딩된 오디오 데이터(예를 들어, 오디오 인코더로부터 출력된 인코딩된 오디오 데이터)를 포함하는 (예를 들어, 비디오 기본 스트림에 대응하는) 오디오 기본 스트림일 수 있다.
발명의 실시예에 따른 방법 및 시스템이 MPEG-2 전송 스트림 포맷을 갖는 전송 스트림(또는 MPEG-DASH 또는 MMT에 따른 포맷, 또는 임의의 다른 특정 포맷을 갖는 AV 비트스트림)의 생성 및/또는 스플라이싱(또는 다른 적응), 또는 임의의 특정 포맷의 인코딩된 오디오 데이터를 포함하는 것에 제한되지 않지만, 일부 실시예는 그 오디오 프레임이 AC-4로 알려진 포맷(또는 MPEG-D USAC 또는 MPEG-H 오디오 포맷)으로 인코딩된 오디오 데이터를 포함하는 MPEG-2 전송 스트림(또는 MPEG-DASH 또는 MMT에 따른 포맷을 갖는 AV 비트스트림)의 생성 및/또는 적응(예를 들어, 스플라이싱)을 위한 방법 및 시스템이다. 이러한 각 AV 비트스트림(예를 들어, 비트스트림 세그먼트)이 비디오 데이터의 P-프레임과 I-프레임 및/또는 인코딩된 오디오 데이터의 P-프레임과 I-프레임을 포함하면, 발명의 다른 실시예에 따라 다른 포맷을 갖는 전송 스트림(또는 전송 스트림이 아닌 AV 비트스트림, 예를 들어, 적응 스트리밍 포맷을 갖거나 또는 스트리밍 방법 또는 프로토콜에서 사용되는 비트스트림 세그먼트)이 생성 및/또는 적응(예를 들어, 스위칭 또는 스플라이싱)될 수 있다. 발명의 전형적인 실시예의 부류에 따라 생성 및/또는 적응(예를 들어, 스플라이싱)된 AV 비트스트림(예를 들어, 전송 스트림)의 프레임(예를 들어, 오디오 프레임)은 일반적으로 메타데이터를 또한 포함한다.
MPEG-DASH로 알려진 적응 스트리밍 프로토콜은 HTTP 웹 서버를 사용하여 인터넷을 통해 미디어 콘텐츠 스트리밍을 허용한다. MPEG-DASH에 따르면, 미디어 프리젠테이션(Media Presentation)(또한 메타데이터를 포함함)의 미디어 콘텐츠는 세그먼트 시퀀스로 나누어진다. 세그먼트는 표현(각 표현은 세그먼트의 시퀀스를 포함하며, 예를 들어, 시퀀스는 도 5에 표시된 두 개의 "MPEG-DASH 세그먼트"를 포함함), 적응(각 적응은 표현 시퀀스를 포함함) 및 기간(각 기간은 적응 시퀀스를 포함함)으로 조직화된다. 미디어 프리젠테이션은 여러 기간을 포함할 수 있다.
미디어 프리젠테이션의 세그먼트가 임의의 미디어 데이터를 포함할 수 있지만, MPEG-DASH 사양(specification)은 ISO 기반 미디어 파일 포맷(예를 들어, MPEG-4 파일 포맷) 또는 MPEG-2 전송 스트림 포맷의 두 가지 유형의 미디어 데이터 컨테이너와 함께 사용하기 위한 안내 및 포맷을 제공한다. 따라서, 일부 경우에서, MPEG-DASH 포맷을 갖는 미디어 콘텐츠(및 메타데이터)는 단일 비트스트림이 아니라 MPEG-4 파일의 시퀀스로 전달될 수 있다.
MPEG-DASH는 오디오/비디오 코덱에 구애받지 않는다(agnostic). 따라서, MPEG-DASH 미디어 프리젠테이션의 미디어 콘텐츠는 하나의 오디오 인코딩 포맷에 따라 인코딩된, 인코딩된 오디오 콘텐츠(예를 들어, AC-4 인코딩된 오디오 콘텐츠) 및 다른 오디오 인코딩 포맷에 따라 인코딩된 추가 인코딩된 오디오 콘텐츠, 및 하나의 비디오 인코딩 포맷에 따라 인코딩된 비디오 콘텐츠, 및 다른 비디오 인코딩 포맷에 따라 인코딩된 추가 비디오 콘텐츠를 포함할 수 있다.
MPEG-DASH 포맷을 갖는 데이터는 멀티미디어 파일의 하나 이상의 표현(예를 들어, 상이한 해상도 또는 비트율을 갖는 버전)을 포함할 수 있다. 이러한 표현들 사이의 선택은 네트워크 조건, 디바이스 성능, 및 사용자 선호에 기반하여 구현될 수 있으며, 따라서 적응 비트율 스트리밍을 가능하게 한다.
도 5는 MPEG-DASH 적응 스트리밍 포맷을 갖는 (본원에서 정의되는 바와 같은) AV 비트스트림의 일 세그먼트의 예를 나타내는 도면이다. AV 비트스트림(또는 도 5에 나타난 그 세그먼트)이 (예를 들어, 단일 비트율을 갖는) 단일 비트스트림으로 전달되지 않을 수 있지만, AV 비트스트림(및 도 5에 나타난 그 세그먼트)는 본원에서 정의되는 바와 같은 "AV 비트스트림"의 예이다. 도 5에 나타난 세그먼트의 미디어 콘텐츠는 AC-4 인코딩 표준에 따라 AC-4 오디오 프레임의 시퀀스로서 인코딩되는, 인코딩된 오디오 데이터, 및 비디오 프레임의 시퀀스로서 인코딩되는 대응하는 비디오 콘텐츠를 포함한다. AC-4 오디오 프레임은 오디오 I-프레임(예를 들어, AC-4 프레임 1, 및 AC-4 프레임 7) 및 오디오 P-프레임(예를 들어, AC-4 프레임 2)을 포함한다. 비디오 프레임은 비디오 I-프레임(예를 들어, 비디오 프레임 1, 및 비디오 프레임 5) 및 비디오 P-프레임을 포함한다. 도 5에서, "P"("예측" 인코딩을 표시함) 또는 "B"("양방향 예측" 인코딩을 표시함)로 라벨링된 각 비디오 프레임은 본원에서 정의되는 바와 같은 비디오 "P-프레임"이다. 도 5의 비디오 P-프레임은 비디오 프레임 2 및 비디오 프레임 3을 포함한다.
도 5의 각 비디오 I-프레임은 대응하는 오디오 I-프레임과 정렬된다(예를 들어, 오디오 I-프레임인 AC-4 프레임 7은 비디오 I-프레임인 비디오 프레임 5와 정렬된다). 따라서, (도 5의 AV 비트스트림의) GOP 1(GOP는 "화상 그룹(group of pictures)"을 표시함), GOP 2, GOP 3, 및 GOP 4로 라벨링된 각 세그먼트는 AV 비트스트림의 (본원에서 정의되는 바와 같은) "적응 포인트"인 시간에 시작한다. 따라서, 적응(예를 들어, 스위칭)은 이러한 임의의 적응 포인트에 AV 비트스트림에 대해 원활하게 수행될 수 있다. 세그먼트 GOP 1 및 GOP 2는 함께 AV 비트스트림의 더 긴 세그먼트("MPEG-DASH 세그먼트 1"로 라벨링됨)에 대응하며, 세그먼트 GOP 3 및 GOP 4는 함께 AV 비트스트림의 더 긴 세그먼트("MPEG-DASH 세그먼트 2"로 라벨링됨)에 대응하고, 이들 더 긴 세그먼트 각각이 또한 적응 포인트에 시작한다.
MPEG-2 전송 스트림 포맷은 비디오 데이터, 인코딩된 오디오 데이터, 및 관련된 데이터의 전송 및 저장을 위한 표준 포맷이다. MPEG-2 전송 스트림 포맷은 MPEG-2 파트 1, 시스템(ISO/IEC 표준 13818-1 또는 ITU-T 권고 H.222.0)으로 알려진 표준에 지정되어 있다. MPEG-2 전송 스트림은 패킷화된 기본 스트림을 캡슐화하는 지정된 컨테이너 포맷을 갖는다.
MPEG-2 전송 스트림은 오디오 및 비디오 콘텐츠를, 예를 들어, DVB(Digital Video Broadcasting) 또는 ATSC(Advanced Television Systems Committee) TV 방송 형식으로 방송하는 데에 일반적으로 사용된다. 두 MPEG-2 전송 스트림 사이에서 스플라이스를 구현하는 것이 종종 바람직하다.
MPEG-2 전송 스트림은 패킷 내에 기본 스트림(예를 들어, 비디오 인코더로부터 출력된 비디오 데이터의 기본 스트림 및 오디오 인코더로부터 출력된 인코딩된 오디오 데이터의 적어도 하나의 대응하는 기본 스트림)을 전달한다(즉, 이를 나타내는 데이터를 포함한다). 각 기본 스트림은 기본 스트림으로부터의 순차 데이터 바이트를 패킷화된 기본 스트림("PES") 패킷 헤더를 갖는 PES 패킷 내로 캡슐화함으로써 패킷화된다. 일반적으로, (비디오 및 오디오 인코더로부터 출력된) 기본 스트림 데이터는 PES 패킷으로 패킷화되고, 다음 PES 패킷이 전송 스트림(TS) 패킷 내로 캡슐화되고, 그런 다음, TS 패킷이 다중화되어 전송 스트림을 형성한다. 일반적으로, 각 PES 패킷은 TS 패킷 시퀀스로 캡슐화된다. PES 패킷은 오디오 또는 비디오 프레임(예를 들어, 메타데이터 및 인코딩된 오디오 데이터를 포함하는 오디오 프레임, 또는 메타데이터 및 비디오 데이터를 포함하는 비디오 프레임)을 표시할 수 있다.
오디오 프레임을 나타내는 (전송 스트림의) TS 패킷 시퀀스의 적어도 하나의(하나 이상의) TS 패킷이 프레임의 오디오 콘텐츠를 디코딩하는 데 필요한 메타데이터를 포함할 수 있다. 오디오 I-프레임을 나타내는 적어도 하나의(하나 이상의) TS 패킷이 프레임의 오디오 콘텐츠를 독립적으로 디코딩하기에 충분한 메타데이터를 포함한다. 오디오 P-프레임을 나타내는 적어도 하나의(하나 이상의) TS 패킷이 프레임의 오디오 콘텐츠를 디코딩하는 데 필요한 메타데이터를 포함하지만, 프레임의 오디오 콘텐츠를 디코딩하기 위해서는 일반적으로 (이전 I-프레임의) 추가 메타데이터가 또한 필요하다.
MPEG-2 전송 스트림은 하나 이상의 오디오/비디오 프로그램을 표시할 수 있다. 각 단일 프로그램은 고유한 식별 값(PID)을 갖는 프로그램 맵 테이블(PMT)에 의해 기술되며, 해당 프로그램과 연관된 기본 스트림(들)은 PMT 내에 열거된 PID를 갖는다. 예를 들어, 전송 스트림은 세 개의 텔레비전 프로그램을 표시할 수 있으며, 각 프로그램은 상이한 텔레비전 채널에 대응한다. 이 예에서, 각 프로그램(채널)은 한 개의 비디오 기본 스트림 및 몇몇(예를 들어, 한 개 또는 두 개의) 인코딩된 오디오 기본 스트림, 및 임의의 필수적인 메타데이터로 구성될 수 있다. 특정 프로그램(채널)을 디코딩하고자 하는 수신기는 프로그램과 연관된 PID를 갖는 각 기본 스트림의 페이로드를 디코딩한다.
MPEG-2 전송 스트림은 통상 프로그램 연결 테이블(PAT), 각 프로그램에 대한 프로그램 맵 테이블(PMT), 접근 제어 테이블(CAT), 및 네트워크 정보 테이블(NIT)의 네 개의 PSI 테이블을 나타내는 데이터를 포함하는 프로그램 지정 정보(PSI)를 포함한다. 프로그램 연결 테이블은 전송 스트림에 의해 표시된(이에 포함된) 모든 프로그램을 열거하고, 각 프로그램은 그 프로그램 맵 테이블 (PMT)에 대한 PID의 연관된 값을 갖는다. 프로그램에 대한 PMT는 프로그램의 각 기본 스트림을 열거하고, 프로그램에 대한 다른 정보를 나타내는 데이터를 포함한다.
MPEG-2 전송 스트림은 전송 스트림의 프로그램의 별도의 기본 스트림(예를 들어, 비디오 및 인코딩된 오디오 스트림)의 동기화를 달성하기 위하여 사용되는 프리젠테이션 타임스탬프("PTS") 값을 포함한다. PTS 값은 프로그램의 전체 클록 기준에 관련된 단위로 주어지며, 이는 또한 전송 스트림 내에서 전송된다. (PES 패킷에 의해 표시되는) 오디오 또는 비디오 프레임을 포함하는 모든 TS 패킷은 동일한 PTS (타임스탬프) 값을 갖는다.
AV 비트스트림(예를 들어, MPEG-2 전송 스트림 또는 MPEG-DASH 포맷을 갖는 AV 비트스트림)은 인코딩된 오디오 데이터(통상 오디오 콘텐츠의 하나 이상의 채널을 표시하는 압축된 오디오 데이터), 비디오 데이터, 및 인코딩된 오디오(또는 인코딩된 오디오 및 비디오) 콘텐츠의 적어도 하나의 특성을 표시하는 메타데이터를 포함할 수 있다. 발명의 실시예가 오디오 콘텐츠가 AC-4 포맷에 따라 인코딩된 오디오 데이터("AC-4 인코딩된 오디오 데이터")인 AV 비트스트림(예를 들어, 전송 스트림)의 생성으로 제한되지는 않지만, 전형적인 실시예는 AC-4 인코딩된 오디오 데이터를 포함하는 AV 비트스트림(예를 들어, 적응 스트리밍 포맷에서 사용되는 비트스트림 세그먼트)의 생성 및/또는 적응을 위한 방법 및 시스템이다.
오디오 데이터 인코딩을 위한 AC-4 포맷은 공지되어 있으며, "ETSI TS 103 190 V1.1.1 (2014-04), 디지털 오디오 압축(AC-4) 표준"이라는 제목의 문서로 2014년 4월 발표되었다.
MPEG-2 전송 스트림은 오디오 및 비디오 콘텐츠를, 예를 들어, DVB(Digital Video Broadcasting) 또는 ATSC(Advanced Television Systems Committee) TV 방송 형식으로 방송하는 데에 일반적으로 사용된다. 때로는 두 MPEG-2 (또는 다른) 전송 스트림 사이에서 스플라이스를 구현하는 것이 바람직하다. 예를 들어, 제1 전송 스트림의 두 세그먼트 사이에 광고(예를 들어, 다른 스트림의 세그먼트)를 삽입하기 위하여 송신기에서 제1 전송 스트림 내에 스플라이스를 구현하는 것이 바람직할 수 있다. 전송 스트림 스플라이서로 알려진 종래의 시스템이 이러한 스플라이싱을 수행하기 위하여 사용될 수 있다. 종래의 스플라이서의 정교함은 다양하며, 종래의 전송 스트림은 스플라이서가 일반적으로 스플라이스를 수행하기 위하여 내부에 포함된 모든 코덱을 인식하고 이해할 수 있다는(즉, 비디오 및 인코딩된 오디오 콘텐츠, 및 메타데이터를 파싱할 수 있다는) 가정으로 생성된다. 이로 인하여 스플라이스 구현에 오류가 발생할 여지가 많고 (전송 스트림 또는 다른 AV 비트스트림을 생성하기 위하여 다중화를 수행하는) 다중화기와 스플라이서 사이의 상호 운용성에 많은 문제가 발생한다.
본 발명의 전형적인 실시예는 (오디오 및 비디오를 포함하는) 미디어 콘텐츠를 최종 사용자에게 전달하도록 구성되는 네트워크 요소(예를 들어, 콘텐츠 전달 네트워크 또는 "CDN") 내에 포함될 수 있다. 네트워크 기반 미디어 처리(NBMP)는 서비스 제공자 및 최종 사용자가 이러한 네트워크에 의해 수행되는 미디어 처리 동작을 기술할 수 있도록 하는 프레임워크이다. NBMP의 예는 개발중인 MPEG-I 파트 8, 네트워크 기반 미디어 처리 프레임워크이다. 발명 장치의 일부 실시예는 발명의 실시예에 따라 (예를 들어, 선택적으로 네트워크 및/또는 다른 제약조건에 따른 방식으로 AV 비트스트림에 I-프레임을 삽입하거나 AV 비트스트림으로부터 I-프레임을 제거하기 위하여) 프로그래밍되거나 또는 다른 방식으로 구성되는 NBMP 엔티티(예를 들어, CDN 서버이거나 이에 포함될 수 있는 MPEG NBMP 엔티티)로 구현될 것으로 고려된다. NBMP는 네트워크 기반 미디어 처리 기능의 집합으로 네트워크 기반 미디어 처리 서비스의 구성을 기술하고 응용 프로그래밍 인터페이스(API)를 통해 이들 네트워크 기반 미디어 처리 서비스에 접근할 수 있도록 한다. NBMP 미디어 처리 엔티티(NBMP 엔티티)는 입력되는 미디어 데이터(및 관련 메타데이터)에 대해 미디어 처리 작업을 수행한다. NBMP는 또한 미디어 처리를 조직하고 구성하는 데 사용되는 제어 기능을 제공한다.
도 1은 NBMP 엔티티(12)가 적어도 하나의 재저작된 프레임을 포함하는 AV 비트스트림을 생성(및 재생 디바이스(16)로 전달)하는, 발명의 실시예에 따라 구성되는 콘텐츠 전달 네트워크의 블록도이다. 전형적인 실시예에서, AV 비트스트림은 적어도 하나의 오디오/비디오 프로그램("프로그램")을 표시하며 (이에 따라 표시되는 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터 프레임 및 (적어도 하나의 오디오 기본 스트림을 결정하는) 대응하는 인코딩된 오디오 데이터 프레임을 포함한다. 비디오 데이터 프레임은 비디오 데이터의 I-프레임(비디오 I-프레임) 및 비디오 데이터의 P-프레임(비디오 P-프레임)을 포함하고, 인코딩된 오디오 데이터 프레임은 인코딩된 오디오 데이터의 I-프레임(오디오 I-프레임) 및 인코딩된 오디오 데이터의 P-프레임(오디오 P-프레임)을 포함한다. AV 비트스트림의 적어도 하나의 프레임(적어도 하나의 비디오 프레임 및/또는 적어도 하나의 오디오 프레임)은 엔티티(12)에 의해 (재저작된 I-프레임 또는 재저작된 P-프레임으로) 재저작되어 재저작된 프레임을 포함하는 콘텐츠 세그먼트가 I-프레임으로 시작하고 적어도 하나의 후속 P-프레임을 포함한다. 일부 실시예에서, AV 비트스트림의 적어도 하나의 오디오 프레임(그러나 비디오 프레임은 아님)은 엔티티(12)에 의해 (재저작된 오디오 I-프레임 또는 재저작된 오디오 P-프레임으로) 재저작되어 재저작된 프레임을 포함하는 오디오 콘텐츠 세그먼트가 (대응하는 비디오 콘텐츠 세그먼트의 비디오 I-프레임과 정렬된) 오디오 I-프레임으로 시작하고 적어도 하나의 후속 오디오 P-프레임을 포함한다.
도 1에서, 비트스트림 소스(10)는 (비디오 데이터 및 대응하는 메타데이터의) 비디오 프레임 및 (예를 들어, AC-4 포맷과 같은 오디오 포맷과 호환되는 인코딩된 오디오 데이터 및 메타데이터의) 오디오 프레임을 포함하는 입력 AV 비트스트림(예를 들어, 표준 호환 전송 스트림, 예를 들어, MPEG 표준의 버전, 예를 들어, MPEG-2 표준과 호환되는 전송 스트림, 또는 다른 전송 스트림, 또는 전송 스트림이 아닌 입력 AV 비트스트림)을 생성하도록 구성된다. 소스(10)의 일부 구현에서, 입력 AV 비트스트림은 종래의 방식으로 생성된다. 다른 구현에서, 소스(10)는 (적어도 하나의 프레임 재저작을 포함하는) 발명의 AV 비트스트림 생성 방법의 실시예에 따라 입력 AV 비트스트림을 생성한다.
도 1 시스템의 많은 구현(및 그에 대한 변형)이 고려됨을 이해하여야 한다. 예를 들어, 일부 구현에서, 요소 10, 12, 14 및 16은 (상이한 위치에서) 네트워크에 연결된 상이한 디바이스 또는 시스템으로 구현된다. 하나의 이러한 구현에서, 소스(10)(또는 이에 연결된 디바이스 또는 서브시스템)은 상기 소스(10)에 의해 생성된 콘텐츠(예를 들어, 인코딩된 오디오 데이터, 또는 비디오 데이터 및 인코딩된 오디오 데이터의 양자) 및 메타데이터를 네트워크를 통해 (예를 들어, NBMP 엔티티(12)로) 전달하기 위하여 (예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림으로) 패키징하도록 구성되고, NBMP 엔티티(12)(또는 이에 연결된 디바이스 또는 서브시스템)는 상기 엔티티(12)에 의해 생성된 (적어도 하나의 재저작된 프레임을 포함하는) 콘텐츠(예를 들어, 인코딩된 오디오 데이터, 또는 비디오 데이터 및 인코딩된 오디오 데이터의 양자) 및 메타데이터를 네트워크를 통해 (예를 들어, 재생 디바이스(16)로) 전달하기 위하여 (예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림으로) 패키징하도록 구성된다.
다른 예를 들면, 일부 구현에서, 요소 10 및 12, 및 선택적으로 또한 14도 네트워크에 연결된 단일 디바이스 또는 시스템(예를 들어, 도 3의 제작 유닛(3)의 기능을 수행하는 제작 유닛)으로 구현된다. 이러한 하나의 구현에서, 소스(10)는 콘텐츠(예를 들어, 인코딩된 오디오 데이터, 또는 비디오 데이터 및 인코딩된 오디오 데이터의 양자) 및 메타데이터를 포함하는 프레임을 NBMP 엔티티(12)로 제공하도록 구성되고, NBMP 엔티티(12)는 적어도 하나의 프레임을 (발명의 실시예에 따라) 재저작하여 수정된 프레임 세트를 생성하도록 구성되고, NBMP 엔티티(12)(또는 이에 연결된 서브시스템)는 수정된 프레임 세트를 네트워크를 통해 (예를 들어, 재생 디바이스(16)로) 전달하기 위하여 (예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림으로) 패키징하도록 구성된다.
다른 예를 들면, 요소 10, 12 및 14는 발명의 실시예에 따라 인코딩된 오디오 데이터를 포함하는 적어도 하나의 프레임을 (요소 12에서) 재저작하여 포함하는 오디오 콘텐츠(및 대응하는 메타데이터)만을 생성하고 처리하도록 구성된다. 비디오 처리 서브시스템(도 1에 미도시)가 선택적으로 사용되어, 예를 들어, 발명의 실시예에 따른 비디오 데이터를 포함하는 적어도 하나의 프레임을 재저작하여 포함하는 비디오 콘텐츠(및 대응하는 메타데이터)만을 생성하고 처리한다. 디바이스 또는 서브시스템이 요소(12)에(및 비디오 처리 서브시스템에) 연결될 수 있고, 요소 10, 12 및 14(및 비디오 처리 요소)에 의해 생성된 프레임(각 재저작된 프레임 포함)을, 예를 들어, 네트워크를 통해 (예를 들어, 재생 디바이스(16)로) 전달하기 위하여 (예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림으로) 패키징하도록 구성될 수 있다.
일부 구현에서, NBMP 엔티티(14)는 생략된다(그리고 엔티티(14)에 의해 구현되는 기술된 기능은 대신 NBMP 엔티티(12)에 의해 수행된다).
제1 예시적인 실시예에서, NBMP 엔티티(12)는 오디오 처리(오디오 프레임 재저작을 포함함) 및 비디오 처리(비디오 프레임 재저작을 포함함) 양자를 수행하도록 구성되는 단일 디바이스로 구현될 수 있으며, 이 디바이스에 연결된 제2 NBMP 엔티티가 엔티티(12)의 오디오 출력(예를 들어, 원시 AC-4 비트스트림 또는 다른 데이터 스트림) 및 엔티티(12)의 비디오 출력 양자를 AV 비트스트림(예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림)으로 패키징할 수 있다. 제2 예시적인 실시예에서, NBMP 엔티티(12)는 제1 예시적인 실시예에서 엔티티(12) 및 제2 NBMP 엔티티 양자의 기능을 수행하도록 구성되는 단일 디바이스로 구현될 수 있다. 제3 예시적인 실시예에서, NBMP 엔티티(12)는 오디오 처리(오디오 프레임 재저작을 포함함)를 수행하도록 구성되는 제1 디바이스로 구현되고, 다른 NBMP 엔티티는 비디오 처리(비디오 프레임 재저작을 포함함)를 수행하도록 구성되는 제2 디바이스로 구현되며, 이러한 디바이스 양자에 연결된 제3 NBMP 엔티티가 제1 디바이스의 오디오 출력(예를 들어, 원시 AC-4 비트스트림 또는 다른 데이터 스트림) 및 제2 디바이스의 비디오 출력을, AV 비트스트림(예를 들어, MPEG-DASH, 또는 HLS, 또는 MMT에 따른 포맷, 또는 다른 적응 스트리밍 포맷 또는 방법/프로토콜을 갖는 AV 비트스트림)으로 패키징할 수 있다.
일부 구현에서, 소스(10) 및 NBMP 엔티티(12)(또는 소스(10), NBMP 엔티티(12) 및 엔티티(12)의 출력을 AV 비트스트림으로 패키징하도록 구성되는 패키징 시스템)가 인코딩/패키징 설비에서 구현되고 엔티티(12)(또는 이에 연결된 패키징 시스템)가 AV 비트스트림을 출력하도록 구성되며, 재생 디바이스(16)는 이 설비로부터 원격에 위치한다. 일부 다른 구현에서, 소스(10)(및 소스(10)의 출력을 AV 비트스트림으로 패키징하도록 연결되고 구성되는 패키징 시스템)가 인코딩/패키징 설비에서 구현되고, NBMP 엔티티(12) 및 재생 디바이스(16)는 원격 재생 위치에서 함께 위치하여 NBMP(12)가 인코딩/패키징 설비로부터 재생 위치로 전달된 AV 비트스트림에 응답하여 적어도 하나의 재저작된 프레임을 포함하는 AV 비트스트림을 생성하도록 연결되고 구성된다. 이들 구현 중 임의의 것에서, NBMP 엔티티(14)는 NBMP 엔티티(12)로부터 원격인 위치, 또는 NBMP(12)와 동일한 위치에 구현될 수 있으며, 또는 엔티티(14)가 생략될 수 있다(그리고 엔티티(12)는 엔티티(14)의 기술된 기능을 수행하도록 구현될 수 있다. 도 1 시스템에 대한 다른 변형은 발명의 다른 실시예를 구현할 수 있다.
다음으로, 도 1의 시스템의 예시적인 구현을 더 상세히 설명한다.
일반적으로, 소스(10)에 의해 생성된 입력 AV 비트스트림은 적어도 하나의 오디오/비디오 프로그램("프로그램")을 나타내며, (이에 따라 표시되는 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터 프레임 및 비디오 데이터에 대응하는 (적어도 하나의 오디오 기본 스트림을 결정하는) 인코딩된 오디오 데이터 프레임을 포함한다. 입력 AV 비트스트림은 비디오 데이터를 포함하는 I-프레임(비디오 I-프레임), 인코딩된 오디오 데이터를 포함하는 I-프레임(오디오 I-프레임), 비디오 데이터를 포함하는 P-프레임(비디오 P-프레임), 및 인코딩된 오디오 데이터를 포함하는 I-프레임(오디오 P-프레임)의 시퀀스를 포함할 수 있으며, 또는 비디오 I-프레임 및 비디오 P-프레임의 시퀀스, 및 오디오 I-프레임의 시퀀스를 포함할 수 있다. 입력 AV 비트스트림의 오디오 I-프레임은 제1 속도(rate)로(예를 들어, 도 1에 표시된 바와 같이, 각 시간 간격 X당 한 번) 발생할 수 있다.
입력 AV 비트스트림은 세그먼트 경계에서(예를 들어, 오디오 I-프레임에 의해 표시되는, 적어도 하나의 오디오 기본 스트림의 각각의 대응하는 오디오 콘텐츠의 세그먼트 시작과 시간 정렬된, 비디오 I-프레임에 의해 표시되는 비디오 기본 스트림의 비디오 콘텐츠의 세그먼트 시작에서) 원활한 적응(예를 들어, 스플라이싱 또는 스위칭)을 가능하게 하기 위하여 AV 비트스트림의 콘텐츠(오디오 콘텐츠 또는 비디오 콘텐츠)의 각 세그먼트가 I-프레임으로 시작하여야 하는 패키징된 미디어 전달 포맷(예를 들어, MPEG-DASH, HLS, 또는 MMT 방법/프로토콜에 따른 것, 또는 MPEG-2 전송 스트림 포맷과 같은 그러나 이에 제한되지는 않는 표준화된 포맷) 을 가질 수 있다. 일부 경우에서, 입력 AV 비트스트림의 오디오 콘텐츠가 입력 AV 비트스트림의 대응하는 비디오 콘텐츠와 시간 정렬된다. 일부 다른 경우에서, 비디오 I-프레임이 스트림 내에서 한 번 발생하지만 (예를 들어, 타임스탬프 값에 의해 표시된 바와 같이) 스트림 내에서 같은 시간에 오디오 I-프레임이 발생하지 않거나, 오디오 I-프레임이 스트림 내에서 한 번 발생하지만 (예를 들어, 타임스탬프 값에 의해 표시된 바와 같이) 스트림 내에서 같은 시간에 비디오 I-프레임이 발생하지 않는다는 의미에서 입력 AV 비트스트림의 오디오 콘텐츠가 입력 AV 비트스트림의 대응하는 비디오 콘텐츠와 시간 정렬되지 않을 수 있다. 예를 들어, 스트림의 오디오 콘텐츠가 오디오 I-프레임만으로 구성될 수 있다(예를 들어, 발명의 AV 비트스트림 생성 방법 실시예의 이하에 설명되는 제2 부류의 실시예에 따라 NBMP 엔티티(12)가 입력 AV 비트스트림에 응답하여 전송 스트림 또는 다른 AV 비트스트림을 생성하도록 구성되는 경우).
소스(10)로부터 출력된 입력 AV 비트스트림은 도 1 네트워크를 통해, CDN 서버로 구현될 수 있는(또는 이에 포함될 수 있는) 네트워크 기반 미디어 처리 (NBMP) 엔티티(12)로 전달된다. 일부 실시예에서, NBMP 엔티티(12)는 표준화된 포맷에 따라 구현되는 것으로 고려된다. 일 예에서, 이러한 표준은 MPEG 호환 표준일 수 있으며, NMBP 엔티티(12)는, 예를 들어, MPEG-I 파트 8, 네트워크 기반 미디어 처리 프레임워크 또는 이 프레임워크의 임의의 다른 장래의 버전에 따라 MPEG NBMP 엔티티로 구현될 수 있다. NBMP 엔티티(12)는 입력 AV 비트스트림을 수신하도록 연결되는 입력(12A), 입력(12A)에 연결되는 버퍼(12B), 버퍼(12B)에 연결되는 처리 서브시스템(12C), 및 서브시스템(12C)에 연결되는 패키징 서브시스템(12D)을 갖는다. 입력(12A)으로 전달된 AV 비트스트림의 세그먼트는 버퍼(12B) 내에 버퍼링된다(비일시적인 방식으로 저장된다). 버퍼링된 세그먼트는 버퍼(12B)로부터 처리 서브시스템(12C) (프로세서)으로 어서트된다(assert). 서브시스템(12C)은 네트워크 및/또는 다른 제약조건에 따른 방식으로 입력 AV 비트스트림의 적어도 하나의 프레임의 재저작(이에 따라 적어도 하나의 재저작된 프레임 생성)을 수행하고 입력 AV 비트스트림의 수정하지 않은 임의의 미디어 콘텐츠 및 메타데이터가 서브시스템(12D)으로 지나가도록 발명의 실시예에 따라 프로그래밍(또는 다른 방식으로 구성)된다. 서브시스템(12C)으로부터 출력된 미디어 콘텐츠 및 메타데이터(예를 들어, 입력 AV 비트스트림의 원본 프레임 및 서브시스템(12C)에서 생성된 각 재저작된 프레임)는 AV 비트스트림으로 패키징하기 위해 패키징 서브시스템(12D)으로 제공된다. 서브시스템(12D)은 각각의 상기 재저작된 프레임을 포함(예를 들어, AV 비트스트림 내로 적어도 하나의 재저작된 I-프레임 삽입, 및/또는 입력 AV 비트스트림의 적어도 하나의 I-프레임을 재저작된 P-프레임으로 대체에 의하여 포함)하도록 (재생 디바이스(16)로 전달될) AV 비트스트림을 생성하고, AV 비트스트림이 필요한 포맷(예를 들어, MPEG-DASH 포맷)을 갖고 생성되는 데 필요한 임의의 다른 패키징(임의의 필요한 메타데이터 생성 포함)을 수행하도록 프로그래밍(또는 다른 방식으로 구성)된다. 네트워크 제약조건(및/또는 다른 제약조건)은 다른 NBMP 엔티티(예를 들어, 도 1의 NBMP 엔티티(14))로부터 도 1 네트워크를 통해 NBMP 엔티티(12)로 전달되는 제어 비트에 의해 표시된다. 이러한 제약조건의 예(예를 들어, 네트워크를 통한 비트스트림 전달을 위해 사용 가능한 비트율을 나타내는 제약조건)는 이하에서 기술된다. NBMP 엔티티(12)는 엔티티(14)로부터 전달된 제어 비트에 의해 제약되는 방식으로, 발명의 방법의 구현되는 실시예를 수행하기 위해 필요한 미디어 처리 동작(프레임 재저작 포함)을 조직하고 구성하는 제어 기능을 수행하도록 구성된다.
도 1의 소스(10), NBMP 엔티티(12), NBMP 엔티티(14) 및 재생 디바이스(16)의 각각은 본원에서 정의된 바와 같은 오디오/비디오 처리 유닛("AVPU")이다. 소스(10), NBMP 엔티티(12) 및 재생 디바이스(16)의 각각은 이에 의해 생성되거나 이로 제공된 AV 비트스트림에 대해 적응(예를 들어, 스위칭 또는 스플라이싱)을 수행하여, 이에 따라 적응된 AV 비트스트림을 생성하도록 구성될 수 있다. 소스(10), NBMP 엔티티(12), NBMP 엔티티(14) 및 재생 디바이스(16) 각각의 실시예는 버퍼 메모리 및 버퍼 메모리에 연결된 적어도 하나의 오디오/비디오 처리 서브시스템을 포함하며, 버퍼 메모리는 AV 비트스트림을 생성하는 발명의 방법의 실시예에 의해 생성된 AV 비트스트림의 적어도 하나의 세그먼트를 비일시적 방식으로 저장한다.
NBMP 엔티티(12)는 발명의 AV 비트스트림 생성 방법의 실시예에 따라 (소스(10)로부터 전달된 입력 AV 비트스트림에 응답하여) AV 비트스트림을 생성하고, 재생 디바이스(16)로 생성된 AV 비트스트림을 전달(예를 들어, 네트워크를 통한 전달을 위하여 네트워크로 어서트)하도록 연결되고 구성된다. 재생 디바이스(16)는 AV 비트스트림의 오디오 및/또는 비디오 콘텐츠의 재생을 수행하도록 구성된다. 재생 디바이스(16)는 입력(16A), 입력(16A)에 연결되는 버퍼(16B), 및 버퍼(16B)에 연결되는 처리 서브시스템(16C)을 포함한다. 입력(16A)으로 전달된 AV 비트스트림의 세그먼트는 버퍼(16B)에 버퍼링된다(비일시적 방식으로 저장된다). 버퍼링된 세그먼트는 버퍼(16B)로부터 처리 서브시스템(16C)(프로세서)으로 어서트된다. 서브시스템(16C)은 AV 비트스트림을 파싱하고 AV 비트스트림의 인코딩된 오디오 콘텐츠 및/또는 인코딩된 비디오 콘텐츠에 대한 임의의 필요한 디코딩을 수행하도록 구성되며, 재생 디바이스(16)는 AV 비트스트림의 파싱된(또는 파싱되고 디코딩된) 비디오 콘텐츠를 표시하기 위한 디스플레이를 포함할 수 있다. 재생 디바이스(16)(예를 들어, 서브시스템(16C) 또는 도 1에 구체적으로 도시되지 않은 디바이스(16)의 다른 서브시스템)는 또한 적어도 하나의 스피커 피드를 생성하기 위하여 AV 비트스트림의 파싱된(및 디코딩된) 오디오 콘텐츠를 렌더링하도록 구성될 수 있으며, 선택적으로 이러한 스피커 피드 각각에 응답하여 사운드를 방출하는 적어도 하나의 스피커를 포함한다.
언급한 바와 같이, 재생 디바이스(16)의 일부 구현은 발명의 실시예에 따라 생성된 AV 비트스트림의 오디오 및/또는 비디오 콘텐츠를 디코딩하도록 구성된다. 따라서, 디바이스(16)의 이들 구현은 발명의 실시예에 따라 생성된 AV 비트스트림의 오디오 및/또는 비디오 콘텐츠를 디코딩하도록 구성되는 디코더의 예이다.
일반적으로, NBMP 엔티티(12)로부터 출력되는 AV 비트스트림은 AV 비트스트림의 콘텐츠(오디오 콘텐츠 또는 비디오 콘텐츠)의 각 세그먼트가 I-프레임으로 시작하여야 하는 패키징된 미디어 전달 포맷(예를 들어, MPEG-DASH, HLS 또는 MMT 방법/프로토콜에 따른 포맷, 또는 MPEG-2 전송 스트림 포맷)을 갖는다. 일반적으로, AV 비트스트림의 비디오 기본 스트림의 비디오 콘텐츠의 각 세그먼트는, (AV 비트스트림의 적어도 하나의 오디오 기본 스트림 각각의) 대응하는 오디오 콘텐츠의 적어도 하나의 세그먼트의 (발명의 실시예에 따라 생성된 재저작된 오디오 I-프레임일 수 있는 오디오 I-프레임에 의해 표시되는) 시작과 시간 정렬된, (발명의 실시예에 따라 생성된 재저작된 비디오 I-프레임일 수 있는) 비디오 I-프레임으로 시작한다.
예를 들어, 일부 실시예에서, 엔티티(12)는 필요에 따라 입력 AV 비트스트림의 오디오 P-프레임을 오디오 I-프레임으로 재저작하도록 구성된다. 예를 들어, 엔티티(12)는 입력 AV 비트스트림에서 비디오 I-프레임을 식별하고 비디오 I-프레임과 시간 정렬된 오디오 I-프레임이 필요하다고 결정할 수 있다. 이 경우, 엔티티(12)는 입력 AV 비트스트림의 (비디오 I-프레임과 시간 정렬된) 오디오 P-프레임을 오디오 I-프레임으로 재저작하고, 재저작된 오디오 I-프레임을 재생 디바이스(16)로 전달될 AV 비트스트림 내에 오디오 P-프레임 대신 삽입할 수 있다.
다른 예를 들면, 엔티티(12)는 입력 AV 비트스트림의 오디오 I-프레임(또는 오디오 I-프레임 및 비디오 I-프레임)이 제1 속도(예를 들어, 도 1에 표시된 바와 같이 각 시간 간격 X당 한 번)로 발생하지만 재생 디바이스(16)로 전달될 AV 비트스트림 내의 적응 포인트(예를 들어, 스플라이스 포인트)가 더 큰 속도(예를 들어, 도 1에 표시된 바와 같이 각 시간 간격 Y당 한 번, 여기에서 Y는 X보다 크다)로 필요한 것을 식별하도록 구성될 수 있다. 이 경우, 엔티티(12)는 입력 AV 비트스트림의 오디오 P-프레임(또는 오디오 P-프레임 및 오디오 P-프레임과 시간 정렬된 비디오 P-프레임)을 오디오 I-프레임(또는 오디오 I-프레임 및 오디오 I-프레임과 시간 정렬된 비디오 I-프레임)으로 재저작하고, 재저작된 오디오 I-프레임(또는 시간 정렬된 재저작된 오디오 I-프레임 및 재저작된 비디오 I-프레임의 각 세트)을 재생 디바이스(16)로 전달될 AV 비트스트림 내에 원본 P-프레임 대신 삽입하여 필요한 속도(Y)로 AV 비트스트림 내에 적응 포인트를 제공할 수 있다.
(NBMP 엔티티(12)가 수행하도록 구성될 수 있는) 발명의 방법의 다른 실시예가 이하에서 기술된다.
도 2는 예시적인 MPEG-2 전송 스트림의 도면이다. 도 1의 NBMP 엔티티(12)의 일부 실시예(및 도 3의 이하에서 설명되는 제작 유닛(3)의 일부 실시예)는 적어도 하나의 비디오 또는 오디오 프레임의 재저작에 의해 포함되는 MPEG-2 전송 스트림을 생성하도록 구성된다.
언급한 바와 같이, 발명의 실시예에 따라 (예를 들어, 도 1의 NBMP 엔티티(12) 또는 도 3의 제작 유닛(3)에 의해) 생성되는 AV 비트스트림(예를 들어, 전송 스트림)은 적어도 하나의 오디오/비디오 프로그램("프로그램")을 표시하고, (이에 따라 표시된 각 프로그램에 대하여) (적어도 하나의 비디오 기본 스트림을 결정하는) 비디오 데이터의 프레임 및 (적어도 하나의 오디오 기본 스트림을 결정하는) 대응하는 인코딩된 오디오 데이터의 프레임을 포함할 수 있다. 비디오 데이터 프레임(예를 들어, 도 2의 비디오 프레임 #1, #2, #3, #4, #5 및 #6)은 비디오 데이터 I-프레임(예를 들어, 도 2의 비디오 I-프레임 #1 및 #5)을 포함할 수 있고, 인코딩된 오디오 데이터 프레임(예를 들어, 도 2의 AC-4 프레임 #1, AC-4 프레임 #2, AC-4 프레임 #3, AC-4 프레임 #4, AC-4 프레임 #5 및 AC-4 프레임 #6으로 식별되는 오디오 프레임)은 인코딩된 오디오 데이터 I-프레임(예를 들어, 도 2의 오디오 I-프레임 AC-4 프레임 #1, AC-4 프레임 #3 및 AC-4 프레임 #5)을 포함할 수 있다.
도 2의 MPEG-2 전송 스트림을 생성하기 위하여, 오디오 프레임은 PES 패킷(도 2의 맨 윗줄에 확대된 버전으로 표시)으로 패키징되고, 비디오 프레임은 PES 패킷(도 2의 맨 아랫줄에 확대된 버전으로 표시)으로 패키징된다. 오디오 프레임을 표시하는 각 PES 패킷은 상이한 PTS 값 0, 3600, 7200, 10800, 14400 및 18000을 가지고, 비디오 프레임을 표시하는 각 PES 패킷은 상이한 PTS 값 0, 3600, 7200, 10800, 14400 및 18000을 가진다.
각 PES 패킷은 전송 스트림 (TS) 패킷의 세트로 패키징되고, MPEG-2 전송 스트림은 표시된 TS 패킷(도 2의 가운뎃줄에 표시) 시퀀스를 포함한다. 전송 스트림을 처리하는 전송 스트림 스플라이서는 S1 및 S2 막대로 표시된 위치에서 잠재적으로 스플라이스할 수 있으며, 각 위치는 비디오 I-프레임 바로 앞에서 나타나고, 따라서 오디오를 그대로 유지한다. 예를 단순화하기 위하여, 도 2에 표시된 모든 프레임은 PES-패킷-정렬이다(필요하지는 않지만, I-프레임 사이에서도).
도 2의 전송 스트림은, 전송 스트림에 의해 표시되는 각 프로그램에 대하여, 프로그램을 표시하는 전송 스트림의 데이터가 I-프레임 동기화의 특성을 갖는다는 의미에서 I-프레임 동기화의 특성을 가진다(즉, 만족한다)(즉, 전송 스트림에 의해 표시되는 각 프로그램에 대하여, 프로그램의 비디오 기본 스트림 내의 각 비디오 I-프레임에 대하여, 프로그램의 오디오 기본 스트림 내에 적어도 하나의 매칭 오디오 I-프레임(즉, 비디오 I-프레임과 동기화된 적어도 하나의 오디오 I-프레임)이 있도록 비디오 및 오디오 인코딩이 동기화된다). 이 특성을 갖는 전송 스트림(예를 들어, 발명의 실시예에 따라 생성된 전송 스트림)은 전송 스트림의 어느 프로그램의 어느 오디오 기본 스트림도 수정하지 않고 (예를 들어, 도 3의 스플라이서(7)에 의해) 원활하게 스플라이스되거나 다른 방식으로 적응될 수 있다.
도 3은 시스템의 하나 이상의 요소가 본 발명의 실시예에 따라 구성될 수 있는 예시적인 오디오 처리 체인(오디오 데이터 처리 시스템)의 블록도이다. 시스템은 도시된 바와 같이 서로 연결된 다음의 요소들을 포함한다: 캡처 유닛(1), 제작 유닛(3)(인코딩 서브시스템을 포함함), 전달 서브시스템(5) 및 스플라이싱 유닛(스플라이서)(7) 및 선택적으로 또한 캡처 유닛(1'), 제작 유닛(3')(인코딩 서브시스템을 포함함) 및 전달 서브시스템(5'). 도시된 시스템의 변형에서, 하나 이상의 요소가 생략되거나, 추가 처리 유닛이 포함된다(예를 들어, 서브시스템(5')이 생략되고 유닛(3')의 출력이 서브시스템(5)에 의해 유닛(7)으로 전달된다).
캡처 유닛(1)은 통상 오디오 콘텐츠를 포함하는 PCM(시간 도메인) 샘플 및 비디오 데이터 샘플을 생성하고, PCM 오디오 샘플 및 비디오 데이터 샘플을 출력하도록 구성된다. 예를 들어, PCM 샘플은 마이크에 의해 캡처된 다수의 오디오 스트림을 표시할 수 있다. 통상 방송사에 의해 운영되는 제작 유닛(3)은, PCM 오디오 샘플 및 비디오 샘플을 입력으로 수용하고, 오디오 및 비디오 콘텐츠를 표시하는 AV 비트스트림을 생성하고 출력하도록 구성된다. 도 3 시스템의 일부 구현에서, 제작 유닛(3)은 MPEG-2 전송 스트림(예를 들어, 그 오디오 콘텐츠가 AC-4 표준에 따라 인코딩되어, MPEG-2 전송 스트림의 각 오디오 기본 스트림이 AC-4 포맷을 갖는 압축된 오디오 데이터를 포함하는 MPEG-2 전송 스트림)을 출력하도록 구성된다.
발명의 다양한 실시예 중 임의의 것에 따라 생성된 AV 비트스트림(예를 들어, MPEG-2 전송 스트림)의 오디오 콘텐츠에 대해 수행되는 인코딩은 AC-4 인코딩일 수 있으며, 또는 비디오와 프레임-정렬되는 임의의 다른 오디오 인코딩일 수 있다(즉, 비디오의 각 프레임이 정수 개수의(즉, 분수가 아닌) 인코딩된 오디오 프레임에 대응한다 (AC-4 인코딩은 이 후자의 특성을 갖도록 수행될 수 있다)).
유닛(3)으로부터 출력된 AV 비트스트림은 오디오 콘텐츠의 적어도 일부를 표시하는 인코딩된(예를 들어, 압축된) 오디오 비트스트림 (본원에서 때로는 "메인 믹스"로 지칭됨), 비디오 콘텐츠를 표시하는 비디오 비트스트림, 및 선택적으로 또한 오디오 콘텐츠의 일부를 표시하는 적어도 하나의 추가 비트스트림 또는 파일(본원에서 때로는 "사이드 믹스"로 지칭됨)을 포함할 수 있다. 오디오 콘텐츠를 표시하는 AV 비트스트림의(및 생성되었다면 생성된 각 사이드 믹스의) 데이터는 본원에서 때로는 "오디오 데이터"로 지칭된다.
AV 비트스트림의 오디오 데이터(예를 들어, 그 메인 믹스)는 하나 이상의 스피커 채널 세트 및/또는 객체 채널을 표시하는 오디오 샘플 스트림을 표시할 수 있다.
도 4에 나타난 바와 같이, 도 3 제작 유닛(3)의 구현은 유닛(1)으로부터 비디오 및 오디오 데이터를 수신하도록 연결되는 인코딩 서브시스템(3B)을 포함한다. 서브시스템(3B)은 오디오 데이터에 대해(및 선택적으로 또한 비디오 데이터에 대해) 필요한 인코딩을 수행하여 인코딩된 오디오 데이터 프레임 및 선택적으로 또한 인코딩된 비디오 데이터 프레임을 생성하도록 구성된다. (도 4의) 유닛(3)의 재저작 및 다중화 서브시스템(3C)은 서브시스템(3B)으로부터 출력되는 데이터 프레임(예를 들어, 오디오 프레임, 또는 오디오 프레임 및 비디오 프레임)을 수신하도록 연결된 입력(3D), 및 입력에 연결되고, 서브시스템(3B)으로부터 출력되는 하나 이상의 프레임을 발명의 실시예를 구현하기 위해 필요한 바에 따라 재저작하고, 서브시스템(3B)의 출력(또는 서브시스템(3B)의 출력 프레임, 및 서브시스템(3B)으로부터 출력된 프레임 중 하나를 대체하기 위하여 생성하는 각 재저작된 프레임)을 발명의 실시예에 따른 AV 비트스트림으로 패키징(패킷화 및 다중화 포함)하도록 구성되는 서브시스템(프로세서)을 가진다. 예를 들어, AV 비트스트림은 MPEG-2 전송 스트림의 각 오디오 기본 스트림이 AC-4 포맷을 갖는 압축된 오디오 데이터를 포함하도록 그 오디오 콘텐츠가 AC-4 표준에 따라 인코딩될 수 있는 MPEG-2 전송 스트림일 수 있다. 버퍼(3A)는 서브시스템(3C)의 출력에 연결된다. 서브시스템(3C)에서 생성된 AV 비트스트림 세그먼트는 버퍼(3A)에 버퍼링된다(비일시적 방식으로 저장된다). 유닛(3)의 서브시스템(3C)의 출력이 유닛(3)에서 생성된 인코딩된 오디오 콘텐츠(및 일반적으로 또한 이와 함께 패키징된 비디오 콘텐츠)를 포함하는 AV 비트스트림이므로, 유닛(3)은 오디오 인코더의 예이다. 유닛(3)에 의해 생성된 AV 비트스트림은 (버퍼(3A)에 버퍼링된 후) 일반적으로 전달 시스템(예를 들어, 도 3의 전달 서브시스템(5))으로 어서트된다.
도 3의 전달 서브시스템(5)은 유닛(3)에 의해 생성된 전송 비트스트림(예를 들어, 사이드 믹스가 생성되었다면 각 사이드 믹스 포함)을 저장 및/또는 전송(예를 들어, 방송 또는 네트워크를 통해 전달)하도록 구성된다.
캡처 유닛(1'), 제작 유닛(3')(버퍼(3A') 포함) 및 전달 서브시스템(5')은 각각 캡처 유닛(1), 제작 유닛(3) 및 전달 서브시스템(5')의 기능을 수행한다(및 일반적으로 이와 동일하다). 이들은 제작 유닛(3)에서 (예를 들어, 발명의 실시예에 따라) 생성되고 스플라이서(7)의 입력(8A)으로 전달되는 제1 AV 비트스트림(예를 들어, 제1 전송 스트림 또는 다른 AV 비트스트림)과 스플라이서(7)에 의해 스플라이싱될 제2 AV 비트스트림(예를 들어, 전송 스트림 또는 발명의 실시예에 따라 생성되는 다른 AV 비트스트림)을 생성(및 스플라이서(7)의 입력(8B)으로 전달)하도록 작동할 수 있다.
도 3의 스플라이서(7)는 입력(8A 및 8B)을 포함한다. 입력(8A)은 전달 서브시스템(5)에 의해 스플라이서(7)로 전달되는 적어도 하나의 AV 비트스트림을 수신(예를 들어, 판독)하도록 연결되고, 입력(8B)는 전달 서브시스템(5')에 의해 스플라이서(7)로 전달되는 적어도 하나의 AV 비트스트림을 수신(예를 들어, 판독)하도록 연결된다. 스플라이서(7) 또한 도 3에 도시된 바와 같이 연결된 버퍼 메모리(버퍼)(7A), 버퍼 메모리(버퍼)(7D), 파싱 서브시스템(7E), 파싱 서브시스템(7B) 및 스플라이싱 서브시스템(7C)을 포함한다. 선택적으로, 스플라이서(7)는 스플라이싱될 AV 비트스트림을 저장하도록 (도시된 바와 같이) 연결되고 구성되는 메모리(9)를 포함한다. 스플라이서(7)의 일반적인 동작 동안, 입력(8A 및/또는 8B)에서 수신된 적어도 하나의 선택된 AV 비트스트림의 세그먼트(예를 들어, 입력(8A 및 8B)에서 수신된 AV 비트스트림의 선택된 시퀀스의 세그먼트 시퀀스)가 버퍼(7A) 및/또는 버퍼(7D)에 버퍼링된다(비일시적 방식으로 저장된다). 버퍼링된 세그먼트는 파싱을 위하여 버퍼(7A)로부터 파싱 서브시스템(7B)으로 어서트되고, 버퍼링된 세그먼트는 버퍼(7D)로부터 파싱 서브시스템(7E)으로 어서트된다. 대안적으로, 메모리(9)에 저장된 적어도 하나의 AV 비트스트림의 세그먼트가 파싱을 위하여 파싱 서브시스템(7B)으로 어서트된다(또는 메모리(9)에 저장 및/또는 입력(8A)에서 수신된 AV 비트스트림의 선택된 시퀀스의 세그먼트가 파싱을 위하여 버퍼(7A) 및/또는 메모리(9)로부터 파싱 서브시스템(7B)으로 어서트된다). 통상 (서브시스템(7B 또는 7E)에서) 파싱되고 (스플라이싱 서브시스템(7C)에서) 스플라이싱될 각 AV 비트스트림은 발명의 실시예에 따라 생성된 것이다.
스플라이서(7)(예를 들어, 서브시스템(7B 및 7E) 및/또는 그 서브시스템(7C))는 또한 스플라이싱될 각 AV 비트스트림(예를 들어, 전달 서브시스템(5)에 의해 스플라이서(7)로 전달된 제1 전송 스트림 및/또는 전달 서브시스템(5')에 의해 스플라이서(7)로 전달된 제2 전송 스트림, 또는 메모리(9)에 저장된 제1 전송 스트림 및/또는 전달 서브시스템(5 또는 5')에 의해 스플라이서(7)로 전달된 제2 전송 스트림)에서 스플라이스 포인트를 결정하도록 연결되고 구성되며, 서브시스템(7C)은 스트림(들)을 스플라이싱하여 적어도 하나의 스플라이싱된 AV 비트스트림(도 3의 "스플라이싱된 출력")을 생성하도록 구성된다. 일부 경우에서, 스플라이스는 단일 AV 비트스트림의 세그먼트를 생략하고, 스플라이서(7)가 AV 비트스트림의 아웃 포인트(out point)(즉, 시간) 및 AV 비트스트림의 인 포인트(in point)(이후의 시간)을 결정하고, 아웃 포인트 이전에 발생하는 스트림 세그먼트를 인 포인트 이후에 발생하는 스트림 세그먼트와 연결하여 스플라이싱된 AV 비트스트림을 생성하도록 구성된다. 다른 경우에서, 스플라이스는 제1 AV 비트스트림의 세그먼트 사이(또는 제1 AV 비트스트림과 제3 AV 비트스트림의 세그먼트 사이)에 제2 AV 비트스트림을 삽입하고, 스플라이서(7)가 제1 AV 비트스트림의 아웃 포인트(즉, 시간), 제1(또는 제3) AV 비트스트림의 인 포인트(이후의 시간), 제2 AV 비트스트림의 인 포인트(즉, 시간) 및 제2 AV 비트스트림의 아웃 포인트(이후의 시간)을 결정하고, 제1 AV 비트스트림의 아웃 포인트 이전에 발생하는 그 스트림의 데이터, 제2 AV 비트스트림의 인 포인트와 아웃 포인트 사이에 발생하는 그 스트림의 데이터 및 제1(또는 제3) AV 비트스트림의 인 포인트 이후에 발생하는 제1(또는 제3) AV 비트스트림의 데이터를 포함하는 스플라이싱된 AV 비트스트림을 생성하도록 구성된다.
일부 구현에서, 스플라이서(7)는, 적어도 하나가 발명의 실시예에 따라 생성된 AV 비트스트림(들)을 발명의 스플라이싱 방법 실시예에 따라 스플라이싱하여 적어도 하나의 스플라이싱된 AV 비트스트림(도 3의 "스플라이싱된 출력")을 생성하도록 구성된다. 발명의 스플라이싱 방법의 이러한 실시예에서, 각 스플라이스 포인트(예를 들어 인 포인트 또는 아웃 포인트)는 비디오 콘텐츠의 대응하는 세그먼트의 비디오 I-프레임(발명의 실시예에 따라 생성된 재저작된 프레임일 수 있음)과 정렬된 오디오 콘텐츠 세그먼트의 오디오 I-프레임(발명의 실시예에 따라 생성된 재저작된 프레임일 수 있음)에서 발생한다. 일반적으로, 오디오 콘텐츠의 이러한 각 세그먼트는 오디오 I-프레임 다음에 적어도 하나의 오디오 P-프레임을 포함하고, 비디오 콘텐츠의 이러한 각 세그먼트는 비디오 I-프레임 다음에 적어도 하나의 비디오 P-프레임을 포함한다.
발명의 일부 실시예는 AV 비트스트림을 생성하기 위한 발명의 방법의 임의의 실시예에 따라 생성된 AV 비트스트림(예를 들어, MPEG-2 전송 스트림)을 적응(예를 들어, 스플라이싱 또는 스위칭)하여, 적응된(예를 들어, 스플라이싱된) AV 비트스트림(예를 들어, 이러한 스플라이싱 방법을 수행하도록 구성되는 도 3의 스플라이서(7)의 구현의 출력)을 생성하는 방법에 관한 것이다. 전형적인 실시예에서, (일부 경우에서, 적응기가 AV 비트스트림의 어떤 인코딩된 오디오 기본 스트림의 데이터의 수정도 포함하지 않는 방식으로 AV 비트스트림의 재다중화 또는 다른 수정을 수행하여야 할 수는 있지만) 적응은 AV 비트스트림의 인코딩된 오디오 기본 스트림 중 어느 것도 수정하지 않고 수행된다.
일반적으로, 재생 시스템은 스플라이서(7)로부터 출력된 스플라이싱된 AV 비트스트림을 디코딩 및 렌더링할 것이다. 재생 시스템은 일반적으로 AV 비트스트림의 오디오 콘텐츠 및 비디오 콘텐츠를 파싱하는 서브시스템, 오디오 콘텐츠를 디코딩하고 렌더링하도록 구성되는 서브시스템 및 비디오 콘텐츠를 디코딩하고 렌더링하도록 구성되는 다른 서브시스템을 포함할 것이다.
도 7은 발명의 실시예에 따라 MPEG-DASH 포맷을 갖는 AV 비트스트림을 생성하는 시스템의 블록도이다. 도 7의 시스템에서, 오디오 인코더(20)는 (예를 들어, 도 4의 유닛(1)의 실시예 또는 다른 캡처 유닛으로부터) 오디오 데이터를 수신하도록 연결되고, 비디오 인코더(21)는 (예를 들어, 도 4의 유닛(1)의 실시예 또는 다른 캡처 유닛으로부터) 비디오 데이터를 수신하도록 연결된다. 인코더(20)는 오디오 데이터에 오디오 인코딩(예를 들어, AC-4 인코딩)을 수행하여 인코딩된 오디오 데이터 프레임을 생성하고, 프레임을 DASH 패키징기(22)로 어서트하도록 연결되고 구성된다. 인코더(21)는 비디오 데이터에 비디오 인코딩(예를 들어, H265 비디오 인코딩)을 수행하여 인코딩된 비디오 오디오 데이터 프레임을 생성하고, 프레임을 DASH 패키징기(22)로 어서트하도록 연결되고 구성된다.
패키징기(22)는 도시된 바와 같이 연결된 I-프레임 변환 서브시스템(24), 분할기(segmenter)(28), 오디오 분석기(26), MPEG-4 다중화기(30) 및 MPD 생성 서브시스템(32)을 포함하는 오디오/비디오 처리 유닛이다.
분할기(28)는 인코더(21)로부터 분할기(28)로 제공된 비디오 콘텐츠의 세그먼트(비디오 프레임)를 결정하고, 세그먼트를 MPEG-4 다중화기(30)로 제공하도록 프로그래밍된(또는 다른 방식으로 구성된) 비디오 처리 서브시스템(프로세서)이다. 일반적으로, 각 세그먼트는 비디오 I-프레임으로 시작한다.
I-프레임 변환 서브시스템(24)은 인코더(20)로부터 서브시스템(24)으로 제공된 적어도 하나의 오디오 프레임에 대해 재저작(이에 따라 적어도 하나의 재저작된 프레임을 생성)을 수행하고, 수정되지 않은 (인코더(20)로부터 출력된) 임의의 프레임을 오디오 분석기(26)로 통과시키도록 발명의 실시예에 따라 프로그래밍된(또는 다른 방식으로 구성된) 오디오 처리 서브시스템(프로세서)이다. 일반적으로, 서브시스템(24)은 분할기(28)에 의해 식별된 각 비디오 I-프레임과 정렬되는 오디오 I-프레임(예를 들어, 재저작된 I-프레임)이 있는 것을 보장하도록 재저작을 수행한다. 서브시스템(24)으로부터 출력된 오디오 콘텐츠 및 메타데이터(즉, 인코더(20)로부터 출력된 원본 오디오 프레임 및 서브시스템(24)에서 생성된 재저작된 각 오디오 프레임)가 오디오 분석기(26)로 제공된다.
서브시스템(24)으로부터 출력된 오디오 프레임(예를 들어, 인코더(20)로부터의 원본 오디오 프레임 및 서브시스템(24)에서 생성된 재저작된 각 오디오 프레임)은 오디오 분석기(26)로 제공된다. 일반적으로, 오디오 프레임은 AC-4 인코딩된 오디오 데이터를 포함한다. 분석기(26)는 프레임의 메타데이터(예를 들어, AC-4 메타데이터)를 분석하고, 분석 결과를 사용하여, (MPEG-4 다중화기(30)에서) 오디오 프레임과 패키징하는 데 필요하다고 결정되는 임의의 새로운 메타데이터를 생성하도록 구성된다. 서브시스템(24)에서 출력된 오디오 프레임 및 분석기(26)에서 생성된 임의의 새로운 메타데이터는 MPEG-4 다중화기(30)로 제공된다.
MPEG-4 다중화기(30)는 분석기(26)로부터 출력된 오디오 프레임(및 분석기(26)에서 생성된 임의의 새로운 메타데이터) 및 분할기(28)로부터 출력된 비디오 프레임을 다중화하여, MPEG-DASH 포맷을 갖는 AV 비트스트림에 포함시키기 위하여 MPEG-4 파일 포맷의 다중화된 오디오 및 비디오 콘텐츠(및 메타데이터)를 생성하도록 구성된다.
MPD 생성 서브시스템(32)은 다중화기(30)에서 출력된 다중화된 콘텐츠를 수신하도록 연결되고 다중화된 콘텐츠 및 메타데이터를 포함하는 MPEG-DASH 포맷을 갖는(및 MPEG-DASH 미디어 프리젠테이션을 표시하는) AV 비트스트림을 생성하도록 구성된다.
AV 비트스트림(예를 들어, MPEG-H 포맷 또는 MPEG-D USAC 포맷을 갖는 AV 비트스트림)을 생성하기 위한 일부 실시예에서, 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하는 단계는 다음과 같이 수행된다. 적어도 하나의 이전 오디오 P-프레임이 P-프레임 내로 (예를 들어, P-프레임의 확장 페이로드 내로) 복사된다. 이에 따라, 결과적인 재저작된 I-프레임은 각 이전 P-프레임의 인코딩된 오디오 콘텐츠를 포함하고, 결과적인 재저작된 I-프레임은 P-프레임과 상이한 메타데이터 세트를 포함한다(즉, 이는 P-프레임의 원본 메타데이터와 함께 각 이전 P-프레임의 메타데이터를 포함한다). 일 예에서, 적어도 하나의 이전 P-프레임을 P-프레임 내로 복사하는 것은 MPEG-H 표준의 섹션 5.5.6("오디오 프리-롤")에 기술된 AudioPreRoll() 구문 요소를 사용하여 수행될 수 있다. 도 7의 서브시스템(24)의 일부 구현은 이 방식으로 P-프레임의 (재저작된 I-프레임으로서의) 재저작을 수행한다고 고려된다.
일부 실시예에서, 발명의 방법은: (a) 프레임을 인코더(예를 들어, 도 4의 제작 유닛(3)의 서브시스템(3C)의 실시예) 또는 NBMP 엔티티(예를 들어, 도 1의 NBMP 엔티티(12)의 실시예)로 제공(예를 들어, 프레임, 또는 프레임을 포함하는 입력 전송 스트림 또는 다른 입력 AV 비트스트림을 전송, 전달 또는 다른 방식으로 제공), 또는 (예를 들어, 도 4의 제작 유닛(3)의 실시예 내에서) 프레임을 생성하는 것 - 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시하고, 프레임은 제1 디코딩 유형의 프레임을 포함함 -; 및 (b) AV 비트스트림이 재저작된 프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트가 I-프레임으로 시작하며 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록, 적어도 하나의 제1 디코딩 유형의 프레임을 제1 디코딩 유형과 상이한 제2 디코딩 유형의 재저작된 프레임으로 재저작(예를 들어, 상기 하나의 제1 디코딩 유형의 프레임이 P-프레임이면 재저작된 프레임이 I-프레임이고, 상기 하나의 제1 디코딩 유형의 프레임이 I-프레임이면 재저작된 프레임이 P-프레임이다)하여 포함하는 AV 비트스트림을 (예를 들어, 이에 따라 생성된 프레임에 대한 도 4의 유닛(3)의 실시예의 동작에 의해, 또는 이로 제공된 입력 AV 비트스트림의 프레임에 대한 도 1의 NBMP 엔티티(12)의 실시예의 동작에 의해) 생성하는 것을 포함한다. 예를 들어, 단계 (b)는 재저작된 프레임이 오디오 I-프레임이 되도록 적어도 하나의 오디오 P-프레임을 재저작하거나, 또는 재저작된 프레임이 오디오 P-프레임이 되도록 적어도 하나의 오디오 I-프레임을 재저작하거나, 또는 재저작된 프레임이 비디오 I-프레임이 되도록 적어도 하나의 비디오 P-프레임을 재저작하거나, 또는 재저작된 프레임이 비디오 P-프레임이 되도록 적어도 하나의 비디오 I-프레임을 재저작하는 단계를 포함할 수 있다. 이러한 일부 실시예에서, 단계 (a)는: 제1 시스템(예를 들어, 도 4의 제작 유닛(3) 또는 도 1의 소스(10)의 실시예)에서, 콘텐츠를 표시하는 프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 및 입력 AV 비트스트림을 제2 시스템(예를 들어, 도 1의 NBMP 엔티티(12)의 실시예)으로 전달(예를 들어, 전송)하는 단계를 포함할 수 있으며; 단계 (b)는 제2 시스템에서 수행된다.
이러한 일부 실시예에서, 적어도 하나의 오디오 P-프레임(메타데이터 및 인코딩된 오디오 데이터를 포함함)이 오디오 I-프레임(동일한 인코딩된 오디오 데이터 및 상이한 메타데이터를 포함함)으로 재저작된다. 인코딩된 오디오 데이터는 AC-4 인코딩된 오디오 데이터일 수 있다. 예를 들어, 발명의 일부 실시예에서, 오디오 P-프레임은 (오디오 P-프레임의 헤더에 있을 수 있는) 오디오 P-프레임의 메타데이터의 전부 또는 일부를 상이한 세트의 메타데이터(예를 들어, 이전 오디오 I-프레임으로부터 복사되거나, 또는 이로부터 얻어진 메타데이터를 수정하여 생성된 메타데이터로 구성되거나 또는 이를 포함하는 상이한 세트의 메타데이터)로 대체함으로써 프레임의 인코딩된 오디오 콘텐츠를 수정하지 않고(예를 들어, 이러한 콘텐츠를 디코딩하고 디코딩된 콘텐츠를 다시 인코딩함으로써 인코딩된 오디오 콘텐츠를 수정하지 않고) 재저작된 오디오 I-프레임으로 재저작된다. 일부 다른 실시예에서는, 적어도 하나의 오디오 I-프레임(메타데이터 및 인코딩된 오디오 데이터를 포함함)이 오디오 P-프레임(동일한 인코딩된 오디오 데이터 및 상이한 메타데이터를 포함함)으로 재저작된다. 이 인코딩된 오디오 데이터는 AC-4 인코딩된 오디오 데이터일 수 있다.
일부 경우(즉, 인코딩된 오디오 데이터를 디코딩하기 위하여 이전 I-프레임으로부터의 스펙트럼 확장 메타데이터 및/또는 커플링 메타데이터를 사용할 수 있음을 인코딩이 가정할 경우)에서, 재생 시에 디코딩된 오디오가 원본 인코딩 시에 원래 의도한 바에 따라 정확히 소리나지 않을 것이지만, (그 오디오 콘텐츠가 AC-4 인코딩된 오디오 데이터인) 오디오 P-프레임의 AC-4 인코딩된 오디오 데이터는 P-프레임 내의 정보만을 사용하여 디코딩될 수 있다. 이러한 경우에서, P-프레임의 디코딩된 버전의 인코딩된 오디오 콘텐츠가 재생 시에 원래 의도된 대로 소리나게 하기 위해서는 이전 I-프레임으로부터의 스펙트럼 확장 메타데이터(및/또는 커플링 메타데이터)가 디코딩 동안 일반적으로 사용할 수 있어야(및 일반적으로 사용되어야) 할 것이다. 이러한 스펙트럼 확장 메타데이터의 예는 ASPX 메타데이터이며, 이러한 커플링 메타데이터의 예는 ACPL 메타데이터이다.
따라서, 발명의 일부 실시예에서, (P-프레임의 오디오 콘텐츠를 수정하지 않고) 재저작된 오디오 I-프레임을 생성하기 위한 오디오 P-프레임(예를 들어, 그 오디오 콘텐츠가 AC-4 인코딩된 오디오 데이터인 오디오 P-프레임)의 재저작은 이전 오디오 I-프레임으로부터 메타데이터를 복사하고 복사한 메타데이터를 P-프레임의 원본 메타데이터의 전부 또는 일부 대신 삽입함으로써 수행된다. 이러한 유형의 재저작은 일반적으로 P-프레임의 원본 인코딩이 이전 I-프레임으로부터의 특정한 메타데이터(예를 들어, 스펙트럼 확장 메타데이터 및/또는 커플링 메타데이터) 및 P-프레임 자체로부터의 대응하는 메타데이터 모두가 P-프레임의(및 따라서 재저작된 I-프레임의) 인코딩된 오디오 데이터를 (디코딩된 오디오의 재생 시에 원래 의도된 사운드의 수용할 수 없는 변경을 가져오지 않는 방식으로) 디코딩하기 위하여 사용 가능할 것을 요구하지 않을 때 수행될 것이다. 그러나, P-프레임(예를 들어, 그 오디오 콘텐츠가 AC-4 인코딩된 오디오 데이터인 오디오 P-프레임)의 원본 인코딩이 이전 I-프레임으로부터의 특정한 메타데이터(예를 들어, 스펙트럼 확장 메타데이터 및/또는 커플링 메타데이터) 및 P-프레임 자체로부터의 대응하는 메타데이터 모두가 P-프레임의 인코딩된 오디오 데이터를 (디코딩된 오디오의 재생 시에 원래 의도된 사운드의 수용할 수 없는 변경을 가져오지 않는 방식으로) 디코딩하기 위하여 사용 가능하도록 요구하는 경우, 발명의 일부 실시예에 따른 (재저작된 오디오 I-프레임으로의) P-프레임의 재저작은 이전 오디오 I-프레임으로부터 특정한 메타데이터(예를 들어, 스펙트럼 확장 메타데이터 및/또는 커플링 메타데이터)를 저장하는 단계, 일반적으로 P-프레임의 원본 메타데이터의 적어도 일부를 사용하여, 저장된 메타데이터를 수정(이에 따라, 재저작된 I-프레임에 포함될 때, 재저작된 I-프레임 내의 정보만을 사용하여, P-프레임의 (및 따라서 I-프레임의) 인코딩된 오디오 데이터의 디코딩을 가능하게 하기에 충분한, 수정된 메타데이터를 생성)하는 단계, 및 수정된 메타데이터를 P-프레임의 원본 메타데이터의 전부 또는 일부 대신 삽입하는 단계를 포함한다. 유사하게, 발명의 일부 실시예에 따른 (재저작된 비디오 I-프레임으로의) 비디오 P-프레임의 재저작은 이전 비디오 I-프레임으로부터 특정한 메타데이터를 저장하는 단계, 예를 들어, P-프레임의 원본 메타데이터의 적어도 일부를 사용하여 저장된 메타데이터를 수정(이에 따라, 재저작된 I-프레임에 포함될 때, 재저작된 I-프레임 내의 정보만을 사용하여 P-프레임의 (및 따라서 I-프레임의) 비디오 콘텐츠의 디코딩을 가능하게 하기에 충분한, 수정된 메타데이터를 생성)하는 단계, 및 수정된 메타데이터를 P-프레임의 원본 메타데이터의 전부 또는 일부 대신 삽입하는 단계를 포함하는 것이 고려된다
대안적으로, (발명의 실시예에 따라 재저작된 것일 수 있는) 각 P-프레임의 인코딩은 다른 프레임(예를 들어, 이전 I-프레임)의 메타데이터가 단순하게 (복사된 메타데이터를 수정하지 않고) 다른 프레임으로부터 P-프레임 내로 복사되어 P-프레임의 원본 메타데이터를 대체하고(이에 따라 P-프레임을 I-프레임으로 재저작함) 디코딩된 콘텐츠의 재생 시에 (인코딩 당시에 의도하였던 것과의) 수용할 수 없는 인식된 차이를 가져오는 방식으로 P-프레임의(및 따라서 재저작된 I-프레임의) 콘텐츠(오디오 또는 비디오 콘텐츠)의 디코딩을 가능하게 하는 방식으로 수행된다. 예를 들어, (발명의 실시예에 따라 재저작될 수 있는 프레임의) 오디오 데이터의 AC-4 인코딩은 결과적인 오디오 프레임 내에 스펙트럼 확장 메타데이터 및/또는 커플링 메타데이터를 포함하지 않고 수행될 수 있다. 이는 이전 오디오 I-프레임에서 메타데이터를 복사하고 복사된 메타데이터를 P-프레임의 원본 메타데이터의 전부 또는 일부 대신 삽입함으로써 (예에서 생성된) 오디오 P-프레임의 재저작을 허용하여, (P-프레임의 오디오 콘텐츠를 수정하지 않고) 재저작된 오디오 I-프레임을 생성한다. 예에서, 약간 더 높은 비트율만을 사용하여 채널 간 종속성을 활용하지 않음으로써 인코더에서 (P-프레임을 재저작하기 위하여) 이전 I-프레임의 메타데이터를 수정(재인코딩)하여야 할 필요가 회피된다.
실시예의 제1 부류(본원에서 "방법 1"을 구현하는 실시예로 때때로 지칭됨)에서, 발명의 방법은: (a) (예를 들어, 도 4의 제작 유닛(3)의 실시예의 서브시스템(3B)에서) 콘텐츠를 표시하는 오디오 I-프레임 및 오디오 P-프레임을 (예를 들어, 종래의 방식으로) 생성하는 단계; 및 (b) (예를 들어, 도 4의 제작 유닛(3)의 실시예의 서브시스템(3C)에서) AV 비트스트림이 재저작된 오디오 I-프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트가 재저작된 오디오 I-프레임으로 시작하도록 적어도 하나의 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하여 포함하는 AV 비트스트림을 생성하는 단계를 포함한다. 일반적으로, 콘텐츠 세그먼트는 또한 재저작된 오디오 I-프레임 다음에 적어도 하나의 오디오 P-프레임을 포함한다. 단계 (a) 및 (b)는 오디오 인코더가 단계 (a)를 수행하도록 동작하여 포함되는 오디오 인코더(예를 들어, 오디오 인코더를 포함하거나 구현하는 제작 유닛) 내에서 수행될 수 있다.
방법 1을 구현하는 일부 실시예에서, 단계 (a)는 오디오 I-프레임 및 오디오 P-프레임을 생성하는 오디오 인코더 내에서(예를 들어, 도 4의 제작 유닛(3)의 AC-4 인코더로 구현되는 서브시스템(3B) 내에서) 수행되며, 단계 (b)는 (오디오 I-프레임이 필요한 시간에 대응하는) 적어도 하나의 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하는 것을 포함하고, 단계 (b)는 또한 상기 하나의 오디오 P-프레임 대신 재저작된 오디오 I-프레임을 AV 비트스트림 내에 포함시키는 단계를 포함한다.
방법 1을 구현하는 일부 실시예는: 제1 시스템(예를 들어, 제작 유닛 또는 인코더, 예를 들어, 도 4의 제작 유닛(3) 또는 도 7의 시스템의 실시예)에서, 단계 (a)에서 생성된 오디오 I-프레임 및 오디오 P-프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 입력 AV 비트스트림을 제2 시스템(예를 들어, 도 1의 NBMP 엔티티(12)의 실시예)로 전달(예를 들어, 전송)하는 단계; 및 제2 시스템에서 단계 (b)를 수행하는 단계를 포함한다. 일반적으로, 입력 AV 비트스트림을 생성하는 단계는 (단계 (a)에서 생성된 오디오 I-프레임 및 오디오 P-프레임에 의해 표시되는) 인코딩된 오디오 콘텐츠 및 비디오 콘텐츠를 함께 패키징하여 입력 AV 비트스트림을 생성하는 것을 포함하고, 단계 (b)에서 생성되는 AV 비트스트림은 상기 비디오 콘텐츠와 함께 패키징된 상기 인코딩된 오디오 콘텐츠를 포함한다. 방법 1을 구현하는 일부 실시예에서, AV 비트스트림의 적어도 하나의 오디오 프레임은 재저작된 오디오 I-프레임이고(그러나 AV 비트스트림의 어느 비디오 프레임도 재저작된 프레임이 아님), AV 비트스트림의 오디오 콘텐츠의 세그먼트는 (AV 비트스트림의 비디오 콘텐츠의 대응하는 세그먼트의 비디오 I-프레임과 정렬된) 재저작된 오디오 I-프레임으로 시작하고, 적어도 하나의 후속 오디오 P-프레임을 포함한다.
실시예의 제2 부류(본원에서 "방법 2"를 구현하는 실시예로 때때로 지칭됨)에서, 발명의 방법은: (a) (예를 들어, 도 4의 제작 유닛(3)의 실시예의 서브시스템(3B)에서) 콘텐츠를 표시하는 오디오 I-프레임을 (예를 들어, 종래의 방식으로) 생성하는 단계; 및 (b) (예를 들어, 도 4의 제작 유닛(3)의 실시예의 서브시스템(3C)에서) AV 비트스트림이 재저작된 오디오 P-프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트가 단계 (a)에서 생성된 오디오 I-프레임 중 하나로 시작하도록 적어도 하나의 오디오 I-프레임을 재저작된 오디오 P-프레임으로 재저작하여 포함하는 AV 비트스트림을 생성하는 단계를 포함한다. 단계 (a) 및 (b)는 오디오 인코더가 단계 (a)를 수행하도록 동작하여 포함되는 오디오 인코더(예를 들어, 오디오 인코더를 포함하거나 구현하는 제작 유닛) 내에서 수행될 수 있다.
방법 2를 구현하는 일부 실시예에서, 단계 (a)는 오디오 I-프레임을 생성하는 오디오 인코더 내에서(예를 들어, 도 4의 제작 유닛(3)의 AC-4 인코더로 구현되는 서브시스템(3B) 내에서) 수행되며, 단계 (b)는 세그먼트 경계가 아닌 시간에 대응하는(및 따라서 세그먼트 경계에서 발생하지 않는) 각 오디오 I-프레임을 재저작하여, 이에 따라 적어도 하나의 재저작된 오디오 P-프레임을 결정하는 것을 포함하고, AV 비트스트림을 생성하는 단계는 적어도 하나의 재저작된 오디오 P-프레임을 AV 비트스트림 내에 포함시키는 단계를 포함한다.
방법 2를 구현하는 일부 실시예는: 제1 시스템(예를 들어, 제작 유닛 또는 인코더, 예를 들어, 도 4의 제작 유닛(3) 또는 도 7의 시스템의 실시예)에서, 단계 (a)에서 생성된 오디오 I-프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 입력 AV 비트스트림을 제2 시스템(예를 들어, 도 1의 NBMP 엔티티(12)의 실시예)로 전달(예를 들어, 전송)하는 단계; 및 제2 시스템에서 단계 (b)를 수행하는 단계를 포함한다. 일반적으로, 입력 AV 비트스트림을 생성하는 단계는 (단계 (a)에서 생성된 오디오 I-프레임에 의해 표시되는) 인코딩된 오디오 콘텐츠 및 비디오 콘텐츠를 함께 패키징하여 입력 AV 비트스트림을 생성하는 것을 포함하고, 단계 (b)에서 생성되는 AV 비트스트림은 상기 비디오 콘텐츠와 함께 패키징된 상기 인코딩된 오디오 콘텐츠를 포함한다. 일부 실시예에서, AV 비트스트림의 적어도 하나의 오디오 프레임(그러나 비디오 프레임은 아님)은 재저작된 오디오 P-프레임을 포함하는 오디오 콘텐츠의 세그먼트가 (비디오 콘텐츠의 대응하는 세그먼트의 비디오 I-프레임과 정렬된) 오디오 I-프레임으로 시작하고, 오디오 I-프레임 이후에 적어도 하나의 재저작된 오디오 P-프레임을 포함하도록 (재저작된 오디오 P-프레임으로) 재저작되었다.
실시예의 제3 부류(본원에서 "방법 3"을 구현하는 실시예로 때때로 지칭됨)에서, 발명의 AV 비트스트림 생성 방법은 데이터 "청크(chunk)"를 선택(또는 다른 방식으로 사용)하여 포함하는 P-프레임을 AV 비트스트림 내에 포함시키는 것을 허용하는 하이브리드 프레임의 생성(또는 제공)을 포함한다. 본원에서 사용되는 바에 따르면, 데이터 "청크"는 하이브리드 프레임 중 하나의 데이터, 또는 하이브리드 프레임을 표시하는 프레임의 적어도 하나의 시퀀스(예를 들어, 두 개의 서브스트림)의 데이터, 또는 상기 적어도 하나의 시퀀스의 미리 정의된 부분이거나 이를 포함할 수 있다(예를 들어, AC-4 인코딩된 오디오 데이터를 포함하는 프레임의 경우, 전체 서브스트림이 전체 데이터 청크를 포함할 수 있다). 하나의 예에서, 방법 3은 AV 비트스트림의 인접한 프레임이 일치하는 것을 보장하도록 하이브리드 프레임을 생성하는 것을 포함한다. 일반적인 실시예에서, 처리는 한 번만 필요하므로, 이중 처리 없이 인코더가 하이브리드 프레임(예를 들어, 하이브리드 프레임을 표시하는 스트림)을 생성한다. 일부 실시예에서, 하이브리드 프레임은 P-프레임 및 I-프레임에 대한 공통 데이터의 하나의 인스턴스를 포함한다. 일부 실시예에서, 예를 들어 청크가 전체 I-프레임 또는 P-프레임을 포함하지 않을 때, 패키징기가 하이브리드 프레임의(또는 하이브리드 프레임을 포함하는 하이브리드 프레임들을 표시하는 프레임의 시퀀스의) 적어도 하나의 데이터 청크로부터 I-프레임 또는 P-프레임을 합성할 수 있다.
예를 들어, 도 6은 10개의 하이브리드 프레임 세트의 도면이고, 도 6a는 이러한 하이브리드 프레임의 다른 10개의 세트의 도면이다. 방법 3의 전형적인 실시예에서, 하이브리드 프레임(예를 들어, 도 6 또는 도 6a의 것)은 인코더의 구현(예를 들어, 도 7의 오디오 인코더(20))에 의해 생성되고, 패키징기(예를 들어, 도 7의 패키징기(22)의 구현)는 적어도 하나의 하이브리드 프레임의 적어도 하나의 P-프레임을 선택함에 의하여 포함하는 AV 비트스트림을 생성한다.
도 6 및 도 6a를 참조하면, 일부 실시예에서, 각 하이브리드 프레임은 다음을 포함할 수 있다:
I-프레임의 두 복사본. 예를 들어, 도 6의 각 하이브리드 프레임 H1, H5 및 H9는 I-프레임의 두 복사본(양자는 모두 "I"로 라벨링됨)을 포함한다; 또는
하나의 I-프레임. 예를 들어, 도 6a의 각 하이브리드 프레임 H'1, H'5 및 H'9는 하나의 I-프레임("I"로 라벨링됨)으로 구성된다; 또는
하나의 I-프레임(인코딩된 오디오 데이터 및 메타데이터를 포함함) 및 하나의 P-프레임(동일한 인코딩된 오디오 데이터와 상이한 메타데이터를 포함함). 예를 들어, 도 6의 H1, H5 또는 H9 프레임이 아닌 각 하이브리드 프레임 및 도 6a의 H'1, H'5 및 H'9 프레임이 아닌 각 하이브리드 프레임은 이러한 I-프레임("I"로 라벨링됨)과 이러한 P-프레임("P"로 라벨링됨)을 포함한다.
(예를 들어, 도 6의 예 또는 도6a의 예에 나타난 유형의) 하이브리드 프레임으로, 패키징기(또는 다른 시스템의 서브시스템일 수 있는 다른 AV 비트스트림 생성 시스템)가 (생성되는 AV 비트스트림 내에) I-프레임이 어떤 시간에 포함되어야 한다고 결정할 때, 이는 적절한 시간에 대응하는 하나의 하이브리드 프레임(인코더에 의해 사전 생성되었으며 선택될 수 있음)으로부터 I-프레임을 선택할 수 있다. 시스템이 (생성되는 AV 비트스트림 내에) P-프레임이 어떤 시간에 포함되어야 한다고 결정할 때, 이는 적절한 시간에 대응하는 하나의 하이브리드 프레임(하이브리드 프레임이 P-프레임을 포함하는 경우)으로부터 P-프레임을 선택할 수 있거나; 또는 이러한 하이브리드 프레임의 I-프레임을 재저작된 P-프레임으로 재저작할 수 있다. 일부 실시예에서, 재저작은 다른 하이브리드 프레임으로부터 메타데이터 복사, 또는 이전 프레임에서 획득한 메타데이터 수정을 포함할 수 있다.
방법 3에 따라 AC-4 인코딩된 오디오를 포함하는 하이브리드 프레임(예를 들어, AC-4 인코딩된 오디오 서브스트림의 하이브리드 프레임)을 생성하는 인코더(또는 다른 시스템 또는 디바이스)의 일부 구현에서, 인코더(또는 다른 시스템 또는 디바이스)는 각 하이브리드 프레임(또는 적어도 일부 하이브리드 프레임) 내에 다음 유형의 메타데이터를 포함할 수 있다:
ASF(오디오 스펙트럼 프론트엔드) 메타데이터. 일정한 비트율이 요구되지 않으면, 하이브리드 프레임의 I-프레임과 P-프레임 모두에서 전체 sf_info 및 sf_data 섹션은 동일하다. 일정한 비트율이 요구되면, I-프레임의 sf_data 섹션은 전체 I-프레임이 대응하는 P-프레임과 동일한 크기를 갖도록 I-프레임 크기 오버헤드를 보상할 수 있으며 더 작을 수 있다. 두 경우 모두에서 윈도우 형상이 완전하게 일치하도록 하기 위하여 sf_info 섹션은 동일하다.
ASPX(스펙트럼 확장) 메타데이터. 하이브리드 프레임의 I-프레임은 하이브리드 프레임의 P-프레임의 aspx_config와 일치하는 aspx_config를 포함한다. I-프레임의 aspx_data는 프레임 내 코딩만을 사용하는 반면 P-프레임의 aspx_data는 프레임 내 코딩 또는 프레임 간 코딩을 사용할 수 있다. 이는 일반적으로 인코더가 가장 비트율 효율적인 것을 선택하기 위해 두 가지 방법을 모두 수행하기 때문에 인코더에 추가 오버헤드를 발생시키지 않는다.
ACPL(커플링) 메타데이터. 하이브리드 프레임의 I-프레임은 하이브리드 프레임의 P-프레임의 acpl_config와 일치하는 acpl_config를 포함한다. acpl_framing_data는 P-프레임과 I-프레임에서 동일하다. I-프레임의 acpl_ec_data의 모든 인스턴스는 diff_type=DIFF_FREQ(프레임 내 코딩만)으로 제한된다.
일부 실시예에서, 방법 3에 따라 AC-4 인코딩된 오디오를 포함하는 하이브리드 프레임(예를 들어, AC-4 인코딩된 오디오 서브스트림의 하이브리드 프레임)을 생성하는 인코더(또는 다른 시스템 또는 디바이스)는 단일 프로세스로 두 가지 프레임 유형(예를 들어, I-프레임의 스트림 및 대응하는 P-프레임의 스트림)을 생성할 수 있다. ASPX 또는 ACPL과 같은 파라메트릭 코딩 도구에 대하여 프레임 내 코딩 및 프레임 간 코딩 양자가 모두 동일한 데이터 세트로부터 생성된다. 일부 구성요소(예를 들어, 종래의 구성요소)는 두 개의 데이터 세트(I-프레임 세트 및 대응하는 P-프레임 세트)를 생성하도록 구성되고 이후에 더 적은 비트 수를 사용하도록 결정한다. 프레임 내 코딩된 오디오는 I-프레임을 포함하는 하이브리드 프레임 내에 항상 포함된다.
방법 3에 따라 하이브리드 프레임을 생성하는 인코더(또는 다른 시스템 또는 디바이스)에서, 다른 분석 도구(예를 들어 ASPX의 프레임 생성기 또는 ASF의 블록 스위칭 결정기)가 한 번만 실행될 수 있다. 완전한 일치를 위하여 결과 및 결정은 I-프레임과 대응하는 P-프레임 모두에서 사용된다.
(프레임 간 코딩을 허용하는 P-프레임의 스트림을 생성할 때) 비트율 및 버퍼 제어 또한 한 번만 실행될 수 있다. 결과는 또한 생성되는 모두 I-프레임인 스트림(all I-frame stream)에 대해 사용될 수도 있다. 오디오 품질 저하를 방지하기 위하여, P-프레임의 ASF 코딩을 위한 타겟 비트를 결정할 때 I-프레임의 오버헤드를 고려할 수 있다.
방법 3을 구현하기 위하여 생성된 (예를 들어, I-프레임 시퀀스 및 대응하는 P-프레임 시퀀스에 의해 결정되는) 하이브리드 프레임 시퀀스는 AC-4 메타데이터 TOC(콘텐츠 테이블) 포맷 또는 I-프레임과 대응하는 P-프레임을 단일 스트림 내에 결합하는 일부 다른 래퍼(wrapper)를 가질 수 있다.
발명의 다른 실시예에서 하이브리드 프레임 시퀀스의 각 프레임은 기본 미디어 포맷과 독립적일 수 있는 헤더를 포함하며, 이러한 하이브리드 프레임에서 제공되는 데이터로부터 I-프레임 또는 P-프레임을 생성하는 방법에 대한 설명을 포함한다. 설명은 하이브리드 프레임에서 데이터 범위를 복사하거나 데이터 범위를 삭제하여 I-프레임을 합성하기 위한 하나 이상의 명령을 포함할 수 있다. 설명은 또한 하이브리드 프레임에서 데이터 범위를 복사하거나 데이터 범위를 삭제하여 P-프레임을 합성하기 위한 하나 또는 여러 명령을 포함할 수 있다. 그런 다음 패키징기는 이러한 하이브리드 프레임의 헤더에 있는 명령에 따라 기본 미디어 포맷에 대한 지식 없이 I-프레임 또는 P-프레임을 합성할 수 있다. 예를 들어 ISOBMFF의 힌트 트랙을 사용할 수 있다.
하나의 프레임 선택 구현에서, 인코더가 P-프레임 스트림 및 대응하는 I-프레임 스트림을 (두 스트림이 함께 하이브리드 프레임 시퀀스를 결정하도록) 동시에 생성한다. 버퍼 모델 요구조건을 만족하여야 하면, 대응하는 프레임의 각 쌍(각 I-프레임 및 이에 대응하는 P-프레임)의 프레임이 동일한 프레임 크기를 갖는다. 다중화기가 I-프레임이 필요할 때마다 (인코더에서 출력된) 모두 I-프레임인 스트림으로부터 프레임을 선택한다. 다중화에 I-프레임이 필요하지 않으면 (예를 들어 인코더로부터의 모든 P-스트림으로부터) P-프레임을 선택할 수도 있다. 프레임 교체 구현의 이점은 다중화기가 복잡성이 가장 낮다는 점이다. 단점은 인코더로부터 다중화기로의 링크에 대한 두 배의 대역폭이다.
다른 프레임 선택(청크 교체) 구현에서, 다중화기에서 사용할 수 있는 하이브리드 프레임은 I-프레임, 대응하는 P-프레임(데이터의 "I-프레임 교체" 청크) 및 I-프레임 교체(대응하는 I-프레임(들) 대신 하나 이상의 P-프레임 선택)를 위한 명령을 포함한다. 이 방법은 바이트 정렬되지 않은 데이터의 I-프레임 교체 청크를 선택하여야 하며 교체 프로세스에서 기존 P-프레임 데이터의 많은 부분의 비트시프트(bit-shift)를 필요로 할 수 있다.
일부 실시예에서, (방법 3을 구현하는) AV 비트스트림 생성 방법은 다음의 단계를 포함한다:
(a) 프레임을 제공하는 단계, 적어도 하나의 프레임은 P-프레임과 I-프레임을 포함하는 하이브리드 프레임이고, I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 P-프레임은 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함; 및
(b) 적어도 하나의 상기 하이브리드 프레임의 P-프레임을 선택하여 포함하고, 각 선택된 P-프레임을 AV 비트스트림 내에 포함하여, AV 비트스트림이 I-프레임으로 시작하며 I-프레임 다음에 적어도 상기 선택된 P-프레임을 포함하는 세그먼트를 포함하도록 AV 비트스트림을 생성하는 단계.
단계 (a)는 (예를 들어, 도 7의 인코더(20)의 구현에서) 콘텐츠의 인코딩된 버전을 표시하는 I-프레임의 제1 시퀀스(예를 들어, 모두 I-프레임인 스트림) 및 콘텐츠의 상이하게 인코딩된 버전을 표시하는 P-프레임의 제2 시퀀스(예를 들어, 모두 P-프레임인 스트림)의 생성을 표함할 수 있으며, 적어도 하나의 상기 하이브리드 프레임은 제1 시퀀스의 I-프레임 중 하나와 제2 시퀀스의 P-프레임 중 하나를 포함한다.
일부 실시예에서, (방법 3을 구현하는) AV 비트스트림 생성 방법은 다음의 단계를 포함한다:
(a) 프레임을 제공하는 단계, 적어도 하나의 프레임은 P-프레임과 I-프레임을 결정하는 데 유용한 적어도 하나의 데이터 청크를 포함하는 하이브리드 프레임이고, I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 P-프레임은 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함; 및
(b) 적어도 하나의 상기 하이브리드 프레임의 적어도 하나의 상기 데이터 청크를 사용하여 적어도 하나의 I-프레임 또는 P-프레임을 합성하고(적어도 하나의 데이터 청크는, 전체 I-프레임 또는 P-프레임을 포함하거나 포함하지 않을 수 있음), 이에 따라 적어도 하나의 합성된 프레임을 생성하여 포함하고, 상기 각 합성된 프레임을 AV 비트스트림 내에 포함하여, AV 비트스트림이 I-프레임으로 시작하며 I-프레임 다음에 적어도 상기 합성된 P-프레임을 포함하거나, 합성된 I-프레임으로 시작하며 합성된 I-프레임 다음에 적어도 하나의 P-프레임을 포함하는 세그먼트를 포함하도록 AV 비트스트림을 생성하는 단계. 단계 (b)의 예는 하나의 하이브리드 프레임의 적어도 하나의 데이터 청크로부터, 또는 적어도 두 개의 하이브리드 프레임을 표시하는 프레임 시퀀스의 적어도 하나의 데이터 청크로부터 적어도 하나의 P-프레임 (또는 I-프레임) 합성을 포함한다. 일부 실시예에서, 적어도 하나의 상기 하이브리드 프레임은 (P-프레임 및 I-프레임에 대한) 공통 데이터 청크의 적어도 하나의 인스턴스를 포함한다.
AV 비트스트림을 생성(예를 들어, 입력 AV 비트스트림의 적어도 하나의 프레임의 재저작에 의해 포함)하는 발명의 방법의 일부 실시예는, AV 비트스트림이 적어도 하나의 현재 기본 네트워크 제약조건 또는 다른 제약조건을 만족하도록 구현된다(예를 들어, AV 비트스트림의 생성은 입력 비트스트림의 적어도 하나의 프레임의 재저작을 포함하며, AV 비트스트림이 입력 비트스트림에 대한 적어도 하나의 현재 기본 네트워크 제약조건을 만족하도록 수행된다). 예를 들어, AV 비트스트림이 NBMP 엔티티(예를 들어, MPEG NBMP 엔티티로 구현되는 도 1의 NBMP 엔티티(12), 예를 들어, CDN 서버이거나 이에 포함된 것)에 의해 생성되는 경우, NBMP 엔티티는 네트워크 및/또는 다른 제약조건에 따른 방식으로 AV 비트스트림에 I-프레임을 삽입하거나 I-프레임을 제거하도록 구현될 수 있다. 예를 들어, 네트워크 제약조건(및/또는 다른 제약조건)은 (예를 들어, 도 1 네트워크를 통해) 다른 NBMP 엔티티(예를 들어, 도 1의 NBMP 엔티티(14))로부터 NBMP 엔티티(예를 들어, 도 1의 NBMP 엔티티(12))로 전달된 제어 비트에 의해 표시될 수 있다. 이러한 제약조건의 예는 사용가능한 비트율, 프로그램에 필요한 튠인(tune-in) 시간, 및/또는 기본 MPEG-DASH 또는 MMT AV 비트스트림의 세그먼트 지속시간을 포함하지만 이에 제한되지는 않는다.
이 유형의 한 예시적인 실시예에서, 입력 AV 비트스트림(예를 들어, 도 1의 소스(10)에 의해 생성된 입력 전송 스트림)이 비트율 R(예를 들어, R = 96 kbits/second)을 가지고, 적응 포인트(예를 들어, 스플라이스 포인트)를 포함한다. 예를 들어, 적응 스플라이스 포인트는 입력 AV 비트스트림의 비디오 I-프레임 및 대응하는 오디오 I-프레임의 발생에 의해, 2초마다 한 번 또는 다른 속도로 결정된다. 발명의 방법의 실시예는 입력 AV 비트스트림에 응답하여 AV 비트스트림을 생성하기 위해 (예를 들어, 도 1의 NBMP 엔티티(12)의 동작에 의해) 수행된다. 생성된 AV 비트스트림의 전달을 위해 이용 가능한 비트율이 (예를 들어, 도 1의 NBMP 엔티티(14)로부터 NBMP 엔티티(12)로 전달되는 비트로 표시되는 바와 같이) 비트율 R인 경우, 그리고 AV 비트스트림의 생성이 생성된 AV 비트스트림에 새로운 적응 포인트를 삽입하기 위하여 (예를 들어, 입력 스트림의 P-프레임을 P-프레임보다 더 많은 메타데이터 비트를 갖는 I-프레임으로 재저작, 및 생성된 스트림에 P-프레임 대신 I-프레임을 포함함에 의하여) 입력 AV 비트스트림의 P-프레임의 재저작을 포함하는 경우, 이러한 새로운 적응 포인트의 삽입은 보상 조치가 취해지지 않는 한 생성된 AV 비트스트림의 전달에 필요한 비트율을 바람직하지 않게 증가시킬 수 있다. 따라서, 예시적인 실시예에서, (예를 들어, 도 1의 NBMP 엔티티(12)의 동작에 의한) AV 비트스트림의 생성은 또한 입력 AV 비트스트림의 적어도 하나의 I-프레임을 (I-프레임보다 적은 메타데이터 비트를 가지는) P-프레임으로 재저작하는 단계 및 생성된 AV 비트스트림에 각 I-프레임 대신 재저작된 각 P-프레임을 포함하는 단계를 포함하여, 따라서 생성된 AV 비트스트림을 전달하는 데 필요한 비트율이 사용 가능한 비트율 R을 초과하지 않도록 감소시킨다.
다른 예시적인 실시예에서, 입력 AV 비트스트림(예를 들어, 도 1의 소스(10)에 의해 생성된 입력 AV 비트스트림)은 오디오/비디오 프로그램을 표시하고, 제1 속도로 발생하는 적응 포인트를 포함한다(예를 들어, 적응 포인트는 입력 AV 비트스트림의 비디오 I-프레임과 대응하는 오디오 I-프레임의 발생에 의하여, 100 밀리초마다 한 번씩 결정된다). 적응 포인트는 프로그램의 재생이 시작될 수 있는 사용 가능한 시간이므로, 이는 (예를 들어, 도 1의 재생 디바이스(16)의 작동에 의해) 프로그램의 재생을 시작하기 위하여 소비자가 선택할 수 있는 "튠인" 시간(되감기/빨리 감기 포인트)에 대응한다. AV 비트스트림의 생성이 (예를 들어, 도 1의 NBMP(14) 또는 재생 디바이스(16)로부터 도 1의 NBMP 엔티티(12)로 전달되는 비트에 의해 표시된 바와 같이) 생성된 AV 비트스트림이 (즉, 생성된 AV 비트스트림이 입력 AV 비트스트림보다 더 많은 적응 포인트를 갖도록) 제1 속도보다 큰 미리 결정된 속도(예를 들어, 50 밀리초마다 한 번) 또는 (즉, 생성된 AV 비트스트림이 입력 AV 비트스트림보다 더 적은 적응 포인트를 갖도록) 제1 속도보다 작은 미리 결정된 속도(예를 들어, 200 밀리초마다 한 번)로 발생하는 적응 포인트를 포함하는 제약조건을 받는 경우, 발명의 방법의 실시예가 (예를 들어, 도 1의 NBMP 엔티티(12)의 동작에 의해) 수행되어 이러한 제약조건을 받는 입력 AV 비트스트림에 응답하여 AV 비트스트림을 생성한다. 예를 들어, 적응 포인트가 100 밀리초마다 한 번씩 입력 AV 비트스트림에서 발생(즉, 입력 AV 비트스트림의 비디오 I-프레임 및 대응하는 오디오 I-프레임이 100 밀리초마다 한 번씩 발생)하는 경우, 적응 포인트가 생성된 AV 비트스트림에서 발생하는 속도를 높이기 위하여, 입력 AV 비트스트림의 비디오 P-프레임 및 오디오 P-프레임은 비디오 I-프레임 및 오디오 I-프레임으로 재저작되고, 생성된 AV 비트스트림에 재저작된 I-프레임이 P-프레임 대신 포함되어, 생성된 AV 비트스트림에서 100 밀리초마다 한 번 이상 적응 포인트가 발생한다(즉, 재저작된 비디오 I-프레임 및 대응하는 재저작된 오디오 I-프레임에 대응하는 시간에 적어도 하나의 이러한 적응 포인트가 발생한다).
도 3의 유닛(3 및 7) 각각, 도 4의 유닛(3), 및 도 1의 NBMP 엔티티(12) 및 재생 디바이스(16)는 발명의 방법의 실시예를 수행하도록 구성되는 하드웨어 시스템 또는 이를 수행하도록 소프트웨어 또는 펌웨어로 프로그래밍된(또는 다른 방식으로 구성된) 프로세서로 구현될 수 있다.
일반적으로 도 3의 유닛(3)은 적어도 하나의 버퍼(3A)를 포함하고, 도 3의 유닛(3')은 적어도 하나의 버퍼(3A')를 포함하며, 도 3의 스플라이서(7)는 적어도 하나의 버퍼(7A 및/또는 7D)를 포함하고, 도 1의 NBMP 엔티티(12) 및 재생 디바이스(16) 각각은 적어도 하나의 버퍼를 포함한다. 일반적으로, 이러한 버퍼(예를 들어, 버퍼(3A, 3A', 7A 및 7D) 및 엔티티(12) 및 디바이스(16)의 버퍼) 각각은 버퍼 메모리를 포함하는 디바이스에 의해 생성되는(또는 이로 제공되는), AV 비트스트림의 패킷의 시퀀스를 수신하도록 연결되는 버퍼 메모리이고, 동작 중에 버퍼 메모리는 AV 비트스트림의 적어도 하나의 세그먼트를 (예를 들어, 비일시적 방식으로) 저장한다. 유닛(3)(또는 3')의 일반적인 동작 중에, AV 비트스트림 세그먼트의 시퀀스가 버퍼(3A)로부터 전달 서브시스템(5)으로 (또는 버퍼(3A')로부터 전달 서브시스템(5')으로) 어서트된다. 스플라이서(7)의 일반적인 동작 중에, 스플라이스될 AV 비트스트림 세그먼트의 시퀀스가 버퍼(7A)로부터 스플라이서(7)의 파싱 서브시스템(7B)으로 및 버퍼(7D)로부터 스플라이서(7)의 파싱 서브시스템(7E)으로 어서트된다.
도 3(또는 도 4)의 유닛(3), 및/또는 도 3의 스플라이서(7) 및/또는 도 1의 NBMP 엔티티(12) 및/또는 디바이스(16)(또는 그 임의의 구성요소 또는 요소)는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합에서 하나 이상의 프로세스 및/또는 하나 이상의 회로(예를 들어, ASIC, FPGA, 또는 다른 집적 회로)로 구현될 수 있다.
발명의 일부 실시예는 AV 비트스트림의 생성 또는 적응(예를 들어, 스플라이싱 또는 스위칭)을 위한 발명의 방법의 임의의 실시예를 수행하도록 구성되는 처리 유닛(AVPU)에 관한 것이다. 예를 들어, AVPU는 NBMP 엔티티(예를 들어, 도 1의 NBMP 엔티티(12)) 또는 제작 유닛 또는 오디오 인코더(예를 들어, 도 3 또는 도 4의 유닛(3))일 수 있다. 다른 예로, AVPU(예를 들어, NBMP 엔티티)는 발명의 AV 비트스트림 적응 방법의 임의의 실시예를 수행하도록 구성되는 적응기(예를 들어, 스플라이서)(예를 들어, 도 3의 스플라이서(7)의 적절하게 구성된 실시예)일 수 있다. 발명의 실시예의 다른 부류에서 AVPU(예를 들어, 도 3의 유닛(3) 또는 스플라이서(7))는 발명의 방법의 임의의 실시예에 의해 생성된 AV 비트스트림의 적어도 하나의 세그먼트를 (예를 들어, 비일시적 방식으로) 저장하는 적어도 하나의 버퍼 메모리(예를 들어, 도 3의 유닛(3)의 버퍼(3A), 또는 도 3의 스플라이서(7)의 버퍼(7A 또는 7D), 또는 도 1의 소스(10), 또는 NBMP 엔티티(12), 또는 디바이스(16) 내의 버퍼 메모리)를 포함한다. AVPU의 예는, 인코더(예를 들어, 트랜스코더), NBMP 엔티티(예를 들어, AV 비트스트림을 생성 및/또는 이에 대해 적응을 수행하도록 구성되는 NBMP 엔티티), 디코더(예를 들어, AV 비트스트림의 콘텐츠를 디코딩하거나, 및/또는 AV 비트스트림에 적응(예를 들어, 스플라이싱)을 수행하여 적응된(예를 들어, 스플라이싱된) AV 비트스트림을 생성하고 적응된 AV 비트스트림의 콘텐츠를 디코딩하도록 구성되는 디코더), 코덱, AV 비트스트림 적응기(예를 들어, 스플라이서), 전처리 시스템(전처리기), 후처리 시스템(후처리기), AV 비트스트림 처리 시스템 및 이러한 요소의 결합을 포함하지만, 이에 제한되지 않는다.
발명의 실시예는, 발명의 방법의 임의의 실시예를 수행하도록 구성되는(예를 들어, 프로그래밍되는) 시스템 또는 디바이스, 및 발명의 방법 또는 그 단계의 임의의 실시예를 구현하는 코드를 (예를 들어, 비일시적 방식으로) 저장하는 컴퓨터 판독 가능 매체(예를 들어, 디스크)에 관한 것이다. 예를 들어, 발명의 시스템은 발명의 방법 또는 그 단계의 실시예를 포함하여 데이터에 대한 다양한 동작 중 임의의 것을 수행하도록 소프트웨어 또는 펌웨어로 프로그래밍되거나 및/또는 다른 방식으로 구성된 프로그래밍 가능한 범용 프로세서, 디지털 신호 프로세서 또는 마이크로프로세서이거나 이를 포함할 수 있다. 이러한 범용 프로세서는 입력 디바이스, 메모리 및 어서트된 데이터에 응답하여 발명의 방법(또는 그 단계)의 실시예를 수행하도록 프로그래밍된(및/또는 다른 방식으로 구성되는) 처리 회로를 포함하는 컴퓨터 시스템이거나 이를 포함할 수 있다.
일부 실시예에서, 발명의 장치는 발명의 방법의 실시예를 수행하도록 구성되는 오디오 인코더(예를 들어, AC-4 인코더)이다. 일부 실시예에서, 발명의 장치는 (예를 들어, 선택적으로 네트워크 및/또는 다른 제약조건에 따른 방식으로, 전송 스트림에 I-프레임을 삽입하거나 또는 전송 스트림으로부터 I-프레임을 제거하기 위하여) 발명의 방법의 실시예를 수행하도록 프로그래밍되거나 다른 방식으로 구성된 NBMP 엔티티(예를 들어, CDN 서버이거나 이에 포함될 수 있는 MPEG NBMP 엔티티)이다.
본 발명의 실시예는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그 조합으로(예를 들어, 프로그래밍 가능한 로직 어레이로서) 구현될 수 있다. 예를 들어, 도 3의 유닛(3) 및/또는 스플라이서(7), 또는 도 1의 비트스트림 소스(10) 및/또는 NBMP 엔티티(12))는 적절히 프로그래밍된(또는 다른 방식으로 구성된) 하드웨어 또는 펌웨어에서, 예를 들어, 프로그래밍된 범용 프로세서, 디지털 신호 프로세서 또는 마이크로프로세서로 구현될 수 있다. 달리 명시되지 않는 한, 발명의 실시예의 일부로서 포함된 알고리즘 또는 프로세스는 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 특히, 다양한 범용 기계가 본원의 교시에 따라 작성된 프로그램과 함께 사용될 수 있거나, 필요한 방법 단계를 수행하기 위하여 더 전문화된 장치(예를 들어, 집적 회로)를 구성하는 것이 더 편리할 수 있다. 따라서, 발명의 실시예는 각각 적어도 하나의 프로세서, 적어도 하나의 데이터 저장 시스템(휘발성 및 비휘발성 메모리 및/또는 저장 요소 포함), 적어도 하나의 입력 디바이스 또는 포트 및 적어도 하나의 출력 디바이스 또는 포트를 포함하는 하나 이상의 프로그램 가능한 컴퓨터 시스템(예를 들어, 도 3의 유닛(3) 및/또는 스플라이서(7) 또는 도 1의 소스(10) 및/또는 NBMP 엔티티(12)의 전부 또는 일부 요소의 구현)에서 실행되는 하나 이상의 컴퓨터 프로그램에서 구현될 수 있다. 프로그램 코드는 입력 데이터에 적용되어 본원에 기술된 기능을 수행하고 출력 정보를 생성한다. 출력 정보는 공지된 방식으로 하나 이상의 출력 디바이스에 적용된다.
각각의 이러한 프로그램은 컴퓨터 시스템과 통신하기 위하여 임의의 원하는 컴퓨터 언어(기계, 어셈블리 또는 고수준의 절차적, 논리적 또는 객체 지향 프로그래밍 언어 포함)로 구현될 수 있다. 임의의 경우에서, 언어는 컴파일되거나 해석된 언어일 수 있다.
예를 들어, 컴퓨터 소프트웨어 명령 시퀀스에 의해 구현될 때, 발명의 실시예의 다양한 기능 및 단계는 적합한 디지털 신호 처리 하드웨어에서 실행되는 다중 스레드 소프트웨어 명령 시퀀스에 의해 구현될 수 있으며, 이 경우 실시예의 다양한 디바이스, 단계 및 기능이 소프트웨어 명령의 일부에 대응할 수 있다.
이러한 각각의 컴퓨터 프로그램은 바람직하게는 저장 매체 또는 디바이스가 본원에 기술된 절차를 수행하기 위하여 컴퓨터 시스템에 의해 판독될 때 컴퓨터를 구성하고 작동하기 위하여, 범용 또는 특수 목적의 프로그래밍 가능한 컴퓨터에 의해 판독 가능한 저장 매체 또는 디바이스(예를 들어, 고체 상태 메모리 또는 매체, 또는 자기 또는 광학 매체)에 저장되거나 다운로드된다. 발명의 시스템은 또한 컴퓨터 프로그램으로 구성되는(즉, 저장하는) 컴퓨터 판독 가능 저장 매체로서 구현될 수 있으며, 이렇게 구성된 저장 매체는 컴퓨터 시스템이 본원에 기술된 기능을 수행하기 위해 특정한 미리 정의된 방식으로 작동하게 한다.
발명의 예시적인 실시예는 다음을 포함한다:
E1. AV 비트스트림을 생성하는 방법에 있어서, 상기 방법은:
제1 디코딩 유형의 프레임을 포함하며, 콘텐츠를 표시하는 프레임을 제공하는 단계 - 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -; 및
AV 비트스트림이 재저작된 프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트는 I-프레임으로 시작하며 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록, 제1 디코딩 유형과 상이한 제2 디코딩 유형의 재저작된 프레임으로 제1 디코딩 유형의 적어도 하나의 프레임을 재저작하여 포함하는 AV 비트스트림을 생성하는 단계를 포함하며,
제1 디코딩 유형의 상기 하나의 프레임이 P-프레임이면 재저작된 프레임이 재저작된 I-프레임이거나, 제1 디코딩 유형의 상기 하나의 프레임이 I-프레임이면 재저작된 프레임이 재저작된 P-프레임인 방법.
E2. 프레임을 제공하는 단계는:
제1 시스템에서, 프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 및
입력 AV 비트스트림을 제2 시스템으로 전달하는 단계를 포함하고,
AV 비트스트림을 생성하는 단계는 제2 시스템 내에서 수행되는 E1의 방법.
E3. 제2 시스템은 네트워크 기반 미디어 처리(NBMP) 엔티티인 E2의 방법.
E4. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 메타데이터를 포함하는 오디오 P-프레임이며, 재저작 단계는 재저작된 프레임이 상이한 메타데이터를 포함하도록 오디오 P-프레임의 메타데이터의 적어도 일부를 이전 오디오 I-프레임으로부터 복사한 상기 상이한 메타데이터로 교체하는 것을 포함하는 E1-E3 중 임의의 방법.
E5. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 메타데이터를 포함하는 오디오 P-프레임이며, 재저작 단계는:
이전 오디오 I-프레임으로부터 메타데이터를 수정함으로써, 수정된 메타데이터를 생성하는 단계; 및
재저작된 프레임이 상기 수정된 메타데이터를 포함하도록 오디오 P-프레임의 메타데이터의 적어도 일부를 수정된 메타데이터로 교체하는 단계를 포함하는 E1-E3 중 임의의 방법.
E6. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 오디오 P-프레임이며, 재저작 단계는 적어도 하나의 이전 P-프레임을 오디오 P-프레임 내로 복사하는 것을 포함하는 E1-E3 중 임의의 방법.
E7. 프레임을 제공하는 단계는 인코딩된 오디오 콘텐츠를 표시하는 오디오 I-프레임 및 오디오 P-프레임을 생성하는 단계를 포함하고, 재저작 단계는 적어도 하나의 오디오 P-프레임을 재저작된 오디오 I-프레임으로 재저작하는 단계를 포함하고, AV 비트스트림의 콘텐츠 세그먼트는 재저작된 오디오 I-프레임으로 시작하는 인코딩된 오디오 콘텐츠 세그먼트인 E1-E6 중 임의의 방법.
E8. 오디오 I-프레임 및 오디오 P-프레임을 생성하는 단계 및 AV 비트스트림을 생성하는 단계는 오디오 인코더 내에서 수행되는 E7의 방법.
E9. 프레임을 제공하는 단계는:
제1 시스템에서, 오디오 I-프레임 및 오디오 P-프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 및
입력 AV 비트스트림을 제2 시스템으로 전달하는 단계를 포함하고,
AV 비트스트림을 생성하는 단계는 제2 시스템 내에서 수행되는 E7 또는 E8의 방법.
E10. 제2 시스템은 네트워크 기반 미디어 처리(NBMP) 엔티티인 E9의 방법.
E11. 프레임을 제공하는 단계는 인코딩된 오디오 콘텐츠를 표시하는 오디오 I-프레임을 생성하는 단계를 포함하고, 재저작 단계는 적어도 하나의 오디오 I-프레임을 재저작된 오디오 P-프레임으로 재저작하는 단계를 포함하고, AV 비트스트림의 콘텐츠 세그먼트는 오디오 I-프레임 중 하나로 시작하며 재저작된 오디오 P-프레임을 포함하는 인코딩된 오디오 콘텐츠 세그먼트인 E1-E10 중 임의의 방법.
E12. 오디오 I-프레임을 생성하는 단계 및 AV 비트스트림을 생성하는 단계는 오디오 인코더 내에서 수행되는 E11의 방법.
E13. 프레임을 제공하는 단계는:
제1 시스템에서, 오디오 I-프레임을 포함하는 입력 AV 비트스트림을 생성하는 단계; 및
입력 AV 비트스트림을 제2 시스템으로 전달하는 단계를 포함하고,
AV 비트스트림을 생성하는 단계는 제2 시스템 내에서 수행되는 E11 또는 E12의 방법.
E14. 제2 시스템은 네트워크 기반 미디어 처리(NBMP) 엔티티인 E13의 방법.
E15. AV 비트스트림을 생성하는 단계는 상기 AV 비트스트림이 적어도 하나의 네트워크 제약조건을 만족하도록 수행되는 E1-E14 중 임의의 방법.
E16. 네트워크 제약조건은 AV 비트스트림의 사용가능한 비트율, 또는 프로그램으로 튠인(tune-in)하기 위한 최대 시간, 또는 AV 비트스트림의 최대 허용 세그먼트 지속시간인 E15의 방법.
E17. AV 비트스트림을 생성하는 단계는 상기 AV 비트스트림이 적어도 하나의 제약조건을 만족하도록 수행되며,
제약조건은 AV 비트스트림이 미리 결정된 속도로 발생하는 적응 포인트를 포함하는 것이며, 각 적응 포인트는 AV 비트스트림의 비디오 I-프레임 및 AV 비트스트림의 적어도 하나의 대응하는 오디오 I-프레임 양자의 발생 시간인 E1-E16 중 임의의 방법.
E18. AV 비트스트림은 MPEG-2 전송 스트림 또는 ISO 베이스 미디어 포맷 기반인 E1-E17 중 임의의 방법.
E19. 오디오 콘텐츠를 표시하는 각 프레임은 AC-4 포맷을 갖는 인코딩된 오디오 데이터를 포함하는 E18의 방법.
E20. AV 비트스트림을 적응(예를 들어, 스플라이싱 또는 스위칭)하여, 적응된(예를 들어, 스플라이싱된) AV 비트스트림을 생성하는 방법으로서, AV 비트스트림은 E1의 방법에 의하여 생성된 것인 방법.
E21. AV 비트스트림은 콘텐츠 세그먼트의 I-프레임이 AV 비트스트림의 대응하는 콘텐츠 세그먼트의 I-프레임과 정렬되는 적응 포인트를 가지며, AV 비트스트림은 적응 포인트에서 적응되는(예를 들어, 스플라이싱되는) E20의 방법.
E22. AV 비트스트림을 생성하는 시스템에 있어서, 상기 시스템은:
제1 디코딩 유형의 프레임을 포함하며, 콘텐츠를 표시하는 프레임을 수신하도록 연결되는 적어도 하나의 입력 - 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -; 및
AV 비트스트림이 재저작된 프레임을 포함하는 콘텐츠 세그먼트를 포함하고, 콘텐츠 세그먼트는 I-프레임으로 시작하며 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록, 제1 디코딩 유형과 상이한 제2 디코딩 유형의 재저작된 프레임으로 제1 디코딩 유형의 적어도 하나의 프레임을 재저작하여 포함하는 AV 비트스트림을 생성하도록 연결되고 구성되는 서브시스템을 포함하며,
제1 디코딩 유형의 상기 하나의 프레임이 P-프레임이면 재저작된 프레임이 재저작된 I-프레임이거나, 제1 디코딩 유형의 상기 하나의 프레임이 I-프레임이면 재저작된 프레임이 재저작된 P-프레임인 시스템.
E23. 콘텐츠를 표시하는 상기 프레임은 상기 시스템으로 전달된 입력 AV 비트스트림에 포함되는 E22의 시스템.
E24. 상기 시스템은 네트워크 기반 미디어 처리(NBMP) 엔티티인 E22 또는 E23의 시스템.
E25. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 메타데이터를 포함하는 오디오 P-프레임이며, 서브시스템은 재저작된 프레임이 상이한 메타데이터를 포함하도록 오디오 P-프레임의 메타데이터의 적어도 일부를 이전 오디오 I-프레임으로부터 복사한 상기 상이한 메타데이터로 교체하여 포함하는 재저작을 수행하도록 구성되는 E22-E24 중 임의의 시스템.
E26. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 메타데이터를 포함하는 오디오 P-프레임이며, 서브시스템은:
이전 오디오 I-프레임으로부터 메타데이터를 수정함으로써, 수정된 메타데이터를 생성; 및
재저작된 프레임이 수정된 메타데이터를 포함하도록 오디오 P-프레임의 메타데이터의 적어도 일부를 상기 수정된 메타데이터로 교체하여 포함하는 재저작을 수행하도록 구성되는 E22-E24 중 임의의 시스템.
E27. 재저작된 프레임은 오디오 I-프레임이고, 제1 디코딩 유형의 상기 하나의 프레임은 오디오 P-프레임이며, 서브시스템은 적어도 하나의 이전 P-프레임을 오디오 P-프레임 내로 복사하여 포함하는 재저작을 수행하도록 구성되는 E22-E24 중 임의의 시스템.
E28. 서브시스템은 AV 비트스트림이 적어도 하나의 네트워크 제약조건을 만족하도록 상기 AV 비트스트림을 생성하도록 구성되는 E22-E27 중 임의의 시스템.
E29. 네트워크 제약조건은 AV 비트스트림의 사용가능한 비트율, 또는 프로그램으로 튠인(tune in)하기 위한 최대 시간, 또는 AV 비트스트림의 최대 허용 세그먼트 지속시간인 E28의 시스템.
E30. 서브시스템은 AV 비트스트림이 적어도 하나의 제약조건을 만족하도록 상기 AV 비트스트림을 생성하도록 구성되며,
제약조건은 AV 비트스트림이 미리 결정된 속도로 발생하는 적응 포인트를 포함하는 것이며, 각 적응 포인트는 AV 비트스트림의 비디오 I-프레임 및 AV 비트스트림의 적어도 하나의 대응하는 오디오 I-프레임 양자의 발생 시간인 E22-E27 중 임의의 시스템.
E31. AV 비트스트림을 생성하는 방법에 있어서, 상기 방법은:
(a) 프레임을 제공하는 단계 - 적어도 하나의 프레임은 P-프레임 및 I-프레임을 포함하는 하이브리드 프레임이고, I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 P-프레임은 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 각 프레임은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -; 및
(b) 적어도 하나의 상기 하이브리드 프레임의 P-프레임을 선택하여 포함하고, 각 선택된 P-프레임을 AV 비트스트림 내에 포함하여, AV 비트스트림이 I-프레임으로 시작하고 I-프레임 다음에 적어도 상기 선택된 P-프레임을 포함하는 세그먼트를 포함하도록 AV 비트스트림을 생성하는 단계를 포함하는 방법.
E32. 단계 (a)는 콘텐츠의 인코딩된 버전을 표시하는 I-프레임의 제1 시퀀스 및 콘텐츠의 상이하게 인코딩된 버전을 표시하는 P-프레임의 제2 시퀀스의 생성을 포함하고, 적어도 하나의 상기 하이브리드 프레임은 제1 시퀀스의 하나의 I-프레임 및 제2 시퀀스의 하나의 P-프레임을 포함하는 E31의 방법.
E33. AV 비트스트림을 수신하도록 연결되는 적어도 하나의 입력 - AV 비트스트림은 E1-E21, E31 또는 E32의 방법에 의하여 생성되었음 -; 및
AV 비트스트림을 적응(예를 들어, 스플라이싱 또는 스위칭)하여, 적응된 AV 비트스트림을 생성하도록 연결되고 구성되는 서브시스템을 포함하는 AV 비트스트림 적응(예를 들어, 스플라이싱 또는 스위칭)을 위한 시스템.
E34. 버퍼 메모리; 및
버퍼 메모리에 연결되는 적어도 하나의 오디오/비디오 처리 서브시스템을 포함하며, 버퍼 메모리는 AV 비트스트림의 적어도 하나의 세그먼트를 비일시적 방식으로 저장하고, AV 비트스트림은 E1-E21, E31 또는 E32 중 임의의 방법에 의하여 생성된 것인 오디오/비디오 처리 유닛.
E35. 오디오/비디오 처리 서브시스템은 AV 비트스트림을 생성하도록 구성되는 E34의 유닛.
E36. 처리 디바이스 또는 시스템에 의해 실행될 때, 상기 처리 디바이스 또는 시스템이 E1-E21, E31 또는 E32 중 임의의 방법을 수행하도록 하는 명령을 갖는 컴퓨터 프로그램 제품.
발명의 다수의 실시예가 설명되었다. 다양한 수정이 고려될 수 있음을 이해하여야 한다. 위의 교시에 비추어, 발명의 본 실시예의 다양한 수정 및 변형이 가능하다. 첨부된 청구항의 범위 내에서, 발명의 임의의 실시예가 다른 방식으로 실시될 수 있다는 것이 이해되어야 한다.

Claims (20)

  1. 출력 오디오/비디오 비트스트림을 생성하는 방법에 있어서, 상기 방법은:
    제1 디코딩 유형의 프레임을 포함하며, 오디오 및 비디오 콘텐츠를 표시하는 프레임, 및 상기 프레임 각각과 연관된 메타데이터를 포함하는 입력 오디오/비디오 비트스트림을 제공하는 단계 - 상기 제1 디코딩 유형의 상기 프레임 각각은 P-프레임 또는 I-프레임을 포함하고 상기 프레임 각각은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -;
    상기 제1 디코딩 유형과 상이한 제2 디코딩 유형의 적어도 하나의 재저작(re-authored)된 프레임을 생성하기 위하여 상기 제1 디코딩 유형의 적어도 하나의 상기 프레임과 연관된 상기 메타데이터의 일부를 상이한 메타데이터로 수정하는 단계;
    상기 비디오 콘텐츠의 I-프레임을 상기 오디오 콘텐츠의 I-프레임과 정렬하기 위하여, 상기 출력 오디오/비디오 비트스트림이 상기 재저작된 프레임을 포함하는 상기 오디오 및 비디오 콘텐츠의 세그먼트를 포함하고, 상기 오디오 및 비디오 콘텐츠의 상기 세그먼트는 I-프레임으로 시작하며 상기 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록, 상기 입력 오디오/비디오 비트스트림에 응답하여 상기 출력 오디오/비디오 비트스트림을 생성하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 상이한 메타데이터는 상기 제1 디코딩 유형의 상기 적어도 하나의 프레임 이전의 프레임과 연관된 메타데이터를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 출력 오디오/비디오 비트스트림을 생성하는 것은 상기 출력 오디오/비디오 비트스트림의 상기 오디오 및 비디오 콘텐츠의 상기 세그먼트를 I-프레임으로 시작하는 상기 비디오 콘텐츠의 세그먼트로 결정하는 것을 포함하는, 방법.
  4. 제1항, 제2항 또는 제3항에 있어서, 상기 프레임을 제공하는 단계는:
    제1 시스템에서, 상기 프레임을 포함하는 상기 입력 오디오/비디오 비트스트림을 생성하는 단계; 및
    상기 입력 오디오/비디오 비트스트림을 제2 시스템으로 전달하는 단계를 포함하고,
    상기 출력 오디오/비디오 비트스트림을 생성하는 단계는 상기 제2 시스템 내에서 수행되는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 재저작된 프레임은 오디오 I-프레임이고, 상기 제1 디코딩 유형의 상기 적어도 하나의 프레임은 오디오 P-프레임인, 방법.
  6. 제5항에 있어서, 상기 메타데이터의 일부를 수정하는 단계는 상기 오디오 P-프레임의 상기 메타데이터의 적어도 일부를 이전 오디오 I-프레임으로부터 복사한 상이한 메타데이터로 교체하여, 상기 재저작된 프레임이 상기 상이한 메타데이터를 포함하도록 하는 것을 포함하는, 방법.
  7. 제5항에 있어서, 상기 메타데이터의 일부를 수정하는 단계는:
    이전 오디오 I-프레임의 메타데이터를 수정하여 수정된 메타데이터를 생성하는 단계; 및
    상기 오디오 P-프레임의 상기 메타데이터의 적어도 일부를 상기 수정된 메타데이터로 교체하여, 상기 재저작된 프레임이 상기 수정된 메타데이터를 포함하도록 하는 단계를 포함하는, 방법.
  8. 제5항에 있어서, 상기 메타데이터의 일부를 수정하는 단계는 적어도 하나의 이전 P-프레임을 상기 오디오 P-프레임으로 복사하는 것을 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 출력/비디오 비트스트림을 생성하는 것은 수정되지 않은 상기 입력 오디오/비디오 비트스트림의 상기 콘텐츠의 세그먼트의 상기 메타데이터 및 상기 오디오 및 비디오 콘텐츠를 상기 출력 오디오/비디오 비트스트림으로 통과시키는 것을 포함하는, 방법.
  10. 제1항, 제2항, 제3항, 제4항, 제5항, 제6항, 제7항, 제8항 또는 제9항에 있어서, 상기 출력 오디오/비디오 비트스트림을 생성하는 단계는 상기 출력 오디오/비디오 비트스트림이 적어도 하나의 네트워크 제약조건을 만족하도록 수행되는, 방법.
  11. 제10항에 있어서, 상기 네트워크 제약조건은 상기 출력 오디오/비디오 비트스트림의 사용가능한 비트율, 또는 프로그램으로 튠인(tune in)하기 위한 최대 시간, 또는 상기 출력 오디오/비디오 비트스트림의 최대 허용 세그먼트 지속시간인, 방법.
  12. 제1항, 제2항, 제3항, 제4항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항 또는 제11항에 있어서, 상기 출력 오디오/비디오 비트스트림을 생성하는 단계는 상기 출력 오디오/비디오 비트스트림이 적어도 하나의 제약조건을 만족하도록 수행되며, 상기 제약조건은 상기 출력 오디오/비디오 비트스트림이 미리 결정된 속도로 발생하는 적응 포인트를 포함하는 것이며, 상기 적응 포인트 각각은 상기 출력 오디오/비디오 비트스트림의 비디오 I-프레임 및 상기 출력 오디오/비디오 비트스트림의 적어도 하나의 대응하는 오디오 I-프레임 양자의 발생 시간인, 방법.
  13. 출력 오디오/비디오 비트스트림을 생성하는 방법에 있어서,
    (a) 프레임을 제공하는 단계 - 상기 프레임 중 적어도 하나는 P-프레임 및 I-프레임을 포함하는 하이브리드 프레임이고, 상기 I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 상기 P-프레임은 상기 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 상기 프레임 각각은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -; 및
    (b) 상기 출력 오디오/비디오 비트스트림이 I-프레임으로 시작하고 상기 I-프레임 다음에 적어도 선택된 P-프레임을 포함하는 세그먼트를 포함하도록, 적어도 하나의 상기 하이브리드 프레임의 상기 P-프레임을 선택하고 각 선택된 P-프레임을 상기 출력 오디오/비디오 비트스트림 내에 포함함으로써, 상기 출력 오디오/비디오 비트스트림을 생성하는 단계를 포함하는 방법.
  14. 출력 오디오/비디오 비트스트림을 생성하는 방법에 있어서,
    (a) 프레임을 제공하는 단계 - 상기 프레임 중 적어도 하나는 P-프레임 및 I-프레임을 결정하는 데 유용한 적어도 하나의 데이터 청크(chunk)를 포함하는 하이브리드 프레임이고, 상기 I-프레임은 콘텐츠의 인코딩된 버전을 표시하고 상기 P-프레임은 상기 콘텐츠의 상이하게 인코딩된 버전을 표시하며, 상기 프레임 각각은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -; 및
    (b) 상기 출력 오디오/비디오 비트스트림이 I-프레임으로 시작하며 상기 I-프레임 다음에 적어도 하나의 합성된 P-프레임을 포함하거나, 합성된 I-프레임으로 시작하며 상기 합성된 I-프레임 다음에 적어도 하나의 P-프레임을 포함하는 세그먼트를 포함하도록, 적어도 하나의 상기 하이브리드 프레임의 적어도 하나의 상기 데이터 청크를 사용하여 적어도 하나의 I-프레임 또는 P-프레임을 합성하여 적어도 하나의 합성된 프레임을 생성하고, 각각의 상기 합성된 프레임을 상기 출력 오디오/비디오 비트스트림 내에 포함함으로써, 상기 출력 오디오/비디오 비트스트림을 생성하는 단계를 포함하는, 방법.
  15. 출력 오디오/비디오 비트스트림을 적응하여, 적응된 출력 오디오/비디오 비트스트림을 생성하는 방법에 있어서, 상기 적응된 출력 오디오/비디오 비트스트림은 제1항, 제2항, 제3항, 제4항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항, 제11항, 제12항, 제13항 또는 제14항의 방법에 의하여 생성된 것인 방법.
  16. 출력 오디오/비디오 비트스트림을 생성하는 시스템에 있어서, 상기 시스템은:
    제1 디코딩 유형의 프레임을 포함하는, 오디오 및 비디오 콘텐츠를 표시하는 프레임, 및 상기 프레임 각각과 연관된 메타데이터를 포함하는 입력 오디오/비디오 비트스트림을 수신하도록 연결되는 적어도 하나의 입력 - 상기 제1 디코딩 유형의 상기 프레임 각각은 P-프레임 또는 I-프레임을 포함하고 상기 프레임 각각은 오디오 콘텐츠 또는 비디오 콘텐츠를 표시함 -;
    상기 제1 디코딩 유형과 상이한 제2 디코딩 유형의 적어도 하나의 재저작된 프레임을 생성하기 위하여 상기 제1 디코딩 유형의 상기 프레임 중 적어도 하나와 연관된 상기 메타데이터의 일부를 상이한 메타데이터로 수정하도록 구성되는 제1 서브시스템; 및
    상기 비디오 콘텐츠의 I-프레임을 상기 오디오 콘텐츠의 I-프레임과 정렬하기 위하여, 상기 출력 오디오/비디오 비트스트림이 상기 재저작된 프레임을 포함하는 상기 오디오 및 비디오 콘텐츠의 세그먼트를 포함하고, 상기 콘텐츠의 상기 세그먼트는 I-프레임으로 시작하며 상기 I-프레임 다음에 적어도 하나의 P-프레임을 포함하도록, 상기 입력 오디오/비디오 비트스트림에 응답하여 상기 출력 오디오/비디오 비트스트림을 생성하도록 연결되고 구성되는 제2 서브시스템을 포함하는, 시스템.
  17. 제16항에 있어서, 상기 시스템은 네트워크 기반 미디어 처리(NBMP) 엔티티인 시스템.
  18. 출력 오디오/비디오 비트스트림 적응을 위한 시스템으로서,
    입력 오디오/비디오 비트스트림을 수신하도록 연결되는 적어도 하나의 입력 - 상기 출력 오디오/비디오 비트스트림은 제1항, 제2항, 제3항, 제4항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항, 제11항, 제12항, 제13항 또는 제14항의 방법에 의하여 생성되었음 -; 및
    상기 출력 오디오/비디오 비트스트림을 적응하여, 적응된 출력 오디오/비디오 비트스트림을 생성하도록 연결되고 구성되는 서브시스템을 포함하는, 시스템.
  19. 버퍼 메모리; 및
    상기 버퍼 메모리에 연결되는 적어도 하나의 오디오/비디오 처리 서브시스템을 포함하며, 상기 버퍼 메모리는 입력 오디오/비디오 비트스트림의 적어도 하나의 세그먼트를 비일시적 방식으로 저장하고, 상기 출력 오디오/비디오 비트스트림은 제1항, 제2항, 제3항, 제4항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항, 제11항, 제12항, 제13항 또는 제14항의 방법에 의하여 생성된 것인, 오디오/비디오 처리 유닛.
  20. 처리 디바이스 또는 시스템에 의해 실행될 때, 상기 처리 디바이스 또는 시스템이 제1항 내지 제15항 중 어느 한 항의 방법을 수행하도록 하는 명령을 갖는, 컴퓨터 프로그램 제품.
KR1020217002694A 2018-06-28 2019-06-27 적응 스트리밍 정렬을 위한 프레임 변환 KR102406318B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862690998P 2018-06-28 2018-06-28
US62/690,998 2018-06-28
EP18180389.1 2018-06-28
EP18180389 2018-06-28
PCT/US2019/039535 WO2020006250A1 (en) 2018-06-28 2019-06-27 Frame conversion for adaptive streaming alignment

Publications (2)

Publication Number Publication Date
KR20210024131A true KR20210024131A (ko) 2021-03-04
KR102406318B1 KR102406318B1 (ko) 2022-06-10

Family

ID=67403003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217002694A KR102406318B1 (ko) 2018-06-28 2019-06-27 적응 스트리밍 정렬을 위한 프레임 변환

Country Status (6)

Country Link
US (2) US11368747B2 (ko)
EP (1) EP3815387A1 (ko)
JP (1) JP7171772B2 (ko)
KR (1) KR102406318B1 (ko)
CN (2) CN115802046A (ko)
WO (1) WO2020006250A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11431817B2 (en) * 2018-12-04 2022-08-30 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions
US11356534B2 (en) * 2019-04-23 2022-06-07 Tencent America LLC Function repository selection mode and signaling for cloud based processing
CN111831842A (zh) * 2019-04-23 2020-10-27 腾讯美国有限责任公司 Nbmp中处理媒体内容的方法、装置和存储介质
CN113316001B (zh) * 2021-05-25 2023-04-11 上海哔哩哔哩科技有限公司 视频对齐方法及装置
US20230019558A1 (en) * 2021-07-06 2023-01-19 Tencent America LLC Method and apparatus for signaling independent processing of media segments on cloud using metadata and startcode
US11930189B2 (en) * 2021-09-30 2024-03-12 Samsung Electronics Co., Ltd. Parallel metadata generation based on a window of overlapped frames
CN114363791A (zh) * 2021-11-26 2022-04-15 赛因芯微(北京)电子科技有限公司 串行音频元数据生成方法、装置、设备及存储介质
US12126879B2 (en) 2022-07-08 2024-10-22 Disney Enterprises, Inc. Surgical micro-encoding of content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130208811A1 (en) * 2007-06-29 2013-08-15 Cisco Technology, Inc. Expedited splicing of video streams
US20160366452A1 (en) * 2014-02-10 2016-12-15 Dolby International Ab Embedding encoded audio into transport stream for perfect splicing
KR20180036756A (ko) * 2015-08-04 2018-04-09 아이비큐티 디지털 코포레이션 디지털 라디오 수신기 내의 아날로그 및 디지털 경로의 동기식 프로세싱을 위한 시스템 및 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574113B2 (en) 2002-05-06 2009-08-11 Sony Corporation Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method
US7949047B2 (en) 2003-03-17 2011-05-24 Qualcomm Incorporated System and method for partial intraframe encoding for wireless multimedia transmission
CN1774925A (zh) * 2003-03-17 2006-05-17 高通股份有限公司 用于无线多媒体传输的局部帧内编码系统和方法
JP4176573B2 (ja) 2003-07-29 2008-11-05 京セラ株式会社 データ編集装置およびデータ編集方法
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
WO2007119236A2 (en) * 2006-04-13 2007-10-25 Yosef Mizrachi Method and apparatus for providing gaming services and for handling video content
US7738676B1 (en) * 2006-11-02 2010-06-15 Qurio Holdings, Inc. Client-side watermarking using hybrid I-frames
US7983440B1 (en) * 2006-11-02 2011-07-19 Qurio Holdings, Inc. Selection of I-frames for client-side watermarking
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
CN102172028A (zh) * 2009-07-31 2011-08-31 松下电器产业株式会社 影像数据处理装置及影像数据处理系统
TWI716169B (zh) 2010-12-03 2021-01-11 美商杜比實驗室特許公司 音頻解碼裝置、音頻解碼方法及音頻編碼方法
EP2920961A4 (en) * 2011-09-15 2017-05-31 Libre Communications Inc. Method, apparatus and computer program product for video compression
WO2014204366A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Arrangements and method thereof for a channel change during streaming
EP2843963A1 (en) * 2013-08-30 2015-03-04 Thomson Licensing Method for watermarking a content
BR102014011263B1 (pt) 2014-05-09 2019-07-02 Tqtvd Software Ltda Método para encapsular streams de conteúdo audiovisual em mpeg2-private-sections, dispositivo para encapsular conteúdo audiovisual em mpeg2-private-sections para sermultiplexados em um mpeg2-transport-stream, protocolo de comunicação em redes e método para transmissão de conteúdo audiovisual e/ou dados para dispositivos do usuário sem recursos para sintonizar um broadcast de sinal de tv digital através de um broadcast de sinal de tv digital
US20150358622A1 (en) 2014-06-10 2015-12-10 Empire Technology Development Llc Video Encoding for Real-Time Streaming Based on Audio Analysis
US20150373075A1 (en) 2014-06-23 2015-12-24 Radia Perlman Multiple network transport sessions to provide context adaptive video streaming
US10349057B2 (en) * 2015-04-01 2019-07-09 Cox Communications, Inc. Systems and methods for optimizing video coding efficiency based on characteristics of video content
US10951914B2 (en) * 2015-08-27 2021-03-16 Intel Corporation Reliable large group of pictures (GOP) file streaming to wireless displays
WO2017138387A1 (ja) 2016-02-12 2017-08-17 ソニー株式会社 情報処理装置および情報処理方法
JP6835306B2 (ja) 2016-04-14 2021-02-24 株式会社ユピテル 装置、車載機器およびシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130208811A1 (en) * 2007-06-29 2013-08-15 Cisco Technology, Inc. Expedited splicing of video streams
US20160366452A1 (en) * 2014-02-10 2016-12-15 Dolby International Ab Embedding encoded audio into transport stream for perfect splicing
KR20180036756A (ko) * 2015-08-04 2018-04-09 아이비큐티 디지털 코포레이션 디지털 라디오 수신기 내의 아날로그 및 디지털 경로의 동기식 프로세싱을 위한 시스템 및 방법

Also Published As

Publication number Publication date
EP3815387A1 (en) 2021-05-05
US20220286730A1 (en) 2022-09-08
CN115802046A (zh) 2023-03-14
JP7171772B2 (ja) 2022-11-15
WO2020006250A1 (en) 2020-01-02
US11770582B2 (en) 2023-09-26
KR102406318B1 (ko) 2022-06-10
US20210258632A1 (en) 2021-08-19
CN112369042B (zh) 2022-12-09
US11368747B2 (en) 2022-06-21
JP2021529478A (ja) 2021-10-28
CN112369042A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
KR102406318B1 (ko) 적응 스트리밍 정렬을 위한 프레임 변환
US20240357212A1 (en) Data processor and transport of user control data to audio decoders and renderers
US9883213B2 (en) Embedding encoded audio into transport stream for perfect splicing
AU2011240024B2 (en) Method and encoder and decoder for gap - less playback of an audio signal
US11972769B2 (en) Methods, apparatus and systems for generation, transportation and processing of immediate playout frames (IPFs)

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right