KR20160122253A - 세그먼트 리스트를 통한 비디오 브라우징 - Google Patents

세그먼트 리스트를 통한 비디오 브라우징 Download PDF

Info

Publication number
KR20160122253A
KR20160122253A KR1020167025567A KR20167025567A KR20160122253A KR 20160122253 A KR20160122253 A KR 20160122253A KR 1020167025567 A KR1020167025567 A KR 1020167025567A KR 20167025567 A KR20167025567 A KR 20167025567A KR 20160122253 A KR20160122253 A KR 20160122253A
Authority
KR
South Korea
Prior art keywords
segment
video
script
sequence
stored
Prior art date
Application number
KR1020167025567A
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 KR20160122253A publication Critical patent/KR20160122253A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • G06F17/30852
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/745Browsing; Visualisation therefor the internal structure of a single video sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

녹화된 비디오 내의 관심 지점으로 빠르고 쉽게 브라우징하기 위한 시스템 및 방법이 제공된다. 실시예들에서, 본 시스템은 저장된 이벤트 비디오의 상이한 비디오 시퀀스의 리스트를 포함하는 세그먼트 리스트와 연계되어 작동한다. 세그먼트 리스트의 전형적인 하나의 예로는 스포츠 경기와 동시에 준비되는 PBP(play-by-play)가 있다. 세그먼트 리스트로부터의 세그먼트는 저장된 비디오로부터의 대응하는 시퀀스와 연관될 수도 있거나 또는 인덱싱될 수도 있다. 그 후, 사용자 인터페이스를 통해 사용자는 사용자 인터페이스로부터 관련 세그먼트를 선택함으로써 재생할 비디오 내의 원하는 부분으로 점프하여 그 이벤트를 인터랙티브 방식으로 시청하거나 브라우징할 수 있다.

Description

세그먼트 리스트를 통한 비디오 브라우징{BROWSING VIDEOS VIA A SEGMENT LIST}
스포츠 이벤트와 같은 이벤트를 시청할 때, 시청자들은 흔히 비디오의 다양한 부분들을 인터랙티브 방식으로(interactively) 시청하고 싶어한다. 시청자들이 생방송으로 이벤트를 시청하고 있던지 그것이 녹화된 것이던지간에, 시청자들은 이전 플레이나 다른 이벤트로 되돌아가서 그것을 시청할 자유를 누린다. 통상적으로 현재 이렇게 하는 방법이 두 가지가 있다. DVR을 사용하는 시스템에서는, 플레이어가 녹화된 이벤트의 부분을 빨리감기하거나 되감기할 수 있다. 그러나, 빨리감기/되감기는 시간이 걸리며, 특정 플레이나 관심 이벤트를 찾기가 어렵다.
월드 와이드 웹의 인터랙티브 비디오 피드(interactive video feed)를 사용하는 시스템에서는, 사용자가 비디오 피드와 상호작용하여 비디오 내 다른 이벤트로 재빨리 점프할 수 있다. 그러나, 특정 플레이나 관심 이벤트를 찾아내는 것은 여전히 어렵다.
본 기술은 일반적으로 녹화된 비디오 내의 관심 지점으로 빠르고 쉽게 점프하기 위한 시스템에 관한 것이다. 실시예들에서, 본 시스템은 이벤트의 저장된 비디오의 여러 비디오 시퀀스의 리스트를 포함하는 세그먼트 리스트와 연계되어 작동한다. 세그먼트 리스트의 전형적인 하나의 예로는, 스포츠 경기와 동시에 준비되어 그 스포츠 경기의 세그먼트의 다양한 속성을 나타내는 PBP(play-by-play)가 있다. 예컨대, 풋볼 경기의 PBP는, 플레이 시간, 플레이의 시작 야드 라인, 플레이 및 결과의 설명을 비롯하여 각 플레이(각 플레이는 본 명세서에 사용된 세그먼트임)의 목록을 가질 수 있다. 본 기술의 실시예들은 다른 스포츠 경기에 대한 PBP 및 스포츠와 관계없는 이벤트에 대한 세그먼트 리스트와 함께 동작할 수 있다. 세그먼트 리스트는 본 기술과 함께 사용하기 위해 제3자에 의해 수집될 수 있다.
본 기술에 따르면, 세그먼트 리스트의 세그먼트들이 이벤트의 비디오(이 이벤트의 비디오에 대해 세그먼트 리스트가 준비됨)로부터의 대응하는 시퀀스와 연관되거나 이들 시퀀스에 인덱싱될 수 있다. 그 후, 사용자 인터페이스를 통해 사용자는 사용자 인터페이스에서 관련 세그먼트를 선택함으로써 재생할 비디오 내의 원하는 부분으로 점프하여 그 이벤트를 인터랙티브 방식으로 시청하거나 브라우징할 수 있다.
일례에서, 본 기술은 저장된 비디오를 브라우징하는 방법으로서, (a) 복수의 스크립트 세그먼트를 포함하는 인터랙티브 스크립트를 디스플레이하는 단계로서, 상기 복수의 스크립트 세그먼트의 하나의 스크립트 세그먼트는 그 스크립트 세그먼트에 의해 표현된 비디오의 시퀀스에 매칭되는 것인 상기 인터랙티브 스크립트를 디스플레이하는 단계와, (b) 상기 단계 (a)에서 디스플레이된 스크립트 세그먼트의 선택을 수신하는 단계와, (c) 상기 단계 (b)에서 스크립트 세그먼트의 선택 시에 그 스크립트 세그먼트에 매칭된 비디오의 시퀀스를 디스플레이하는 단계를 포함하는 방법과 관련된다.
다른 예에서, 본 기술은 저장된 비디오를 브라우징하는 방법을 수행하도록 프로세서를 프로그래밍하는 컴퓨터 판독가능한 매체로서, 상기 방법은 (a) 세그먼트 리스트 내의 세그먼트를 저장된 비디오로부터의 시퀀스에 인덱싱하는 단계와, (b) 스크립트 세그먼트 - 상기 스크립트 세그먼트는 세그먼트 리스트 내의 세그먼트에 대응함 - 를 갖는 인터랙티브 스크립트를 포함하는 그래픽 사용자 인터페이스를 제공하는 단계와, (c) 그래픽 사용자 인터페이스로부터 스크립트 세그먼트의 선택을 수신하는 단계와, (d) 상기 단계 (b)에서 선택된 스크립트 세그먼트에 대응하는 세그먼트 리스트의 세그먼트에 인덱싱된 상기 비디오의 시퀀스를 디스플레이하는 단계를 포함하는, 컴퓨터 판독가능한 매체와 관련된다.
또 따른 예에서, 본 기술은 저장된 비디오를 브라우징하는 시스템으로서, 제1 비디오를 저장하는 제1 장치와, 사용자 인터페이스를 제공하는 제2 장치를 포함하고, 사용자 인터페이스는 저장된 비디오 내의 대응하는 비디오 시퀀스를 나타내는 복수의 스크립트 세그먼트를 포함하는 인터랙티브 스크립트를 디스플레이하며, 사용자 인터페이스를 통해 스크립트 세그먼트를 선택한 결과로서 제1 장치 상의 저장된 비디오의 대응하는 비디오 시퀀스에 액세스하도록 복수의 스크립트 세그먼트는 대응하는 비디오 시퀀스에 인덱싱되는 시스템과 관련된다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다.
도 1은 본 기술의 특징을 구현하는 컴퓨팅 시스템의 개략적인 블록도이다.
도 2는 본 기술의 다른 특징을 구현하는 컴퓨팅 시스템의 개략적인 블록도이다.
도 3은 본 기술의 특징을 구현하는 시스템을 도시한 것이다.
도 4는 본 기술의 특징을 구현하는 다른 시스템을 도시한 것이다.
도 5는 본 기술의 실시예에 따른, 세그먼트 리스트를 비디오에 인덱싱하는 것에 대한 흐름도이다.
도 6은 도 5의 단계 222를 보다 상세히 도시한 흐름도이다.
도 7은 본 기술의 실시예에 따른, 세그먼트 리스트를 비디오에 인덱싱하는 다른 단계들을 포함하는 흐름도이다.
도 8은 본 기술의 실시예에 따른, 인덱싱된 비디오를 브라우징하는 것에 대한 흐름도이다.
도 9 내지 12는 본 기술의 실시예에 따른, 컴퓨팅 장치의 사용자 인터페이스에 디스플레이된 인터랙티브 스크립트의 예들이다.
도 13은 예시적인 처리 장치의 블록도이다.
도 14는 예시적인 콘솔 장치의 블록도이다.
이하에서는 도 1 내지 14를 참고하여 본 기술을 설명하는데, 이들 도면은 일반적으로 녹화된 비디오 내의 관심 지점을 빠르고 쉽게 브라우징하는 시스템 및 방법과 관련이 있다. 실시예들에서, 본 시스템은 이벤트의 여러 세그먼트의 리스트를 포함하는 세그먼트 리스트와 연계되어 작동한다. 세그먼트 리스트의 전형적인 한 예로는 스포츠 경기와 동시에 준비되어 그 스포츠 경기의 제각기의 세그먼트 동안 진행한 것 및 특징을 나타내는 PBP(play-by-play)가 있다. 예컨대, 풋볼 경기의 PBP는, 플레이 시간, 플레이의 시작 야드 라인, 플레이 및 결과의 해설을 비롯하여 각 플레이(각 플레이는 본 명세서에 사용된 세그먼트임)의 목록을 가질 수 있다. 본 기술의 실시예들은 다른 스포츠 경기 및 스포츠와 관계없는 이벤트에 대한 세그먼트 리스트에 대해 PBP와 함께 동작할 수 있다. 세그먼트 리스트는 본 기술과 함께 사용하기 위해 제3자에 의해 수집될 수 있다.
본 기술에 따르면, 세그먼트 리스트의 세그먼트들이 이벤트의 비디오(이 이벤트의 비디오에 대해 세그먼트 리스트가 준비됨) 내의 대응 지점이나 세그먼트와 연관되거나 또는 인덱싱될 수 있다. 각 세그먼트와 연관된 비디오 시퀀스의 길이가 또한 정의될 수 있다. 풋볼 경기의 예에서, 세그먼트 리스트의 하나의 세그먼트와 비디오의 시퀀스는 하나의 플레이(킥오프(kickoff), 러닝 플레이(running play), 패스 플레이(passing play), 펀트(punt) 등)일 수 있다. 본 기술은 세그먼트 리스트의 세그먼트들을 비디오(이 비디오에서 세그먼트들이 생기고 디스플레이됨) 내의 대응하는 시퀀스에 인덱싱한다.
도 1을 참조하면, 세그먼트 리스트를 비디오에 인덱싱하는 소프트웨어 엔진(본 명세서에서는 인덱싱 엔진(110)이라고도 함)을 포함하는 컴퓨팅 장치가 도시되어 있다. 도 1은 컴퓨팅 장치(100)의 다른 특징들을 보여주지만, 컴퓨팅 장치(100)의 일례를 다룬 컴퓨팅 시스템은 도 13 및 14를 참고하여 더 자세히 후술된다. 일반적으로, 컴퓨팅 장치(100)는 랜덤 액세스 메모리(RAM)(102) 및 중앙 처리 장치(CPU)(106)를 포함할 수 있다. 인덱싱 엔진(110)은 CPU(106) 상에서 실행되어 세그먼트 리스트(116)의 세그먼트들을 비디오(118)의 시퀀스에 인덱싱할 수 있다. 세그먼트 리스트(116) 및 비디오(118)는 원격 소스로부터 인터넷(117)과 같은 네트워크 연결을 통해 컴퓨팅 장치(100)에 수신되어 저장될 수 있다. 다른 실시예에서는, 비디오가 기타 소스(119)를 통해, 예컨대, 케이블 TV, 위성 TV, 지상파 방송 등을 통해 도달할 수도 있다. 수신된 세그먼트 리스트는 비디오의 상이한 시퀀스의 세그먼트 단위의 디스크립션을 포함할 수 있는데, 여기서 세그먼트 리스트의 하나의 세그먼트는 저장된 비디오의 하나의 시퀀스에 대응한다.
인덱싱 엔진(110)의 동작의 결과는 결정된 길이의 비디오(118)의 시퀀스를 세그먼트 리스트(116)의 제각기의 대응하는 세그먼트에 상관시키는 테이블로 나타날 수 있다. 이 테이블은 컴퓨팅 장치(100) 내에 존재할 수 있는 메모리(112)에 저장된다. 대안적으로 또는 부가적으로, 인덱싱 테이블은, 컴퓨팅 장치(100)로부터 원격으로, 예컨대 원격 저장부(122)에 저장될 수 있다. 인덱싱 테이블을 생성하는 인덱싱 엔진(110)의 동작의 세부사항은 도 5의 흐름도를 참고하여 아래에서 설명한다.
실시예들에서, 세그먼트 리스트는 이벤트의 하나의 저장된 비디오에 인덱싱된다. 그러나, 세그먼트 리스트는 동일한 이벤트의 복수 개의 저장된 비디오에 인덱싱될 수도 있다. 구체적으로, 주어진 이벤트에서 하나보다 많은 비디오 피드가 캡처되는 일이 일어날 수도 있다. 예를 들어, 하나보다 많은 네트워크 또는 콘텐츠 제공자가 풋볼 경기와 같은 동일 이벤트에서 비디오를 캡처할 수 있다. 이에 갈음하여 또는 이에 더하여, 동일한 네트워크가 복수 개의 카메라를 이용하여 이벤트를 캡처할 수도 있다. 이들 예에서 각각의 비디오 피드는 그 이벤트의 동일한 시퀀스를 캡처할 것이지만, 상이한 피드로부터의 실제 비디오는 서로 상이할 수 있다(관점(perspective), 초점(focus) 등이 상이할 수 있다). 후술하는 바와 같이, 이들 비디오가 모두 저장되고, 그 시퀀스들이 하나의 세그먼트 리스트에 인덱싱될 수도 있다. 또한 후술하는 바와 같이 사용자가 저장된 비디오 이벤트의 시퀀스를 브라우징할 때, 사용자는 저장된 비디오의 시퀀스들을 제시받을 수 있고, 그 이벤트의 저장된 여러 비디오 중에서 하나의 비디오 시퀀스 또는 다른 비디오 시퀀스를 선택할 선택권을 제공받을 수 있다.
본 기술의 제2 특징에 따르면, 세그먼트 리스트가 저장된 비디오의 시퀀스에 인덱싱된 후에, 사용자는 재생할 비디오 내 원하는 시퀀스로 점프함으로써 비디오를 인터랙티브 방식으로 시청하거나 브라우징할 수 있다. 도 2는 컴퓨팅 장치(120, 130)의 개략도이며, 이 중 하나 또는 둘 모두 소프트웨어 엔진(본 명세서에서는 저장된 비디오를 인터랙티브 방식으로 브라우징하는 브라우징 엔진(124)이라고도 함)을 실행할 수 있다. 도 2는 컴퓨팅 장치(120, 130)의 임의의 다른 특징들을 보여주지만, 컴퓨팅 시스템은 도 13 및 14를 참고하여 자세히 후술한다. 도 3은 컴퓨팅 장치(120, 130)의 사용 시나리오를 도시한다. 아래에서 설명하는 바와 같이, 브라우징 엔진(124)이 제공하는 브라우징 경험은 다른 실시예에서는 단일 컴퓨팅 장치에서 구현될 수도 있다.
컴퓨팅 장치(120)는, 예컨대, 사용자 인터페이스(104)를 디스플레이하는 모바일폰, 랩탑 또는 태블릿과 같은 핸드헬드 컴퓨팅 장치일 수 있다. 다른 실시예에서는, 데스크탑 컴퓨터와 같이 핸드헬드 장치 이외의 컴퓨팅 장치일 수도 있다. 컴퓨팅 장치(130)는 데스크탑 컴퓨터, 미디어 센터 PC, 셋탑 박스 등일 수 있다. 다른 실시예에서는 컴퓨팅 장치(120)와 유사한 휴대형 컴퓨터일 수도 있다.
컴퓨팅 장치(130)는 디스플레이(138)를 구비한 오디오/비주얼(A/V) 장치(136)에 연결될 수 있다. 장치(136)는, 예컨대, 비디오 피드, 게임 또는 애플리케이션 비주얼 및/또는 오디오를 사용자(18)에게 제공할 수 있는 텔레비전, 모니터, 고화질 텔레비전(HDTV) 등일 수 있다. 예를 들어, 컴퓨팅 장치(130)는 녹화되거나 다운로드된 비디오 피드와 연관된 오디오/비주얼 신호를 제공할 수 있는 그래픽 카드와 같은 비디오 어댑터 및/또는 사운드 카드와 같은 오디오 어댑터를 포함할 수 있다. 일실시예에서는, 오디오/비주얼 장치(136)가, 예컨대, S 비디오 케이블, 동축 케이블, HDMI 케이블, DVI 케이블, VGA 케이블, 컴포넌트 비디오 케이블 등을 통해, 컴퓨팅 장치(130)에 연결될 수 있다.
실시예들에서, 컴퓨팅 장치(130)는 스포츠 및 기타 이벤트와 같은 비디오 콘텐츠를 녹화하고, 저장하고, 재생하는 디지털 비디오 레코더(DVR)(128)와 같은 장치를 더 포함할 수 있다. 비디오 콘텐츠는 DVD와 같은 외부 컴퓨터 판독가능한 매체로부터 수신될 수도 있고, 인터넷(117)과 같은 네트워크 연결을 통해 DVR(128)에 다운로드될 수도 있다. 다른 실시예에서는, DVR(128)이 독립형 장치일 수도 있다. 이러한 독립형 장치는 컴퓨팅 장치(130) 및 A/V 장치(136)와 함께 연결될 수도 있다.
본 기술은, 컴퓨팅 장치(130) 내에 있거나 또는 이와 직접 연결된 DVR과 함께 동작하지 않는다고 생각해 볼 수 있다. 이러한 실시예에서는, 비디오 콘텐츠가, 예컨대 원격 저장부(122)와 같은 원격 콘텐츠 서버에 저장될 수 있으며, 후술하는 바와 같이 사용자의 선택에 기초하여 인터넷(117)을 통해 컴퓨팅 장치(130)에 다운로드될 수 있다.
컴퓨팅 장치(120, 130)와 같은 두 개의 컴퓨팅 장치를 포함하는 실시예에서는, 시스템이 분산 컴퓨팅 환경에서 실시될 수 있다. 이러한 실시예에서, 장치(120, 130)는, 예컨대 컴퓨팅 장치(120, 130) 내의 통신 인터페이스(114)에 의해 구현된 통신망을 통해 연결될 수 있다. 이러한 한 분산 컴퓨팅 환경은 제1 컴퓨팅 장치로 하여금 제2 컴퓨팅 장치에 대한 디스플레이 및/또는 기타 주변기기 역할을 할 수 있게 하는 마이크로소프트사의 SmartglassTM 소프트웨어 애플리케이션을 사용하여 달성할 수 있다. 따라서, 컴퓨팅 장치(120)는, A/V 장치(136)에 디스플레이하기 위해, 컴퓨팅 장치(130)에 저장된 비디오 콘텐츠를 브라우징하는 사용자 인터페이스를 제공할 수 있다. 이러한 분산 컴퓨팅 환경에서, 본 기술의 비디오 브라우징 특징을 구현하기 위한 브라우징 엔진(124)은 하나 또는 두 컴퓨팅 장치(120, 130) 상에 위치할 수 있다(도 2 및 3에 도시된 실시예에서는, 브라우징 엔진이 두 장치(120, 130) 상에 존재한다).
브라우징 엔진(124)은 DVR(128)에 저장될 수 있는 녹화된 비디오 이벤트에 대한 인터랙티브 스크립트를 보여주는 사용자 인터페이스(134)(도 3)를 생성한다. 사용자가 사용자 인터페이스(134) 상의 인터랙티브 스크립트에서 특정 세그먼트(또는 세그먼트 그룹)를 선택하면, 브라우징 엔진(124)은 로컬 메모리(112) 또는 원격 저장부(122)에 저장된 인덱싱 테이블에 액세스할 수 있으며, 이에 따라 대응하는 비디오 시퀀스 또는 시퀀스들의 비디오가 사용자에게 디스플레이될 수 있다. 비디오를 선택하고 비디오를 브라우징하는 브라우징 엔진(124)에 대한 세부사항은 도 8의 흐름도를 참고하여 아래에서 설명한다.
실시예들에서, 세그먼트 리스트를 비디오에 인덱싱하는 컴퓨팅 장치(100) 및 인덱싱된 비디오를 브라우징하는 컴퓨팅 장치(130)는 동일하거나 상이한 컴퓨팅 장치일 수 있다. 장치들(100, 130)이 동일한 실시예에서는, 인덱싱된 비디오가 DVR(128)에서 녹화되어 저장될 수 있고, 그 후 DVR(128)에서 재생될 수 있다. 또한, 인덱싱 엔진(110)에 의해 생성된 인덱싱 테이블은 로컬 메모리(112)에 저장될 수 있고, 비디오를 브라우징할 때 로컬 메모리(112)에서 액세스될 수 있다.
(장치들(100, 130)이 동일하거나 상이한) 다른 실시예에서는, 세그먼트 리스트를 사용하여 비디오에 대한 인덱스 테이블을 생성하여 저장할 수도 있다. 그 후, 저장된 인덱스 테이블은 인덱스 테이블을 처음에 생성하는데 사용된 것과 다른 비디오 사본을 브라우징하는데 사용될 수 있다고 생각해 볼 수 있다. 다른 사본은 (동일한 별개의 시퀀스들을 갖는) 동일한 이벤트일 것이지만, 사용자가 브라우징하는 비디오는 처음에 인덱스 테이블을 생성하는데에는 사용되지 않은 다운로딩되었거나 저장된 비디오의 사본일 수 있다.
컴퓨팅 장치(100, 120 및/또는 130)의 기능은 다수의 다른 범용 또는 특수목적 컴퓨팅 시스템 환경 또는 구성에 의해 수행될 수 있다. 이 시스템에 사용하기에 적합한 공지되어 있는 컴퓨팅 시스템, 환경 및 또는 구성의 예로는 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑 박스, 프로그램가능 가전, 네트워크 PC, 미니컴퓨터, 위 시스템들 또는 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 들 수 있지만, 이들로 한정되지는 않는다.
전술한 실시예들에서, 비디오의 브라우징은 분산 컴퓨팅 환경의 복수의(둘 이상의) 컴퓨팅 장치를 사용하여 수행될 수 있다. 다른 실시예에서는, 하나의 컴퓨팅 장치를 사용하여 본 기술의 브라우징 특징을 구현할 수도 있다. 그러한 실시예에서는, 도 4에 도시되어 있듯이, 하나의 컴퓨팅 장치(예컨대, 컴퓨팅 장치(130))가 비디오와 사용자 인터페이스(134) 상의 인터랙티브 스크립트를 모두 디스플레이할 수 있다. 사용자는 NUI(natural user interface)를 통해 사용자 인터페이스(134)를 화면에 띄우고 이 인터페이스와 상호작용하며, 사용자 인터페이스(134)에 제스처 입력 또는 음성 입력을 보내 디스플레이(138)에서 시청할 비디오 시퀀스를 선택한다. 사용자 인터페이스(134)는 어떤 기간 동안 사용하지 않으면 사라질 수 있다. 도 4의 실시예에서, 사용자 인터페이스(134)와 상호작용하기 위해 NUI 시스템 대신에 리모트 컨트롤이나 다른 선택 장치를 사용해도 된다.
이하에서는 본 기술을 설명할 때 이벤트가 비디오의 각 시퀀스와 연관된 러닝 클록(running clock)(예컨대, 도 3 및 4에 도시된 러닝 클록(140))을 갖는 스포츠 경기인 예를 자주 들 것이다. 이러한 스포츠 경기는, 예컨대 풋볼, 농구, 축구, 하키, 시간 기록을 재는 육상 경기(timed track and field event), 시간 기록을 재는 스키 및 동계 스포츠 경기를 포함한다. 풋볼 경기의 예에서, 시퀀스는 게임 클록(game clock)의 설정 시간에 시작하고 끝나는 하나의 플레이이다. 그러나, 본 기술은 비디오의 시퀀스와 연관된 러닝 클록을 갖지 않는 스포츠 경기를 브라우징하는데에도 사용할 수 있다. 그러한 스포츠 경기는, 예컨대 야구, 테니스, 골프 토너먼트, 시간 기록을 재지 않는 육상 경기, 시간 기록을 재지 않는 스키 및 동계 스포츠 경기와 체조를 포함한다. 본 기술은 또한 이벤트의 비디오가 여러 시퀀스들로 분할될 수 있는 비스포츠 이벤트를 브라우징하는데 사용할 수도 있다. 예를 들면, 토크쇼, 뉴스 방송, 영화, 콘서트, 기타 오락 및 시사들이 흔히 여러 장면이나 코너 등으로 나누어질 수 있다. 이들 각각은 아래에서 상세히 설명한다.
이제 본 기술의 실시예에 따른 인덱싱 엔진의 동작을 도 5의 흐름도를 참고하여 설명할 것이다. 인덱싱 엔진(110)은, PBP나 다른 세그먼트 리스트를 저장된 비디오의 시퀀스에 인덱싱하고 세그먼트 리스트 내의 세그먼트와 연관된 비디오 세퀀스의 길이를 정의하도록 구현될 수 있다. 이것은 예컨대 도 3에 도시된 비디오를 사용자가 브라우징하기 전에 수행될 수 있다. 단계 200에서, 인덱싱 엔진(110)은 세그먼트 리스트(116) 및 비디오(118)를 수신한다. 세그먼트 리스트는 특별히 비디오(118)에 대해 서드 파티 서비스에 의해 마련될 수 있으며, 인터넷(117)과 같은 네트워크를 통해 수신된다. 비디오는 케이블이나 위성 텔레비전을 통해 방송되거나 인터넷(117)을 통해 다운로드될 수 있다.
실시예들에서, 서드 파티 서비스에 의해 마련된 세그먼트 리스트(116)는 데이터 카테고리의 알려진 필드를 포함하는 구조화 데이터 피드(structured data feed)일 수 있다. 예를 들어, 세그먼트 리스트(116)가 풋볼 경기의 구조화 피드인 경우, 제1 데이터 필드는 다운(즉, 제1, 제2, 제3 또는 제4) 및 제1 다운에 필요한 야드를 나타내고, 제2 데이터 필드는 경기가 시작되거나 또는 종료되는 게임 클록 시간을 제공할 수 있고, 제3 데이터 필드는 플레이와 결과를 나타낼 수 있다. 이들 필드는 일례일 뿐이며, 세그먼트 리스트는 다른 데이터 필드 및/또는 추가적인 데이터 필드를 포함할 수 있다. 구조화된 데이터 필드에서는 세그먼트 리스트의 세그먼트를 이벤트의 저장된 비디오 시퀀스에 인덱싱하는데 사용될 수 있는 정보(예컨대 러닝 게임 클록)를 쉽게 검색될 수 있다. 다른 실시예에서는, 세그먼트를 저장된 비디오에 인덱싱하는데 사용될 수 있는 정보를 검색할 수 있도록, 단계 206에서 서드 파티 서비스에 의해 마련된 세그먼트 리스트(116)가 텍스트 파일로 파싱될 수 있다.
단계 208에서, 인덱싱 엔진(110)은 수신된 세그먼트 리스트(116)가 수신된 비디오(118)에 대응하는지 확인할 수 있다. 비디오(118)는 소정의 디스크립터나 다른 메타데이터를 가질 수 있으며, 이들은 또한 세그먼트 리스트(116)의 일부로서 포함될 수도 있어 이들이 서로 대응하는지 확인할 수 있다.
단계 212에서, 인덱싱 엔진(110)은 이벤트에 대한 러닝 타임을 갖는 게임 클록을 디스플레이하기 위해 저장된 비디오의 프레임을 분석할 수 있다. 예를 들어, 풋볼 경기에서, 러닝 게임 클록은 일반적으로 플레이되는 각 다운 동안 디스플레이된다. 이러한 게임 클록(140)의 일례가 도 3 및 4에 도시되어 있다. 예컨대 알려진 광학 문자 인식 기술을 이용하는 소프트웨어 루틴을 이용하여 비디오 프레임을 분석하여 게임 클록(이는 일반적으로 알려진 포맷일 것이다)을 식별할 수 있다. 예를 들어, 풋볼 경기에서 게임 클록은 하나 또는 두 개의 숫자, 콜론, 그 다음에 두 개의 숫자를 가질 것이다.
이상의 설명과 이하의 설명에서, 게임 클록의 예는 세그먼트 리스트 내의 세그먼트를 저장된 비디오의 시퀀스에 매칭시키는데 이용된다. 그러나, 보다 일반적으로는, 게임 클록 이외의 다른 식별자가 세그먼트 리스트의 세그먼트와 비디오의 시퀀스 모두에 나타날 수 있고, 이들 다른 식별자는 세그먼트를 비디오의 시퀀스에 인덱싱하는데 이용될 수 있다는 것을 이해해야 한다. (오름차순 또는 내림차순의) 다른 형태의 순차적 문자숫자식(alphanumeric) 텍스트가 저장된 비디오의 여러 시퀀스에 디스플레이될 수도 있고, 이 문자숫자식 텍스트는 또한 세그먼트 리스트의 세그먼트로 표현되는 비디오의 시퀀스의 시작 또는 끝을 표시하기 위해 세그먼트 리스트의 제각기의 세그먼트에 나타날 수도 있다. 이 예에서, 순차적 문자숫자식 텍스트는, 전술한 그리고 후술하는 바와 같은, 세그먼트 리스트의 세그먼트를 비디오의 시퀀스에 인덱싱하는데 사용될 수 있다.
단계 214에서 인덱싱 엔진은 러닝 게임 클록과 같은 순차적 문자숫자식 텍스트가 발견되었는지 여부를 체크한다. 발견되지 않았으면, 본 기술은 도 8의 흐름도와 관련하여 아래에 설명하는 바와 같이 세그먼트의 시작 또는 끝에서 비디오 프레임을 식별하는 다양한 방법을 이용한다.
그러나, 단계 214에서 게임 클록이 식별되면, 단계 216에서 인덱싱 엔진이 세그먼트 리스트의 세그먼트의 게임 클록 시간을 획득하고, 그 후 단계 220에서 세그먼트 리스트 시간에 매칭되는 게임 클록을 갖는 비디오 프레임이 있는지 판정한다. 예를 들어, 인덱싱 엔진(110)이 세그먼트 리스트 내에 리스트되어 있는 제1 세그먼트로 시작할 수 있다. 풋볼 경기에서, 이것은 "15:00"를 나타내는 게임 클록으로 시작하는 오프닝 킥오프일 수 있다. 인덱싱 엔진(110)은 "15:00"의 클록 시간(140)을 포함하는 비디오 프레임을 검색한다. 아무것도 검색되지 않으면, 인덱싱 엔진(110)은 리스트 내에 더 이상의 세그먼트가 있는지 확인하기 위해 단계 228로 건너뛸 수 있다. 반면에, 매칭 비디오 프레임이 발견되면, 인덱싱 엔진(110)은 세그먼트 리스트의 매칭된 세그먼트에 인덱싱할 비디오의 길이를 결정하는 단계 222를 수행할 수 있는데, 이에 대해서는 아래에서 설명한다.
단계 220에서, 인덱싱 엔진(110)은 세그먼트 리스트(116) 내의 제1 세그먼트로 시작할 수 있으며 세그먼트 리스트 내 모든 세그먼트를 차례로 진행한다. 그러나, 다른 실시예에서는 인덱싱 엔진(110)이 제1 세그먼트로 시작할 필요가 없다. 또한, 여러 프레임이 동일한 게임 클록 시간을 가질 수도 있다. 예를 들어, 비디오가 초당 30 프레임을 가지면, 30 프레임은 (이상적으로는) 동일한 게임 클록 시간을 가져야 한다. 실시예들에서, 인덱싱 엔진(110)은 단계 220에서 세그먼트 리스트로부터의 세그먼트의 시간에 매칭되는 것으로 발견된 게임 클록 시간을 갖는 제1 프레임을 획득할 수 있다. 다른 예에서는 매칭된 시간을 갖는 다른 프레임이 선택될 수도 있다.
단계 222에서, 인덱싱 엔진(110)은 세그먼트 리스트의 세그먼트를 매칭된 클록 시간을 갖는 비디오를 포함하는 비디오의 시퀀스에 인덱싱할 수 있다. 이제 도 6의 흐름도를 참고하여 단계 222의 세부사항을 설명한다. 단계 234에서, 인덱싱 엔진(110)은 매칭된 클록 시간을 갖는 비디오 프레임이 비디오 시퀀스의 시작 또는 끝에서 발견되는지 판정한다. 구체적으로, 세그먼트 리스트는 일반적으로 시퀀스가 시작되는 시간을 제공한다. 풋볼 경기에서, PBP에 제공된 클록 시간은 일반적으로 경기 시작 시간일 것이다. 그러나, 제공된 클록 시간이 플레이 종료 시간인 경우가 있다. 예를 들어, 드라이브에서의 마지막 플레이(예컨대, 제4 다운 펀트)에 대한 PBP는 통상적으로 플레이의 종료 시간을 싣고 있을 수 있다.
인덱싱 엔진(110)이 식별된 비디오 프레임이 시퀀스의 시작인지 아니면 끝인지 여부를 인식할 수 있는 여러 방법이 있다. 실시예들에서, 인덱싱 엔진은 세그먼트가 싣고 있고 비디오와 관련이 있는 이벤트의 유형에 대한 정보를(예컨대, 수신된 세그먼트 리스트로부터) 수신할 수 있다. 인덱싱 엔진(110)은 그 이벤트의 유형에 대해 개발되어 (로컬 또는 원격으로) 저장된 휴리스틱(heuristics)을 적용할 수 있다.
일례로서, 풋볼에서, 개인 플레이는 일반적으로 선수들이 경기 시작 전에는 상대적으로 정지해 있고, 그 후 경기 중에는 매우 많이 움직이고, 경기 종료시에는 다시 천천히 움직이는 특징을 보인다. 인덱싱 엔진(110)이 이벤트 유형이 풋볼 경기라는 정보를 수신할 경우, 인덱싱 엔진은 식별된 비디오 프레임 전후의 프레임을 조사하여 일어나고 있는 움직임의 유형(프레임 간 변화의 양)을 판정할 수 있다. 이로부터, 인덱싱 엔진(110)은 식별된 프레임이 경기의 시작 또는 끝인지 여부에 대해 판정할 수 있다.
다른 예로서, 풋볼 플레이의 시간이 일반적으로 얼마나 걸리는지는 알려져 있다. 세그먼트 리스트에서 이전 세그먼트에 리스트된 시간이 통상의 플레이에 비해 너무 길면, 이는 현재 시간이 다음의 후속 플레이의 끝에서부터의 것임을 나타낼 수 있다. 다른 풋볼 특정적이고 일반적인 휴리스틱이 풋볼 경기에 이용될 수 있고, 다른 이벤트 특정적이고 일반적인 휴리스틱이 풋볼 경기 이외의 다른 이벤트에 적용될 수 있다.
다른 예는 비디오에서 샷 및/또는 장면 검출을 이용하여 비디오를 샷들로 나누는 것이다. 이 예에서, 인덱싱 엔진(110)은 클록 시간(또는 몇몇 다른 식별가능한 서명(signature))을 포함하는 비디오 프레임을 찾을 수 있고, 그 후 클록 시간 또는 서명이 포함되어 있는 시퀀스를 찾은 다음에 찾은 시퀀스의 시작/종료 시간을 사용할 수 있다.
단계 234에서 인덱싱 엔진(110)이 매칭된 클록 시간이 세그먼트의 시작이라고 판정하면, 단계 238에서 인덱싱 엔진(110)은 비디오 시퀀스의 끝을 판정할 수 있다. 단계 234에서 적용된 것과 동일하거나 유사한 휴리스틱을 이용하여 그렇게 할 수 있다. 예를 들어, 풋볼 경기에서, 비디오를 조사하여 플레이의 시작을 찾고 그 후 선수들이 느려지거나 정지할 때를 찾을 수 있다. 이것은 플레이의 끝으로 생각할 수 있다. 현재 세그먼트에 대응하는 것으로 판정된 비디오 시퀀스의 판정된 시작 시간과 종료 시간은 저장될 수 있다.
반대로, 단계 234에서 인덱싱 엔진(110)이 매칭된 클록 시간이 시퀀스의 끝이라고 판정하면, 인덱싱 엔진(110)은 단계 240에서 시퀀스의 시작을 판정할 수 있다. 다시, 단계 234에서 적용된 것과 동일하거나 유사한 휴리스틱이 단계 240에서 적용될 수 있다. 현재 세그먼트에 대응하는 것으로 판정된 비디오 시퀀스의 판정된 시작 시간과 종료 시간은 저장될 수 있다.
후술하는 바와 같이 사용자가 비디오 시퀀스를 볼 때, 비디오 시퀀스의 시작과 끝에 비디오 시퀀스에 리드인(lead in) 및 리드아웃(lead out)을 제공하기 위한 버퍼를 갖는 것이 바람직할 수 있다. 따라서, 인덱싱 엔진(110)은 소정 길이의 비디오 시퀀스의 시작과 끝에 예컨대 수 초의 버퍼를 추가할 수 있다. 비디오 시퀀스의 시작 또는 끝에 추가되는 버퍼는 다른 실시예에서는 생략될 수도 있다.
도 5를 다시 참조하면, (한 시퀀스의 비디오와 시작 및 끝 버퍼를 포함하는)특정 비디오 시퀀스가 세그먼트 리스트의 세그먼트에 인덱싱되면, 단계 224에서 인덱스 테이블이 생성되어 저장된다. 인덱스 테이블은 인덱싱된 비디오 시퀀스를 세그먼트 리스트의 대응하는 세그먼트와 관련지어 저장할 수 있다. 인덱스 테이블은, 세그먼트 리스트의 각 세그먼트에 대해, 대응하는 비디오가 저장된 비디오에서 발견되는 시작 및 종료 시간을 저장할 수 있다. 다른 실시예에서는, 인덱싱 엔진(110)이 특정 비디오 시퀀스를 따로 저장할 수도 있는데, 세그먼트 리스트 내의 각 세그먼트에 대해 하나의 저장된 비디오 시퀀스를 저장할 수 있다.
단계 228에서, 인덱싱 엔진(110)은 세그먼트 리스트에 비디오 내의 시퀀스에 매칭되는 세그먼트가 더 있는지를 체크할 수 있다. 만약 더 있다면, 인덱싱 엔진(110)은 단계 216로 돌아가서 세그먼트 리스트의 다른 세그먼트의 시간을 구하고, 단계 220, 222, 224 및 228을 반복한다.
반면에, 단계 228에서 세그먼트 리스트(116) 내의 모든 세그먼트가 확인되었으면, 인덱싱 엔진(110)은 단계 230에서 사용자 인터페이스에 디스플레이할 인터랙티브 스크립트를 생성하여 저장한다. 아래에 설명하는 바와 같이, 인터랙티브 스크립트는 사용자 인터페이스(134)에서 사용자에게 디스플레이될 수 있다. 사용자는 인터랙티브 스크립트에서 스크립트 세그먼트를 선택할 수 있고, 그러면 그 스크립트 세그먼트에 인덱싱된 비디오 시퀀스가 나타날 수 있다. 인터랙티브 스크립트의 각 스크립트 세그먼트는 세그먼트 리스트의 제각기의 세그먼트로부터 생성될 수 있다. 예를 들어, 스크립트 세그먼트는 데이터 필드들 중 일부 또는 전부 및/또는 세그먼트 리스트 내의 세그먼트로부터의 파싱된 텍스트로 채워질 수 있다. 따라서, 비디오 시퀀스가 세그먼트 리스트의 세그먼트에 인덱싱되고, 이 세그먼트는 다시 인터랙티브 스크립트 내의 대응하는 스크립트 세그먼트를 생성하는데 사용된다는 점에서 비디오 시퀀스는 스크립트 세그먼트에 인덱싱된다고 말할 수 있다.
또한, 각각의 스크립트 세그먼트는 하이퍼텍스트를 포함하거나 아니면 단계 224에서 생성되어 저장된 인덱스 테이블에 하이퍼링크될 수 있다. 따라서, 사용자가 인터랙티브 스크립트의 특정한 스크립트 세그먼트를 선택하면, 어느 인덱싱된 비디오 시퀀스가 그 스크립트 세그먼트와 연관되는지 판정하기 위해 인덱스 테이블이 액세스될 수 있다. 인터랙티브 스크립트의 일부 또는 전부는 인덱싱 엔진(110)에 의해 생성되는 대신에, 후술하는 바와 같이 브라우징 엔진(134)에 의해 생성될 수도 있다.
전술한 바와 같이, 모든 비디오 이벤트가 러닝 게임 클록을 갖는 것은 아니다. 야구나 테니스와 같은 운동 경기는 시간이 얼마나 걸리는지에 관계없이 경기를 마칠때까지 경기가 진행될 수 있다. 또한, 본 기술은 스포츠와 관련없고 러닝 게임 클록을 갖지 않는 저장된 비디오 이벤트에서도 작동할 수 있다. 단계 214에서 비디오 프레임을 조사하여 어떠한 게임 클록도 판별되지 않으면, 도 7의 단계 250에 도시된 바와 같이 인덱싱 엔진(110)은 그 다음으로 세그먼트 서명을 찾을 수 있다.
세그먼트 서명은 이벤트의 저장된 비디오 중에서 특정한 비디오의 프레임을 나타내는 데이터일 수 있다. 이 세그먼트 서명은 서드 파티가 세그먼트 리스트를 준비하는 시간에 이들에 의해 생성될 수 있으며, 세그먼트의 시작 시의 비디오 프레임을 나타낼 수 있고, 다른 실시예에서는 세그먼트의 끝일 수도 있다.
일례로서, 세그먼트 서명은 서드 파티 제공자가 비디오 시퀀스의 시작에서의 비디오로부터 획득하여 세그먼트 리스트의 세그먼트와 연관지어 저장하는 비디오의 한 프레임으로부터의 저장된 이미지 데이터(jpeg, gif 등)일 수 있다. 따라서, 세그먼트 리스트의 각 세그먼트는 이벤트의 비디오 내 한 지점을 묘사하는 관련 세그먼트 서명을 가질 것이다. 다른 실시예에서, 세그머트 서명은 비디오 내 시간일 수 있다. 즉, 이벤트의 비디오는 시간(t0)에서 시작하고, 제1 시퀀스는 비디오 런타임(t1)에서 시작하며, 제2 시퀀스는 비디오 런타임(t2)에서 시작하는 식으로 된다. 따라서 특정 시퀀스에 대한 세그먼트 서명은 시퀀스가 시작(또는 종료)되는 비디오 런타임일 수 있다.
단계 250에서, 인덱싱 엔진(110)은 서드 파티에서 수신된 세그먼트 리스트 내의 세그먼트가 관련 세그먼트 서명을 포함하는지 체크할 수 있다. 만약 포함하지 않으면, 인덱싱 엔진(110)이 그 비디오에 대한 인터랙티브 스크립트를 생성하지 않을 수 있고 인덱싱 엔진(110)의 동작이 끝날 수 있다.
반면에, 세그먼트 서명이 세그먼트 리스트 내에 포함되면, 단계 252에서 인덱싱 엔진이 소정의 저장된 세그먼트 서명이 비디오 내의 한 지점에 매칭되는지 여부를 판정할 수 있다. 전술한 바와 같이, 이 비교는 매칭이 발견될 때까지 연속하는 비디오 프레임의 이미지 데이터에 대해 저장된 이미지 데이터를 비교하는 것을 포함할 수 있다.
비교를 위해 서명 데이터 및 비디오 프레임을 요약하거나 간략하게 하고 매칭을 발견하는 다수의 기술이 존재한다. 그러한 기술의 일례가 발명의 명칭이 "Video Visual and Audio Query"인 미국 특허 공개번호 제2012/0008821호에 기술되어 있다. 이 특허 공개는 매칭되는 비디오 프레임을 찾기 위해 서로 비교되는 비디오 프레임들로부터 이미지 서명을 추출하는 여러 예를 서술한다. 그러한 한 예에서, 시스템은 각각의 비디오 프레임 이미지를 64(8×8) 개의 동일한 크기의 직사각형의 정돈된 셀로 분할한다. 각 셀에서, 시스템은 2개의 정돈된 비트를 생성할 수 있다. 예를 들면,
a. 셀의 우측 절반이 좌측 절반보다 더 밝으면 첫 번째 비트=1이고, 더 어두우면 =0이다.
b. 셀의 상부 절반이 하부 절반보다 더 밝으면 두 번째 비트=1이고, 더 어두우면 =0이다.
이 시스템을 사용하면, 비디오 내의 비디오 프레임 및 서명 모두에 대해, 서명/비디오 프레임 내 64개의 정돈된 셀에서 인덱싱 엔진(110)의 128 비트의 정돈된 리스트를 개발할 수 있다. 서명으로부터의 정돈된 리스트는 비디오 프레임의 정돈된 리스트와 비교되어 매칭을 찾을 수 있다. 특허 공개번호 제2012/0008821호의 다른 예들을 사용할 수도 있다.
비디오의 이미지 데이터 대신에, 비디오 내 오디오 데이터와 비교하기 위해 서명이 오디오 데이터인 경우를 생각해볼 수 있다. 서명의 오디오 데이터를 비디오와 비교하는 예는 발명의 명칭이 "Background Audio Listening for Content Recognition"인 미국 특허 공개번호 제2012/0296458호에 개시되어 있다. 이 특허 공개에 개시된 한 예에서, 오디오의 시퀀스로 이루어진 서명은, 예컨대, 해밍 윈도우를 오디오 데이터에 적용하는 방법, 오디오 데이터를 제로 패딩하는 방법, 고속 또는 이산 퓨리에 변환을 이용하여 데이터를 변환하는 방법 및 로그 파워를 적용하는 방법을 포함하는 다양한 방법들 중 어느 하나의 특징 추출 알고리즘을 사용하여 처리될 수 있다. 처리된 오디오 서명은 이후에 비디오의 오디오 세그먼트와 비교될 수 있으며, 이는 유사한 방식으로 처리될 수 있다.
비디오의 이미지 및/또는 오디오 데이터를 처리하고 데이터의 비교를 수행하는 다른 공지된 기술을 이용해도 된다. 전술한 바와 같이, 매칭은 대신에 소정 세그먼트에 대한 세그먼트 서명으로 저장된 비디오 런타임에 대응하는 비디오 런타임을 찾아내는 것을 포함할 수도 있다.
단계 252에서 매칭이 발견되지 않으면, 인덱싱 엔진은 (위에서와 같이) 단계 228에서 리스트 내에 더 이상의 세그먼트가 있는지 체크할 수 있다. 반면에, 매칭이 발견되면, 세그먼트 서명과 연관된 세그먼트가 매칭된 비디오 포인트를 포함하는 비디오에 인덱싱된다. 구체적으로, 인덱싱 엔진은 세그먼트 리스트의 매칭된 세그먼트에 인덱싱할 비디오 시퀀스의 길이를 결정할 수 있고(단계 222), 그 후 인덱싱된 비디오 시퀀스의 길이가 세그먼트 리스트의 매칭된 세그먼트와 연관지어 저장될 수 있는데(단계 224), 이들 단계는 위에서 설명하였다. 단계 228에서, 인덱싱 엔진(110)은 세그먼트 리스트에서 비디오 내의 한 지점에 매칭되는 추가적인 세그먼트가 있는지 여부를 체크할 수 있다. 추가 세그먼트가 있으면, 인덱싱 엔진(110)은 단계 252로 되돌아가서 세그먼트 리스트의 그 다음 세그먼트 서명을 획득할 수 있고, 단계 252, 222, 224 및 228가 반복된다. 세그먼트 리스트 내에 더 이상의 세그먼트가 존재하지 않으면, 전술한 바와 같이 단계 230에서 세그먼트의 인터랙티브 스크립트와 인덱싱된 비디오 시퀀스가 생성되어 저장된다.
전술한 바와 같이, 저장된 비디오에 대한 인터랙티브 스크립트가 생성되어 저장되면, 사용자는 브라우징 엔진(124)을 통해 저장된 비디오를 브라우징할 수 있다. 이제 도 8의 흐름도 및 도 2 내지 4와 도 9 내지 11의 예를 참고하여 브라우징 엔진의 실시예의 동작을 설명할 것이다.
단계 260에서, 사용자는 사용자 인터페이스(134)에 디스플레이하기 위해 저장된 비디오에 대한 인터랙티브 스크립트에 액세스할 수 있다. 전술한 바와 같이, 인터랙티브 스크립트는 하이퍼텍스트나 하이퍼링크로 설정된 세그먼트 리스트의 세그먼트의 목록이나 스크립트를 포함한다. 이들 링크는, 특정 스크립트 세그먼트가 선택되면 인덱싱 테이블이 메모리에서 관련 비디오 시퀀스를 검색하도록, 설정된다.
사용자 인터페이스(134)는 도 3에 도시된 바와 같이, 컴퓨팅 장치(120)의 디스플레이 상에 디스플레이되거나, 또는 사용자 인터페이스(134)는 도 4에 도시된 바와 같이 컴퓨팅 장치(130)와 연관된 디스플레이(138) 상에 디스플레이될 수 있다.
도 9 내지 11은 브라우징 엔진(124)에 의해 사용자 인터페이스(134) 상에 디스플레이될 수 있는 여러 인터랙티브 스크립트(150)의 예를 도시한 것이다. 도 9는 풋볼 경기의 저장된 비디오와 연관된 인터랙티브 스크립트(150)이다. 도 10은 야구 경기의 저장된 비디오와 연관된 인터랙티브 스크립트(150)이다. 도 11은 비스포츠 관련 이벤트(이 예에서는 토크쇼)의 저장된 비디오와 연관된 인터랙티브 스크립트(150)이다.
도 9 내지 11의 인터랙티브 스크립트는 일례일 뿐이며, 다른 실시예에서는 다양하게 변할 수도 있다. 그러나, 일반적으로, 인터랙티브 스크립트(150)는 사용자가 인터랙티브 스크립트(150)에 디스플레이된 특정한 스크립트 세그먼트를 선택할 수 있게 하며, 그러면 인덱싱된 비디오 시퀀스가 저장된 비디오로부터 사용자에게 디스플레이된다. 인터랙티브 스크립트(150)는 컴퓨팅 장치(120 및/또는 130)에 로컬로 저장될 수 있다. 이와 달리, 인터랙티브 스크립트(150)는 원격 저장부(122)(도 2)에 저장되어 컴퓨팅 장치(120 및/또는 130)에 다운로드될 수 있다. 전술한 바와 같이, 인터랙티브 스크립트(150)와 연관된 인덱싱된 비디오는 컴퓨팅 장치(120 및/또는 130)에 로컬로 저장될 수도 있고 저장부(122)에 원격으로 저장될 수도 있다.
도 9 내지 11에 도시된 바와 같이, 인터랙티브 스크립트(150)는 스크립트 세그먼트(150a, 150b, 150c 등)를 포함할 수 있는데, 이들 각각은 하이퍼텍스트나 하이퍼링크로 선택가능하다. 인터랙티브 스크립트는 인덱싱된 비디오 시퀀스의 서술과 같은 기본 세그먼트 리스트와 동일하거나 유사한 서술 요소를 포함할 수 있고, 적용가능하다면, 시퀀스에 포함된 선수와 인덱싱된 비디오 시퀀스의 시작 시간이나 종료 시간을 보여주는 게임 클록 시간을 포함할 수 있다. 디스플레이된 인터랙티브 스크립트는 보기에는 인터랙티브 스크립트를 생성하는데 사용된 기본 세그먼트 리스트와 유사하거나 동일할 수 있다. 실시예들에서, 인터랙티브 스크립트는 사실 특정 스크립트 세그먼트의 선택 시에 적절한 비디오 시퀀스의 검색을 가능하게 하는 하이퍼텍스트나 하이퍼링크로 증강된 세그먼트 리스트일 수 있다. 인터랙티브 스크립트(150)는 다른 실시예에서는 기본 세그먼트 리스트와 동일하거나 유사한 외양을 가질 필요가 없다.
인터랙티브 스크립트(150)는 도면에 도시된 것보다 더 적거나 더 많은 수의 스크립트 세그먼트를 포함할 수 있다. 예를 들어, 전체 풋볼 경기에 대한 인터랙티브 스크립트는 도 9의 예에 도시된 것보다 더 많은 스크립트 세그먼트를 포함할 수 있고, 전체 야구 경기에 대한 인터랙티브 스크립트는 도 10의 예에 도시된 것보다 더 많은 스크립트 세그먼트를 포함할 수 있다.
단계 262에서, 브라우징 엔진(124)은 인터랙티브 스크립트(150)의 스크립트 세그먼트의 사용자 선택을 찾을 수 있다. 선택이 수신되면, 브라우징 엔진(124)은 저장된 인덱스 테이블을 사용하여 단계 264에서 선택된 스크립트 세그먼트에 인덱싱된 비디오 시퀀스를 찾는다. 이 비디오 시퀀스는 그 후 단계 266에서, 예컨대 디스플레이(138) 상에서 사용자에게 디스플레이된다. 사용자가 복수의 스크립트 세그먼트를 선택할 수 있는 것도 생각해볼 수 있다. 이 경우, 복수의 선택된 스크립트 세그먼트에 인덱싱된 복수의 비디오 시퀀스가 액세스될 수 있고, 그 후 연속적으로 재생될 수 있다. 디스플레이된 비디오 시퀀스가 완료되면, 비디오는 종료될 수 있다. 또는 저장된 비디오가 그 지점에서부터 계속 재생될 수도 있다.
일례로 도 9를 참고하면, 사용자는 T. Brock으로부터 D.Smith로의 58 야드 터치다운 패스와 관련된 스크립트 세그먼트(150f)를 선택할 수 있다. 사용자는 마우스와 같은 포인팅 장치를 통해 또는 사용자 인터페이스가 터치 감지 디스플레이인 사용자 인터페이스를 터치함으로써, 스크립트 세그먼트(150f)를 선택할 수 있다. 도 4에 도시된 바와 같이 NUI 시스템을 이용하는 실시예에서, 사용자는 구두로 스크립트 세그먼트(150f)를 가리켜서 스크립트 세그먼트(150f)를 선택할 수도 있고, 다른 제스처를 취하여 스크립트 세그먼트(150f)를 선택할 수도 있다. 일단 선택되면, 58 야드 터치다운 패스의 비디오는 이벤트의 저장된 비디오로부터 사용자에게 디스플레이될 수 있다.
이와 유사하게, 도 10의 예에서는, 사용자가 C. Davies가 홈런을 친 스크립트 세그먼트(150f)와 N. McCloud의 스트라이크아웃의 스크립트 세그먼트(150m)를 선택할 수 있다. 그러면, 이들 비디오 시퀀스는 차례로 사용자에게 디스플레이될 수 있다. 도 11의 토크쇼 예에서, 사용자는 그 쇼의 스크립트 세그먼트들 중 하나, 예컨대 스크립트 세그먼트(150f)를 선택할 수 있고, 그러면 이 스크립트 세그먼트에 대응하는 비디오 시퀀스가 사용자에게 디스플레이될 수 있다. 전술한 바와 같이 도 9 내지 11에 도시된 인터랙티브 스크립트(150)와 특정한 선택된 스크립트 세그먼트는 단지 일례일 뿐이며 다른 실시예에서는 상당히 달라질 수 있다.
도 8을 다시 참고하면, 스크립트 세그먼트를 선택하는 대신에, 브라우징 엔진(124)과 사용자 인터페이스(134)는 검색 질의(query)를 이용하여 세그먼트 검색을 수행하는 기능을 사용자에게 제시할 수 있다. 예를 들어, 사용자는 검색 질의를 입력할 텍스트 박스를 제시받을 수 있고, 이 때 브라우징 엔진(124)은 단계 272에서 검색 질의를 만족시키는 모든 스크립트 세그먼트에 대해 인터랙티브 스크립트(150)를 검색한다. 이 검색은 단순한 키워드 검색일 수도 있고, 보다 복잡한 검색 기법, 예컨대 부울 피연산자(boolean operand)를 이용할 수도 있다.
단계 274에서, 브라우징 엔진(124)은 임의의 스크립트 세그먼트가 검색 질의를 만족하는지 여부를 판단한다. 만족하지 않으면, 검색을 만족하는 어떠한 세그먼트도 발견하지 않았다는 메시지를 사용자에게 디스플레이할 수 있다. 반면에, 검색 질의를 만족하는 스크립트 세그먼트가 발견되면, 이들 스크립트 세그먼트가 사용자에게 디스플레이되고, 그렇지 않으면 전체 인터랙티브 스크립트(150)에서 하이라이트된다. 그 후에, 단계 262로 진행하여 브라우징 엔진(124)이 스크립트 세그먼트의 선택을 확인한다.
따라서, 도 9의 풋볼 경기의 예에서, 사용자는 "터치다운" 결과를 가져오는 모든 플레이를 시청하기를 선택할 수 있다. 텍스트 박스에서 "터치다운" 질의를 입력하면, 브라우징 엔진(124)은 터치다운 결과를 가져오는 모든 플레이를 찾기 위해 인터랙티브 스크립트(154)를 검색할 수 있다. 다른 예로서, 사용자가 어떤 선수를 팔로우할 수 있는데, 예를 들면, 좋아하는 선수나 좋아하는 풋볼 팀의 선수를 팔로우할 수 있다. 사용자는 검색 질의에 이들의 이름을 입력할 수 있고, 브라우징 엔진(124)은 그 선수와 관련된 모든 플레이를 리턴할 수 있다. 브라우징 엔진(124)의 검색 질의는 동작은 예컨대 도 9의 야구 경기와 도 10의 토크쇼를 포함하는 다른 실시예에서도 유사하게 동작할 수 있다.
전술한 바와 같이, 도 9 내지 11에 도시된 인터랙티브 스크립트(150)의 상황은 일례일 뿐이다. 도 12는 개별 인터랙티브 스크립트(150a, 150b 등)가 별개의 선택가능한 블록으로 디스플레이되는 인터랙티브 스크립트(150)의 가능한 다른 상황을 도시한 것이다. 다른 예에서는, 사용자 인터페이스(134)가 인터랙티브 스크립트(150)를 도표로 디스플레이할 수 있다. 예를 들면, 풋볼 경기의 경우, 브라우징 엔진(124)은 각 플레이를 풋볼 필드 위에 디스플레이된 화살표로 보여주는 "드라이브 차트(drive chart)"를 디스플레이할 수 있는데, 각 화살표는 풋볼이 주어진 플레이에서 얼마나 진행되었는지를 나타낸다. 농구의 경우에는, 브라우징 엔진(124)이 샷이 어디에서 취해졌는지를 보여주는 그래픽 표시와 함께 코트의 이미지를 디스플레이할 수 있다(그래픽 표시의 컬러는 샷이 되었는지 여부를 나타낼 수 있다). 야구의 경우, 브라우징 엔진(124)은 볼이 어디에서 이동했는지를 보여주는 라인과 함께 필드의 이미지를 디스플레이할 수 있다. 이에 갈음하여 또는 이에 더하여, 스트라이크 존의 이미지가 디스플레이될 수 있다. 이들 예들 중 임의의 예에서, 브라우징 엔진(124)은 사용자가 그래픽 인터랙티브 스크립트로부터 특정 세그먼트를 선택했는지를 검출할 수 있고, 그 후 그 세그먼트에 대한 비디오 시퀀스를 디스플레이할 수 있다. 인터랙티브 스크립트(150)로부터 스크립트 세그먼트의 또 다른 상황도 고려할 수 있다.
전술한 실시예들에서, 인덱싱 엔진(110)과 브라우징 엔진(124)은 개별적으로 동작한다. 그러나, 다른 실시예들에서는 인덱싱 엔진(110)과 브라우징 엔진(124)이 통합될 수도 있다. 그러한 실시예에서는, 세그먼트 리스트가 인터랙티브 스크립트로서 사용될 수 있다. 즉, 세그먼트 리스트가 하이퍼링크에 의해 서드 파티로부터 수신되거나, 아니면 하이퍼링크에 의해 증대되어, 세그먼트 리스트 내의 각 세그먼트가 선택가능한 링크로서 사용자 인터페이스(134)에 디스플레이될 수 있다.
이 실시예에서는, 사용자가 사용자 인터페이스(134)에 디스플레이된 세그먼트들 중 하나를 선택할 수 있다. 이 시점에서, 결합된 인덱싱/브라우징 엔진이 전술한 러닝 클록 시간이나 세그먼트 서명에 대한 선택된 세그먼트를 검사할 수 있다. 선택된 세그먼트가 발견되면, 인덱싱/브라우징 엔진은 저장된 비디오를 검사하여 대응하는 비디오 시퀀스를 찾아낸다. 그 후 비디오 시퀀스가 사용자에게 디스플레이될 수 있고, 비디오 세그먼트의 시작 및/또는 끝에 버퍼를 추가할 수도 있다.
예컨대 스포츠 경기에 대한 저장된 비디오가 소정 시퀀스의 비디오 리플레이를 포함할 수도 있다. 예를 들어, 풋볼 경기에서, 네트워크는 흔히 다양한 패스, 런(run), 수비, 페널티 등의 리플레이를 보여준다. 실시예들에서, 기본 시퀀스 자체의 비디오가 아니라 시퀀스의 비디오 리플레이를 식별하는 것이 유리할 수도 있다. 예를 들어, 세그먼트 리스트의 세그먼트를 비디오 시퀀스에 인덱싱할 때, 비디오 시퀀스의 리플레이 말고 비디오 시퀀스 자체를 인덱싱하는 것이 유리할 수 있다.
시퀀스의 리플레이를 식별하고 이 리플레이를 기본 시퀀스와 구별하기 위해 인덱싱 엔진(110)은 다양한 생성된 이벤트 특정 휴리스틱을 이용할 수 있다. 예를 들어, 풋볼 경기에서, 리플레이들은 일반적으로 러닝 게임 클록의 디스플레이없이 보여진다. 또한, 네트워크는 시청 중인 것이 리플레이라는 것을 강조하기 위해 통상적으로 리플레이의 시작과 종료 시에 네트워크 로고나 다른 그래픽을 전송한다. 리플레이는 흔히 정상 속도보다 느리게 보여진다. 인덱싱 엔진(110)은 비디오가 리플레이인지 판정하기 위해 이들을 찾는 규칙과 리플레의 다른 특징을 포함할 수 있다. 리플레이가 식별되면, 그 리플레이는 세그먼트 리스트의 특정 세그먼트에 인덱싱된 비디오 시퀀스에서 제외될 수 있다. 또는, 리플레이는 그 세그먼트에 인덱싱되는 비디오 시퀀스의 일부로서 포함될 수 있다.
전술한 시스템은 저장된 이벤트를 시청하는 사용자에게 몇 가지 이점을 제공한다. 먼저, 사용자가 저장된 비디오 내 관심 지점까지 빠르고 쉽게 바로 브라우징할 수 있고, 사용자가 상업 광고 및 저장된 비디오의 관심이 덜한 부분을 건너 뛸 수 있다. 따라서, 사용자는 이벤트의 하이라이트나 이벤트 내의 특정한 특징이나 사람을 포함하는 맞춤화된 개인 "하이라이트 릴(hightlight reel)"을 생성할 수 있다. 또한, 사용자가 비디오를 저장하고 있고 이벤트의 녹화 중에 시청을 시작하는 경우, 사용자는 이미 녹화되는 부분에서 관심 시퀀스를 선택할 수 있고 가장 최근의 녹화 시간을 신속하게 따라잡을 수 있다.
도 13 및 14는 도 1 내지 4의 컴퓨팅 장치(100, 120 및/또는 130)와 같은 본 명세에 기술된 처리 장치들 중 어느 하나로서 전술한 기술에 사용될 수 있는 적절한 컴퓨팅 환경의 실시예들이다. 복수의 컴퓨팅 시스템이 플레이스 서비스를 구현하기 위해 서버로서 사용될 수 있다.
도 13을 참고하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(710) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(710)의 컴포넌트는 제한적인 것은 아니지만 프로세싱 유닛(720), 시스템 메모리(730), 및 시스템 메모리를 포함한 다양한 시스템 컴포넌트를 프로세싱 유닛(720)에 결합하는 시스템 버스(721)를 포함할 수 있다. 시스템 버스(721)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처 중 어느 하나를 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조들 중 임의의 버스 구조일 수 있다. 예를 들어, 이러한 아키텍처는 제한적인 것은 아니지만 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려져 있는 PCI(Peripheral Component Interconnect) 버스를 포함한다.
컴퓨터(710)는 통상 다양한 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터(710)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체를 포함하는 컴퓨터(710)에 의해 액세스될 수 있는 임의의 이용가능한 유형의 매체일 수 있다. 컴퓨터 판독가능한 매체는 유형의 매체에 포함도지 않는 일시적이거나 변조되었거나 또는 기타 전송된 데이터 신호는 포함하지 않는다. 예컨대, 제한적인 것은 아니지만, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 컴퓨터 저장 매체는 제한적인 것은 아니지만, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 디스크 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 다른 자기 저장 장치, 또는 정보를 저장하는데 사용될 수 있으며 컴퓨터(710)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
시스템 메모리(730)는 판독 전용 메모리(ROM)(731) 및 RAM(732)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 예컨대 시동(start-up) 중에 컴퓨터(710) 내의 구성 요소들 사이에서의 정보 전달을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(733)(BIOS)은 전형적으로 ROM(731)에 저장된다. RAM(732)은 전형적으로 프로세싱 유닛(720)에 의해 즉시 액세스가능하고/하거나 현재 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 13은 운영 체제(734), 애플리케이션 프로그램(735), 기타 프로그램 모듈(736), 및 프로그램 데이터(737)를 도시하고 있으나, 이에 한정되지는 않는다.
컴퓨터(710)는 또한 다른 분리형/비분리형 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 13은 비분리형, 비휘발성 자기 매체에 대해 판독 또는 기록하는 하드 디스크 드라이브(741), 비분리형 비휘발성 자기 디스크(752)에 대해 판독 또는 기록하는 자기 디스크 드라이브(751), 및 CD ROM 또는 기타 광학 매체와 같은 비분리형 비휘발성 광학 디스크(756)에 대해 판독 또는 기록하는 광학 디스크 드라이브(755)를 도시하고 있다. 예시적인 동작 환경에 사용될 수 있는 다른 분리형/비분리형 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크(DVD), 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하지만, 이에 한정되지는 않는다. 하드 디스크 드라이브(741)는 통상적으로 인터페이스(740)와 같은 비탈착식 메모리 인터페이스를 통해 시스템 버스(721)에 접속되고, 자기 디스크 드라이브(751) 및 광학 디스크 드라이브(755)는 통상적으로 인터페이스(750)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(721)에 접속된다.
도 13에 도시된 전술한 드라이브 및 이들의 관련 컴퓨터 저장 매체는 컴퓨터(710)의 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 13에서, 예를 들면, 하드 디스크 드라이브(741)는 운영 체제(744), 애플리케이션 프로그램(745), 기타 프로그램 모듈(746), 및 프로그램 데이터(747)를 저장하고 있는 것으로 도시되어 있다. 이들 컴포넌트는 운영 체제(734), 애플리케이션 프로그램(735), 기타 프로그램 모듈(736), 및 프로그램 데이터(737)와 동일하거나 또는 다를 수 있다는 점에 주의한다. 본 명세서에서 운영 체제(744), 애플리케이션 프로그램(745), 기타 프로그램 모듈(746), 및 프로그램 데이터(747)는, 최소한 이들이 다른 구성 요소임을 나타내기 위해 도면번호가 상이하다. 사용자는 키보드(762), 및 일반적으로 마우스, 트랙볼 또는 터치 패드라고 하는 포인팅 장치(761)와 같은 입력 장치를 통해 커맨드 및 정보를 컴퓨터(710)에 입력할 수 있다. 다른 입력 장치(도시되어 있지 않음)는 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 흔히 시스템 버스에 연결되는 사용자 입력 인터페이스(760)를 통해 프로세싱 유닛(720)에 연결되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 버스 구조 및 다른 인터페이스에 의해 연결될 수도 있다. 가상 디스플레이(791) 또는 다른 유형의 디스플레이 장치가 또한 비디오 인터페이스(790)와 같은 인터페이스를 통해 시스템 버스(721)에 연결된다. 모니터 외에, 컴퓨터는 또한 스피커(797) 및 프린터(796)와 같은 다른 주변 출력 장치를 포함할 수 있는데, 이들은 출력 주변 인터페이스(795)를 통해 연결될 수 있다.
컴퓨터(710)는 원격 컴퓨터(780)와 같은 하나 이상의 원격 컴퓨터로의 논리 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(780)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드일 수 있으며, 메모리 저장 장치(781)가 도 13에는 도시되어 있지는 않지만, 통상적으로 컴퓨터(710)와 관련하여 위에서 설명한 요소들 전부 또는 대다수를 포함한다. 도 13에 도시된 논리 접속부는 LAN(771) 및 WAN(773)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이들 네트워킹 환경은 사무실, 기업향 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔히 볼 수 있다.
LAN 네트워킹 환경에서 사용될 경우, 컴퓨터(710)는 네트워크 인터페이스 또는 어댑터(770)를 통해 LAN(771)에 접속된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(710)는 통상적으로 모뎀(772)이나, 인터넷과 같은 WAN(773)을 통해 통신을 확립하는 기타 수단을 포함한다. 모뎀(772)은 내부 또는 외부에 있을 수 있으며, 사용자 입력 인터페이스(760) 또는 기타 적절한 메커니즘을 통해 시스템 버스(721)에 연결될 수 있다. 네트워킹된 환경에서, 컴퓨터(710)와 관련하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예를 들어, 도 13은 원격 애플리케이션 프로그램(785)을 원격 컴퓨터(780) 상에 존재하는 것으로 도시하고 있다. 도시된 네트워크 접속은 예시적인 것이며 컴퓨터들 사이에 통신 링크를 확립하는 다른 수단이 사용될 수도 있음을 알 수 있을 것이다.
도 14는 컴퓨팅 장치(130)와 같은 컴퓨팅 장치를 구현하는데 사용될 수 있는 컴퓨팅 시스템의 다른 실시예의 블록도이다. 이 실시예에서, 컴퓨팅 시스템은 게이밍 콘솔과 같은 멀티미디어 콘솔(800)이다. 도 14에 도시되어 있는 바와 같이, 컬티미디어 콘솔(800)은 중앙 처리 장치(CPU)(801)와, 프로세서가 플래시 판독 전용 메모리(ROM)(803), 랜덤 액세스 메모리(RAM)(806), 하드 디스크 드라이브(808) 및 휴대형 매체 드라이브(805)를 포함하는 다양한 유형의 메모리에 액세스하는 것을 용이하게 하는 메모리 컨트롤러(802)를 포함한다. 한 구현예에서, CPU(801)는 데이터를 일시적으로 저장하는 레벨1 캐시(810) 및 레벨2 캐시(812)를 포함하여, 하드 드라이브(808)에 대해 행해진 메모리 액세스 사이클의 횟수를 줄임으로써 처리 속도 및 수율을 향상시킨다.
CPU(801), 메모리 컨트롤러(802), 및 다양한 메모리 장치가 하나 이상의 버스를 통해 상호연결된다(도시되어 있지는 않다). 이 구현예에 사용되는 버스의 세부사항은 본 명세서에서 논의되는 관심 주제를 이해하는 것과 특별히 관련되지는 않는다. 그러나, 이러한 버스는, 다양한 버스 아키텍처들 중 어느 하나를 사용하는 하나 이상의 직렬 및 병렬 버스, 메모리 버스, 주변 버스, 및 프로세서 또는 로컬 버스를 포함할 수 있다는 것을 이해할 수 있을 것이다. 예를 들어, 이들 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려져 있는 PCI(Peripheral Component Interconnect) 버스를 포함할 수 있다.
한 구현예에서는, CPU(801), 메모리 컨트롤러(802), ROM(803), 및 RAM(806)이 공통 모듈(814)에 통합된다. 이 구현예에서, ROM(803)은 PCI 버스와 ROM 버스(둘 다 도시되어 있지는 않다)를 통해 메모리 컨트롤러(802)에 연결되는 플래시 ROM으로서 구성된다. RAM(806)은 별도의 버스(도시되어 있지 않음)를 통해 메모리 컨트롤러(802)에 의해 독립적으로 제어되는 복수의 DDR SDRAM(Double Data Rate Synchronous Dynamic RAM)으로서 구성된다. 하드 디스크 드라이브(808)와 휴대형 매체 드라이브(805)는 PCI 버스와 ATA(AT Attachment) 버스(816)를 통해 메모리 컨트롤러(802)에 연결된다. 그러나, 다른 구현예에서는, 다른 유형의 전용 데이터 구조가 대안으로 적용될 수 있다.
그래픽 처리 장치(820) 및 비디오 인코더(822)는 고속 및 고해상도(예컨대, 고화질) 그래필 처리를 위한 비디오 처리 파이프라인을 형성한다. 데이터는 그래픽 처리 장치(GPU)(820)로부터 디지털 비디오 버스(도시되어 있지 않음)를 통해 비디오 인코더(822)로 운반된다. 시스템 애플리케이션(예컨대, 팝업)에 의해 생성된 가벼운 메시지(lightweight message)는 팝업이 오버레이되게 코드를 스케줄링하는 GPU(820) 인트럽트를 사용하여 디스플레이될 수 있다. 오버레이에 사용된 메모리 양은 오버레이 면적에 의존하며, 오버레이는 바람직하게는 화면 해상도에 따라 스케일링된다. 공동 시스템 애플리케이션에 의해 전체 사용자 인터페이스가 사용되는 경우, 애플리케이션 해상도와 독립적인 해상도를 사용하는 것이 더 바람직하다. 이 해상도를 설정하기 위해 스케일러를 사용하면, 주파수를 변경하여 TV를 재동기시킬 필요가 없어진다.
오디오 처리 장치(824)와 오디오 코덱(코더/디코더)(826)은 다양한 디지털 오디오 포맷의 멀티 채널 오디오 처리를 위한 대응하는 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 오디오 처리 장치(824)와 오디오 코덱(826) 사이에서 통신 링크(도시되어 있지 않음)를 통해 운반된다. 비디오 및 오디오 처리 파이프라인은 텔레비전이나 기타 디스플레이에 전송할 데이터를 A/V(오디오/비디오) 포트(828)에 출력한다. 도시된 구현예에서는, 비디오 및 오디오 처리 컴포넌트(820-828)가 모듈(814)에 탑재된다.
도 14는 USB 호스트 컨트롤러(830) 및 네트워크 인터페이스(832)를 포함하는 모듈(814)을 도시한다. USB 호스트 컨트롤러(830)는 버스(예컨대, PCI 버스)를 통해 CPU(801) 및 메모리 컨트롤러(802)와 통신하며 주변 컨트롤러(804(1)-804(4))에 대해 소스트 역할을 한다. 네트워크 인터페이스(832)는 네스워크(예컨대, 인터넷, 홈 네트워크 등)에 대한 액세스를 제공하며, 이더넷 카드, 모뎀, 무선 액세스 카드, 블루투스 모듈, 케이블 모뎀 등을 포함하는 다양한 유선 또는 무선 인터페이스 컴포넌트들 중 어느 하나일 수 있다.
도 14에 도시된 구현예에서, 콘솔(800)은 4 개의 컨트롤러(804(1)-804(4))를 지원하는 컨트롤러 지원 서브어셈블리(841)를 포함한다. 컨트롤러 지원 서브어셈블리(841)는, 예컨대 매체 및 게임 컨트롤러와 같은 외부 제어 장치와의 유무선 동작을 지원하는 임의의 하드웨어 및 소프트웨어 컴포넌트를 포함한다. 프런트 패널 I/O 서브어셈블리(842)는 전원 버트(811), 이젝트 버튼(813) 및 임의의 LED(light emitting diode) 또는 콘솔(802)의 외부면에 노출된 기타 표시기의 복수의 기능을 지원한다. 서브어셈블리(841, 842)는 하나 이상의 케이블 어셈블리(844)를 통해 모듈(814)과 통신한다. 다른 구현예에서는, 콘솔(800)이 추가의 컨트롤러 서브어셈블리를 포함할 수 있다. 도시된 구현예는 또한 모듈(814)과 통신할 수 있는 신호를 송수신하도록 구성되는 광학 I/O 인터페이스(835)를 보여준다.
MU(840(1) 및 840(2))는 MU 포트 "A"(830(1)) 및 "B"(830(2))에 각각 연결가능한 것으로 도시되어 있다. 추가적인 MU(예컨대, MU(840(3)-840(6))가 컨트롤러(804(1) 및 804(3))에 연결될 수 있는 것으로 도시되어 있는데, 즉, 각 컨트롤러마다 2개의 MU가 연결될 수 있다. 컨트롤러(804(2) 및 804(4))는 MU를 수신하도록 구성될 수도 있다(도시되어 있지는 않음). 각각의 MU(840)는 게임, 게임 파라미터 및 기타 데이터를 저장할 수 있는 추가적인 저장부를 제공한다. 일부 실시예에서는, 다른 데이터가 디지털 게임 컴포넌트 실행가능한 게이밍 애플리케이션, 게이밍 애플리케이션을 확장하기 위한 명령어 세트, 및 미디어 파일 중 어느 하나를 포함할 수 있다. MU(840)는 콘솔(800)이나 컨트롤러에 삽입되면 메모리 컨트롤러(802)에 의해 액세스될 수 있다. 시스템 전원 모듈(850)은 멀티미디어 콘솔(800)의 컴포넌트에 전력을 공급한다. 팬(85)은 콘솔(800) 내 회로를 냉각한다. 마이크로컨트롤러 장치(854)가 또한 제공된다.
머신 명령어를 포함하는 애플리케이션(860)은 하드 디스크 드라이브(808)에 저장된다. 콘솔(800)에 전원이 들어오면, CPU(801)에서의 실행을 위해 애플리케이션(860)의 다양한 부분들이 RAM(806) 및/또는 캐시(810, 812)에 로딩되는데, 여기서 애플리케이션(860)은 그 일례이다. 다양한 애플리케이션이 CPU(801)에서 실행되도록 하드 디스크 드라이브(808)에 저장될 수 있다.
멀티미디어 콘솔(800)은 단순히 시스템을 오디오/비주얼 장치(16), 텔레비전, 비디오 프로젝터 또는 기타 디스플레이 장치에 연결함으로써 독립형 시스템으로서 동작할 수 있다. 이 독립형 모드에서, 멀티미디어 콘솔(800)은 하나 이상의 플레이어가 게임을 플레이하거나 영화를 보거나 음악을 들음으로써 디지털 미디어를 즐길 수 있도록 한다. 그러나, 네트워크 인터페이스(832)를 통해 광대역 접속의 통합이 이루어짐에 따라, 멀티미디어 콘솔(800)은 또한 보다 큰 네트워크 게이밍 커뮤니티의 참가자로서 동작할 수 있다.
첨부된 청구항들에 정의된 청구대상은 구조적인 특징 및/또는 방법적 동작에 특유한 언어로 기술되어 있지만, 반드시 전술한 특정한 특징이나 동작으로 제한되지는 않음을 이해해야 한다. 오히려, 전술한 특정한 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시되어 있다.

Claims (10)

  1. 저장된 비디오의 원하는 시퀀스를 디스플레이하기 위해 상기 저장된 비디오의 상기 원하는 시퀀스로 점프하도록 상기 저장된 비디오를 브라우징하는 방법으로서,
    (a) 복수의 스크립트 세그먼트 - 상기 복수의 스크립트 세그먼트는 상기 저장된 비디오에서 캡처된 이벤트의 개별 세그먼트와 상관됨 - 를 포함하는 인터랙티브 스크립트(interactive script)를 디스플레이하는 단계와,
    (b) 상기 복수의 스크립트 세그먼트 중 하나의 스크립트 세그먼트를 상기 스크립트 세그먼트와 관련된 상기 비디오의 시퀀스와 매칭시키기 위해, 상기 저장된 비디오의 특징(feature) 및 상기 복수의 스크립트 세그먼트의 특징을 검출하는 단계와,
    (c) 상기 단계 (a)에서 디스플레이된 상기 스크립트 세그먼트의 선택을 수신하는 단계와,
    (d) 상기 단계 (b)에서 상기 스크립트 세그먼트의 선택 시에 상기 스크립트 세그먼트와 매칭된 상기 비디오의 시퀀스를 디스플레이하는 단계
    를 포함하는 저장된 비디오를 브라우징하는 방법.
  2. 제1항에 있어서,
    상기 복수의 스크립트 세그먼트 중 하나 이상의 스크립트 세그먼트를 식별하기 위한 검색 질의(query)를 수신하는 단계를 더 포함하고,
    상기 검색 질의의 결과는 상기 단계 (c)에서 선택된 상기 스크립트 세그먼트를 포함하는 것인 저장된 비디오를 브라우징하는 방법.
  3. 제1항에 있어서,
    상기 단계 (a)는 제1 컴퓨팅 장치의 사용자 인터페이스에 인터랙티브 스크립트를 디스플레이하는 단계를 포함하는 것인 저장된 비디오를 브라우징하는 방법.
  4. 제3항에 있어서,
    상기 단계 (d)는 상기 제1 컴퓨팅 장치와 상이한 제2 컴퓨팅 장치와 연관된 디스플레이 상에 상기 비디오의 시퀀스를 디스플레이하는 단계를 포함하는 것인 저장된 비디오를 브라우징하는 방법.
  5. 저장된 비디오의 원하는 시퀀스를 디스플레이하기 위해 상기 저장된 비디오의 상기 원하는 시퀀스로 점프하도록 상기 저장된 비디오를 브라우징하는 방법을 수행하도록 프로세서를 프로그래밍하는 컴퓨터 판독가능한 매체로서,
    상기 방법은,
    (a) 세그먼트 리스트 내의 세그먼트를 상기 저장된 비디오로부터의 시퀀스에 인덱싱하는 단계와,
    (b) 스크립트 세그먼트 - 상기 스크립트 세그먼트는 상기 세그먼트 리스트 내의 세그먼트에 대응함 - 를 갖는 인터랙티브 스크립트를 포함하는 그래픽 사용자 인터페이스를 디스플레이 장치에 제공하는 단계와,
    (c) 상기 그래픽 사용자 인터페이스로부터 스크립트 세그먼트의 선택을 수신하는 단계와,
    (d) 상기 단계 (b)에서 선택된 상기 스크립트 세그먼트에 대응하는 상기 세그먼트 리스트로부터의 세그먼트에 인덱싱된 상기 비디오로부터의 시퀀스를 디스플레이하는 단계
    를 포함하는, 컴퓨터 판독가능한 매체.
  6. 제5항에 있어서,
    상기 세그먼트 리스트 내의 세그먼트를 상기 저장된 비디오로부터의 시퀀스에 인덱싱하는 상기 단계 (a)는,
    (e) 상기 세그먼트 리스트의 세그먼트 및 상기 비디오로부터의 시퀀스 내의 순차적 문자숫자(alphanumeric) 텍스트를 식별하는 단계와,
    (f) 상기 단계 (e)에서 식별된 동일한 문자숫자 텍스트를 갖는 상기 비디오로부터의 시퀀스에 상기 세그먼트 리스트의 세그먼트를 인덱싱하는 단계
    를 포함하는 컴퓨터 판독가능한 매체.
  7. 제5항에 있어서,
    상기 세그먼트 리스트 내의 세그먼트를 상기 저장된 비디오로부터의 시퀀스에 인덱싱하는 상기 단계 (a)는,
    (g) 상기 비디오의 시퀀스에서 게임 클록 시간(game clock time)을 식별하는 단계와,
    (h) 상기 세그먼트 리스트의 세그먼트에 포함된 정보에서 게임 클록 시간을 식별하는 단계와,
    (i) 상기 단계 (g) 및 (h)에서 식별된 동일한 게임 클록 시간을 갖는 상기 비디오로부터의 시퀀스에 상기 세그먼트 리스트의 세그먼트를 인덱싱하는 단계
    를 포함하는 컴퓨터 판독가능한 매체.
  8. 제7항에 있어서,
    상기 세그먼트 리스트의 하나의 세그먼트 내의 상기 게임 클록 시간이 상기 저장된 비디오로부터의 시퀀스의 시작 또는 끝을 나타내는지 여부를 판정하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.
  9. 제8항에 있어서,
    상기 세그먼트 리스트 내의 세그먼트를 상기 저장된 비디오로부터의 시퀀스에 인덱싱하는 상기 단계 (a)는,
    (j) 상기 세그먼트 리스트로부터의 하나의 세그먼트와 연관되어 저장된 세그먼트 서명을 검색하는 단계와,
    (k) 상기 세그먼트 서명과의 매칭을 찾기 위해 상기 저장된 비디오를 검사하는 단계와,
    (l) 상기 세그먼트 서명과의 매칭을 포함하는 상기 비디오의 시퀀스에 상기 세그먼트 서명과 연관된 세그먼트를 인덱싱하는 단계
    를 포함하는 컴퓨터 판독가능한 매체.
  10. 저장된 비디오를 브라우징하는 시스템으로서,
    비디오를 저장하는 제1 장치와,
    사용자 인터페이스를 제공하는 제2 장치
    를 포함하며,
    상기 사용자 인터페이스는 상기 저장된 비디오 내의 대응하는 비디오 시퀀스를 기술하는 복수의 스크립트 세그먼트를 포함하는 인터랙티브 스크립트를 디스플레이하고,
    상기 복수의 스크립트 세그먼트는, 상기 사용자 인터페이스를 통해 스크립트 세그먼트를 선택한 결과로서 상기 제1 장치 상의 상기 저장된 비디오로부터의 대응하는 비디오 시퀀스에 액세스하도록, 상기 대응하는 비디오 시퀀스에 인덱싱되는 것인 저장된 비디오를 브라우징하는 시스템.
KR1020167025567A 2014-02-14 2015-02-10 세그먼트 리스트를 통한 비디오 브라우징 KR20160122253A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/180,901 2014-02-14
US14/180,901 US10037380B2 (en) 2014-02-14 2014-02-14 Browsing videos via a segment list
PCT/US2015/015081 WO2015123151A1 (en) 2014-02-14 2015-02-10 Browsing videos via a segment list

Publications (1)

Publication Number Publication Date
KR20160122253A true KR20160122253A (ko) 2016-10-21

Family

ID=52682899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025567A KR20160122253A (ko) 2014-02-14 2015-02-10 세그먼트 리스트를 통한 비디오 브라우징

Country Status (5)

Country Link
US (2) US10037380B2 (ko)
EP (1) EP3105758A1 (ko)
KR (1) KR20160122253A (ko)
CN (1) CN105981103A (ko)
WO (1) WO2015123151A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325568A1 (en) * 2013-04-26 2014-10-30 Microsoft Corporation Dynamic creation of highlight reel tv show
US10534812B2 (en) * 2014-12-16 2020-01-14 The Board Of Trustees Of The University Of Alabama Systems and methods for digital asset organization
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US11409791B2 (en) 2016-06-10 2022-08-09 Disney Enterprises, Inc. Joint heterogeneous language-vision embeddings for video tagging and search
CN107155138A (zh) * 2017-06-06 2017-09-12 深圳Tcl数字技术有限公司 视频播放跳转方法、设备及计算机可读存储介质
US10558761B2 (en) * 2018-07-05 2020-02-11 Disney Enterprises, Inc. Alignment of video and textual sequences for metadata analysis
CN109167977B (zh) * 2018-10-28 2020-10-23 广州中元软件有限公司 一种监控视频仿生长期保存方法
CN110221995B (zh) * 2019-05-15 2020-10-09 方一信息科技(上海)有限公司 一种集成智能网卡的数据管理方法及系统
CN115695946A (zh) * 2022-10-31 2023-02-03 维沃移动通信有限公司 壁纸视频播放方法、装置、电子设备及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
AU2001283004A1 (en) 2000-07-24 2002-02-05 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
GB0406512D0 (en) 2004-03-23 2004-04-28 British Telecomm Method and system for semantically segmenting scenes of a video sequence
US7631336B2 (en) * 2004-07-30 2009-12-08 Broadband Itv, Inc. Method for converting, navigating and displaying video content uploaded from the internet to a digital TV video-on-demand platform
US20090151004A1 (en) * 2005-07-01 2009-06-11 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Media markup for visual content alteration
US7801910B2 (en) 2005-11-09 2010-09-21 Ramp Holdings, Inc. Method and apparatus for timed tagging of media content
EP2011017A4 (en) * 2006-03-30 2010-07-07 Stanford Res Inst Int METHOD AND APPARATUS FOR ANNOTATING MULTIMEDIA STREAMS
TWI384413B (zh) * 2006-04-24 2013-02-01 Sony Corp An image processing apparatus, an image processing method, an image processing program, and a program storage medium
US8554784B2 (en) * 2007-08-31 2013-10-08 Nokia Corporation Discovering peer-to-peer content using metadata streams
US8756531B2 (en) * 2007-09-26 2014-06-17 Aq Media, Inc. Audio-visual navigation and communication
US8875212B2 (en) * 2008-04-15 2014-10-28 Shlomo Selim Rakib Systems and methods for remote control of interactive video
US20090158214A1 (en) * 2007-12-13 2009-06-18 Nokia Corporation System, Method, Apparatus and Computer Program Product for Providing Presentation of Content Items of a Media Collection
JP5091806B2 (ja) 2008-09-01 2012-12-05 株式会社東芝 映像処理装置及びその方法
US20100125791A1 (en) * 2008-11-14 2010-05-20 Rebelvox, Llc User interface for a telecommunication and multimedia management system and method
US8489600B2 (en) * 2010-02-23 2013-07-16 Nokia Corporation Method and apparatus for segmenting and summarizing media content
US8447604B1 (en) 2010-04-12 2013-05-21 Adobe Systems Incorporated Method and apparatus for processing scripts and related data
US9508011B2 (en) 2010-05-10 2016-11-29 Videosurf, Inc. Video visual and audio query
US20120236201A1 (en) * 2011-01-27 2012-09-20 In The Telling, Inc. Digital asset management, authoring, and presentation techniques
WO2012135804A2 (en) * 2011-04-01 2012-10-04 Mixaroo, Inc. System and method for real-time processing, storage, indexing, and delivery of segmented video
US20120296458A1 (en) 2011-05-18 2012-11-22 Microsoft Corporation Background Audio Listening for Content Recognition
US10776431B2 (en) * 2011-10-26 2020-09-15 Oath Inc. System and method for recommending content based on search history and trending topics
US8849829B2 (en) * 2011-12-06 2014-09-30 Google Inc. Trending search magazines
US8370348B1 (en) * 2011-12-06 2013-02-05 Google Inc. Magazine edition recommendations
GB2502065A (en) * 2012-05-14 2013-11-20 Sony Corp Video comparison apparatus for sports coverage
US8886011B2 (en) 2012-12-07 2014-11-11 Cisco Technology, Inc. System and method for question detection based video segmentation, search and collaboration in a video processing environment

Also Published As

Publication number Publication date
US20150234919A1 (en) 2015-08-20
CN105981103A (zh) 2016-09-28
US10846335B2 (en) 2020-11-24
EP3105758A1 (en) 2016-12-21
US20180314758A1 (en) 2018-11-01
WO2015123151A1 (en) 2015-08-20
US10037380B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
US10846335B2 (en) Browsing videos via a segment list
US20150312652A1 (en) Automatic generation of videos via a segment list
US10425684B2 (en) System and method to create a media content summary based on viewer annotations
US9967621B2 (en) Dynamic personalized program content
WO2021082668A1 (zh) 一种弹幕编辑方法、智能终端及存储介质
CN113841418B (zh) 用于组装并播放精彩场面视频的方法、系统和存储介质
CN103765910B (zh) 用于视频流和其他内容的基于关键字的非线性导航的方法和设备
Cheng et al. Smartplayer: user-centric video fast-forwarding
US20070266322A1 (en) Video browsing user interface
US20140325568A1 (en) Dynamic creation of highlight reel tv show
US20150248918A1 (en) Systems and methods for displaying a user selected object as marked based on its context in a program
US9197911B2 (en) Method and apparatus for providing interaction packages to users based on metadata associated with content
US20090190804A1 (en) Electronic apparatus and image processing method
JP5868978B2 (ja) コミュニティベースのメタデータを提供するための方法および装置
US20080269924A1 (en) Method of summarizing sports video and apparatus thereof
KR20230146096A (ko) 오디오에 수반되는 비디오 프레젠테이션 생성
US10523735B1 (en) Methods, systems, and media for inserting and presenting video objects linked to a source video
JP2011504702A (ja) ビデオ要約を生成する方法
US20080159724A1 (en) Method and system for inputting and displaying commentary information with content
WO2007073053A1 (en) Method for searching situation of moving picture and system using the same
US20170113136A1 (en) System and method of inferring user interest in different aspects of video game streams
KR101573676B1 (ko) 메타데이터 기반의 객체기반 가상시점 방송 서비스 방법 및 이를 위한 기록매체
JP2008099012A (ja) コンテンツ再生システム及びコンテンツ蓄積システム
JP5954756B2 (ja) 動画再生システム
US20240305854A1 (en) Methods and systems for automated content generation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid