KR20130130742A - 다른 버전의 미디어 파일 제공 방법 - Google Patents

다른 버전의 미디어 파일 제공 방법 Download PDF

Info

Publication number
KR20130130742A
KR20130130742A KR1020137015453A KR20137015453A KR20130130742A KR 20130130742 A KR20130130742 A KR 20130130742A KR 1020137015453 A KR1020137015453 A KR 1020137015453A KR 20137015453 A KR20137015453 A KR 20137015453A KR 20130130742 A KR20130130742 A KR 20130130742A
Authority
KR
South Korea
Prior art keywords
media file
user
media
master
server system
Prior art date
Application number
KR1020137015453A
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 KR20130130742A publication Critical patent/KR20130130742A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

데이터는 사용자의 복수의 미디어 파일들의 특성들을 나타낸다. 복수의 미디어 파일들은 미디어 라이브러리와 연관된다. 복수의 미디어 파일들 중 적어도 하나는 마스터 미디어 파일 내의 컨텐츠와 매칭된다. 매칭 미디어 파일 내의 컨텐츠는 마스터 미디어 파일의 품질 보다 낮은 품질이다. 사용자는 마스터 미디어 파일에 접근하기 위하여 결제를 할 수 있으며, 만약 사용자가 결제하면 마스터 미디어 파일은 미디어 라이브러리와 연관시켜지며 사용자는 마스터 미디어 파일로의 접근이 제공된다.

Description

다른 버전의 미디어 파일 제공 방법{PROVIDING DIFFERENT VERSIONS OF A MEDIA FILE}
본 출원은 그 명칭이 “다른 버전의 미디어 파일 제공 방법”인 2010년 11월 15일에 출원된 미국 출원 제12/946,770호에 대하여 우선권을 주장하며, 해당 출원의 모든 개시 내용은 참조로서 본 출원에 포함된다.
본 명세서는 일반적으로 미디어 파일에 관한 것이다.
미디어(예를 들어, 음악 및 비디오)의 소비자들은 갈수록 자신의 미디어 컬렉션들을 컴팩트 디스트(CDs), 디지털 비디오 디스크(DVDs) 또는 테이프 대신에 컴퓨팅 디바이스에서 국부적으로 접속 가능한(locally-accessible) 파일로서 저장한다. 소비자들은 CD나 DVD로부터 음악이나 비디오 파일들을 리핑하거나 온라인 미디어 스토어에서 미디어 파일들을 다운로드 함으로써 미디어 파일들을 얻을 수 있을 것이다.
일반적으로, 본 명세서에 기술된 발명의 목적의 일 측면은 미디어 파일들을 저장하기 위한 컴퓨터로 수행되는 방법으로 구현될 수 있다.
본 방법은 서버 시스템에서, 제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하는 단계를 포함한다. 본 방법은 서버 시스템에 의하여, 사용자 디바이스 상에 사용자에 대하여 저장되어 있는 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하는 단계를 포함하며, 특성 데이터는 사용자에 대하여 미디어 파일들이 서버 시스템에 저장된 미디어 라이브러리와 연관되어 있음을 판단하기 위하여 수행된 복수의 미디어 파일들의 스캔에 기초하여 생성된다. 본 방법은 서버 시스템에서, 복수의 미디어 파일들을 미디어 라이브러리와 연관시키는 단계를 포함한다. 본 방법은 서버 시스템에서 특성 데이터에 기초하여, 복수의 미디어 파일들 중 적어도 하나가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하는 단계를 포함한다. 본 방법은 서버 시스템에서, 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계를 포함한다. 본 방법은 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하는 단계를 포함한다. 본 방법은 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 마스터 미디어 파일을 미디어 라이브러리와 연관시키고 사용자에게 서버 시스템에 저장되어 있는 마스터 미디어 파일로의 접근을 제공하는 단계를 포함한다.
본 측면 또는 다른 측면들은 선택적으로 하나 또는 그 이상의 다음 특징들을 포함할 수 있다. 사용자에게 서버 시스템에 저장되어 있는 매칭 미디어 파일로의 접근을 제공하는 단계는, 서버 시스템에서 사용자 디바이스로부터 마스터 미디어 파일의 사용자 디바이스로의 다운로드 요청을 수신하는 단계 및 요청의 수신에 대응하여 사용자 디바이스로 마스터 미디어 파일을 전송하는 단계를 포함한다. 사용자에게 서버 시스템에 저장되어 있는 매칭 미디어 파일로의 접근을 제공하는 단계는, 서버 시스템에서 사용자 디바이스로부터 마스터 미디어 파일의 사용자 디바이스로의 스트리밍 요청을 수신하는 단계 및 요청의 수신에 대응하여 사용자 디바이스로 마스터 미디어 파일을 스트리밍 하는 단계를 포함한다. 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하는 단계는, 사용자가 마스터 미디어 파일들로의 접근을 제공하는 구독(subscription)의 일부에 대하여 결제를 하였는지를 판단하는 단계를 포함할 수 있을 것이다. 본 방법은 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계에 대응하여, 사용자 디바이스가 사용자에게 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 사용자에게 요청하는(solicit) 프롬프트(prompt)를 디스플레이 하도록 하는 단계를 포함할 수 있을 것이다. 접근된 특성 데이터는 사용자 디바이스에 의하여 생성될 수 있을 것이다. 접근된 특성 데이터는 복수의 미디어 파일들의 음향 지문들을 포함할 수 있을 것이며, 음향 지문은 미디어 파일 내에 저장되어 있는 오디오 신호로부터 결정론적으로(deterministically) 생성되는 미디어 파일의 디지털 요약이다. 복수의 미디어 파일들 중 적어도 하나는 매칭 미디어 파일이라고 판단하는 단계는 매칭 미디어 파일의 음향 지문이 마스터 미디어 파일의 음향 지문과 매치된다고 판단하는 단계를 포함할 수 있을 것이다. 접근된 특성 데이터는 서버 시스템에 의하여 생성될 수 있을 것이다. 접근된 특성 데이터는 복수의 미디어 파일들에 대한 정보를 특정하는 메타데이터를 포함할 수 있을 것이다. 이 정보는 제목, 가수, 앨범 또는 비트 레이트 중 하나 또는 그 이상을 포함할 수 있을 것이다. 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 매칭 미디어 파일이 마스터 미디어 파일보다 낮은 비트 레이트로 오디오 신호를 인코딩한 것으로 판단하는 단계를 포함할 수 있을 것이다. 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 매칭 미디어 파일이 마스터 미디어 파일의 비트 레이트와 동일한 비트 레이트로 오디오 신호를 인코딩 하였으나 마스터 미디어 파일이 오디오 신호 내에 오디오 신호의 인코딩 처리 동안 야기된 결함들을 매칭 미디어 파일보다 더 적게 포함한다고 판단하는 단계를 포함할 수 있을 것이다. 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 마스터 미디어 파일이 매칭 미디어 파일의 더 긴 길이의 버전이라고 판단하는 단계를 포함한다.
또 다른 측면으로, 시스템은 사용자 디바이스 및 서버 시스템을 포함한다. 사용자 디바이스는 사용자에 대한 복수의 미디어 파일들을 저장한다. 서버 시스템은 제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하고, 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하고, 특성 데이터는 사용자에 대하여 미디어 파일들이 서버 시스템에 저장된 미디어 라이브러리와 연관되어 있음을 판단하기 위하여 수행된 복수의 미디어 파일들의 스캔에 기초하여 생성되며, 복수의 미디어 파일들을 미디어 라이브러리와 연관시키고, 특성 데이터에 기초하여 복수의 미디어 파일들 중 적어도 하나가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하고, 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하고, 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하고, 그리고 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 마스터 미디어 파일을 미디어 라이브러리와 연관시키고 사용자에게 서버 시스템에 저장되어 있는 마스터 미디어 파일로의 접근을 제공하도록 구성된다.
본 측면 및 다른 측면들은 하나 또는 그 이상의 다음 특징들을 포함할 수 있을 것이다. 예를 들어, 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하기 위하여 서버 시스템은 사용자가 마스터 미디어 파일들로의 접근을 제공하는 구독의 일부에 대하여 결제를 하였는지를 판단하도록 구성될 수 있을 것이다. 서버 시스템은 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 것에 대응하여, 사용자 디바이스가 사용자에게 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 사용자에게 요청하는 프롬프트를 디스플레이 하도록 추가로 구성될 수 있을 것이다.
또 다른 측면으로, 하나 또는 그 이상의 처리 장치들에 의하여 실행될 때 하나 또는 그 이상의 처리 장치들을 제어하는 명령어(instructions)를 저장하는 컴퓨터로 판독 가능한 매체로서, 명령어는 서버 시스템에서, 제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하고, 서버 시스템에 의하여, 사용자 디바이스 상에 사용자에 대하여 저장되어 있는 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하고, 특성 데이터는 사용자에 대하여 서버 시스템에 저장된 미디어 라이브러리와 연관시키기 위하여 미디어 파일들을 판단하도록 수행된 복수의 미디어 파일들의 스캔에 기초하여 생성되는 것을 특징으로 하며, 서버 시스템에서, 복수의 미디어 파일들을 미디어 라이브러리와 연관시키고, 서버 시스템에서 특성 데이터에 기초하여, 복수의 미디어 파일들 중 적어도 하나가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하고, 서버 시스템에서, 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하고, 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하고, 그리고 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 마스터 미디어 파일을 미디어 라이브러리와 연관시키고 사용자에게 서버 시스템에 저장되어 있는 마스터 미디어 파일로의 접근을 제공하도록 한다.
본 측면 및 다른 측면들은 하나 또는 그 이상의 다음 특징들을 포함할 수 있을 것이다. 예를 들어, 사용자가 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하기 위하여, 명령어는 하나 또는 그 이상의 처리 장치들이 사용자가 마스터 미디어 파일들로의 접근을 제공하는 구독의 일부에 대하여 결제를 하였는지를 판단하도록 하는 명령어를 포함할 수 있을 것이다. 명령어는 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 것에 대응하여, 사용자 디바이스가 사용자에게 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 사용자에게 요청하는 프롬프트를 디스플레이 하도록 하나 또는 그 이상의 처리 장치들을 제어하는 명령어를 포함할 수 있을 것이다.
특정 측면에서, 하나 또는 그 이상의 다음 이점들을 실현하기 위하여 특정 실시예가 구현될 수 있다. 사용자는 자신이 이미 소유하고 있는 미디어 파일들의 품질을 업그레이드 할 수 있을 것이다. 사용자는 새로운 버전의 미디어 파일에 대하여 총 비용을 지불하지 않고서도 미디어 파일의 업그레이드를 할 수 있을 것이다. 사용자는 미디어 파일을 소유할 권리에 대하여 비용을 이미 지불하였기 때문에 업그레이드로서 할인된 가격으로 더 새롭고 더 높은 품질 버전의 미디어 파일을 구매할 수 있다. 더 높은 품질 버전은 자신의 사용자 디바이스에서의 사용자의 시각적 및 청각적 즐거움을 증가시킬 수 있을 것이다.
하나 이상의 실시예에 대한 세부사항들은 이하의 기재와 첨부된 도면에서 설명된다. 다른 특징, 목적 및 이점들은 이 기재 및 도면, 그리고 청구항으로부터 명백해질 것이다.
도 1은 미디어 파일의 저장 및 업 셀링(upselling)의 수행을 위한 시스템 및 과정의 일 예를 나타낸다.
도 2는 미디어 파일의 저장 및 업 셀링의 수행을 위한 시스템의 일 예를 나타낸다.
도 3은 미디어 컨텐츠 품질 레벨의 종류들의 예를 나타낸다
도 4는 본 명세서에서 기술된 방법들 및 시스템들을 실행시키기 위하여 사용될 수 있는 시스템의 일 예를 나타내는 도면이다.
도 5는 본 명세서에서 기술된 방법들 및 시스템들을 실행시키기 위하여 클라이언트 또는, 서버 또는 복수의 서버들로서 사용될 수 있는 컴퓨팅 디바이스의 예들을 나타내는 블록도이다.
다양한 도면들에서 유사한 참조번호는 유사한 구성요소를 나타낸다.
본 명세서는 일반적으로 미디어 파일 식별, 저장 및 검색을 제공하는 시스템을 기술한다. 예를 들어, 서비스 제공자는 네트워크 상에서 미디어 스토리지 서비스를 제공할 수 있으며, 서비스의 사용자인 서비스 제공자에 대한 가입자는 자신들의 미디어 컬렉션들을 네트워크를 통하여 접속할 수 있는 서버 시스템에 업로드 할 것이다. 더욱이, 사용자는 서버 시스템에 저장된 미디어 파일들을 자신의 컴퓨팅 디바이스들로 다운로드 또는 스트리밍 할 수 있을 것이다. 어떤 경우에는 사용자는 미디어 파일의 제공자에게 지불될 요금을 내고 다운로드 된 미디어 파일을 그들의 미디어 컬렉션에 추가할 수 있을 것이다. 사용자의 미디어 컬렉션은 노래들이나 비디오들(예를 들어, 영화들)을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일부 경우에, 사용자의 미디어 컬렉션에 현재 포함된 미디어 파일의 컨텐츠보다 더 높은 품질의 미디어 컨텐츠를 포함하는 미디어 파일이 서버 시스템에 저장될 수 있을 것이다. 예를 들어, 사용자의 미디어 컬렉션에 포함된 미디어 파일은 낮은 품질의 소스로부터 유래된 컨텐츠를 포함할 수 있을 것이다. 예를 들어, 어떤 노래가 오디오 카세트 또는 비닐 앨범(vinyl album)으로부터 유래될 수 있으며, 동일한 노래의 더 높은 품질의 디지털 복원 버전이 시스템 서버에 저장되어 있다. 다른 예로서, 영화의 비디오가 비디오 카세트 테이프로부터 유래되고, 디지털 비디오 디스크(DVD) 또는 블루레이 디스크(Blu-Ray Disc)로부터 제공된 동일한 영화의 더 높은 품질의 버전이 시스템 서버에 저장되어 있다.
시스템 서버는 사용자의 미디어 컬렉션에 현재 포함되어 있는 것과 동일한 미디어 파일의 더 높은 품질의 버전을 사용자에게 제안한다. 더 높은 품질의 미디어 컨텐츠를 포함하는 미디어 파일은 낮은 품질 버전의 미디어 파일의 교체로서, 또는 낮은 품질 버전에 추가하는 것으로 사용자에게 제안될 수 있을 것이다. 예를 들어, 시스템 서버는 더 높은 품질 버전의 미디어 파일을 사용자에게 유료(예를 들어, 미디어 파일의 업 셀링)로 제안할 수 있을 것이다. 다른 예로서, 구독 서비스를 제공할 수 있을 것이다. 이것은 사용자가 미리 정해진 수 또는 무제한의 미디어 파일 업그레이드를 위하여 정기적으로 요금을 지불하는 서비스 제공자와 사용자 사이의 서비스 계약을 포함할 수 있을 것이다. 업그레이드 시, 낮은 품질 버전의 미디어 파일은 서버 시스템에 저장되어 있는 더 높은 품질 버전의 미디어 파일로 교체된다. 따라서, 다른 실시예로서, 서버 시스템은 사용자가 더 높은 품질 버전에 접근하기 위한 비용(예를 들어, 일회 요금 또는 구독료)을 지불하였는지를 판단하고, 만약 사용자가 더 높은 품질 버전에 접근하기 위한 비용을 지불하였다면 서버 시스템은 더 높은 품질 버전을 사용자의 미디어 라이브러리에 연관시키며, 사용자에게 더 높은 품질 버전으로의 접속을 제공한다. 더 높은 품질 버전의 미디어 파일은 어떤 경우에는 사용자의 청각적 및/또는 시각적 즐거움을 증가시킨다.
다른 예로서, 낮은 품질 레벨 버전의 미디어 컨텐츠를 포함하는 미디어 파일은 유사한 컨텐츠, 및 더 높은 품질의 미디어 파일 내의 컨텐츠와 같은 시청각 품질 레벨을 포함할 수 있을 것이며(예를 들어, 컨텐츠가 같은 비트 레이트로 인코딩 되고 같은 파일 타입으로 저장될 수 있음), 그러나 낮은 품질 레벨 버전의 미디어 컨텐츠는 높은 품질 레벨 버전의 미디어 컨텐츠보다 길이가 짧을 것이다. 다시 말해, 낮은 품질 레벨 미디어 컨텐츠는 높은 품질 레벨 미디어 컨텐츠의 서브셋(subset)일 수 있을 것이다.
다른 예로서, 낮은 품질 레벨 버전의 미디어 컨텐츠는 높은 품질 레벨 버전의 미디어 컨텐츠에서 발견되지 않을 결함들을 포함한다. 다른 예로서, 낮은 품질 레벨 버전의 미디어 컨텐츠는 높은 품질 레벨 버전의 미디어 컨텐츠에 포함되어 있는 미디어 컨텐츠의 종류들의 서브셋을 포함한다. 예를 들어, 낮은 품질 레벨 버전은 오직 오디오를 포함할 것이나, 높은 품질 레벨 컨텐츠는 오디오 및 비디오를 포함할 수 있을 것이다. 다른 예로서, 낮은 품질 버전은 손실 오디오 압축 포맷인 반면, 높은 품질 버전은 무손실 압축 포맷일 수 있을 것이다.
도 1은 미디어 파일의 저장 및 업셀링의 수행을 위한 시스템 및 과정의 일 예를 나타낸다. 도 1을 참조하면, 사용자 디바이스(126)는 미디어 컬렉션(130)을 포함하며 세 개의 미디어 파일들(130a-c)를 더 포함하는 국부적(local)이고 비네트워크(non-networked) 메모리를 포함한다. 미디어 파일은 미디어 컨텐츠(예를 들어, 들을 수 있는 소리, 비디오, 또는 이미지들의 어떠한 조합)를 디지털로 나타내는 파일일 수 있을 것이다. 예를 들어, 미디어 파일은 MP3 파일 포맷에 의한 음악의 디지털 표시, AVI 파일 포맷에 의한 비디오의 디지털 표시, 또는 JPG 포맷에 의한 이미지의 디지털 표시를 저장할 수 있을 것이다. 일부 경우에, 미디어 파일들(130a-c)은 현재 사용자에 의하여 소유된 노래들이나 비디오 컨텐츠의 컨텐츠들을 포함할 수 있을 것이다. 예를 들어, 사용자는 비닐 앨범의 컨텐츠들을 자신의 컴퓨터에 복사할 수 있을 것이다. 다른 예로서, 사용자는 비디오 테이프의 컨텐츠들을 복사하여 자신들의 컴퓨터에 복사할 수 있을 것이다. 일부 경우에, 미디어 파일들(130a-c)은 실제 가게 또는 온라인 가게로부터 구매될 수 있을 것이다. 예를 들어, 사용자는 음반 가게에 운전해가서 CD 음악 앨범을 구매하고, CD의 컨텐츠들을 자신의 컴퓨터에 복사할 수 있을 것이다. 유사하게, 사용자는 웹사이트를 방문하고, 음악가를 검색하고, 검색에 대응하여 표시된 음악 파일을 다운로드하기 위한 링크를 선택함으로써 함으로써 음반 가게의 온라인 웹사이트를 방문할 수 있을 것이다.
비록 도 1에는 세 개의 미디어 파일들(130a-c)가 도시되어 있으나, 사용자의 미디어 컬렉션(130)에 있는 미디어 파일들의 개수는 수천 개일 수 있으며, 매우 많은 저장 공간을 차지할 수 있을 것이다. 미디어 컬렉션(130)은 모으기 위하여 상당한 시간이 투입될 수 있으며, 상당한 비용이 들 수 있을 것이다. 따라서, 사용자는 복수의 디바이스들에서 미디어 컬렉션(130)에 접속하기를 원할 수 있으며, 자신의 음악 컬렉션을 잃지 않는 것이 보증될 것을 원할 것이다. 따라서, 사용자는 자신의 미디어 컬렉션(130)을 “클라우드”(cloud)(예를 들어, 서버 시스템을 통하여 호스트 되는 인터넷 기반의 미디어 스토리지 서비스)로 업로드 할 수 있을 것이다. 더욱이, 다른 실시예로서, 사용자 디바이스(126)는 사용자의 전체 미디어 컬렉션(130)을 저장하기 위한 충분한 국부적이고 비네트워크 메모리를 포함하지 않을 수 있을 것이다. 이것은 미디어 컬렉션(130)에 포함된 파일들의 개수뿐만 아니라 각 파일의 물리적 크기 때문일 것이다. 따라서, 사용자는 자신의 미디어 컬렉션(130)을 클라우드에 업로드 할 수 있을 것이며, 저장되어 있는 미디어 컬렉션(130)에 포함되지 않은 어느 국부적으로 저장된 미디어 파일들을 자신의 미디어 컬렉션(130)으로 주기적으로 업로드 할 수 있을 것이다. 더욱이, 예를 들어, 사용자는 자신의 미디어 컬렉션(130)에 포함된 미디어 파일들을 다른 버전들의 미디어 파일로 대체할 수 있을 것이다.
다른 실시예로서, 사용자 디바이스(126)의 사용자는 미디어 스토리지 서비스에 의하여 호스트 되는 웹사이트를 방문함으로써 미디어 파일들(130a-c)을 업로드 한다. 예를 들어, 웹사이트에서 사용자는 미디어 스토리지 서비스에 업로드 될 수 있는 파일들을 특정하기 위해 사용자 디바이스(126)의 디스플레이(127)에 다이얼로그 박스가 나타나도록 하는 링크를 선택할 수 있을 것이다. 사용자는 사용자가 미디어 스토리지 서비스에 업로드 하고 싶은 특정 미디어 파일들, 미디어 파일 종류들, 또는 미디어 파일들의 경로들을 특정할 수 있을 것이다. 다른 예로서, 사용자는 사용자 디바이스(126) 상에서 국부적으로 호스트 되는 어플리케이션 프로그램을 실행시키고, 어플리케이션 프로그램은 미디어 스토리지 서비스에 업로드 하기 위한 파일들을 사용자 디바이스(126)에서 검색한다. 다른 예로서, 사용자는 미디어 스토리지 서비스용 어플리케이션 프로그램을 실행시킨다. 이 어플리케이션 프로그램은 사용자 디바이스(126)가 자신의 미디어 컬렉션을 클라우드에 푸시하도록 허용할 수 있을 것이며, 또는 그렇지 않다면 자신의 미디어 컬렉션을 클라우드에 저장되어 있는 미디어 컬렉션과 동기화시킬 수도 있을 것이다.
사용자 디바이스(126)는 미디어 컬렉션에 포함되어 있는 미디어 파일들(130a-c)의 스캔을 수행함으로써 미디어 파일들(130a-c)을 식별하고 각 미디어 파일들의 품질 레벨을 식별하는 데이터를 생성하거나 수집할 수 있을 것이다. 특정 미디어 파일을 위해 전송되는 데이터는 예를 들어 다음에 열거되는 것들의 어떤 적절한 조합을 포함할 수 있을 것이다; (i) 미디어 파일의 크기(예를 들어, 3.4MB), (ii) 파일 포맷(예를 들어, MP3), (iii) 코덱, (iv) 비트 레이트(예를 들어, 224 kbits/s), (v) 지문(예를 들어, 음향 지문(acoustic fingerprint), (vi) 시간길이, 및 (vii) 미디어 컨테츠 메타데이터. 파일 포맷은 파일 내에 포함되어 있는 오디오 및/또는 비디오 데이터의 하나 또는 그 이상의 계층들의 종류를 정의할 수 있을 것이다. 코덱은 미디어 파일 내에 저장될 수 있는 로우(row) 오디오 및/또는 비디오 데이터의 부호화 및 복호화에 사용될 수 있을 것이다. 비트 레이트는 일반적으로 기록물(recording)의 단위 시간당 저장되어 있는 정보나 상세 내용(detail)의 양을 의미한다.
지문은 미디어 파일에 포함된 컨텐츠로부터 결정론적으로(deterministically) 생성되는 압축된 디지털 요약일 것이다. 예를 들어, 음향 지문은 오디오 파일에 저장되어 있는 오디오 신호로부터 결정론적으로 생성될 수 있을 것이며, 잠재적으로 데이터베이스 내에서 유사한 컨텐츠의 오디오 파일들을 빠르게 배치하는데 사용될 수 있을 것이다. 같은 것으로 들리고 동일한 피치를 가진 두 개의 노래가 완벽하게 비트 데이터가 일치(binary match)하는 것은 아니기 때문에, 음향 지문은 비트 단위로(bitwise)의 지문은 아닐 것이다. 음향 지문은 미디어 파일에 대하여 고속 푸리에 변환(Fast Fourier Transform)을 수행함으로써 생성될 수 있을 것이다. 다양한 예들로서, 음향 지문은 파일에 저장되어 있는 미디어 컨텐츠를 위하여 저장되어 있는 텍스트 기반의 메타데이터를 사용하여 생성되지는 않을 것이다. 유사한 메커니즘이 비디오 파일로부터 지문을 생성하기 위하여 수행될 수 있을 것이다. 다양한 예들로서, 음향 및 시각(visual) 지문은 오디오 및 비디오 컨텐츠를 포함하는 비디오 파일에 대하여 생성될 수 있을 것이다.
메타데이터는 미디어 파일 내에 포함된 미디어 컨텐츠를 설명하는 텍스트 기반의 데이터일 것이다. 메타데이터는 미디어 파일의 일부로서 포함될 수 있을 것이다. 따라서, 미디어 파일은 컨텐츠 영역(예를 들어, 부호화된 오디오 및 비디오)과 메타데이터 영역(예를 들어, 컨텐츠를 설명하는 텍스트)을 포함할 수 있을 것이다. 메타데이터의 영역들은 메다데이터 영역들 각각에 대한 문맥(context)을 정의하는 데이터 요소들이 수반될 수 있을 것이다. 다른 실시예로서, 메타데이터는 연관된 음악적 컨텐츠(예를 들어, 뮤지컬 노래의 제목, 노래의 가수명, 앨범명, 앨범의 표지 그림의 이미지 파일, 노래 가사들, 노래의 길이, 및 노래의 장르)를 정의한다.
비록 본 설명은 다른 종류의 미디어 컨텐츠(예를 들어, 비디오 컨텐츠)를 포함하는 미디어 파일에도 적용될 수 있을 것이나, 도시된 바와 같이 도 1을 참조하여 음악적 컨텐츠를 포함하는 미디어 파일들에 대하여 설명을 계속한다. 본 예로서, 미디어 파일들(130a-c)은 음악적 컨텐츠를 포함한다. 예를 들어, 사용자는 사용자 디바이스(126)가 미디어 파일(130b)에 포함되어 있는 노래 “B”를 재생하도록 요청한다. 이 행동으로 사용자 디바이스(126)는 그 미디어 컬렉션(130)에 포함되어 있는 미디어 파일들(130a-c)을 분석하고, 미디어 스토리지 서버 시스템(106)으로 미디어 컬렉션(130)의 컨텐츠 및 품질 레벨을 식별하는 데이터(104)를 전송한다. 다른 실시예로서, 사용자 디바이스(126)는 오직 사용자에 의하여 선택된 미디어 파일(130b)을 분석하고, 서버 시스템(106)으로 하나의 미디어 파일(130b)에 대한 데이터를 전송한다. 다른 실시예로서, 사용자 디바이스(126)는 정기적으로 정해진 시간(예를 들어, 하루 한번, 일주일에 한번)에 자신의 미디어 컬렉션(130)에 포함되어 있는 미디어 파일들(130a-c)을 분석하고, 서버 시스템(106)으로 미디어 컬렉션(130)에 대한 데이터를 전송한다.
서버 시스템(106)은 미디어 파일들(130a-c)을 미디어 라이브러리와 연관시키고(박스 108), 미디어 컬렉션(130) 내의 미디어 파일들(130a-c)의 컨텐츠가 서버 시스템(106)의 마스터 미디어 파일들(116)에 각각 포함되어 있는 마스터 미디어 파일들(116a-c)의 컨텐츠와 매치되는 컨텐츠를 포함하는지 여부를 판단한다. 도 1에 도시된 예로서는, 서버 시스템(106)은 미디어 파일들(130a-c)의 마스터 버전, 마스터 미디어 파일들(116a-c)을 각각 식별한다. 예를 들어, 도 2를 참조하여 설명되듯이, 서버 시스템(106)은 마스터 미디어 저장소 내에 포함될 수 있는 마스터 미디어 파일들(116)에 저장되어 있는 마스터 미디어 파일들에 접속하여 마스터 미디어 파일들(116a-c)을 식별한다. 다른 실시예로서, 서버 시스템(106)은 미디어 파일들(130a-c)의 하나 또는 그 이상(또는 전부)의 마스터 버전들을 식별하지 못할 수도 있을 것이다.
서버 시스템(106)은 서버 시스템(106)에 업로드 된 미디어 파일들(130a-c)의 컨텐츠 및 품질 레벨을 식별하는 특성 데이터에 기초하여, 미디어 파일들(130a-c) 중 마스터 미디어 파일들(116)의 하나 또는 그 이상의 컨텐츠와 매치되는 컨텐츠를 포함하는 것이 있는지 여부를 판단하고, 만약 그렇다면, 그 매치되는 미디어 파일들 중 어느 것이 마스터 미디어 파일들(116)에 포함된 컨텐츠보다 낮은 품질 레벨의 컨텐츠를 포함하는지 여부를 판단한다. 다른 실시예로서, 업로드 하는 과정은 서버 시스템(106)에 미디어 컬렉션에 포함되어 있는 각 미디어 파일에 대한 미디어 컨텐츠에 덧붙여 각 미디어 파일의 컨텐츠 및 품질 레벨을 식별하는 데이터를 전송하는 단계를 포함할 수 있을 것이다. 미디어 컨텐츠에 더하여 식별 데이터를 업로드 하는 것은 서버 시스템(106)이 미디어 컬렉션의 컨텐츠를 다른 컴퓨팅 디바이스로 전송할 수 있게 한다.
일부 실시예로서, 사용자 디바이스(126)는 미디어 컬렉션(130) 내의 노래들 각각에 대한 특성을 미디어 스토리지 서버 시스템(106)으로 전송할 수 있을 것이다. 일부 실시예로서, 노래 자체를 포함하는 미디어 파일이 서버 시스템(106)으로 전송되고, 서버 시스템(106)은 특성(예를 들어, 컨텐츠 식별 및 품질 식별 특성들)을 추출한다. 어느 경우라도, 서버 시스템(106)은 노래들 각각에 대하여 특성들을 수신하고 서버 시스템(106)에서 매치되는 노래를 식별하는 과정을 수행한다. 매칭된 노래들은 서버 시스템(106)에 의하여 저장된 마스터 미디어 파일들(116a-c) 내의 미디어 컨텐츠로서 식별될 수 있다.
서버 시스템(106)은 업로드된 미디어 파일에 대하여 매치되는 컨텐츠를 가진 마스터 미디어 파일을 식별하지 않을 것이다. 이러한 경우, 사용자 디바이스(126)의 사용자는 사용자 디바이스(126)에서 계속해서 미디어 파일을 재생할 수 있으며, 더 높은 품질 버전의 미디어 파일의 구매가 유도되지는 않을 것이다. 대안적 경우로, 업로드 된 미디어 파일은 마스터 미디어 파일의 컨텐츠와 매치되는 컨텐츠를 포함할 수 있다. 그러면 업로드 된 미디어 파일은 매칭되는 미디어 파일로 일컬어질 수 있다. 매칭되는 미디어 파일의 컨텐츠는 마스터 미디어 파일의 컨텐츠보다 더 높은 품질 레벨일 수 있을 것이다. 이러한 경우, 사용자 디바이스(126)의 사용자는 사용자 디바이스(126)에서 미디어 파일을 계속해서 재생할 수 있으며, 더 높은 품질 버전의 미디어 파일의 구매가 유도되지는 않을 것이다. 다른 경우로서, 매칭되는 미디어 파일의 컨텐츠는 마스터 미디어 파일의 컨텐츠보다 더 낮은 품질 레벨일 수 있을 것이다. 이러한 경우, 서버 시스템(106)은 식별된 더 높은 품질 버전의 미디어 파일로의 접속을 수신하기 위한 결제를 사용자에게 요청하는 프롬프트(prompt)를 사용자 디바이스(126)가 디스플레이 함으로써 사용자 디바이스(126)의 사용자에게 더 높은 품질 버전의 미디어 파일을 통지할 수 있을 것이다. 사용자 디바이스(126)는 사용자가 더 높은 품질 레벨 버전을 다운로드 하거나 또는 그렇지 않다면 접속하도록 유도하는 프롬프트를 포함하는 그래픽 인터페이스 요소(128)를 포함할 수 있을 것이다.
도 1에 도시된 예로서, 서버 시스템(106)은 어떤 마스터 미디어 파일들(116b 및 116c)이 사용자 미디어 파일들(130b 및 130c)에 포함된 컨텐츠의 더 높은 품질 버전을 각각 포함하고 있다고 판단한다. 서버 시스템(106)은 마스터 버전의 미디어 파일들(130b-c)에 접속하기 위하여 결제하도록 사용자를 유도하여 사용자에게 통지한다(박스 110). 다시 말해, 사용자는 미디어 컬렉션(130) 내의 스토리지를 위한 사용자 디바이스(126)에 마스터 미디어 파일들(116b및 116c)에 접속하기 위한 결제가 유도된다. 예를 들어, 사용자 디바이스(126)는 사용자에게 더 높은 품질 버전의 노래 “B”(예를 들어, 노래는 미디어 파일(130b)의 컨텐츠에 의하여 표현됨)를 구매하여 얻을 수 있다는 것을 통지하는 프롬프트를 포함하는 그래픽 인터페이스 요소(128)를 디스플레이 한다. 일부 실시예로서, 비록 미디어 파일(130b)의 더 높은 품질 버전이 미디어 파일(130c)의 더 높은 품질 버전과 함께 식별되어도, 사용자는 오직 미디어 파일(130b)의 더 높은 품질 버전만을 구매하도록 유도될 수 있을 것이다. 일부 실시예로서, 사용자는 사용자의 미디어 컬렉션 내의 미디어 파일들과 비교하여 더 높은 품질의 컨텐츠를 가지는 것으로 식별된 구매를 위한 미디어 파일들의 리스트로서 유도될 수 있을 것이다. 사용자가 유도되었을 때, 사용자는 개인적으로 각각의 더 높은 품질의 미디어 파일을 구매하기 위하여 선택할 수 있을 것이다.
도 1의 예로서, 사용자는 미디어 파일(130b)의 더 높은 품질 버전을 구매하도록 선택한다(박스 112). 일부 실시예로서, 사용자는 더 높은 품질 버전의 구매를 위하여 업그레이드 요금이 부과될 수 있을 것이며, 업그레이드 요금은 미디어 파일의 최초 구매에 부가되는 크기보다 적다. 일부 실시예로서, 미디어 스토리지 서비스는 사용자의 계좌에 요금을 부과할 수 있을 것이며, 사용자는 사용자가 자신의 월 청구액을 지불할 때 부과된 요금을 다른 추가적인 요금들과 함께 지불할 수 있다. 일부 실시예로서, 미디어 스토리지 서비스는 사용자에게 일회용 요금을 부과할 수 있으며, 이때 사용자는 미디어 스토리지 서비스가 사용자가 제공한 신용 카드로 요금을 부과하도록 할 수 있다. 다른 실시예로서, 사용자는 월단위 서비스 요금으로 사용자에게 미리 정해진 수 또는 무제한의 업그레이드를 허용하는 업 셀링 서비스에 가입할 수도 있을 것이다. 이러한 경우, 사용자는 미디어 스토리지 서비스에 결제 정보를 제공할 필요가 없을 것이다. 일부 실시예로서, 업그레이드 당 부과되는 요금의 크기는 특정 시점에서 사용자에 의하여 선택된 업그레이드의 개수에 따라서 변화될 수 있을 것이다. 예를 들어, 만약 사용자가 같은 시점에 미디어 파일(130b) 및 미디어 파일(130c)를 모두 업그레이드하기로 선택하였다면, 동시에 둘 또는 그 이상의 미디어 파일들이 업그레이드 되면 미디어 파일 업그레이드 당 요금은 할인될 수 있을 것이다.
일부 실시예로서, 서버 시스템(106)은 사용자 디바이스의 요청을 제3자 서비스(third-party service)(예를 들어, 온라인 미디어 스토어)로 전달할 수 있을 것이다. 일부 예로서, 하나 이상의 특정 미디어 파일의 마스터 버전(이전에 저장되어 있거나 또는 생성될 수 있는)이 있을 수 있으며, 각 마스터 버전들은 다른 품질 레벨을 가질 수 있다. 요청에 대응하여, 사용자 디바이스(126)는 구매하려는 미디어 파일의 품질 레벨을 선택하기 위한 인터페이스(예를 들어, 구매하려는 노래의 복수의 비트 레이트들)를 디스플레이 하고, 선택된 버전은 사용자의 미디어 라이브러리(118)와 연관시켜질 것이다.
그리고 나서 서버 시스템(106)은 더 높은 품질 버전으로의 접속을 위하여 결제하였음을 판단하고, 마스터 미디어 파일들(116)에 포함되어 있는 마스터 미디어 파일(116b)을 미디어 라이브러리(118)와 미디어 파일(118b)로서 연관시킨다(박스 113). 미디어 파일들(130a 및 130b)은 미디어 라이브러리(118)와 미디어 파일들(118a 및 118c)로서 각각 연관되어 진다. 그리고 나서 서버 시스템(106)은 미디어 파일(130b)의 더 높은 품질 버전, 즉 미디어 파일(118b)을 사용자 디바이스(126)로 전송(예를 들어, 다운로드)한다(박스 124). 사용자 디바이스(126)는 미디어 파일(118b)을 재생할 수 있으며, 미디어 컬렉션(130)에서 미디어 파일(130b)을 미디어 파일(118b)로 대체할 수 있다(박스 129). 사용자에 의하여 구매되어 서버 시스템(106)으로부터 사용자 디바이스(126)로 다운로드 된 미디어 파일(118b)은 미디어 파일(130b)의 더 높은 품질 버전이다.
서버 시스템(106)은 만약 업로드 된 음악적 컨텐츠의 일부 영역에 대한 지문과 마스터 미디어 파일 내의 컨텐츠의 일부 영역에 대한 지문이 매치된 것으로 확인되면, 업로드 된 미디어 파일이 마스터 미디어 파일 내의 컨텐츠와 매치되는 음악적 컨텐츠를 포함한다고 판단할 수 있을 것이다. 다른 예로서, 매치된다고 하기 위하여는 업로드 된 음악적 컨텐츠의 모든 영역이 마스터 미디어 파일 내의 컨텐츠의 영역들과 매치될 필요가 있을 것이나, 마스터 미디어 파일 내의 컨텐츠의 모든 영역들이 업로드 된 미디어 파일 내의 컨텐츠와 매치될 필요는 없을 것이다. 다시 말해, 업로드 된 미디어 컨텐츠는 마스터 미디어 파일에 의하여 저장되는 컨텐츠의 서브셋일 수 있을 것이다(예를 들어, 마스터 미디어 파일 내의 컨텐츠는 업로드 된 음악적 컨텐츠 내에 없는 추가적인 소절(verse)을 포함할 수 있을 것이다).
일부 예로서, 서버 시스템(106)은 만약 컨텐츠와 연관되는 메타데이터 또는 그 일부가 매치되면, 업로드 된 미디어 컨텐츠가 마스터 미디어 파일 내의 컨텐츠와 매치되는 것으로 판단한다. 예를 들어, 만약 업로드 된 미디어 파일 내의 노래에 대한 가수명 및 노래 제목이 마스터 미디어 파일에 대한 가수명 및 노래 제목과 같거나 유사하면, 노래가 매치될 것이다. 유사하게, 만약 노래들이 동일한 앨범에서 유래되거나, 유사한 가사를 가지거나, 또는 삽화(artwork)를 공유하는 것으로 판단되면, 노래들이 매치될 가능성이 높아질 수 있을 것이다. 일부 예로서, 메타데이터의 매칭 및 (예를 들어, 음향 지문에 기초한) 음악적 컨텐츠의 매칭의 조합에 기초하여 업로드 된 미디어 컨텐츠가 마스터 미디어 파일과 매치되는 것으로 판단된다.
다른 실시예로서, 만약 업로드 된 미디어 파일이 서버 시스템(106)의 미디어 컨텐츠와 매칭되지 않는다고 판단되는 미디어 컨텐츠를 포함하면, 업로드 된 미디어 파일은 서버 시스템(106)에 저장되며, 이는 미디어 라이브러리에 포함되고 미디어 컨텐츠를 위한 마스터 미디어 파일로서 지정될 수 있을 것이다(그리고 다른 마스터 미디어 파일들(116)과 함께 저장될 수 있을 것이다). 따라서, 미디어 스토리지 서비스의 다른 사용자가 동일한 (그러나 아마도 다른 품질 레벨을 가지는) 미디어 컨텐츠를 업로드 하면, 서버 시스템은 매치되는 노래가 존재하는 것을 식별할 것이다.
일단 매칭이 식별되면, 서버 시스템(106)은 각각의 마스터 미디어 파일 내의 컨텐츠에 관해서 업로드 된 미디어 파일 내의 컨텐츠의 “품질 레벨”을 판단한다. 사실상, 서버 시스템(106)은 업로드 되고 있는 미디어 파일 내의 컨텐츠가 서버 시스템에 현재 저장되어 있는 마스터 미디어 파일 내의 컨텐츠보다 더 높은 품질 레벨인지를 판단한다. 미디어 컨텐츠 품질 레벨은 (i) 미디어 컨텐츠를 포함하는 파일의 비트 레이트, (ii) 미디어 컨텐츠를 포함하는 파일의 포맷, (iii) 미디어 컨텐츠의 재생 길이, 및 (iv) 미디어 컨텐츠 내의 결함들의 어떠한 결합이나 가중(weighting)에 기초하여 판단될 것이다. 예를 들어, 만약 첫 번째 노래의 비트 레이트가 두 번째 노래의 비트 레이트보다 더 높고 다른 모든 품질 특성이 같다면, 첫 번째 노래는 두 번째 노래보다 더 높은 품질 레벨이라고 판단될 것이다. 파일 포맷들은, 예를 들어 손실 압축 파일 포맷들(예를 들어, MP3 및 WMA)보다 더 높은 품질 레벨로 간주되는 비압축 오디오 포맷들(예를 들어, WAV 및 AIFF)은 무손실 압축 오디오 포맷들(예를 들어, FLAC 또는 ALAC)보다 높은 더 높은 품질 레벨이라고 간주되는 미리 결정된 순위를 가질 것이다.
다양한 예로서, 사용자에게 재생되는 미디어 컨텐츠의 시간적 길이가 미디어 컨텐츠의 “품질 레벨”의 표시로서 사용될 수 있을 것이다. 예를 들어, 가장 높은 품질 레벨의 앨범 버전의 노래는 복수의 코러스 반복 및 다섯 개의 다른 소절들을 포함할 수 있을 것이다. 더 낮은 품질 레벨 라디오 버전의 노래는 오직 세 개의 소절들 및 각 소절에 대하여 하나의 코러스 반복만을 포함할 수 있을 것이다. 훨씬 더 낮은 품질 레벨 버전의 노래는 더 높은 품질 레벨 앨범 버전의 중간 부분으로부터 짧은 한 토막의 코러스를 포함하는 신호음(ringtone)일 수 있을 것이다(여기서 한 토막은 앨범 버전 노래의 시작 재생 시간 및 종료 재생 시간에 의하여 표시될 수 있을 것이다).
다양한 예로서, 더 높은 품질 레벨 버전의 미디어 컨텐츠는 비록 비트 레이트와 같은 다른 요인들이 동일하여도, 다른 미디어 컨텐츠보다 더 적은 결함들을 포함하는 미디어 컨텐츠일 수 있을 것이다. 예를 들어, 미디어 컨텐츠는 파일의 오류가 생긴 부분이나 소스 내의 결함(예를 들어, 스크래치가 있는 미디어 컨텐츠가 기록된 CD)들로부터 기인하는 스킵(skip), 튀는 음(pop) 또는 다른 문제들을 포함할 수 있을 것이다.
사용자는 추후 노래가 업로드 된 장치(본 예로서는 사용자 디바이스(126)) 또는 다른 장치(예를 들어, 컴퓨팅 디바이스(102)) 중 어느 것을 사용하여, 클라우드를 통하여 미디어 스토리지 서비스에 사용자가 “업로드 한” 미디어 파일에 접근할 수 있을 것이다. 예를 들어, 컴퓨팅 디바이스(126)의 사용자는 사용자가 로그인 정보(login credentials)(예를 들어, 사용자 이름 및 비밀번호)로 미디어 스토리지 서비스에 로그인하였을 때 자신의 미디어 컬렉션(130)을 업로드 할 수 있을 것이다. 동일한 사용자는 추후 다른 장치(예를 들어, 컴퓨팅 디바이스(102))로 동일한 로그인 정보를 사용하여 미디어 스토리지 서비스에 로그인 할 수 있을 것이며, 저장된 미디어의 모든 또는 사용자가 특정한 부분들을 다운로드 할 수 있을 것이다.
예를 들어, 사용자는 컴퓨팅 디바이스(102)(예를 들어, 컴퓨팅 디바이스는 사용자가 사업 목적으로 사용하는 노트북 컴퓨터)에 국부적으로 저장된 미디어 파일들(130a-c)을 가지지 않는 컴퓨팅 디바이스(102)를 사용하고 있을 수 있다. 사용자는 사용자가 컴퓨팅 디바이스(102)에 다운로드 받은 어플리케이션 프로그램을 사용하여 컴퓨팅 디바이스(102) 상의 미디어 파일들(130a-c)에 접근할 수 있을 것이다. 어플리케이션 프로그램은 사용자가 서버 시스템(106)에 업로드 했던 자신의 미디어 컬렉션(118)을 살펴보고 컴퓨팅 디바이스(102)로 선택한 미디어 파일들을 다운로드 하거나 스트리밍 할 수 있도록 허락할 것이다.
예를 들어, 사용자는 컴퓨팅 디바이스(102)가 미디어 파일(130b)(노래 “B”)을 재생할 것을 요청할 수 있을 것이다. 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 상에 국부적으로 저장된 미디어 파일(130b)을 가지지 않는다. 컴퓨팅 디바이스(102)는 서버 시스템(106)에 서버 시스템(106)으로부터 컴퓨팅 디바이스(102)로 미디어 파일(130b)의 미디어 컨텐츠를 스트리밍(또는 다운로드)할 것을 요청할 수 있다(박스 122). 서버 시스템(106)은 요청을 수신하고, 사용자는 자신의 미디어 컬렉션(130)에 포함시키기 위하여 미디어 파일(130b)의 더 높은 품질 버전(미디어 파일(118b))을 이전에 구매하였기 때문에, 요청에 대응하여 서버 시스템(106)은 컴퓨팅 디바이스(102)로 미디어 파일(130b)의 더 높은 품질 버전(미디어 파일 (118b))을 (예를 들어, 스트리밍 또는 다운로드에 의하여) 전송한다(박스 123). 컴퓨팅 디바이스(102)는 노래를 재생하기 위하여 사용자에게 사용자 인터페이스를 디스플레이 할 수 있을 것이다. 비록 도 1에 도시되지는 않았으나, 인터페이스는 노래의 일시 정지, 노래의 재시작, 노래의 건너뛰기(skip), 및 서버 시스템(106)에 의하여 제공되는 미디어 스토리지 서비스에 의하여 사용자를 위해 저장된 다른 미디어 파일들을 브라우징 하는 제어를 포함할 수 있을 것이다.
예를 들어, 사용자는 컴퓨팅 디바이스(102)가 미디어 파일(130c)(노래 “C”)을 재생할 것을 요청할 수 있을 것이다. 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 상에 국부적으로 저장된 미디어 파일(130c)을 가지지 않는다. 컴퓨팅 디바이스(102)는 서버 시스템(106)에 서버 시스템(106)으로부터 컴퓨팅 디바이스(102)로 미디어 파일(130c)의 미디어 컨텐츠를 스트리밍 할 것을 요청할 수 있다(박스 131). 서버 시스템(106)은 요청을 수신하고, 사용자는 이전에 미디어 파일(130c)의 더 높은 품질 버전을 구매하지 않도록 선택하였기 때문에, 요청에 대응하여 서버 시스템(106)은 컴퓨팅 디바이스(102)로 미디어 파일(130c)의 더 낮은 품질 버전(미디어 파일(118a))을 전송한다(박스 132). 따라서, 미디어 파일(130c)의 더 높은 품질 버전(마스터 버전(116c))은 사용자의 미디어 컬렉션(130)에 포함되지 않는다.
도 2는 미디어 파일의 저장 및 업 셀링의 수행을 위한 시스템(200)의 예이다. 시스템(200)은 로컬 미디어 라이브러리(204) 및 미디어 파일 플레이어(206)를 포함하는 모바일 컴퓨팅 디바이스(202)를 포함한다. 모바일 컴퓨팅 디바이스(202)는 미디어 스토리지 서버 시스템(230)과 통신한다. 도 1의 사용자 디바이스(126)는 모바일 컴퓨팅 디바이스(202)의 예일 수 있다. 도 1의 미디어 스토리지 서버 시스템(106)이 미디어 스토리지 서버 시스템(230)의 예일 수 있다. 미디어 스토리지 서버 시스템(230)은 서버 시스템(230)에 업로드 된 미디어 파일들의 컨텐츠를 마스터 미디어 파일 저장소(264)에 저장되어 있는 마스터 미디어 파일들과 비교하는 미디어 파일 분석기(234)를 포함한다.
로컬 미디어 라이브러리(204)는 데이터 파일들의 컬렉션을 포함하며, 각 데이터 파일은 컨텐츠(예를 들어, 디지털로 인코딩된 오디오, 비디오 및/또는 사진들) 및 미디어 컨텐츠에 관한 정보를 식별하는 메타데이터를 포함할 수 있을 것이다. 예를 들어, 도 1을 참조하면, 로컬 미디어 라이브러리(204)는 미디어 파일들(130a-c)을 포함할 수 있을 것이다. 모바일 컴퓨팅 디바이스(202)의 사용자는 장치가 미디어 스토리지 서버 시스템(230)에 미디어 라이브러리(204)(또는 그 일부)를 업로드 하도록 요청할 수 있을 것이다. 이에 대응하여, 모바일 컴퓨팅 디바이스(202)는 (i) 미디어 라이브러리 내의 파일들, 또는 (ii) 파일들의 특성들을 식별하는 정보(예를 들어, 미디어 컨텐츠 그 자체가 아닌 메타데이터 및 미디어 파일 지문들) 중 어느 것을 서버 시스템(230)으로 전송할 수 있을 것이다.
다른 실시예로서, 모바일 컴퓨팅 디바이스(202)는 모바일 컴퓨팅 디바이스(202)에 위치한 미디어 파일 지문 생성기(208)가 미디어 파일 지문을 생성할 때, 미디어 파일 지문을 서버 시스템(230)으로 전송한다. 다른 실시예로서, 모바일 컴퓨팅 디바이스(202)는 서버 시스템(230)에 위치한 미디어 파일 지문 생성기(232)가 미디어 파일 지문을 생성할 때, 미디어 파일을 서버 시스템(230)으로 전송한다. 미디어 파일 지문 생성기의 동작은 음향 지문의 생성과 관련하여 본 명세서의 이전 부분에서 논의되었다.
어느 쪽이든, 서버 시스템(230)은 모바일 컴퓨팅 디바이스(202) 또는 서버 시스템(230) 중 어느 하나에 의하여 판단된 대로 로컬 미디어 라이브러리(204)의 특성들을 식별하는 정보를 수신한다. 이에 대응하여, 미디어 파일 분석기(234)는 매칭 미디어 컨텐츠가 서버 시스템(230)에 저장되어 있는지(예를 들어, 저장소(264)에 저장된 마스터 미디어 파일들 중 어느 것이 업로드 된 미디어 컨텐츠에 대한 매칭 미디어 컨텐츠를 포함하는지)를 판단하기 위하여 업로드 된 미디어 컨텐츠를 분석한다. 미디어 파일 분석기(234)는 업로드 된 미디어 파일 내의 컨텐츠를 마스터 미디어 파일의 컨텐츠와 비교한다. 비교는 예를 들어, 미디어 파일 지문들, 메타데이터, 미디어 재생 길이, 비트 레이트, 및 미디어 결함들에 대한 두 개의 미디어 파일들의 조합들 각각에 대하여 평가할 수 있다. 그러한 비교를 통하여 미디어 파일 분석기(234)는 업로드 된 미디어 파일들에 매칭되는 마스터 미디어 파일들을 식별할 수 있을 것이다.
만약 업로드 된 미디어 파일이 (본 명세서를 통하여 설명되었듯이) 매칭 마스터 미디어 파일보다 더 낮은 품질 레벨이라면, 서버 시스템(230) 내에 포함되는 결제 모듈(236)은 사용자에게 더 높은 품질 버전의 업로드 된 미디어 파일(마스터 미디어 파일 또는 파일들)을 얻을 수 있다는 것에 대하여 통지하고 사용자에게 미디어 파일의 업그레이드 비용을 제공한다.
모바일 컴퓨팅 디바이스(202) 내에 포함된 업그레이드 모듈(210)은 사용자에게 사용자가 업그레이드 하기 위한 미디어 파일을 선택할 수 있도록 하고 필요하면 결제 정보를 제공할 수 있도록 하는 인터페이스를 디스플레이 한다. 만약 사용자가 업로드 된 미디어 파일을 업그레이드 하기로 결정하면, 마스터 미디어 파일은 미디어 라이브러리 업데이터(238)에 의하여 사용자의 미디어 라이브러리와 연관지어진다. 미디어 라이브러리 업데이터(238)는 로컬 미디어 라이브러리(204)에 저장(예를 들어, 더 높은 품질의 미디어 파일은 존재하는 매칭 미디어 파일을 교체하거나 매칭 미디어 파일과 함께 저장될 수 있음)하기 위하여 또는 스트리밍 된 미디어 파일을 일시적으로 버퍼링하기 위하여 모바일 컴퓨팅 디바이스(202)로 더 높은 품질의 미디어 파일을 전송한다.
더욱이, 서버 시스템(230)은 모바일 컴퓨팅 디바이스(202)의 사용자가 로컬 미디어 라이브러리(204)의 컨텐츠를 사용자 미디어 파일 저장소(262)에 저장하도록 하는 인터넷 기반 미디어 스토리지 서비스를 호스트할 수 있을 것이다. 서버 시스템(230)은 저장소(262 및/또는 264)로부터 로컬 미디어 라이브러리(204)를 포함하지 않는 사용자 디바이스들(모바일 컴퓨팅 디바이스(202) 이외의 사용자 디바이스들)로 미디어 파일들을 스트리밍 할 수 있다. 예를 들어, 더 높은 품질 버전으로 업그레이드 되지 않은 미디어 파일들에 대하여, 미디어 파일은 사용자 미디어 파일 저장소(262)에 저장되고, 저장소(262)로부터 사용자 디바이스로 스트리밍 되거나 또는 전송될 수 있을 것이다. 업그레이드 되지 않은 미디어 파일들에 대하여 상응하는 마스터 버전이 마스터 미디어 파일 저장소(264)로부터 스트리밍 되거나 또는 전송될 수 있을 것이다.
도 3은 미디어 컨텐츠 품질 레벨의 종류들의 예를 나타낸다. 미디어 컨텐츠의 제1 품질 레벨이 매칭 미디어 컨텐츠의 제2 품질 레벨보다 더 높은지 여부에 대한 판단은 아래 설명되는 미디어 컨텐츠 품질의 종류들을 고려할 수 있을 것이다.
미디어 컨텐츠 품질 레벨을 판단하는데 사용될 수 있는 미디어 컨텐츠 특성은 미디어 컨텐츠의 길이(302a)이다. 제1 미디어 컨텐츠는 만약 제1 미디어 컨텐츠가 제1 미디어 컨텐츠 내의 컨텐츠뿐만 아니라 추가적인 컨텐츠를 포함하면 제2 미디어 컨텐츠보다 더 높은 품질 레벨이라고 판단될 수 있을 것이다. 예를 들어, 도 3에서, 낮은 품질 레벨 버전의 미디어 컨텐츠(302b)는 (문자 ‘A’, ‘C’, 및 ‘D’로 표현되는) 여러 소절들과 (문자 ‘B’로 표현되는) 반복되는 코러스를 포함한다. 소절들 및 문자들은 도 2의 미디어 파일 지문 생성기(232)에 의하여 식별될 수 있을 것이다. 도 3에 도시한 바와 같이, 낮은 품질 레벨 버전의 미디어 컨텐츠(302b)에 포함되는 것과 동일한 소절이 높은 품질 레벨 버전의 미디어 컨텐츠(302c) 내에 식별되며, 반면에 높은 품질 레벨 버전의 미디어 컨텐츠(302c)는 (문자 ‘E’로 표현되는) 추가적인 소절을 포함한다. 높은 품질 레벨 버전의 미디어 컨텐츠(302c)는 동일한 코러스 ‘B’를 포함하지만, 각 소절 사이의 추가 시간에 코러스 ‘B’가 반복된다. 따라서, 도 1 및 도 2를 참조하여 설명되는 서버 시스템은 높은 품질 레벨 버전의 미디어 컨텐츠(302c)가 낮은 품질 레벨 버전의 미디어 컨텐츠(302b)보다 더 높은 품질 레벨이라고 판단할 수 있을 것이다.
미디어 컨텐츠 품질 레벨을 판단하는데 사용될 수 있는 다른 미디어 컨텐츠 특성은 메타데이터(304a)이다. (예를 들어, 동일한 미디어 파일 내에) 미디어 컨텐츠를 동반하는 메타데이터는 미디어 컨텐츠가 다른 버전의 미디어 컨텐츠보다 더 적은 또는 더 큰 품질 레벨인지를 판단하는데 사용될 수 있을 것이다. 이 예로서, 높은 품질 레벨의 메타데이터(304c)는 추가적인 메타데이터(예를 들어, 삽화, 가사, 웹사이트, 배급사, 아카펠라 버전, 및 연주 버전)를 포함하며, 따라서 오직 가수명, 노래 제목 및 앨범 이름만을 포함하는 미디어 컨텐츠(304b)의 버전보다 더 높은 품질 레벨이라고 판단될 수 있을 것이다.
미디어 컨텐츠 품질 레벨을 판단하는데 사용될 수 있는 다른 미디어 컨텐츠 특성은 비트 레이트(306a)이다. 더 높은 비트 레이트로 인코딩된 미디어 컨텐츠는 더 낮은 비트 레이트로 인코딩 된 유사한 미디어 컨텐츠보다 더 높은 품질 레벨이라고 판단될 수 있을 것이다. 이 예로서, 192kbps의 비트 레이트를 갖는 미디어 컨텐츠(306c)는 128kbps의 비트 레이트를 갖는 미디어 컨텐츠(306b)보다 더 높은 품질 레벨이라고 판단된다.
미디어 품질 레벨을 판단하는데 사용될 수 있는 다른 미디어 컨텐츠 특성은 코덱 또는 파일 종류(308a)이다. 상기 설명한 바와 같이, 몇몇 코덱 및 파일 종류들이 다른 코덱들보다 더 높은 품질 레벨이라고 미리 정의될 수 있을 것이다. 미디어 컨텐츠의 하나가 다른 미디어 컨텐츠보다 더 높은 품질 레벨의 코덱에 연관되어 있는지를 판단하기 위하여 매칭 미디어 컨텐츠 내의 두 종류들 사이에 비교가 이루어질 수 있을 것이다. 이 예로서 “코덱A”(308b)는 비압축 코덱(308c)보다 더 낮은 품질 레벨이라고 미리 정의되어 있다. 따라서, 비압축 코덱(308c)으로 인코딩된 미디어 컨텐츠는 “코덱A”(308b)로 인코딩된 미디어 컨텐츠보다 더 높은 품질 레벨이라고 판단된다.
미디어 품질 레벨을 판단하는데 사용될 수 있는 다른 미디어 컨텐츠 특성은 미디어 컨텐츠 내에서 식별된 결함(310a)을 포함할 수 있다. 적은 수 또는 전체 재생 시간의 결함을 가진다고 식별된 미디어 컨텐츠는 더 많은 결함들을 가지는 매칭 미디어 컨텐츠보다 더 높은 품질 레벨이라고 판단될 수 있을 것이다. 이 예로서, 미디어 컨텐츠(310b)는 (수직 실선들로 표시된) 복수의 결함들을 포함한다. 미디어 컨텐츠(310c)는 결함을 전혀 포함하지 않으며, 따라서 미디어 컨텐츠(310b)보다 더 높은 품질 레벨이라고 판단된다.
도 1을 참조하여 상기 설명한 바와 같이, 제1 종류의 미디어 컨텐츠는 전부는 아니나 몇 가지 특성들에 있어서 제2 종류의 매칭 미디어 컨텐츠보다 더 높은 품질 레벨이라고 판단될 수 있을 것이다. 그러한 경우, 적어도 측정되는 모든 특성들에 있어서 두 개의 마스터 미디어 파일들보다 더 높은 품질 레벨인 미디어 컨텐츠가 업로드 될 때까지, 두 개의 마스터 미디어 파일들은 서버 시스템에 저장되어 있을 수 있을 것이다. 다른 예로서, 도 3에 도시된 특성들의 서브셋 또는 그들 중 하나가 미디어 컨텐츠 품질 레벨의 판단에 사용된다.
이제 도 4를 참조하면, 본 명세서에서 설명된 시스템들 및 방법들을 실행하는데 사용될 수 있는 시스템의 개념적인 도면이 도시되어 있다. 모바일 컴퓨팅 디바이스(410)는 모바일 컴퓨팅 디바이스에게 네트워크(450)를 통한 많은 서비스들(460)로의 무선 접속을 제공하는 기지국(base station)(440)과 무선으로 통신할 수 있다.
본 도면에서, 모바일 컴퓨팅 디바이스(410)는 모바일 컴퓨팅 디바이스(410)의 사용자에게 컨텐츠를 표시하기 위한 터치 스크린 디스플레이 장치(412)를 포함하는 휴대폰(예를 들어, 스마트폰 또는 어플리케이션 전화기)으로 도시되어 있다. 모바일 컴퓨팅 디바이스(410)는 모바일 컴퓨팅 디바이스(410)의 동작에 영향을 미치는 사용자 입력을 수신하기 위한 다양한 입력 장치들(예를 들어, 키보드(414) 및 터치 스크린 디스플레이 장치(412))을 포함한다. 또 다른 예로서, 모바일 컴퓨팅 디바이스(410)는 노트북 컴퓨터, 태블릿 컴퓨터, PDA(personal digital assistant), 내장 시스템(예를 들어, 자동차 내비게이션 시스템), 데스크탑 컴퓨터, 또는 컴퓨터 워크스테이션(computerized workstation)일 수 있다.
모바일 컴퓨팅 디바이스(410)는 다양한 시각적, 청각적, 그리고 촉각적(tactile) 사용자 출력 메커니즘을 포함할 수 있다. 시각적 출력 메커니즘의 예는 시각적 사용자 인터페이스를 제공하기 위하여 조합되는 비디오, 그래픽, 영상, 및 텍스트를 시각적으로 디스플레이 할 수 있는 디스플레이 장치(412)이다. 예를 들어, 디스플레이 장치(412)는 3.7인치 AMOLED 스크린일 수 있다. 다른 시각적 출력 메커니즘은 LED 상태등(status lights)(예를 들어, 음성 메일이 수신되었을 때 깜빡이는 불)을 포함할 수 있을 것이다.
촉각적 출력 메커니즘의 예는 진동 알람(예를 들어, 전화가 걸려온 것을 사용자에게 알리거나 또는 사용자에게 터치 스크린(412)에 접촉되었음을 확인시키기 위하여 진동하는 것)을 제공하기 위하여 비대칭 추에 연결되어 있는 소형 전기 모터일 수 있다. 더욱이, 모바일 컴퓨팅 디바이스(410)는 전기적 신호를 소리, 예를 들어 음악, 가청 알람, 또는 통화 중의 개인 음성으로 변환하는 하나 또는 그 이상의 스피커(420)를 포함할 수 있을 것이다.
사용자 입력을 수신하는 메커니즘의 예는 숫자 ‘0-9’, ‘*’ 및 ‘#’을 위한 키들을 포함하는 종래의 키패드 또는 풀 쿼티 키보드(full qwerty keyboard)일 수 있는 키보드(414)를 포함한다. 키보드(414)는 사용자가 물리적으로 키보드 키에 접촉하거나 누를 때 입력을 수신한다. 트랙볼(416)의 사용자 조작 또는 트랙패드와의 상호 작용(예를 들어, 디스플레이 장치(412) 상에 커서의 위치를 조작하는 것)은 사용자가 모바일 컴퓨팅 디바이스(410)로 방향 및 회전율(rate of rotation) 정보를 제공할 수 있도록 한다.
모바일 컴퓨팅 디바이스(410)는 터치 스크린 디스플레이 장치(412)와의 물리적 접촉 위치(예를 들어, 손가락 또는 스타일러스(stylus)의 접촉 위치)를 판단할 수 있을 것이다. 터치 스크린(412)을 사용하여 그래픽 사용자 인터페이스 요소에 접촉함으로써 사용자가 터치 스크린(412) 상에 도시된 그래픽 사용자 인터페이스 요소와 상호작용할 때, 다양한 “가상” 입력 메커니즘이 생성될 수 있을 것이다. “가상” 입력 메커니즘의 예는 터치 스크린 상에 키보드가 디스플레이 되고 사용자가 각각의 키에 대응하는 터치 스크린(412)의 영역을 누름으로써 키들을 선택하는 “소프트웨어 키보드”이다.
모바일 컴퓨팅 디바이스(410)는 기계적 또는 터치 인식 버튼들을 포함할 수 있을 것이다. 더욱이, 모바일 컴퓨팅 디바이스는 하나 또는 그 이상의 스피커들(420)에 의하여 출력되는 음량을 조절하는 버튼들, 및 모바일 컴퓨팅 디바이스를 키거나 끄는 버튼을 포함할 수 있을 것이다. 마이크(422)는 모바일 컴퓨팅 디바이스(410)가 가청 소리를 디지털로 인코딩 되어 컴퓨터가 판독 가능한 메모리에 저장되거나 또는 다른 컴퓨팅 디바이스로 전송될 수 있는 전기적 신호로 변환하도록 한다. 모바일 컴퓨팅 디바이스(410)는 또한 디지털 나침반, 가속도계, 근접 센서들, 및 주변광 센서를 포함할 수도 있을 것이다.
오퍼레이팅 시스템은 모바일 컴퓨팅 디바이스의 하드웨어(예를 들어, 입력/출력 메커니즘들 및 컴퓨터로 판독 가능한 매체로부터 추출된 명령들을 실행하는 프로세서)와 소프트웨어 사이의 인터페이스를 제공할 수 있을 것이다. 오퍼레이팅 시스템들이 예는 안드로이드(ANDROID) 모바일 디바이스 플랫폼, 애플 아이폰/맥 OS X 오프레이팅 시스템, 마이크로소프트 윈도우(WINDOWS)7/윈도우 모바일 오퍼레이팅 시스템, 심비안(SYMBIAN) 오퍼레이팅 시스템, 림(RIM) 블랙베리 오퍼레이팅 시스템, 팜(PALM) 웹(WEB) 오퍼레이팅 시스템, 다양한 유닉스(UNIX) 기반의 오퍼레이팅 시스템들, 또는 컴퓨터 디바이스들을 위한 개인(proprietary) 오퍼레이팅 시스템을 포함할 수 있다. 오퍼레이팅 시스템은 컴퓨팅 디바이스와 사용자 사이의 상호작용을 활성화시키는 어플리케이션 프로그램들의 실행을 위한 플랫폼을 제공할 수 있을 것이다.
모바일 컴퓨팅 디바이스(410)는 터치 스크린(412)에 그래픽 사용자 인터페이스를 표시할 수 있다. 그래픽 사용자 인터페이스는 하나 또는 그 이상의 그래픽 인터페이스 요소들의 집합이며, 정적(예를 들어, 시구간에 걸쳐서 동일하게 유지되도록 나타나는 디스플레이)이거나 또는 동적(예를 들어, 사용자 입력 없이 움직이는(animate) 그래픽 인터페이스 요소들을 포함하는 그래픽 사용자 인터페이스) 일 수 있다.
그래픽 인터페이스 요소는 텍스트, 선, 모양, 영상, 또는 이들의 결합일 수 있다. 예를 들어, 그래픽 인터페이스 요소는 데스크탑 상에 디스플레이되는 아이콘 및 아이콘과 연관된 텍스트일 수 있다. 다른 예로서, 그래픽 인터페이스 요소는 사용자 입력으로 선택될 수 있는 것이다. 예를 들어, 사용자는 그래픽 인터페이스 요소의 디스플레이에 대응하는 터치 스크린의 영역을 누름으로써 그래픽 인터페이스 요소를 선택할 수 있을 것이다. 다른 예로서, 사용자는 관심을 가지고 있는 하나의 그래픽 인터페이스 요소를 강조하기 위하여 트랙볼을 조작할 수 있을 것이다. 그래픽 인터페이스 요소의 사용자 선택은 모바일 컴퓨팅 디바이스에 의하여 미리 정의된 동작을 야기시킬 것이다. 다른 예로서, 선택 가능한 그래픽 인터페이스 요소들은 추가적으로 또는 대안적으로 키보드(404) 상의 버튼에 대응된다. 버튼의 사용자 선택은 미리 정의된 동작을 야기시킬 것이다.
다른 예로서, 오퍼레이팅 시스템은 모바일 컴퓨팅 디바이스(410)를 켜는 것에 따라서 모바일 컴퓨팅 디바이스(410)를 슬립(sleep) 상태로부터 활성화시키거나, 모바일 컴퓨팅 디바이스의 “해제(unlocking)”에 따라서, 또는 “홈(home)” 버튼(418c)의 사용자 선택을 수신함에 따라서 디스플레이 되는 “데스크탑” 사용자 인터페이스를 제공한다. 데스크탑 그래픽 인터페이스는 사용자 입력으로 선택되었을 때 대응하는 어플리케이션 프로그램들을 기동시키는 몇몇 아이콘들을 디스플레이 할 수 있을 것이다. 기동된 어플리케이션 프로그램은 어플리케이션 프로그램이 종료되거나 화면에서 숨겨질 때까지 데스크탑 그래픽 인터페이스를 대체하는 그래픽 인터페이스를 표시할 수 있을 것이다.
사용자 입력은 모바일 컴퓨팅 디바이스(410) 동작들의 시퀀스를 조작할 수 있을 것이다. 예를 들어, 단일 동작의 사용자 입력(예를 들어, 터치 스크린 상에 한 번의 탭, 터치 스크린을 가로지르는 스윕 동작, 버튼과의 접촉, 또는 이들의 동시적인 조합)은 사용자 인터페이스의 디스플레이를 변경시키는 동작을 야기시킬 수 있을 것이다. 사용자 입력 없이는, 사용자 인터페이스는 특정 시점에 변경되지 않을 것이다. 예를 들어, 터치 스크린(412)에 대한 멀티 터치 사용자 입력은, 비록 지도 어플리케이션이 디폴트로 몇 초 후에 줌인 되더라도, 지도 어플리케이션이 어느 위치에서 “줌 인”하도록 할 것이다.
데스크탑 그래픽 인터페이스는 또한 “위젯(widgets)”을 디스플레이 할 수 있다. 위젯은 실행된 어플리케이션 프로그램과 연관되며 어플리케이션 프로그램을 실행시킴으로써 제어되는 데스크탑 컨텐츠 상에 디스플레이 되는 하나 또는 그 이상의 그래픽 인터페이스 요소들이다. 위젯의 어플리케이션 프로그램은 휴대폰과 함께 시작될 수 있다. 더욱이, 위젯은 전체 디스플레이에 주목하지 않는다. 대신, 위젯은 오직 데스크탑의 작은 영역만을 “차지”하며, 컨텐츠를 디스플레이 하고 데스크탑의 일부 영역 내의 터치 스크린 사용자 입력을 수신한다.
모바일 컴퓨팅 디바이스(410)는 하나 또는 그 이상의 장소 식별 메커니즘을 포함할 수 있을 것이다. 위치 식별(location-identification) 메커니즘은 휴대폰의 지리적 위치의 추정치를 오퍼레이팅 시스템 및 어플리케이션 프로그램들에 제공하는 하드웨어 및 소프트웨어의 집합일 수 있을 것이다. 위치 식별 메커니즘은 위성 기반 위치추적 기술, 기지국 전송 안테나 식별, 복수 기지국 삼각법(triangulation), 인터넷 액세스 포인트(IP) 위치 판단, 검색 엔진 쿼리에 기초한 사용자 위치의 추론적 식별(inferential identification), 및 사용자가 제공한 (예를 들어, 어느 장소로의 “체크 인”에 의한) 장소 식별자를 사용할 수 있을 것이다.
모바일 컴퓨팅 디바이스(410)는 다른 어플리케이션 모듈 및 하드웨어를 포함할 수 있을 것이다. 전화 처리 유닛은 전화 수신을 나타내는 정보(indication)를 수신하고 수신된 전화를 응답 가능성을 사용자에게 제공한다. 미디어 플레이어는 사용자가 모바일 컴퓨팅 디바이스(410)의 로컬 메모리에 저장되어 있는 음악을 듣거나 영화를 재생시키도록 할 수 있을 것이다. 모바일 컴퓨팅 디바이스(410)는 디지털 카메라 센서 및 대응하는 영상 및 비디오 캡쳐 및 편집 소프트웨어를 포함할 수 있을 것이다. 인터넷 브라우저는 사용자가 웹 페이지에 대응하는 주소를 타이핑함으로써 또는 웹 페이지로의 링크를 선택함으로써 웹 페이지로부터의 컨텐츠를 볼 수 있도록 할 수 있을 것이다.
모바일 컴퓨팅 디바이스(410)는 기지국(440)과 무선으로 정보를 통신하기 위한 안테나를 포함할 수 있을 것이다. 기지국(440)은 모바일 컴퓨팅 디바이스가 지리적으로 이동할 때 모바일 컴퓨팅 디바이스(410)가 네트워크(450)와의 통신을 유지할 수 있도록 하는, 기지국들의 집합(예를 들어, 휴대폰 셀룰러 네트워크(cellular network)) 내의 많은 기지국들 중 하나일 수 있을 것이다. 컴퓨팅 디바이스(410)는 대안적으로 또는 추가적으로 와이파이(Wi-Fi) 또는 유선 연결(예를 들어, 이더넷(Ethernet), USB, 또는 FIREWIRE)을 통하여 네트워크(450)와 통신할 수 있다. 컴퓨팅 디바이스(410)는 또한 다른 컴퓨팅 디바이스들과 블루투스(BLUETOOTH) 프로토콜을 사용하여 무선으로 통신하거나 또는 애드혹(ad-hoc) 무선 네트워크를 사용할 수도 있을 것이다.
기지국들의 네트워크를 운용하는 서비스 제공자는 모바일 컴퓨팅 디바이스(410)와 서비스들(460)을 제공하는 다른 컴퓨터 디바이스들 사이의 통신이 가능하도록 모바일 컴퓨팅 디바이스(410)를 네트워크(450)에 연결할 수도 있을 것이다. 비록 서비스들(460)은 다른 네트워크들(예를 들어, 서비스 제공자의 내부 네트워크, 공중 전화망(Public Switched Telephone Network, PSTN)을 통하여 제공될 수 있을 것이나, 네트워크(450)는 단일 네트워크로서 도시되었다. 서비스 제공자는 모바일 컴퓨팅 디바이스(410)와 서비스들(460)에 연관된 컴퓨팅 디바이스들 사이에서 정보 패킷 및 음성 데이터를 라우팅하는 서버 시스템(452)을 운용할 수 있을 것이다.
네트워크(450)는 모바일 컴퓨팅 디바이스(410)와 다른 컴퓨팅 디바이스 사이의 음성 또는 팩스 통신을 확립하기 위하여 모바일 컴퓨팅 디바이스(410)를 공중 전화망으로 연결할 수 있을 것이다. 예를 들어, 서비스 제공자 서버 시스템(452)은 PSTN(462)으로부터 모바일 컴퓨팅 디바이스(410)에 대한 전화 수신의 정보를 수신한다. 반대로, 모바일 컴퓨팅 디바이스(410)는 PSTN(462)을 통하여 접근 가능한 장치와 연관된 전화번호로 전화를 개시하는 통신을 서비스 제공자 서버 시스템(452)으로 전송할 수 있을 것이다.
네트워크(450)는 PSTN이 아니라 IP 네트워크를 통하여 음성 통신을 라우팅하는 음성 패킷망(Voice over Internet Protocol, VoIP) 서비스(464)로 모바일 컴퓨팅 디바이스(410)를 연결할 수 있을 것이다. 예를 들어, 모바일 컴퓨팅 디바이스(410)의 사용자는 VoIP 어플리케이션을 기동시키고 프로그램을 사용하여 통화를 개시시킬 수 있을 것이다. 서비스 제공자 서버 시스템(452)은 통화로부터의 음성 데이터를 VoIP 서비스로 포워딩하며, VoIP 서비스는 통화를 인터넷을 통하여 대응하는 컴퓨팅 디바이스로 라우팅할 수 있으며, 잠재적으로는 연결의 최종 경로로서 PSTN을 사용할 수 있을 것이다.
어플리케이션 스토어(466)는 모바일 컴퓨팅 디바이스(410)의 사용자에게 사용자가 네트워크(450)를 통하여 다운로드 하여 모바일 컴퓨팅 디바이스(410)에 인스톨할 수 있는 어플리케이션 프로그램들을 원격으로 저장한 리스트를 표시하는 기능을 제공할 수 있을 것이다. 어플리케이션 스토어(466)는 서드 파티 어플리케이션 개발자들에 의하여 개발된 어플리케이션들의 저장소로서 기능할 수 있을 것이다. 모바일 컴퓨팅 디바이스(410)에 인스톨된 어플리케이션 프로그램은 어플리케이션 프로그램에 대하여 지정된 서버 시스템과 네트워크(450)를 통하여 통신할 수 있을 것이다. 예를 들어, VoIP 어플리케이션 프로그램은 어플리케이션 스토어(466)으로부터 다운로드 될 수 있으며, 사용자가 VoIP 서비스(464)와 통신할 수 있도록 할 것이다.
모바일 컴퓨팅 디바이스(410)는 네트워크(450)를 통하여 인터넷(468) 상의 컨텐츠에 접근할 수 있을 것이다. 예를 들어, 모바일 컴퓨팅 디바이스(410)의 사용자는 지정된 URL(universal resource location)으로 접속 가능한 원격 컴퓨팅 디바이스로부터 데이터를 요청하는 웹 브라우저 어플리케이션을 기동시킬 수 있을 것이다. 다양한 예로서, 서비스(460)의 몇몇은 인터넷을 통하여 접근 가능하다.
모바일 컴퓨팅 디바이스는 개인 컴퓨터(PC)(470)와 통신할 수 있을 것이다. 예를 들어, PC(470)는 모바일 컴퓨팅 디바이스(410)의 사용자의 홈 컴퓨터일 수 있을 것이다. 따라서, 사용자는 자신의 PC(470)로부터 미디어를 스트리밍 할 수 있을 것이다. 사용자는 또한 자신의 PC(470)의 파일 구조(file structure)를 보고 컴퓨터 디바이스들 사이에서 선택된 문서를 전송할 수 있을 것이다.
음성 인식 서비스(472)는 모바일 컴퓨팅 디바이스의 마이크(422)로 기록된 음성 통신 데이터를 수신하고, 음성 통신을 대응하는 텍스트 데이터로 변환한다. 다른 예로서, 변환된 텍스트는 웹 쿼리로서 검색 엔진에 제공되고, 이에 대응하는 검색 엔진의 검색 결과들은 모바일 컴퓨팅 디바이스(410)로 전송된다.
모바일 컴퓨팅 디바이스(410)는 소셜 네트워크(474)와 통신할 수 있을 것이다. 소셜 네트워크는 많은 멤버를 포함할 수 있으며, 그들 중 몇몇은 지인으로서의 관계를 수락한다. 모바일 컴퓨팅 디바이스(410) 상의 어플리케이션 프로그램들은 모바일 컴퓨팅 디바이스의 사용자의 지인에 기초한 정보를 추출하기 위하여 소셜 네트워트(474)에 접근할 수 있을 것이다. 예를 들어, “주소록(address book)” 어플리케이션 프로그램은 사용자의 지인들의 전화번호들을 추출할 수 있을 것이다. 다양한 예로서, 사용자로부터 다른 멤버들까지의 소셜 네트워트 거리에 기초하여 컨텐츠가 모바일 컴퓨팅 디바이스(410)로 전달될 수 있을 것이다. 예를 들어, 광고 및 뉴스 기사 컨텐츠는 사용자에게 “친밀한(close)” 멤버들(예를 들어, “친구” 또는 “친구의 친구”인 멤버들)에 의한 그러한 컨텐츠와의 상호작용의 레벨에 기초하여 사용자에 대하여 선택될 수 있을 것이다.
모바일 컴퓨팅 디바이스(410)는 네트워크(4450)를 통하여 개인적인 연락처(476) 세트에 접근할 수 있을 것이다. 각각의 연락처는 개인을 식별하며 개인에 관한 정보(예를 들어, 전화번호, 이메일 주소, 및 생일)를 포함한다. 연락처 세트는 모바일 컴퓨팅 디바이스(410)로 원격으로 호스트 되기 때문에, 사용자는 공통 연락처 세트로서 몇몇 장치들에 걸쳐서 연락처(476)에 접근하고 유지할 수 있을 것이다.
모바일 컴퓨팅 디바이스(410)는 클라우드 기반 어플리케이션 프로그램들(478)에 접근할 수 있을 것이다. 클라우드 컴퓨팅은 모바일 컴퓨팅 디바이스(410)로부터 원격으로 호스트 되는 어플리케이션 프로그램(예를 들어, 워드 프로세서 또는 이메일 프로그램)을 제공하며, 웹 브라우징 또는 전용 프로그램을 사용하여 디바이스(410)에 의하여 접근 가능할 것이다. 클라우드 기반 어플리케이션 프로그램들의 예로서 구글 닥스(GOOGLE DOCS) 워드 프로세서 및 스프레드 시트(spreadsheet) 서비스, 구글 지메일 웹메일 서비스, 및 피카사(PICASA) 사진 매니저를 포함한다.
지도 서비스(480)는 모바일 컴퓨팅 디바이스(410)에 거리 지도, 경로 계획 정보, 및 위성 영상들을 제공할 수 있다. 지도 서비스의 예로서, 구글 맵스(GOOGLE MAPS)가 있다. 지도 서비스(480)는 또한 쿼리를 수신하고 장소 특정 결과들을 되돌려준다. 예를 들어, 모바일 컴퓨팅 디바이스(410)는 모바일 컴퓨팅 디바이스의 추정 장소 및 “피자 가게”에 대한 사용자 입력 쿼리를 지도 서비스(480)로 전송할 수 있을 것이다. 지도 서비스(480)는 근처의 “피자 가게”의 지리적 장소들을 식별하는 지도에 중첩된 “마커들”을 가지는 거리 지도를 되돌려줄 수 있을 것이다.
턴바이턴(turn-by-turn) 서비스(482)는 모바일 컴퓨팅 디바이스(410)로 사용자가 제공한 목적지에 대한 턴바이턴 길안내를 제공할 수 있을 것이다. 예를 들어, 턴바이턴 서비스(482)는 디바이스(410)로 디바이스의 추정 장소의 거리 레벨 뷰(street-level view)를 음성 명령들을 제공하고 디바이스(410)의 사용자가 목적지로 향하도록 하는 화살표를 중첩하는 데이터와 함께 스트리밍한다.
다양한 형태의 미디어 스트리밍(484)이 모바일 컴퓨팅 디바이스(410)에 의하여 요청될 수 있을 것이다. 예를 들어, 컴퓨팅 디바이스(410)는 미리 기록된 비디오 파일, 라이브 TV 프로그램, 또는 라이브 라디오 프로그램의 스트리밍을 요청할 수 있을 것이다. 미디어를 스트리밍하는 서비스의 예로서 유튜브(YOUTUBE) 및 판도라(PANDORA)를 포함한다.
마이크로 블로깅 서비스(486)는 모바일 컴퓨팅 디바이스(410)로부터 포스트(post)의 수령인을 식별하지 않는 사용자 입력 포스트를 수신할 수 있을 것이다. 마이크로 블로깅 서비스(486)는 포스트를 사용자에 대한 구독을 수락한 마이크로 블로깅 서비스(486)의 다른 멤버들에게 퍼뜨린다.
검색 엔진(488)은 모바일 컴퓨팅 디바이스(410)로부터 사용자가 입력한 텍스트 또는 음성(verbal) 쿼리들을 수신하고, 쿼리에 대응하는 인터넷으로 접근 가능한 문헌들의 세트를 판단하고, 디바이스(410)로 정보를 제공하여 대응하는 문헌들의 검색 결과들의 리스트를 디스플레이 한다. 예로서, 음성 쿼리가 수신되면 음성 인식 서비스(472)는 수신한 오디오를 검색 엔진으로 전송되는 텍스트 쿼리로 변환한다.
이들 또는 다른 서비스들이 서버 시스템(490)에서 실행될 수 있을 것이다. 서버 시스템은 서비스 또는 서비스들 세트를 제공하는 하드웨어와 소프트웨어의 조합일 수 있을 것이다. 예를 들어, 물리적으로 분리되고 네트워크화된 컴퓨터 디바이스들의 세트는 수백의 개인 컴퓨팅 디바이스들로 서비스를 제안하기 위하여 필요한 동작을 처리하는 논리적 서버 시스템 유닛으로서 함께 동작할 수 있을 것이다.
다양한 실시예들에서, 다른 동작(예를 들어, 판단 또는 식별)에 “대응하여” 수행되는 동작들은 선행 동작이 성공적이지 않으면(예를 들어, 만약 판단이 수행되지 않았다면) 수행되지 않는다. 본 명세서에서 조건문으로 기재된 특징들은 선택적인 실시예를 기술할 수 있을 것이다. 다른 예로서, 제1 디바이스로부터 제2 디바이스로의 “전송”은 제2 디바이스에 의한 수신을 위하여 제1 디바이스가 네트워크로 데이터를 발생시키는 것을 포함하지만, 제2 디바이스가 데이터를 수신하는 것을 포함하지 않을 수 있을 것이다. 반대로, 제1 디바이스로부터의 “수신”은 네트워크로부터 데이터를 받는 것을 포함할 수 있을 것이나, 제1 디바이스가 데이터를 전송하는 것은 포함하지 않을 수 있을 것이다.
도 5는 본 명세서에서 기술된 방법들 및 시스템들을 실행시키기 위하여 클라이언트 또는 서버 또는 복수의 서버들로서 사용될 수 있는 컴퓨딩 디바이스(500, 550)의 블록도이다. 컴퓨팅 디바이스(500)는 노트북, 데스크탑, 워크스테이션, PDA, 서버, 블레이드(blade) 서버, 메인프레임, 및 그 밖의 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위해 사용된다. 컴퓨팅 디바이스(550)는 PDA, 셀룰러 전화, 스마트폰, 및 그 밖의 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스들을 나타내기 위해 사용된다. 추가적으로, 컴퓨팅 디바이스(500 또는 550)는 USB 플래시 드라이브를 포함할 수 있다. USB 플래시 드라이브는 오퍼레이팅 시스템 및 다른 어플리케이션들을 저장할 수 있을 것이다. USB 플래시 드라이브는, 무선 송신기 또는 또 다른 컴퓨팅 디바이스의 USB 포트에 삽입될 수 있는USB 커넥터와 같은 입/출력 컴포넌트들을 포함할 수 있다. 여기에 보여지는 컴포넌트들, 그 연결 및 관계, 및 그 기능들은 단지 예시적인 것을 의미하고, 본 명세서에서 설명하거나 또는 청구된 발명의 실시예를 제한하는 것을 의미하지 않는다.
컴퓨팅 디바이스(500)는 프로세서(502), 메모리(504), 저장 디바이스(506), 메모리(504)에 접속하는 고속 인터페이스(508)와 고속 확장 포트(510), 및 저속 버스(514)와 저장 디바이스(506)에 접속하는 저속 인터페이스(512)를 포함한다. 각 구성요소(502, 504, 506, 508, 510, 및 512)는 다양한 버스들을 사용하여 서로 접속되고, 공통의 마더보드에 또는 적절한 다른 방식으로 탑재될 수 있다. 프로세서(502)는 컴퓨팅 디바이스(500) 내에서 실행하기 위한 명령어를 처리할 수 있으며, 이러한 명령어에는, 고속 인터페이스에 연결된 디스플레이(516)와 같은 외장 입/출력 디바이스상에서 GUI용 그래픽 정보를 디스플레이하기 위해, 메모리(504) 또는 저장 디바이스(506)에 저장되는 명령어가 포함된다. 다른 실시예로서, 다중 프로세서 및/또는 다중 버스는 적절한 경우, 다중 메모리 및 메모리 타입과 함께 사용될 수 있다. 또한, 복수의 컴퓨팅 디바이스(500)는 각 디바이스가 필요 동작의 부분을 제공하는 형태(예를 들어, 서버 뱅크, 블레이드 서버의 그룹, 또는 다중 프로세서 시스템)로 접속될 수 있다.
메모리(504)는 컴퓨팅 디바이스(500) 내에 정보를 저장한다. 일 실시예로서, 메모리(504)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 실시예로서, 메모리(504)는 비휘발성 메모리 유닛 또는 유닛들이다. 또한, 메모리(504)는 마그네틱 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(506)는 컴퓨팅 디바이스(500)를 위한 대용량 저장소(mass storage)를 제공할 수 있다. 일 실시예로서, 저장 디바이스(506)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래쉬 메모리 또는 다른 유사한 고체 상태(solid state) 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성에 존재하는 디바이스를 포함하는 디바이스 배열(array) 이거나 이들을 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어(information carrier) 내에 유형적으로 구체화될 수 있다. 또한, 컴퓨터 프로그램 제품은 실행될 때, 상술한 것과 같은 하나 또는 그 이상의 방법들을 수행하는 명령어를 포함할 수 있다. 정보 캐리어는 메모리(504), 저장 디바이스(506), 또는 프로세서(502)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
저속 제어부(512)가 저대역-집약적 동작(lower bandwidth-intensive operations)을 관리하는 반면, 고속 제어부(508)는 컴퓨팅 디바이스(500)에 대한 대역-집약적 동작을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일 실시예로서, 고속 제어부(508)는 (예를 들어, 그래픽 프로세서 또는 가속기를 통하여) 메모리(504), 디스플레이(516)에 연결되고, 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(510)에 연결된다. 이 실시예로서, 저속 제어부(512)는 저장 디바이스(506) 및 저속 확장 포트(514)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스들에 연결되거나, 또는 예컨대 네트워크 어댑터를 통하여, 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(500)는 도면에 도시된 바와 같이, 복수의 다른 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(500)는 표준 서버(520)로 구현되거나 이러한 서버들의 그룹에서 여러 번(multiple time) 구현될 수 있다. 또한, 컴퓨팅 디바이스(500)는 랙 서버 시스템(524)의 부분으로서 구현될 수 있다. 이에 더하여, 컴퓨팅 디바이스(500)는 노트북 컴퓨터(522)와 같은 개인용 컴퓨터 내에 구현될 수 있다. 선택적으로, 컴퓨팅 디바이스 (500)로부터의 구성요소는 디바이스(550)와 같은 모바일 디바이스(도시되지 않음) 내 다른 구성요소와 조합될 수 있다. 이러한 디바이스 각각은 하나 또는 그 이상의 컴퓨팅 디바이스(500, 550)를 포함하고, 전체 시스템은 서로 통신하는 다중 컴퓨팅 디바이스(500, 550)로 구성될 수 있다.
컴퓨팅 디바이스(550)는 여러 구성요소 중에서 프로세서(552), 메모리(564), 디스플레이(554)와 같은 입/출력 디바이스, 통신 인터페이스(566), 및 트랜스시버(568)를 포함한다. 또한, 디바이스(550)에는 추가적인 저장소를 제공하기 위하여, 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 각 구성요소(550, 552, 564, 554, 566, 및 568)는 다양한 버스를 이용하여 서로 접속되고, 구성요소의 몇몇은 공통의 마더보드에 탑재되거나 적절한 다른 방법으로 탑재될 수 있다.
프로세서(552)는 컴퓨팅 디바이스(550) 내에서 명령어를 실행하며, 이 명령어에는 메모리(564)에 저장된 명령어가 포함된다. 프로세서는 개별적이고 다중의 아날로그 및 디지털 프로세서를 포함하는 칩들의 칩 세트로서 구현될 수 있다. 추가적으로, 프로세서는 복수의 아키텍처 중 임의의 아키텍처를 사용하여 구현될 수 있을 것이다. 예를 들어, 프로세서(552)는 CISC(Complex Instruction Set Computers) 프로세서, RISC(Reduced Instruction Set Computer) 프로세서, 또는 MISC(Minimal Instruction Set Computer) 프로세서일 수 있다. 프로세서는, 예를 들어, 사용자 인터페이스의 제어, 디바이스(550)에 의해 실행되는 애플리케이션, 및 디바이스(550)에 의한 무선 통신과 같은 디바이스(550)의 다른 구성요소들 사이에 조정을 제공할 수 있다.
프로세서(552)는 제어 인터페이스(558) 및 디스플레이(554)에 연결된 디스플레이 인터페이스(556)를 통해 사용자와 통신할 수 있다. 디스플레이(554)는, 예를 들어, TFT(Thin-Film-Tansistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(556)는 그래픽 및 다른 정보를 사용자에게 나타내기 위해 디스플레이(554)를 구동하는 적절한 회로를 포함할 수 있다. 제어 인터페이스(558)는 사용자로부터 명령들을 수신하고, 프로세서(552)에 제출하기 위해 그 명령들을 변환한다. 더욱이, 확장 인터페이스(562)는 디바이스(550)와 다른 디바이스들간에 근거리 통신이 가능하도록 하기 위해, 프로세서(552)와의 통신에 제공될 수 있다. 확장 인터페이스(562)는, 예를 들어, 일부 실시예로서는 유선 통신을 제공하고 다른 실시예로서 무선 통신을 제공하며, 또한 다중 인터페이스가 사용될 수 있다.
메모리(564)는 컴퓨팅 디바이스(550) 내에 정보를 저장한다. 메모리(564)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 또한, 확장 메모리(574)가 제공되어, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함하는 확장 인터페이스(574)를 통해 디바이스(550)에 접속될 수 있다. 이러한 확장 메모리(574)는 디바이스(550)를 위한 여분의 저장 공간을 제공할 수 있고, 또한 어플리케이션 또는 디바이스(550)를 위한 다른 정보를 저장할 수 있다. 특히, 확장 메모리(574)는 상술된 프로세스를 실행하거나 보조하기 위한 명령어를 포함하고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(574)는 디바이스(550)용 보안 모듈(security module)로서 제공될 수 있고, 디바이스(550)의 안전한 사용을 가능하게 하는 명령어로 프로그램될 수 있다. 더욱이, 보안 어플리케이션은, 해킹할 수 없는 방식(non-hackable manner)으로 SIMM 카드상에 식별 정보를 위치시킨 것과 같은 추가적 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는 아래에서 논의되는 것과 같이 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예로서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화된다. 컴퓨터 프로그램 제품은 실행될 때, 상술된 것과 같은 하나 또는 그 이상의 방법을 수행하는 명령어를 포함한다. 정보 캐리어는, 예를 들어 트랜스시버(568) 또는 확장 인터페이스(562)를 통해 수신될 수 있는 메모리(564), 확장 메모리(574), 프로세서(552)상의 메모리와 같은 컴퓨터-또는 기계-판독가능 매체이다.
디바이스(550)는 디지털 신호 처리 회로를 필요에 따라 포함하는 통신 인터페이스(566)를 통해 무선으로 통신할 수 있을 것이다. 통신 인터페이스(566)는 GSM 음성 호, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등과 같은 다양한 모드 또는 프로토콜 하에서의 통신을 제공할 수 있다. 이러한 통신은 예를 들어, 무선-주파수 트랜스시버(568)를 통해 수행될 수 있다. 또한, 단거리(short range) 통신은 예를 들어, 블루투스, WiFi, 또는 다른 이러한 트랜스시버(도시되지 않음)를 사용하여 수행될 수 있다. 이에 더하여, GPS(Global Position System) 수신기 모듈(570)은 추가적인 항법- 및 위치- 관련 무선 데이터를 디바이스(550)에 제공할 수 있다. 이 무선 데이터는 디바이스(550)에서 실행중인 어플리케이션에 의해 적절하게 사용될 수 있다.
또한, 디바이스(550)는 사용자로부터의 발화 정보(spoken information)를 수신하고, 그 발화 정보를 사용가능한 디지털 정보로 변환하는 오디오 코덱(560)을 이용하여, 청취 가능하게(audibly) 통신할 수 있다. 또한, 오디오 코덱(560)은 예를 들어, 디바이스(550)의 핸드셋 내의 스피커를 통하는 것과 같이 해서, 사용자가 들을 수 있는 소리를 생성한다. 이러한 소리는 음성 전화 호로부터의 소리를 포함할 수 있고, 녹음된 소리(예를 들어, 음성 메시지, 뮤직 파일 등)를 포함할 수 있고, 또한 디바이스(550) 상에서 동작하는 애플리케이션에 의해 생성된 소리를 포함할 수 있다.
컴퓨팅 디바이스(550)는 도면에 도시된 바와 같이, 복수의 다양한 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(550)는 셀룰러 전화(580)로서 구현될 수 있다. 또한, 컴퓨팅 디바이스(550)는 스마트폰(582), PDA, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
본 명세서에 설명된 다양한 시스템과 방법의 여러 실시예는 디지털 전자 회로, 집적 회로, 특정 목적으로 설계된 ASICs(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 실시예에는 하나 이상의 컴퓨터 프로그램의 실시예가 포함되고, 이 컴퓨터 프로그램은 프로그램 가능한 시스템 상에서 실행가능 및/또는 해석가능(interpretable)하며, 프로그램 가능한 시스템은 저장 시스템에 연결되어 데이터와 명령을 송수신하는, 전용 또는 범용인 적어도 하나의 프로그램 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함한다.
이러한 컴퓨터 프로그램(또한, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드라 함)은 프로그램 가능한 프로세서용 기계 명령을 포함하고, 고레벨 절차 및/또는 객체지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에 사용되는 바와 같이, 용어 "기계-판독가능 매체", "컴퓨터-판독가능 매체"는 기계 명령 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는데 사용되는, 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광디스크, 메모리, 프로그램 가능한 로직 디바이스(PLD))를 지칭하며, 기계-판독가능 신호로서의 기계 명령을 수신하는 기계-판독가능 매체도 포함된다. 용어 "기계-판독가능 신호"는 기계 명령 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호작용을 제공하기 위하여, 본 명세서에 설명되는 시스템과 방법은, 정보를 사용자에게 디스플레이 하는 디스플레이 디바이스(예를 들어, 음극선관(CRT) 또는 LCD(liquid crystal display) 모니터) 및 사용자가 컴퓨터에 입력하는데 사용하는 키보드와 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터상에서 구현될 수 있다. 다른 카테고리의 디바이스도 사용자와의 상호작용을 제공하기 위하여 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 지각 피드백(시각, 청각 또는 촉각 피드백)의 임의 형태가 될 수 있고, 사용자로부터의 입력은 음향(acoustic), 음성(speech) 또는 촉각 입력을 포함하는 임의 형태로 수신될 수 있다.
본 명세서에 설명된 다양한 시스템과 방법은, 백엔드 구성요소(예를 들어, 데이터 서버), 또는 미들웨어 구성요소(예를 들어, 애플리케이션 서버) 또는 전치(frontend) 구성요소(예를 들어, 본 명세서에 설명된 시스템 및 방법의 실시예와 상호작용하기 위해 사용자가 사용할 수 있는 그래픽 사용자 인터페이스(GUI) 또는 웹브라우저를 구비한 클라이언트 컴퓨터) 또는 이러한 백엔드, 미들웨어 또는 전치(frontend) 구성요소의 임의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 구성요소는 임의 형태 또는 디지털 데이터 통신의 매체(예를 들어, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예는 근거리 네트워크(LAN), 광역 네트워크(WAN), (애드 혹 또는 정적인 멤버들을 가지는) P2P(peer to peer) 네트워크, 그리드 컴퓨팅 시설(grid computing infrastructure), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있고, 통상 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 각 컴퓨터에서 실행 중이며 서로에 대하여 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
몇몇 실시예들이 위에서 상세하게 설명되었으나, 다른 변경들이 가능하다. 나아가, 본 명세서에서 설명된 시스템들 및 방법들을 수행하기 위하여 다른 메커니즘들이 사용될 수 있다. 더욱이, 도면에서 도시된 논리 흐름은 희망하는 결과를 달성하기 위해, 도시된 특정 순서 또는 시계열적 순서일 필요는 없다. 다른 단계들이 제공되거나, 그로부터 단계들이 제거될 수 있으며, 다른 구성요소들이 설명된 시스템에 추가되거나 그로부터 제거될 수 있다. 따라서 다른 실시예는 후술하는 청구범위의 범위 내에 속한다.

Claims (20)

  1. 컴퓨터로 실행되는 미디어 파일들을 저장하는 방법으로서, 상기 방법은
    서버 시스템에서, 제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하는 단계;
    상기 서버 시스템에 의하여, 사용자 디바이스 상에 사용자에 대하여 저장되어 있는 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하는 단계로서, 상기 특성 데이터는 상기 사용자에 대하여 미디어 파일들이 상기 서버 시스템에 저장된 미디어 라이브러리와 연관되어 있음을 판단하기 위하여 수행된 상기 복수의 미디어 파일들의 스캔에 기초하여 생성되는 것을 특징으로 하는 단계;
    상기 서버 시스템에서, 상기 복수의 미디어 파일들을 상기 미디어 라이브러리와 연관시키는 단계;
    상기 서버 시스템에서 상기 특성 데이터에 기초하여, 상기 복수의 미디어 파일들 중 적어도 하나가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하는 단계;
    상기 서버 시스템에서, 상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계;
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하는 단계; 및
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 상기 마스터 미디어 파일을 상기 미디어 라이브러리와 연관시키고 상기 사용자에게 상기 서버 시스템에 저장되어 있는 마스터 미디어 파일로의 접근을 제공하는 단계;를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 사용자에게 상기 서버 시스템에 저장되어 있는 상기 마스터 미디어 파일로의 접근을 제공하는 단계는, 상기 서버 시스템에서 상기 사용자 디바이스로부터 상기 마스터 미디어 파일의 상기 사용자 디바이스로의 다운로드 요청을 수신하는 단계 및 상기 요청의 수신에 대응하여 상기 사용자 디바이스로 상기 마스터 미디어 파일을 전송하는 단계를 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 사용자에게 상기 서버 시스템에 저장되어 있는 상기 마스터 미디어 파일로의 접근을 제공하는 단계는, 상기 서버 시스템에서 상기 사용자 디바이스로부터 상기 마스터 미디어 파일의 상기 사용자 디바이스로의 스트리밍 요청을 수신하는 단계 및 상기 요청의 수신에 대응하여 상기 사용자 디바이스로 상기 마스터 미디어 파일을 스트리밍 하는 단계를 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하는 단계는, 상기 사용자가 마스터 미디어 파일들로의 접근을 제공하는 구독(subscription)의 일부에 대하여 결제를 하였는지를 판단하는 단계를 포함하는 방법.
  5. 청구항 1에 있어서,
    상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계에 대응하여, 상기 사용자 디바이스가 상기 사용자에게 상기 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 상기 사용자에게 요청하는(solicit) 프롬프트(prompt)를 디스플레이 하도록 하는 단계를 더 포함하는 방법.
  6. 청구항 1에 있어서,
    상기 접근된 특성 데이터는 상기 사용자 디바이스에 의하여 생성되는 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 접근된 특성 데이터는 상기 복수의 미디어 파일들의 음향 지문들을 포함하며, 음향 지문은 상기 미디어 파일 내에 저장되어 있는 오디오 신호로부터 결정론적으로(deterministically) 생성되는 미디어 파일의 디지털 요약인 것을 특징으로 하는 방법.
  8. 청구항 7에 있어서,
    상기 복수의 미디어 파일들 중 적어도 하나는 매칭 미디어 파일이라고 판단하는 단계는 상기 매칭 미디어 파일의 음향 지문이 상기 마스터 미디어 파일의 음향 지문과 매치된다고 판단하는 단계를 포함하는 방법.
  9. 청구항 1에 있어서,
    상기 접근된 특성 데이터는 상기 서버 시스템에 의하여 생성되는 것을 특징으로 하는 방법.
  10. 청구항 1에 있어서,
    상기 접근된 특성 데이터는 상기 복수의 미디어 파일들에 대한 정보를 특정하는 메타데이터를 포함하는 것을 특징으로 하는 방법.
  11. 청구항 10에 있어서,
    상기 정보는 제목, 가수, 앨범 또는 비트 레이트 중 하나 또는 그 이상을 포함하는 것을 특징으로 하는 방법.
  12. 청구항 1에 있어서,
    상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 상기 매칭 미디어 파일이 상기 마스터 미디어 파일보다 낮은 비트 레이트로 오디오 신호를 인코딩한 것으로 판단하는 단계를 포함하는 방법.
  13. 청구항 1에 있어서,
    상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 상기 매칭 미디어 파일이 상기 마스터 미디어 파일의 비트 레이트와 동일한 비트 레이트로 오디오 신호를 인코딩하였으나 상기 마스터 미디어 파일이 상기 오디오 신호 내에 상기 오디오 신호의 인코딩 처리 동안 야기된 결함들을 상기 매칭 미디어 파일보다 더 적게 포함한다고 판단하는 단계를 포함하는 방법.
  14. 청구항 1에 있어서,
    상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 단계는 상기 마스터 미디어 파일이 상기 매칭 미디어 파일의 더 긴 길이의 버전이라고 판단하는 단계를 포함하는 방법.
  15. 사용자에 대한 복수의 미디어 파일들을 저장하는 사용자 디바이스;
    서버 시스템;을 포함하고,
    상기 서버 시스템은,
    제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하고,
    상기 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하고, 상기 특성 데이터는 상기 사용자에 대하여 미디어 파일들이 상기 서버 시스템에 저장된 미디어 라이브러리와 연관되어 있음을 판단하기 위하여 수행된 상기 복수의 미디어 파일들의 스캔에 기초하여 생성되는 것을 특징으로 하며,
    상기 복수의 미디어 파일들을 상기 미디어 라이브러리와 연관시키고,
    상기 특성 데이터에 기초하여 상기 복수의 미디어 파일들 중 적어도 하나가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하고,
    상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하고,
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하고, 그리고
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 상기 마스터 미디어 파일을 상기 미디어 라이브러리와 연관시키고 상기 사용자에게 상기 서버 시스템에 저장되어 있는 상기 마스터 미디어 파일로의 접근을 제공하도록 구성되는 시스템.
  16. 청구항 15에 있어서,
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하기 위하여 상기 서버 시스템은 상기 사용자가 상기 마스터 미디어 파일들로의 접근을 제공하는 구독의 일부에 대하여 결제를 하였는지를 판단하도록 구성되는 것을 특징으로 하는 시스템.
  17. 청구항 15에 있어서,
    상기 서버 시스템은 상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 것에 대응하여, 상기 사용자 디바이스가 상기 사용자에게 상기 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 상기 사용자에게 요청하는 프롬프트를 디스플레이 하도록 추가로 구성되는 것을 특징으로 하는 시스템.
  18. 하나 또는 그 이상의 처리 장치들에 의하여 실행될 때 상기 하나 또는 그 이상의 처리 장치들을 제어하는 명령어(instructions)를 저장하는 컴퓨터로 판독 가능한 매체로서, 상기 명령어는
    서버 시스템에서, 제1 품질 레벨의 컨텐츠를 포함하는 마스터 미디어 파일을 저장하고,
    상기 서버 시스템에 의하여, 사용자 디바이스 상에 사용자에 대하여 저장되어 있는 복수의 미디어 파일들의 특성들을 나타내는 특성 데이터에 접근하고, 상기 특성 데이터는 상기 사용자에 대하여 미디어 파일들이 상기 서버 시스템에 저장된 미디어 라이브러리와 연관되어 있음을 판단하기 위하여 수행된 상기 복수의 미디어 파일들의 스캔에 기초하여 생성되는 것을 특징으로 하며,
    상기 서버 시스템에서, 상기 복수의 미디어 파일들을 상기 미디어 라이브러리와 연관시키고,
    상기 서버 시스템에서 상기 특성 데이터에 기초하여, 상기 복수의 미디어 파일들 중 적어도 하나가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠와 매칭되는 컨텐츠를 포함하는 매칭 미디어 파일이라고 판단하고,
    상기 서버 시스템에서, 상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하고,
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하고, 그리고
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 한 경우, 상기 마스터 미디어 파일을 상기 미디어 라이브러리와 연관시키고 상기 사용자에게 상기 서버 시스템에 저장되어 있는 마스터 미디어 파일로의 접근을 제공하도록 하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  19. 청구항 1에 있어서,
    상기 사용자가 상기 마스터 미디어 파일에 접근하기 위한 결제를 하였는지를 판단하기 위하여, 상기 명령어는 상기 하나 또는 그 이상의 처리 장치들이 상기 사용자가 마스터 미디어 파일들로의 접근을 제공하는 구독의 일부에 대하여 결제를 하였는지를 판단하도록 하는 명령어를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  20. 청구항 1에 있어서,
    상기 명령어는 상기 매칭 미디어 파일 내에 포함되어 있는 컨텐츠가 상기 마스터 미디어 파일 내에 포함되어 있는 컨텐츠의 상기 제1 품질 레벨보다 낮은 제2 품질 레벨이라고 판단하는 것에 대응하여, 상기 사용자 디바이스가 상기 사용자에게 상기 마스터 미디어 파일로의 접근을 수신하기 위한 결제를 상기 사용자에게 요청하는 프롬프트를 디스플레이 하도록 상기 하나 또는 그 이상의 처리 장치들을 제어하는 명령어를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
KR1020137015453A 2010-11-15 2011-11-14 다른 버전의 미디어 파일 제공 방법 KR20130130742A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/946,770 US20120124172A1 (en) 2010-11-15 2010-11-15 Providing Different Versions of a Media File
US12/946,770 2010-11-15
PCT/US2011/060607 WO2012068018A1 (en) 2010-11-15 2011-11-14 Providing different versions of a media file

Publications (1)

Publication Number Publication Date
KR20130130742A true KR20130130742A (ko) 2013-12-02

Family

ID=45023885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137015453A KR20130130742A (ko) 2010-11-15 2011-11-14 다른 버전의 미디어 파일 제공 방법

Country Status (5)

Country Link
US (2) US20120124172A1 (ko)
EP (1) EP2646902A4 (ko)
KR (1) KR20130130742A (ko)
CN (1) CN103443759B (ko)
WO (1) WO2012068018A1 (ko)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8984442B2 (en) * 2006-11-17 2015-03-17 Apple Inc. Method and system for upgrading a previously purchased media asset
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9015588B2 (en) 2010-06-10 2015-04-21 At&T Mobility Ii Llc Advanced playback queue management
US9021554B2 (en) 2010-06-10 2015-04-28 At&T Mobility Ii Llc Unlimited access to media and applications over wireless infrastructure
US20120117197A1 (en) * 2010-06-10 2012-05-10 Cricket Communications, Inc. Content auto-discovery
EP2456199A3 (en) * 2010-11-22 2014-07-16 DDS Newco Inc. Method and systems of dynamically managing content for use by a media playback device
US20120158891A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Techniques for universal representation of digital content
WO2012091752A1 (en) * 2010-12-28 2012-07-05 Channel D Corporation Proxy file pointer method for redirecting access for incompatible file formats
US10375203B2 (en) * 2011-02-28 2019-08-06 Red Hat, Inc. Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds
US9201895B2 (en) * 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US20120310762A1 (en) * 2011-06-03 2012-12-06 Robbin Jeffrey L Remote Storage of Acquired Data at Network-Based Data Repository
US9112942B2 (en) * 2011-07-15 2015-08-18 Shmuel Ur Dynamic modification of media streams' quality
US8706499B2 (en) * 2011-08-16 2014-04-22 Facebook, Inc. Periodic ambient waveform analysis for enhanced social functions
US9432454B2 (en) * 2011-08-29 2016-08-30 At&T Intellectual Property I, L.P. Cloud-to-cloud peering
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8910220B2 (en) 2012-07-12 2014-12-09 Time Warner Cable Enterprises Llc Multi-format distribution of content
US20140122258A1 (en) * 2012-10-25 2014-05-01 Michael A Sharp Sponsored ad-embedded audio files and methods of playback
US9529907B2 (en) 2012-12-31 2016-12-27 Google Inc. Hold back and real time ranking of results in a streaming matching system
US9319458B2 (en) * 2013-01-07 2016-04-19 Netflix, Inc. Site-based server selection
US10311121B2 (en) * 2013-01-11 2019-06-04 Apple Inc. Validation and delivery of digital assets
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US9648320B2 (en) * 2013-02-22 2017-05-09 Comcast Cable Communications, Llc Methods and systems for processing content
US9008490B1 (en) * 2013-02-25 2015-04-14 Google Inc. Melody recognition systems
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
TWI501101B (zh) 2013-04-19 2015-09-21 Ind Tech Res Inst 多點觸碰方法與裝置
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US20140380347A1 (en) * 2013-06-24 2014-12-25 Wefi Inc. Methods and systems for user experience based content consumption
US10097977B2 (en) * 2013-10-18 2018-10-09 Samsung Electronics Co., Ltd. Communication method for electronic device in wireless communication network and system therefor
CN103699701A (zh) * 2014-01-17 2014-04-02 网易(杭州)网络有限公司 一种媒体文件品质升级方法和设备
US20150301718A1 (en) * 2014-04-18 2015-10-22 Google Inc. Methods, systems, and media for presenting music items relating to media content
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
CN104239045B (zh) * 2014-09-05 2018-02-23 珠海市君天电子科技有限公司 未知文件的打开方法及装置
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10104423B2 (en) * 2015-03-27 2018-10-16 Ruckus Wireless, Inc. Multimedia service mirroring
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10083720B2 (en) * 2015-11-06 2018-09-25 Aupera Technologies, Inc. Method and system for video data stream storage
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10248108B2 (en) 2016-01-11 2019-04-02 International Business Machines Corporation Three-dimensional printing based on a license
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
CN106484853A (zh) * 2016-10-09 2017-03-08 网易(杭州)网络有限公司 文档分析方法及装置
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
KR20210072979A (ko) * 2019-12-10 2021-06-18 현대자동차주식회사 차량의 avn 및 그의 미디어 재생 방법
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN117546471A (zh) * 2021-01-29 2024-02-09 苹果公司 用于指示和/或控制内容项回放格式的用户界面

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US6044471A (en) 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US6760442B1 (en) * 1998-12-18 2004-07-06 Sun Microsystems, Inc. Method and apparatus for adjusting the quality of digital media
US7346920B2 (en) * 2000-07-07 2008-03-18 Sonic Solutions, A California Corporation System, method and article of manufacture for a common cross platform framework for development of DVD-Video content integrated with ROM content
US20020032905A1 (en) * 2000-04-07 2002-03-14 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
US20020049717A1 (en) * 2000-05-10 2002-04-25 Routtenberg Michael D. Digital content distribution system and method
US20010042048A1 (en) * 2000-05-15 2001-11-15 The Regents Of The University Of California Method and apparatus for electronically distributing audio recordings
US7853664B1 (en) 2000-07-31 2010-12-14 Landmark Digital Services Llc Method and system for purchasing pre-recorded music
US6826546B1 (en) * 2000-08-17 2004-11-30 Ideaflood, Inc. Method and system for licensing a copy of a copyright protected work
EP1312219A2 (en) * 2000-08-25 2003-05-21 Intellocity USA, Inc. Method of enhancing streaming media content
US7124114B1 (en) * 2000-11-09 2006-10-17 Macrovision Corporation Method and apparatus for determining digital A/V content distribution terms based on detected piracy levels
EP1356622B1 (en) * 2000-11-10 2012-04-04 AOL MusicNow LLC Digital content distribution and subscription system
AUPR230700A0 (en) * 2000-12-22 2001-01-25 Canon Kabushiki Kaisha A method for facilitating access to multimedia content
US20060235723A1 (en) * 2001-02-20 2006-10-19 Steve Millard System and method for management of content associated with digital distribution and updatable storage media
US20060032905A1 (en) 2002-06-19 2006-02-16 Alon Bear Smart card network interface device
EP1403778A1 (en) * 2002-09-27 2004-03-31 Sony International (Europe) GmbH Adaptive multimedia integration language (AMIL) for adaptive multimedia applications and presentations
JP2004151195A (ja) 2002-10-29 2004-05-27 Sony Corp 通信装置、通信方法、プログラム、記憶媒体、端末装置
JP2007524921A (ja) 2003-09-05 2007-08-30 ライムライト ネットワークス インコーポレーテッド デジタルコンテンツのライセンスの管理
CA2594118C (en) * 2004-12-08 2015-07-21 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
US7567671B2 (en) * 2005-06-10 2009-07-28 Aniruddha Gupte Encryption method and apparatus for use in digital distribution system
US8869186B2 (en) * 2005-07-29 2014-10-21 Dell Products L.P. Automated acquisition of discovered content
US20070043667A1 (en) 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
EP1963958B1 (en) 2005-12-21 2019-04-24 Digimarc Corporation Rules driven pan id metadata routing system and network
US7568143B2 (en) * 2006-01-18 2009-07-28 International Business Machines Corporation System and method of utilizing a network to correct flawed media data
US20070203945A1 (en) 2006-02-28 2007-08-30 Gert Hercules Louw Method for integrated media preview, analysis, purchase, and display
US7444388B1 (en) * 2006-04-13 2008-10-28 Concert Technology Corporation System and method for obtaining media content for a portable media player
US20080141317A1 (en) * 2006-12-06 2008-06-12 Guideworks, Llc Systems and methods for media source selection and toggling
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
US20080294453A1 (en) 2007-05-24 2008-11-27 La La Media, Inc. Network Based Digital Rights Management System
US7788398B2 (en) * 2007-08-08 2010-08-31 Swarmcast, Inc. Media player plug-in installation techniques
US20090164378A1 (en) * 2007-12-21 2009-06-25 Steven Marcus Jason West Music Distribution
US20090187957A1 (en) * 2008-01-17 2009-07-23 Gokhan Avkarogullari Delivery of Media Assets Having a Multi-Part Media File Format to Media Presentation Devices
US8229796B2 (en) 2008-08-28 2012-07-24 Microsoft Corporation Automated direct bids to purchase entertainment content upon a predetermined event
US9191625B2 (en) * 2008-09-26 2015-11-17 Janos Redei System and methods for transmitting and distributing media content
JP2012506575A (ja) * 2008-10-20 2012-03-15 ビヨンド オブリビオン インコーポレイティド ダウンロードトランザクション会計及びソーシャルネットワーク交流のための方法及びシステム
US8244110B2 (en) * 2009-01-21 2012-08-14 Cisco Technology, Inc. Upgrading media content quality for media content based on detecting upgraded media presentation device
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US8682145B2 (en) * 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US20110137976A1 (en) * 2009-12-04 2011-06-09 Bob Poniatowski Multifunction Multimedia Device
US8327404B2 (en) * 2009-12-09 2012-12-04 Verizon Patent And Licensing Inc. Methods and systems for providing enhanced content associated with a media content instance available for purchase
US20110176496A1 (en) * 2010-01-15 2011-07-21 Roy Rabinda K On-the-fly video quality switching for video distribution networks and methods therefor
US8417575B2 (en) * 2010-01-19 2013-04-09 Apple Inc. On-device offline purchases using credits
US20110288946A1 (en) * 2010-02-23 2011-11-24 Unity Corporation, Inc. Method and System of Managing Digital Multimedia Content
US9628831B2 (en) * 2010-03-25 2017-04-18 Whatsapp, Inc. Multimedia transcoding method and system for mobile devices
US20130246179A1 (en) * 2010-03-30 2013-09-19 Diy Media, Inc. Method for content management and distribution
US8886710B2 (en) * 2010-09-24 2014-11-11 Amazon Technologies, Inc. Resuming content across devices and formats
WO2012050927A2 (en) * 2010-09-28 2012-04-19 Beyond Oblivion Inc. Content discovery and delivery platform apparatuses, methods and systems
US20120102154A1 (en) * 2010-10-26 2012-04-26 Futurewei Technologies, Inc. Cloud-Based Transcoding Platform Systems and Methods
WO2012116365A1 (en) * 2011-02-27 2012-08-30 Redigi, Inc. Methods and apparatus for sharing, transferring and removing previously owned digital media

Also Published As

Publication number Publication date
EP2646902A4 (en) 2014-07-02
US20120124172A1 (en) 2012-05-17
US8725841B2 (en) 2014-05-13
WO2012068018A1 (en) 2012-05-24
CN103443759B (zh) 2016-12-07
EP2646902A1 (en) 2013-10-09
US20120124177A1 (en) 2012-05-17
CN103443759A (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
US8725841B2 (en) Providing different versions of a media file
US8370314B2 (en) Replacing a master media file
US11438744B1 (en) Routing queries based on carrier phrase registration
US11750683B2 (en) Computer application promotion
US10146917B2 (en) Physical confirmation for network-provided content
US9288254B2 (en) Dynamic playlist for mobile computing device
US8346867B2 (en) Dynamic playlist for mobile computing device
US9565240B2 (en) Media file access
KR20130116269A (ko) 미디어 파일의 모바일 컴퓨팅 장치 로딩
US20160203112A1 (en) Method and arrangement for processing and providing media content

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment