KR20240008319A - 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환 - Google Patents

사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환 Download PDF

Info

Publication number
KR20240008319A
KR20240008319A KR1020237039082A KR20237039082A KR20240008319A KR 20240008319 A KR20240008319 A KR 20240008319A KR 1020237039082 A KR1020237039082 A KR 1020237039082A KR 20237039082 A KR20237039082 A KR 20237039082A KR 20240008319 A KR20240008319 A KR 20240008319A
Authority
KR
South Korea
Prior art keywords
video frames
content
written video
client device
written
Prior art date
Application number
KR1020237039082A
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 KR20240008319A publication Critical patent/KR20240008319A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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
    • 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/75Media network packet handling
    • 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/756Media network packet handling adapting media to device capabilities
    • 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/765Media network packet handling intermediate
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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/8545Content authoring for generating interactive applications

Abstract

복수의 네트워크 인터페이스를 포함하는 네트워크 장치에서 방법이 수행된다. 본 방법은 복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 클라이언트 장치로부터 수신하는 단계를 포함한다. 본 방법은 상기 재생 요청의 수신에 대응하여, 상기 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 상기 클라이언트 장치로 전달하는 단계를 포함한다. 본 방법은 상기 복수의 미리 작성된 비디오 프레임의 제1 부분과 상기 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출하는 단계를 포함한다. 본 방법은 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족함을 검출한 것에 대응하여, 상기 클라이언트 장치에 상기 사용자 맞춤형 콘텐츠의 전달을 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분의 전달로 전환하는 단계를 포함한다.

Description

사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환
본 개시는 콘텐츠 전송에 관한 것이고, 특히 서로 다른 콘텐츠 유형의 전송간 전환에 관한 것이다.
일부 상황에서, 콘텐츠 전송 전개(content delivery deployment)에는 클라이언트 장치에 서로 다른 각 콘텐츠 유형을 집단적으로 전송하는 복수의 소스 장치가 포함된다. 예를 들어, 제1 소스 장치는 영화, TV 쇼, 광고 등과 같은 미디어 개체를 전송한다. 다른 예로, 제2 소스 장치는 클라이언트 장치가 하나 이상의 미디어 개체와 인터페이스 할 수 있도록 하는 사용자 인터페이스(UI) 콘텐츠를 전송한다. 그러나, 현재의 콘텐츠 전송 전개에는 클라이언트 장치로 서로 다른 콘텐츠 유형의 전송 간의 효율적인 전환을 위한 메커니즘이 포함되어 있지 않다.
클라이언트 장치로의 서로 다른 콘텐츠 유형의 전송 간의 효율적인 전환 기술이 개시된다. 본 개시는 콘텐츠 전송에 관한 것이고, 특히 서로 다른 콘텐츠 유형의 전송간 전환에 관한 것이다.
클라이언트 장치로의 서로 다른 콘텐츠 유형의 전송 간의 효율적인 전환 기술이 개시된다. 이를 위해, 일부 실시예에서, 네트워크 장치는 각각의 콘텐츠 유형을 제공하는 복수의 소스 장치와 통신하고, 네트워크 장치는 전환 조건의 충족 감지에 의거하여 클라이언트 장치에 서로 다른 콘텐츠 유형의 전송을 전환한다. 예를 들어, 네트워크 장치는 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠 간의 시간적 관계를 특징짓는 타이밍 기준의 충족 감지에 의거하여 사용자 맞춤형 콘텐츠(예: 사용자 인터페이스(UI) 콘텐츠)와 미리 작성된 미디어 콘텐츠(예: 적응 비트율(ABR) 콘텐츠)의 전송을 전환하는 것을 용이하게 한다. 이에 따라, 다른 콘텐츠 전송 전개에 비해 서로 다른 콘텐츠 유형의 전송 간 전환이 더욱 원활하게 이루어진다. 따라서, 클라이언트 장치는 서로 다른 콘텐츠 유형의 수신 간에 더욱 원활한 전환을 경험하여 사용자 경험의 품질을 향상시킨다.
일부 실시예에 따라, 복수의 네트워크 인터페이스를 포함하는 네트워크 장치에서 방법이 수행된다. 예를 들어, 네트워크 장치는 클라우드에 있거나 클라우드 근처에, 하나 이상의 소스 장치 근처에 있는 엣지 장치(edge device)에 해당한다. 방법은 클라이언트 장치로부터 복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 복수의 네트워크 인터페이스 중 특정 하나를 통해 수신하는 단계를 포함한다. 방법은 재생 요청의 수신에 대응하여, 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 클라이언트 장치에 전달하는 단계를 포함한다. 방법은 복수의 미리 작성된 비디오 프레임의 제1 부분과 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출하는 단계를 포함한다. 방법은 복수의 미리 작성된 비디오 프레임의 제1 부분과 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족함을 검출한 것에 대응하여, 클라이언트 장치에 사용자 맞춤형 콘텐츠의 전달을 복수의 미리 작성된 비디오 프레임의 제1 부분의 전달로 전환하는 단계를 포함한다.
일부 실시예에 따라, 네트워크 장치는 하나 이상의 프로세서, 비일시적 메모리, 및 복수의 네트워크 인터페이스를 포함한다. 하나 이상의 프로그램이 비일시적 메모리에 저장되고 하나 이상의 프로세서에 의해 실행되도록 구성되며, 하나 이상의 프로그램은 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하기 위한 명령을 포함한다. 일부 실시예에 따르면, 비일시적 컴퓨터 판독가능 저장 매체에는 네트워크 장치의 하나 이상의 프로세서에 의해 실행되는 경우에 네트워크 장치가 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하도록 하는 명령이 저장되어 있다. 일부 실시예에 따르면, 네트워크 장치는 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하는 수단을 포함한다. 일부 실시예에 따르면, 네트워크 장치에서 사용되기 위한 정보 처리 장치는 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하는 수단을 포함한다.
콘텐츠 전송 전개에는 클라이언트 장치로 각각 상이한 콘텐츠 유형을 집단적으로 전송하는 복수의 소스 장치가 포함되는 경우가 많다. 예를 들면, 제1 소스 장치는 영화, TV 쇼, 광고 등과 같은 미디어 개체를 전송한다. 특정 미디어 개체는 동일한 내용의 미디어 콘텐츠의 상이한 표현(예: 상이한 인코딩 속도로 제공되는 상이한 비디오 해상도)에 해당하는 적응 비트율(ABR) 비디오 세그먼트를 포함할 수 있다. 제1 소스 장치는 주문형 비디오(VOD) 콘텐츠 또는 오버 더 탑(OTT) 콘텐츠와 같은 스트리밍 비디오 서비스와 관련하여 미디어 개체를 클라이언트 장치에 제공할 수 있다. 다른 예를 들면, 제2 소스 장치는 클라이언트 장치가 하나 이상의 미디어 개체와 인터페이스할 수 있도록 하는 사용자 인터페이스(UI) 콘텐츠를 전송한다. 예를 들어, UI 재생 메뉴는 현재 재생 중인 미디어 개체에 대한 재생 제어를 제공하고, UI 홈 스크린은 상이한 미디어 개체의 각 미리보기(예: 썸네일)를 포함한다. 그러나 현재의 콘텐츠 전송 전개에는 클라이언트 장치에 서로 다른 콘텐츠 유형의 전송을 효율적으로 전환하는 메커니즘이 포함되어 있지 않다. 예컨대, 클라이언트 장치는 각 소스 장치로부터의 다양한 콘텐츠 유형을 요청하고, 클라이언트 장치도 해당 전환을 수행한다. 이에 따라, 클라이언트 장치와 각 소스 장치 간의 네트워크 지연이 클라이언트 장치의 전환 효율성을 제한한다. 또한, 클라이언트 장치는 제1 소스 장치와 관련된 정보를 제2 소스 장치에 제공(또는 그 반대)하는 메커니즘이 없어서 전환 효율성을 향상에 한계가 있다.
반면에, 이하 기재된 다양한 실시예는 클라이언트 장치에 상이한 콘텐츠 유형의 전송 간의 더욱 효율적인 전환을 제공한다.
도 1은 일부 실시예에 따른 제1 콘텐츠 전송 환경의 일례를 도시한 구성도이다.
도 2는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환을 용이하게 하는 제2 콘텐츠 전송 환경의 일례를 도시한 구성도이다.
도 3은 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환을 하는 전환 시스템의 일례를 도시한 구성도이다.
도 4는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환 방법의 타임라인 표현을 나타내는 일례를 도시한 것이다.
도 5는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환 방법의 순서도의 일례를 도시한 것이다.
통상적인 실무에 따라, 도면에 도시된 다양한 특징은 정확한 축척 비율로 도시된 것이 아닐 수 있다. 이에 따라, 다양한 특징은 명확하게 도시하기 위하여 임의로 확대되거나 축소될 수 있다. 또한, 일부 도면은 특정 시스템, 방법, 또는 장치의 모든 구성을 도시한 것이 아닐 수 있다. 또한, 본 명세서와 도면 전반에 걸쳐, 유사한 특징에는 유사한 참조번호가 사용될 수 있다.
본 개시의 기술분야의 당업자는 예시적인 일부 실시예를 참조한 상세한 설명을 통하여 본 개시를 이해할 수 있을 것이며, 이러한 실시예의 일부는 첨부한 도면에 다음과 같이 도시되어 있다.
이하, 도면에 도시된 예시적인 실시예들의 완전한 이해를 제공하기 위해 여러 세부 사항을 설명한다. 단, 도면은 본 개시의 일부 예시적인 측면만을 도시하므로, 본 개시가 이에 한정되는 것으로 간주해선 안 된다. 본 개시의 기술분야의 당업자라면 본 개시의 다른 양상 및/또는 변형은 여기에 설명된 모든 특정 세부 사항을 포함하지 않는다는 것을 이해할 것이다. 또한, 여기에 기재된 예시적인 실시예의 요지를 흐리지 않기 위하여, 공지의 시스템, 방법, 구성, 장치, 및 회로에 대하여 빠짐없이 설명하지 않는다.
클라이언트 장치로의 서로 다른 콘텐츠 유형의 전송 간의 효율적인 전환 기술이 개시된다. 이를 위해, 일부 실시예에서, 네트워크 장치는 각각의 콘텐츠 유형을 제공하는 복수의 소스 장치와 통신하고, 네트워크 장치는 전환 조건의 충족 감지에 의거하여 클라이언트 장치에 서로 다른 콘텐츠 유형의 전송을 전환한다. 예를 들어, 네트워크 장치는 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠 간의 시간적 관계를 특징짓는 타이밍 기준의 충족 감지에 의거하여 사용자 맞춤형 콘텐츠(예: 사용자 인터페이스(UI) 콘텐츠)와 미리 작성된 미디어 콘텐츠(예: 적응 비트율(ABR) 콘텐츠)의 전송을 전환하는 것을 용이하게 한다. 이에 따라, 다른 콘텐츠 전송 전개에 비해 서로 다른 콘텐츠 유형의 전송 간 전환이 더욱 원활하게 이루어진다. 따라서, 클라이언트 장치는 서로 다른 콘텐츠 유형의 수신 간에 더욱 원활한 전환을 경험하여 사용자 경험의 품질을 향상시킨다.
일부 실시예에 따라, 복수의 네트워크 인터페이스를 포함하는 네트워크 장치에서 방법이 수행된다. 예를 들어, 네트워크 장치는 클라우드에 있거나 클라우드 근처에, 하나 이상의 소스 장치 근처에 있는 엣지 장치(edge device)에 해당한다. 방법은 클라이언트 장치로부터 복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 복수의 네트워크 인터페이스 중 특정 하나를 통해 수신하는 단계를 포함한다. 방법은 재생 요청의 수신에 대응하여, 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 클라이언트 장치에 전달하는 단계를 포함한다. 방법은 복수의 미리 작성된 비디오 프레임의 제1 부분과 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출하는 단계를 포함한다. 방법은 복수의 미리 작성된 비디오 프레임의 제1 부분과 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족함을 검출한 것에 대응하여, 클라이언트 장치에 사용자 맞춤형 콘텐츠의 전달을 복수의 미리 작성된 비디오 프레임의 제1 부분의 전달로 전환하는 단계를 포함한다.
일부 실시예에 따라, 네트워크 장치는 하나 이상의 프로세서, 비일시적 메모리, 및 복수의 네트워크 인터페이스를 포함한다. 하나 이상의 프로그램이 비일시적 메모리에 저장되고 하나 이상의 프로세서에 의해 실행되도록 구성되며, 하나 이상의 프로그램은 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하기 위한 명령을 포함한다. 일부 실시예에 따르면, 비일시적 컴퓨터 판독가능 저장 매체에는 네트워크 장치의 하나 이상의 프로세서에 의해 실행되는 경우에 네트워크 장치가 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하도록 하는 명령이 저장되어 있다. 일부 실시예에 따르면, 네트워크 장치는 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하는 수단을 포함한다. 일부 실시예에 따르면, 네트워크 장치에서 사용되기 위한 정보 처리 장치는 여기에 기재된 임의의 모든 방법의 동작을 수행하거나 동작의 수행을 유발하는 수단을 포함한다.
콘텐츠 전송 전개에는 클라이언트 장치로 각각 상이한 콘텐츠 유형을 집단적으로 전송하는 복수의 소스 장치가 포함되는 경우가 많다. 예를 들면, 제1 소스 장치는 영화, TV 쇼, 광고 등과 같은 미디어 개체를 전송한다. 특정 미디어 개체는 동일한 내용의 미디어 콘텐츠의 상이한 표현(예: 상이한 인코딩 속도로 제공되는 상이한 비디오 해상도)에 해당하는 적응 비트율(ABR) 비디오 세그먼트를 포함할 수 있다. 제1 소스 장치는 주문형 비디오(VOD) 콘텐츠 또는 오버 더 탑(OTT) 콘텐츠와 같은 스트리밍 비디오 서비스와 관련하여 미디어 개체를 클라이언트 장치에 제공할 수 있다. 다른 예를 들면, 제2 소스 장치는 클라이언트 장치가 하나 이상의 미디어 개체와 인터페이스할 수 있도록 하는 사용자 인터페이스(UI) 콘텐츠를 전송한다. 예를 들어, UI 재생 메뉴는 현재 재생 중인 미디어 개체에 대한 재생 제어를 제공하고, UI 홈 스크린은 상이한 미디어 개체의 각 미리보기(예: 썸네일)를 포함한다. 그러나 현재의 콘텐츠 전송 전개에는 클라이언트 장치에 서로 다른 콘텐츠 유형의 전송을 효율적으로 전환하는 메커니즘이 포함되어 있지 않다. 예컨대, 클라이언트 장치는 각 소스 장치로부터의 다양한 콘텐츠 유형을 요청하고, 클라이언트 장치도 해당 전환을 수행한다. 이에 따라, 클라이언트 장치와 각 소스 장치 간의 네트워크 지연이 클라이언트 장치의 전환 효율성을 제한한다. 또한, 클라이언트 장치는 제1 소스 장치와 관련된 정보를 제2 소스 장치에 제공(또는 그 반대)하는 메커니즘이 없어서 전환 효율성을 향상에 한계가 있다.
반면에, 이하 기재된 다양한 실시예는 클라이언트 장치에 상이한 콘텐츠 유형의 전송 간의 더욱 효율적인 전환을 제공한다.
도 1은 일부 실시예에 따른 제1 콘텐츠 전송 환경(100)의 일례를 도시한 구성도이다. 간략히 설명하면, 제1 콘텐츠 전송 환경(100)은 복수의 소스 장치에서 다양한 콘텐츠 유형을 하나 이상의 클라이언트 장치(160-1 내지 160-P)에 제3 네트워크(150)를 통해 전송하는 하나 이상의 엣지 장치(140-1 내지 140-O)를 포함한다. 이를 위해, 각각의 엣지 장치(140-1 내지 140-O)는 복수의 소스 장치와의 통신과 하나 이상의 클라이언트 장치와 통신을 가능하게 하는 복수의 네트워크 인터페이스를 포함한다. 복수의 네트워크 인터페이스는 개인 영역 네트워크(PAN), 유선 로컬 영역 네트워크(LAN), 무선 로컬 영역 네트워크(WLAN), 무선 광역 네트워크(WWAN) 등과 연관될 수 있다. 복수의 네트워크 인터페이스는 음향, 무선 주파수, 광학 또는 기타 신호를 활용하여 복수의 소스 장치와 클라이언트 장치(160-1 내지 160-P) 간에 데이터를 교환할 수 있다. 복수의 소스 장치는 하나 이상의 대화형(interactive) 소스 장치(102-1 내지 102-N)와 하나 이상의 공통 소스 장치(120-1 내지 120-M)를 포함한다. 대화형 소스 장치(102-1 내지 102-N)는 제1 네트워크(110)를 통해 엣지 장치(140-1 내지 140-O)에 각 콘텐츠를 제공하고, 공통 소스 장치(120-1 내지 120-M)는 제2 네트워크(130)를 통해 엣지 장치(140-1 내지 140-O)에 각 콘텐츠를 제공한다.
특정 대화형 소스 장치는 엣지 장치에 사용자 인터페이스(UI) 요소(예: 포스터 또는 배너)와 같은 사용자 맞춤형 콘텐츠를 제공한다. 엣지 장치는 UI 요소를 요청한 클라이언트 장치에 궁극적으로 UI 요소를 전달한다. 예를 들어, 클라이언트 장치에서 홈 스크린(예: 상이한 영화/TV 제목의 미리 보기를 제공하는 일련의 썸네일)을 요청하는 키 입력의 수신에 의거하여, 엣지 장치는 대화형 소스 장치에 요청을 전달한다. 이러한 예에서, 엣지 장치는 요청을 충족시키기 위해 홈 스크린 콘텐츠를 대화형 소스 장치에서 클라이언트 장치로 전달한다. 다양한 실시예에 따르면, 대화형 소스 장치는 사용자 맞춤형 콘텐츠를 수정하고, 수정된 사용자 맞춤형 콘텐츠를 엣지 장치에 제공할 수 있다. 예를 들어, 대화형 소스 장치는 UI 콘텐츠를 미리 작성된 미디어 콘텐츠와 합성하고, UI 콘텐츠와 미리 작성된 미디어 콘텐츠를 포함하는 비디오 프레임을 엣지 장치에 제공할 수 있다. 일례로, 대화형 소스 장치는 ABR 비디오 스트림의 I-프레임과 같은 참조 미리 작성된 비디오 프레임에 UI 콘텐츠를 오버레이(overlay)한다.
특정 공통 소스 장치는 복수의 미리 작성된 비디오 프레임과 같은 미리 작성된 미디어 콘텐츠를 엣지 장치에 제공한다. 미리 작성된 미디어 콘텐츠는 비디오 데이터, 오디오 데이터 등과 같은 임의의 모든 멀티미디어 데이터를 포함할 수 있다. 예를 들어, 미리 작성된 미디어 콘텐츠는 복수의 적응 비트율(ABR) 비디오 세그먼트를 포함한다. 일부 실시예에서, 공통 소스 장치(들)(120-1 내지 120-M)은 콘텐츠 전송 네트워크(CDN)와 같은 분산 콘텐츠 전송 시스템의 네트워크에 해당한다.
각각의 제1 네트워크(110), 제2 네트워크(130), 및 제3 네트워크(150)는 다양한 서로 다른 유형의 네트워크 중의 하나에 해당할 수 있다. 예를 들어, 네트워크 중의 하나는 와이파이 네트워크, 와이파이 다이렉트 네트워크, 블루투스, 라디오 네트워크, 이동통신 네트워크(예: 3세대, 4세대(예: LTE), 및/또는 5세대(5G)), 위성 네트워크, 케이블 네트워크, 유선 기반 네트워크, 인터넷, 인트라넷, 전화망, 텔레비전 네트워크, 데이터 네트워크, 또는 다수의 컴퓨팅 장치를 서로 연결하는 기타 통신 매체 중의 하나에 해당할 수 있지만, 이에 한정되지 않는다.
엣지 장치(140-1 내지 140-O)는 복수의 소스 장치에서 하나 이상의 클라이언트 장치(160-1 내지 160-P)로 다양한 콘텐츠 유형을 전달한다. 일부 실시예에서, 엣지 장치(140-1 내지 140-O)와 클라이언트 장치(160-1 내지 160-P) 사이에는 일대일 대응 관계가 있다. 예를 들어, 제1 엣지 장치는 제1 클라이언트 장치에 콘텐츠를 전달하고, 제2 엣지 장치는 제2 클라이언트 장치에 콘텐츠를 전달하는 등이다. 일부 실시예에서, 예컨대 복수의 클라이언트 장치가 공통 특성(예: 유사한 지리적 위치, 유사한 시청 패턴 등)을 공유하는 경우에, 특정 엣지 장치는 복수의 클라이언트 장치에 콘텐츠를 전달한다. 클라이언트 장치(160-1 내지 160-P)의 예로는 노트북, 스마트폰, 태블릿 등과 같이 최종 사용자가 직접 사용할 수 있는 사용자 장비(UE)가 포함된다.
도 2는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환을 용이하게 하는 제2 콘텐츠 전송 환경(200)의 일례를 도시한 구성도이다. 제2 콘텐츠 전송 환경(200)은 대화형 소스 장치(202), 공통 소스 장치(220), 엣지 장치(240), 클라이언트 장치(260)를 포함한다. 일부 실시예에서, 제2 콘텐츠 전송 환경(200)의 부분들은 제1 콘텐츠 전송 환경(100)의 해당 부분들과 유사하고 해당 부분들을 적응시킨 것이다. 네트워크의 설명은 명확성을 위해 생략되었다. 엣지 장치(240)는 대화형 소스 장치(202), 공통 소스 장치(220), 또는 클라이언트 장치(260)와 동일한 위치에 있지 않다(예: 물리적으로 분리되어 있다.). 이에 따라, 엣지 장치(240)는 복수의 네트워크 인터페이스(명확성을 위해 생략됨)를 포함한다. 예를 들어, 엣지 장치(240)는 대화형 소스 장치(202)와 통신하기 위한 제1 네트워크 인터페이스, 공통 소스 장치(220)와 통신하기 위한 제2 네트워크 인터페이스, 및 클라이언트 장치(260)와 통신하기 위한 제3 네트워크 인터페이스를 포함한다.
엣지 장치(240)는 클라이언트 장치(260)의 해당 요청에 기반하여 사용자 맞춤형 콘텐츠를 검색하는 사용자 맞춤형 콘텐츠 검색 시스템(242)을 포함한다. 예를 들어, 사용자 맞춤형 콘텐츠 검색 시스템(242)은 클라이언트 장치(260)에서 재생 요청(270)을 수신한다. 재생 요청(270)은 엣지 장치(240)가 공통 소스 장치(220)에서 수신하는 복수의 미리 작성된 비디오 프레임(276)과 관련된다. 예를 들어, 재생 요청(270)은 재생 요청된 특정 영화 또는 TV 쇼를 식별하는 미디어 개체 식별자와 같은 복수의 미리 작성된 비디오 프레임(276)과 관련된 메타데이터를 포함한다. 재생 요청(270)은 클라이언트 장치(260)에서 수신된 다양한 키 입력에 해당할 수 있다. 일례로, 클라이언트 장치(260)에서 일시 정지된 미리 작성된 미디어 비디오 프레임에 재생 제어 UI가 오버레이되는 동안, 재생 요청(270)은 재생 제어 UI에서 재생 재개 버튼을 선택하는 것에 해당한다. 다른 예로, 재생 요청(270)은 VOD 또는 OTT 서비스와 관련된 UI 홈페이지 내에 있는 것과 같은 UI 배너에서 영화 썸네일 또는 TV 썸네일을 선택하는 것에 해당한다. 일부 실시예에서, 재생 요청(270)은 저 지연성 피어 투 피어 프로토콜(low-latency peer-to-peer protocol)과 같은 제1 미리 정의된 프로토콜에 따라 수신된다. 예를 들어, 엣지 장치(240)는 웹 실시간 통신(Web Real-Time Communication 또는 WebRTC) 채널을 통해 클라이언트 장치와 통신한다. 사용자 맞춤형 콘텐츠 검색 시스템(242)은 재생 요청(270)을 대화형 소스 장치(202)에 전달한다.
재생 요청(270)의 수신에 의거하여, 대화형 소스 장치(202)는 사용자 맞춤형 콘텐츠(274)를 사용자 맞춤형 콘텐츠 검색 시스템(242)에 제공한다. 이를 위해, 대화형 소스 장치(202)는 사용자 맞춤형 콘텐츠(274)를 렌더링하는 렌더링 시스템(204)을 포함한다. 또한, 일부 실시예에서, 대화형 소스 장치(202)는 클라이언트 장치(260)에 의해 자주 요청되거나 클라이언트 장치(260)에 의해 요청될 것으로 예측되는 사용자 맞춤형 콘텐츠와 같은 특정 렌더링된 사용자 맞춤형 자산을 저장하는 렌더링된 자산 데이터 저장소(206)를 포함한다. 이에 따라, 사용자 맞춤형 콘텐츠 검색 시스템(242)은 사용자 맞춤형 콘텐츠(274)를 전환 시스템(244)에 제공한다. 엣지 장치(240)의 전환 상태에 따라, 엣지 장치(240)는 사용자 맞춤형 콘텐츠(274)를 클라이언트 장치(260)에 전달할 수도 있고 전달하지 않을 수도 있다. 전환에 대한 상세한 내용은 도 2의 전환 시스템(244)과 도 3의 전환 시스템(350)을 참조하여 기재되어 있다.
일부 실시예에서 대화형 소스 장치(202)는 엣지 장치에 종료 지시자(290)를 제공한다. 종료 지시자(290)의 수신에 의거하여, 엣지 장치(240)는 대화형 소스 장치(202)에 추가 사용자 맞춤형 콘텐츠 제공을 중단하도록 지시하고, 클라이언트 장치(260)에 대기 중인 미리 작성된 비디오 프레임(예: 제1 버퍼(246)에 저장된 비디오 프레임)을 전송하기 시작할 수 있다. 대화형 소스 장치(202)에 추가 사용자 맞춤형 콘텐츠 제공을 중단하도록 지시하면 대화형 소스 장치(202)와 관련된 사용자 맞춤형 콘텐츠 렌더링에 필요한 리소스 사용이 줄어들고, 대화형 소스 장치(202)와 엣지 장치(240 ) 간의 채널(예: 링크) 사용도 감소한다. 종료 지시자 사용에 대한 추가적인 상세 내용은 도 4를 참조하여 제공된다.
엣지 장치(240)는 공통 소스 장치(220)로부터 복수의 미리 작성된 비디오 프레임(276)을 검색하는 미리 작성된 콘텐츠 검색 시스템(248)을 포함한다. 이를 위해, 일부 실시예에서, 공통 소스 장치(220)는 하나 이상의 미리 작성된 미디어 객체 데이터 저장소(222-1 내지 222-Q)를 포함한다. 각각의 미리 작성된 미디어 객체 데이터 저장소(222-1 내지 222-Q)는 서로 다른 미디어 객체와 관련된 비디오 프레임을 저장할 수 있다. 예를 들어, 제1 미리 작성된 미디어 객체 데이터 저장소(222-1)는 제1 영화와 관련된 비디오 프레임을 저장하고, 제2 미리 작성된 미디어 객체 데이터 저장소(222-2)는 제1 TV 쇼와 관련된 비디오 프레임을 저장하고, 제3 미리 작성된 미디어 객체 데이터 저장소(222-3)는 제2 영화와 관련된 비디오 프레임을 저장한다. 또한, 일부 실시예에서, 공통 소스 장치(220)는 미리 작성된 미디어 객체 선택자(224)를 포함한다. 미리 작성된 미디어 객체 선택자(224)는 특정 미리 작성된 미디어 객체를 선택하고(예: 재생 요청(270)에 의거), 공통 소스 장치(220)는 미리 작성된 콘텐츠 검색 시스템(248)에 특정 미리 작성된 미디어 객체에 해당하는 미리 작성된 비디오 프레임을 제공한다.
일부 실시예에서, 미리 작성된 콘텐츠 검색 시스템(248)은 복수의 미리 작성된 비디오 프레임(276)을 직접 전환 시스템(244)에 제공한다. 일부 실시예에서, 미리 작성된 콘텐츠 검색 시스템(248)은 엣지 장치의 제1 버퍼(246)에 복수의 미리 작성된 비디오 프레임(276)을 저장하고, 전환 시스템(244)은 제1 버퍼(246)에서 복수의 미리 작성된 비디오 프레임(276)의 적어도 일부를 획득한다. 엣지 장치(240)의 전환 상태에 따라, 엣지 장치(240)는 복수의 미리 작성된 비디오 프레임(276)을 클라이언트 장치(260)에 전달할 수도 있고 전달하지 않을 수도 있다. 전환에 대한 상세한 내용은 도 2의 전환 시스템(244) 및 도 3의 전환 시스템(350)을 참조하여 설명한다.
일부 실시예에서, 미리 작성된 콘텐츠 검색 시스템(248)은 재생 요청(270)의 수신에 대응하여 복수의 미리 작성된 비디오 프레임(276)을 검색한다. 예를 들어, 재생 요청(270)은 배너(예: 홈 화면 내)에서 영화 썸네일을 선택하는 것을 나타내고, 영화 썸네일은 이전에 재생되지 않은 영화 또는 임계값 이상의 시간 동안 재생되지 않은 영화를 나타낸다.
일부 실시예에서, 미리 작성된 콘텐츠 검색 시스템(248)은 재생 요청(270) 수신과 무관하게 복수의 미리 작성된 비디오 프레임(276)을 검색한다. 예를 들어, 재생 요청(270)이 일시 정지된 TV 쇼의 재생을 재개하는 것에 해당하는 경우, 미리 작성된 콘텐츠 검색 시스템(248)은 재생 요청(270)을 수신하기 전에 일시 정지된 TV 쇼와 관련된 미리 작성된 비디오 프레임을 검색한다(및 선택적으로 제1 버퍼 246에 버퍼링함).
엣지 장치(240)는 전달된 콘텐츠(278)를 클라이언트 장치(260)에 제공하는 전환 시스템(244)을 포함한다. 전달된 콘텐츠(278)는 전환 시스템(244)의 현재 상태에 따라 사용자 맞춤형 콘텐츠(274) 또는 복수의 미리 작성된 비디오 프레임(276)의 일부에 해당한다. 전환 시스템(244)의 동작에 대한 상세한 내용은 도 3 및 도 4를 참조하여 제공된다.
도 3은 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환을 하는 전환 시스템(350)의 일례를 도시한 구성도이다. 전환 시스템(350)은 엣지 장치(340)에 통합되어 있다. 일부 실시예에서, 엣지 장치(340)는 도 2의 엣지 장치(240)와 유사하고 도 2의 엣지 장치(240)로부터 개조되었고, 여기서 엣지 장치(340)의 특정 구성요소는 간결성과 명확성을 위해 생략되었다.
전환 시스템(350)은 전달된 콘텐츠(278)를 클라이언트 장치(260)에 제공한다. 이를 위해, 전환 시스템(350)은 사용자 맞춤형 콘텐츠(274)와 복수의 미리 작성된 비디오 프레임(276)의 일부의 전달 간의 전환을 하는 콘텐츠 선택기 멀티플렉서(358)를 포함한다. 전환 시스템(350)은 비디오 선택기(356)를 콘텐츠 선택기 멀티플렉서(358)에 제공하는 전환 조건 검출기(352)를 더 포함한다. 비디오 선택기(356)의 값이 '0'인 경우, 콘텐츠 선택기 멀티플렉서(358)는 클라이언트 장치(260)에 사용자 맞춤형 콘텐츠(274)를 제공한다. 비디오 선택기(356)의 값이 '1'인 경우, 콘텐츠 선택기 멀티플렉서(358)는 클라이언트 장치(260)에 복수의 미리 작성된 비디오 프레임(276)의 일부를 제공한다. 일부 실시예에서, 비디오 선택기(356)의 기본값은 '0'이다. 일부 실시예에서, 클라이언트 장치(260)로부터의 재생 요청 수신에 대응하여, 엣지 장치(340)는 비디오 선택기(356)의 값을 '0'으로 설정한다.
전환 조건 검출기(352)는 복수의 미리 작성된 비디오 프레임(276)의 일부와 사용자 맞춤형 콘텐츠(274)의 일부가 함께 전환 조건을 충족하는 것을 검출한다. 일부 실시예에서, 전환 조건 검출기의 충족 검출은 사용자 맞춤형 콘텐츠(274)의 일부와 관련된 제1 시간 값이 복수의 미리 작성된 비디오 프레임(276)의 일부와 관련된 제2 시간 값에 대한 타이밍 기준을 충족하는지 여부의 판단을 포함한다. 이를 위해, 일부 실시예에서, 전환 조건 검출기(352)는 제1 시간 값이 제2 시간 값과 오차 임계값 이내에서 일치한다는 판단을 한다. 예를 들어, 전환과 관련된 가시적인 결과를 줄이기 위해, 제1 시간 값과 제2 시간 값 사이의 차이는 허용 가능한 범위 내에 있다. 미리 작성된 비디오 프레임(276)의 일부는 참조 프레임을 포함한다. 참조 프레임은 키프레임 또는 인트라프레임(I-프레임)과 같이 비디오 프레임을 표시하는 데 필요한 모든 정보를 포함하는 비디오 프레임에 해당할 수 있다. 이를 위해, 일부 실시예에서, 전환 조건 검출기(352)는 복수의 미리 작성된 비디오 프레임(276)의 일부에서 참조 프레임을 식별하는 참조 프레임 식별자(354)를 포함한다. 일부 실시예에서, 전환 조건 검출기(352)는 복수의 미리 작성된 비디오 프레임(276)의 일부와 사용자 맞춤형 콘텐츠(274)가 공통의 논리적 기저 콘텐츠를 포함하는 경우에 전환 조건의 충족을 검출한다. 예를 들어, 특정 타이밍 제약 조건 내에서, 사용자 맞춤형 콘텐츠(274)의 일부와 미리 작성된 비디오 스트림의 I-프레임은 각각 동일한 영상을 포함한다. 다른 예로, 미리 작성된 비디오 스트림의 I-프레임은 특정 값의 해당 미리 작성된 비디오 콘텐츠를 포함한다.
복수의 미리 작성된 비디오 프레임(276)의 일부와 사용자 맞춤형 콘텐츠(274)의 일부가 함께 전환 조건을 충족한다는 검출에 의거하여, 전환 조건 검출기(352)는 비디오 선택기(356)의 값을 '1'로 설정한다. 이에 따라, 콘텐츠 선택기 멀티플렉서(358)는 전달을 사용자 맞춤형 콘텐츠(274)에서 복수의 미리 작성된 비디오 프레임(276)의 일부로 전환한다.
일부 실시예에서, 전환 조건의 충족 검출 이전에, 엣지 장치(340)는 제1 버퍼(246)의 버퍼 콘텐츠(360)를 제2 버퍼(262)에 제공하여 클라이언트 장치(260)가 제2 버퍼(262)를 미리 채울 수 있도록 한다. 예를 들어, 엣지 장치(340)는 제1 미리 정의된 프로토콜(예: WebRTC)에 따라 버퍼 콘텐츠(360)를 제공한다. 본 예에서, 전환 조건의 충족 검출에 대응하여, 전환 시스템(350)은 상이한 제2 미리 정의된 프로토콜에 따라 복수의 미리 작성된 비디오 프레임(276)의 추가적인 부분을 제공한다(전달된 콘텐츠(278)를 통해). 예를 들어, 제2 미리 정의된 프로토콜은 Dynamic Adaptive Streaming over HTTP(MPEG-DASH)와 같이 ABR을 지원하는 비디오 스트리밍 프로토콜이다.
도 4는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환 방법의 타임라인 표현(400)을 나타내는 일례를 도시한 것이다. 다양한 실시예에 따르면, 타임라인 표현(400)에 의해 도시된 방식은 네트워크 장치(404)에 의해 수행된다. 예를 들어, 네트워크 장치(404)는 도 2에 도시된 엣지 장치(240) 또는 도 3에 도시된 엣지 장치(340)와 같은 엣지 장치에 해당한다. 도 4에 도시된 바와 같이, 현재 시간 표시자(402)는 초기 시간 T0에서 시작하여 시간의 흐름을 나타낸다.
일부 실시예에서, 제1 시간(T1)에, 네트워크 장치(404)는, 블록 410에 표현된 바와 같이, 미리 작성된 미디어 콘텐츠를 공통 소스 장치(220)로부터 클라이언트 장치(260)로 제공하고 있다. 예를 들어, 선택된 영화가 현재 시간 T1에서 클라이언트 장치(260)에서 스트리밍되고 있다.
제2 시간 (T2)에, 네트워크 장치(404)는, 블록 420에 표현된 바와 같이, 클라이언트 장치(260)로부터 재생 요청을 수신한다. 재생 요청은 복수의 미리 작성된 비디오 프레임과 관련된다. 일부 실시예에서, 네트워크 장치(404)는 피어 투 피어 프로토콜(예: 실시간 전송 프로토콜(RTP) 및/또는 RTP 제어 프로토콜(RTCP))과 같은 제1 미리 정의된 프로토콜(422)에 따라 재생 요청을 수신한다. 예를 들어, 재생 요청은 스트리밍 단계(410) 동안에 클라이언트 장치(260)에서 재생 중이던 일시 정지된 콘텐츠를 재개하는 것에 해당한다. 다른 예로, 재생 요청은 홈 화면 배너 내의 특정 썸네일을 선택하거나 특정 미디어 제목의 미리 보기 페이지에서 "재생" 버튼을 선택하는 것에 해당한다.
제3 시간(T3)에, 재생 요청의 수신에 대응하여, 네트워크 장치(404)는, 블록 430에 표현된 바와 같이, 대화형 소스 장치(202)에서 사용자 맞춤형 콘텐츠를 검색한다. 예를 들어, 네트워크 장치(404)는 현재 표시된 UI 콘텐츠로부터 이후에 제공되는 복수의 미리 작성된 비디오 프레임의 전환을 제공하는 UI 페이드 어웨이(예: 검은색으로 페이드) 애니메이션과 같은 전환 사용자 맞춤형 콘텐츠를 검색한다. 제4 시간(T4)에, 네트워크 장치(404)는, 블록 432에 표현된 바와 같이, 사용자 맞춤형 콘텐츠를 클라이언트 장치(260)로 제공한다. 일부 실시예에서, 네트워크 장치(404)는 제1 미리 정의된 프로토콜(422)에 따라 사용자 맞춤형 콘텐츠를 제공한다.
일부 실시예에서, 제5 시간(T5)에, 네트워크 장치(404)는, 블록 440에 표현된 바와 같이, 공통 소스 장치(220)로부터 복수의 미리 작성된 비디오 프레임을 검색한다. 복수의 미리 작성된 비디오 프레임은 재생 요청과 연관된다. 예를 들어, 재생 요청은 특정 TV 쇼의 재생 요청이고, 복수의 미리 작성된 비디오 프레임은 해당 특정 TV 쇼를 나타낸다.
일부 실시예에서, 제6 시간(T6)에, 네트워크 장치(404)는, 블록 442에 표현된 바와 같이, 복수의 미리 작성된 비디오 프레임의 제1 부분을 버퍼링한다. 예를 들어, 도 2를 참조하면 엣지 장치(240)는 복수의 미리 작성된 비디오 프레임의 제1 부분을 제1 버퍼(246)에 저장한다. 버퍼링은 미리 작성된 미디어 콘텐츠를 클라이언트 장치(260)에 더 빠르게 전달할 수 있도록 할 수 있다.
일부 실시예에서, 버퍼링이 발생하기 전 또는 발생하는 동안, 네트워크 장치(404)는 클라이언트 장치(260)에 사용자 맞춤형 콘텐츠(432)를 계속해서 전송한다. 또한, 전환 조건의 충족 검출에 대응하여(블록 460 참조), 네트워크 장치(404)는 사용자 맞춤형 콘텐츠(432)를 버퍼링된 미리 작성된 비디오 프레임의 제1 버퍼링된 미리 작성된 비디오 프레임과 정렬한다.
일부 실시예에서, 제7 시간(T7)에, 네트워크 장치(404)는, 블록 444에 표현된 바와 같이, 대화형 소스 장치(202)에서 종료 지시자를 수신한다. 예를 들어, 종료 지시자는 네트워크 장치(404)가 네트워크 장치(404)와 대화형 소스 장치(202) 사이의 네트워크 채널을 닫도록 요청하는 것에 해당한다. 일부 실시예에서, 종료 지시자의 수신에 대응하여, 네트워크 장치(404)는 대화형 소스 장치(202)에 추가적인 사용자 맞춤형 콘텐츠를 제공하지 않도록 지시하여 네트워크 장치(404)와 대화형 소스 장치(202)의 처리 리소스 사용 및 네트워크 리소스(예: 채널) 사용을 줄인다.
일부 실시예에서, 제8 시간(T8)에, 네트워크 장치(404)는, 블록 450에 표현된 바와 같이, 종료 지시자의 수신에 대응하여, 복수의 미리 작성된 비디오 프레임의 제1 부분을 버퍼(단계 442에서 채워짐)에서 클라이언트 장치(260)의 버퍼로 복사하기 시작한다. 일부 실시예에서, 네트워크 장치(404)는 제1 미리 정의된 프로토콜(422)에 따라 버퍼의 내용을 복사한다.
일부 실시예에서, 네트워크 장치(404)는 클라이언트 장치(260)로부터 상태 표시자를 수신한다. 예를 들어, 상태 표시자는 도 3에 도시된 제2 버퍼(262)와 같은 클라이언트 장치의 버퍼와 관련된 버퍼 표시자에 해당한다. 버퍼 표시자는 버퍼의 현재 채우기 수준을 나타낸다. 본 예에서, 일부 실시예에서, 버퍼의 현재 채우기 수준이 임계 채우기 값을 초과한다는 판단에 대응하여, 네트워크 장치(404)는 제1 미리 정의된 프로토콜(422)에 따라 복수의 미리 작성된 비디오 프레임의 추가 프레임을 버퍼에서 클라이언트 장치의 버퍼로 복사하는 것을 중단한다. 예를 들어, 클라이언트 장치의 버퍼가 충분히 채워져 있고 사용자 맞춤형 콘텐츠의 최종 프레임과 관련된 타이밍(예: 제1 시간 값)이 미리 작성된 비디오 프레임의 제1 프레임과 관련된 타이밍(예: 제2 시간 값)의 미리 정의된 범위 내에 있다고 네트워크 장치(404)가 판단하는 경우, 네트워크 장치(404)는 클라이언트 장치(260)로 추가적인 미리 작성된 비디오 프레임을 전달하기 위해 피어 투 피어 채널(예: WebRTC, RTP, 및/또는 RTCP)을 사용하는 것을 중단한다.
제9 시간(T9)에, 네트워크 장치(404)는, 블록 460에 표현된 바와 같이, 전환 조건의 충족을 검출한다. 이를 위해, 네트워크 장치(404)는 복수의 미리 작성된 비디오 프레임의 제1 부분과 사용자 맞춤형 콘텐츠(432)의 일부가 함께 전환 조건을 충족하는 것을 검출한다. 전환 조건의 다양한 예는 도 3에 도시된 전환 시스템(350)을 참조하여 제공되어 있다.
제10 시간(T10)에, 전환 조건의 충족 검출에 대응하여, 네트워크 장치는, 블록 470에 표현된 바와 같이, 사용자 맞춤형 콘텐츠의 전달을 복수의 미리 작성된 비디오 프레임의 제2 부분의 전달로 전환한다. 이를 위해, 네트워크 장치(404)는 클라이언트 장치(260)에 사용자 맞춤형 콘텐츠를 제공하는 것을 중단하고, 복수의 미리 작성된 비디오 프레임의 제2 부분을 클라이언트 장치(260)에 제공한다. 일부 실시예에서, 네트워크 장치(404)는 제1 미리 정의된 프로토콜(422)과 다른 제2 미리 정의된 프로토콜(472)(예: 재생 속도(playout rate)의 프로토콜)에 따라 복수의 미리 작성된 비디오 프레임의 제2 부분을 제공한다. 예를 들어, 제2 미리 정의된 프로토콜(472)은 HTTP를 통한 다이내믹 어댑티브 스트리밍(Dynamic Adaptive Streaming), Microsoft Smooth Streaming(MSS), HTTP Dynamic Streaming(HDS), HTTP Live Streaming(HLS) 등과 같은 ABR을 지원하는 미리 정의된 비디오 스트리밍 프로토콜에 해당한다.
도 5는 일부 실시예에 따른 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전달 간의 전환 방법(500)의 순서도의 일례를 도시한 것이다. 일부 실시예에서, 방법(500) 또는 그 일부는 도 4에 도시된 네트워크 장치(404)와 같이 복수의 네트워크 인터페이스를 포함하는 네트워크 장치에 의해 수행된다. 예를 들어, 네트워크 장치는 전환 시스템과 비휘발성 메모리(예: 버퍼)를 포함하는 엣지 장치(예: 도 2의 엣지 장치(240) 또는 도 3의 엣지 장치(340))에 해당한다. 일부 실시예에서, 방법(500) 또는 그 일부는 네트워크 장치에 통합된 컨트롤러에서 수행된다. 일부 실시예에서, 방법(500) 또는 그 일부는 장치에 의해 수행된다.
블록 502에 도시된 바와 같이, 방법(500)은 복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 복수의 네트워크 인터페이스 중 특정 하나를 통해 클라이언트 장치로부터 수신하는 단계를 포함한다. 예를 들어, 도 4를 참조하면, 네트워크 장치(404)는 제2 시간(T2)에 클라이언트 장치(260)로부터 재생 요청을 수신한다. 재생 요청은 네트워크 장치가 복수의 미리 작성된 비디오 프레임을 확보하기 위해 해당 소스 장치로 전달하는 복수의 미리 작성된 비디오 프레임과 관련된 식별자를 포함할 수 있다. 일부 실시예에서, 재생 요청은 해당 미디어 개체의 재생을 시작하는 "재생 시작" UI 버튼의 선택에 해당한다. 일부 실시예에서, 재생 요청은 일시 정지된 라이브 TV 또는 온디맨드 콘텐츠와 같은 일시 정지된 프로그램의 재생 재개 버튼의 선택에 해당한다. 블록 504에 도시된 바와 같이, 일부 실시예에서, 네트워크 장치는 제1 미리 정의된 프로토콜(예: 도 4에 도시된 제1 미리 정의된 프로토콜(422))에 따라 재생 요청을 수신한다. 예를 들어, 제1 미리 정의된 프로토콜은 WebRTC, RTP, 및/또는 RTCP 프로토콜과 같은 피어 투 피어 프로토콜에 해당한다. 제1 미리 정의된 프로토콜은 비디오 회의 프로토콜일 수 있다.
블록 506에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 복수의 네트워크 인터페이스 중의 특정 하나를 통해 복수의 미리 작성된 비디오 프레임의 적어도 일부를 공통 소스 장치로부터 수신하는 단계를 포함한다. 예를 들어, 도 2를 참조하면, 미리 작성된 콘텐츠 검색 시스템(248)은 공통 소스 장치(220)로부터 복수의 미리 작성된 비디오 프레임(276)을 검색한다.
블록 508에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 재생 요청을 수신하는 것과 독립적으로 복수의 미리 작성된 비디오 프레임의 적어도 일부를 수신하는 단계를 포함한다. 예를 들어, 스트리밍 비디오 콘텐츠의 일시 정지 및 이후 재생 전에, 네트워크 장치는 스트리밍 비디오 콘텐츠의 일부인 미리 작성된 비디오 프레임을 획득(선택적으로 버퍼링)한다. 다른 예로, 네트워크 장치가 클라이언트 장치로 홈 스크린 UI 콘텐츠를 제공하는 동안, 네트워크 장치는 클라이언트 장치가 홈 스크린에서 특정 제목을 선택할 가능성이 있다고 판단하는 경우 미리 작성된 비디오 스트림을 획득하기 시작한다. 이전 예시를 계속하면, 네트워크 장치는 관련 제목의 시청 기록 또는 클라이언트 장치가 특정 제목의 인 배너 예고편(in-banner trailer)을 일정량 재생하는 것을 기반으로 클라이언트 장치가 특정 제목을 선택할 가능성이 있다고 예측할 수 있다.
블록 510에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 재생 요청의 수신에 대응하여, 복수의 미리 작성된 비디오 프레임의 적어도 일부를 수신하는 단계를 포함한다. 예를 들어, 네트워크 장치는 재생 요청을 수신한 후 임계 시간 이내에 복수의 미리 작성된 비디오 프레임의 제1 프레임을 획득한다.
블록 512에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 네트워크 장치의 비휘발성 메모리에 복수의 미리 작성된 비디오 프레임의 제1 부분을 저장하는 단계를 포함한다. 예를 들어, 도 3을 참조하면, 엣지 장치(340)는 복수의 미리 작성된 비디오 프레임(276)을 제1 버퍼에 버퍼링한다. 다른 예로, 도 4를 참조하면, 네트워크 장치(404)는 제6 시간(T6)에 복수의 미리 작성된 비디오 프레임의 제1 부분을 버퍼링한다.
블록 514에 표현된 바와 같이, 일부 실시예에서, 복수의 미리 작성된 비디오 프레임의 일부는 ABR 비디오 세그먼트를 포함한다.
블록 516에 표현된 바와 같이, 일부 실시예에서, 방법(500)은, 재생 요청의 수신에 대응하여, 복수의 미리 작성된 비디오 프레임의 적어도 일부를 클라이언트 장치로 전달하는 단계를 포함한다.
블록 518에 표현된 바와 같이, 방법(500)은 재생 요청의 수신에 대응하여, 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 클라이언트 장치로 전달하는 단계를 포함한다. 예를 들어, 도 3을 참조하면, 전환 조건 검출기(352)가 전환 조건의 충족을 검출하기 전에, 비디오 선택기(356)의 값이 '0'이므로 콘텐츠 선택기 멀티플렉서(358)는 클라이언트 장치(260)로 사용자 맞춤형 콘텐츠(274)(전달된 콘텐츠(278))를 전달한다. 일례로, 사용자 맞춤형 콘텐츠는 하나 이상의 비디오 프레임과 선택적으로 해당 오디오 데이터를 포함한다. 블록 520에 표현된 바와 같이, 일부 실시예에서, 사용자 맞춤형 콘텐츠는 사용자 인터페이스(UI) 콘텐츠를 포함한다. 예를 들어, 블록 522에 표현된 바와 같이, UI 콘텐츠는 UI 요소가 사라지는 애니메이션과 같은 전환 콘텐츠를 포함한다. 전환 콘텐츠를 클라이언트 장치에 전달하면 미리 작성된 비디오 프레임의 최종 전달(전환 조건의 충족에 의해 유발됨)로 원활하게 전환할 수 있다. 블록 524에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 제1 미리 정의된 프로토콜에 따라 사용자 맞춤형 콘텐츠를 전달하는 단계를 포함한다. 예를 들어, 도 4를 참조하면, 네트워크 장치(404)는 제4 시간(T4)에, 제1 미리 정의된 프로토콜(422)에 따라 사용자 맞춤형 콘텐츠를 제공한다.
블록 526에 표현된 바와 같이, 방법(500)은 복수의 미리 작성된 비디오 프레임의 제1 부분이 전환 조건을 충족하는지 여부를 판단하는 단계를 포함한다. 전환 조건이 충족되지 않는다는 판단("아니오." 판단)에 대응하여, 방법(500)은 블록 516 및/또는 블록 518로 되돌아간다. 또한, 일부 실시예에서, 전환 조건이 충족되지 않는다는 판단에 대응하여, 방법(500)은 종료 지시자의 수신을 기다리는 단계를 포함하고, 종료 지시자의 수신에 대응하여, 네트워크 장치의 버퍼 내용을 클라이언트 장치의 버퍼로 복사하는 단계를 포함한다. 이러한 버퍼 투 버퍼 동작(buffer-to-buffer operation)의 예는 도 4의 블록 444 및 450에 도시되어 있다.
반면에, 복수의 미리 작성된 비디오 프레임의 제1 부분이 전환 조건을 충족한다는 검출("예" 판단)에 대응하여, 방법(500)은 블록 528로 진행한다. 이를 위해, 일부 실시예에서, 방법(500)은 블록 516을 통해 전송된 특정 미리 작성된 비디오 프레임이 블록 518을 통해 전송된 사용자 맞춤형 콘텐츠의 특정 프레임에 대한 타이밍 기준을 충족한다고 판단하는 단계를 포함한다. 예를 들어, 엣지 장치는 사용자 맞춤형 콘텐츠의 특정 프레임을 전송하기 전에 특정 미리 작성된 비디오 프레임을 전송한다. 본 예에서, 엣지 장치는 특정 미리 작성된 비디오 프레임과 사용자 맞춤형 콘텐츠의 특정 프레임 간의 시간적 정렬의 판단에 의거하여 전환 조건이 충족됨을 판단한다. 특정 미리 작성된 비디오 프레임은 I-프레임과 같은 참조 프레임에 해당할 수 있다.
블록 528에 표현된 바와 같이, 복수의 미리 작성된 비디오 프레임의 제1 부분이 전환 조건을 충족함의 검출에 대응하여, 방법(500)은 사용자 맞춤형 콘텐츠의 클라이언트 장치로의 전달을 복수의 미리 작성된 비디오 프레임의 제1 부분의 클라이언트 장치로의 전달로 전환하는 단계를 포함한다. 복수의 미리 작성된 비디오 프레임의 제1 부분은 단일 비디오 프레임 또는 다중 비디오 프레임일 수 있다. 예를 들어, 도 3을 참조하면, 전환 조건의 충족 검출에 대응하여, 전환 조건 검출기(352)는 비디오 선택기(356)의 값을 '1'로 설정한다. 이에 따라, 콘텐츠 선택기 멀티플렉서(358)는 클라이언트 장치(260)로 사용자 맞춤형 콘텐츠(274)의 전달을 중단하고, 복수의 미리 작성된 비디오 프레임(276)의 제1 부분을 클라이언트 장치(260)로 전달한다. 다른 예로, 도 4를 참조하면, 네트워크 장치(404)는, 블록 470에 표현된 바와 같이, 사용자 맞춤형 콘텐츠의 전달을 복수의 미리 작성된 비디오 프레임의 제2 부분의 전달로 전환한다.
블록 530에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 제1 미리 정의된 프로토콜과 다른 제2 미리 정의된 프로토콜(예: 도 4의 제2 미리 정의된 프로토콜(472))에 따라 복수의 미리 작성된 비디오 프레임의 제1 부분을 전달하는 단계를 포함한다. 예를 들어, 제2 미리 정의된 프로토콜은 MPEG-DASH, MSS, HDS, HLS 등과 같은 ABR을 지원하는 미리 정의된 비디오 스트리밍 프로토콜이다. 제1 미리 정의된 프로토콜과 비교하여, 제2 미리 정의된 프로토콜은 더 빠른 전송 속도와 관련이 있다.
블록 532에 표현된 바와 같이, 일부 실시예에서, 방법(500)은 복수의 미리 작성된 비디오 프레임의 제1 부분을 클라이언트 장치로 전달하기 위하여 복수의 미리 작성된 비디오 프레임의 제1 부분을 비휘발성 메모리로부터 검색하는 단계를 포함한다.
다양한 특징이 본 개시에 기재되지만, 그 중의 어느 한 특징이 여기에 기재된 이점을 단독으로 담당하지 않는다. 여기에 기재된 다양한 특징이 병합, 수정, 또는 제외될 수 있음은 당업자에게 당연하다 할 것이다. 여기에 구체적으로 기재된 특징 이외의 조합 및 그 하부 조합은 당업자에게 당연하다 할 것이고, 본 개시의 일부를 형성한다 할 것이다. 다양한 방법은 다양한 순서도 단계와 연관하여 기재되어 있다. 많은 경우에서, 특정 단계가 서로 병합되어 순서도에 도시된 여러 단계가 단일 단계로 수행될 수 있음은 당연하다 할 것이다. 또한, 특정 단계는 더 분할되어 서로 분리되어 수행될 수 있다. 일부 경우에서, 단계의 순서는 재배치될 수 있고, 특정 단계는 완전히 제외될 수 있다. 또한, 여기에 기재된 방법은 개방형으로서 여기에 도시되고 기재된 단계 이외의 추가적인 단계가 수행될 수도 있는 것으로 이해되어야 한다.
여기에 기재된 방법 및 작업의 일부 또는 전부는 컴퓨터 시스템에 의해 수행되고 완전히 자동으로 처리될 수 있다. 일부의 경우에서, 컴퓨터 시스템은 네트워크를 통해 교신하고 상호 동작하여 여기에 기재된 기능을 수행하는 다수의 별개 컴퓨터 또는 컴퓨팅 장치(예, 물리적 서버, 워크스테이션, 저장 어레이 등)를 포함할 수 있다. 일반적으로, 이러한 컴퓨팅 장치는 메모리 또는 기타 비일시적 컴퓨터 판독가능 저장 매체 또는 장치에 저장된 프로그램 명령 또는 모듈을 실행하는 프로세서(또는 다중 프로세서)를 포함한다. 여기에 기재된 다양한 기능은 이러한 프로그램 명령에서 구현될 수 있지만, 기재된 기능의 일부 또는 전부는 대안적으로 컴퓨터 시스템의 특수 용도 회로(예, ASIC, FPGA, 또는 GP-GPU)에서 구현될 수 있다. 컴퓨터 시스템이 다수의 컴퓨팅 장치를 포함하는 경우에, 이러한 장치는 함께 위치하거나 함께 위치하지 않을 수 있다. 기재된 방법 및 작업의 결과는 솔리드 스테이트 메모리 칩 및/또는 자기 디스크와 같은 물리적 저장 장치를 다른 상태로 변환시킴으로써 계속 저장될 수 있다.
본 개시는 여기에 도시된 실시예들로 한정하고자 하는 것이 아니다. 본 개시에 기재된 실시예들의 다양한 변형은 본 기술분야의 당업자에게 당연하게 여겨질 것이며, 여기에 정의된 일반적인 원리는 본 개시의 사상 또는 범위를 벗어나지 않고 다른 실시예들에 적용될 수 있다. 여기에 제공된 발명의 개시는 다른 방법 및 시스템에 적용될 수 있고 상기의 방법과 시스템으로 한정되지 않으며, 상기의 다양한 실시예들의 구성요소 및 동작은 병합되어 추가적인 실시예들을 제공할 수 있다. 이에 따라, 여기에 기재된 신규 방법 및 시스템은 다양한 다른 형태로 구현될 수 있다. 나아가, 여기에 기재된 방법 및 시스템은 본 개시의 사상에서 벗어나지 않고 다양하게 그 형태가 제외, 대체, 및 변경될 수 있다. 이러한 형태 또는 변형도 첨부된 청구항 및 균등한 청구범위에 포함되고 본 개시의 범위 및 사상에 포함된다 할 것이다.

Claims (20)

  1. 복수의 네트워크 인터페이스를 포함하는 네트워크 장치에서 수행되는 방법에 있어서, 상기 방법은:
    복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 상기 복수의 네트워크 인터페이스 중 특정 하나를 통해 클라이언트 장치로부터 수신하는 단계;
    상기 재생 요청의 수신에 대응하여, 상기 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 상기 클라이언트 장치로 전달하는 단계;
    상기 복수의 미리 작성된 비디오 프레임의 제1 부분과 상기 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출하는 단계; 및
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족함을 검출한 것에 대응하여, 상기 클라이언트 장치에 상기 사용자 맞춤형 콘텐츠의 전달을 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분의 전달로 전환하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 사용자 맞춤형 콘텐츠의 상기 일부는 제1 시간 값과 관련되고, 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분은 제2 시간 값과 관련되고, 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족하는 것을 검출하는 단계는 상기 제1 시간 값이 상기 제2 시간 값에 대한 타이밍 기준을 충족한다는 것을 판단하는 단계를 포함하는 것을 특징으로 하는, 방법.
  3. 제2항에 있어서,
    상기 제1 시간 값이 상기 제2 시간 값에 대한 타이밍 기준을 충족한다는 것을 판단하는 단계는 상기 제1 시간 값이 오차 임계값 이내에서 상기 제2 시간 값과 일치한다는 판단을 하는 단계를 포함하는 것을 특징으로 하는, 방법.
  4. 제2항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족하는 것을 검출하는 단계는 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분이 참조 프레임을 포함한다고 판단하는 단계를 포함하는 것을 특징으로 하는, 방법.
  5. 제4항에 있어서,
    상기 참조 프레임은 인트라프레임(I-프레임)에 해당하는 것을 특징으로 하는, 방법.
  6. 제4항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분을 상기 클라이언트 장치로 전달하는 단계는 상기 참조 프레임을 상기 클라이언트 장치로 먼저 전달하는 단계를 포함하는, 방법.
  7. 제1항 내지 제6항의 한 항에 있어서,
    상기 재생 요청의 수신은 제1 미리 정의된 프로토콜에 따른 것이고, 상기 사용자 맞춤형 콘텐츠의 전달은 상기 제1 미리 정의된 프로토콜에 따른 것이고, 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분의 전달은 상기 제1 미리 정의된 프로토콜과 다른 제2 미리 정의된 프로토콜에 따른 것을 특징으로 하는, 방법.
  8. 제1항 내지 제7항의 한 항에 있어서,
    상기 복수의 네트워크 인터페이스 중의 특정 하나를 통해 상기 복수의 미리 작성된 비디오 프레임의 적어도 상기 제1 부분을 공통 소스 장치로부터 수신하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 네트워크는 비일시적 메모리를 포함하고,
    상기 방법은 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분을 상기 비일시적 메모리에 저장하는 단계를 더 포함하고,
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분을 상기 클라이언트 장치로 전달하는 단계는 상기 비일시적 메모리로부터 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분을 검색하는 단계를 포함하는 것을 특징으로 하는, 방법.
  10. 제8항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임의 적어도 상기 일부를 수신하는 단계는 상기 재생 요청을 수신하는 단계와 무관한 것을 특징으로 하는, 방법.
  11. 제8항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임의 상기 일부를 수신하는 단계는 상기 재생 요청의 수신에 대응한 것을 특징으로 하는, 방법.
  12. 제1항 내지 제11항의 한 항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분이 상기 전환 조건을 충족함을 검출하기 전에:
    상기 사용자 맞춤형 콘텐츠와 관련된 종료 지시자를 수신하는 단계; 및
    상기 종료 지시자의 수신에 대응하여, 상기 제1 미리 정의된 프로토콜에 따라 상기 복수의 미리 작성된 비디오 프레임의 제2 부분을 상기 클라이언트 장치로 전달하는 단계를 더 포함하는, 방법.
  13. 제12항에 있어서,
    상기 클라이언트 장치의 버퍼와 관련된 버퍼 표시자를 판단하는 단계 - 여기서, 상기 버퍼 표시자는 상기 버퍼의 현재 채우기 수준을 나타냄; 및
    상기 버퍼의 상기 현재 채우기 수준이 임계 채우기 값을 초과한다는 판단에 대응하여, 상기 제1 미리 정의된 프로토콜에 따라 상기 복수의 미리 작성된 비디오 프레임의 추가 프레임을 상기 클라이언트 장치로 전달하는 것을 중단하는 단계를 더 포함하는, 방법.
  14. 제1항 내지 제13항의 한 항에 있어서,
    상기 복수의 미리 작성된 비디오 프레임은 적응 비트율(ABR) 비디오 세그먼트를 포함하는 것을 특징으로 하는, 방법.
  15. 제1항 내지 제14항의 한 항에 있어서,
    상기 사용자 맞춤형 콘텐츠는 사용자 인터페이스(UI) 콘텐츠인 것을 특징으로 하는, 방법.
  16. 제15항에 있어서,
    상기 UI 콘텐츠는 전환 콘텐츠인 것을 특징으로 하는, 방법.
  17. 제1항 내지 제16항의 한 항에 있어서,
    상기 재생 요청의 수신에 대응하여, 상기 복수의 네트워크 인터페이스의 특정 하나를 통하여 대화형 소스로부터 상기 사용자 맞춤형 콘텐츠를 수신하는 단계; 및
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분이 상기 전환 조건을 충족한다는 판단에 대응하여, 상기 대화형 소스에게 추가적인 사용자 맞춤형 콘텐츠의 제공을 중단하라고 지시하는 단계를 더 포함하는, 방법.
  18. 제1항 내지 제17항의 한 항에 있어서,
    상기 네트워크 장치는 상기 클라이언트 장치에 서비스를 제공하는 엣지 장치인 것을 특징으로 하는, 방법.
  19. 명령을 포함하는 비일시적 컴퓨터 판독가능 매체에 있어서,
    상기 명령은 하나 이상의 프로세서와 복수의 네트워크 인터페이스를 포함하는 네트워크 장치에 의해 실행되는 경우에 상기 네트워크 장치로 하여금:
    복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 상기 복수의 네트워크 인터페이스 중 특정 하나를 통해 클라이언트 장치로부터 수신;
    상기 재생 요청의 수신에 대응하여, 상기 재생 요청에 기반한 사용자 맞춤형 콘텐츠를 상기 클라이언트 장치로 전달;
    상기 복수의 미리 작성된 비디오 프레임의 제1 부분과 상기 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출; 및
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족함을 검출한 것에 대응하여, 상기 클라이언트 장치에 상기 사용자 맞춤형 콘텐츠의 전달을 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분의 전달로 전환하도록 유발하는, 비일시적 컴퓨터 판독가능 매체.
  20. 복수의 네트워크 인터페이스;
    복수의 미리 작성된 비디오 프레임과 관련된 재생 요청을 상기 복수의 네트워크 인터페이스의 특정 하나를 통하여 클라이언트 장치로부터 수신하는 사용자 맞춤형 콘텐츠 검색 시스템; 및
    전환 시스템을 포함하는 장치에 있어서,
    상기 전환 시스템은:
    상기 재생 요청의 수신에 대응하여, 상기 재생 요청에 의거한 사용자 맞춤형 콘텐츠를 상기 클라이언트 장치로 전달;
    상기 복수의 미리 작성된 비디오 프레임의 제1 부분과 상기 사용자 맞춤형 콘텐츠의 일부가 함께 전환 조건을 충족하는 것을 검출; 및
    상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분과 상기 사용자 맞춤형 콘텐츠의 상기 일부가 함께 상기 전환 조건을 충족함을 검출한 것에 대응하여, 상기 클라이언트 장치에 상기 사용자 맞춤형 콘텐츠의 전달을 상기 복수의 미리 작성된 비디오 프레임의 상기 제1 부분의 전달로 전환하도록 구성된 것을 특징으로 하는, 장치.
KR1020237039082A 2021-04-13 2022-02-02 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환 KR20240008319A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/229,233 US11223664B1 (en) 2021-04-13 2021-04-13 Switching between delivery of customizable content and preauthored media content
US17/229,233 2021-04-13
PCT/IB2022/000043 WO2022219397A1 (en) 2021-04-13 2022-02-02 Switching between delivery of customizable content and preauthored media content

Publications (1)

Publication Number Publication Date
KR20240008319A true KR20240008319A (ko) 2024-01-18

Family

ID=79169391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237039082A KR20240008319A (ko) 2021-04-13 2022-02-02 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환

Country Status (6)

Country Link
US (1) US11223664B1 (ko)
EP (1) EP4324179A1 (ko)
KR (1) KR20240008319A (ko)
CN (1) CN117121463A (ko)
GB (1) GB202312247D0 (ko)
WO (1) WO2022219397A1 (ko)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040220926A1 (en) * 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
US10986403B2 (en) * 2002-06-27 2021-04-20 Piranha Media Distribution, Inc. Interactive digital media and advertising presentation platform
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
EP2088751B1 (en) * 2008-02-08 2013-07-03 Accenture Global Services Limited Streaming media interruption and resumption system
US20100083305A1 (en) * 2008-09-30 2010-04-01 Swarup Acharya Interface Device Having Multiple Software Clients to Facilitate Display of Targeted Information
US8321401B2 (en) * 2008-10-17 2012-11-27 Echostar Advanced Technologies L.L.C. User interface with available multimedia content from multiple multimedia websites
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
US9135955B2 (en) * 2012-03-26 2015-09-15 Max Abecassis Playing a video presentation with playback functions
WO2014015110A1 (en) * 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
WO2016100408A1 (en) * 2014-12-15 2016-06-23 Vessel Group, Inc. Processing techniques in audio-visual streaming systems
US10142585B2 (en) * 2015-04-28 2018-11-27 Rovi Guides, Inc. Methods and systems for synching supplemental audio content to video content
US9521455B1 (en) * 2015-09-22 2016-12-13 Rovi Guides, Inc. Methods and systems for playing media
US9681165B1 (en) * 2016-04-11 2017-06-13 Rovi Guides, Inc. Methods and systems for enhancing media viewing experiences on multiple devices
US10911794B2 (en) * 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network

Also Published As

Publication number Publication date
US11223664B1 (en) 2022-01-11
EP4324179A1 (en) 2024-02-21
CN117121463A (zh) 2023-11-24
WO2022219397A1 (en) 2022-10-20
GB202312247D0 (en) 2023-09-27

Similar Documents

Publication Publication Date Title
US11792296B2 (en) Edge cache segment prefetching
US11838563B2 (en) Switching between transmitting a preauthored video frame and a composited video frame
US9521470B2 (en) Video delivery system configured to seek in a video using different modes
US10602240B2 (en) Decoding method switching for preview image processing using a bundle of preview images
US11647252B2 (en) Identification of elements in a group for dynamic element replacement
US20130110980A1 (en) System and method for predicitive trick play using adaptive video streaming
US11765421B2 (en) Client based storage of remote element resolutions
CN113141522B (zh) 资源传输方法、装置、计算机设备及存储介质
US20230239532A1 (en) Systems and methods for media content hand-off based on type of buffered data
EP4014480A1 (en) Prediction-based dropped frame handling logic in video playback
US20200314480A1 (en) Systems and methods for media content handoff
EP3354033A1 (en) Dynamic seeking in video delivery systems
KR20240008319A (ko) 사용자 맞춤형 콘텐츠와 미리 작성된 미디어 콘텐츠의 전송 간 전환
US11350160B1 (en) Management of a client device buffer
US11496803B2 (en) Video stream switching service