KR20210030478A - 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소 - Google Patents

대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소 Download PDF

Info

Publication number
KR20210030478A
KR20210030478A KR1020217006324A KR20217006324A KR20210030478A KR 20210030478 A KR20210030478 A KR 20210030478A KR 1020217006324 A KR1020217006324 A KR 1020217006324A KR 20217006324 A KR20217006324 A KR 20217006324A KR 20210030478 A KR20210030478 A KR 20210030478A
Authority
KR
South Korea
Prior art keywords
client
replacement content
content
replacement
duration
Prior art date
Application number
KR1020217006324A
Other languages
English (en)
Other versions
KR102536652B1 (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 KR20210030478A publication Critical patent/KR20210030478A/ko
Application granted granted Critical
Publication of KR102536652B1 publication Critical patent/KR102536652B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/812Monomedia components thereof involving advertisement data
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Cable Accessories (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

장치가 미디어 스트림을 재생하는 경우, 장치는 미디어 스트림의 일부 대신에, 대체 컨텐츠를 재생하기 시작할 타겟 시간을 결정한다. 그러나, 장치는 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼, 타겟 시간으로부터 지연되는 것을 검출한다. 이에 응답하여, 장치는 대체 컨텐츠의 재생이 원하는 시간에 종료되는 것을 돕기 위해, 듀레이션 P만큼 대체 컨텐츠의 재생을 감소시킨다. 예를 들어, 장치는 듀레이션 P만큼 대체 컨텐츠의 재생에서 앞으로 탐색할 수 있고/있거나 듀레이션 P의 감소만큼 되도록 대체 컨텐츠의 하나 이상의 다른 부분을 제거할 수 있다.

Description

대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소
관련 출원에 대한 참조
본 출원은 2018년 11월 7일에 출원된 미국 특허 출원 제16/183,266호 및 2018년 8월 17일에 출원된 미국 가특허 출원 제62/765,276호에 대한 우선권을 주장하며, 이 문헌들 각각은 전체가 본 명세서에 참조로서 포함된다.
본 출원은 또한 2018년 11월 7일에 출원된 미국 특허 출원 제16/183,185호와 관련된 것이며, 이 문헌 전체가 본 명세서에 참조로서 포함된다.
일반적인 미디어 클라이언트는 비디오 및/또는 오디오 컨텐츠와 같은 미디어 컨텐츠를 나타내는 아날로그 또는 디지털 미디어 스트림을 수신 및 재생(예를 들어, 재생을 위해 출력)하고, 디스플레이 스크린 및/또는 오디오 스피커와 같은 사용자 인터페이스에서 미디어 컨텐츠를 출력하고/하거나 스트림을 전달하도록 동작한다. 이러한 클라이언트들의 예들로는 텔레비전, 컴퓨터 모니터, 프로젝션 시스템, 라우드 스피커, 헤드폰, 셋탑 박스(예를 들면, 케이블 또는 위성 TV 수신기), 디지털 비디오 레코더, 라디오, 개인용 컴퓨터, 모바일 통신 장치, 게임 콘솔, 스트리밍 미디어 플레이어 등을 포함한다.
예를 들어, 미디어 클라이언트는 미디어 스트림(예를 들어, 무선 방송 스트림, 셋탑 박스에서 출력되는 미디어 스트림, 디지털 저장 매체에서 재생되는 미디어 스트림, 인터넷 스트림 또는 다른 이러한 스트림)을 수신할 수 있고 해당 스트림의 미디어 컨텐츠를 사용자에게 프레젠테이션할 수 있는 텔레비전일 수 있다. 다른 예로서, 미디어 클라이언트는 다중 채널 비디오 프로그램 디스트리뷰터 및/또는 데이터 스토리지에서 방송 스트림을 수신할 수 있으며, 재생을 위해 HDMI(High-Definition Multimedia Interface) 케이블 또는 기타 인터페이스를 통해 해당 스트림의 미디어 컨텐츠를 텔레비전 및/또는 오디오/비디오 수신기로 출력할 수 있는, 셋탑 박스 또는 디지털 비디오 또는 오디오 레코더일 수 있다. 또 다른 예로서 미디어 클라이언트는 라디오, 컴퓨터 또는 기타 수신기 또는 오디오 저장 장치로부터 오디오 스트림을 수신하고 해당 스트림의 오디오 컨텐츠를 사용자에게 프레젠테이션할 수 있는, 라우드 스피커 또는 헤드폰일 수 있다. 다른 많은 예도 가능하다.
미디어 클라이언트가 미디어 스트림을 재생할 때, 미디어 클라이언트가 스트림의 미디어 컨텐츠 일부를 대체하는 것이 특정 상황에서 유용할 수 있다. 예를 들어, 클라이언트가 광고 또는 미디어 컨텐츠의 다른 세그먼트를 대체 광고 또는 다른 대체 컨텐츠로 동적으로 대체함으로써, 컨텐츠가 사용자에게 프레젠테이션될 때, 원래 포함된 광고 대신에 사용자가 대체 광고를 수신할 수 있도록 하는 것이 유용할 수 있다.
또한, 클라이언트가 미디어 스트림 내의 특정 시간 포인트에서 그러한 컨텐츠 대체를 수행하는 것이 바람직할 수 있다. 예를 들어, 클라이언트가 기존 광고를 대체 광고로 동적으로 대체해야 하는 경우, 클라이언트는 기존 광고가 시작될 미디어 스트림 내의 일 시점에서 대체 광고를 배치하는 것이 바람직할 수 있다.
특히, 해당 미디어 스트림이 비디오 프레임 및/또는 오디오 프레임과 같은 프레임 시퀀스를 정의할 수 있으며, 클라이언트는 미디어 스트림의 특정 프레임에서 시작하는 컨텐츠 대체를 수행하는 것이 바람직할 수 있다. 예를 들어, 광고 대체의 경우, 클라이언트는 기존 광고의 첫 번째 프레임에서 시작하는 기존 광고 대신에 대체 광고를 삽입하는 것이 바람직할 수 있다.
이러한 컨텐츠 대체를 용이하게 하기 위해, 클라이언트는 컨텐츠 대체를 시작해야 하는 미디어 스트림의 특정 시간 포인트를 학습할 수 있고, 클라이언트는 그 표시된 시간 포인트에서 재생을 시작해야 하는 대체 컨텐츠를 학습할 수 있다. 원하는 컨텐츠 전환 시간 포인트에서, 클라이언트는 기존 미디어 스트림 재생에서 대체 미디어 스트림으로서의 대체 컨텐츠 재생으로 트랜지션할 수 있다. 또한, 클라이언트가 대체 미디어 스트림 재생을 마치면, 클라이언트는 (예를 들어, 진행 중인) 원래의 미디어 스트림 재생으로 다시 트랜지션할 수 있다.
이 프로세스의 기술적 어려움 중 하나는 클라이언트가 제 1 스트림을 재생하는 것에서 제 2 스트림을 재생하는 것으로 트랜지션하는데 시간이 걸릴 수 있다는 것이다(예를 들어, 컨텐츠 대체를 시작하거나 또는 컨텐츠 대체가 끝날 때 원래의 스트림으로 다시 전환함에 있어서). 이것은 클라이언트가 제 2 스트림을 재생하기 시작하기 전에 여러 처리 집약적 및 메모리 집약적 단계들에 참여해야 할 수 있기 때문일 수 있다. 예를 들어, 클라이언트가 캐시를 지우고, 제 2 스트림의 컨텐츠의 적어도 초기 부분을 수신 및 디코딩하고, 렌더링을 위해 디코딩된 컨텐츠로 메모리 버퍼를 채울 필요가 있을 수 있다.
실제에 있어서, 이 스트림 트랜지션 프로세스는 한 프레임 이상의 시간이 소요될 수 있다. 예를 들어, 해당 미디어가 초당 30 프레임의 프레임 레이트의 비디오인 경우, 각 프레임은 1/30 초, 즉 약 33.3 밀리 초(ms)에 걸쳐 있다. 그러나 하나의 비디오 스트림에서 다른 것으로 트랜지션하는 작업은 수백 밀리 초 정도 걸릴 수 있으며, 따라서 수많은 비디오 프레임에 걸치는 시간이 소요된다.
클라이언트가 원하는 컨텐츠 전환 시간 포인트보다 충분히 앞서 스트림 트랜지션 프로세스를 시작하는 것에 의하여 이 타이밍을 처리할 수 있지만, 트랜지션 프로세스에 걸리는 실제 시간은 다양한 이유로 예측할 수 없다. 따라서, 클라이언트가 트랜지션 프로세스를 얼마나 일찍 시작해야 하는지 명확하지 않을 수 있다.
불행하게도, 클라이언트가 트랜지션 프로세스를 너무 늦게 시작하면, 클라이언트가 원하는 컨텐츠 전환 시간 포인트까지 프로세스를 완료하지 못할 수 있으며, 이로 인해 제 2 스트림의 재생이 너무 늦게 시작될 수 있고 결과적으로 너무 늦게 끝날 수 있으므로 사용자 경험 문제가 발생할 수 있다.
예를 들어, 클라이언트가 선형 방송 피드에서 동일한 듀레이션의 원본 광고를 대체 광고로 대체하는 광고 대체 시나리오에서, 클라이언트가 대체 광고를 너무 늦게 재생하기 시작하면, 클라이언트는 결국 원본 광고의 일부가 재생된 이후에 급작스럽게 대체 광고의 재생으로 전환될 수 있다. 또한, 클라이언트가 전체 듀레이션 동안 대체 광고를 재생하는 경우, 대체 광고가 원본 광고의 끝 부분을 넘어서 계속될 수 있으며, 원본 광고 이후 기본 방송 피드의 일부 컨텐츠가 잘릴 수도 있다.
이 문제를 해결하기 위해, 본 개시에 따라, 클라이언트가 클라이언트가 대체 컨텐츠 재생을 시작할 시간 포인트가 너무 늦음을 검출할 수 있고, 클라이언트는 원하는 시작 포인트로부터 지연이 얼마나 오래 걸리는지를 결정할 수 있다. 그 다음 클라이언트는 대체 컨텐츠의 재생이 정시에 종료되도록 하는 방식으로 대체 컨텐츠의 재생을 전략적으로 감소시킬 수 있다.
예를 들어, 클라이언트는 결정된 지연 듀레이션만큼 대체 컨텐츠에서 자동으로 앞으로 탐색하고(seek forward) 거기서 대체 컨텐츠의 재생을 시작할 수 있다. 대안적으로, 클라이언트는 대체 컨텐츠의 끝 부분을 자동으로 잘라냄으로써 끝 부분으로부터 결정된 지연 듀레이션을 제거하거나, 또는 대체 컨텐츠의 내부에서 하나 이상의 프레임(예를 들어, 중복 프레임 및/또는 해당하는 경우 인터-프레임들)을 선택적으로 제거할 수 있다. 또한, 클라이언트는 이러한 동작들 및/또는 다른 동작들의 조합을 수행할 수 있다. 예를 들어, 클라이언트는 시작 부분, 중간 부분 및 끝 부분에서 대체 컨텐츠의 일부를 제거하여, 결정된 지연 듀레이션만큼 전체를 줄일 수 있다.
또한, 대체될 기본 컨텐츠의 시작 이후에 시작되는 대체 컨텐츠의 재생에 대처하는 것을 돕기 위해, 클라이언트는 또한 클라이언트가 대체 컨텐츠 재생을 시작할 준비가 때까지, 기본 컨텐츠 대신에 일부 트랜지션 프레임들을 전략적으로 재생할 수 있다.
이들 및 다른 양태들, 이점들 및 대안들은 첨부 도면을 적절하게 참조하여 다음의 상세한 설명을 읽음으로써 당업자에게 명백해질 것이다. 또한, 이 요약 및 아래에서 제공되는 설명은 제한이 아닌 예로서 본 발명을 설명하기 위한 것임을 이해해야 한다.
도 1은 개시된 특징들이 구현될 수 있는 시스템의 간략 블록도이다.
도 2는 대체 광고의 재생이 늦게 시작되는 광고 대체 시나리오를 나타내는 도면이다.
도 3은 지연 듀레이션만큼 재생 시간을 줄이기 위해 도 2의 대체 광고에서 앞으로 탐색을 나타내는 도면이다.
도 4는 도 3에 예시된 메커니즘의 결과를 나타내는 도면이다.
도 5는 지연 듀레이션만큼 조기 대체 광고의 재생 종료를 나타내는 도면이다.
도 6은 도 5에 예시된 메커니즘의 결과를 나타내는 도면이다.
도 7은 본 개시에 따라 수행될 수 있는 방법을 도시하는 흐름도이다.
도 8은 본 개시에 따라 수행될 수 있는 방법을 도시하는 다른 흐름도이다.
도 9는 본 개시에 따라 동작할 수 있는 예시적인 미디어 클라이언트의 컴포넌트들을 도시하는 간략 블록도이다.
도면들을 참조하면, 도 1은 다양한 개시된 원리들이 적용될 수 있는 예시적인 시스템의 간략 블록도이다. 그러나, 본 명세서에서 설명되는 이러한 구성과 다른 구성 및 처리들은 다양한 다른 형태를 취할 수 있음을 이해할 것이다. 예를 들어, 요소들 및 동작들은 재정렬, 분산, 복제, 결합, 생략, 추가 또는 수정될 수 있다. 또한, 하나 이상의 엔티티에 의해 수행되는 것으로 여기에서 설명되는 기능들은 하드웨어, 펌웨어, 및/또는 소프트웨어를 통해(예를 들어 프로그램 명령어 등을 실행하는 하나 이상의 처리 유닛들에 의해) 그러한 엔티티들에 의해 및/또는 이들을 대신하여 구현될 수 있음을 이해할 것이다.
도 1에 도시된 바와 같이, 본 예시적인 시스템은 미디어 소스(14)로부터 실시간으로 미디어 스트림을 수신하도록 구성되는 미디어 클라이언트(12)를 포함한다.
미디어 클라이언트(12)는 미디어 소스(14)로부터 비디오 및/또는 오디오 컨텐츠와 같은 미디어 컨텐츠를 나타내는 아날로그 또는 디지털 미디어 스트림을 수신하고, 미디어 컨텐츠를 출력하며, 및/또는 디스플레이 스크린 및/또는 오디오 스피커와 같은 사용자 인터페이스에서 컨텐츠의 프레젠테이션을 위해 스트림을 포워딩하도록 전술한 바와 같이 동작하는 것으로 구성될 수 있다. 미디어 클라이언트는 다른 가능성들 중에서, 위에서 설명한 형태들 중 하나를 취할 수 있다.
미디어 소스(14)는 또한 미디어 클라이언트(12)의 형태에 따라 다양한 형태를 취할 수 있다. 예를 들어, 미디어 클라이언트(12)가 텔레비전인 경우, 미디어 소스(14)는 텔레비전에 의한 프레젠테이션을 위해 선택된 미디어 스트림을 출력하도록 구성된, 로컬 셋탑 박스(예를 들어, 케이블 또는 위성 수신기) 또는 스트리밍 미디어 서버일 수 있거나, 또는 미디어 소스(14)는 다른 가능성들 중에서, 방송 텔레비전국 등일 수 있다. 미디어 클라이언트가 컴퓨터인 경우, 미디어 소스는 인터넷 스트리밍 미디어 서버 또는 기타 미디어 프로바이더를 포함할 수 있다. 대안적으로, 미디어 소스(14)는 미디어 클라이언트(12)와 통합되고/되거나 미디어 클라이언트(12)에 의해 로컬로 액세스 가능한 데이터 스토리지일 수 있으며, 미디어 클라이언트는 미디어 스트림을 재생하고 있거나 재생을 위해 미디어 스트림을 포워딩하고 있을 때 등에 있어서, 재생을 위해 데이터 스토리지로부터 미디어 스트림을 수신(예를 들어, 검색)한다. 다른 예도 가능하다.
도 1에 더 도시된 바와 같이, 미디어 클라이언트(12)는 미디어 클라이언트가 하나 이상의 서버(18)와 통신할 수 있는 네트워크(예를 들어, 인터넷 또는 사설 네트워크)(16)와의 통신 인터페이스를 가질 수 있다. 서버(18)는 파일 서버, 미디어 서버 및/또는 다른 유형의 컨텐츠 서버 등을 포함할 수 있다. 또한, 미디어 소스(14)가 서버(18)와 별도로 도시되어 있지만, 미디어 소스(14)는 대안적으로 하나 이상의 서버(18)에 포함되거나 통합될 수 있고 네트워크(16)를 통해 액세스될 수 있다.
위에서 언급한 바와 같이, 클라이언트(12)와 같은 미디어 클라이언트가 미디어 스트림을 수신 및 재생(예를 들어, 재생을 위해 출력)할 경우, 클라이언트가 스트림의 일부를, 대체 스트림을 정의하는 대체 컨텐츠로 대체하는 것이 유용할 수 있다. 또한, 위에서 언급한 바와 같이, 클라이언트가 미디어 스트림 내의 특정 시간 포인트에서 이것을 수행하는 것이 바람직할 수 있다. 예를 들어, 스트림이 비디오 프레임들 및/또는 오디오 프레임들과 같은 프레임 시퀀스를 정의하는 경우, 클라이언트가 시퀀스의 특정 프레임에서 시작하는 컨텐츠 대체를 수행하는 것이 바람직할 수 있다.
실제에 있어서, 클라이언트는 클라이언트가 컨텐츠 대체를 시작해야 하는 미디어 스트림의 특정 타겟 시간 포인트를 다양한 방식으로 학습(결정)할 수 있다.
예를 들어, 클라이언트는 미디어 스트림 내에서 각 프레임을 식별하거나 타임스탬프하는 데이터 세트(예를 들어, 미디어 스트림에 임베드되거나 또는 인-스트림 시그널링을 통해 제공되는 타임스탬프들) 및 컨텐츠 대체가 시작될 프레임의 아이덴티티 또는 타임스탬프를 지정하는 데이터를, 클라이언트는 미디어 스트림과 함께 또는 이와 관련하여 프로비저닝되거나 수신될 수 있다. 따라서 클라이언트는 해당 데이터를 기반으로, 컨텐츠 대체가 시작될 미디어 스트림의 특정 시간 포인트를 결정할 수 있다.
대안적으로, 클라이언트가 미디어 스트림을 수신하고 재생함에 따라, 클라이언트는 네트워크 서버와 함께 작동하여 원하는 컨텐츠 전환 시간 포인트로서, 컨텐츠 대체가 시작될 미디어 스트림의 포인트를 학습할 수 있다. 예를 들어, 서버는 먼저 클라이언트에 의해 재생되고 있는 미디어 스트림을 식별할 수 있다. 그리고 미디어 스트림을 식별하면, 서버는 클라이언트가 컨텐츠 대체를 시작해야 하는 미디어 스트림의 특정 시간 포인트를 결정할 수 있으며 결정된 시간 포인트를 클라이언트에게 알릴 수 있다.
클라이언트에 의해 재생되고 있는 미디어 스트림에 대한 서버의 식별을 용이하게 하기 위해, 클라이언트(또는 가능하게는 보조 장치)는 클라이언트가 스트림을 수신함에 따라 실시간으로 미디어 컨텐츠를 나타내는 디지털 핑거프린트 데이터를 생성할 수 있으며, 서버는 해당 핑거프린트 데이터를, 기지의(known) 미디어 스트림의 미디어 컨텐츠를 나타내는 레퍼런스 핑거프린트 데이터와 비교할 수 있으며, 핑거프린트 매칭은 클라이언트에 의해 재생되고 있는 미디어 스트림이 기지의 미디어 스트림임을 나타낸다.
서버는 기지의 미디어 스트림을 나타내는 레퍼런스 핑거프린트 데이터를 확립하거나 그렇지 않으면 그것에 액세스할 수 있다. 예를 들어, 서버 또는 관련 시청 스테이션 또는 다른 엔티티는 기지의 미디어 스트림의 브로드캐스트를 수신할 수 있으며, 브로드캐스트를 수신하는 동안, 기지의 미디어 스트림의 프레임들을 나타내는 레퍼런스 디지털 핑거프린트들의 시퀀스를 생성할 수 있다. 서버 또는 다른 엔티티는 기지의 미디어 스트림의 프레임들을 프로그래밍 방식으로 분석하고, 기지의 미디어 스트림의 사본을 입력으로서 수신하고, 레퍼런스 핑거프린트들을 생성하기 위한 것으로 현재 알려져 있거나 나중에 개발될 임의의 미디어 핑거프린팅 프로세스 또는 알고리즘을 적용함으로써 이러한 레퍼런스 핑거프린트들을 확립할 수 있다. 또는 서버는 기지의 미디어 스트림을 나타내는 이 레퍼런스 핑거프린트 시퀀스를 확립하거나 프로비저닝될 수 있다. 그 후에 서버는 기지의 미디어 스트림의 아이덴티티와 관련하여 레퍼런스 핑거프린트들을 저장할 수 있다.
또한, 클라이언트가 미디어 스트림을 재생함에 따라 실시간으로, 클라이언트는 해당 스트림의 프레임들을 나타내는 쿼리 핑거프린트들을 생성하고, 분석을 위하여 이 쿼리 핑거프린트들을 서버로 전송할 수 있다. 핑거프린트 비교를 용이하게 하기 위해, 클라이언트는 레퍼런스 핑거프린트들을 확립하는데 적용되거나 적용되었던 것과 동일한 핑거프린팅 프로세스 또는 알고리즘을 사용하여 이러한 쿼리 핑거프린트들을 생성할 수 있다. 또한, 클라이언트는 특정 프레임 레이트에서 쿼리 핑거프린트들을 생성하고, 이 핑거프린트들을 그룹으로 서버에 전송할 수 있다. 예를 들어, 초당 30 프레임으로 비디오를 구성하는 미디어 스트림의 경우, 클라이언트는 리소스를 절약하기 위해 초당 2 프레임 정도의 감소된 프레임 레이트에서 쿼리 핑거프린트들을 생성할 수 있으며, 클라이언트는 최신 그룹의 쿼리 핑거프린트들을 1.5 초 정도마다 서버로 전송할 수 있다. 다른 예도 가능하다.
서버가 클라이언트로부터 쿼리 핑거프린트 데이터를 수신함에 따라, 서버는 쿼리 핑거프린트 데이터를 기지의 미디어 스트림의 레퍼런스 핑거프린트 데이터와 비교할 수 있다. 그리고 쿼리 핑거프린트 데이터가 레퍼런스 핑거프린트 데이터와 매칭된다고 충분한 확신을 가지고 서버가 판정하면, 서버는 클라이언트에 의해 재생되고 있는 미디어 스트림이 기지의 미디어 스트림이라고 결론을 내릴 수 있다.
서버는 프레임 단위로 이 핑거프린트 비교를 수행할 수 있다. 예를 들어, 비디오 컨텐츠를 고려하면, 서버는 프레임의 쿼리 핑거프린트와 프레임의 레퍼런스 핑거프린트를 비교하여, 비디오 프레임 단위로 분석을 수행할 수 있다. 비교 프로세스는 핑거프린트들의 구조에 따라 다양한 형태를 취할 수 있다. 예를 들어, 이 비교는 핑거프린트들 간의 최대 편차를 계산하고, 그 최대 편차가 사전 정의된 허용 오차 내인지를 판정하는 것을 포함할 수 있다. 또한, 핑거프린트가 바이너리인 경우, 이것은 부울(Boolean) 판정일 수 있거나 또는 해밍(Hamming) 거리(핑거프린트에서 각 비트 위치 간의 미스매칭 수)를 계산하는 것을 포함할 수 있다. 핑거프린트가 10 진수 값이나 벡터(예를 들면, 비디오 프레임 영역 당 그레이 값)와 같이 더 복잡한 값인 경우, 이것은 이 값들 또는 벡터들 간의 거리를 판정하는 것을 포함할 수 있다. 다른 많은 예도 가능하다.
또한, 서버는 원하는 수준의 허용 오차로 이러한 핑거프린트 비교 프로세스를 수행할 수 있다. 예를 들어, 이 비교는 더 큰 수의 차이에 대한 허용 오차 및/또는 더 큰 크기의 차이에 대한 허용 오차와 같은, 핑거프린트들 간의 차이에 대한 상대적으로 높은 허용 오차를 가지고, 대략적으로 이루어질 수 있다. 예를 들어, 두 개의 32 비트 핑거프린트를 서로 비교할 경우, 대략적 비교는 두 개 또는 다른 지정된 비트 수가 매칭되지 않더라도 일반적으로 핑거프린트가 서로 매칭되는 것으로 간주할 수 있다. 또는 이 비교는 이러한 차이들에 대한 더 낮은 허용 오차 및/또는 기초가 되는 미디어의 특정 부분들을 나타내는 특정 핑거프린트 컴포넌트들에 초점을 맞춘 비교들을 통해 보다 세분화될 수 있다.
이러한 클라이언트에 의해 생성된 쿼리 핑거프린트와 기지의 미디어 스트림의 레퍼런스 핑거프린트의 비교를 통해, 서버가 하나 이상의 매칭들을 발견할 수 있다. 예를 들어, 서버는 클라이언트에 의해 재생되고 있는 미디어 스트림의 프레임의 쿼리 핑거프린트가 기지의 미디어 스트림의 프레임의 각각의 레퍼런스 핑거프린트와 매칭되는 하나 이상의 인스턴스들을 발견할 수 있다. 따라서 이러한 매칭은 클라이언트에 의해 재생되고 있는 미디어 스트림이 기지의 미디어 스트림이라는 결론을 확립하거나 이것을 지원할 수 있다.
대안적으로, 서버는 다른 방식으로 해당 미디어 스트림을 식별할 수 있다. 예를 들어, 미디어 스트림에 미디어 스트림의 아이덴티티에 해당하는 워터마크 데이터가 포함된 경우, 클라이언트는 워터마크 데이터를 읽거나 추출하여 서버에 보고할 수 있다. 그리고 서버는 보고된 워터마크 데이터를 기초로서 사용하여, 클라이언트에 의해 수신되고 있는 미디어 스트림을 식별할 수 있다. 예를 들어, 서버는 클라이언트에 의해 보고된 워터마크 데이터가 특정 기지의 미디어 스트림과 대응하는지 판정하기 위해, 다양한 워터마크 데이터를 특정 기지의 미디어 스트림들과 상관시키는 레퍼런스 데이터를 참조할 수 있다.
클라이언트에 의해 재생되고 있는 미디어 스트림을 식별한 후, 서버는 컨텐츠 대체가 발생할 미디어 스트림의 시간 포인트를 결정할 수 있다. 예를 들어, 서버는 컨텐츠 대체가 시작될 기지의 미디어 스트림 내의 시간 포인트를 지정하는 레퍼런스 데이터를 참조할 수 있다. 그 후에 서버는 해당 시간 포인트를 나타내는 지시를 클라이언트에게 전송할 수 있다.
서버의 레퍼런스 데이터에 의해 지정되는 대체 시간 포인트는 클라이언트가 이해할 수 있는 방식으로 정의될 수 있다. 예를 들어, 클라이언트가 미디어 스트림 내에 정의된 "실제 시간(true time)" 타임라인을 따라 미디어 스트림의 각 프레임에 타임스탬핑하는 데이터로 프로비저닝되는 경우, 서버의 대체 시간 포인트는 미디어 스트림의 다가오는 프레임의 실제 시간 타임스탬프일 수 있다. 따라서 서버는 클라이언트가 컨텐츠 대체를 시작해야 하는 시간의 표시로서 실제 시간 타임스탬프를 클라이언트에게 제공할 수 있다.
또한, 클라이언트는 클라이언트의 내부 클럭에 따라 정의된 "클라이언트 시간"에 해당 실제 시간 타임스탬프를 맵핑함으로써, 클라이언트가 컨텐츠 대체를 시작해야 할 때 자신의 클럭에서 시간을 결정할 수 있다. 예를 들어, 클라이언트는 (i) 현재 프레임의 실제 시간 타임스탬프와 클라이언트의 클럭의 현재 시간 사이의 차이를 계산하고 (ii) 결정된 차이를, 대체가 발생할 다가오는 프레임의 표시된 실제 시간 타임스탬프에 적용함으로써, 클라이언트가 컨텐츠 대체를 시작해야 하는 클라이언트 시간 포인를 결정할 수 있다.
대안적으로, 서버의 레퍼런스 데이터에 의해 지정된 대체 시간 포인트는 클라이언트가 이해할 수 없는 방식으로 정의될 수 있다. 예를 들어, 서버의 대체 시간 포인트는 기지의 미디어 스트림 내의 실제 시간 타임라인에 따라 정의된 타임스탬프일 수 있지만, 클라이언트에는 실제 시간에 대한 컨텍스트나 퍼스펙티브가 없을 수 있다. 이 경우, 서버는 실제 시간과 클라이언트 시간 사이에 맵핑 또는 "동기 락(synchronous lock)"을 확립하는 프로세스에 참여할 수 있으며, 서버는 컨텐츠 대체가 발생하는 실제 시간 시간 포인트를, 대응하는 클라이언트 시간 시간 포인트에 맵핑하고, 해당 클라이언트 시간 시간 포인트를 클라이언트에게 제공한다.
이에 대한 비제한적인 예로서, 텔레비전 방송 내에 나타날 수 있는 애드 포드(ad pod)를 정의하는 미디어 스트림을 고려한다. 애드 포드는 TV 광고와 같은 일련의 광고로 구성된다. 이 예에서, 클라이언트는 특정 텔레비전 채널의 선형 방송 피드를 수신하여 재생하고 있는 텔레비전일 수 있으며, 애드 포드는 해당 피드 내의 임의의 시점에서 나타날 수 있다. 특히 스포츠 이벤트와 같은 라이브 방송의 경우 이러한 피드에 애드 포드가 나타나는 시간을 예측할 수 없다. 대안적으로, 애드 포드는 특별히 스케줄링된 시간에 나타날 수 있다.
이 예에서는, 원하는 컨텐츠 대체가 애드 포드 내의 특정 광고의 대체일 수 있다(예를 들어, 광고를 다른 광고 또는 다른 대체 컨텐츠로 대체하는 것). 예를 들어, 애드 포드가 일련의 광고 A1, A2, A3, A4인 경우, 원하는 컨텐츠 대체는 광고 A3의 대체일 수 있다.
이러한 상황에서, 애드 포드는 시간 T=0에서 시작하여 애드 포드의 끝까지 계속되는 실제 시간 타임라인을 정의할 수 있으며, 광고 A3는 해당 타임라인의 시간 TA3에서 시작할 수 있다. 그러나, 클라이언트는 해당 타임라인에 대한 컨텍스트가 부족할 수 있다. 클라이언트에는 클라이언트 시간(client time)을 정의하는 타임라인(예를 들어, 시간 또는 기타 내부 시간 레퍼런스)을 가지는 자체 내부 클럭이 있을 수 있다. 그러나 클라이언트 시간 내에 애드 포드 타임라인이 어디에 있는지에 대한 고급 지식 없이, 원하는 컨텐츠 수정 시점으로서 TA3 값만 주어지면 클라이언트가 원하는 시점에서 광고 대체를 시작할 수 없다.
서버가 해당 컨텍스트에서 실제 시간과 클라이언트 시간 사이에 동기 락을 확립하도록 하기 위해, 클라이언트는 서버로 전송하는 쿼리 핑거프린트들을 타임스탬프할 수 있다. 특히, 클라이언트가 미디어 스트림을 재생하고 쿼리 핑거프린트들을 생성할 시에, 클라이언트는 현재 클라이언트 시간 값으로 각 쿼리 핑거프린트를 타임스탬프할 수 있다. 서버가 쿼리 핑거프린트들과 기지의 미디어 스트림의 타임스탬프된 레퍼런스 핑거프린트 사이에 하나 이상의 매칭을 검출하는 경우, 서버는 이러한 매칭 포인트들을 기초로서 사용하여 실제 시간을 클라이언트 시간에 맵핑할 수 있다. 예를 들어, 이러한 적어도 하나의 검출된 매칭 포인트에 기초하여, 서버는 (i) 매칭 레퍼런스 핑거프린트의 실제 시간 타임스탬프와 (ii) 매칭 쿼리 핑거프린트의 클라이언트 시간 타임스탬프 간의 맵핑을 정의할 수 있다.
서버가 동기 락을 확립하고 나면, 서버는 확립된 동기 락을 사용하여 컨텐츠 대체가 발생하는 실제 시간 시간 포인트를, 컨텐츠 대체가 발생하는 대응하는 클라이언트 시간 시간 포인트로 변환할 수 있다. 그리고 서버는 클라이언트가 재생하고 있는 미디어 스트림의 원하는 시간 포인트에서 클라이언트가 컨텐츠 대체를 시작할 수 있도록 하기 위해, 결정된 클라이언트 시간 시간 포인트를 클라이언트에게 전송할 수 있다.
또한, 대안의 구현에서, 서버가 아닌 클라이언트가 컨텐츠 대체가 발생하는 클라이언트 시간 포인트를 결정하기 위해 동기 락을 확립하고 적용하는 프로세스를 수행할 수 있다.
예를 들어, 서버가 클라이언트에 의해 수신되고 있는 미디어 스트림을 식별하고 나면, 서버는 기지의 미디어 스트림의 다가오는 부분에 대한 레퍼런스 핑거프린트들 및 실제 시간 타임스탬프들을 정의하는 일부 레퍼런스 데이터를 클라이언트에게 전송할 수 있다. 그 후에 클라이언트는 쿼리 핑거프린트들과 레퍼런스 핑거프린트들 간의 핑거프린트 매칭을 수행하여 하나 이상의 매칭 포인트를 찾아낼 수 있으며, 클라이언트는 적어도 하나의 매칭 포인트의 타임스탬프들을 마찬가지로 상관시킴으로써 실제 시간과 클라이언트 시간 사이에 동기 락을 확립할 수 있다. 클라이언트가 동기 락을 확립하고 나면, 클라이언트는 동기 락을 기초로서 사용하여 컨텐츠 대체가 발생하는 제공된 실제 시간 시간 포인트를, 컨텐츠 대체가 발생하는 대응하는 클라이언트 시간 시간 포인트로 변환할 수 있다.
클라이언트가 컨텐츠 대체를 시작해야 할 미디어 스트림의 특정 타겟 시간 포인트를 결정하는 것에 추가하여, 클라이언트는 또한 클라이언트가 해당 시간 포인트에서 시작하여 수행해야 하는 컨텐츠 대체에 대하여 다양한 방식으로 학습할 수도 있다.
예를 들어, 클라이언트는 표시된 시간 포인트에서 시작하는 컨텐츠 대체 사양으로 미리 프로비저닝될 수 있으며, 예를 들어 이 표시는 클라이언트가 미디어 스트림의 기존 컨텐츠 대신에 특정 컨텐츠로 대체해야 한다는 표시이다. 대안적으로, 클라이언트는 서버 또는 다른 엔티티로부터 수행할 컨텐츠 대체 사양을 수신할 수 있다. 예를 들어, 클라이언트가 컨텐츠 수정을 시작할 미디어 스트림의 시간 포인트를 알리는 지시를 서버가 클라이언트에게 전송할 경우, 서버는 클라이언트에 대한 해당 지시에, 수행할 컨텐츠 대체의 사양을 포함(또는 별도로 제공)할 수 있다.
실제에 있어서, 수행할 컨텐츠 대체의 사양은 클라이언트가 획득해야 하고 미디어 스트림의 기존 컨텐츠 대신에 또는 보충으로서 삽입할 대체 컨텐츠에 대한 포인터를 포함할 수 있다. 예를 들어, 위에서 언급한 바와 같이, 사양은 클라이언트가 대체 컨텐츠를 요청하고 수신할 수 있는 스트리밍 미디어 서버, 파일 서버 등의 네트워크 주소를 정의하거나 이것과 상관시키는 URL(Universal Resource Locator)을 포함할 수 있다. 대안적으로, 사양은 미디어 스트림에서 표시된 시간 포인트에서 시작되는 컨텐츠 대체를 수행하는 것을 용이하게 하기 위해, 클라이언트가 대체 컨텐츠를 어디서 및/또는 어떻게 획득해야 하는지를 다른 방식으로 나타낼 수 있다. 또한, 사양은 클라이언트가 원래의 컨텐츠 대신 대체 컨텐츠를 재생해야 하는 시간을 클라이언트에게 알리기 위해, 대체 컨텐츠의 듀레이션을 표시할 수 있다.
컨텐츠 대체가 시작되는 표시된 시간 포인트에서, 클라이언트는 기존 미디어 스트림을 재생하는 것으로부터, 대체 미디어 스트림으로서 대체 컨텐츠를 재생하는 것으로 전환할 수 있다. 또한, 컨텐츠 대체가 끝나면, 클라이언트는 (예를 들어, 진행 중인) 원래 미디어 스트림 재생으로 다시 전환할 수 있다.
비제한적인 예로서, 위에서 논의된 애드 포드를 다시 고려하도록 한다. 실제에 있어서, 서버는 애드 포드의 프레임들을 나타내며 이에 대응하는 타임스탬프된 레퍼런스 핑거프린트들로 프로비저닝될 수 있다. 또한, 서버는 애드 포드의 광고들 중 특정 광고를 대체해야 한다는 표시와, 해당 광고 대체를 용이하게 하는 정보가 프로비저닝될 수 있다. 예를 들어, 서버는 기존 광고의 첫 번째 프레임의 실제 시간 포인트 표시, 대체 광고의 URL 및 대체 듀레이션 표시가 프로비저닝될 수 있다.
클라이언트가 이 애드 포드를 포함할 수 있는 선형 방송 피드를 수신 및 재생하는 동안 지속적으로, 또는 하나 이상의 다른 트리거에 응답하여, 클라이언트는 방송 피드의 타임스탬프된 쿼리 핑거프린트들을 생성할 수 있으며, 분석을 위하여 이러한 타임스탬프된 쿼리 핑거프린트들을 서버에 보고할 수 있다. 이러한 쿼리 핑거프린트들을 애드 포드 시퀀스의 프레임들을 나타내는 레퍼런스 핑거프린트들과 비교함으로써, 서버는 클라이언트가 애드 포드 시퀀스를 재생하고 있다는 것을 검출할 수 있다.
클라이언트가 애드 포드 시퀀스를 재생하고 있다고 결정한 후, 서버는 예를 들어 위에서 설명한 방식으로 광고 대체가 시작되는 프레임의 실제 시간 포인트를 대응하는 클라이언트 시간 포인트로 변환할 수 있으며 또한 클라이언트 시간 포인트를 지정하고 있고, 클라이언트가 해당 클라이언트 시간에서 시작하는 미디어 스트림의 프레임들을 대체할 대체 광고에 대한 포인터를 포함하며, 또한 클라이언트가 표시된 컨텐츠 대체를 수행하도록 지시하는 지시를 클라이언트에게 전송할 수 있다. 따라서, 클라이언트는 표시된 대체 광고를 얻을 수 있고, 표시된 클라이언트 시간 포인트에서 시작하는 미디어 스트림의 프레임들에 대한 해당 광고를 대체할 수 있다.
또한, 서버는 광고 대체 듀레이션 또는 광고 대체가 종료될 클라이언트 시간 포인트를 클라이언트에게 알릴 수 있으며, 해당 듀레이션은 표준이거나 또는 사전 설정된 듀레이션일 수 있다. 그리고 광고 대체가 끝나면, 클라이언트는 대체 광고 재생으로부터 진행중인 방송 피드(예를 들면, 나머지 애드 포드 시퀀스) 재생으로 다시 전환할 수 있다.
위에서 설명한 바와 같이, 이 프로세스에서 발생할 수 있는 기술적 문제점은 클라이언트가 하나의 스트림을 재생하는 것으로부터 다른 스트림을 재생하는 것으로(예를 들면, 선형 방송 스트림에서 애드 포드 시퀀스를 재생하는 것으로부터 대체 광고 스트림을 재생하는 것으로) 트랜지션하는데 시간이 걸릴 수 있다는 것이다. 특히, 위에서 언급한 바와 같이, 클라이언트는 대체 스트림 재생 시작을 용이하게 하기 위해, 캐시 지우기, 컨텐츠 수신 및 디코딩, 메모리 버퍼 채우기와 같은 다양한 프로세스에 참여해야 할 수 있다.
이러한 스트림 트랜지션 프로세스의 시작 포인트는 다양한 방식으로 정의될 수 있다. 예를 들어, 클라이언트가 스트리밍 미디어 서버에서 제 2 스트림의 컨텐츠를 수신하는 경우, 스트림 트랜지션 프로세스는 다른 가능성 중에서도, 클라이언트가 서버와의 TCP 세션 셋업을 시작하기 위해 초기 TCP(Transport Control Protocol) 핸드 셰이크 메시지를 보낼 때 시작될 수 있거나 또는 클라이언트가 서버와의 RTP(real-time transport protocol) 세션 셋업을 시작하기 위해 RTSP(Real-Time Streaming Protocol) SETUP 요청 등을 보낼 때 시작될 수 있다. 대안적으로, 클라이언트가 다른 방식으로 또는 다른 소스로부터 제 2 스트림의 컨텐츠를 수신하는 경우, 프로세스의 시작 포인트는 다른 방식들로 정의될 수 있다. 프로세스의 종료는 클라이언트가 지터(jitter) 및/또는 기타 문제를 고려하면서 스트림 재생을 시작하기에 충분한 제 2 미디어 스트림을 버퍼링한 시간 포인트로서 정의될 수 있다. 다른 예도 가능하다.
전술한 바와 같이, 스트림 트랜지션 프로세스는 시작부터 종료까지 수백 밀리 초 정도 걸릴 수 있다. 또한, 리소스 제약 및 기타 요인이 수시로 변함에 따라, 클라이언트가 임의의 주어진 인스턴스에 있어서 한 스트림에서 다른 스트림으로 트랜지션하는데 걸리는 실제 시간은 예측할 수 없다.
경험에 의해 클라이언트(또는 대표 클라이언트)에 대한 최소 및 최대 예상 스트림 트랜지션 듀레이션을 확립할 수 있다. 예를 들어, 테스트 결과 클라이언트가 제 1 스트림의 재생에서 제 2 스트림의 재생으로 트랜지션하는데 300 ms 내지 500 ms 만큼 걸리는 것으로 나타났다(예를 들어, 클라이언트가 제 2 스트림 재생을 시작할 준비가 되는 포인트까지). 따라서, 클라이언트는 300 ms의 최소 예상 트랜지션 듀레이션과 500 ms의 최대 예상 트랜지션 듀레이션을 가질 수 있으며, 이것은 다른 가능성 중에서도 200 ms의 불확실성 범위를 정의한다.
클라이언트는 시간에 따른 스트림 트랜지션 듀레이션을 추적하고 추적된 듀레이션을 롤업하여 최소 및 최대의 통계적 측정을 확립함으로써 이러한 최소 및 최대 예상 스트림 트랜지션 듀레이션들을 결정할 수가 있으며, 그렇지 않으면 클라이언트는 예상 트랜지션 듀레이션들에 대한 대표 값들로 프로비저닝될 수 있다.
이러한 불확실성 범위가 주어지면, 클라이언트는 최대 예상 전환 듀레이션과 동일한 시간만큼 원하는 컨텐츠 전환 시간 포인트보다 앞서 시작하도록 전환 프로세스를 구성할 수 있다. 이러한 방식으로, 클라이언트는 이론적으로 원하는 컨텐츠 전환 시작 시간에 또는 그 이전에 불확실성 범위 내의 시점에서 제 2 스트림을 재생하기 시작해야 한다.
그러나, 불행히도, 클라이언트가 제 2 스트림을 재생하기 위한 준비를 마치고 나면, 클라이언트는 이제 재생을 위한 제 1 스트림 컨텐츠를 버퍼링하는 대신 재생을 위한 제 2 스트림 컨텐츠를 버퍼링할 수 있으므로, 클라이언트는 더 이상 제 1 스트림을 충분히 재생할 수 있는 위치에 있지 않을 수 있다. 따라서, 클라이언트가 최대 예상 전환 듀레이션이 끝나기 전에 제 2 스트림을 재생하기 위한 준비를 완료하면, 클라이언트는 원하는 것보다 이전에 제 2 스트림의 재생을 시작할 수 있으며, 이로 인해 사용자 경험 문제가 발생할 수 있다. 또한, 광고 대체와 같은 컨텐츠 대체의 경우, 클라이언트가 제 2 스트림의 재생으로부터 제 1 스트림의 재생으로 다시 전환해야 할 때 대체 듀레이션의 끝 부분에서 제 2 스트림의 재생이 너무 일찍 시작되면 관련된 사용자 경험 문제가 발생할 수 있다.
클라이언트가 원하는 것보다 앞서 제 2 스트림의 재생을 시작하는 것을 피하는데 도움이 되는 한 가지 방법은, 클라이언트가 최대 예상 전환 듀레이션보다 작은 시간만큼 원하는 컨텐츠 전환 시간 포인트보다 앞서 시작하도록 전환 프로세스를 구성하는 것이다. 예를 들어, 클라이언트는 최대 예상 전환 듀레이션보다 작지만 최소 예상 전환 듀레이션보다 크거나 같은 시간만큼 원하는 컨텐츠 전환 시간 포인트보다 앞서 스트림 전환 프로세스를 시작할 수 있다.
예를 들어, 클라이언트는 최소 예상 전환 듀레이션과 최대 예상 전환 듀레이션 사이의 중간과 같은, 평균 예상 전환 듀레이션인 시간만큼 원하는 컨텐츠 전환 시간 포인트 이전에 전환 프로세스를 시작할 수 있다. 예를 들어 최소 예상 전환 듀레이션이 300 ms이고 최대 예상 전환 듀레이션이 500 ms인, 위에서의 예시적 값들을 사용하면, 클라이언트는 원하는 컨텐츠 전환 시간 포인트보다 400ms 이전에 전환 프로세스를 시작할 수 있다.
그러나 이 솔루션도 또한 최적의 것이 아니며, 그 이유는 클라이언트가 대체 컨텐츠의 재생을 준비하는데 궁극적으로 평균 예상 전환 듀레이션보다 더 오래 걸릴 수 있기 때문이다. 결과적으로, 클라이언트는 원하는 컨텐츠 전환 시간 포인트가 경과할 때까지 컨텐츠 전환 준비를 완료하지 못할 수 있다. 그 결과, 위에서 언급한 바와 같이, 클라이언트는 대체되어야 하는 기본 컨텐츠 중 일부를 재생한 이후에 급작스럽게 대체 컨텐츠의 재생으로 전환할 수 있으며, 이때문에 열악한 사용자 경험을 제공할 수 있다. 또한, 위에서 언급한 바와 같이, 클라이언트가 대체 컨텐츠를 너무 늦게 재생하기 시작하고 전체 듀레이션 동안 대체 컨텐츠를 재생하면, 대체 컨텐츠의 재생이 대체 대상인 컨텐츠의 끝 부분을 넘어서 지속될 수 있어서 기본 미디어 스트림의 후속 컨텐츠의 시작 부분이 잘리게 될 수도 있다.
본 개시는 너무 늦게 시작되어 너무 늦게 끝나는 대체 컨텐츠의 재생의 기술적 문제를 해결하는데 도움이 되는 메커니즘을 제공한다.
본 개시에 따라, 클라이언트가 원하는 컨텐츠 전환 시간 포인트가 지난 후 약간의 지연을 가지고 대체 컨텐츠를 시작했거나 재생을 시작했을 경우, 클라이언트는 지연이 얼마나 오래되었는지를 결정하게 된다. 예를 들어, 클라이언트는 원하는 컨텐츠 전환 시간 포인트에서 대체 컨텐츠의 재생이 시작되었거나 시작될 때까지의 시간이 얼마나 지났거나 지날 것인지를 결정할 수 있다. 그리고 위에서 언급한 바와 같이, 클라이언트는 대체 컨텐츠의 재생이 정시에 종료되도록 하는 방식으로 대체 컨텐츠의 재생을 전략적으로 감소시키게 된다. 또한, 대체될 기본 컨텐츠가 시작된 후 시작되는 대체 컨텐츠의 재생에 대처하기 위해, 위에서 언급한 바와 같이, 클라이언트는 대체 컨텐츠 재생을 시작할 준비가 될 때까지, 해당 기본 컨텐츠 대신에 일부 트랜지션 프레임들을 전략적으로 재생할 수도 있다.
이 프로세스는 대체될 컨텐츠(원본 컨텐츠) 및 대체 컨텐츠가 서로 동일한 듀레이션 D이고, - 지연이 없는 경우 - 목표는 원본 컨텐츠가 시작되었을 때 정확하게 대체 컨텐츠의 재생을 시작하고 원본 컨텐츠가 종료되었을 때 정확하게 대체 컨텐츠의 재생을 종료하는 것이다. 예를 들어, 광고 대체 시나리오에서, 원본 광고와 대체 광고는 각각 30 초 또는 다른 일반적인 광고 듀레이션이 수 있으며, 목표는 원본 광고의 재생이 시작되었을 때 정확하게 대체 광고의 재생을 시작하고, 원본 광고의 재생이 종료되었을 때 정확하게 대체 광고의 재생을 종료하는 것이다.
또한, 프로세스는 클라이언트가 대체 컨텐츠의 재생을 시작하는 것이, 원본 컨텐츠가 시작된 시간 이후, 즉 원하는 컨텐츠 전환 시간 포인트 이후 듀레이션 P 초의 지연 기간(아마도 수십 밀리 초, 가능하게는 1 초 미만에 이르는 수 개의 프레임)만큼 지연되거나, 지연되었거나, 지연될 것이라고 가정한다. 클라이언트는 원하는 컨텐츠 전환 시간 포인트까지 대체 컨텐츠의 재생을 시작하지 않았거나 시작하지 않을 것임을 검출하여 이러한 지연의 존재를 감지할 수 있다. 또한 클라이언트는 원하는 컨텐츠 전환 시간 포인트에 도달한 때부터 클라이언트가 대체 컨텐츠를 재생하기 시작할 때까지 프로그래밍 방식으로 스톱워치를 실행하여 지연 시간을 계산할 수 있다.
클라이언트는 원본 컨텐츠가 종료되었을 때 정확하게 대체 컨텐츠의 재생을 완료하기를 원하기 때문에, 클라이언트는 대체 콘텐츠를 재생할 수 있는 D-P(즉, 전체 광고 듀레이션 D와 지연 기간 P의 차분)의 감소된 기간을 가지게 된다.
대체 컨텐츠의 듀레이션이 D인 경우, 클라이언트는 대체 컨텐츠에서 P 초를 제거함으로써, 즉 대체 컨텐츠의 P 초 재생을 중단시킴으로써 D-P의 감소된 기간에서 대체 컨텐츠의 재생을 용이하게 할 수 있다. 본 개시에 따르면, 클라이언트는 대체 컨텐츠의 시작 부분에서 P 초를 제거하거나, 대체 컨텐츠의 끝 부분에서 P 초를 제거하거나, 총 P 초에 해당하는 대체 컨텐츠의 하나 이상의 부분을 제거함으로써 이것을 수행할 수 있다.
이 프로세스의 일 예로서, 대체 컨텐츠의 재생이 P 초만큼 지연되는 것으로 결정하면, 클라이언트는 이에 응답하여 대체 컨텐츠 내에서 P 초만큼 앞으로 탐색(즉, 대체 컨텐츠 스트림에서 앞으로 점프)할 수 있으며, P 초 시간 포인트에서 대체 컨텐츠 재생을 시작할 수 있다. 이러한 방식으로, 클라이언트는 나머지 대체 컨텐츠를 재생하는데 D-P 초만 걸리므로, 재생이 정시에 종료된다. 이 예에서는, 클라이언트가 대체 컨텐츠의 실제 시작보다 늦게 시작되는 포인트에서 대체 컨텐츠의 재생을 시작하므로, 클라이언트는 대체 컨텐츠의 재생에 페이드-인(fade-in)(예를 들어, 디졸브(dissolve))을 추가할 수도 있으며 이에 따라 대체 컨텐츠의 재생 시작이 너무 급작스럽게 보이지 않도록 한다.
클라이언트는 대체 컨텐츠의 시작 부분에서 정확하게 시작하는 이러한 탐색 동작을 수행할 수 있다. 대안적으로, 클라이언트는 대체 컨텐츠가 시작된 이후(가능하게는 약간 이후)의 포인트에서 앞으로 탐색(seeking-forward)을 시작할 수 있으며, 대체 컨텐츠 재생시 P 초만큼 앞으로 점프할 수 있다.
이 프로세스의 다른 예로서, 대체 컨텐츠의 재생이 P 초만큼 지연되는 것으로 결정하면, 클라이언트는 이에 응답하여 대체 컨텐츠의 재생을 P 초 일찍 종료할 수 있다. 즉, 클라이언트는 대체 컨텐츠의 시작 부분에서 대체 컨텐츠의 재생을 시작할 수 있지만, D 초의 전체 듀레이션 동안 대체 컨텐츠를 재생하는 것이 아니라, 클라이언트가 대체 컨텐츠의 D-P 초를 재생하고 나면 대체 컨텐츠의 재생을 중지(그리고 기본 미디어 스트림으로 다시 전환)할 수 있다. 따라서 대체 컨텐츠의 재생이 D-P 초만 걸리게 되므로, 그 재생도 마찬가지로 정시에 종료되어야 한다. 또한, 이 예에서는, 클라이언트가 대체 컨텐츠의 재생을 조기에 종료하게 되므로, 클라이언트는 대체 컨텐츠에서 기본 미디어 스트림으로의 페이드-아웃을 추가함으로써 대체 컨텐츠의 재생 종료가 너무 급작스러워 보이지 않도록 할 수 있다.
이 프로세스의 또 다른 예로서, 대체 컨텐츠의 재생이 P 초만큼 지연되는 것으로 결정하면, 클라이언트는 이에 응답하여 대체 컨텐츠 재생의 총 듀레이션을 D-P 초로 줄이기 위해, 대체 컨텐츠 내에서 프레임들을 선택적으로 제거하는 프로세스에 참여할 수 있다.
예를 들어, 클라이언트가 대체 컨텐츠를 재생할 시에, 클라이언트는 재생을 위해 버퍼링한 대체 컨텐츠의 다가오는 프레임들을 조사함으로써, 클라이언트가 합리적으로 제거 가능하고 따라서 재생되지 않게 되는, 프레임들을 검색할 수 있다.
예를 들어, 해당 미디어가 비디오를 포함하는 경우, 클라이언트는 2 개 이상의 연속적인 프레임의 이미지들이 동일하거나 충분히 유사한 경우들을 검색할 수 있으며, 오디오가 수반되지 않을 경우 최적으로 검색할 수 있다. 클라이언트는 연속적인 프레임들의 핑거프린트들을 생성하고 비교하거나, 패턴 매칭하거나 및/또는 다른 방식으로 이러한 분석을 수행할 수 있다. 클라이언트가 이러한 반복 프레임들을 찾아낼 때마다, 클라이언트는 하나 이상의 중복 프레임을 폐기할 수 있다. 대안적으로 또는 추가적으로, 클라이언트는 비디오의 인터-프레임들(예를 들어, P-프레임 또는 B-프레임)을 찾아 낼 수 있으며, 또한 오디오를 수반하지 않을 경우 최적으로, 이러한 프레임들을 제거할 수 있다. 또한, 해당 미디어가 오디오를 포함하는 경우, 클라이언트는 무음 프레임, 가능하게는 반복되는 무음 프레임을 검색할 수 있으며, 마찬가지로 이러한 프레임들을 폐기할 수 있다.
대안적으로, 클라이언트는 하나 이상의 다른 프로세스를 적용하여 대체 컨텐츠로부터 프레임들을 선택적으로 제거함으로써, 지연 기간 P만큼 대체 컨텐츠의 듀레이션을 줄일 수 있다.
대체 컨텐츠 내에서 가능한 여러 다른 시간들에서 이러한 프레임 제거 프로세스를 선택적으로 수행함으로써, 클라이언트는 총 P 초의 프레임을 더욱 미세하게 제거할 수 있으며, 이에 따라 대체 컨텐츠의 재생 듀레이션이 D-P 초만으로 되므로 정시에 종료하게 된다. 대안적으로, 클라이언트가 대체 컨텐츠의 재생 D-P 초에 접근했을 때 클라이언트가 대체 컨텐츠의 충분한 수의 프레임을 제거할 수 없는 경우, 클라이언트는 대체 컨텐츠 재생의 총 듀레이션을 D-P 초로 줄이기에 충분히 일찍 대체 컨텐츠의 재생을 종료할 수 있으며, 이에 따라 마찬가지로 정시에 종료된다.
전술한 바와 같이, 클라이언트가 P 초의 지연으로 대체 컨텐츠를 재생하기 시작할 때, 클라이언트는 또한 해당 지연 기간 동안 원본 컨텐츠 대신에 일부 트랜지션 프레임들을 재생할 수도 있다. 이것을 용이하게 하기 위해, 클라이언트가 원하는 컨텐츠 전환 시간 포인트에 도달했음을 검출하는 경우, 클라이언트는 아직 대체 컨텐츠 재생을 시작할 준비가 되지 않은 것으로 결정할 수 있다. 이에 대한 응답으로, 클라이언트는 대체 컨텐츠를 재생할 준비가 될 때까지 원본 컨텐츠 대신에 트랜지션 프레임들을 생성하고 재생하기 시작할 수 있다. 또한 클라이언트가 대체 컨텐츠 재생을 시작할 준비가 되면, 클라이언트는 트랜지션 프레임 재생에서 대체 컨텐츠 재생으로 전환할 수 있다. 또한, 클라이언트는 트랜지션 프레임의 재생에서 대체 컨텐츠의 재생으로의 페이딩(예를 들어, 디졸빙)을 추가하여, 해당 트랜지션을 원활하게 할 수 있다.
실제에 있어서, 트랜지션 프레임들은 해당 미디어의 유형에 기초하여, 다양한 형태를 취할 수 있다. 예를 들어, 미디어가 비디오(가능하게는 오디오와 함께)를 포함하는 경우, 트랜지션 프레임들은 트랜지션 직전에 프레임의 사본 및/또는 블랙 프레임들을 포함할 수 있다. 예를 들어, 클라이언트는 트랜지션 기간 동안(대체 컨텐츠를 재생하도록 트랜지션될 때까지) 블랙 프레임들을 재생할 수 있다. 대안적으로, 트랜지션 기간 내의 얼마 시간 동안, 클라이언트는 제 1 스트림의 최신 프레임의 사본인 프레임들을 재생한 다음 나머지 트랜지션 기간 동안 해당 이미지에서 블랙 프레임들로 페이딩할 수 있다. 미디어가 오디오(가능하게는 비디오와 함께)로 구성된 경우, 트랜지션 프레임들은 무음 프레임들이 될 수 있다. 특히, 클라이언트는 트랜지션 기간 동안 무음 프레임들을 제공할 수 있다. 다른 예도 가능하다.
도 2 내지 도 6은 특히 광고 대체 시나리오에서, 위에서 논의된 일부 프로세스의 예를 도시한 것이다. 각 도면들은 시간이 왼쪽에서 오른쪽으로 진행되는 타임라인을 따라 컨텐츠 재생을 보여준다.
도 2는 클라이언트가 선형 스트림(20) 내에서 애드 포드(ad pod)를 재생하고 클라이언트가 선형 스트림의 광고 AD2에 대한 대체 광고(22)의 재생을 대체하는 문제 시나리오를 도시한 것이며, 여기서 대체 광고(22)의 재생은 늦게 시작된다. 도시된 바와 같이, AD2는 듀레이션 D를 갖고, 대체 광고(22)도 듀레이션 D를 갖는다. 또한, 타임라인을 따라 도시된 바와 같이, 궁극적인 목표는 AD2의 시작인, 시간 TDESIRED-START에서 정확하게 대체 광고 재생을 시작하고, AD2의 끝인, 시간 TDESIRED-END에서 정확하게 대체 광고 재생을 종료하는 것이었다. 그러나 도시된 바와 같이, 클라이언트는 시간 TDESIRED-START 이후 P 초인, 시간 TREADY에서 대체 컨텐츠의 재생을 시작할 준비가 되었기 때문에, 대체 광고의 재생 시작을 P 초 지연하게 된다. 결과적으로, 이 시나리오에서, 클라이언트는 AD2의 P 초를 재생한 다음에 급작스럽게 대체 광고 재생으로 전환할 수 있다. 또한, 클라이언트의 대체 광고 재생이 다음 광고 AD3의 시작을 지나 P 초 연장될 수 있으며, 이에 따라 다음 광고의 시작 부분이 잘릴 수 있다.
도 3은 클라이언트가 이러한 기술적 문제를 극복하는데 도움을 주는 하나의 메커니즘을 도시한 것이다. 특히, 도 3은 클라이언트가 대체 광고(22)에서 P 초만큼 앞서 탐색하고 해당 포인트에서 대체 광고의 재생을 시작할 수 있음을 보여준다. 실제에 있어서 이것을 용이하게 하기 위해, 클라이언트는 기본 탐색 기능을 적용하여 대체 광고 스트림에서 앞으로 점프하거나 그렇지 않으면 대체 광고 프레임들의 처음 P 초를 폐기할 수 있다. 결과적으로, 클라이언트는 대체 광고 내의 P 초에서 대체 광고의 재생을 시작하여, 대체 광고의 마지막 D-P 초만을 재생한다.
다음으로 도 4는 이러한 탐색 프로세스의 예시적인 결과를 도시한 것이다. 도 4에 도시된 바와 같이, 대체 광고의 마지막 D-P 초에 대한 클라이언트의 재생은 시간 TREADY에서 시작하여 시간 TDESIRED-END에서 종료되므로, 대체 광고의 클라이언트 재생의 끝 부분은 원하는 바와 같이 기본 선형 스트림(20)에서 AD2의 끝 부분에 맞춰 최적으로 정렬되어야 한다. (도시되지는 않았지만, 클라이언트는 대체 광고 스트림(22)의 재생에서 기본 선형 스트림(20)의 재생으로 다시 전환할 시에 지연을 고려하기 위해, 이 대체 광고 재생이 끝날 때 또는 그 근처에서 액션을 취해야 할 수도 있다. 예를 들어, 클라이언트는 트랜지션 프레임들을 재생하고 가능하게는 적절한 듀레이션만큼 AD3 재생에서 앞으로 탐색하여 해당 상황을 처리할 수 있다.)
도 4에 추가로 도시된 바와 같이, 위의 논의에 따라, 클라이언트는 또한 대체 광고 재생의 지연된 시작을 고려할 수 있도록 지원하기 위해 페이드 기간(fade periods)을 갖는 트랜지션 프레임들(24)을 추가할 수 있다. 예시적인 구현에서, 클라이언트는 대체 광고로 대체될 것으로 예상되는 AD2의 시작을 재생하지 않기 위해, 적어도 지연 기간(TDESIRED-START에서 TREADY까지) 동안 이러한 트랜지션 프레임들을 생성하고 재생할 수 있다. 또한, 클라이언트는 지연 기간 이후 페이드 기간(26) 동안 트랜지션 프레임들의 재생을 확장하고, 페이드 기간(26)을 통해, 트랜지션 프레임의 재생에서 대체 광고의 재생으로 페이딩하여 트랜지션을 원활하게 할 수 있다.
도 5는 대체 광고의 재생에 대한 지연된 시간과 관련된 문제를 극복하는데 도움이 되는 클라이언트를 위한 대안 메커니즘을 도시한 것이다. 특히, 도 5는 클라이언트가 대체 광고의 재생이 시간 TDESIRED-END를 넘어 연장되는 것을 방지하기 위해, 대체 광고의 재생을 P 초 일찍 종료할 수 있음을 보여준다. 실제에 있어서 이것을 용이하게 하기 위해, 클라이언트는 대체 광고의 처음 D-P초만 재생하고, 대체 광고의 마지막 P 초는 폐기할 수 있다. 예를 들어, 클라이언트가 P 초 지연으로 대체 광고의 재생을 시작하면, 클라이언트는 D-P 초 동안 대체 광고를 계속 재생할 수 있다.
다음으로 도 6은 이러한 대안적 프로세스의 예시적인 결과를 도시한 것이다. 도 6에 도시된 바와 같이, 대체 광고의 처음 D-P 초에 대한 클라이언트 재생은 시간 TREADY에서 시작하여 시간 TDESIRED-END에서 종료되므로, 대체 광고에 대한 클라이언트 재생의 끝 부분이 원하는 바에 따라 기본 선형 스트림(20)에서의 AD2의 끝 부분에 맞춰 최적으로 정렬되어야 한다. (여기서 다시 설명하지만, 마찬가지로 클라이언트는 대체 광고 스트림의 재생에서 선형 스트림의 재생으로 다시 전환함에 있어서 지연을 고려하기 위해, 이 대체 광고 재생이 끝날 때 또는 그 근처에서 페이딩과 같은 액션을 취해야 할 수도 있다.)
다음으로 도 7은 본 개시에 따라 수행될 수 있는 방법을 도시하는 흐름도이다. 이 방법은 미디어 클라이언트 또는 그 밖의 재생 장치와 같은 장치에 의해 수행되어, 기본 미디어 스트림의 일부 대신에 대체 컨텐츠의 재생을 용이하게 할 수 있으며, 여기서 대체 컨텐츠와 기본 미디어 스트림의 일부는 동일한 듀레이션 D를 갖는다. 위에서 논의한 바와 같이, 예시적인 구현에서, 기본 미디어 스트림의 일부는 애드 포드의 광고가 될 수 있고, 대체 컨텐츠는 대체 광고가 될 수 있다. 대안적으로, 컨텐츠가 다른 형식들을 취할 수도 있다.
도 7에 도시된 바와 같이, 블록 70에서, 장치가 기본 미디어 스트림을 재생하는 동안, 장치는 대체 컨텐츠의 재생을 시작할 타겟 시간을 결정한다. 예를 들어, 클라이언트는 타겟 시간을 지정하는 서버 또는 다른 엔티티로부터 지시를 수신하여 이 타겟 시간을 결정하거나 및/또는 자체적으로 평가하여 타겟 시간을 결정할 수 있다.
블록 72에서, 장치는 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼 결정된 타겟 시간의 이후임을 검출한다. 예를 들어, 장치는 원하는 시작 시간으로부터 장치가 시작되거나, 시작되고 있거나, 또는 대체 컨텐츠의 재생이 시작될 때까지의 경과한 시간을 측정할 수 있다.
또한 블록 74에서, 이 지연을 검출한 것에 응답하여, 장치는 대체 컨텐츠의 재생 종료를 기본 미디어 스트림의 일부의 끝 부분에 맞춰 정렬하는 것을 돕기 위해 듀레이션 P만큼 대체 컨텐츠의 재생을 감소시키게 된다. 위에서 논의된 바와 같이, 이러한 감소 동작은 대체 컨텐츠의 새로운 시간 포인트까지 듀레이션 P만큼 대체 컨텐츠에서 앞으로 탐색하고 또한, 이 새로운 시간 포인트에서 대체 컨텐츠의 재생을 시작하는 것을 포함할 수 있다. 대안적으로 또는 추가적으로, 이러한 감소는 P의 듀레이션만큼 대체 컨텐츠의 재생을 조기에 종료하는 것을 포함할 수 있다. 또한 대안적으로 또는 추가적으로, 이러한 감소는 대체 컨텐츠에서 하나 이상의 중간 프레임을 제거하여, 대체 컨텐츠의 총 재생 시간을 D-P로 감소시키는 것을 포함할 수 있다.
전술한 바와 같이, 장치는 기본 미디어 스트림의 일부의 초기 부분의 재생 대신에, 지연 기간 P 동안 트랜지션 프레임들을 추가로 재생할 수 있다. 또한 장치는 트랜지션 프레임 재생에서 대체 컨텐츠 재생으로 페이드될 수 있다.
또한, 위에서 논의된 바와 같이, 해당 미디어가 비디오를 포함하는 경우, 트랜지션 프레임들은 제 1 미디어 스트림의 마지막 재생 프레임의 사본인 프레임들 및/또는 블랙 프레임들로 구성될 수 있다. 해당 미디어가 오디오를 포함하는 경우, 트랜지션 프레임들은 무음 프레임들로 구성될 수 있다.
도 8은 본 개시에 따라 수행될 수 있는 방법을 도시하는 또 다른 흐름도이다. 도 8에 도시된 바와 같이, 블록 80에서, 장치가 미디어 스트림을 재생하고 있는 경우, 장치는 미디어 스트림의 일부 대신에 대체 컨텐츠의 재생을 시작하는 타겟 시간을 결정한다. 블록 82에서, 장치는 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼 결정된 타겟 시간 이후임을 검출한다. 그리고 블록 84에서, 이 검출에 응답하여, 장치는 듀레이션 P만큼 대체 컨텐츠의 재생을 감소시키기 위해 듀레이션 P만큼 대체 컨텐츠에서 앞으로 탐색한다.
위에서 설명한 다양한 특징들이 이 방법의 컨텍스트에서 적용될 수 있으며 그 반대의 경우도 마찬가지이다. 예를 들어, 미디어 스트림은 애드 포드가 될 수 있고, 대체 컨텐츠는 대체 광고가 될 수 있다. 또한, 장치는 지연 기간 P 동안 트랜지션 프레임들(예를 들어, 블랙 프레임, 무음 프레임 등)을 추가로 재생할 수 있으며, 원활한 트랜지션을 위해 페이딩을 추가할 수 있다.
마지막으로, 도 9는 전술한 것과 같은 동작들을 수행하는 것을 용이하게 하기 위해 그러한 장치에 포함될 수 있는 일부 구성 요소를 보여주는, 예시적인 미디어 클라이언트의 간략 블록도이다. 상기한 논의에 따라, 이 클라이언트는 다양한 형태를 취할 수 있다. 예를 들어, 텔레비전, 컴퓨터 모니터 또는 비디오 컨텐츠를 수신하고 렌더링하도록 작동하는 기타 장치일 수 있으며/또는 오디오 컨텐츠를 수신하고 렌더링하도록 작동하는 스피커, 헤드폰 또는 기타 장치일 수 있다. 다른 많은 예도 가능하다.
도 9에 도시된 바와 같이, 예시적인 클라이언트는 미디어 입력 인터페이스(90), 네트워크 통신 인터페이스(92), 미디어 프레젠테이션 인터페이스(94), 처리 유닛(96) 및 비일시적 데이터 스토리지(98)를 포함하며, 이들 중 일부 또는 전부는 함께 통합되거나 도시된 바와 같이 시스템 버스, 네트워크 또는 기타 연결 메커니즘(100)에 의해 함께 통신적으로 링크된다.
클라이언트는 미디어 입력 인터페이스(90) 및/또는 네트워크 통신 인터페이스(92)를 사용하여 프레젠테이션을 위한 미디어 스트림들을 수신할 수 있다. 이들 인터페이스 중 하나는 수신기, 서버 또는 기타 장치 또는 시스템으로부터 아날로그 또는 디지털 형식으로 미디어 컨텐츠와 통신을 확립하고 수신하기 위한 하나 이상의 유선 및/또는 무선 인터페이스를 포함할 수 있다. 예를 들어, 미디어 입력 인터페이스는 DVI, HDMI, VGA, USB, BLUETOOTH, WIFI 등과 같은 프로토콜들을 준수하는 하나 이상의 인터페이스를 포함할 수 있으며, 네트워크 통신 인터페이스는 로컬 또는 광역 패킷 기반 통신에 참여하여 하나 이상의 서버 및/또는 다른 장치 또는 시스템과 상호 작용하기 위해, 유선 또는 무선 이더넷 인터페이스를 포함할 수 있다.
미디어 프레젠테이션 인터페이스(94)는 미디어 컨텐츠의 프레젠테이션을 용이하게 하기 위한 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 미디어 프레젠테이션 인터페이스는 디스플레이 스크린 및/또는 라우드 스피커와 같은 사용자 인터페이스뿐만 아니라, 수신된 미디어 컨텐츠를 처리하기 위한 하나 이상의 드라이버 또는 기타 구성 요소를 포함하여 사용자 인터페이스 상의 컨텐츠 프레젠테이션을 용이하게 할 수 있다.
처리 유닛(96)은 하나 이상의 범용 프로세서(예를 들어, 마이크로 프로세서) 및/또는 하나 이상의 특수 프로세서 (예를 들어, 주문형 집적 회로)를 포함할 수 있다. 비일시적 데이터 스토리지(98)는 광학, 자기 또는 플래시 스토리지와 같은 하나 이상의 휘발성 및/또는 비휘발성 스토리지 구성 요소를 포함할 수 있다.
또한, 도시된 바와 같이, 데이터 스토리지(98)는 클라이언트가 본 명세서에 설명된 다양한 동작들을 수행하게 하기 위해 처리 유닛(96)에 의해 실행될 수 있는 프로그램 명령어들(102)을 저장할 수 있다. 예를 들어, 동작들은 클라이언트가 기본 미디어 스트림을 재생하는 동안, 기본 미디어 스트림의 일부 대신에 대체 컨텐츠의 재생을 시작할 타겟 시간을 결정하는 것을 포함할 수 있다. 또한, 동작들은 클라이언트가 대체 컨텐츠의 재생을 시작하는(예를 들어, 시작했거나, 시작 중이거나 시작할 예정인) 시작 시간이 듀레이션 P의 지연 기간만큼, 결정된 타겟 시간의 이후임을 검출하는 것을 포함할 수 있다. 또한 동작들은 검출에 응답하여, 듀레이션 P만큼 대체 컨텐츠의 재생을 감소시키는 것을 포함할 수 있다. 여기서도 마찬가지로, 위에서 설명한 다양한 동작들이 이러한 컨텍스트에 적용될 수 있으며 그 반대의 경우도 마찬가지이다.
예시적인 실시예들이 위에서 설명되었다. 그러나, 당업자는 본 발명의 진정한 범위 및 사상을 벗어나지 않고 이러한 실시예들에 대한 변경 및 수정이 이루어질 수 있음을 이해할 것이다.

Claims (20)

  1. 장치가 기본 미디어 스트림(underlying media stream)의 일부 대신에 대체 컨텐츠(replacement content)를 재생하는 방법으로서, 상기 대체 컨텐츠 및 상기 기본 미디어 스트림의 상기 일부는 동일한 듀레이션 D를 가지며, 상기 방법은,
    상기 장치가 상기 기본 미디어 스트림을 재생하고 있는 동안, 상기 장치에 의해서 상기 대체 컨텐츠의 재생을 시작할 타겟 시간을 결정하는 단계;
    상기 장치에 의해서, 상기 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼, 상기 결정된 타겟 시간의 이후임을 검출하는 단계; 및
    상기 검출에 응답하여, 상기 장치에 의해서, 상기 대체 컨텐츠의 재생의 종료를 상기 기본 미디어 스트림의 상기 일부의 종료에 맞춰 정렬하는 것을 돕기 위해 듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 기본 미디어 스트림의 상기 일부는 애드 포드(ad pod)의 광고이고, 상기 대체 컨텐츠는 대체 광고인 방법.
  3. 제 1 항에 있어서,
    듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 단계는, 상기 대체 컨텐츠의 새로운 시간 포인트까지 듀레이션 P만큼 상기 대체 컨텐츠에서 앞으로 탐색하고(seeking forward), 상기 새로운 시간 포인트에서 상기 대체 컨텐츠의 재생을 시작하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 단계는, 상기 대체 컨텐츠의 재생을 듀레이션 P만큼 일찍 종료하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 단계는, 상기 대체 컨텐츠로부터 하나 이상의 프레임들을 제거하는 단계를 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 대체 컨텐츠의 하나 이상의 프레임들을 제거하는 단계는, (i) 중복 프레임을 검출하고 (ii) 상기 검출된 중복 프레임을 제거하는 단계를 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 장치에 의해서, 상기 기본 미디어 스트림의 상기 일부의 초기 부분의 재생 대신에, 상기 지연 기간 동안 트랜지션 프레임(transition frame)들을 재생하는 단계를 더 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 장치에 의해서, 상기 트랜지션 프레임들의 재생에서 상기 대체 컨텐츠의 재생으로 페이딩하는 단계를 더 포함하는 방법.
  9. 제 7 항에 있어서,
    상기 기본 미디어 스트림은 비디오를 포함하고, 상기 트랜지션 프레임들은 블랙 프레임(black frame)들을 포함하는 방법.
  10. 제 7 항에 있어서,
    상기 기본 미디어 스트림은 오디오를 포함하고, 상기 트랜지션 프레임들은 무음 프레임(silent frame)들을 포함하는 방법.
  11. 방법으로서,
    장치가 미디어 스트림을 재생하고 있는 동안, 상기 장치가 상기 미디어 스트림의 일부를 대신하여 대체 컨텐츠의 재생을 시작할 타겟 시간을 상기 장치에 의해서 결정하는 단계;
    상기 장치에 의해서, 상기 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼, 상기 결정된 타겟 시간의 이후임을 검출하는 단계; 및
    상기 검출에 응답하여, 상기 장치에 의해서, 듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키기 위해 듀레이션 P만큼 상기 대체 컨텐츠에서 앞으로 탐색하는(seeking forward) 단계
    를 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 미디어 스트림의 상기 일부는 애드 포드(ad pod)의 광고이고, 상기 대체 컨텐츠는 대체 광고인 방법.
  13. 제 11 항에 있어서,
    상기 장치에 의해서, 상기 미디어 스트림의 상기 일부의 초기 부분의 재생 대신에, 상기 지연 기간 동안 트랜지션 프레임들을 재생하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 장치에 의해서, 상기 트랜지션 프레임들의 재생에서 상기 대체 컨텐츠의 재생으로 페이딩하는 단계를 더 포함하는 방법.
  15. 제 13 항에 있어서,
    상기 미디어 스트림은 비디오를 포함하고, 상기 트랜지션 프레임들은 블랙 프레임들을 포함하는 방법.
  16. 제 13 항에 있어서,
    상기 미디어 스트림은 오디오를 포함하고, 상기 트랜지션 프레임들은 무음 프레임들을 포함하는 방법.
  17. 미디어 클라이언트로서,
    처리 유닛;
    비일시적 데이터 스토리지; 및
    상기 비일시적 데이터 스토리지에 저장되고 처리 유닛에 의해 실행 가능한 프로그램 명령어들로서, 상기 미디어 클라이언트로 하여금 동작들을 수행하게 하는, 상기 프로그램 명령어들을 포함하며, 상기 동작들은,
    상기 미디어 클라이언트가 기본 미디어 스트림을 재생하고 있는 동안, 상기 미디어 클라이언트가 상기 기본 미디어 스트림의 일부 대신에 대체 컨텐츠의 재생을 시작할 타겟 시간을 결정하는 동작,
    상기 미디어 클라이언트가 상기 대체 컨텐츠의 재생을 시작하는 시작 시간이 듀레이션 P의 지연 기간만큼, 상기 결정된 타겟 시간의 이후임을 검출하는 동작, 및
    상기 검출에 응답하여, 듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 동작
    을 포함하는 미디어 클라이언트.
  18. 제 17 항에 있어서,
    듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 동작은, 상기 대체 컨텐츠의 새로운 시간 포인트까지 듀레이션 P만큼 상기 대체 컨텐츠에서 앞으로 탐색하고, 상기 새로운 시간 포인트에서 상기 대체 컨텐츠의 재생을 시작하는 동작을 포함하는 미디어 클라이언트.
  19. 제 17 항에 있어서,
    듀레이션 P만큼 상기 대체 컨텐츠의 재생을 감소시키는 동작은, 상기 대체 컨텐츠로부터 하나 이상의 프레임들을 제거하는 동작을 포함하는 미디어 클라이언트.
  20. 제 17 항에 있어서,
    상기 동작들은 상기 미디어 스트림의 상기 일부의 초기 부분의 재생 대신에, 상기 지연 기간 동안 트랜지션 프레임들을 재생하는 동작을 더 포함하는 미디어 클라이언트.
KR1020217006324A 2018-08-17 2019-06-07 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소 KR102536652B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862765276P 2018-08-17 2018-08-17
US62/765,276 2018-08-17
US16/183,266 US11317143B2 (en) 2018-08-17 2018-11-07 Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content
US16/183,266 2018-11-07
PCT/US2019/036001 WO2020036668A1 (en) 2018-08-17 2019-06-07 Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content

Publications (2)

Publication Number Publication Date
KR20210030478A true KR20210030478A (ko) 2021-03-17
KR102536652B1 KR102536652B1 (ko) 2023-05-26

Family

ID=69523667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217006324A KR102536652B1 (ko) 2018-08-17 2019-06-07 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소

Country Status (7)

Country Link
US (1) US11317143B2 (ko)
EP (1) EP3837849A4 (ko)
JP (2) JP7313445B2 (ko)
KR (1) KR102536652B1 (ko)
CN (1) CN111316659B (ko)
TW (2) TWI788744B (ko)
WO (1) WO2020036668A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178451B2 (en) 2018-08-17 2021-11-16 Roku, Inc. Dynamic playout of transition frames while transitioning between playout of media streams
US11373440B2 (en) 2019-05-10 2022-06-28 Roku, Inc. Content-modification system with fingerprint data match and mismatch detection feature
US12028571B2 (en) * 2019-05-10 2024-07-02 Roku, Inc. Content-modification system with issue detection and responsive action feature
WO2020231817A1 (en) * 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with determination of input-buffer switching delay feature
US11653037B2 (en) * 2019-05-10 2023-05-16 Roku, Inc. Content-modification system with responsive transmission of reference fingerprint data feature
US11632598B2 (en) * 2019-05-10 2023-04-18 Roku, Inc. Content-modification system with responsive transmission of reference fingerprint data feature
CA3174009A1 (en) 2020-03-31 2021-10-07 Arris Enterprises Llc Advertisement preparation systems
US11575963B2 (en) 2020-04-08 2023-02-07 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
WO2022094108A1 (en) * 2020-10-29 2022-05-05 Roku, Inc. Alignment of supplemental content segment duration with modifiable content segment duration, to facilitate dynamic content modification
US11917231B2 (en) 2020-10-29 2024-02-27 Roku, Inc. Real-time altering of supplemental content duration in view of duration of modifiable content segment, to facilitate dynamic content modification
US12028561B2 (en) 2020-10-29 2024-07-02 Roku, Inc. Advanced creation of slightly-different-duration versions of a supplemental content segment, and selection and use of an appropriate-duration version, to facilitate dynamic content modification
US20220264171A1 (en) * 2021-02-12 2022-08-18 Roku, Inc. Use of In-Band Data to Facilitate Ad Harvesting for Dynamic Ad Replacement
EP4337307A1 (en) 2021-07-01 2024-03-20 Boston Scientific Neuromodulation Corporation 3d antenna structure for directional independent wireless power transfer for implantable medical devices
US20240205495A1 (en) * 2022-12-20 2024-06-20 Roku, Inc. Advertisement placement for stream media

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205049A1 (en) * 2009-02-12 2010-08-12 Long Dustin W Advertisement management for live internet multimedia content
US20100218208A1 (en) * 2009-02-26 2010-08-26 Comcast Cable Communications, Llc Method and Apparatus for Generating Alternative Commercials
US20140115625A1 (en) * 2012-10-22 2014-04-24 Sony Network Entertainment International Llc Method and system for inserting an advertisement in a media stream
US20140186014A1 (en) * 2012-12-31 2014-07-03 Eldon Technology, Ltd. Auto catch-up
US20150312650A1 (en) * 2014-04-28 2015-10-29 Comcast Cable Communications, Llc Video management
KR20180020418A (ko) * 2016-08-18 2018-02-28 삼성전자주식회사 디스플레이 장치 및 그 컨텐츠 디스플레이 방법
US20180061459A1 (en) * 2016-08-30 2018-03-01 Yahoo Holdings, Inc. Computerized system and method for automatically generating high-quality digital content thumbnails from digital video
KR20180052064A (ko) * 2016-11-09 2018-05-17 삼성전자주식회사 전자 장치 및 그 동작방법
KR20180083132A (ko) * 2017-01-12 2018-07-20 삼성전자주식회사 전자 장치 및 그 동작방법
KR20180084812A (ko) * 2015-10-27 2018-07-25 소렌슨 미디어, 인크. 미디어 콘텐츠 매칭 및 인덱싱

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4029487B2 (ja) * 1998-08-17 2008-01-09 ソニー株式会社 記録装置および記録方法、再生装置および再生方法、ならびに、記録媒体
AU2002237748A1 (en) 2000-10-19 2002-05-21 Loudeye Technologies, Inc. System and method for selective insertion of content into streaming media
US20030001977A1 (en) * 2001-06-28 2003-01-02 Xiaoling Wang Apparatus and a method for preventing automated detection of television commercials
US20070033633A1 (en) 2005-08-08 2007-02-08 Princeton Server Group, Inc. Method and apparatus for providing a transition between multimedia content
RU2009100847A (ru) 2006-06-13 2010-07-20 Конинклейке Филипс Электроникс Н.В. (Nl) Идентификационная метка, устройство, способ для идентификации и синхронизации видеоданных
JP5087872B2 (ja) * 2006-07-25 2012-12-05 日本電気株式会社 ストリーミング配信システム及びストリーミング配信方法
US10356366B2 (en) * 2007-05-31 2019-07-16 Sony Interactive Entertainment America Llc System and method for taking control of a system during a commercial break
US8949886B2 (en) * 2007-06-18 2015-02-03 Alcatel Lucent Targeted advertisement insertion with interface device assisted switching
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101737084B1 (ko) * 2009-12-07 2017-05-17 삼성전자주식회사 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
US8990849B2 (en) 2012-02-14 2015-03-24 Verizon Patent And Licensing Inc. Advertisement insertion into media content for streaming
TWI482494B (zh) 2012-07-09 2015-04-21 Wistron Corp 頻道資訊提示方法及系統以及電腦可讀取儲存媒體
US8928678B2 (en) * 2012-08-02 2015-01-06 Intel Corporation Media workload scheduler
US9351023B2 (en) 2013-03-15 2016-05-24 Echostar Technologies L.L.C. Output of broadcast content with portions skipped
US9369506B2 (en) 2013-06-05 2016-06-14 Adobe Systems Incorporated Insertion of supplementary content into a segmented content stream
US10110649B2 (en) 2013-08-01 2018-10-23 Spotify Ab System and method for transitioning from decompressing one compressed media stream to decompressing another media stream
CN104581396A (zh) * 2014-12-12 2015-04-29 北京百度网讯科技有限公司 一种推广信息的处理方法及装置
US20160316261A1 (en) 2015-04-23 2016-10-27 Sorenson Media, Inc. Automatic content recognition fingerprint sequence matching
JP2017041289A (ja) 2015-08-20 2017-02-23 三菱電機株式会社 メディア再生装置
US10248378B2 (en) * 2015-11-11 2019-04-02 AdsWizz Inc. Dynamically inserting additional content items targeting a variable duration for a real-time content stream
CN105847888A (zh) 2016-03-28 2016-08-10 乐视控股(北京)有限公司 一种广告投放方法、终端及系统
CN106170103B (zh) 2016-06-07 2019-04-12 腾讯科技(北京)有限公司 视频播放方法和装置
US10560730B2 (en) * 2016-11-09 2020-02-11 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof
KR101899576B1 (ko) 2017-02-02 2018-09-17 네이버 주식회사 멀티미디어 컨텐츠의 원격 운영을 위한 시간 동기화 방법 및 그 시스템
CN107277554B (zh) 2017-05-05 2019-06-21 中广热点云科技有限公司 一种时移节目单播转换组播的方法
US10674199B2 (en) * 2017-08-28 2020-06-02 Otis Elevator Company Media content selection for passengers
CN107707969A (zh) 2017-09-04 2018-02-16 深圳市屯奇尔科技有限公司 视频播放方法、装置及终端设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205049A1 (en) * 2009-02-12 2010-08-12 Long Dustin W Advertisement management for live internet multimedia content
US20100218208A1 (en) * 2009-02-26 2010-08-26 Comcast Cable Communications, Llc Method and Apparatus for Generating Alternative Commercials
US20140115625A1 (en) * 2012-10-22 2014-04-24 Sony Network Entertainment International Llc Method and system for inserting an advertisement in a media stream
US20140186014A1 (en) * 2012-12-31 2014-07-03 Eldon Technology, Ltd. Auto catch-up
US20150312650A1 (en) * 2014-04-28 2015-10-29 Comcast Cable Communications, Llc Video management
KR20180084812A (ko) * 2015-10-27 2018-07-25 소렌슨 미디어, 인크. 미디어 콘텐츠 매칭 및 인덱싱
KR20180020418A (ko) * 2016-08-18 2018-02-28 삼성전자주식회사 디스플레이 장치 및 그 컨텐츠 디스플레이 방법
US20180061459A1 (en) * 2016-08-30 2018-03-01 Yahoo Holdings, Inc. Computerized system and method for automatically generating high-quality digital content thumbnails from digital video
KR20180052064A (ko) * 2016-11-09 2018-05-17 삼성전자주식회사 전자 장치 및 그 동작방법
KR20180083132A (ko) * 2017-01-12 2018-07-20 삼성전자주식회사 전자 장치 및 그 동작방법

Also Published As

Publication number Publication date
TW202010314A (zh) 2020-03-01
CN111316659B (zh) 2023-06-06
JP2021534699A (ja) 2021-12-09
EP3837849A4 (en) 2022-06-22
US20200059692A1 (en) 2020-02-20
EP3837849A1 (en) 2021-06-23
TW202123718A (zh) 2021-06-16
WO2020036668A1 (en) 2020-02-20
TWI788744B (zh) 2023-01-01
TWI716018B (zh) 2021-01-11
US11317143B2 (en) 2022-04-26
JP7313445B2 (ja) 2023-07-24
KR102536652B1 (ko) 2023-05-26
CN111316659A (zh) 2020-06-19
JP2023138511A (ja) 2023-10-02

Similar Documents

Publication Publication Date Title
KR102536652B1 (ko) 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소
KR102469142B1 (ko) 미디어 스트림 재생들 사이를 트랜지션하는 동안 트랜지션 프레임들의 동적 재생
TWI762117B (zh) 動態控制指紋辨識速率以促進媒體內容的時間準確性修訂
KR20210021099A (ko) 프레임적으로 정확한 컨텐츠 수정을 용이하게 하기 위해, 낮은 레이트 핑거프린팅을 사용하는 보간을 기반으로 하는 시간 맵핑의 확립 및 사용
US10638180B1 (en) Media timeline management
KR102311314B1 (ko) 새로운 콘텐츠를 얻는데 있어서의 예상되는 레이턴시에 의거한 콘텐츠 수정을 위한 사전 준비

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant