KR102785406B1 - 트리거들에 응답하여 미디어 콘텐츠 재생 - Google Patents

트리거들에 응답하여 미디어 콘텐츠 재생 Download PDF

Info

Publication number
KR102785406B1
KR102785406B1 KR1020237021190A KR20237021190A KR102785406B1 KR 102785406 B1 KR102785406 B1 KR 102785406B1 KR 1020237021190 A KR1020237021190 A KR 1020237021190A KR 20237021190 A KR20237021190 A KR 20237021190A KR 102785406 B1 KR102785406 B1 KR 102785406B1
Authority
KR
South Korea
Prior art keywords
file
media content
computing device
files
trigger
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020237021190A
Other languages
English (en)
Other versions
KR20230110594A (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 KR20230110594A publication Critical patent/KR20230110594A/ko
Application granted granted Critical
Publication of KR102785406B1 publication Critical patent/KR102785406B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/73Querying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/47End-user applications
    • H04N21/482End-user interface for programme selection
    • H04N21/4825End-user interface for programme selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

비일시적 컴퓨터 판독가능 저장 매체는 저장된 명령어들을 포함할 수 있다. 적어도 하나의 프로세서에 의해 실행될 때, 명령어들은 모바일 컴퓨팅 디바이스로 하여금, 컴패니언 디바이스로부터 다수의 파일들을 수신하게 하도록 구성될 수 있고, 다수의 파일들 각각은 적어도 미디어 콘텐츠, 트리거 조건 및 트리거 조건 만족 시 수행될 액션을 포함한다. 파일들 중 적어도 하나에 포함된 액션은 다수의 파일들 중 또 다른 파일로부터의 미디어 콘텐츠를 재생하는 것을 포함할 수 있다. 명령어들은 모바일 컴퓨팅 디바이스로 하여금 다수의 파일들 중 적어도 하나에 포함된 미디어 콘텐츠를 재생하게 하고, 컴패니언 디바이스로부터 적어도 하나의 추가 파일을 수신하게 하고, 다수의 파일들 중 적어도 하나를 삭제하게 하고, 그리고 적어도 하나의 추가 파일에 포함된 미디어 콘텐츠를 재생하게 하도록 더 구성될 수 있다.

Description

트리거들에 응답하여 미디어 콘텐츠 재생
이 설명은 미디어 콘텐츠 재생에 관한 것이다.
스마트워치들과 같은 일부 컴퓨팅 디바이스들은 배터리 전원 및/또는 메모리와 같은 제한된 컴퓨팅 리소스들을 가질 수 있다. 제한된 컴퓨팅 리소스들은 컴퓨팅 디바이스가 재생할 준비가 된 미디어 콘텐츠를 제한할 수 있다.
비일시적 컴퓨터 판독가능 저장 매체는 명령어들을 포함할 수 있다. 적어도 하나의 프로세서에 의해 실행될 때, 명령어들은 모바일 컴퓨팅 디바이스로 하여금 컴패니언 디바이스로부터, 다수의 파일들을 수신하게 하도록 구성될 수 있으며, 다수의 파일들 각각은 적어도 미디어 콘텐츠, 트리거 조건, 트리거 조건 만족 시 수행될 액션을 포함한다. 파일들 중 적어도 하나에 포함되는 액션은 다수의 파일들 중 다른 하나로부터의 미디어 콘텐츠를 재생하는 것을 포함할 수 있다. 명령어들은 모바일 컴퓨팅 디바이스로 하여금 다수의 파일들 중 적어도 하나에 포함된 미디어 콘텐츠를 재생하게 하고, 다수의 파일들 중 적어도 하나를 삭제하게 하고, 그리고 적어도 하나의 추가 파일에 포함된 미디어 콘텐츠를 재생하게 하도록 더 구성될 수 있다.
비일시적 컴퓨터 판독가능 저장 매체는 명령어들을 포함할 수 있다. 적어도 하나의 프로세서에 의해 실행될 때, 명령어들은 모바일 컴퓨팅 디바이스로 하여금 컴패니언 디바이스로부터 적어도 제1 파일, 제2 파일 및 제3 파일을 수신하게 하고, 제1 미디어 콘텐츠를 재생하게 하고, 제2 트리거 필드와 관련된 입력을 수신하게 하고, 제2 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 제2 미디어 콘텐츠를 재생하게 하고, 제4 트리거 필드와 연관된 입력을 수신하게 하고, 제4 트리거 필드와 관련된 입력을 수신하는 것에 응답하여, 제3 미디어 콘텐츠를 재생하게 하도록 구성될 수 있다. 제1 파일은 제1 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 여기서 제1 액션은 제2 파일 또는 제3 파일과 연관되지 않으며, 및 제2 파일과 연관된 제2 트리거 필드를 포함할 수 있다. 제2 파일은 제2 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제2 액션과 연관된 제3 트리거 필드, 여기서 제2 액션은 제1 파일 또는 제3 파일과 연관되지 않으며; 및 제3 파일과 연관된 제4 트리거 필드를 포함할 수 있다. 제3 파일은 제3 미디어 콘텐츠를 포함할 수 있다.
비일시적 컴퓨터 판독가능 저장 매체는 명령어들을 포함할 수 있다. 적어도 하나의 프로세서에 의해 실행될 때, 명령어들은 컴패니언 디바이스로 하여금 모바일 컴퓨팅 디바이스에 적어도 제1 파일, 제2 파일 및 제3 파일을 전송하게 하고, 모바일 컴퓨팅 디바이스로부터 컴퓨팅 디바이스 상의 활성 파일의 표시를 수신하게 하고, 활성 파일 및 컴퓨팅 디바이스에 저장된 파일들의 표시에 기반하여 마지막 미디어 콘텐츠가 임계 시간 내에 컴퓨팅 디바이스에서 재생될 것인지 결정하게 하고; 그리고 마지막 미디어 콘텐츠가 임계 시간 내에 컴퓨팅 디바이스에서 재생될 것이라고 결정하는 것에 기반하여 적어도 제4 파일을 컴퓨팅 디바이스로 송신하게 하도록 구성될 수 있으며, 여기서 제4 파일은 제4 미디어 콘텐츠를 포함한다. 제1 파일은 제1 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 여기서 제1 액션은 제2 파일 또는 제3 파일과 연관되지 않으며, 및 제2 파일과 연관된 제2 트리거 필드를 포함할 수 있다. 제2 파일은 제2 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제2 액션과 연관된 제3 트리거 필드, 여기서 제2 액션은 제1 파일 또는 제3 파일과 연관되지 않으며, 및 제3 파일과 연관된 제4 트리거 필드를 포함할 수 있다. 제3 파일은 제3 미디어 콘텐츠를 포함할 수 있다.
모바일 컴퓨팅 디바이스는 적어도 하나의 프로세서 및 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 적어도 하나의 프로세서에 의해 실행될 때, 명령어들은 모바일 컴퓨팅 디바이스로 하여금 컴패니언 디바이스로부터 적어도 제1 파일, 제2 파일 및 제3 파일을 수신하게 하고, 제1 미디어 콘텐츠를 재생하게 하고, 제2 트리거 필드와 연관된 입력을 수신하게 하고, 제2 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 제2 미디어 콘텐츠를 재생하게 하고, 제4 트리거 필드와 연관된 입력을 수신하게 하고, 제4 트리거 필드와 관련된 입력을 수신하는 것에 응답하여, 제3 미디어 콘텐츠를 재생하게 하도록 구성될 수 있다. 제1 파일은 제1 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 여기서 제1 액션은 제2 파일 또는 제3 파일과 연관되지 않으며, 및 제2 파일과 관련된 제2 트리거 필드를 포함할 수 있다. 제2 파일은 제2 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제2 액션과 연관된 제3 트리거 필드, 여기서 제2 액션은 제1 파일 또는 제3 파일과 연관되지 않으며, 및 제3 파일과 연관된 제4 트리거 필드를 포함할 수 있다. 제3 파일은 제3 미디어 콘텐츠를 포함할 수 있다.
하나 이상의 구현예들에 대한 세부 사항들은 첨부된 도면들과 아래 설명에 설명되어 있다. 다른 특징들은 설명, 도면들 및 청구범위로부터 명백할 것이다.
도 1은 컴퓨팅 디바이스와 컴패니언 디바이스를 나타내는 네트워크 다이어그램이다.
도 2a는 컴퓨팅 디바이스를 나타내는 블록도이다.
도 2b는 컴패니언 디바이스를 나타내는 블록도이다.
도 3은 파일들에 대해 수행되는 프로세스들을 나타내는 블록도이다.
도 4는 컴퓨팅 디바이스가 컴패니언 디바이스와 통신하지 않을 때 컴퓨팅 디바이스에 의해 수행되는 액션들을 나타내는 타이밍도이다.
도 5는 컴패니언 디바이스가 저전력 상태에서 웨이크 업하는 데 시간이 걸릴 때 컴퓨팅 디바이스와 컴패니언 디바이스에 의해 수행되는 액션들을 나타내는 타이밍도이다.
도 6은 함께 체인화된 파일들을 나타내는 블록도이다.
도 7은 컴퓨팅 디바이스에 의해 수행되는 방법을 나타내는 흐름도이다.
도 8은 컴퓨팅 디바이스에 의해 수행되는 방법을 나타내는 흐름도이다.
도 9는 컴패니언 디바이스에 의해 수행되는 방법을 나타내는 흐름도이다.
도 10은 여기에 기술된 기술들을 구현하는 데 사용될 수 있는 컴퓨터 디바이스및 모바일 컴퓨터 디바이스의 예를 보여준다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
스마트워치들을 포함하는 웨어러블 컴퓨팅 디바이스들과 같은 일부 컴퓨팅 디바이스들은 배터리 전원 및/또는 메모리와 같은 제한된 컴퓨팅 리소스들을 가질 수 있다. 제한된 컴퓨팅 리소스들은 컴퓨팅 디바이스들이 재생할 준비가 된 미디어 콘텐츠를 제한할 수 있다.
개인 영역 네트워크(PAN) 또는 무선 로컬 영역 네트워크(WLAN)를 통해 컴퓨팅 디바이스와 통신하는 스마트폰 또는 인터넷을 통해 컴퓨팅 디바이스와 통신하는 서버와 같은 컴패니언 디바이스는 컴퓨팅 디바이스에 파일들을 제공 및/또는 송신할 수 있다. 파일들은 컴퓨팅 디바이스가 재생할 수 있는 오디오 및/또는 비디오 콘텐츠와 같은 미디어 콘텐츠를 포함할 수 있다. 파일들은 또한 파일들의 식별자들, 컴퓨팅 디바이스가 미디어 콘텐츠를 재생할 스케쥴들 및/또는 시간들, 및/또는 트리거들과 같은 메타데이터를 포함할 수 있다. 트리거들은 사용자 입력과 같은 입력을 포함할 수 있고 컴퓨팅 디바이스의 디스플레이 끄기, 미디어 콘텐츠 스크롤링 및/또는 다른 파일에 포함된 미디어 콘텐츠 재생과 같은 액션들과 연관될 수 있다.
컴퓨팅 디바이스는 트리거들에 응답하여 파일들을 미디어 콘텐츠가 재생될 다른 파일들에 연결하는 체인 및/또는 그래프를 생성 및/또는 컴패니언 디바이스로부터 수신할 수 있다. 컴퓨팅 디바이스가 체인의 끝에 가까워지고 및/또는 임계 시간 내에 재생할 미디어 콘텐츠가 더 이상 없어 추가 파일이 필요한 경우, 컴패니언 디바이스는 추가 파일들을 컴퓨팅 디바이스로 보낼 수 있다. 컴퓨팅 디바이스는 재생할 가능성이 없는(또는 컴퓨팅 디바이스에서 이전에 가져온 파일들의 경로에 따라 전혀 재생되지 않은) 파일들을 삭제하고 새 파일들을 저장할 수 있다. 컴퓨팅 디바이스는 컴패니언 디바이스로부터 추가 파일들을 기다리는 동안 컴퓨팅 디바이스에 이미 저장된 콘텐츠를 재생하여 사용자에게 대기 시간을 숨길 수 있다.
도 1은 컴퓨팅 디바이스(102) 및 컴패니언 디바이스(104)를 나타내는 네트워크 다이어그램이다. 일부 예들에서, 컴퓨팅 디바이스(102)는 모바일 컴퓨팅 디바이스 및/또는 스마트워치 또는 스마트글래스와 같은 웨어러블 컴퓨팅 디바이스를 포함할 수 있다. 스마트워치의 예에는 케이스에서 연장되는 밴드 또는 스트랩이 포함될 수 있다. 케이스는 디스플레이를 지지할 수 있고, 케이스와 디스플레이는 프로세서와 메모리를 담을 수 있다. 한 쌍의 스마트 글래스의 예는 림(rim) 또는 프레임에 의해 지지되는 한 쌍의 렌즈, 림 또는 프레임에 회전가능하게 및/또는 유연하게 부착된 템플(temple), 및 림, 프레임 및/또는 템플에 의해 지지되는 프로세서 및 메모리를 포함할 수 있다. 컴퓨팅 디바이스(102)는 스피커 및/또는 디스플레이와 같은 미디어 콘텐츠를 재생하기 위한 적어도 하나의 출력 노드 및/또는 출력 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(102)는 스케쥴링된 시간 및/또는 미리 결정된 시간에 미디어 콘텐츠를 재생하기 위한 스케쥴을 확인할 수 있는 클록을 포함할 수 있다. 컴퓨팅 디바이스(102)는 파일에 저장된 트리거들과 비교될 수 있는 입력을 수신하기 위한 터치스크린, 하나 이상의 버튼 및/또는 센서와 같은 적어도 하나의 입력 노드를 포함할 수 있다.
컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)로부터 수신된 파일들에 저장된 트리거들에 응답하여, 재생할 미디어 콘텐츠 및/또는 수행할 액션들을 결정할 수 있다. 타겟 디바이스로 간주될 수 있는 컴퓨팅 디바이스(102)는 파일들에 포함된 메타데이터에 기반하여, 트리거들에 응답하여, 재생할 미디어 콘텐츠의 체인들 및/또는 수행할 액션들을 생성 및/또는 저장할 수 있다.
컴퓨팅 디바이스(102)는 네트워크(106)를 통해 컴패니언 디바이스(104)와 통신할 수 있다. 네트워크(106)는 전기전자 공학회(IEEE) 802.15("블루투스") 네트워크와 같은 개인 영역 네트워크(PAN), IEEE 802.11(“무선 피델리티(Fidelity)”)과 같은 무선 로컬 영역 네트워크(WLAN), 인터넷 또는 컴퓨팅 디바이스(102)를 포함할 수 있고, 컴패니언 디바이스(104)는 비제한적인 예로서, 피어-투-피어 프로토콜을 통해 서로 직접 통신할 수 있다.
컴패니언 디바이스(104)는 파일들을 저장하고 컴퓨팅 디바이스(102)에 송신할 수 있다. 컴패니언 디바이스(104)는 예를 들어 스마트폰과 같은 모바일 컴퓨팅 디바이스, 또는 비제한적인 예로서 데스크탑 컴퓨터 또는 서버와 같은 임의의 컴퓨팅 디바이스를 포함할 수 있다.
도 2a는 컴퓨팅 디바이스(102)를 도시하는 블록도이다. 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)(도 2a에 도시되지 않음)로부터 파일들을 수신하고, 파일들에 저장된 메타데이터에 기반하여 수행할 액션들을 결정하고, 파일들에 포함된 미디어 콘텐츠를 재생하는 것과 같은 액션들을 수행할 수 있다.
컴퓨팅 디바이스는 파일 저장기(202)를 포함할 수 있다. 파일 저장기(202)는 컴패니언 디바이스(104)로부터 수신한 파일들을 메모리(228)에 저장할 수 있다. 컴퓨팅 디바이스(102)에 의해 수신되고 파일 저장기(202)에 의해 저장된 파일들은 비디오 콘텐츠 및/또는 오디오 콘텐츠와 같은 미디어 콘텐츠를 포함할 수 있다. 파일들은 메타데이터도 포함할 수 있다. 메타데이터는 파일의 식별자 및 파일에 포함된 미디어 콘텐츠가 재생되어야 하는 시간을 나타내는 스케줄을 포함할 수 있다. 파일 및/또는 다른 파일의 메타데이터가 미디어 콘텐츠가 트리거 및/또는 특정 입력에 응답하여 재생되어야 함을 나타내는 일부 예에서, 스케줄은 공백 및/또는 널(null)일 수 있다. 메타데이터에는 하나 이상의 트리거들과 연관된 액션들 및 태그들이 포함될 수도 있다. 트리거는 미리 정의된 입력과 같은 이벤트를 나타낼 수 있으며, 이는 컴퓨팅 디바이스(102)로 하여금 연관된 액션(예: 미디어 콘텐츠 재생)을 수행하게 하고, 연관된 태그는 재생될 미디어 콘텐츠를 포함하는 파일을 나타낼 수 있다. 컴퓨팅 디바이스(102)에 의해 수신된 파일(302) 및/또는 파일 저장기(202)의 예가 도 3에 도시되어 있다.
컴퓨팅 디바이스(102)는 포인터 테이블 생성기(204)를 포함할 수 있다. 포인터 테이블 생성기(204)는 파일들의 메타데이터에 포함된 파일들의 식별자들을 파일들이 저장된 메모리의 주소에 매핑할 수 있다. 주소에 대한 식별자들의 매핑은 파일들 및/또는 파일들에 포함된 미디어 콘텐츠의 빠른 검색을 용이하게 할 수 있다. 포인터 테이블(232)의 예가 도 3에 도시되어 있다.
컴퓨팅 디바이스(102)는 스케줄 생성기(206)를 포함할 수 있다. 스케줄 생성기(206)는 재생할 파일들 및/또는 미디어 콘텐츠의 스케줄을 생성할 수 있다. 스케줄 생성기(206)는 파일들의 메타데이터에 포함된 날짜들 및/또는 시간들 및 파일들의 메타데이터에 포함된 식별자들을 포함할 수 있는 스케줄들에 기반하여 스케줄을 생성할 수 있다. 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)와의 통신이 없을 때 생성된 스케쥴에 따라 미디어 콘텐츠를 재생할 수 있다. 스케쥴 생성기(206)에 의해 생성된 스케쥴의 예는 도 3에 도시되어 있다.
컴퓨팅 디바이스(102)는 트리거 매퍼(208)를 포함할 수 있다. 트리거 매퍼(208)는 트리거들을 파일들에 매핑할 수 있다. 파일들은 식별자들에 의해 식별될 수 있다. 트리거 매퍼(208)는 입력을 트리거들에 매핑할 수 있고 및/또는 입력이 특정 트리거 조건을 만족하는지 결정할 수 있다. 일부 예들에서, 트리거들은 컴퓨팅 디바이스(102)에 포함된 터치스크린 상의 제스처들, 컴퓨팅 디바이스(102)에 포함된 버튼에 대한 입력, 특정 시간 발생, 미리 결정된 시간 경과, 컴퓨팅 디바이스(102)에 포함된 카메라에 의해 캡처되는 이미지, 컴퓨팅 디바이스(102)에 포함된 마이크로폰에 의해 수신되는 사운드 및/또는 단어(들), 컴퓨팅 디바이스(102)가 미리 결정된 위치에 도착 및/또는 존재하는 것, 및/또는 온도 임계값을 충족하는 것일 수 있다. 트리거 매퍼(208)는 파일들의 메타데이터에 포함된 트리거들을 파일들의 식별자들 및/또는 파일들에 포함된 식별자들에 매핑하는, 예를 들어 도 3에 도시된 클립 테이블(236)을 확인함으로써, 트리거들을 파일들에 매핑할 수 있다. 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)와의 통신이 없을 때 파일들에 대한 트리거들의 맵들에 기반하여 미디어 콘텐츠를 재생할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(102)는 트리거 매퍼(208)를 포함하지 않으며, 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)로부터 클립 테이블(236)을 수신한다.
컴퓨팅 디바이스(102)는 주소 검색기(210)를 포함할 수 있다. 주소 검색기(210)는 메모리에서 파일들 및/또는 미디어 콘텐츠의 주소를 검색할 수 있다. 주소 검색기(210)는 도 3에 도시된 포인터 테이블(232)과 같은 포인터 테이블을 확인함으로써 파일들 및/또는 미디어 콘텐츠와 연관된 식별자들에 기반하여 파일들 및/또는 미디어 콘텐츠의 주소를 검색할 수 있다.
컴퓨팅 디바이스(102)는 체인 생성기(212)를 포함할 수 있다. 체인 생성기(212)는 트리거들을 파일들에 맵핑하고/하거나 트리거들에 응답하여 수행될 액션들 및/또는 트리거들에 응답하여 재생될 미디어 콘텐츠와 트리거들을 연관시키는 체인 또는 그래프를 생성할 수 있다. 체인 생성기(212)는 파일들의 메타데이터에 포함된 트리거들, 액션들 및 태그들 사이의 연관들에 기반하여 체인 또는 그래프를 생성할 수 있다. 체인 또는 그래프의 예가 도 6에 도시되어 있다. 일부 예들에서, 체인 생성기(212)는 도 3에 도시된 클립 테이블(236)과 같은 클립 테이블에 기반하여 체인 또는 그래프를 생성할 수 있다.
컴퓨팅 디바이스(102)는 입력 프로세서(214)를 포함할 수 있다. 입력 프로세서(214)는 비제한적인 예로서, 컴퓨팅 디바이스(102)에 포함된 터치스크린으로의 탭 및/또는 스와이프와 같은 입력, 컴퓨팅 디바이스(102), 조이스틱, 터치패드 또는 관성 측정 유닛(IMU)들, 카메라, 마이크로폰과 같은 유선 또는 무선 인터페이스들을 통해 컴퓨팅 디바이스(102)에 연결될 수 있는 로컬 또는 원격 디바이스들에 포함된 버튼들로의 입력들 및/또는 온도 센서, 글로벌 포지셔닝 시스템(GPS) 센서(들) 및/또는 가속도와 같은 센서들로의 입력들을 프로세싱할 수 있다. 입력 프로세서(214)는 트리거 매퍼(208)에 입력을 제공할 수 있고/있거나 입력을 제스처로 해석하거나 그렇지 않으면 입력을 분류할 수 있고 제스처 및/또는 분류된 입력을 트리거 매퍼(208)에 제공할 수 있다.
컴퓨팅 디바이스(102)는 클록(216)을 포함할 수 있다. 클록(216)은 날짜 및/또는 시간을 유지할 수 있다. 트리거 매퍼(208)는 트리거 조건이 충족되었는지를 결정하기 위해 클록(216)으로부터의 입력 및/또는 클록에 의해 유지되는 시간을 프로세싱할 수 있다.
컴퓨팅 디바이스(102)는 파일 검색기(218)를 포함할 수 있다. 파일 검색기(218)는 파일들 및/또는 미디어 콘텐츠를 검색할 수 있다. 파일 검색기(218)는 트리거 조건이 충족되었고 파일 및/또는 미디어 콘텐츠가 트리거 조건이 충족된 트리거와 연관되어 있다고 결정하는 트리거 매퍼(208)에 기반하여 파일들 및/또는 미디어 콘텐츠를 검색할 수 있다.
컴퓨팅 디바이스(102)는 미디어 프로세서(220)를 포함할 수 있다. 미디어 프로세서(220)는 비디오 콘텐츠 및/또는 오디오 콘텐츠와 같은 미디어 콘텐츠를 프로세싱 및/또는 재생할 수 있다. 미디어 프로세서(220)는 컴퓨팅 디바이스(102)에 포함된 디스플레이를 통해 비디오 콘텐츠를 디스플레이함으로써 비디오 콘텐츠를 프로세싱 및/또는 재생할 수 있다. 미디어 프로세서(220)는 컴퓨팅 디바이스(102)에 포함된 스피커를 통해 오디오 콘텐츠를 출력함으로써 오디오 콘텐츠를 프로세싱 및/또는 재생할 수 있다.
일부 예들에서, 미디어 프로세서(220)는 비제한적인 예로서, 2개의 상이한 파일들의 미디어 콘텐츠를 결합하는 것, 파일의 미디어 콘텐츠를 컴퓨팅 디바이스(102)에서 로컬로 렌더링되는 콘텐츠와 결합하는 것, 파일의 미디어 콘텐츠를 컴퓨팅 디바이스(102)가 컴패니언 디바이스(104)로부터 수신하는 스트리밍 미디어 콘텐츠와 결합하는 것, 또는 컴퓨팅 디바이스(102)에서 로컬로 렌더링되는 미디어 콘텐츠를 컴퓨팅 디바이스(102)가 컴패니언 디바이스(104)로부터 수신하는 스트리밍 미디어 콘텐츠와 결합하는 것과 같이, 다수의 미디어 스트림들을 결합할 수 있다.
일부 예들에서, 입력 프로세서(214) 및 미디어 프로세서(220)는 스크롤링을 나타내는 파일에 포함된 트리거들 및 동일한 파일을 나타내는 연관된 태그들과 연관된 액션들에 기반하여, 입력이 만족하는 트리거 조건에 따라 미디어 클립을 앞으로 또는 뒤로 스크롤할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 미디어 콘텐츠를 하나 이상의 프레임 뒤로 전진시킴으로써 디스플레이의 상단 부분과의 접촉 및/또는 디스플레이 상의 상향 스와이프에 응답할 수 있고 및/또는 미디어 콘텐츠를 하나 이상의 프레임 앞으로 전진시킴으로써 디스플레이의 하단 부분과의 접촉 및/또는 디스플레이 상의 하향 스와이프에 응답할 수 있다.
일부 예들에서, 연관된 파일들의 트리거 조건들에는 디스플레이 상단 부분과의 접촉 및/또는 디스플레이 상의 상향 스와이프가 포함될 수 있고, 액션들에는 파일들의 미디어 콘텐츠를 체인에서 더 앞으로 또는 뒤로 제시하는 것이 포함될 수 있으므로, 컴퓨팅 디바이스는 연속적인 문서 내에서 더 앞으로 또는 뒤로 이미지들을 제시함으로써 사용자 태핑 또는 스와이핑에 응답할 수 있다.
컴퓨팅 디바이스(102)는 태그 프로세서(222)를 포함할 수 있다. 태그 프로세서(222)는 메타데이터에 포함된 태그들을 파일들에 매핑할 수 있다. 태그 프로세서(222)는 메타데이터에 포함된 태그들을 다른 파일들의 메타데이터에 포함된 식별자들에 매핑 및/또는 매칭시킴으로써 메타데이터에 포함된 태그들을 파일들에 매핑할 수 있다. 태그 프로세서(222)는 컴퓨팅 디바이스(102)에서 현재 재생 중인 파일들 및/또는 미디어 콘텐츠의 태그들 및/또는 식별자들을 컴패니언 디바이스(104)로 송신할 수 있으며, 컴패니언 디바이스(104)에게 현재 컴퓨팅 디바이스(102)에서 어떤 파일 및/또는 미디어 콘텐츠가 재생되고 있는지 알려준다.
컴퓨팅 디바이스(102)는 전환(transitional) 미디어 플레이어(224)를 포함할 수 있다. 전환 미디어 플레이어(224)는 미디어 프로세서(220)가 체인에서 마지막 미디어 콘텐츠를 재생 및/또는 프로세싱한 후 및 컴퓨팅 디바이스(102)가 컴패니언 디바이스로부터 추가 파일들을 수신하기 전에, 도 5와 관련하여 도시되고 설명된 프리렌더링된 전환 콘텐츠(518)와 같은 프리렌더링된 전환 콘텐츠를 재생할 수 있다. 전환 미디어 콘텐츠는 클립 테이블(236) 및/또는 체인(체인의 예는 도 6에 도시됨)에 저장 및/또는 참조되는 파일들 및/또는 미디어 콘텐츠와 독립적이고 및/또는 파일들에 의해 참조되지 않는 미디어 콘텐츠일 수 있다. 컴패니언 디바이스로부터 추가 파일들을 기다리는 동안 프리렌더링된 전환 콘텐츠를 재생하면 마지막 미디어 콘텐츠에서 추가 파일들의 재생으로의 전환이 사용자에게 매끄럽게 나타날 수 있다.
컴퓨팅 디바이스(102)는 적어도 하나의 프로세서(226)를 포함할 수 있다. 적어도 하나의 프로세서(226)는 적어도 하나의 메모리 디바이스(228)에 저장된 명령어들과 같은 명령어들을 실행하여 컴퓨팅 디바이스(102)로 하여금 본 명세서에 기술된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하게 할 수 있다.
컴퓨팅 디바이스(102)는 적어도 하나의 메모리 디바이스(228)를 포함할 수 있다. 적어도 하나의 메모리 디바이스(228)는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 적어도 하나의 메모리 디바이스(228)는 프로세서(226)와 같은 적어도 하나의 프로세서에 의해 실행될 때 컴퓨팅 디바이스(102)로 하여금 여기에 설명된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하게 하도록 구성되는 데이터 및 명령어들을 저장할 수 있다. 따라서, 본 기술된 임의의 구현예들에서(특정 구현예와 관련하여 명시적으로 언급되지 않더라도), 컴퓨팅 디바이스(102)와 연관되거나 이에 포함된 소프트웨어(예: 프로세싱 모듈들, 저장된 명령어들) 및/또는 하드웨어(예: 프로세서, 메모리 디바이스들 등)는 또는 단독으로 또는 컴퓨팅 디바이스(102)와 조합하여 본 명세서에 기술된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하도록 구성될 수 있다.
메모리(228)는 파일 저장소(230)를 포함할 수 있다. 파일 저장소(230)는 컴퓨팅 디바이스(102)에 의해 수신되고 파일 저장기(202)에 의해 저장된 파일들을 포함할 수 있다. 파일 저장소(230)는 또한 포인터 테이블 생성기(204)에 의해 생성된 포인터 테이블(232), 스케줄 생성기(206)에 의해 생성된 스케줄(234) 및/또는 컴패니언 디바이스(104)로부터 컴퓨팅 디바이스(102)에 의해 수신된 클립 테이블(236)을 포함할 수 있다.
컴퓨팅 디바이스(102)는 적어도 하나의 입력/출력 노드(238)를 포함할 수 있다. 적어도 하나의 입력/출력 노드(238)는 예컨대 컴퓨팅 디바이스(102) 및 컴패니언 디바이스(104)로부터 데이터를 수신 및/또는 송신할 수 있고 및/또는 입력을 수신하고 사용자로부터 출력을 제공할 수 있다. 입력 및 출력 기능들은 단일 노드로 결합되거나 별도의 입력 및 출력 노드들로 분할될 수 있다.
도 2b는 컴패니언 디바이스(104)를 나타내는 블록도이다. 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)(도 2b에 도시되지 않음)에 파일들을 송신하고, 어떤 콘텐츠 및/또는 어떤 파일이 컴퓨팅 디바이스(102)에서 활성 및/또는 재생 중인지 모니터링하고, 컴퓨팅 디바이스(102)가 재생할 콘텐츠가 부족할 때 컴퓨팅 디바이스(102)에 추가 파일들을 송신할 수 있다.
컴패니언 디바이스(104)는 클립 테이블 생성기(252)를 포함할 수 있다. 클립 테이블 생성기(252)는 트리거들을 파일들에 맵핑할 수 있다. 파일들은 식별자들에 의해 식별될 수 있다. 클립 테이블 생성기(252)는 입력을 트리거들에 매핑하여 클립 테이블(236)을 생성할 수 있다. 일부 예들에서, 트리거들은 컴퓨팅 디바이스(102)에 포함된 터치스크린 상의 제스처, 컴퓨팅 디바이스(102)에 포함된 버튼에 대한 입력, 특정 시간 발생, 미리 결정된 시간 경과, 컴퓨팅 디바이스(102)에 포함된 카메라에 의해 캡처되는 이미지, 컴퓨팅 디바이스(102)에 포함된 마이크로폰에 의해 수신되는 사운드 및/또는 단어(들), 컴퓨팅 디바이스(102)가 미리 결정된 위치에 도착 및/또는 존재하는 것, 및/또는 온도 임계값을 충족하는 것일 수 있다. 컴패니언 디바이스(104)는 생성된 클립 테이블(236)을 컴퓨팅 디바이스(102)로 송신할 수 있다.
컴패니언 디바이스(104)는 프리렌더러(prerenderer)(254)를 포함할 수 있다. 프리렌더러(254)는 비디오 콘텐츠 및/또는 오디오 콘텐츠와 같은 미디어 콘텐츠를 컴퓨팅 디바이스(102)로 전송하고 나중에 컴퓨팅 디바이스(102)에서 재생하기 위해 프리렌더링할 수 있으며, 프리렌더링된 미디어 콘텐츠를 컴패니언 디바이스(104)의 메모리(262)에 저장할 수 있다. 프리렌더러(254)에 의한 프리렌더링은 미디어 콘텐츠를 컴퓨팅 디바이스(102)에 의해 재생 및/또는 출력될 준비가 된 포맷으로 변환하고, 컴퓨팅 디바이스(102)의 프로세싱 로드를 감소시킬 수 있다.
컴패니언 디바이스(104)는 활성 파일 모니터(256)를 포함할 수 있다. 활성 파일 모니터(256)는 컴퓨팅 디바이스(102)에서 활성 및/또는 재생 중인 파일 및/또는 미디어 콘텐츠를 모니터링할 수 있다. 활성 파일 모니터(256)는 컴퓨팅 디바이스(102)의 태그 프로세서(222)에 의해 송신되고 컴패니언 디바이스(104)에 의해 수신된 가장 최근의 태그 및/또는 식별자를 저장할 수 있다. 태그 프로세서(222)에 의해 전송되고 활성 파일 모니터(256)에 의해 저장되는 태그 및/또는 식별자는 컴퓨팅 디바이스(102)에서 현재 재생되고 및/또는 출력되고 있는 파일 및/또는 미디어 콘텐츠를 나타낼 수 있다.
컴패니언 디바이스(104)는 임계값 모니터(258)를 포함할 수 있다. 임계값 모니터(258)는 컴퓨팅 디바이스(102) 상에서 재생되는 활성 파일 및/또는 미디어 콘텐츠 및 클립 테이블(236) 및/또는 체인(체인의 예는 도 6에 도시됨)에 기반하여 컴퓨팅 디바이스(102)가 미디어 콘텐츠가 소진될 때까지 미디어 콘텐츠를 재생해야 하는 시간을 결정할 수 있다. 임계값 모니터(258)는 미디어 콘텐츠가 소진될 때까지의 시간을 임계 시간과 비교할 수 있다. 임계값 모니터(258)가 미디어 콘텐츠가 소진될 때까지의 시간이 임계 시간 이하인 것으로 결정하는 경우, 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)에 추가 파일들을 송신할 수 있다.
컴패니언 디바이스(104)는 적어도 하나의 프로세서(260)를 포함할 수 있다. 적어도 하나의 프로세서(260)는 적어도 하나의 메모리 디바이스(262)에 저장된 명령어들과 같은 명령어들을 실행하여 컴패니언 디바이스(104)로 하여금 본 명세서에 기술된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하게 할 수 있다.
컴패니언 디바이스(104)는 적어도 하나의 메모리 디바이스(262)를 포함할 수 있다. 적어도 하나의 메모리 디바이스(262)는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 적어도 하나의 메모리 디바이스(262)는 프로세서(260)와 같은 적어도 하나의 프로세서에 의해 실행될 때 컴패니언 디바이스(104)로 하여금 여기에 설명된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하게 하도록 구성되는 데이터 및 명령어들을 저장할 수 있다. 따라서, 본 기술된 임의의 구현예들에서(특정 구현예와 관련하여 명시적으로 언급되지 않더라도), 컴패니언 디바이스(104)와 연관되거나 이에 포함된 소프트웨어(예: 프로세싱 모듈들, 저장된 명령어들) 및/또는 하드웨어(예: 프로세서, 메모리 디바이스들 등)는 또는 단독으로 또는 컴패니언 디바이스(104)와 조합하여 본 명세서에 기술된 방법들, 기능들 및/또는 기법들의 임의의 조합을 수행하도록 구성될 수 있다.
컴패니언 디바이스(104)는 적어도 하나의 입력/출력 노드(264)를 포함할 수 있다. 적어도 하나의 입력/출력 노드(264)는 예컨대 컴퓨팅 디바이스(102) 및 컴패니언 디바이스(104)로부터 데이터를 수신 및/또는 송신할 수 있고 및/또는 입력을 수신하고 사용자로부터 출력을 제공할 수 있다. 입력 및 출력 기능들은 단일 노드로 결합되거나 별도의 입력 및 출력 노드들로 분할될 수 있다.
도 3은 파일들에 대해 수행되는 프로세스를 도시하는 블록도이다. 예시 파일(302)이 도 3에 도시되어 있다. 파일(302)은 또한 컨테이너로 간주될 수 있다. 파일(302) 및/또는 컨테이너는 미디어 콘텐츠(304) 부분 및 메타데이터(310) 부분과 같은 미리 결정된 포맷의 데이터를 포함할 수 있다. 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)로부터 다수의 파일들(302)을 수신할 수 있다.
파일(302)은 미디어 콘텐츠(304)를 포함할 수 있다. 미디어 콘텐츠(304)는 컴퓨팅 디바이스(102)에 의해 연속적으로 재생 및/또는 출력될 수 있는 콘텐츠를 포함할 수 있다. 미디어 콘텐츠(304)는 비디오 콘텐츠(306) 및/또는 오디오 콘텐츠(308)를 포함할 수 있다. 일부 예들에서, 미디어 콘텐츠(304)는 비디오 콘텐츠(306)만을 포함하고, 컴퓨팅 디바이스(102)가 파일(302)에 포함된 미디어 콘텐츠(304)를 재생할 때, 컴퓨팅 디바이스(102)는 대응하는 오디오 콘텐츠 없이 컴퓨팅 디바이스(102)에 포함된 디스플레이를 통해 비디오 콘텐츠(306)를 재생 및/또는 출력할 것이다. 일부 예들에서, 미디어 콘텐츠(304)는 오디오 콘텐츠(308)만을 포함하고, 컴퓨팅 디바이스(102)가 파일(302)에 포함된 미디어 콘텐츠(304)를 재생할 때, 컴퓨팅 디바이스(102)는 대응하는 비디오 콘텐츠 없이 컴퓨팅 디바이스(102)에 포함된 스피커를 통해 오디오 콘텐츠(308)를 재생 및/또는 출력할 것이다. 일부 예들에서, 미디어 콘텐츠(304)는 비디오 콘텐츠(306)와 오디오 콘텐츠(308)를 모두 포함하고, 컴퓨팅 디바이스(102)가 파일(302)에 포함된 미디어 콘텐츠(304)를 재생할 때, 컴퓨팅 디바이스(102)는 디스플레이를 통한 비디오 콘텐츠(306) 및 스피커를 통한 오디오 콘텐츠(308) 모두를 재생 및/또는 출력하고, 비디오 콘텐츠(306) 및 오디오 콘텐츠(308)는 서로 동기화될 것이다.
파일(302)은 메타데이터(310)를 포함할 수 있다. 메타데이터(310)는 파일(302)을 식별하기 위한 정보, 파일(302)에 포함된 미디어 콘텐츠(304)가 재생되어야 하는 시점, 및/ 또는 파일(302)에 포함된 미디어 콘텐츠(304)가 재생되는 동안 및/또는 그 후에, 수행되어야 하는 다른 액션들 및 그러한 액션들이 수행되어야 하는 시점과 같은 파일(302)에 대한 정보를 포함할 수 있다.
메타데이터(310)는 식별자(ID)(312)를 포함할 수 있다. 또한 식별자 필드로도 간주될 수 있는 식별자(312)는 파일(302)에 대한 식별자 역할을 할 수 있다. 컴퓨팅 디바이스(102)는 파일(302)의 메타데이터(310)에 포함된 식별자(312)에 기반하여 파일(302) 및/또는 파일(302)에 포함된 미디어 콘텐츠(304) 및/또는 메타데이터를 검색 및/또는 프로세싱할 수 있다.
일부 예들에서, 메타데이터(310)는 스케줄(314)을 포함할 수 있다. 또한 스케줄 필드로 간주될 수 있는 스케줄(314)은 컴퓨팅 디바이스(102)가 파일(302)에 포함된 미디어 콘텐츠(304)를 재생해야 하는 시간 및/또는 날짜를 나타낼 수 있다. 일부 예들에서, 컴퓨팅 디바이스(102)는 파일들(302)의 메타데이터(310)에 포함된 스케줄들(314)을 사용하여 특정 파일들(302)의 미디어 콘텐츠(304)가 재생되어야 하는 시점에 대한 스케줄들(324)을 형성할 수 있다.
일부 파일들(302)의 미디어 콘텐츠(304)는 특정 시간들에서 재생되도록 의도된 것이 아니라 특정 트리거들 및/또는 조건들에 응답하여 재생되도록 의도된 것이다. 특정 시간들에서 재생되도록 의도되지 않은 미디어 콘텐츠(304)의 경우, 스케줄(314)은 공백이거나 및/또는 널 값을 포함할 수 있다.
일부 예들에서, 메타데이터(310)는 0개 이상, 1개 이상 또는 복수와 같은 임의의 수의 트리거들(316, 316A) 및 연관된 액션들(318, 318A) 및 태그들(320, 320A)을 포함할 수 있다. 또한 트리거 필드로 간주될 수 있는 트리거(316)는 연관된 액션(318)을 야기할 트리거 조건을 식별할 수 있다. 트리거 조건들에는 비제한적인 예로서, 루프 클릭, 스와이프, 왼쪽으로 스와이프 또는 오른쪽으로 스와이프를 포함하는 제스처와 같은 터치 스크린에 대한 사용자 입력, 컴퓨팅 디바이스(102)의 모션을 검출하는 가속도계 또는 머리 끄덕임을 캡처하는 카메라와 같은 센서에 의해 캡처된 사용자 움직임, 명령어와 같이 마이크로폰에 의해 검출된 사용자 입력, 자전거 벨 또는 아기 울음소리를 포함하는 미리 정해진 사운드와 같이 마이크로폰에 의해 캡처된 입력, 던지는 모션 또는 떨어지는 움직임과 같이 컴퓨팅 디바이스(102)에 포함된 가속도계에 의해 검출된 컴퓨팅 디바이스(102)의 움직임, 또는 컴퓨팅 디바이스(102)에 포함된 온도계에 의해 검출된 임계 온도가 충족되는지를 포함할 수 있다.
메타데이터(310)는 각 트리거(316)와 연관된 액션 필드로 간주될 수 있는 액션(318)을 포함할 수 있다. 액션(318)은 컴퓨팅 디바이스(102)가 충족되는 연관된 트리거(316)의 조건에 응답하여 및/또는 그에 기반하여 취할 및/또는 수행할 액션일 수 있다. 액션(318)은 비제한적인 예로서, 미디어 콘텐츠를 앞으로 또는 뒤로 재생할 것인지의 표시를 포함하여 또 다른 파일(302)의 미디어 콘텐츠(304)를 재생하는 것; 컴퓨팅 디바이스(102)에 포함된 디스플레이를 끄거나(또한 사용자 입력에 응답하여 디스플레이를 다시 켜는 것을 포함할 수 있음) 디스플레이를 켜는 것; 컴패니언 디바이스(104)에 데이터(태그(320)에 포함된 데이터 등)를 전송하는 것; 미디어 콘텐츠(304)의 재생을 일시 중지하는 것; 미디어 콘텐츠(304)의 재생을 다시 시작하는 것; 미디어 콘텐츠(304)를 지정된 수(예: 하나 이상)의 프레임 앞으로 이동시키는 것; 미디어 콘텐츠(304)를 지정된 수(예: 하나 이상)의 프레임 뒤로 이동시키는 것; 컴퓨팅 디바이스(102)에 포함된 스피커의 볼륨을 증가시키는 것; 스피커 볼륨을 감소시키는 것; 스피커 볼륨을 특정 값으로 설정하는 것; 컴퓨팅 디바이스에 포함된 카메라에 의해 캡처된 사진을 찍고, 캡처하고, 및/또는 저장하는 것; 컴퓨팅 디바이스(102)에 의해 캡처된 녹화 및/또는 스트리밍 비디오를 시작하는 것; 컴퓨팅 디바이스(102)에 의해 캡처된 녹화 및/또는 스트리밍 비디오를 중지하는 것; 캡처된 오디오/또는 비디오 데이터의 미리 정의된 시간(초)과 같은 미리 정의된 시간 간격을 저장 및/또는 기록하는 것을 포함할 수 있다.
메타데이터(310)는 각 트리거(316) 및/또는 액션(318)과 연관된 태그(320)를 포함할 수 있다. 액션(318)이 다른 파일(302)의 미디어 콘텐츠(304)를 재생하는 것을 포함할 때, 태그 필드로 간주될 수 있는 태그(320)는 (재생할 미디어 콘텐츠(304)를 포함하는) 다른 파일(302)의 식별자(312)를 포함 및/또는 식별할 수 있다. 액션(318)이 컴패니언 디바이스(104)에 데이터를 전송하는 것을 포함할 때, 태그(320)는 컴패니언 디바이스(104)가 컴퓨팅 디바이스(102)에서 현재 재생 중인 파일(302) 및/또는 미디어 콘텐츠(304)에 관한 정보를 알고 및/또는 가질 수 있도록 현재 재생 중인 파일(302)의 식별자(312)와 같은, 컴패니언 디바이스(104)로 전송할 데이터를 포함할 수 있다. 일부 예들에서, 예를 들어 액션(318)이 다른 파일(302)의 미디어 콘텐츠(304)를 재생하거나 컴패니언 디바이스(104)에 데이터를 전송하는 것을 포함하지 않는 경우, 태그(320)는 공백이거나 및/또는 널 값을 포함할 수 있다.
컴퓨팅 디바이스(102)는 컴패니언 디바이스로부터 파일들(302)을 수신하고 저장할 수 있다(322). 컴퓨팅 디바이스(102)는 수신된 파일들(302)을 파일 저장소(230)에 저장할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(102)가 컴패니언 디바이스(104)로부터 파일들을 수신할 때, 예를 들어 파일들(302) 중 일부로부터 미디어 콘텐츠(304)를 재생한 후, 컴퓨팅 디바이스(102)는 추가 파일들을 위한 메모리를 비우기 위해 파일 중 일부를 삭제하고 및/또는 지울 수 있다.
컴퓨팅 디바이스(102)에 포함된 포인터 테이블 생성기(204)는 포인터 테이블(232)을 생성할 수 있다. 포인터 테이블(232)은 파일들에 포함된 식별자들(312A, 312B)을 파일들(302)이 저장되는 파일 저장소(230) 내와 같은 메모리(228)의 주소에 맵핑할 수 있다.
컴퓨팅 디바이스(102)에 포함된 스케쥴 생성기(206)는 스케쥴(234)을 생성할 수 있다. 스케줄 생성기(206)는 파일들(302)의 메타데이터(310)에 포함된 스케줄들(314A, 314B)을 파일들(302)의 메타데이터에 포함된 식별자들(312C, 312D)에 매핑하여 스케줄(234)을 생성할 수 있다.
컴퓨팅 디바이스(102)는 클립 테이블(236)을 생성 및 저장 및/또는 컴패니언 디바이스(104)로부터 수신 및 저장할 수 있다. 클립 테이블(236)은 파일들(302)의 메타데이터에 포함된 트리거들(316B, 316C)을 파일들(302)에 포함된 파일들(302)의 식별자들(312E, 312F)에 매핑할 수 있다. 파일(302)이 다수의 트리거들(316, 316A)을 포함하는 일부 예들에서, 클립 테이블(236)은 동일한 파일(302)의 동일한 식별자(312E, 312F)에 매핑되는 다수의 트리거들(316B, 316C)을 포함할 수 있다.
일부 예들에서, 클립 테이블(236)에 포함된 트리거들(316B, 316C)은 도 6에 도시된 체인과 같은 파일들의 체인으로의 엔트리 역할을 할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)가 어떠한 미디어 콘텐츠도 재생하지 않는 동안, 컴퓨팅 디바이스(102)는 트리거 조건이 만족된 트리거들(316B, 316C)과 연관된 식별자들(312E, 312F)에 의해 식별된 파일에 포함된 미디어 콘텐츠를 재생한 다음, 트리거 조건이 만족된 트리거들(316B, 316C)과 연관된 식별자(312E, 312F)에 의해 식별된 파일에 포함된 연관된 트리거들(316, 316A)의 만족에 기반하여 액션들(318, 318A)을 수행함으로써, 클립 테이블(236)에 포함된 트리거(316B, 316C) 조건을 만족하는 입력에 응답할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(102)는 클립 테이블(236)을 생성하지 않고, 단지 컴패니언 디바이스(104)로부터 클립 테이블(236)을 수신한다. 컴패니언 디바이스(104)로부터 클립 테이블(236)을 수신하고 클립 테이블(236)을 생성하지 않는 것은 프로세서(226)의 작업 부하를 감소시켜 컴퓨팅 디바이스(102)의 배터리 전원을 절약한다.
일부 예들에서, 트리거 매퍼(208)가 클립 테이블(236)에 기반하여 파일의 식별자(312E, 312F)에 대한 매핑을 결정하는 센서들(338)(비제한적인 예로 터치스크린, 버튼, 카메라, 마이크로폰, 가속도계, GPS 센서 또는 온도계가 포함될 수 있음)로부터의 입력을 해석하는 입력 프로세서(214)에 기반하여, 및/또는 식별자(312C, 312D)에 매핑되는 스케줄(234)의 시간과 일치하는 클록(216)에 의해 표시되는 시간에 기반하여, 컴퓨팅 디바이스(102)의 주소 검색기(210)는 미디어 콘텐츠(304)의 주소를 검색할 수 있다(328). 주소 검색기(210)는 스케줄(234) 또는 클립 테이블(236)로부터의 식별자(312C, 312D, 312E, 312F)를 포인터 테이블의 식별자(312A, 312B)에 매핑하고, 식별자(312A, 312B)와 연관된 주소(324A, 324B)를 반환 및/또는 검색함으로써, 주소를 검색할 수 있다(328).
검색된 파일(302)의 메타데이터(310)에 포함되고 트리거 조건이 충족된 트리거(316, 316A)와 연관된 액션(318, 318A)이 미디어 콘텐츠 재생을 포함하는 예에서, 파일 검색기(218)는 트리거 조건이 충족된 트리거(316, 316)와 연관된 태그(320, 320A)에 의해 식별된 미디어 콘텐츠를 검색할 수 있다(326). 파일 검색기(218)는 연관된 태그(320, 320A)에 포함된 식별자를 포인터 테이블(232)에 포함된 동일한 식별자(312A, 312B)에 매핑하고, 식별자(312A, 312B)와 연관된 주소(324A, 324B)에서 메모리에 저장된 파일(302)을 검색함으로써 파일을 검색할 수 있다. 미디어 프로세서(220)는 예를 들어 스피커(들)를 통해 오디오(332)를 출력 및/또는 디스플레이(334)를 통해 비디오를 출력함으로써 검색된 파일(302)에 포함된 미디어 콘텐츠(304)를 프로세싱할 수 있다(330).
검색된 파일(302)의 메타데이터(310)에 포함되고 트리거 조건이 충족된 트리거(316, 316)와 연관된 액션(318, 318A)이 컴패니언 디바이스(104)에 데이터를 송신하는 것을 포함하는 예에서, 컴퓨팅 디바이스(102)는 트리거 조건이 충족된 트리거(316, 316A)와 연관된 태그(320, 320A)에 저장된 데이터를 컴패니언 디바이스(104)로 송신할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 상의 활성 파일(302)의 표시를 컴패니언 디바이스(104)에 전송할 수 있다. 활성 파일은 컴퓨팅 디바이스(102)가 현재 재생 중인 미디어 콘텐츠를 나타낼 수 있다. 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)에 파일(302)이 저장되는 표시 및/또는 기록을 저장했을 수 있다. 컴패니언 디바이스(104)는 도 6에 도시된 체인과 유사한 체인 또는 그래프를 생성했을 수 있다. 컴퓨팅 디바이스(102)가 현재 어떤 미디어 콘텐츠를 재생하고 있는지의 표시 및 체인 또는 그래프에 기반하여, 컴패니언 디바이스(104)는 마지막 미디어 콘텐츠가 컴퓨팅 디바이스(102)에서 재생될 시점을 결정할 수 있다. 컴패니언 디바이스(104)는 마지막 미디어 콘텐츠가 재생될 것인지 및/또는 임계 시간 내에 재생이 종료될 것인지를 결정할 수 있다. 컴패니언 디바이스(104)가 임계 시간 내에 마지막 미디어 콘텐츠가 재생될 것이라고 결정하고/하거나 재생이 종료될 것이라고 결정하면, 컴패니언 디바이스(104)는 추가 파일들(302)을 컴퓨팅 디바이스(102)로 송신하여 컴퓨팅 디바이스(102)가 재생할 미디어 콘텐츠(304)가 부족하지 않도록 할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(102)는 마지막 미디어 콘텐츠가 컴퓨팅 디바이스(102)에서 재생될 시점 및/또는 컴퓨팅 디바이스(102)가 컴퓨팅 디바이스(102)에 저장된 미디어 콘텐츠 재생을 완료할 때까지 미디어 콘텐츠가 재생되는 시간을 결정하지 않을 것이다. 이 예들에서, 컴퓨팅 디바이스(102)는 어떤 미디어 콘텐츠가 컴퓨팅 디바이스(102)에서 현재 재생되고 있는지에 대한 표시를 컴패니언 디바이스에 보낼 것이고, 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)에서 마지막 미디어 콘텐츠가 재생되는 시점 및/또는 컴퓨팅 디바이스(102)가 컴퓨팅 디바이스(102)에 저장된 미디어 콘텐츠 재생을 완료할 때까지 미디어 콘텐츠가 재생되는 시간을 결정할 것이다. 이 예들에서, 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)에 추가 파일들을 보낼 시점을 결정할 것이다. 컴패니언 디바이스(104)가 컴퓨팅 디바이스(102)에 추가 파일들을 보낼 시점을 결정할 수 있게 함으로써, 컴퓨팅 디바이스(102)는 프로세서(226)의 작업 부하를 줄여 배터리 전원을 절약한다.
도 4는 컴퓨팅 디바이스(102)가 컴패니언 디바이스(104)와 통신하지 않을 때 컴퓨팅 디바이스(102)에 의해 수행되는 액션들을 보여주는 타이밍도이다. 컴퓨팅 디바이스(102)와 컴패니언 디바이스(104) 사이의 통신 부족은 예를 들어, 비제한적인 예로서, 컴퓨팅 디바이스(102)와 컴패니언 디바이스(104) 사이의 거리가 통신이 가능한 거리를 초과하거나 컴패니언 디바이스(104)의 전원이 꺼지거나, 네트워크 오류로 인해 발생할 수 있다.
특정 입력들은 사용자(400)가 컴퓨팅 디바이스(102)의 디스플레이를 태핑하는 것과 같은 액션(402A)을 수행하는 것과 같은 트리거 조건을 만족할 수 있다. 컴퓨팅 디바이스(102)는 액션(402A)으로부터 발생하는 입력(404A)을 프로세싱하고, 프로세싱된 입력이 트리거 조건을 만족하는지 결정하고, 컴패니언 디바이스(104)와의 접촉을 시도함으로써 트리거 조건의 만족에 응답할 수 있다. 컴퓨팅 디바이스(102)는 프리렌더링된 콘텐츠(406A)와 같은 저장된 미디어 콘텐츠를 재생함으로써 컴패니언 디바이스(104)로부터 응답을 수신하지 않는 것에 응답할 수 있다.
사용자(400)는 컴퓨팅 디바이스(102)가 입력(404B)으로 프로세싱할 수 있는 또 다른 액션(402B)을 수행하고, 프로세싱된 입력이 트리거 조건을 만족하는지 결정하고, 컴패니언 디바이스에 접촉을 시도하며, 컴패니언 디바이스(104)로부터 응답을 수신하지 않는 것에 기반하여, 프리렌더링된 콘텐츠(406B)와 같은 저장된 미디어 콘텐츠를 재생한다.
도 5는 컴패니언 디바이스(104)가 저전력 상태로부터 웨이크 업하는 데 시간이 걸릴 때 컴퓨팅 디바이스(102) 및 컴패니언 디바이스(104)에 의해 수행되는 액션들을 나타내는 타이밍도이다. 상단 행의 액션들(502, 504, 506, 510, 512)은 컴패니언 디바이스(104)에 의해 수행되고, 하단 행의 액션들 (514, 516, 518, 520)은 컴퓨팅 디바이스(102)에 의해 수행된다.
이 예들에서, 컴패니언 디바이스(104)는 하나 이상 및/또는 다수의 프리렌더링된 전환 클립 및/또는 전환 미디어 콘텐츠를 컴퓨팅 디바이스(102)로 송신할 수 있다. 프리렌더링된 전환 클립(들) 및/또는 전환 미디어 콘텐츠를 컴퓨팅 디바이스(102)로 송신한 후, 컴패니언 디바이스(104)는 슬립 상태로 가거나 및/또는 저전력 상태에 진입할 수 있다. 프리렌더링된 전환 클립(들) 및/또는 전환 미디어 콘텐츠는 컴패니언 디바이스(104)가 깨어나고, 저전력 상태를 벗어나고, 및/또는 더 높은 전력 상태에 진입해서 컴퓨팅 디바이스(102)로부터의 추가 미디어 콘텐츠에 대한 요청에 응답할 시간을 줄 수 있다.
컴패니언 디바이스(104)는 스트리밍 소개 콘텐츠(streaming introductory content)(502)를 컴퓨팅 디바이스(102)에 송신할 수 있다. 컴퓨팅 디바이스(102)는 소개 콘텐츠를 경험(514)하는 것처럼 스트리밍 소개 콘텐츠(502)를 제시 및/또는 출력한다. 컴퓨팅 디바이스가 마지막 프레임을 디스플레이(516)하는 동안, 컴패니언 디바이스는 액션 전환 콘텐츠를 프리렌더링(514)할 수 있고, 프리렌더링된 액션 전환 콘텐츠를 컴퓨팅 디바이스(102)로 송신할 수 있다. 컴퓨팅 디바이스(102)는 메모리(228)에 프리렌더링된 액션 전환 콘텐츠를 저장할 수 있다. 프리렌더링하고 프리렌더링된 액션 전환 콘텐츠를 컴퓨팅 디바이스(102)로 송신한 후, 컴패니언 디바이스(104)는 슬립(506)으로 갈 수 있고 및/또는 저전력 상태에 진입할 수 있다.
컴패니언 디바이스가 슬립 상태 및/또는 저전력 상태에 있는 동안, 사용자(400)는 탭 또는 제스처를 포함하는 입력을 컴퓨팅 디바이스(102)에 제공하는 것과 같은 액션(402C)을 수행할 수 있다. 컴퓨팅 디바이스(102)는 액션 알림(508)을 컴패니언 디바이스(104)에 송신함으로써 입력을 인식하고 입력에 응답하여, 컴패니언 디바이스(104)가 웨이크 업하고, 저전력 상태를 벗어나고, 및/또는 더 높은 전력 상태에 진입하도록 프롬프트할 수 있다. 컴퓨팅 디바이스(102)가 컴패니언 디바이스(104)가 웨이크 업하고(510) 콘텐츠를 컴퓨팅 디바이스(102)로 송신하기를 기다리는 동안, 컴퓨팅 디바이스(102)의 전환 미디어 플레이어(224)는 컴패니언 디바이스가 프리렌더링한(504) 프리렌더링된 전환 콘텐츠(518)를 재생할 수 있다. 웨이크 업(510) 이후, 컴패니언 디바이스(104)는 컴퓨팅 디바이스(102)로의 스트리밍 경험 콘텐츠(512)를 재개할 수 있고, 컴퓨팅 디바이스(102)는 컴패니언 디바이스(104)로부터 수신한 경험 콘텐츠를 계속 재생(520)할 수 있다.
도 6은 함께 체인화된 파일들(302A, 302B, 302C, 302D, 302E, 303F, 302G)을 도시하는 블록도이다. 컴퓨팅 디바이스(102)의 체인 생성기(212)는 파일들(302A, 302B, 302C, 302D, 302E, 303F, 302G)을 함께 체인화하고, 및/또는 파일들(302A, 302B, 302C, 302D, 302E, 303F, 303F)의 메타데이터(310)에 포함된 태그들(320, 320A)에 의해 식별된 파일들에 기초하여 파일들(302A, 302B, 302C, 302D, 302E, 303F, 302G)의 그래프를 생성할 수 있다. 컴퓨팅 디바이스(102)는 충족되는 트리거 조건들(616A, 616B, 616C, 616D)에 기반하여 또 다른 파일(302A, 302B, 302C, 302D, 302E, 302E, 302F, 302F)의 미디어 콘텐츠를 재생하거나 디스플레이를 끄는 것과 같은, 액션들(618A, 618B, 618C, 618D, 618D)을 수행할 수 있다.
도 6의 예에서, 컴퓨팅 디바이스(102)가 제1 파일(302A)의 미디어 콘텐츠를 재생하고 있을 때, N초 동안 입력 없음(622A)의 트리거가 충족되면, 컴퓨팅 디바이스(102)는 디스플레이 끄기 액션(622B)을 수행할 것이다. 디스플레이 끄기 액션(622B)은 다른 파일들(302B, 302C, 302D, 302E, 302F, 302G) 중 어느 것과도 연관되지 않는다. 제1 파일(302A)의 미디어 콘텐츠가 재생 중일 때, 디스플레이 상의 클릭(624A)의 트리거가 충족되면, 컴퓨팅 디바이스(102)는 제2 파일 B(파일 302B)의 미디어 콘텐츠를 재생하는 액션(624B)을 수행할 것이다. 제1 파일(302A)의 미디어 콘텐츠가 재생 중일 때, 디스플레이에서 왼쪽 스와이프(626A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 제3 파일 C(파일 302C)의 미디어 콘텐츠를 재생하는 액션(626B)을 수행할 것이다. 제1 파일(302A)의 미디어 콘텐츠가 재생 중일 때, 디스플레이에서 오른쪽 스와이프(628A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 제4 파일 D(파일 302D)의 미디어 콘텐츠를 재생하는 액션(628B)을 수행할 것이다.
컴퓨팅 디바이스(102)가 제2 파일 B(파일 302B)의 미디어 콘텐츠를 재생하고 있을 때, N초 동안 입력 없음(632A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 제5 파일 E(파일 302E)의 미디어 콘텐츠를 재생하는 액션(632B)을 수행할 것이다.
컴퓨팅 디바이스(102)가 제3 파일 C(파일 302C)의 미디어 콘텐츠를 재생하고 있을 때, N초 동안 입력 없음(642A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 디스플레이 끄기 액션(642B)을 수행할 것이다. 디스플레이 끄기 액션(642B)은 다른 파일들(302A, 302B, 302D, 302E, 302F, 302G) 중 어느 것과도 연관되지 않는다.
컴퓨팅 디바이스(102)가 제4 파일 D(302D)의 미디어 콘텐츠를 재생하고 있을 때, N초 동안 입력 없음(652A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 디스플레이 끄기 액션(652B)을 수행할 것이다. 디스플레이 끄기 액션(652B)은 다른 파일들(302A, 302B, 302C, 302E, 302F, 302G) 중 어느 것과도 연관되지 않는다. 제4 파일(302D)의 미디어 콘텐츠가 재생 중일 때, 디스플레이에서 왼쪽 스와이프(654A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 제6 파일 F(파일 302F)의 미디어 콘텐츠를 재생하는 액션(654B)을 수행할 것이다. 제4 파일(302D)의 미디어 콘텐츠가 재생 중일 때, 디스플레이에서 오른쪽 스와이프(656A)의 트리거 조건이 충족되면, 컴퓨팅 디바이스(102)는 제7 파일 G(파일 302G)의 미디어 콘텐츠를 재생하는 액션(656B)을 수행할 것이다.
도 7은 컴퓨팅 디바이스 (102)에 의해 수행되는 방법을 나타내는 흐름도이다. 이 방법은 컴패니언 디바이스(104)로부터 다수의 파일들(302)을 수신하는 단계(702)를 포함할 수 있다. 다수의 파일들(302) 각각은 적어도 미디어 콘텐츠(304), 트리거 조건(316), 및 트리거 조건(316)의 만족 시 수행될 액션(318)을 포함할 수 있다. 파일들(302) 중 적어도 하나에 포함된 액션(318)은 다수의 파일들(302) 중 또 다른 하나로부터 미디어 콘텐츠(304)를 재생하는 단계를 포함할 수 있다. 방법은 다수의 파일들(302) 중 적어도 하나에 포함된 미디어 콘텐츠(304)를 재생하는 단계(704)를 포함할 수 있다. 방법은 컴패니언 디바이스(304)로부터 적어도 하나의 추가 파일(302)을 수신하는 단계(706)를 포함할 수 있다. 방법은 다수의 파일들(302) 중 적어도 하나를 삭제하는 단계(708)를 포함할 수 있다. 방법은 적어도 하나의 추가 파일(302)에 포함된 미디어 콘텐츠(304)를 재생하는 단계(710)를 포함할 수 있다.
일부 예들에서, 모바일 컴퓨팅 디바이스(302)는 스마트워치를 포함할 수 있다.
일부 예들에서, 트리거 조건(316)은 사용자 입력을 포함할 수 있다.
일부 예들에서, 트리거 조건(316)은 모바일 컴퓨팅 디바이스(102)에 포함된 터치스크린으로의 사용자 입력을 포함할 수 있다.
일부 예들에서, 컴패니언 디바이스(104)는 스마트폰을 포함할 수 있다.
일부 예들에서, 방법은 다수의 파일들(302)에 포함된 미디어 콘텐츠(304)를 재생한 후 및 적어도 하나의 추가 파일들(302)을 수신하기 전에 전환 미디어 콘텐츠(518)를 재생하는 단계를 더 포함할 수 있다. 전환 미디어 콘텐츠(518)는 다수의 파일들(302) 및 적어도 하나의 추가 파일(302)로부터 독립적이다.
도 8은 컴퓨팅 디바이스(102)에 의해 수행되는 방법을 나타내는 흐름도이다. 방법은 컴패니언 디바이스(104)로부터, 적어도 제1 파일(302, 302A), 제2 파일(302, 302D) 및 제3 파일(302, 302F, 302G)(802)을 수신하는 단계를 포함할 수 있다. 제1 파일(302)은 제1 미디어 콘텐츠(304), 컴퓨팅 디바이스(102)에 의해 수행되는 제1 액션(318, 622B)과 연관된 제1 트리거 필드(316, 622A), 여기서 제1 액션(318, 622B)은 제2 파일(302, 302D) 또는 제3 파일(302, 302F, 302G)과 연관되지 않으며, 및 제2 파일(302, 302D, 628B)과 연관된 제2 트리거 필드(316, 628A)를 포함할 수 있다. 제2 파일(302, 302D)은 제2 미디어 콘텐츠(304), 컴퓨팅 디바이스(102)에 의해 수행되는 제2 액션(318, 652B)과 연관된 제3 트리거 필드(316, 652A), 여기서 제2 액션(318, 652B)은 제1 파일(302, 302A) 또는 제3 파일(302, 302F, 302G)과 연관되지 않으며, 및 제3 파일(302, 302F, 302G, 656B)과 연관된 제4 트리거 필드(316, 656A)를 포함할 수 있다. 제3 파일(302, 302F, 302G)은 제3 미디어 콘텐츠(304)를 포함할 수 있다. 방법은 또한 제1 미디어 콘텐츠(304)를 재생하는 단계를 포함할 수 있다(804). 방법은 또한 제2 트리거 필드(316)와 연관된 입력을 수신하는 단계를 포함할 수 있다(806). 방법은 또한 제2 트리거 필드(316)와 연관된 입력을 수신하는 것에 응답하여 제2 미디어 콘텐츠(304)를 재생하는 단계를 포함할 수 있다(808). 방법은 또한 제4 트리거 필드(316)와 연관된 입력을 수신하는 단계를 포함할 수 있다(810). 방법은 또한 제4 트리거 필드(316)와 연관된 입력을 수신하는 것에 응답하여 제3 미디어 콘텐츠(304)를 재생하는 단계를 포함할 수 있다(812).
일부 예들에서, 제3 파일은 제1 파일과 연관된 제5 트리거 필드를 더 추가할 수 있고, 방법은 제5 트리거 필드와 연관된 입력을 수신하는 단계, 제5 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 제1 미디어 콘텐츠를 재생하는 단계 제1 트리거 필드와 연관된 입력을 수신하는 단계, 및 제1 트리거 필드와 관련된 입력을 수신하는 것에 응답하여, 제1 액션을 수행하는 단계를 더 포함할 수 있다.
일부 예들에서, 제1 액션은 모바일 컴퓨팅 디바이스에 포함된 디스플레이를 끄는 것을 포함할 수 있다.
일부 예들에서, 제3 파일은 제2 파일과 연관된 제5 트리거 필드를 더 포함할 수 있고, 방법은 제5 트리거 필드와 연관된 입력을 수신하는 단계, 제5 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 제2 미디어 콘텐츠를 재생하는 단계, 제3 트리거 필드와 연관된 입력을 수신하는 단계, 및 제3 트리거 필드와 관련된 입력을 수신하는 것에 응답하여, 제2 액션을 수행하는 단계를 더 포함할 수 있다.
일부 예들에서, 제2 액션은 모바일 컴퓨팅 디바이스에 포함된 디스플레이를 끄는 것을 포함할 수 있다.
일부 예들에서, 제3 파일은 제1 입력을 식별하는 제5 트리거 필드, 여기서 제5 트리거 필드는 컴퓨팅 디바이스의 제3 액션과 연관되고, 제3 액션은 제3 미디어 콘텐츠를 적어도 하나의 프레임 앞으로 이동시키는 것을 포함하며 및 제2 입력을 식별하는 제6 트리거 필드를 더 포함할 수 있으며, 여기서 제6 트리거 필드는 컴퓨팅 디바이스의 제4 액션과 연관되고, 제4 액션은 제3 미디어 콘텐츠를 적어도 하나의 프레임 뒤로 이동시키는 것을 포함한다.
일부 예들에서, 방법은 컴패니언 디바이스로부터 추가 파일들을 요청하는 단계, 및 요청에 대한 응답을 수신하지 않는 것에 기반하여, 제1 미디어 콘텐츠, 제2 미디어 콘텐츠 또는 제3 미디어 콘텐츠 중 적어도 하나를 재생하는 단계를 더 포함할 수 있다.
일부 예들에서, 방법은 추가 파일들이 필요한지 결정하는 단계 및 추가 파일들이 필요하다는 결정에 기반하여, 컴패니언 디바이스에 추가 파일들을 요청하는 단계, 및 제1 미디어 콘텐츠, 제2 미디어 콘텐츠, 또는 제3 미디어 콘텐츠 중 적어도 하나를 재생하는 단계를 더 포함할 수 있다.
일부 예들에서, 방법은 미디어 콘텐츠 체인을 생성하는 단계를 더 포함할 수 있다. 미디어 콘텐츠 체인은 제2 트리거 필드를 포함하는 제1 파일, 제2 파일과 연관되는 제2 트리거 필드, 및 제2 미디어 콘텐츠를 포함하는 제2 파일에 기반하여, 제1 미디어 콘텐츠를 제2 미디어 콘텐츠에 연결할 수 있고, 제4 트리거 필드를 포함하는 제2 파일, 제3 파일과 연관된 제4 트리거 필드, 및 제3 미디어 콘텐츠를 포함하는 제3 파일에 기반하여, 제2 미디어 콘텐츠를 제3 미디어 콘텐츠에 연결할 수 있다.
일부 예들에서, 방법은 제4 파일을 수신하는 단계, 여기서 제4 파일은 제4 미디어 콘텐츠 및 제5 트리거 필드를 포함하고, 제5 트리거 필드는 시간을 포함하며, 제5 트리거 필드에 포함된 시간에서 제4 미디어 콘텐츠를 재생하는 단계를 더 포함할 수 있다.
일부 예들에서, 방법은 마지막 미디어 콘텐츠가 임계 시간 내에 재생될 것이라고 결정하는 단계 및 마지막 미디어 콘텐츠가 임계 시간 내에 재생될 것이라는 결정에 기반하여 컴패니언 디바이스로부터 파일들을 요청하는 단계를 더 포함할 수 있다.
도 9는 컴패니언 디바이스(104)에 의해 수행되는 방법을 나타내는 흐름도이다. 방법은 모바일 컴퓨팅 디바이스(102)에 적어도 제1 파일, 제2 파일 및 제3 파일을 전송하는 단계(902)를 포함할 수 있다. 제1 파일은 제1 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 여기서 제1 액션은 제2 파일 또는 제3 파일과 연관되지 않으며, 및 제2 파일과 연관된 제2 트리거 필드를 포함할 수 있다. 제2 파일은 제2 미디어 콘텐츠, 컴퓨팅 디바이스에 의해 수행되는 제2 액션과 연관된 제3 트리거 필드, 여기서 제2 액션은 제1 파일 또는 제3 파일과 연관되지 않으며, 및 제3 파일과 연관된 제4 트리거 필드를 포함할 수 있다. 제3 파일은 제3 미디어 콘텐츠를 포함할 수 있다. 방법은 모바일 컴퓨팅 디바이스로부터 컴퓨팅 디바이스 상의 활성 파일의 표시를 수신하는 단계(904)를 더 포함할 수 있다. 방법은 활성 파일 및 컴퓨팅 디바이스에 저장된 파일들의 표시에 기반하여 마지막 미디어 콘텐츠가 임계 시간 내에 컴퓨팅 디바이스에서 재생될 것인지 결정하는 단계(906)를 더 포함할 수 있다. 방법은 마지막 미디어 콘텐츠가 임계 시간 내에 컴퓨팅 디바이스에서 재생될 것이라고 결정하는 것에 기반하여 적어도 제4 파일을 컴퓨팅 디바이스에 송신하는 단계를 더 포함할 수 있으며, 제4 파일은 제4 미디어 콘텐츠를 포함한다(908).
도 10은 여기에 설명된 기법들과 함께 사용될 수 있는 일반 컴퓨터 디바이스(1000) 및 일반 모바일 컴퓨터 디바이스(1050)의 예를 도시한다. 컴퓨팅 디바이스(1000)는 랩탑, 데스크탑, 태블릿, 워크스테이션, 퍼스널 디지털 어시스턴트, 텔레비전, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨팅 디바이스들과 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 컴퓨팅 디바이스(1050)는 퍼스널 디지털 어시스턴트, 셀룰러 전화, 스마트폰 및 기타 유사한 컴퓨팅 장 디바이스들과 치와 같은 다양한 형태의 모바일 디바이스들을 나타내기 위한 것이다. 여기에 표시된 구성요소들, 연결 및 관계, 기능들은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 디바이스(1000)는 프로세서(1002), 메모리(1004), 스토리지 디바이스(1006), 메모리(1004)에 연결되는 고속 인터페이스(1008) 및 고속 확장 포트(1010), 저속 버스(1014) 및 스토리지 디바이스(1006)에 연결되는 저속 인터페이스(1012)를 포함한다. 프로세서(1002)는 반도체 기반 프로세서일 수 있다. 메모리(1004)는 반도체 기반 메모리일 수 있다. 구성요소들(1002, 1004, 1006, 1008, 1010, 1012) 각각은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더보드 또는 적절한 다른 방식들로 장착될 수 있다. 프로세서(1002)는 메모리(1004) 또는 스토리지 디바이스(1006)에 저장된 명령어들을 포함하여 컴퓨팅 디바이스(1000) 내에서 실행하기 위한 명령어들을 프로세싱하여 고속 인터페이스(1008)에 연결된 디스플레이(1016)와 같은 외부 입력/출력 디바이스에 GUI에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예들에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(1000)이 연결될 수 있으며, 각각의 디바이스는 필요한 동작들(예: 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)의 일부를 제공할 수 있다.
메모리(1004)는 컴퓨팅 디바이스(1000) 내에 정보를 저장한다. 일 구현예에서, 메모리(1004)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(1004)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(1004)는 또한 자기 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
스토리지 디바이스(1006)는 컴퓨팅 디바이스(1000)를 위한 대용량 스토리지를 제공할 수 있다. 일 구현예에서, 스토리지 디바이스(1006)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 스토리지 영역 네트워크 또는 기타 구성의 디바이스들을 포함하는 디바이스들의 어레이와 같은 컴퓨터 판독가능 매체일 수 있거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 가시적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함할 수 있다. 정보 캐리어는 메모리(1004), 스토리지 디바이스(1006) 또는 프로세서(1002)의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 컨트롤러(1008)는 컴퓨팅 디바이스(1000)에 대한 대역폭 집약적 동작들을 관리하는 반면, 저속 컨트롤러(1012)는 낮은 대역폭 집약적 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 컨트롤러(1008)는 메모리(1004), 디스플레이(1016)(예: 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(1010)에 결합된다. 구현예에서, 저속 컨트롤러(1012)는 스토리지 디바이스(1006) 및 저속 확장 포트(1014)에 결합된다. 다양한 통신 포트들(예: USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(1000)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다. 예를 들어, 표준 서버(1020)로 구현되거나 이러한 서버 그룹에서 여러 번 구현될 수 있다. 또한 랙 서버 시스템(1024)의 일부로 구현될 수도 있다. 또한, 노트북 컴퓨터(1022)와 같은 개인용 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(1000)로부터의 구성요소들은 디바이스(1050)와 같은 모바일 디바이스(미도시)의 다른 구성요소들과 결합될 수 있다. 그러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스(1000, 1050)를 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(1000, 1050)로 구성될 수 있다.
컴퓨팅 디바이스(1050)는 다른 구성요소들 중에서 프로세서(1052), 메모리(1064), 디스플레이(1054)와 같은 입력/출력 디바이스, 통신 인터페이스(1066) 및 트랜시버(1068)를 포함한다. 디바이스(1050)에는 추가 스토리지를 제공하기 위해 마이크로드라이브 또는 기타 디바이스와 같은 스토리지 디바이스가 제공될 수도 있다. 구성요소들(1050, 1052, 1064, 1054, 1066, 1068) 각각은 다양한 버스들을 사용하여 상호 연결되며, 여러 구성요소들은 공통 마더보드 또는 적절한 다른 방식들로 장착될 수 있다.
프로세서(1052)는 메모리(1064)에 저장된 명령어들을 포함하여 컴퓨팅 디바이스(1050) 내의 명령어들을 실행할 수 있다. 프로세서는 별도의 다중 아날로그 및 디지털 프로세서를 포함하는 칩 세트로 구현될 수 있다. 프로세서는 예를 들어 사용자 인터페이스의 제어, 디바이스(1050)에 의해 실행되는 애플리케이션들 및 디바이스(1050)에 의한 무선 통신과 같은 디바이스(1050)의 다른 구성요소들의 조정을 제공할 수 있다.
프로세서(1052)는 제어 인터페이스(1058) 및 디스플레이(1054)에 연결된 디스플레이 인터페이스(1056)를 통해 사용자와 통신할 수 있다. 디스플레이(1054)는 예를 들어 TFT LCD(박막-트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디스플레이 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(1056)는 디스플레이(1054)를 구동하여 그래픽 및 기타 정보를 사용자에게 제시하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1058)는 사용자로부터 명령들을 수신하고 프로세서(1052)에 제출하기 위해 명령들을 변환할 수 있다. 또한, 외부 인터페이스(1062)는 프로세서(1052)와 통신하도록 제공되어 다른 디바이스들과 디바이스(1050)의 근거리 통신을 가능하게 할 수 있다. 외부 인터페이스(1062)는 예를 들어 일부 구현예들에서는 유선 통신을 위해, 또는 다른 구현예들에서는 무선 통신을 위해 제공할 수 있고, 다수의 인터페이스들이 또한 사용될 수 있다.
메모리(1064)는 컴퓨팅 디바이스(1050) 내에 정보를 저장한다. 메모리(1064)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(1074)는 또한 제공될 수 있고 예를 들어 SIMM(단일 인라인 메모리 모듈) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(1072)를 통해 디바이스(1050)에 연결될 수 있다. 이러한 확장 메모리(1074)는 디바이스(1050)에 추가 저장 공간을 제공하거나 디바이스(1050)에 대한 애플리케이션들 또는 기타 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(1074)는 위에서 설명한 프로세스를 수행하거나 보완하기 위한 명령을 포함할 수 있으며 보안 정보도 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(1074)는 디바이스(1050)를 위한 보안 모듈로서 제공될 수 있고 디바이스(1050)의 안전한 사용을 허용하는 명령어들로 프로그램될 수 있다. 또한 보안 애플리케이션들은 SIMM 카드를 통해 해킹 불가능한 방식으로 SIMM 카드에 식별 정보를 배치하는 것과 같은 추가 정보와 함께 제공될 수 있다.
메모리는 예를 들어 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 캐리어는 예를 들어 트랜시버(1068) 또는 외부 인터페이스(1062)를 통해 수신될 수 있는 메모리(1064), 확장 메모리(1074) 또는 프로세서(1052) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
디바이스(1050)는 필요한 경우 디지털 시그널 프로세싱 회로를 포함할 수 있는 통신 인터페이스(1066)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(1066)는 특히 GSM 보이스 콜, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(1068)를 통해 발생할 수 있다. 또한, 블루투스, Wi-Fi 또는 기타 트랜시버(미도시)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS(글로벌 포지셔닝 시스템) 수신기 모듈(1070)은 디바이스(1050)에서 실행되는 애플리케이션들에 의해 적절하게 사용될 수 있는 추가적인 내비게이션 및 위치 관련 무선 데이터를 디바이스(1050)에 제공할 수 있다.
디바이스(1050)는 또한 오디오 코덱(1060)을 사용하여 청각적으로 통신할 수 있으며, 이는 사용자로부터 음성 정보를 수신하고 이를 사용 가능한 디지털 정보로 변환할 수 있다. 마찬가지로 오디오 코덱(1060)은 예를 들어 디바이스(1050)의 핸드셋에서와 같은 스피커를 통해 사용자를 위한 가청 사운드를 생성할 수 있다. 그러한 사운드는 보이스 전화 통화들로부터의 사운드를 포함할 수 있고, 레코딩된 사운드(예: 보이스 메시지, 음악 파일 등)를 포함할 수 있고, 또한 디바이스(1050)에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수 있다.
컴퓨팅 디바이스(1050)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 셀룰러 전화기(1080)로 구현될 수 있다. 또한 스마트폰(1082), 퍼스널 디지털 어시스턴트 또는 기타 유사한 모바일 디바이스의 일부로 구현될 수도 있다.
여기에 설명된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(애플리케이션 특정 집적 회로)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 스토리지 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있는, 적어도 하나의 프로그래밍가능한 프로세서를 포함하는 프로그래밍가능한 시스템에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍가능한 프로세서를 위한 기계 명령어들을 포함하며 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는, "기계 판독가능 매체" "컴퓨터 판독가능 매체"라는 용어들은 기계 명령어들을 기계 판독가능 신호로 수신하는 기계 판독가능 매체를 포함하여 프로그램가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예: 자기 디스크, 광 디스크, 메모리, 프로그램가능 로직 디바이스(PLD)들)를 의미한다. "기계 판독가능 신호"라는 용어는 프로그램가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
사용자와의 상호작용을 제공하기 위해, 여기에 설명된 시스템들 및 기법들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예: CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예: 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들을 사용하여 사용자와의 상호 작용도 제공할 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 감각 피드백(예: 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)의 모든 형태일 수 있고; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다.
여기에 설명된 시스템들 및 기법들은 백 엔드 구성요소(예: 데이터 서버)를 포함하거나 미들웨어 구성요소(예: 애플리케이션 서버)를 포함하거나 프런트 엔드 구성요소(예: 사용자가 여기에 설명된 시스템 및 기술의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나 이러한 백 엔드, 미들웨어 또는 프런트 엔드 구성요소들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 모든 형태 또는 매체(예: 통신 네트워크)로 상호 연결될 수 있다. 통신 네트워크의 예에는 로컬 영역 네트워크(“LAN”), 광역 네트워크(“WAN”) 및 인터넷이 포함된다.
컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 발생한다.
다수의 실시예가 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음을 이해할 것이다.
또한, 도면에 묘사된 논리 흐름은 바람직한 결과를 얻기 위해 표시된 특정 순서나 순차적 순서를 요구하지 않는다. 또한, 설명된 흐름으로부터 다른 단계가 제공되거나 단계가 제거될 수 있으며, 다른 구성요소들이 설명된 시스템에 추가되거나 제거될 수 있다. 따라서, 다른 실시예들은 다음 청구범위 내에 있다.

Claims (21)

  1. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 모바일 컴퓨팅 디바이스로 하여금:
    컴패니언 디바이스로부터, 적어도 제1 파일 및 제2 파일을 수신하게 하고, 상기 제1 파일은 적어도:
    미디어 콘텐츠;
    트리거 조건;
    상기 제2 파일을 식별하는 식별자 - 상기 식별자는 상기 트리거 조건과 연관됨 -; 및
    상기 트리거 조건 만족 시 수행될 액션을 포함하며,
    상기 제1 파일에 포함된 상기 액션은 상기 식별자에 의해 식별되고 상기 트리거 조건과 연관된 상기 제2 파일로부터의 미디어 콘텐츠를 재생하는 것을 포함하고;
    상기 제1 파일 및 상기 제2 파일 중 적어도 하나에 포함된 미디어 콘텐츠를 실행하게 하고;
    상기 컴패니언 디바이스로부터 적어도 하나의 추가 파일을 수신하게 하고;
    상기 제1 파일 및 상기 제2 파일 중 적어도 하나를 제거하게 하고; 그리고
    상기 적어도 하나의 추가 파일에 포함된 미디어 콘텐츠를 재생하게 하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  2. 제1항에 있어서,
    상기 모바일 컴퓨팅 디바이스는 스마트워치를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  3. 제1항에 있어서,
    상기 트리거 조건은 사용자 입력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  4. 제1항에 있어서,
    상기 트리거 조건은 상기 모바일 컴퓨팅 디바이스에 포함된 터치스크린으로의 사용자 입력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  5. 제1항에 있어서,
    상기 컴패니언 디바이스는 스마트폰을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  6. 제1항에 있어서,
    상기 명령어들은 컴퓨팅 디바이스로 하여금 상기 제1 파일 및 상기 제2 파일 중 적어도 하나에 포함된 미디어 콘텐츠를 실행한 후, 그리고 상기 적어도 하나의 추가 파일을 수신하기 전에, 전환 미디어 콘텐츠를 재생하게 하도록 더 구성되고, 상기 전환 미디어 콘텐츠는 상기 제1 파일, 제2 파일 및 상기 적어도 하나의 추가 파일과 독립적인, 비일시적 컴퓨터 판독가능 저장 매체.
  7. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 모바일 컴퓨팅 디바이스로 하여금:
    컴패니언 디바이스로부터, 적어도 제1 파일 및 제2 파일을 수신하게 하고, 상기 제1 파일은:
    제1 미디어 콘텐츠;
    상기 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 상기 제1 액션은 상기 제2 파일과 연관되지 않으며; 및
    상기 제2 파일과 연관된 제2 트리거 필드 및 상기 제2 파일을 식별하는 제1 식별자 필드 - 상기 제1 식별자 필드는 상기 제2 트리거 필드와 연관됨 -를 포함하고;
    상기 제1 미디어 콘텐츠를 재생하게 하고,
    상기 제2 트리거 필드와 연관된 입력을 수신하게 하고;
    상기 제2 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 상기 제1 식별자 필드에 의해 식별되고 상기 제2 트리거 필드와 연관된 상기 제2 파일로부터의 제2 미디어 콘텐츠를 재생하게 하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  8. 삭제
  9. 제7항에 있어서,
    상기 제1 액션은 상기 모바일 컴퓨팅 디바이스에 포함된 디스플레이를 끄는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제7항에 있어서,
    상기 명령어들은 상기 컴퓨팅 디바이스로 하여금:
    상기 컴패니언 디바이스로부터 추가 파일들을 요청하게 하고; 그리고
    상기 요청에 대한 응답을 수신하지 않는 것에 기반하여, 상기 제1 미디어 콘텐츠, 상기 제2 미디어 콘텐츠 또는 제3 미디어 콘텐츠 중 적어도 하나를 재생하게 하도록 더 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제7항에 있어서,
    상기 명령어들은 상기 컴퓨팅 디바이스로 하여금:
    추가 파일들이 필요한지 결정하게 하고; 그리고
    추가 파일들이 필요하다는 결정에 기반하여:
    상기 컴패니언 디바이스로부터 추가 파일들을 요청하게 하고; 그리고
    상기 제1 미디어 콘텐츠, 상기 제2 미디어 콘텐츠 또는 제3 미디어 콘텐츠 중 적어도 하나를 재생하게 하도록 더 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제7항에 있어서,
    상기 명령어들은 상기 컴퓨팅 디바이스로 하여금 미디어 콘텐츠의 체인을 생성하게 하도록 더 구성되며, 상기 미디어 콘텐츠의 체인은:
    상기 제1 미디어 콘텐츠를 상기 제2 미디어 콘텐츠에:
    상기 제2 트리거 필드를 포함하는 상기 제1 파일;
    상기 제2 파일과 연관된 상기 제2 트리거 필드;
    상기 제2 트리거 필드와 연관된 상기 제1 식별자 필드; 및
    상기 제2 미디어 콘텐츠를 포함하는 상기 제2 파일에 기반하여 연결하고:
    상기 제2 미디어 콘텐츠를 제3 미디어 콘텐츠에:
    제4 트리거 필드를 포함하는 상기 제2 파일;
    제3 파일과 연관된 상기 제4 트리거 필드;
    상기 제4 트리거 필드와 연관된 제2 식별자 필드; 및
    상기 제3 미디어 콘텐츠를 포함하는 상기 제3 파일에 기반하여 연결하는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 삭제
  17. 제7항에 있어서,
    상기 명령어들은 상기 컴퓨팅 디바이스로 하여금:
    마지막 미디어 콘텐츠가 임계 시간 내에 재생될 것인지 결정하게 하고; 그리고
    상기 마지막 미디어 콘텐츠가 상기 임계 시간 내에 재생될 것이라고 결정하는 것에 기반하여 상기 컴패니언 디바이스로부터 파일들을 요청하게 하도록 더 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 컴패니언 디바이스로 하여금:
    모바일 컴퓨팅 디바이스에, 적어도 제1 파일 및 제2 파일을 송신하게 하고, 상기 제1 파일은:
    제1 미디어 콘텐츠;
    상기 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 상기 제1 액션은 상기 제2 파일과 연관되지 않으며; 및
    상기 제2 파일과 연관된 제2 트리거 필드 및 상기 제2 파일을 식별하는 제1 식별자 필드 - 상기 제1 식별자 필드는 상기 제2 트리거 필드와 연관됨 -를 포함하고;
    상기 모바일 컴퓨팅 디바이스로부터, 상기 컴퓨팅 디바이스 상의 활성 파일의 표시를 수신하게 하고;
    상기 활성 파일 및 상기 컴퓨팅 디바이스에 저장된 파일들의 표시에 기반하여, 마지막 미디어 콘텐츠가 임계 시간 내에 상기 컴퓨팅 디바이스에서 재생될 것인지 결정하게 하고; 그리고
    상기 마지막 미디어 콘텐츠가 상기 임계 시간 내에 상기 컴퓨팅 디바이스에서 재생될 것이라고 결정하는 것에 기반하여, 적어도 제3 파일을 상기 컴퓨팅 디바이스에 송신하게 하도록 구성되며, 상기 제3 파일은 제3 미디어 콘텐츠를 포함하는, 컴퓨터 판독가능 저장 매체.
  19. 제18항에 있어서,
    상기 명령어들은 상기 컴패니언 디바이스로 하여금:
    테이블을 생성하게 하고, 상기 테이블은 상기 제2 트리거 필드를 상기 제2 파일의 식별자와 연관시키며; 그리고
    상기 테이블을 상기 모바일 컴퓨팅 디바이스로 송신하게 하도록 더 구성되는, 컴퓨터 판독가능 저장 매체.
  20. 모바일 컴퓨팅 디바이스에 있어서,
    적어도 하나의 프로세서; 및
    명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 모바일 컴퓨팅 디바이스로 하여금:
    컴패니언 디바이스로부터, 적어도 제1 파일 및 제2 파일을 수신하게 하고, 상기 제1 파일은:
    제1 미디어 콘텐츠;
    상기 컴퓨팅 디바이스에 의해 수행되는 제1 액션과 연관된 제1 트리거 필드, 상기 제1 액션은 상기 제2 파일과 연관되지 않으며; 및
    상기 제2 파일과 연관된 제2 트리거 필드 및 상기 제2 파일을 식별하는 제1 식별자 필드 - 상기 제1 식별자 필드는 상기 제2 트리거 필드와 연관됨 -를 포함하고;
    상기 제1 미디어 콘텐츠를 재생하게 하고;
    상기 제2 트리거 필드와 연관된 입력을 수신하게 하고;
    상기 제2 트리거 필드와 연관된 입력을 수신하는 것에 응답하여, 상기 제1 식별자 필드에 의해 식별되고 상기 제2 트리거 필드와 연관된 상기 제2 파일로부터의 제2 미디어 콘텐츠를 재생하게 하도록 구성되는, 모바일 컴퓨팅 디바이스.
  21. 제20항에 있어서,
    상기 모바일 컴퓨팅 디바이스는 스마트워치를 포함하는, 모바일 컴퓨팅 디바이스.
KR1020237021190A 2021-02-01 2021-02-01 트리거들에 응답하여 미디어 콘텐츠 재생 Active KR102785406B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/070107 WO2022164573A1 (en) 2021-02-01 2021-02-01 Playing media content in response to triggers

Publications (2)

Publication Number Publication Date
KR20230110594A KR20230110594A (ko) 2023-07-24
KR102785406B1 true KR102785406B1 (ko) 2025-03-21

Family

ID=74701609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237021190A Active KR102785406B1 (ko) 2021-02-01 2021-02-01 트리거들에 응답하여 미디어 콘텐츠 재생

Country Status (6)

Country Link
US (1) US12457374B2 (ko)
EP (1) EP4285599A1 (ko)
JP (1) JP7764485B2 (ko)
KR (1) KR102785406B1 (ko)
CN (1) CN116635818A (ko)
WO (1) WO2022164573A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100885A1 (en) * 2013-10-04 2015-04-09 Morgan James Riley Video streaming on a mobile device

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013527A (ja) * 2002-06-06 2004-01-15 Sony Corp コンテンツ配信装置及び方法
JP2008109601A (ja) * 2006-10-26 2008-05-08 Masashi Hayashi 動画映像音声情報処理システム
BRPI0811833B1 (pt) 2007-07-02 2020-12-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados
AU2008335095B2 (en) * 2007-12-10 2013-03-28 Deluxe Media, Inc. Method and system for use in coordinating multimedia devices
JP4444358B1 (ja) * 2008-12-24 2010-03-31 株式会社プランネット・アソシエイツ プログレッシブダウンロード再生用プログラム
CN101740089B (zh) * 2008-11-17 2012-03-07 深圳Tcl新技术有限公司 在相连设备上播放便携播放器上文件的方法和相应设备
US8793282B2 (en) * 2009-04-14 2014-07-29 Disney Enterprises, Inc. Real-time media presentation using metadata clips
US20110087603A1 (en) * 2009-10-13 2011-04-14 Google Inc. Cloud based media player and offline media access
US8782309B2 (en) * 2009-12-04 2014-07-15 Core Wireless Licensing, S.a.r.l. Method and apparatus for suggesting data for deletion
US9659313B2 (en) 2010-09-27 2017-05-23 Unisys Corporation Systems and methods for managing interactive features associated with multimedia content
US8446363B1 (en) 2010-12-30 2013-05-21 Google Inc. Enhanced input using touch screen
US20150135284A1 (en) * 2011-06-10 2015-05-14 Aliphcom Automatic electronic device adoption with a wearable device or a data-capable watch band
US8640174B2 (en) * 2012-03-01 2014-01-28 Motorola Mobility Llc Method for retrieving content, wireless communication device and communication system
US9659093B1 (en) * 2012-04-02 2017-05-23 Google Inc. Adaptive recommendations of user-generated mediasets
TWI528798B (zh) * 2012-10-11 2016-04-01 緯創資通股份有限公司 串流資料下載方法及其電腦可讀取儲存媒體
EP2744169B1 (en) * 2012-10-22 2016-01-13 Huawei Device Co., Ltd. Method and apparatus for playing streaming media files
CN104009965A (zh) * 2013-02-27 2014-08-27 腾讯科技(深圳)有限公司 一种展示移动媒体信息的方法、装置和系统
US9992085B1 (en) * 2013-08-27 2018-06-05 Google Llc Serving related content via a content sharing service
US10362094B2 (en) * 2014-07-25 2019-07-23 Gracenote Digital Ventures, Llc Retrieval and playout of media content
US9574896B2 (en) * 2015-02-13 2017-02-21 Apple Inc. Navigation user interface
US10904617B1 (en) * 2015-02-19 2021-01-26 Amazon Technologies, Inc. Synchronizing a client device with media content for scene-specific notifications
US9641593B2 (en) * 2015-03-31 2017-05-02 Dell Products, Lp Content sharing and storage of a plurality of remotely connected computing devices in physical or virtualized space
US10069785B2 (en) 2015-06-05 2018-09-04 Apple Inc. Network messaging for paired devices
US10382578B2 (en) * 2015-06-05 2019-08-13 Apple Inc. Provision of a lease for streaming content
US10476831B2 (en) * 2015-07-08 2019-11-12 Campus Crusade For Christ, Inc. System and methods for providing a notification upon the occurrence of a trigger event associated with playing media content over a network
US10638179B2 (en) * 2015-08-06 2020-04-28 At&T Intellectual Property I, L.P. Content insertion in streaming media content
US20170091201A1 (en) * 2015-09-30 2017-03-30 Longsand Limited Dynamic classification of digital files
US10433023B1 (en) * 2015-10-27 2019-10-01 Amazon Technologies, Inc. Heuristics for streaming live content
CN105357562B (zh) * 2015-11-11 2017-10-24 腾讯科技(深圳)有限公司 一种信息处理方法及终端
KR102121535B1 (ko) * 2015-11-30 2020-06-10 삼성전자주식회사 전자 장치, 보조 장치 및 전자 장치의 동작 방법
US9996224B2 (en) * 2016-02-29 2018-06-12 Google Llc Methods, systems, and media for creating and updating a group of media content items
JP6579007B2 (ja) * 2016-03-18 2019-09-25 船井電機株式会社 制御装置
US10735489B1 (en) * 2016-03-21 2020-08-04 Amazon Technologies, Inc. Mid-stream content delivery network switching
US10447748B2 (en) * 2016-05-12 2019-10-15 Apple Inc. Sharing media information between applications on client devices
US10271093B1 (en) * 2016-06-27 2019-04-23 Amazon Technologies, Inc. Systems and methods for routing content to an associated output device
CN106028108B (zh) * 2016-06-30 2020-09-11 北京小米移动软件有限公司 电视节目录制方法、装置及系统
US20170024779A1 (en) * 2016-08-12 2017-01-26 Vertamedia LLC Computer-implemented method for online delivery of advertising content
JP6798014B2 (ja) * 2016-09-30 2020-12-09 Line株式会社 コンテンツ提供方法およびシステム
US10805370B2 (en) * 2017-06-02 2020-10-13 Apple Inc. Alarms for a system of smart media playback devices
US11477516B2 (en) * 2018-04-13 2022-10-18 Koji Yoden Services over wireless communication with high flexibility and efficiency
US20210141892A1 (en) * 2019-11-11 2021-05-13 Iq2 Holdings, Inc. System and method for user authentication
US11669568B2 (en) * 2020-01-03 2023-06-06 Spotify Ab Systems and methods for injecting content into media content items
US11531696B2 (en) * 2020-07-17 2022-12-20 Spotify Ab Communicating shuffled media content
US12026378B2 (en) * 2021-12-22 2024-07-02 Comcast Cable Communications, Llc Method and system for efficient layout of stored video segments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100885A1 (en) * 2013-10-04 2015-04-09 Morgan James Riley Video streaming on a mobile device

Also Published As

Publication number Publication date
WO2022164573A1 (en) 2022-08-04
EP4285599A1 (en) 2023-12-06
CN116635818A (zh) 2023-08-22
KR20230110594A (ko) 2023-07-24
US12457374B2 (en) 2025-10-28
JP7764485B2 (ja) 2025-11-05
JP2024507707A (ja) 2024-02-21
US20240064362A1 (en) 2024-02-22

Similar Documents

Publication Publication Date Title
US11687163B2 (en) Apparatus, system, and method for transferring data from a terminal to an electromyography (EMG) device
US10416740B2 (en) Upsampling sensors to auto-detect a fitness activity
CN108920693B (zh) 一种个人主页的展示方法、装置、终端设备及存储介质
CN111433766B (zh) 用于对时间序列数据进行分类的方法和系统
CN112154411B (zh) 使用音频数据进行设备控制
CN113554932B (zh) 轨迹回放方法及装置
CN103543988B (zh) 队列消息的处理方法、控制消息进入队列的方法及装置
CN107209781A (zh) 使用自然语言的上下文搜索
CA2861851C (en) Methods and devices to determine a preferred electronic device
CN109992174A (zh) 信息处理方法及终端设备
US11675831B2 (en) Geolocation based playlists
US20140049883A1 (en) Method and apparatus for controlling vibration intensity according to situation awareness in electronic device
CN107592926A (zh) 使用任务帧建立多模式协同对话
US11886748B2 (en) Systems and methods for contextual memory capture and recall
US20140044307A1 (en) Sensor input recording and translation into human linguistic form
CN110932964A (zh) 一种信息的处理方法及装置
US20250355952A1 (en) Search event chain display method, search event chain generation method, and electronic device
KR102785406B1 (ko) 트리거들에 응답하여 미디어 콘텐츠 재생
US20160330423A1 (en) Video shooting method and apparatus
CN106412340A (zh) 移动终端通知信息的处理方法、装置和移动终端
WO2019137470A1 (en) Data processing method, electronic device, and computer-readable storage medium
CN112260936B (zh) 通知消息的管理方法、装置、终端及存储介质
CN107911428A (zh) 一种歌曲推送方法、装置及移动终端
CN114974495A (zh) 睡眠数据校准方法和电子设备
KR102931691B1 (ko) 사용자 익숙도 기반 이미지 분류 수행의 종료

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20230622

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241021

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250131

PG1601 Publication of registration