KR20230131911A - 동적 dash 픽처-인-픽처 스트리밍을 위한 방법 및 장치 - Google Patents

동적 dash 픽처-인-픽처 스트리밍을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20230131911A
KR20230131911A KR1020237027475A KR20237027475A KR20230131911A KR 20230131911 A KR20230131911 A KR 20230131911A KR 1020237027475 A KR1020237027475 A KR 1020237027475A KR 20237027475 A KR20237027475 A KR 20237027475A KR 20230131911 A KR20230131911 A KR 20230131911A
Authority
KR
South Korea
Prior art keywords
picture
video stream
main
video
descriptor
Prior art date
Application number
KR1020237027475A
Other languages
English (en)
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 KR20230131911A publication Critical patent/KR20230131911A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/64Addressing
    • H04N21/6408Unicasting
    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어 스트리밍 동안 픽처-인-픽처 비디오(picture-in-picture video)를 동적으로 시그널링하기 위한 방법 및 장치가 제공될 수 있다. 방법은, 제1 메인 비디오 스트림과 연관된 제1 역할 값(role value) 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하는 단계; DASH 미디어 스트리밍에서 제2 픽처-인-픽처 비디오 스트림이 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터를 결정하는 단계; 사전선택 디스크립터를 사용하여 제1 메인 비디오 스트림과 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계; 및 업데이트 미디어 프레젠테이션 디스크립터(MPD: media presentation descriptor)를 사용하여 사전선택 디스크립터를 업데이트하는 단계를 포함할 수 있다.

Description

동적 DASH 픽처-인-픽처 스트리밍을 위한 방법 및 장치
본 출원은 2021년 10월 5일자로 출원된 미국 가출원 제63/252,398호 및 2022년 9월 21일자로 출원된 미국 출원 제17/949,528호에 대한 우선권을 주장하며, 이로써 이 특허 출원의 내용은 그 전체가 참조로 본 출원에 명백히 포함된다.
본 개시내용의 실시예는 스트리밍 미디어 콘텐츠(streaming media content)에 관한 것으로, 보다 구체적으로는 MPEG(Moving Picture Experts Group) DASH(dynamic adaptive streaming over hypertext transfer protocol)에 따라 픽처-인-픽처 콘텐츠(picture-in-picture content)를 스트리밍하는 것에 관한 것이다.
MPEG DASH는 IP 네트워크를 통해 미디어 콘텐츠를 스트리밍하기 위한 표준을 제공한다. MPEG DASH에서, DASH 매니페스트(manifest)인 미디어 프레젠테이션 디스크립터(MPD: media presentation descriptor)는 다양한 타입의 콘텐츠에 대한 설명을 가능하게 하지만, DASH에서의 임의의 명시적 픽처-인-픽처 시그널링을 제공하지 못한다. 부가로, 관련 기술에서의 암시적 방법은 픽처-인-픽처 시그널링을 위한 상호 운용가능한 방법 또는 솔루션을 제공하지 못한다.
따라서, 명시적 확장 및 기존 DASH 표준을 사용하여 픽처-인-픽처 미디어 스트리밍을 전달하기 위한 방법이 필요하다.
본 개시내용은 하나 이상의 기술적 문제점을 해결한다. 본 개시내용은 DASH 스트리밍을 사용하여 픽처-인-픽처 미디어 콘텐츠를 구현하기 위한 방법, 프로세스, 장치 및 비-일시적 컴퓨터-판독가능 매체를 포함한다. 부가로, 본 개시내용의 실시예는 또한, 스트리밍 세션 동안 픽처-인-픽처 미디어 콘텐츠의 위치, 크기, 해상도 등을 동적으로 업데이트하는 것에 관한 것이다.
본 개시내용의 실시예는 DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법을 제공할 수 있다. 방법은, 프로세서에 의해 수행될 수 있고, 그리고 제1 메인 비디오 스트림과 연관된 제1 역할 값(role value) 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하는 단계; DASH 미디어 스트리밍에서 제2 픽처-인-픽처 비디오 스트림이 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터(preselection descriptor)를 결정하는 단계; 사전선택 디스크립터를 사용하여 제1 메인 비디오 스트림과 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계; 및 업데이트 미디어 프레젠테이션 디스크립터(MPD)를 사용하여 사전선택 디스크립터를 업데이트하는 단계를 포함할 수 있다.
본 개시내용의 실시예는, DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 장치를 제공할 수 있다. 장치는, 컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 컴퓨터 프로그램 코드에 액세스하도록 그리고 컴퓨터 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 제1 메인 비디오 스트림과 연관된 제1 역할 값 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하게 하는 제1 결정 코드; 적어도 하나의 프로세서로 하여금, DASH 미디어 스트리밍에서 제2 픽처-인-픽처 비디오 스트림이 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터를 결정하게 하는 제2 결정 코드; 적어도 하나의 프로세서로 하여금, 사전선택 디스크립터를 사용하여 제1 메인 비디오 스트림과 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하게 하는 제1 그룹화 코드; 및 적어도 하나의 프로세서로 하여금, 업데이트 미디어 프레젠테이션 디스크립터(MPD)를 사용하여 사전선택 디스크립터를 업데이트하게 하는 제1 업데이트 코드를 포함할 수 있다.
본 개시내용의 실시예는 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체를 제공할 수 있다. 명령은, DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 제1 메인 비디오 스트림과 연관된 제1 역할 값 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하게 하고; DASH 미디어 스트리밍에서 제2 픽처-인-픽처 비디오 스트림이 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터를 결정하게 하고; 사전선택 디스크립터를 사용하여 제1 메인 비디오 스트림과 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하게 하고; 그리고 업데이트 미디어 프레젠테이션 디스크립터(MPD)를 사용하여 사전선택 디스크립터를 업데이트하게 하는 하나 이상의 명령을 포함할 수 있다.
개시되는 청구대상의 추가의 특징, 특성 및 다양한 이점은 다음의 상세한 설명 및 첨부 도면으로부터 더 명백해질 것이다.
도 1은, 실시예에 따른, 통신 시스템의 단순화된 예시이다.
도 2는, 실시예에 따른, 스트리밍 환경에서의 컴포넌트의 배치에 대한 예시적 예시이다.
도 3은, 실시예에 따른, DASH 프로세싱 모델의 단순화된 블록 다이어그램이다.
도 4는, 실시예에 따른, 픽처-인-픽처 설정(set-up)의 단순화된 예시이다.
도 5는, 실시예에 따른, 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 예시적인 흐름도 예시이다.
도 6은, 실시예에 따른, 컴퓨터 시스템의 단순화된 다이어그램이다.
아래에서 논의되는 제안된 특징은 별도로 사용될 수 있거나 또는 임의의 순서로 조합될 수 있다. 추가로, 실시예는 프로세싱 회로부(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일 예에서, 하나 이상의 프로세서는 비-일시적 컴퓨터-판독가능 매체에 저장된 프로그램을 실행한다.
도 1은, 본 개시내용의 실시예에 따른, 통신 시스템(100)의 간략화된 블록 다이어그램을 예시한다. 통신 시스템(100)은 네트워크(105)를 통해 상호연결된 적어도 2개의 단말기(102, 103)를 포함할 수 있다. 데이터의 단방향 전송의 경우, 제1 단말기(103)는 네트워크(105)를 통해 다른 단말기(102)로의 전송을 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말기(102)는, 네트워크(105)로부터 다른 단말기의 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 그리고 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 전송은 미디어 서빙 애플리케이션 등에서 일반적일 수 있다.
도 1은, 예를 들어, 화상회의 동안 발생할 수 있는, 코딩된 비디오의 양방향 전송을 지원하기 위해 제공된 제2 쌍의 단말기(101 및 104)를 예시한다. 데이터의 양방향 전송의 경우, 각각의 단말기(101 및 104)는 네트워크(105)를 통해 다른 단말기로의 전송을 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말기(101 및 104)는 또한, 다른 단말기에 의해 전송되는 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 그리고 복원된 비디오 데이터를 로컬 디스플레이 디바이스에 디스플레이할 수 있다.
도 1에서, 단말기(101, 102, 103 및 104)는, 서버, 개인용 컴퓨터 및 스마트폰으로서 예시될 수 있지만, 본 개시내용의 원리는 그렇게 제한되지 않는다. 본 개시내용의 실시예는 랩톱 컴퓨터, 태블릿 컴퓨터, 미디어 플레이어 및/또는 전용 화상회의 장비를 이용하는 애플리케이션에 맞는다. 네트워크(105)는, 예를 들어, 유선 및/또는 무선 통신 네트워크를 포함하는, 코딩된 비디오 데이터를 단말기(101, 102, 103 및 104) 사이에서 전달하는 임의의 수의 네트워크를 표현한다. 통신 네트워크(105)는 회선-교환(circuit-switched) 및/또는 패킷-교환(packet-switched) 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 전기통신 네트워크, 근거리 네트워크, 광역 네트워크 및/또는 인터넷을 포함한다. 본 논의의 목적을 위해, 네트워크(105)의 아키텍처 및 토폴로지는 이후 본원에서 설명되지 않는 한 본 개시내용의 동작에 중요하지 않을 수 있다.
도 2는, 예로서, 스트리밍 환경에서의 비디오 인코더 및 디코더의 배치를 예시한다. 실시예는, 예를 들어, CD, DVD, 메모리 스틱(memory stick) 등을 포함하는 디지털 미디어에 압축된 비디오를 저장하는 것, 디지털 TV, 화상회의 등을 포함하는 다른 비디오 인에이블 애플리케이션(video enabled application)에 적용될 수 있다.
스트리밍 시스템은, 예를 들어, 비압축 비디오 샘플 스트림(213)을 생성하는 비디오 소스(201), 예를 들어, 디지털 카메라를 포함할 수 있는 캡처 서브시스템(203)을 포함할 수 있다. 해당 샘플 스트림(213)은, 인코딩된 비디오 비트스트림과 비교할 때 높은 데이터 볼륨으로서 강조될 수 있으며, 비디오 소스(201)에 커플링된 인코더(202)에 의해 프로세싱될 수 있다. 인코더(202)는, 아래에서 더 상세히 설명되는 바와 같이, 실시예의 양상을 가능하게 하거나 구현하기 위한 하드웨어, 소프트웨어 또는 이들의 조합을 포함할 수 있다. 샘플 스트림과 비교할 때 더 낮은 데이터 볼륨으로서 강조될 수 있는 인코딩된 비디오 비트스트림(204)은, 향후 사용을 위해 스트리밍 서버(205)에 저장될 수 있다. 하나 이상의 스트리밍 클라이언트(212 및 207)는, 인코딩된 비디오 비트스트림(204)의 카피일 수 있는 인코딩된 비디오 비트스트림(208 및 206)을 검색(retrieve)하기 위해 스트리밍 서버(205)에 액세스할 수 있다. 클라이언트(212)는, 인코딩된 비디오 비트스트림(208)의 입력(incoming) 카피를 디코딩하고 그리고 디스플레이(209) 또는 다른 렌더링 디바이스에서 렌더링될 수 있는 출력(outgoing) 비디오 샘플 스트림(210)을 생성하는 비디오 디코더(211)를 포함할 수 있다. 일부 스트리밍 시스템에서, 인코딩된 비디오 비트스트림(204, 206 및 208)은 특정 비디오 코딩/압축 표준에 따라 인코딩될 수 있다. 이러한 표준의 예가 위에서 언급되었고 여기에서 추가로 설명된다.
도 3은, DASH 및 CMAF 이벤트를 프로세싱하기 위한 샘플 클라이언트 아키텍처와 같은 샘플 DASH 프로세싱 모델(300)을 도시한다. DASH 프로세싱 모델(300)에서, 미디어 세그먼트(예를 들어, ad 미디어 세그먼트 및 라이브 미디어 세그먼트)의 클라이언트의 요청은 매니페스트(303)에서의 설명된 어드레스에 기반할 수 있다. 매니페스트(303)는 또한 메타데이터 트랙을 설명하며, 이 메타데이터 트랙으로부터, 클라이언트는 메타데이터 트랙의 세그먼트에 액세스하여 이를 파싱하고, 그리고 이를 애플리케이션(301)에 송신할 수 있다.
매니페스트(303)는 MPD 이벤트 또는 이벤트 및 인밴드(inband) 이벤트를 포함하고, 'moof' 파서(306)는 MPD 이벤트 세그먼트 또는 이벤트 세그먼트를 파싱하고, 이벤트 세그먼트를 이벤트 및 메타데이터 버퍼(330)에 첨부할 수 있다. 인밴드 이벤트 및 'moof' 파서(306)는 또한, 미디어 세그먼트를 페칭하고(fetch) 이 미디어 세그먼트를 미디어 버퍼(340)에 첨부할 수 있다. 이벤트 및 메타데이터 버퍼(330)는 이벤트 및 메타데이터 정보를 이벤트 및 메타데이터 동기화기 및 디스패처(335)에 송신할 수 있다. 이벤트 및 메타데이터 동기화기 및 디스패처(335)는, 특정 이벤트를 DASH 플레이어 제어, 선택 및 휴리스틱 로직(302)에, 그리고 애플리케이션 관련 이벤트 및 메타데이터 트랙을 애플리케이션(301)에 디스패칭할 수 있다.
일부 실시예에 따르면, MSE는 파일 포맷 파서(350), 미디어 버퍼(340) 및 미디어 디코더(345)를 포함하는 파이프라인을 포함할 수 있다. MSE(320)는 미디어 세그먼트의 로직 버퍼(들)(logical buffer)이며, 여기서 미디어 세그먼트는 미디어 세그먼트의 프레젠테이션 시간에 기반하여 추적되고 정렬될 수 있다. 미디어 세그먼트는 ad MPD와 연관된 ad 미디어 세그먼트 및 라이브 MPD와 연관된 라이브 미디어 세그먼트를 포함할 수 있지만, 이로 제한되지 않을 수 있다. 각각의 미디어 세그먼트는 미디어 세그먼트의 타임스탬프 오프셋에 기반하여 미디어 버퍼(340)에 부가되거나 첨부될 수 있고, 타임스탬프 오프셋은 미디어 버퍼(340)에서 미디어 세그먼트를 정렬하는 데 사용될 수 있다.
본 출원의 실시예가 MPD 체이닝(chaining)을 사용하여 2개 이상의 비선형 미디어 소스로부터 선형 미디어 소스 확장(MSE) 버퍼를 구축하는 것에 관한 것일 수 있고 그리고 비선형 미디어 소스가 ad MPD 및 라이브 MPD일 수 있으므로, 파일 포맷 파서(350)가 라이브 MPD에 포함된 라이브 미디어 세그먼트에 의해 사용되는 상이한 미디어 및/또는 코덱(codec)을 프로세싱하는 데 사용될 수 있다. 일부 실시예에서, 파일 포맷 파서는 라이브 미디어 세그먼트의 코덱, 프로파일 및/또는 레벨에 기반하여 변경 타입을 발행할 수 있다.
미디어 버퍼(340)에 미디어 세그먼트가 존재하는 한, 이벤트 및 메타데이터 버퍼(330)는 해당 이벤트 세그먼트 및 메타데이터를 유지한다. 샘플 DASH 프로세싱 모델(300)은, 인밴드 및 MPD 이벤트와 연관된 메타데이터를 추적하기 위해 타이밍된 메타데이터 트랙 파서(325)를 포함할 수 있다. 도 3에 따르면, MSE(320)는 파일 포맷 파서(350), 미디어 버퍼(340) 및 미디어 디코더(345)만을 포함한다. 이벤트 및 메타데이터 버퍼(330) 및 이벤트 및 메타데이터 동기화기 및 디스패처(335)는 MSE(320)에 고유하지 않으므로, MSE(320)가 고유하게 이벤트를 프로세싱하고 이를 애플리케이션에 송신하는 것을 금지한다.
양상에 따르면, MPD는 계층적 조직(hierarchical organization)에 미디어 프레젠테이션을 포함할 수 있는 미디어 프레젠테이션 디스크립션이다. MPD는 하나 이상의 시퀀스의 기간(period)을 포함할 수 있으며, 각각의 기간은 하나 이상의 적응 세트(adaptation set)를 포함할 수 있다. MPD에서의 각각의 적응 세트는 하나 이상의 프레젠테이션을 포함할 수 있고, 각각의 프레젠테이션은 하나 이상의 미디어 세그먼트를 포함한다. 이러한 하나 이상의 미디어 세그먼트는 인코딩되고, 디코딩되고 그리고/또는 재생되는 실제 미디어 데이터 및 연관 메타데이터를 전달한다. 본 개시내용의 실시예에 따르면, 오버레이 비디오는 단일 또는 결합된 경험 스트림을 지칭하거나, 또는 pip 비디오 스트림을 지칭할 수 있다.
도 4는 픽처-인-픽처 미디어 프레젠테이션(400)을 예시하는 예시적인 도면이다.
도 4에 도시된 바와 같이, 메인 픽처(405)는 전체 스크린을 차지하는 반면, 오버레이 픽처(픽처-인-픽처(410))는 메인 픽처의 해당 영역을 커버하는, 화면의 작은 영역을 차지한다. 픽처-인-픽처(pip)의 좌표는 x, y, 높이 및 폭에 의해 표시되며, 여기서 이러한 파라미터는 메인 픽처 좌표를 기준으로 pip의 위치 및 크기를 정의한다.
스트리밍의 맥락에서, 메인 비디오(또는 메인 사진(405)) 및 pip 비디오(또는 픽처-인-픽처(410))는 2개의 개별 스트림으로서 전달될 수 있다. 독립적인 스트림이 있는 경우, 이는 개별 디코더에 의해 디코딩된 다음 렌더링을 위해 함께 구성될 수 있다. 다른 실시예로서, 메인 비디오에 사용되는 비디오 코덱이 스트림의 병합을 지원하는 경우, pip 비디오 스트림은 메인 비디오 스트림과 결합된다. 일부 실시예에서, pip 비디오 스트림은 메인 비디오의 커버된 영역에서 스트리밍되는 메인 비디오를 pip 비디오로 교체할 수 있다. 그런 다음, 단일 및/또는 결합된 스트림이 디코딩 및 렌더링을 위해 디코더에 송신된다.
양상에 따라, (메인 스크린에서 말한 것에 서명하는, 스크린 모서리에 있는 사인 비디오와 같이) 메인 비디오와 pip 비디오가 관련된 경우, 메인 비디오에서 pip 비디오의 위치를 변경해야 할 수 있다. 예로서, pip 픽처가 배경(background)에서 전경(foreground)으로 변경되는 영역이 있다면, pip 픽처의 위치를 변경해야 할 수 있다. 유사하게, pip 픽처의 해상도를 변경해야 할 수 있다. 또한, 미디어 프레젠테이션의 어떤 지속기간 동안, pip 픽처가 필요하지 않을 수 있다. 스트리밍 픽처-인-픽처와 관련한 이러한 동적 변경은 DASH에서는 다뤄지지 않는다. 부가적으로, DASH는 또한, 메인 및 pip 비디오 스트림을 변경하지 않고 위치 및 해상도의 이러한 동적 변경을 다루지 못한다.
본 개시내용의 실시예는, 위에서 논의된 기술적 문제를 해결하는 것에 관한 것이다. 실시예에 따라, 픽처-인-픽처는, 메인 비디오 및 pip 비디오가 독립적으로 디코딩된 다음 결합될 수 있는 경우에 DASH에서 전달된다. 다른 실시예에 따라, 픽처-인-픽처는, 메인 비디오 및 pip 비디오가 디코딩 이전에 단일 스트림으로 결합될 수 있고 그리고 단일 스트림으로서 함께 디코딩되는 경우(본원에서 또한 "결합된 스트림"으로 지칭됨)에, DASH에서 전달된다.
메인 비디오 및 pip 비디오가 독립적으로 디코딩되는 경우에, DASH에서 픽처-인-픽처가 전달된다.
pip 비디오 스트림 및 메인 비디오 스트림은 DASH 역할 체계(role scheme)를 사용하여 식별될 수 있다. 양상에 따라, 메인 비디오 스트림은 "메인"의 역할 값을 사용할 수 있는 반면, pip 비디오 스트림은 해당 적응 세트를 식별하기 위해 새로운 값 "pip" 또는 "픽처-인-픽처"를 사용할 수 있다. 일부 실시예에서, 역할 속성의 값(예를 들어, 메인 또는 pip)은, 오버레이된 픽처가 항상 반드시 "서명된" 비디오일 필요는 없기 때문에, "서명된" 값과 무관하다. 이 경우, 양자 모두의 값이 오버레이 비디오의 속성을 시그널링하는 데 사용될 수 있다.
메인 비디오 스트림 및 pip 비디오 스트림은 사전선택 디스크립터를 사용하여 단일 경험(single experience)으로서 그룹화될 수 있다. 일부 실시예에서, pip 비디오 스트림 적응 세트는 메인 비디오 스트림의 적응 세트를 참조하는 사전선택 디스크립터를 포함할 수 있다.
pip 비디오의 위치는 DASH 표준, 예를 들어, 23009-1 부록 H 공간 관계 디스크립터(SRD: Spatial Relation Descriptor)를 사용하여 시그널링될 수 있다. 이 디스크립터는 pip 비디오의 위치 및 크기를 시그널링하는 데 사용될 수 있다. SRD 디스크립터는 공통 좌표계를 기준으로 x, y, 폭 및 높이를 정의할 수 있게 한다. 이 디스크립터는 컴포넌트의 서로에 대한 관계를 정의하기 위해 메인 및 오버레이 비디오 적응 세트 둘 다에서 사용될 수 있다. 다음과 같은 메커니즘 중 하나를 사용하여 위치 및 크기 업데이트가 달성될 수 있다:
(1) 위치, 크기 및/또는 해상도가 변경될 때 새로운 기간을 도입하여 픽처-인-픽처의 위치, 크기, 해상도 등을 업데이트하기 위한 SRD의 값을 업데이트하는 MPD 업데이트;
(1) 23009-1 부록 H에 따른 좌표 정보를 포함하는 메타데이터 트랙의 사용.
메인 비디오 세그먼트 및 pip 비디오 세그먼트가 디코딩 이전에 비디오 스트림과 병합될 때 DASH에서 픽처-인-픽처 전달.
실시예에 따라, 메인 비디오 스트림 및 pip 비디오 스트림 및 pip 비디오 스트림은 사전선택 엘리먼트를 사용하여 단일 경험으로서 그룹화될 수 있다. 일부 실시예에서, 메인 비디오 스트림 및 pip 비디오 스트림을 그룹화하는 것은 사전선택 엘리먼트 내부에서 DASH 역할 체계에 기반하여 pip 비디오 스트림 및 메인 비디오 스트림을 식별하는 것을 포함할 수 있다. 메인 비디오 스트림은 역할에 대해 "메인" 값을 사용할 수 있는 반면, pip 비디오 스트림은 해당 적응 세트를 식별하기 위해 새로운 값 "픽처-인-픽처" 또는 "pip"를 사용할 수 있다. "pip" 또는 "픽처-인-픽처"인 역할의 값은 상호교환적으로 사용되거나 또는 특별한 표시를 가질 수 있다는 것이 이해될 수 있다. 예로서, "pip"의 사용은 오버레이가 뒤따르는 독립적인 디코딩을 표시할 수 있다. 다른 예로서, "픽처-인-픽처"의 사용자는 디코딩이 뒤따르는 단일 경험으로의 그룹화를 표시할 수 있다.
동일한 또는 다른 실시예에 따라, 메인 비디오 스트림 및 pip 비디오 스트림을 그룹화하는 것은, 메인 비디오 스트림의 일부를 오버레이된 비디오 스트림으로 교체하기 위해 정의될 수 있는 Preselection@order에 대한 새로운 값 'pip'을 더 포함할 수 있다. 부가적으로, 일부 실시예에서, 교체 규칙을 정의하기 위해 새로운 속성 Preselection@replacementRules가 부가될 수 있다. 예로서, 사용되는 코덱이 VVC인 경우, @replacementRule이 서브픽처 OD를 포함할 수 있다. @replacementRules 속성의 의미론은 코덱 의존적일 수 있다.
@replacementRules를 포함하는 사전선택된 엘리먼트의 값에 대한 업데이트를 위해 그리고 새로운 기간을 삽입하기 위한 MPD 업데이트가 정의될 수 있다. 실시예에서, pip 비디오 스트림과 메인 비디오 스트림의 병합이 정의될 수 있는 사전선택된 엘리먼트의 값에 대한 업데이트를 위해 그리고 새로운 기간을 삽입하기 위한 MPD 업데이트가 정의될 수 있다.
본 개시내용의 이점은, 픽처-인-픽처 시그널링을 동적으로 효율적으로 수행하기 위해 DASH 표준에 대한 명쾌하고(elegant) 필요한 확장만 있다는 점이다. 실시예에서, 메인 비디오 스트림 및 pip 비디오 스트림의 존재를 표시하기 위해 "픽처-인-픽처"(또는 이의 적절한 버전)의 새로운 역할 값이 DASH 표준에 부가될 수 있다. 동일한 또는 다른 실시예에서, "교체"(또는 이의 적절한 버전)의 새로운 @order 값이 DASH 표준에 부가되어, pip 비디오 스트림이 메인 비디오 스트림의 일부를 교체해야 할 수 있음을 표시할 수 있다. 동일한 또는 다른 실시예에 따라, @replacementRules라 불리는 새로운 속성이 DASH 표준에 부가되어, 메인 비디오 스트림 및 pip 비디오 스트림의 코덱을 기반으로 하나 이상의 교체 규칙을 정의할 수 있다.
본 개시내용의 실시예는, DASH 스트리밍에서 픽처-인-픽처 비디오 및 메인 비디오와 픽처-인-픽처의 관계를 동적으로 시그널링하기 위한 방법, 시스템 및 프로세스에 관한 것일 수 있다. 픽처-인-픽처 비디오 및 메인 비디오가 독립적으로 디코딩될 때, 특정 값을 갖는 역할 속성이 픽처-인-픽처 비디오 스트림을 시그널링하는 데 사용될 수 있다. 일부 실시예에서, 메인 비디오는 역할 값 "메인"을 가질 수 있다. 일부 실시예에서, 사전선택 디스크립터는 픽처-인-픽처 비디오 적응 세트를 메인 비디오 적응 세트에 연계(tie)시키는 데 사용될 수 있다. 일부 실시예에서, 메인 비디오 상의 픽처-인-픽처 비디오의 위치 및 크기는 메인 및 픽처-인-픽처 비디오 적응 세트 둘 다에서 SRD 디스크립터에 의해 정의될 수 있다. 픽처-인-픽처 비디오의 위치 및 크기는, MPD 업데이트를 사용하여 그리고 새로운 SRD 값으로 새로운 기간을 삽입함으로써 업데이트될 수 있다. 다른 실시예에서, 위치 및 크기 정보를 동적으로 전달 및/또는 업데이트하기 위해 메타데이터 트랙이 사용될 수 있다.
본 개시내용의 실시예는, 픽처-인-픽처 비디오와 메인 비디오가 디코딩 이전에 병합될 수 있는 경우, DASH 스트리밍에서 픽처-인-픽처 비디오 및 메인 비디오와 픽처-인-픽처의 관계를 동적으로 시그널링하기 위한 방법, 시스템 및 프로세스에 관한 것일 수 있다. 일부 실시예에서, 메인 및 픽처-인-픽처 적응 세트의 그룹을 시그널링하기 위해 사전선택 엘리먼트가 사용될 수 있다. 특정 값을 가진 역할 속성은, 메인 비디오가 역할 값 "메인"을 갖는 동안 픽처-인-픽처 비디오 스트림을 시그널링하는 데 사용될 수 있다. 일부 실시예에서, 속성 순서에 대한 새로운 값은 픽처-인-픽처 애플리케이션을 시그널링하는 데 사용될 수 있고, 새로운 속성은 디코더로 송신하기 이전에 2개의 스트림이 병합되는 방법을 정의하는 데 사용될 수 있다. 픽처-인-픽처의 위치 및 크기는 새로운 기간을 삽입할 수 있는 MPD 업데이트로 업데이트될 수 있다. 일부 실시예에서, 병합 규칙을 정의하는 속성은 메인 비디오 스트림의 새로운 영역이 픽처-인-픽처 스트림으로 교체되어야 함을 반영하도록 업데이트될 수 있다.
도 5는 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 프로세스(500)의 예시적인 흐름도이다.
동작(510)에서, 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림과 연관된 역할 값에 기반하여 비디오 데이터가 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부가 결정될 수 있다.
동작(515)에서, 제1 메인 비디오 스트림과 제2 픽처-인-픽처 비디오 스트림은 사전선택 디스크립터에 기반하여 단일 비디오 스트림으로서 병합될 수 있고, 여기서 사전선택 디스크립터는 제2 픽처-인-픽처 비디오 스트림과 연관될 수 있다.
일부 실시예에서, 제1 메인 비디오 스트림 및 제2 PIP 비디오 스트림이 그룹화 이전에 독립적으로 디코딩되는지 여부는, 메인 값인 제1 메인 비디오 스트림과 연관된 제1 역할 값 및 픽처-인-픽처 값인 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여 결정될 수 있다. 그런 다음, 적응 세트와 연관된 제1 메인 비디오 콘텐츠가, 제1 메인 비디오 스트림에서 적응 세트를 참조하는 제2 픽처-인-픽처 비디오 스트림과 연관된 사전선택 디스크립터에 기반하여, 단일 비디오 스트림으로서 제2 픽처-인-픽처 비디오 콘텐츠와 그룹화된다. 그룹화하는 것은 추가로, 공간 관계 디스크립터를 사용하여, 제2 픽처-인-픽처 비디오 콘텐츠의 위치, 제2 픽처-인-픽처 비디오 콘텐츠의 크기, 또는 제2 픽처-인-픽처 비디오 콘텐츠의 해상도를 시그널링하는 것을 포함한다.
일부 실시예에서, 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림은, 메인 값인 제1 메인 비디오 스트림과 연관된 제1 역할 값 및 픽처-인-픽처 값인 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여 그룹화 이전에 식별될 수 있다. 그런 다음, 제1 메인 비디오 콘텐츠의 일부를 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 사전선택 디스크립터에서의 순서 값이 정의될 수 있고, 제1 메인 비디오 콘텐츠의 일부를 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 사전선택 디스크립터에서의 하나 이상의 교체 규칙이 정의될 수 있다. 제1 메인 비디오 콘텐츠와 제2 픽처-인-픽처 비디오 콘텐츠는 사전선택 디스크립터에서의 적어도 하나 이상의 교체 규칙에 기반하여 병합될 수 있고, 병합하는 것은 단일 비디오 스트림을 디코딩하기 이전에 수행된다.
동작(520)에서, 사전선택 디스크립터는 업데이트 미디어 프레젠테이션 디스크립터를 사용하여 업데이트될 수 있다. 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림이 그룹화 이전에 독립적으로 디코딩되는 것을 기반으로, 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 제2 픽처-인-픽처 비디오 콘텐츠의 크기가 업데이트 MPD에 기반하여 공간 관계 디스크립터에서 업데이트될 수 있다. 일부 실시예에서, 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 제2 픽처-인-픽처 비디오 콘텐츠의 크기가 좌표 정보를 포함하는 메타데이터 트랙에 기반하여 공간 관계 디스크립터에서 업데이트될 수 있다.
도 5는, 프로세스(500)의 예시적인 블록을 도시하지만, 실시예에서, 프로세스(500)는 도 5에 도시된 것보다 부가적인 블록, 더 적은 수의 블록, 상이한 블록, 또는 그와 다르게 배열된 블록을 포함할 수 있다. 실시예에서, 프로세스(500)의 임의의 블록은, 원하는 대로, 임의의 양 또는 순서로 조합되거나 또는 배열될 수 있다. 실시예에서, 프로세스(500)의 블록 중 2개 이상은 병렬로 수행될 수 있다.
위에서 설명된 기법은, 컴퓨터-판독가능 명령을 사용하여 컴퓨터 소프트웨어로서 구현될 수 있고, 그리고 하나 이상의 컴퓨터-판독가능 매체에 또는 구체적으로 구성된 하나 이상의 하드웨어 프로세서에 의해 물리적으로 저장될 수 있다. 예를 들어, 도 6은 다양한 실시예를 구현하기에 적합한 컴퓨터 시스템(600)을 도시한다.
컴퓨터 소프트웨어는 임의의 적절한 머신 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있으며, 이는, 컴퓨터 CPU(central processing unit), GPU(Graphics Processing Unit) 등에 의해, 직접 실행될 수 있거나 또는 해석, 마이크로-코드 실행 등을 통해 실행될 수 있는 명령을 포함하는 코드를 생성하기 위해, 어셈블리, 컴필레이션(compilation), 링킹 등의 메커니즘으로 처리될 수 있다.
명령은, 예를 들어, 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게이밍 디바이스, 사물 인터넷 디바이스 등을 포함하는, 다양한 타입의 컴퓨터 또는 이의 컴포넌트에서 실행될 수 있다.
컴퓨터 시스템(600)에 대해 도 6에 도시된 컴포넌트는, 사실상 예시적이며, 본 개시내용의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 임의의 제한을 제안하려는 의도는 아니다. 컴포넌트의 구성은 컴퓨터 시스템(600)의 예시적인 실시예에 예시된 컴포넌트 중 임의의 하나 또는 이의 조합과 관련된 임의의 종속성이나 요건을 갖는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(600)은 특정 휴먼 인터페이스 입력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는, 예를 들어, 촉각적 입력(이를테면, 키스트로크, 스와이프, 데이터 글러브 움직임), 오디오 입력(이를테면, 음성, 클랩핑(clapping)), 시각적 입력(이를테면, 제스처), 후각적 입력을 통해, 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스는 또한, 오디오(예를 들어, 스피치, 음악, 주변 소리), 이미지(예를 들어, 스캔된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지), 비디오(이를테면, 2-차원 비디오, 입체 비디오를 포함하는 3-차원 비디오)와 같이, 인간에 의한 의식적인 입력과 반드시 직접 관련된 것은 아닌 특정 미디어를 캡처하는 데 사용될 수 있다.
입력 휴먼 인터페이스 디바이스는 키보드(601), 마우스(602), 트랙 패드(603), 터치 스크린(610), 조이스틱(605), 마이크로폰(606), 스캐너(608), 카메라(607) 중 하나 이상(도면에서는 각각의 하나만이 도시됨)을 포함할 수 있다.
컴퓨터 시스템(600)은 또한, 특정 휴먼 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는, 예를 들어, 촉각적 출력, 소리, 빛 및 냄새/맛을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는, 촉각적 출력 디바이스(예를 들어, 터치 스크린(610) 또는 조이스틱(605)에 의한 촉각적 피드백, 그러나 입력 디바이스로서의 역할을 하지 않는 촉각적 피드백 디바이스가 있을 수도 있음), 오디오 출력 디바이스(이를테면, 스피커(609), 헤드폰), 시각적 출력 디바이스(이를테면, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하는 스크린(610), 이 각각은 터치 스크린 입력 능력이 있거나 없음, 이 각각은 촉각적 피드백 능력이 있거나 없음 ―이 중 일부는 입체 출력과 같은 수단을 통해 2-차원 시각적 출력 또는 3-차원 초과의 출력을 출력할 수 있음; 가상-현실 안경, 홀로그래픽 디스플레이 및 스모크 탱크(smoke tank)), 및 프린터를 포함할 수 있다.
컴퓨터 시스템(600)은 또한, 휴먼 액세스가능 저장 디바이스 및 이의 연관된 매체, 이를테면 CD/DVD 등의 매체(611)를 갖는 CD/DVD ROM/RW(620), 썸-드라이브(thumb-drive)(622), 이동식 하드 드라이브 또는 솔리드 스테이트 드라이브(623)를 포함하는 광학 매체, 레거시 자기 매체, 이를테면, 테이프 및 플로피 디스크(floppy disc), 특수 ROM/ASIC/PLD 기반 디바이스, 이를테면, 보안 동글(security dongle) 등을 포함할 수 있다.
당업자는 또한, 현재 개시되는 청구대상과 관련하여 사용되는 "컴퓨터-판독가능 매체"라는 용어가 전송 매체, 반송파 또는 다른 일시적 신호를 망라하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(600)은 또한, 하나 이상의 통신 네트워크(698)에 대한 인터페이스(699)를 포함할 수 있다. 네트워크는(698), 예를 들어, 무선, 유선, 광학(optical) 네트워크일 수 있다. 네트워크(698)는 추가로, 근거리, 광역, 대도시, 차량 및 산업, 실시간, 지연-내성(delay-tolerant) 네트워크 등일 수 있다. 네트워크(698)의 예는, 이더넷, 무선 LAN과 같은 근거리 네트워크, GSM, 3G, 4G, 5G, LTE 등을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업 네트워크 등을 포함한다. 특정 네트워크(698)는 일반적으로, 특정-범용 데이터 포트 또는 주변 버스(650 및 651)(이를테면, 예를 들어, 컴퓨터 시스템(600)의 USB 포트와 같이)에 부착된 외부 네트워크 인터페이스 어댑터를 필요로 하며; 다른 것은 일반적으로, 아래에 설명되는 바와 같은 시스템 버스에 대한 부착에 의해 컴퓨터 시스템(600)의 코어에 (예를 들어, PC 컴퓨터 시스템에 이더넷 인터페이스가 또는 스마트폰 컴퓨터 시스템에 셀룰러 네트워크 인터페이스가) 통합된다. 이러한 네트워크(698) 중 임의의 것을 사용하여, 컴퓨터 시스템(600)이 다른 엔티티와 통신할 수 있다. 이러한 통신은, 예를 들어 근거리 네트워크 또는 광역 디지털 네트워크를 사용하는 다른 컴퓨터 시스템에 대해, 단방향성의 수신-전용(예를 들어, 브로드캐스트 TV), 단방향성의 송신-전용(예를 들어, CANbus-특정 CANbus 디바이스) 또는 양방향성일 수 있다. 위에서 설명된 바와 같이, 특정 프로토콜 및 프로토콜 스택은 이러한 네트워크 및 네트워크 인터페이스 각각에서 사용될 수 있다.
위에서 논의된 휴먼 인터페이스 디바이스, 휴먼 액세스가능 저장 디바이스 및 네트워크 인터페이스는 컴퓨터 시스템(600)의 코어(640)에 부착될 수 있다.
코어(640)는 하나 이상의 CPU(Central Processing Unit)(641), GPU(Graphics Processing Unit)(642), 그래픽 어댑터(617), FPGA(Field Programmable Gate Areas)(643) 형태의 특수 프로그램가능 프로세싱 유닛, 특정 작업을 위한 하드웨어 가속기(644) 등을 포함할 수 있다. 이러한 디바이스는, ROM(Read-only memory)(645), 랜덤 액세스 메모리(646), 내부 비-사용자 액세스가능 하드 드라이브, SSD 등과 같은 내부 대용량 저장소(647)와 함께, 시스템 버스(648)를 통해 연결될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(648)는 부가적 CPU, GPU 등에 의한 확장을 가능하게 하기 위해 하나 이상의 물리적 플러그의 형태로 액세스가능할 수 있다. 주변 디바이스는 코어의 시스템 버스(648)에 직접 또는 주변 버스(651)를 통해 부착될 수 있다. 주변 버스를 위한 아키텍처는 PCI, USB 등을 포함한다.
CPU(641), GPU(642), FPGA(643) 및 가속기(644)는 앞서 논의된 컴퓨터 코드를 조합하여 구성할 수 있는 특정 명령을 실행할 수 있다. 이 컴퓨터 코드는 ROM(645) 또는 RAM(646)에 저장될 수 있다. 전이 데이터(transitional data)가 또한 RAM(646)에 저장될 수 있는 반면, 영구 데이터는, 예를 들어, 내부 대용량 저장소(647)에 저장될 수 있다. 하나 이상의 CPU(641), GPU(642), 대용량 저장소(647), ROM(645), RAM(646) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해, 메모리 디바이스 중 임의의 메모리 디바이스에 대한 빠른 저장 및 검색이 가능해질 수 있다.
컴퓨터-판독가능 매체는 다양한 컴퓨터-구현 동작을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적을 위해 특별히 설계되고 구성된 것일 수 있거나 또는 매체 및 컴퓨터 코드는 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려져 있고 이들이 이용가능한 종류의 것일 수 있다.
제한이 아닌 예로서, 예시된 아키텍처를 갖는 컴퓨터 시스템(600), 및 구체적으로 코어(640)는, 하나 이상의 유형의(tangible) 컴퓨터-판독가능 매체에 구현된 소프트웨어를 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속기 등을 포함)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터-판독가능 매체는, 위에서 소개된 바와 같은, 사용자 액세스가능 대용량 저장소와 연관된 매체일 수 있을 뿐만 아니라, 코어-내부 대용량 저장소(647) 또는 ROM(645)과 같은 비-일시적 특성을 갖는 코어(640)의 특정 저장소일 수 있다. 본 개시내용의 다양한 실시예를 구현하는 소프트웨어는 이러한 디바이스에 저장되고 코어(640)에 의해 실행될 수 있다. 컴퓨터-판독가능 매체는 특정 필요사항에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는, 코어(640) 및 구체적으로 그 안에 있는 프로세서(CPU, GPU, FPGA 등을 포함)로 하여금, RAM(646)에 저장된 데이터 구조를 정의하는 것 그리고 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여, 본원에서 설명되는 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하게 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은, 본원에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하기 위해 소프트웨어 대신 또는 소프트웨어와 함께 동작할 수 있는 회로(예를 들어, 가속기(644))에 하드와이어링된 또는 다른 방식으로 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는, 적절한 경우, 로직을 포괄할 수 있으며 이 역도 가능하다. 컴퓨터-판독가능 매체에 대한 참조는, 적절한 경우, 실행을 위한 소프트웨어를 저장하는 회로(이를테면, 집적 회로(IC)), 실행을 위한 로직을 구현하는 회로, 또는 이 둘 다를 포괄할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포괄한다.
본 개시내용이 여러 예시적인 실시예를 설명했지만, 본 개시내용의 범위 내에 속하는 변경, 치환 및 다양한 대체 등가물이 존재한다. 따라서, 당업자가 본원에 명시적으로 도시되거나 설명되지 않았지만, 본 개시내용의 원리를 구현하고, 따라서 본 개시내용의 사상 및 범위 내에 있는 수많은 시스템 및 방법을 안출할 수 있을 것임이 이해될 것이다.

Claims (20)

  1. DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처(picture-in-picture) 비디오를 동적으로 시그널링하기 위한 방법으로서,
    상기 방법은 하나 이상의 프로세서에 의해 수행되고,
    상기 방법은,
    제1 메인 비디오 스트림과 연관된 제1 역할 값(role value) 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하는 단계;
    상기 DASH 미디어 스트리밍에서 상기 제2 픽처-인-픽처 비디오 스트림이 상기 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터(preselection descriptor)를 결정하는 단계;
    상기 사전선택 디스크립터를 사용하여 상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계; 및
    업데이트 미디어 프레젠테이션 디스크립터(MPD: media presentation descriptor)를 사용하여 상기 사전선택 디스크립터를 업데이트하는 단계
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계는,
    상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림이 상기 병합 이전에 독립적으로 디코딩되는 것으로 결정하는 단계;
    상기 제1 메인 비디오 스트림에서 적응 세트(adaptation set)를 참조하는 상기 사전선택 디스크립터에 기반하여, 상기 적응 세트와 연관된 제1 메인 비디오 콘텐츠와 제2 픽처-인-픽처 비디오 콘텐츠를 상기 결합된 비디오 스트림으로서 병합하는 단계; 및
    공간 관계 디스크립터를 사용하여, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기, 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 해상도를 시그널링하는 단계
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  3. 제2항에 있어서,
    상기 업데이트 MPD를 사용하여 상기 사전선택 디스크립터를 업데이트하는 단계는, 상기 업데이트 MPD에 기반하여 상기 공간 관계 디스크립터에서 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기를 업데이트하는 단계를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  4. 제2항에 있어서,
    상기 업데이트 MPD를 사용하여 상기 사전선택 디스크립터를 업데이트하는 단계는, 좌표 정보를 포함하는 메타데이터 트랙에 기반하여 상기 공간 관계 디스크립터에서 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기를 업데이트하는 단계를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  5. 제1항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계는,
    상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림을 상기 병합 이전에 식별하는 단계;
    제1 메인 비디오 콘텐츠의 일부를 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 순서 값(order value)을 정의하는 단계; 및
    상기 제1 메인 비디오 콘텐츠의 일부를 상기 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 하나 이상의 교체 규칙을 정의하는 단계
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  6. 제5항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 단계는, 상기 사전선택 디스크립터에서의 적어도 하나 이상의 교체 규칙에 기반하여 상기 제1 메인 비디오 콘텐츠와 상기 제2 픽처-인-픽처 비디오 콘텐츠를 병합하는 단계를 더 포함하고,
    상기 병합하는 단계는 상기 결합된 비디오 스트림을 디코딩하기 전에 수행되는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  7. 제5항에 있어서,
    상기 업데이트 MPD를 사용하여 상기 사전선택 디스크립터를 업데이트하는 단계는, 상기 업데이트 MPD를 기반으로 상기 사전선택 디스크립터에서의 상기 하나 이상의 교체 규칙을 업데이트하는 단계를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  8. 제7항에 있어서,
    상기 하나 이상의 교체 규칙은 코덱 종속적(codec dependent)인, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 동적으로 시그널링하기 위한 방법.
  9. DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치로서,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리;
    상기 컴퓨터 프로그램 코드에 액세스하도록 그리고 상기 컴퓨터 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금, 제1 메인 비디오 스트림과 연관된 제1 역할 값 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하게 하는 제1 결정 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 DASH 미디어 스트리밍에서 상기 제2 픽처-인-픽처 비디오 스트림이 상기 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터를 결정하게 하는 제2 결정 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 사전선택 디스크립터를 사용하여 상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하게 하는 제1 그룹화 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 업데이트 미디어 프레젠테이션 디스크립터(MPD)를 사용하여 상기 사전선택 디스크립터를 업데이트하게 하는 제1 업데이트 코드
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  10. 제9항에 있어서,
    상기 제1 그룹화 코드는,
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림이 상기 병합 이전에 독립적으로 디코딩되는 것으로 결정하게 하도록 구성된 제3 결정 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 메인 비디오 스트림에서 적응 세트를 참조하는 사전선택 디스크립터에 기반하여, 상기 적응 세트와 연관된 제1 메인 비디오 콘텐츠와 제2 픽처-인-픽처 비디오 콘텐츠를 상기 결합된 비디오 스트림으로서 병합하게 하도록 구성된 제2 그룹화 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 공간 관계 디스크립터를 사용하여, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기, 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 해상도를 시그널링하게 하도록 구성된 시그널링 코드
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  11. 제10항에 있어서,
    상기 제1 업데이트 코드는, 상기 적어도 하나의 프로세서로 하여금, 상기 업데이트 MPD에 기반하여 상기 공간 관계 디스크립터에서 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기를 업데이트하게 하는 제2 업데이트 코드를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  12. 제10항에 있어서,
    상기 제1 업데이트 코드는, 상기 적어도 하나의 프로세서로 하여금, 좌표 정보를 포함하는 메타데이터 트랙에 기반하여 상기 공간 관계 디스크립터에서 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기를 업데이트하게 하는 제3 업데이트 코드를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  13. 제9항에 있어서,
    상기 제1 그룹화 코드는,
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림을 상기 병합 이전에 식별하게 하도록 구성된 제1 식별 코드;
    상기 적어도 하나의 프로세서로 하여금, 제1 메인 비디오 콘텐츠의 일부를 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 순서 값을 정의하게 하도록 구성된 제1 정의 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 메인 비디오 콘텐츠의 일부를 상기 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 하나 이상의 교체 규칙을 정의하게 하도록 구성된 제2 정의 코드
    를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  14. 제13항에 있어서,
    상기 제1 그룹화 코드는, 상기 적어도 하나의 프로세서로 하여금, 상기 사전선택 디스크립터에서의 적어도 하나 이상의 교체 규칙에 기반하여 상기 제1 메인 비디오 콘텐츠와 상기 제2 픽처-인-픽처 비디오 콘텐츠를 병합하게 하도록 구성된 병합 코드를 더 포함하고,
    상기 병합하는 것은 상기 결합된 비디오 스트림을 디코딩하기 전에 수행되는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  15. 제13항에 있어서,
    상기 제1 업데이트 코드는, 상기 적어도 하나의 프로세서로 하여금, 상기 업데이트 MPD를 기반으로 상기 사전선택 디스크립터에서의 상기 하나 이상의 교체 규칙을 업데이트하게 하도록 구성된 제4 업데이트 코드를 포함하는, DASH 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 장치.
  16. 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 명령은, DASH(dynamic adaptive streaming over HTTP) 미디어 스트리밍 동안 픽처-인-픽처 비디오를 시그널링하기 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    제1 메인 비디오 스트림과 연관된 제1 역할 값 및 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값에 기반하여, 비디오 데이터가 상기 제1 메인 비디오 스트림 및 제2 픽처-인-픽처 비디오 스트림을 포함하는지 여부를 결정하게 하고;
    상기 DASH 미디어 스트리밍에서 상기 제2 픽처-인-픽처 비디오 스트림이 상기 제1 메인 비디오 스트림과 함께 시그널링되도록 선택되었음을 표시하는 사전선택 디스크립터를 결정하게 하고;
    상기 사전선택 디스크립터를 사용하여 상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하게 하고; 그리고
    업데이트 미디어 프레젠테이션 디스크립터(MPD)를 사용하여 상기 사전선택 디스크립터를 업데이트하게 하는
    하나 이상의 명령을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
  17. 제16항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 것은,
    상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림이 상기 병합 이전에 독립적으로 디코딩되는 것으로 결정하는 것;
    상기 제1 메인 비디오 스트림에서 적응 세트를 참조하는 상기 사전선택 디스크립터에 기반하여, 상기 적응 세트와 연관된 제1 메인 비디오 콘텐츠와 제2 픽처-인-픽처 비디오 콘텐츠를 상기 결합된 비디오 스트림으로서 병합하는 것; 및
    공간 관계 디스크립터를 사용하여, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치, 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기, 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 해상도를 시그널링하는 것
    을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
  18. 제17항에 있어서,
    상기 업데이트 MPD를 사용하여 상기 사전선택 디스크립터를 업데이트하는 것은, 상기 업데이트 MPD에 기반하여 상기 공간 관계 디스크립터에서 상기 제2 픽처-인-픽처 비디오 콘텐츠의 위치 또는 상기 제2 픽처-인-픽처 비디오 콘텐츠의 크기를 업데이트하는 것을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
  19. 제16항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 것은,
    상기 제1 메인 비디오 스트림과 연관된 제1 역할 값이 메인 값이고 그리고 상기 제2 픽처-인-픽처 비디오 스트림과 연관된 제2 역할 값이 픽처-인-픽처 값 또는 특정 값이라는 것에 기반하여, 상기 제1 메인 비디오 스트림 및 상기 제2 픽처-인-픽처 비디오 스트림을 상기 병합 이전에 식별하는 것;
    제1 메인 비디오 콘텐츠의 일부를 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 순서 값을 정의하는 것; 및
    상기 제1 메인 비디오 콘텐츠의 일부를 상기 제2 픽처-인-픽처 비디오 콘텐츠로 교체하기 위해 상기 사전선택 디스크립터에서 하나 이상의 교체 규칙을 정의하는 것
    을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
  20. 제19항에 있어서,
    상기 제1 메인 비디오 스트림과 상기 제2 픽처-인-픽처 비디오 스트림을 결합된 비디오 스트림으로서 병합하는 것은, 상기 사전선택 디스크립터에서의 적어도 하나 이상의 교체 규칙에 기반하여 상기 제1 메인 비디오 콘텐츠와 상기 제2 픽처-인-픽처 비디오 콘텐츠를 병합하는 것을 더 포함하고,
    상기 병합하는 것은 상기 결합된 비디오 스트림을 디코딩하기 전에 수행되는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
KR1020237027475A 2021-10-05 2022-09-23 동적 dash 픽처-인-픽처 스트리밍을 위한 방법 및 장치 KR20230131911A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163252398P 2021-10-05 2021-10-05
US63/252,398 2021-10-05
US17/949,528 US20230108426A1 (en) 2021-10-05 2022-09-21 Method and apparatus for dynamic dash picture-in-picture streaming
US17/949,528 2022-09-21
PCT/US2022/044499 WO2023059452A1 (en) 2021-10-05 2022-09-23 Method and apparatus for dynamic dash picture-in-picture streaming

Publications (1)

Publication Number Publication Date
KR20230131911A true KR20230131911A (ko) 2023-09-14

Family

ID=85773991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237027475A KR20230131911A (ko) 2021-10-05 2022-09-23 동적 dash 픽처-인-픽처 스트리밍을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US20230108426A1 (ko)
EP (1) EP4226636A4 (ko)
JP (1) JP2024513445A (ko)
KR (1) KR20230131911A (ko)
CN (1) CN116438803A (ko)
WO (1) WO2023059452A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3092806A4 (en) * 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
WO2016182371A1 (ko) * 2015-05-12 2016-11-17 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US20180270515A1 (en) * 2015-10-01 2018-09-20 Vid Scale, Inc. Methods and systems for client interpretation and presentation of zoom-coded content
US11202117B2 (en) * 2017-07-03 2021-12-14 Telefonaktiebolaget Lm Ericsson (Publ) Methods for personalized 360 video delivery
US11665219B2 (en) * 2017-07-10 2023-05-30 Qualcomm Incorporated Processing media data using a generic descriptor for file format boxes

Also Published As

Publication number Publication date
US20230108426A1 (en) 2023-04-06
CN116438803A (zh) 2023-07-14
EP4226636A1 (en) 2023-08-16
JP2024513445A (ja) 2024-03-25
EP4226636A4 (en) 2023-10-04
WO2023059452A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
EP4111675A1 (en) Method and apparatus for media streaming
US20230108426A1 (en) Method and apparatus for dynamic dash picture-in-picture streaming
CN114514752A (zh) 用于交互式播放dash内容的应用程序预期交互式选择信息
JP7477645B2 (ja) Process@appendおよびprocess@playモードを使用してメディアと共にdashおよびcmafインバンドイベントを処理するためのw3cメディア拡張
US11799943B2 (en) Method and apparatus for supporting preroll and midroll during media streaming and playback
US11973820B2 (en) Method and apparatus for mpeg dash to support preroll and midroll content during media playback
US20240129537A1 (en) Method and apparatus for signaling cmaf switching sets in isobmff
US20230224557A1 (en) Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties
JP7483919B2 (ja) Httpによる動的適応ストリーミングのための方法及び装置
KR102659938B1 (ko) Http를 통한 동적 적응 스트리밍을 위한 방법 및 장치
US11838602B2 (en) MPD chaining in a live CMAF/DASH player using W3C media source and encrypted extensions
US11882170B2 (en) Extended W3C media extensions for processing dash and CMAF inband events
JP2023519240A (ja) Httpによる動的適応ストリーミングのための方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination