[go: up one dir, main page]

KR101134862B1 - 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법 - Google Patents

복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법 Download PDF

Info

Publication number
KR101134862B1
KR101134862B1 KR1020097019589A KR20097019589A KR101134862B1 KR 101134862 B1 KR101134862 B1 KR 101134862B1 KR 1020097019589 A KR1020097019589 A KR 1020097019589A KR 20097019589 A KR20097019589 A KR 20097019589A KR 101134862 B1 KR101134862 B1 KR 101134862B1
Authority
KR
South Korea
Prior art keywords
user interface
media
graphical user
playlist
browser
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.)
Expired - Fee Related
Application number
KR1020097019589A
Other languages
English (en)
Other versions
KR20090113339A (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 KR20090113339A publication Critical patent/KR20090113339A/ko
Application granted granted Critical
Publication of KR101134862B1 publication Critical patent/KR101134862B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

브라우저 해석 가능한 문서는 제1 미디어 파일 또는 상기 제1 미디어 파일에의 포인터; 그래픽 유저 인터페이스 정의, 또는 상기 그래픽 유저 인터페이스 정의에의 포인터 - 상기 그래픽 유저 인터페이스 정의는 제1 유저 인터페이스 엘리먼트 및 상기 제1 유저 인터페이스 엘리먼트와 관련된 기능을 포함함 -; 및 복수의 미디어 플레이어의 동작을 제어하기 위한 커맨드들의 세트, 또는 상기 커맨드들의 세트에의 포인터를 포함하고, 상기 브라우저 해석 가능한 문서가 종래의 웹 브라우저에 의해 렌더링될 때, 상기 웹 브라우저는 상기 그래픽 유저 인터페이스 정의에 기초하여 그래픽 유저 인터페이스를 렌더링하고, 상기 렌더링된 그래픽 유저 인터페이스는 상기 제1 미디어 파일의 재생을 용이하게 하도록 상기 복수의 미디어 플레이어 중 하나를 제어한다.
브라우저, 그래픽 유저 인터페이스, 미디어 플레이어, 렌더링

Description

복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법{BROWSER INTERPRETABLE DOCUMENT FOR CONTROLLING A PLURALITY OF MEDIA PLAYERS AND SYSTEMS AND METHODS RELATED THERETO}
본원은 저작권 보호를 받는 자료를 포함한다. 저작권 소유자는 누구라도 이 특허 명세서를 특허상표청 파일들 또는 기록들에 나와 있는 대로 팩시밀리 복제하는 것에 반대하지 않지만, 그 밖의 경우에는 모든 저작권 권리들을 보유한다.
본 발명은 미디어 플레이어 소프트웨어 분야에 관한 것으로, 더 구체적으로는 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서에 관한 것이다.
오디오 파일들을 위한 모션 픽처 엔터테인먼트 그룹 레벨 3("MP3") 디지털 인코딩의 도래는 배포 비용을 거의 제로로 감소시킴으로써 음악의 배포를 혁신시켰다. 이것은 또한 아티스트들에게 새로운 작품들을 창작하고 그들의 작품들을 디지털 형태로 이용 가능하게 하도록 격려하였다. 그러나, MP3 미디어 타입은 몇 개의 불리점들을 가지고 있다. 예를 들면, MP3 미디어 타입에는 디지털 권리 관리 능력들(digital rights management capabilities)이 구축되어 있지 않다. 그 결과, 어떤 사람들은 디지털 권리 관리를 용이하게 하는 새로운 미디어 타입들을 설계하려 고 시도하였다. 다른 사람들은 소리 또는 빛과 같은 아날로그 소스들을 디지털 포맷으로 및/또는 디지털 포맷으로부터 변환할 때 사용되는 기법들을 개선하려는 노력으로 새로운 미디어 타입들을 만들어냈다. 또 다른 사람들은 적어도 대다수의 유저들을 즐겁게 하기 위해, 또는 다른 특정한 목적으로 충분히 정확하게 콘텐트를 재생하기 위해 송신 및/또는 저장될 필요가 있는 데이터의 양을 감소시키는 것에 포커스를 맞추는 새로운 미디어 타입들을 만들어냈다. 이것은 일반적으로 사용되고 있는 상이한 미디어 타입들의 급격한 증가로 이어졌다.
디지털 방식으로 이용 가능한 콘텐트의 급속한 성장은 또한 캘리포니아주 쿠퍼티노의 애플 컴퓨터사(Apple Computer, Inc.)에 의해 배포된 iPod 계열의 개인용 음악 플레이어, 워싱턴주 레드먼드의 마이크로소프트사(Microsoft, Inc.)에 의해 배포된 Zune, 및 싱가포르의 크리에이티브 테크놀로지사(Creative Technology Ltd.)에 의해 배포된 Zen 계열의 개인용 음악 플레이어와 같은, 그러나 이에 제한되지 않는, 전용의 독립 실행형 장치들, 및 휴대용 컴퓨터 상에서 사용하기 위한 소프트웨어 기반 미디어 플레이어들 양쪽 모두를 포함하는 각종의 미디어 플레이어들의 창작을 자극하였다. 디지털 콘텐트에의 유저의 액세스를 용이하게 하기 위해, 다수의 미디어 플레이어들은 각종의 미디어 타입들을 이용하여 인코딩된 콘텐트를 재생할 수 있다. 예로서, 워싱턴주 레드먼드의 마이크로소프트사에 의해 배포된 윈도즈 미디어 플레이어(Windows Media Player) 소프트웨어는 윈도즈 미디어 오디오("WMA"), 윈도즈 미디어 비디오("WMV"), 모션 픽처 엔터테인먼트 그룹("MPEG"), MP3, WAVE, 및 뮤지컬 인스트루먼트 디지털 인터페이스("MIDI")를 포 함하는 각종의 미디어 타입들을 이용하여 인코딩된 콘텐트를 재생할 수 있다. 윈도즈 미디어 플레이어는 또한 유저들이 단순히 적합한 코더/디코더("CODEC")를 설치하는 것에 의해 새로운 그리고 대안의 미디어 타입들에 대한 지원을 추가할 수 있게 한다.
다수의 미디어 플레이어들은 각종의 미디어 타입들 중 임의의 미디어 타입으로 인코딩된 콘텐트를 재생할 수 있지만, 어떤 미디어 타입들은 독점적이고(proprietary), 그 미디어 타입을 이용하여 인코딩된 콘텐트를 디스플레이하는 권리는 대부분 엄격하게 통제된다. 예로서, 애플 컴퓨터사의 퀵타임(Quicktime), 및 리얼네트워크(RealNetwork)의 리얼비디오(RealVideo) 및 리얼오디오(RealAudio) 미디어 타입들에 의해 채용되는 기법은 일반적으로 독점적이다. 그 결과, 유저들은 그들이 독점적인 미디어 타입을 이용하여 작성한 콘텐트를 재생하기를 원한다면 그들이 선호하는 미디어 플레이어보다는 그러한 독점적인 미디어 플레이어를 사용하도록 강제된다. 이것은 그들 자신의 개인의 라이브러리 내의 각종의 미디어 파일들에 액세스하려고 하는 유저들, 및 다른 라이브러리들로부터의 미디어 파일들에 액세스하려고 하는 유저들 양쪽 모두에게 문제가 될 수 있다. 예로서, 어떤 유저들은 재생목록(playlist), 즉 재생될 콘텐트의 순서화된 목록(ordered list)을 다른 유저들과 공유할 수 있고, 다른 유저들은 그들이 선호하는 미디어 플레이어가 그 재생목록 내의 모든 콘텐트를 재생할 수 없을 것임을 깨닫지 못할 수 있다.
어떤 소프트웨어 기반 미디어 플레이어들은 유저들이 그 특정 미디어 플레이어에 대한 맞춤형(customized) "스킨들(skins)", 즉 유저 인터페이스들을 작성하는 것을 허용한다. 그러한 스킨들은 유저들이 그들이 자주 이용하거나 필요로 하는 커맨드들 또는 컨트롤들에 보다 용이하게 액세스할 수 있게 한다.
또한, 각 미디어 플레이어는 전형적으로 이용 가능한 다른 미디어 플레이어들과 비교할 때 이점들 및 불리점들을 갖고 있고, 유저들은 그들에게 가장 편리하고 및/또는 편안한 특징들 및 유저 인터페이스를 갖는 플레이어를 사용하는 경향이 있다. 그 결과, 유저들은 특정한 미디어 플레이어 유저 인터페이스, 특히 맞춤형 유저 인터페이스에 대하여 편안하게 되는 경향이 있고, 그들이 그러한 유저 인터페이스를 포함하는 미디어 플레이어로부터, 콘텐트가 독점적인 미디어 타입으로 인코딩되는 때에 일어나는 것과 같은, 상이한 인터페이스를 이용하는 미디어 플레이어들로 전환하도록 강제되는 경우, 그들은 실망하게 될 수 있다.
<발명의 요약>
필요한 것은 복수의 미디어 플레이어를 제어할 수 있는 표준화된 인터페이스를 제공하기 위한 수단이다. 따라서, 본 명세서는 관련 기술의 취약점들 및 불리점들로 인한 문제들 중 하나 이상을 실질적으로 미연에 방지하는 복수의 미디어 플레이어를 제공하기 위한 브라우저 해석 가능한 문서에 관한 것이다. 본 명세서에서 설명된 미디어 플레이어들은 오디오, 비디오, 및/또는 다른 타입의 콘텐트를 재생할 능력이 있을 수 있지만, 명확성을 위해, 본 명세서는 각종의 미디어 타입들로 인코딩된 오디오 콘텐트를 재생하는 것에 포커스를 맞출 것이고, 그 각종의 미디어 타입들 중 어떤 것은 특정 미디어 플레이어를 필요로 할 수 있다. 그러한 포커스는 브라우저 해석 가능한 문서 및 미디어 플레이어들에 관한 그것의 동작을 명확히 하기 위해 채택된 것이고, 브라우저 해석 가능한 문서 또는 그것에 의해 작성된 유저 인터페이스들을 오디오 콘텐트를 위한 미디어 플레이어들에 제한하는 것으로 해석되어서는 안 된다.
퍼스널 컴퓨터들("PC들"), 랩톱들, PDA들(personal digital assistants), 휴대폰들, 게임용 콘솔들, 및 PMP들(portable media players)을 포함하지만, 이에 제한되지 않는 다수의 장치들은 이제 콘텐트를 재생할 능력이 있다. 이들 장치들은 또한 종종 적어도 하나의 브라우저를 실행할 능력이 있다. 브라우저는 HTML(Hypertext Markup Language), XML(Extensible Markup Language) 또는 다른 그러한 마크업 언어로 저장된 문서를 해석하고 그 문서의 콘텐트들을 유저에게 제공할 능력이 있는 소프트웨어 응용 프로그램이다. 브라우저는 또한 흔히 워싱턴주 레드먼드의 마이크로소프트사에 의해 배포된 비주얼 베이직 스크립트("VBScript"); 및 선 마이크로시스템즈(Sun Microsystems)에 의해 배포된 JavaScriptTM와 같은, 그러나 이에 제한되지 않는, 적어도 하나의 스크립트 언어(scripting language)를 지원한다. 그러한 스크립트 언어들은 브라우저를 단순히 마크업 문서들을 유저들에게 디스플레이하기보다는, 브라우저에 일정량의 프로그램 가능성(programmability)을 추가할 수 있다.
일부 실시예들은 표준화된 인터페이스를 이용하여 복수의 미디어 플레이어를 제어하기 위한 방법을 포함하고, 이 방법은, 복수의 미디어 플레이어를 제어할 그래픽 유저 인터페이스를 정의하는 단계 - 상기 그래픽 유저 인터페이스는 상기 그 래픽 유저 인터페이스의 일부로서 디스플레이되는 유저 인터페이스 엘리먼트를 포함함 -; 적어도 하나의 기능을 상기 정의된 유저 인터페이스 엘리먼트와 관련시키는 단계; 적어도 하나의 재생목록을 상기 그래픽 유저 인터페이스와 관련시키는 단계 - 상기 재생목록은 복수의 항목(entry)을 포함하고, 각 항목은 제1 미디어 파일 또는 상기 제1 미디어 파일에의 포인터를 포함함 -; 상기 그래픽 유저 인터페이스 및 상기 재생목록과 상기 그래픽 유저 인터페이스와의 관련성을 웹 브라우저에 의해 해석 가능한 방식으로 저장하는 단계; 및 컴퓨터 프로그램 프로세스 코드를 상기 그래픽 유저 인터페이스와 관련시키는 단계를 포함하고, 상기 컴퓨터 프로그램 프로세스 코드는, 상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어를 컴퓨팅 장치가 액세스할 수 있는지를 결정하고; 상기 제1 미디어 파일을 재생할 능력이 있는 것으로 결정된 미디어 플레이어를 상기 컴퓨팅 장치에 의해 로딩시키고 - 적어도 상기 미디어 플레이어의 컨트롤들은 유저에게 감추어짐 -; 상기 정의된 유저 인터페이스 엘리먼트와의 상호작용(interaction)을 모니터하고; 상기 미디어 플레이어를 상기 유저 인터페이스 엘리먼트와 관련된 기능에 대응하는 방식으로 기능시키도록 상기 유저 인터페이스 엘리먼트를 통해 상기 미디어 플레이어를 제어하기 위한 명령어들을 포함한다.
일부 실시예들에서, 상기 그래픽 유저 인터페이스는 임의의 미디어 플레이어로부터 독립하여 존재할 수 있고, 하나 이상의 그래픽 파일들을 포함할 수 있다. 일부 실시예들에서, 상기 재생목록은 상기 제1 미디어 파일과 관련된 미디어 타입 표시자를 더 포함할 수 있고, 상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어는, 적어도 부분적으로, 상기 제1 미디어 파일과 관련된 미디어 타입 표시자에 의해 결정될 수 있다. 일부 실시예들에서, 상기 그래픽 유저 인터페이스 및 상기 컴퓨터 프로그램 프로세스 코드와 상기 그래픽 유저 인터페이스와의 관련성은 웹 브라우저에 의해 해석 가능한 방식으로 저장될 수 있다. 일부 실시예들에서, 상기 그래픽 유저 인터페이스, 상기 그래픽 유저 인터페이스와 상기 재생목록과의 관련성, 및 상기 그래픽 유저와 상기 컴퓨터 프로그램 프로세스 코드와의 관련성은 동일한 파일에 저장된다.
일부 실시예들은 복수의 미디어 플레이어를 제어하기 위한 시스템을 포함하고, 이 시스템은, 정의된 그래픽 유저 인터페이스 - 상기 정의된 그래픽 유저 인터페이스는 유저 상호작용들을 수신하고, 상기 정의된 그래픽 유저 인터페이스는 유저 인터페이스 엘리먼트를 포함하고, 상기 정의된 유저 인터페이스 엘리먼트는 그와 관련된 기능을 갖고, 상기 정의된 그래픽 유저 인터페이스는 SGML(Standardized Generalized Markup Language)로부터 파생되고 컴퓨팅 장치 상에서 실행되는 웹 브라우저에 의해 해석 가능한 마크업 언어로 저장됨 -; 상기 웹 브라우저에 의해 해석 가능한 명령어들의 세트 - 그에 의해 상기 웹 브라우저는 상기 컴퓨팅 장치 상에 설치된 복수의 미디어 플레이어 중 하나에 커맨드들을 보낼 수 있고, 그에 의해 상기 웹 브라우저가 상기 정의된 그래픽 유저 인터페이스와의 유저 상호작용들에 기초한 미디어 파일의 재생을 제어하는 것을 허용함 -; 및 재생목록 - 상기 재생목록은 상기 SGML로부터 파생되고 상기 웹 브라우저에 의해 해석 가능한 마크업 언어로 저장되고, 상기 재생목록은 복수의 항목을 포함하고, 적어도 상기 복수의 항목 의 서브세트(subset)는 멀티미디어 파일에 대응함 - 을 포함한다.
일부 실시예들에서, 상기 명령어들의 세트는 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 컴퓨팅 장치 상에 설치되어 있는지를 결정하기 위한 명령어들을 더 포함할 수 있다. 일부 실시예들에서, 각 재생목록 항목은 그 재생목록 항목과 관련된 적어도 하나의 미디어 타입 표시자를 더 포함할 수 있고, 상기 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 컴퓨팅 장치 상에 설치되어 있는지에 대한 결정은, 적어도 부분적으로, 재생목록 항목과 관련된 미디어 타입 표시자에 기초한다. 일부 실시예들에서, 상기 재생목록 및 상기 그래픽 유저 인터페이스는, XML(eXtensible Markup Language) 및/또는 HML(Hypertext Markup Language)과 같은, 그러나 이에 제한되지 않는, 공통 마크업 언어를 이용하여 저장된다.
일부 실시예들은 복수의 항목을 포함하는 재생목록 - 각 항목은 제1 미디어 파일 또는 상기 제1 미디어 파일에의 포인터를 포함함 -; 그래픽 유저 인터페이스 정의, 또는 상기 그래픽 유저 인터페이스 정의에의 포인터 - 상기 그래픽 유저 인터페이스 정의는 제1 유저 인터페이스 엘리먼트 및 상기 제1 유저 인터페이스 엘리먼트와 관련된 기능을 포함함 -; 및 복수의 미디어 플레이어의 동작을 제어하기 위한 커맨드들의 세트, 또는 상기 커맨드들의 세트에의 포인터를 포함하는 브라우저 해석 가능한 문서를 포함하고; 여기서 상기 브라우저 해석 가능한 문서가 종래의 웹 브라우저에 의해 렌더링될 때, 상기 웹 브라우저는 상기 그래픽 유저 인터페이스 정의에 기초하여 그래픽 유저 인터페이스를 렌더링하고, 상기 렌더링된 그래픽 유저 인터페이스는 상기 제1 미디어 파일의 재생을 용이하게 하도록 상기 복수의 미디어 플레이어 중 하나를 제어한다.
일부 실시예들에서, 상기 그래픽 유저 인터페이스 정의는 HML과 같은, 그러나 이에 제한되지 않는, SGML로부터 파생되는 표준화된 마크업 언어로 정의될 수 있다. 일부 실시예들에서, 상기 커맨드들의 세트는 스크림트 언어로 된 명령어들을 포함할 수 있다. 일부 실시예들에서, 각 재생목록 항목은 상기 제1 미디어 파일과 관련된 미디어 파일 표시자를 더 포함할 수 있고, 상기 커맨드들의 세트는 상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 브라우저가 실행중인 컴퓨팅 장치 상에 설치되어 있는지를 상기 브라우저가 결정할 수 있도록 하는 명령어들을 포함하고, 그러한 결정은, 적어도 부분적으로, 상기 제1 미디어 파일과 관련된 미디어 타입 표시자에 기초하여 행해진다.
전술한 일반적인 설명 및 다음의 상세한 설명은 둘 다 예시적이고 설명적인 것이고 개시된 브라우저 해석 가능한 문서에 대한 추가 설명을 제공하기 위해 의도되어 있음을 이해해야 한다. 본 발명의 추가의 특징들 및 이점들은 다음에 오는 설명에서 제시될 것이고, 부분적으로 이 명세서로부터 명백할 것이고, 또는 본 발명의 실시에 의해 알 수 있다. 본 발명의 목적들 및 다른 이점들은, 본 명세서에 포함된 임의의 청구항들 및 첨부된 도면들을 포함하는, 이 서면으로 된 설명에서 특별히 지적된 구조에 의해 실현 및 수반될 것이다.
복수의 미디어 플레이어를 제어하기 위한 개시된 브라우저 해석 가능한 문서 에 대한 추가적인 이해를 제공하기 위해 포함되어 있는 첨부 도면들은 이 명세서에 통합되고 그의 일부를 구성하고, 다양한 실시예들을 예시하고, 설명과 함께, 개시된 브라우저 해석 가능한 문서의 적어도 하나의 실시예의 원리들을 설명하는 데 도움된다.
도면들 중에서,
도 1은 브라우저 해석 가능한 문서를 이용하여 복수의 미디어 플레이어를 제어할 수 있도록 하는 예시적인 방법을 예시하는 블록도이다.
도 2는 재생목록을 제공하는 예시적인 브라우저 해석 가능한 문서이다.
도 3은 복수의 미디어 플레어어를 제어할 수 있는 유저 인터페이스를 제공하는 예시적인 브라우저 해석 가능한 문서이다.
도 4는 복수의 미디어 플레어어를 제어할 수 있는 유저 인터페이스를 제공하는 다른 예시적인 브라우저 해석 가능한 문서이다.
도 5는 미디어 플레이어를 제어하기 위해 이용되고 있는 다른 예시적인 브라우저 해석 가능한 문서이다.
도 6은 미디어 플레이어를 제어하기 위해 이용되고 있는 다른 예시적인 브라우저 해석 가능한 문서이다.
도 7은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 브라우저 해석 가능한 문서에 의해 제공되는 유저 인터페이스가 또한 재생목록에의 액세스를 제공한다.
도 8은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 브라우저 해석 가능한 문서에 의해 제공되는 유저 인터페이스가 또한 재생목록을 편집할 수 있는 유저 인터페이스를 제공한다.
도 9는 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 브라우저 해석 가능한 문서에 의해 제공되는 유저 인터페이스가 재생목록 항목들의 드래그-앤-드롭 재정리(drag-and-drop reordering)를 허용한다.
도 10은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 브라우저 해석 가능한 문서에 의해 제공되는 유저 인터페이스가 재생목록 항목들이 재정리된 후의 것이다.
도 11은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 콘텐트에의 URL을 드래그하여 드롭함으로써 재생목록 항목을 추가하였다.
도 12는 재생목록의 저장을 용이하게 하는 다른 예시적인 브라우저 해석 가능한 문서이다.
도 13은 HTML로 작성된 예시적인 브라우저 해석 가능한 문서이다.
도 14는 HTML로 작성된 다른 예시적인 브라우저 해석 가능한 문서이다.
도 15는 HTML로 작성된 다른 예시적인 브라우저 해석 가능한 문서이다.
도 16은 적합한 디지털 권리 관리 라이센싱 정보를 획득할 수 있는 예시적인 방법을 예시하는 블록도이다.
이제 복수의 미디어 플레이어를 제어하기 위한 개시된 브라우저 해석 가능한 문서의 실시예들에 대해 상세히 언급할 것이다. 그 예들은 첨부 도면들에 예시되어 있다.
실시예에서는, 복수의 콘텐트 항목 및 복수의 미디어 플레이어를 제어하기 위한 명령어들의 세트를 포함하는 브라우저 해석 가능한 문서가 제공된다. 실시예에서는, 브라우저 해석 가능한 문서가 매우 다양한 브라우저들에 의해 판독되고 해석될 수 있도록 보장하기 위해, 브라우저 해석 가능한 문서는 HTML(Hypertext Markup Language), XML(eXtensible Markup Language), CSS(Cascading Style Sheets) 등과 같은, 그러나 이에 제한되지 않는, 현존하는 브라우저 해석 가능한 언어들을 이용하고, 그러한 브라우저 해석 가능한 언어들의 표준화된 정의들로부터 가능한 한 적게 일탈한다. 제한이 아니라 예로서, 본 명세서에 설명된 브라우저 해석 가능한 문서 실시예는 둘 다 클래스 이름으로서 이용되는 2개의 새로운 키워드, "hTrack" 및 "timed"만을 전통적인 브라우저 어휘에 도입한다. 클래스들은 HTML 4+ 사양에서 정의된다.
HTML과 같은 전통적인 마크업 언어에서는, 링크, 즉 콘텐트에의 포인터는 <a href="/media/example.mp3">Example Link</a>로서 기술될 수 있다. 그러한 링크가 브라우저에 의해 렌더링될 때, URL(Uniform Resource Locator) 및 관련 태그들은 유저에게 감추어질 것이고, 유저는 단지 Example Link라는 단어들을 보겠지만, 그 마크업 언어에 대한 브라우저의 해석 때문에, 유저는 링크에서 참조되는 콘텐트에 액세스하기 위해 그 단어들 상에서 클릭하거나 또는 다른 식으로 그 단어들과 상호작용할 수 있다. 유저가 그 단어들과 상호작용할 경우, 브라우저는 URL에서 지정된 경로로부터 파일을 로딩하려고 시도하고, 그 프로세서는 example.mp3의 로컬 카피를 생성하는 것을 포함할 수 있다. 만일 브라우저가 파일의 처음에 또는 그 근처에서 브라우저 해석 가능한 명령어들을 검출하지 못한다면, 브라우저는 그 파일이 브라우저의 임의의 플러그인들(plug-ins) 또는 다른 인핸스먼트들(enhancements)에 의해 해석될 수 있는 타입의 것인지를 결정하려고 시도할 수 있다. 만일 그 파일이 플러그인에 의해 해석될 수 있다면, 그 플러그인은 브라우저에 의해 로딩되고 그 파일은 그 플러그인에 의해 로딩된다. 만일 그 파일이 브라우저 또는 플러그인에 의해 해석 가능한 형식의 것이 아니라면, 브라우저는 그 파일 정보를 운영 체제에 넘길 수 있다. 그 후 운영 체제는 그 파일로부터의 정보에 기초하여 그 파일을 처리하기 위해 로딩되어야 하는, 미디어 플레이어와 같은, 적합한 응용 프로그램을 결정한다. 제한이 아니라 예로서, 운영 체제는 로딩될 적합한 응용 프로그램을 결정하기 위해 파일의 확장자(즉, 파일 이름에서 가장 오른편 마침표(period) 뒤의 문자들)에 주목한다. 위에 제시된 예에서는, example.mp3가 미디어 파일이므로, 운영 체제는 로컬 설치된(locally-installed) 미디어 플레이어를 로딩시킬 수 있고, 그 로컬 설치된 미디어 플레이어에게 example.mp3를 재생하도록 하는 명령어들을 보낼 수 있다. 이러한 동작은 번거로울 수 있고, 전술한 바와 같이, 유저가 잘 모르는 인터페이스들을 갖는 미디어 플레이어들의 로딩을 초래할 수 있다.
브라우저가 파일을 트랙인 것으로 인지하도록 링크를 변경함으로써(즉, "hTrack" 클래스를 채용함으로써), 브라우저는 유저가 그 링크와 상호작용할 때 대안적인 액션들을 취하도록 지시받을 수 있다. 제한이 아니라 예로서, 상기 링크를 <a href="/media/example.mp3" class="htrack">mp3 link</a>로 판독되도록 변경함으로써, 브라우저는 example.mp3는 트랙이고, 따라서 그것은 브라우저 해석 가능한 문서에 포함된 또는 그 안에서 참조되는 대안적인 명령어들에 따라 처리되어야 한다고 지시받을 수 있다.
하나 이상의 그러한 트랙들은 "재생목록", 즉 적합한 미디어 플레이어에 의해 재생될 콘텐트의 목록에 함께 결합될 수 있다. 실시예에서, 트랙들이 재생되는 순서는 재생목록 또는 다른 브라우저 해석 가능한 문서 내에서 트랙들이 나타나는 순서에 의해 결정될 수 있다. 제한이 아니라 예로서, 아래 표 1에 열거된 코드를 포함하는 브라우저 해석 가능한 문서는 first.mp3가 먼저 재생되고, 다음으로 second.mp3가 재생되게 할 것이다.
Figure 112009057578410-pct00001
브라우저 해석 가능한 문서 내에서 트랙들이 열거된 순서가 재생 순서를 결정하는 데에 이용될 수 있기는 하지만, 실시예에서 이 재생 순서는 잘 알려진 HTML 4+ 및/또는 XHTML 사양들에서 정의된 탭인덱스(tabindex) 속성을 이용함으로써 변경될 수 있다. 따라서, 표 1에 열거된 코드를 아래 표 2에 열거된 것으로 변경함으로써, 브라우저는 비록 first.mp3가 재생목록에서 열거된 최초의 콘텐트가 아닐지라도 그것을 먼저 재생하도록 지시받을 수 있다.
Figure 112009057578410-pct00002
본 명세서에서는 HTML을 채용하는 것으로 설명되어 있기는 하지만, XSPF(XML Shareable Playlist Format), M3U(MPEG Audio Layer 3 URL), 또는 ASX(Advanced Stream Redirector)를 채용하는 것들을 포함한 대안적인 실시예들도 구상된다. 본 명세서의 HTML 스타일 URL 및 마크업 언어의 사용은 명확성을 위하여 의도된 것이고, 브라우저 해석 가능한 문서 및/또는 재생목록들을 그러한 마크업 언어로 제한하는 것으로 해석되어서는 안 된다.
주어진 미디어 타입에 대한 적합한 미디어 플레이어의 식별을 더욱 능률화(streamline)하기 위해 추가의 속성들이 이용될 수도 있다. 제한이 아니라 예로서, "type" 속성이 채용될 수 있다. type 속성은 링크를 통하여 이용 가능한 미디어 타입에 대한 권고의 힌트(advisory hint)를 줄 수 있다. 그러한 힌트는, 브라우저 해석 가능한 문서 또는 그와 관련된 명령어들이, 미디어 타입이 브라우저가 실행중인 장치에 의해 현재 지원되지 않는 경우에 대안적인 절차들을 개시하는 것을 허용할 수 있다. 실시예에서, 그러한 속성을 이용하는 저자들은 지정된 미디어 타입이 링크를 통하여 이용 가능한 콘텐트와 맞지 않는 위험을 관리할 책임을 질 수 있다.
채용될 수 있는 다른 속성은 "title" 속성이다. 실시예에서, title 속성은 XSPF 재생목록에서 //playlist/trackList/track/title 속성이 이용되는 방식과 유사한 방식으로 이용될 수 있다. 즉, title 속성은 콘텐트의 제목에 관한 힌트를 제공할 수 있다.
채용될 수 있는 또 다른 속성은 image 또는 "img" 속성이다. 실시예에서, image 속성은 XSPF 재생목록에서 //playlist/trackList/track/image 속성과 유사한 방식으로 이용될 수 있다. 즉, image 속성은 콘텐트와 관련된 앨범 아트(album art) 또는 다른 이미지들에의 링크를 제공할 수 있다.
채용될 수 있는 또 다른 속성은 "free-text" 엘리먼트이다. 실시예에서, free-text 엘리먼트는 XSPF 재생목록에서 //playlist/trackList/track/annotation 속성과 유사한 방식으로 이용될 수 있다. 즉, free-text 엘리먼트는 콘텐트에 관한 코멘트 또는 다른 정보를 제공할 수 있다.
브라우저 해석 가능한 문서에서 재생목록을 생성하기 위해 함께 이용되는 경우, 예시적인 링크는 아래 표 3의 것을 예로 할 수 있다.
Figure 112009057578410-pct00003
유저들이 그들이 선호하는 미디어 플레이어들에서 콘텐트를 재생할 수 있게 하기 위한 노력으로, 일부 콘텐트 제공자들은 다수의 미디어 타입들에서 이용 가능하거나 하나의 미디어 타입 내에서 상이한 속성들(예를 들면, 상이한 비트 레이트들)을 채용하는 콘텐트를 만들 것이고, 그러한 콘텐트 제공자들은 그들에 의해 제공되는 콘텐트에 대응하는 재생목록 항목들이 적어도 이용 가능한 콘텐트의 형식들의 서브세트에의 포인터들을 포함할 것을 선호할 수 있다. 그러한 다수의 포인터들이 본 브라우저 해석 가능한 문서에 따라 구현될 수 있게 하기 위해, hTrack 키워드가 컨테이너 엘리먼트(container element)에 적용될 수 있다. 이것은 아래 표 4에서 예시된다.
Figure 112009057578410-pct00004
단일의 재생목록 항목이 콘텐트에의 다수의 재생 가능한 링크들뿐만 아니라 다른 링크들을 포함할 수 있다고 가정하면, 재생 가능한 링크들을 다른 링크들과 어떻게 구별할지가 문제가 된다. 제한이 아니라 예로서, 아래 표 5에서 예시된 것과 같은 다수의 링크들을 갖는 hTrack 컨테이너에서는, 재생 가능한 링크 "http://example.com/mp3"와, 아티스트에 관한 정보와 같은, 그러나 이에 제한되지 않는, 다른 정보에의 하나 이상의 링크들을 구별하고, 및/또는 재생 가능한 링크가 관련되는 콘텐트를 구입하기 위한 프로그램적인 방법(programmatic way)이 없다.
Figure 112009057578410-pct00005
제2의 새로운 키워드, "timed'는 재생 가능한 링크들과 다른 관련된 링크들의 구별을 용이하게 한다. timed 키워드는 이것이 이 트랙의 핵심인 타임드 미디어(timed media)가 발견될 수 있는 URL이라는 아이디어를 표현한다. 그것은 그러한 URL이 하나만 있다는 것을 의미하지 않고, 2개 이상의 타임드 미디어 링크들의 존재가 허용 가능하다. 그러한 키워드의 예시적인 사용은 아래 표 6에서 예시되고, 보다 완전한 HTML 기반 예는 도 15에서 제공된다.
Figure 112009057578410-pct00006
일부 당업자들은 type 속성이 feed 형식들에 대한 enclosure 엘리먼트들과 유사한 기능을 갖고, 따라서 본 브라우저 해석 가능한 문서가 처음에는 팟캐스팅(podcasting)의 기반 기술과 유사한 것으로 보일 수 있다는 것을 알 것이다. 그러나, 더 주의해서 검토하면, 팟캐스팅과 본 브라우저 해석 가능한 문서 간의 차이가 명백할 것이다. 예로서, hTrack의 시맨틱스(semantics)는 유저 설정 순서로 렌더링될 일련의 하나 이상의 타임드 미디어 엘리먼트들이다. 이와는 대조적으로, 팟캐스팅에서 사용되는 enclosure 엘리먼트는 큰 파일들의 프리페칭(prefetching), 항목들을 역 연대순으로(in reverse chronological order)으로 판독하는 것, 및 미디어 파일들을 휴대용 장치에 복사하는 것을 용이하게 한다.
재생목록에 관련하여, 본 명세서에 따른 브라우저 해석 가능한 문서는 또한 주어진 콘텐트의 미디어 타입에 대하여 적합한 미디어 플레이어가 이용 가능한지를 결정하기 위한 일련의 명령어들을 포함할 수 있다. 실시예에서, 그러한 일련의 명령어들은, AJAX, JAVA, JAVA Script, VB Script, C++ 등과 같은, 그러나 이에 제한되지 않는 언어들을 포함하는, 다른 응용 프로그램들에의 호출을 용이하게 하는 임의의 프로그래밍 또는 스크립트 언어로 기술될 수 있다. 대안적인 실시예에서, 그러한 일련의 명령어들은 임의의 언어로 기술될 수 있고, 브라우저 플러그인 또는 익스텐션(extension)과 같은, 그러나 이에 제한되지 않는, 중간의 "헬퍼 어플리케이션(helper application)"에 정보를 넘길 수 있다.
재생목록 항목이 콘텐트(예를 들면, 상이한 비트레이트의 또는 상이한 미디어 타입들을 이용하여 인코딩된 동일한 콘텐트)에의 복수의 링크를 갖는 경우, 명령어들은 또한 브라우저가 동작하고 있는 장치의 속성들에 기초하여 이용 가능한 것들로부터 적합한 콘텐트 링크를 선택할 수 있다. 제한이 아니라 예로서, 재생목록은 모션 픽처(motion picture)에 대응하는 풀 모션 비디오(full motion video)에 대한 항목을 포함할 수 있고, 재생목록 항목은 상이한 화면 해상도의 비디오에의 링크들을 포함할 수 있다. 상기 일련의 명령어들은 장치의 디스플레이 해상도를 결정하여, 링크들의 세트로부터 보다 높은 해상도의 콘텐트에 대한 불필요한 다운로딩 및/또는 다운샘플링을 요구하지 않고 장치에 의해 가장 쉽게 렌더링될 수 있는 것을 선택할 수 있다.
실시예에서, 상기 일련의 명령어들은 또한 복수의 표준 미디어 플레이어 중에서 어떤 것을 장치 상에 설치할 수 있는지를 결정할 수 있다. 상기 일련의 명령어들은 그 미디어 플레이어들에 대한 API(application programmer interface)들을 통하여 그러한 미디어 플레이어들 중 하나 이상과의 상호작용을 용이하게 할 수 있다. 실시예에서, 그러한 API들에의 액세스를 용이하게 하는 상기 일련의 명령어들은 쉽게 업데이트될 수 있는 개별 모듈로서 구현되어, 새로운 미디어 플레이어들 및 새로운 미디어 플레이어 버전들에 대한 지원이 쉽게 추가될 수 있게 한다. 그러한 업데이트들은 규칙적인 간격으로(예를 들면, 브라우저 해석 가능한 문서가 로딩될 때마다, 매주에 한 번, 장치가 다시 시작할 때마다 등) 소스를 폴링(polling)함으로써 획득될 수 있고, 또는 업데이트들이 장치 및/또는 브라우저에 "푸시(push)"될 수 있다.
본 명세서에 설명된 브라우저 해석 가능한 문서의 이점은, 매우 다양한 브라우저들에 의해 해석될 수 있고 매우 다양한 브라우저들에서 이용될 수 있는 잘 구조화된(well-structured) 재생목록 형식을 제공하는 것에 더하여, 그 브라우저 해석 가능한 문서를 복수의 미디어 플레이어를 제어할 수 있는 유저 인터페이스를 정의하는 데에 이용할 수도 있다는 것이다.
도 1은 브라우저 해석 가능한 문서를 이용하여 복수의 미디어 플레이어를 제어할 수 있도록 하는 방법을 예시하는 블록도이다. 도 1의 블록 100에서는, 복수의 미디어 플레이어를 제어할 그래픽 인터페이스를 생성한다. 실시예에서, 그러한 그래픽 인터페이스는 JPEG 인코딩된 이미지와 같은, 그러나 이에 제한되지 않는, 단일의 플랫 이미지 파일(flat image file); "<--", "<-", "Stop", "Play", "?", "->", "-->"과 같은, 그러나 이에 제한되지 않는, 텍스트 엘리먼트들의 컬렉션; 정적 및/또는 동적 이미지들의 컬렉션; 또는 그의 조합들로서 생성될 수 있다. 이미지들 및/또는 텍스트의 컬렉션들은 그래픽 유저 인터페이스를 생성하기 위해 HTML, XHTML, 또는 다른 그러한 언어들을 이용하여 브라우저 해석 가능한 문서 내에 결합될 수 있다.
도 3은 복수의 그래픽 및 텍스트 엘리먼트를 HTML 문서에 결합하여 그러한 그래픽 유저 인터페이스를 생성하는 예시적인 실시예를 예시한다. 도 3에서, 버튼들(310, 320, 및 330)은 각각 이전 트랙, 재생/일지 정지, 및 다음 트랙 기능을 용이하게 하도록 의도된 것이다. 버튼(340)은 유저가 콘텐트 제공자, 이 경우에는 잘 알려진 Yahoo! 뮤직 엔진에 액세스할 수 있도록 하는 편리한 링크를 제공한다. 버튼(350)은 유저가 버튼들(310, 320, 및 330)에 의해 제어되는 재생목록을 볼 수 있게 한다.
도 1의 블록 110에서는, 적어도 하나의 유저 인터페이스 엘리먼트, 또는 컨트롤을 정의한다. 실시예에서, 유저 인터페이스 엘리먼트는, 제한이 아니라 예로서, HTML의 맵(map) 또는 에어리어(area) 엘리먼트들을 이용함으로써 이미지 내의 하나 이상의 영역들을 식별하는 것에 의해 정의될 수 있다. 실시예에서, 그래픽 유저 인터페이스가 하나 이상의 HTML 엘리먼트들을 포함하는 경우, 제한이 아니라 예로서 <div> 엘리먼트와 같은 컨테이너 엘리먼트가 하나 이상의 HTML 엘리먼트들 주위에 배치될 수 있고, 그에 의해 그러한 HTML 엘리먼트들을 유저 인터페이스 엘리먼트로서 식별한다.
블록 120에서는, 적어도 하나의 기능을 정의된 유저 인터페이스 엘리먼트와 관련시킨다. 유저 인터페이스 엘리먼트들은 일반적으로 미디어 플레이어를 제어하거나 다른 방법으로 미디어 플레이어와 상호작용하는 것을 용이하게 하도록 생성되고, 이 단계에서는 유저 인터페이스 엘리먼트와 관련된 특정 기능이 정의된다.
블록 130에서는, 적어도 하나의 재생목록을 그래픽 유저 인터페이스와 관련시킨다. 재생목록은 적어도 하나의 미디어 파일 또는 미디어 파일에의 포인터를 포함한다. 실시예에서, 그러한 재생목록은 전술한 재생목록 사양을 이용하여 정의될 수 있고, 일부 실시예에서는, 재생목록 및 그래픽 유저 인터페이스는 동일한 파일에 저장될 수 있다. 일부 실시예들은 그래픽 유저 인터페이스에의 참조를 재생목록에 통합할 수 있고, 일부 실시예들은 재생목록에의 참조를 그래픽 유저 인터페이스에 통합할 수 있다.
블록 140에서는, 재생목록 내의 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 본 방법이 구현되는 컴퓨팅 장치 상에 설치되어 있는지를 결정한다. 그러한 미디어 플레이어가 설치되어 있지 않다면, 적합한 미디어 플레이어를 획득할 수 있도록 하는 링크를 장치에 제공할 수 있다.(블록 150)
일단 적합한 미디어 플레이어가 식별되고 그의 설치 상태가 확인되면, 본 방법이 구현되는 브라우저는 컴퓨터 장치로 하여금 그 적합한 미디어 플레이어를 로딩하게 할 수 있다(블록 160). 실시예에서, 미디어 플레이어의 네이티브 컨트롤들(native controls)은 유저에게 감추어지고(블록 170), 유저는 미디어 플레이어를 제어하기 위해 그래픽 유저 인터페이스에 의해 제공된 컨트롤들을 이용할 수 있다. 실시예에서, 제한이 아니라 예로서, 정적 또는 동적인 이미지들, 비주얼라이제이션들(visualizations) 등과 같은, 미디어 플레이어에 의해 제공되는 임의의 이미지들을 창(window)에 제공할 수 있고, 따라서 유저가 그것을 검토하는 것을 용이하게 한다. 그러한 실시예에서, 창은 그래픽 유저 인터페이스에 첨부(affix)되거나 삽입(embed)될 수 있다. 대안적인 실시예에서, 본 방법은 유저가 이미지를 포함하는 창을 움직이는 것을 허용할 수 있다. 블록 180에서는, 본 방법은 유저 인터페이스 엘리먼트들과의 유저의 상호작용들을 모니터하고, 유저의 상호작용들과 관련된 커맨드들을 로딩된 미디어 플레이어에 보낸다(블록 190).
도 2는 재생목록을 제공하는 예시적인 브라우저 해석 가능한 문서이다. 도 2에서, 컨트롤들(200)은 콘텐트 항목들(210, 220, 230, 240, 및 250) 각각의 재생을 제어하는 것을 용이하게 한다. 콘텐트 항목(210)은 MP3 미디어 타입을 이용하여 인코딩된 콘텐트에의 링크이다. 콘텐트(220)는 WMA 미디어 타입을 이용하여 인코딩된 콘텐트이다. 콘텐트(220)는 Quicktime 미디어 타입을 이용하여 인코딩된다. 콘텐트(240)는 RealVideo 미디어 타입을 이용하여 인코딩된다. 콘텐트(250)는 콘텐트 제공자에 의해 제공된 콘텐트에의 링크이고, 여기서 그 콘텐트는 WMA 미디어 타입을 이용하여 인코딩된다. 이 목록에서 나타내어진 콘텐트를 재생하려고 시도하는 전통적인 미디어 플레이어들은 콘텐트의 서브세트만을 재생할 수 있는데, 그 이유는 그 미디어 타입들 중 적어도 2개는 독점적인 미디어 타입들이기 때문이다. 그 결과, 유저는 나타내어진 콘텐트를 듣기 위해 미디어 플레이어들 사이에서 스위칭해야 할 것이다. 또한 콘텐트를 연속적인 스트림으로 재생할 수 없는데, 그 이유는 미디어 플레이어들 사이에 다음 미디어 플레이어에 의한 재생 시작을 용이하게 할 통신이 없기 때문이다. 이와는 대조적으로, 브라우저 해석 가능한 재생목록을 전술한 기초가 되는 일련의 명령어들과 함께 구현함으로써, 유저 인터페이스 엘리먼트(200)는 이 재생목록에 있는 콘텐트의 재생에 필요한 미디어 플레이어들 각각을 제어할 수 있고, 따라서 복수의 미디어 플레이어를 제어할 수 있는 편리하고 일치하는 유저 인터페이스를 제공한다.
도 4는 복수의 미디어 플레어어를 제어할 수 있는 유저 인터페이스를 제공하는 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서 브라우저 해석 가능한 문서는 브라우저에 의해 렌더링되었다. 대응하는 브라우저 해석 가능한 파일의 텍스트 기반 버전이 도 13에 제공된다. 이 실시예에서, 재생목록은 전술한 재생목록 형식에 따라 정의되었다. 각 재생목록 항목(400, 410, 420, 및 430)은 재생될 콘텐트에의 적어도 하나의 링크, 디스플레이될 앨범 아트 또는 다른 그래픽에의 링크, 및 콘텐트의 설명을 포함한다. 그래픽 유저 인터페이스(440)는 도 13에서의 <script type="text/javascript" src="http://server.yahoo.com/user/file.js"></script> 명령어에 의해 참조되는 일련의 명령어들에 의해 생성된 창이다. 그러한 그래픽 유저 인터페이스를 생성하고 그러한 인터페이스를 통해 유저로부터 입력을 수신하고 유저와 상호작용하기 위한 예시적인 명령어들의 세트가, 부록 A에 포함되어 있고, 이 부록 A는 그 전체가 참고로 본 명세서에 통합된다. 실시예에서, 그러한 명령어들은 AJAX(Asynchronous JavaScript and XML) 또는 대화식 어플리케이션들을 생성하기 위한 다른 표준화된 언어로 기술될 수 있다. 그 명령어들은 그래픽 유저 인터페이스를 로딩하는 것, 그래픽 유저 인터페이스와의 유저의 상호작용들을 모니터하는 것, 및 미디어 플레이어들과 관련된 API들을 통해 복수의 미디어 파일을 제어하는 것을 용이하게 할 수 있다.
도 5는 미디어 플레이어를 제어하기 위해 이용되고 있는 다른 예시적인 브라우저 해석 가능한 문서이다. 도 5에서, 유저는 버튼(510)을 클릭하여 재생목록 항목(410)으로부터 재생목록 항목(420)으로 이동하였고, 그래픽 유저 인터페이스(440)는 재생되는 새로운 콘텐트를 반영하도록 업데이트되었다.
도 6은 미디어 플레이어를 제어하기 위해 이용되고 있는 다른 예시적인 브라우저 해석 가능한 문서이다. 도 6에서, 유저는 그래픽 유저 인터페이스(440) 상에서 우측 클릭하여, 상황 의존적인 메뉴(context-sensitive menu)(610)를 디스플레이하였다. 예시된 실시예에서, 상황 의존적인 메뉴(610)는 유저가 재생목록을 반복하고 재생목록에 정의된 콘텐트로부터 랜덤하게 선택하는 것을 포함하는, 다양한 재생 옵션들을 제어하는 것을 허용한다. 상황 의존적인 메뉴(610)는 또한 유저가 더욱 능률화된 인터페이스에서 재생목록을 보기 위한 희망을 표시할 수 있게 한다. 그러한 인터페이스는 도 7에서 예시된다.
도 7은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 브라우저 해석 가능한 문서에 의해 제공되는 유저 인터페이스도 재생목록 인터페이스(700)에의 액세스를 제공한다. 재생목록 인터페이스(700)는 재생목록에서 참조되는 콘텐트의 목록을 디스플레이할 수 있고, 또한 유저가 재생목록 및 재생목록 인터페이스(700)에 대한 제어를 행하는 것을 허용할 수 있다. 제한이 아니라 예로서, 재생목록 인터페이스(700)는 유저가 재생목록을 저장하고, 재생목록에 행해진 편집들을 취소하고, 재생목록으로부터 노래들을 제거하고, 재생목록으로부터 특정 콘텐트의 재생을 시작하고, 재생목록 인터페이스를 감추는 것 등을 행할 수 있도록 하는 복수의 유저 인터페이스 엘리먼트(710)를 포함할 수 있다. 재생목록 인터페이스(710)는 또한 유저가, 도 8-11에 예시된 바와 같이, 재생목록을 편집하는 것을 허용할 수 있다.
도 8에서, 유저는 콘텐트 항목(810) 상에서 클릭하거나 다른 방법으로 그것을 선택하였다. 도 9에서, 유저는 콘텐트 항목(810)을 드래그하거나 다른 방법으로 재정리하여 재생목록 인터페이스에서 콘텐트 항목(810)이 콘텐트 항목(820) 뒤에 나타나도록 하였다. 도 10에서, 유저는 재생목록(710) 내의 콘택트 항목들을 재정리하는 것을 완료하여 이제는 콘텐트 항목(810)이 콘텐트 항목(820) 뒤에 나타나도록 하였다.
도 11은 다른 예시적인 브라우저 해석 가능한 문서이고, 여기서는 별도의 브라우저 인터페이스로부터 재생목록 인터페이스(700) 내로 콘텐트에의 URL을 드래그하여 드롭함으로써 재생목록 항목을 추가하였다. 도 11에서, 유저는 URL(1100) 상에서 클릭하거나 다른 방법으로 그것을 선택하여, 그 URL을 재생목록 인터페이스(700) 내로 드래그하였다. 예시된 실시예에서, 재생목록 인터페이스(700)는 URL(1100)에 포함된 정보에 기초하여 URL(1100)과 관련된 앨범 아트 및 다른 정보를 획득할 수 있었다. 재생목록 인터페이스(700)는 그 후 URL(1100) 뒤에 기초가 되는 콘텐트에의 참조를 포함하도록 업데이트되었다. 실시예에서, 재생목록 인터페이스(700)는 또한 유저가 URL(1100)의 뒤에 기초가 되는 콘텐트에 액세스할 권리를 갖고 있는지를 결정할 수 있고, 만일 그렇지 않다면, 재생목록 인터페이스(700)는 필요한 권리들을 획득하는 것을 용이하게 할 수 있다.
도 12는 재생목록의 저장을 용이하게 하는 다른 예시적인 브라우저 해석 가능한 문서이다. 이해되는 바와 같이, 유저가 예를 들면 재생목록 인터페이스(700) 등을 통해 재생목록을 변경했을 때, 유저는 변경된 재생목록을 저장하기를 원할 수 있다. 실시예에서, 유저 인터페이스(1200)는 유저가 변경된 재생목록을 브라우저 해석 가능한 문서로서 저장하는 것을 허용할 수 있다.
실시예에서, 특정 콘텐트 스트림에의, 또는 특정 콘텐트에의 URL은 쉽게 이용 가능하지 않을 수 있다. 본 발명을 제한하려는 것이 아니라 예로서, 일부 서비스들은 다양한 아티스트들뿐만 아니라, 각 하나의 콘텐트에 관한 정보에 의해 다양한 형식의 콘텐트들에의 액세스를 제공한다. 그러한 서비스들에서, 특정한 하나의 콘텐트와 관련된 공개적으로 이용 가능한 URL은 일반적으로 제한이 아니라 예로서 16472906과 같은 ID 번호 또는 이름에 의해 콘텐트를 참조한다. http.//www.SomeServer.com/track/16472906과 같은, 그 콘텐트와 관련된 URL을 방문하는 유저는 전형적으로 그 콘텐트를 재생할 수 있도록 하는 버튼 또는 다른 유저 인터페이스 엘리먼트와 함께, 아티스트의 이름, 콘텐트의 설명 등을 포함하는 정보 페이지를 볼 것이다. 본 명세서에서는 콘텐트 전체에의 액세스를 용이하게 하는 것으로 설명되어 있기는 하지만, 대안적인 실시예들에서 액세스는 콘텐트 일부에만 제한될 수 있다.
전통적인 미디어 플레이어 환경들에서는, 유저가 버튼 또는 다른 유저 인터페이스 엘리먼트 상에서 클릭하는 경우, 미디어 플레이어가 시작(launch)되고 콘텐트가 재생된다. 그러한 환경들에서, 유저는 종종 콘텐트에 액세스하기 위해 이용되는 기초가 되는 URL들을 알지 못한다. 공개적으로 이용 가능한 콘텐트에의 URL은 콘텐트 스트림 또는 콘텐트 파일을 직접 지시하지 않기 때문에, 유저들이 그러한 URL들로부터의 기초가 되는 콘텐트를 재생목록에 쉽게 추가하는 것은 어려울 수 있다. 그러나, 실시예에서, 브라우저 해석 가능한 문서는 그러한 서비스들로부터 공개 URL에 대응하는 콘텐트 스트림 또는 콘텐트 파일에의 URL을 획득하기 위한 명령어들을 포함할 수 있다. 실시예에서, 콘텐트 스트림 또는 콘텐트 파일에의 URL은 하나 이상의 웹 서비스들로부터의 정보에 액세스하는 것에 의해 획득될 수 있다. 유저가 특정 콘텐트에 액세스할 수 없는 경우 유사한 수단들이 채용될 수 있다. 제한이 아니라 예로서, 특정 재생목록은 원격 서버에 저장된 콘텐트에의 참조를 포함할 수 있다. 만일 그 서버가 이용 가능하지 않다면, 본 시스템은 대안적인 콘텐트 소스들을 통해 이용 가능한 카피들에 액세스할 수 있다. 유사하게, 재생목록은 유저가 적합한 권한을 가지고 있지 않은 콘텐트에의 참조를 포함할 수 있고, 실시예에서 본 시스템은 기초가 되는 콘텐트 또는 콘텐트 스트림을 결정하고 유저를 위해 그 콘텐트 또는 콘텐트 스트림의 대안적인 소스들의 위치를 알아내려고 시도할 수 있다. 실시예에서, 기초가 되는 콘텐트 또는 콘텐트 스트림에 대한 URL은, 제한이 아니라 예로서, SOAP(Simple Object Access Protocol), IIOP(Inter-ORB Protocol), RMI(Remote Method Invocation), 또는 다른 그러한 수단을 이용하여, MusicNet에 의해 제공되는 서비스들과 같은 웹 서비스로부터 적합한 정보를 요청하는 것에 의해 획득될 수 있다.
유저가 적합한 DRM 권리를 갖는 기초가 되는 콘텐트 또는 콘텐트 스트림에의 URL을 획득하기 위한 예시적인 방법이 도 16에 예시되어 있다. 블록 1600에서는, 콘텐트 제공자가 유저를 식별할 수 있도록 하는 로그인 토큰과 같은 로그인 정보를 획득한다. 로그인 토큰은 패스워드를 보내는 것을 필요로 하지 않으므로, 전통적인 유저네임/패스워드 조합에 비하여 유리할 수 있다. 이 예시적인 실시예에서는 로그인 토큰을 이용하기는 하지만, 본 발명의 정신 또는 범위 내에서 전통적인 유저네임/패스워드 조합들을 포함하는 대안적인 유저 인증 정보를 그 대신에 이용할 수도 있다. "쿠키들(cookies)", 즉 유저, 브라우저, 및/또는 장치에 관한 정보도 브라우저로부터 획득할 수 있다(블록 1605). 로그인 토큰 및 임의의 요구되는 또는 희망되는 쿠키들을 콘텐트 제공자에게 전달하고, 정보를 전달할 수 있도록 하는 세션을 생성한다(블록 1610). 실시예에서, 세션은 암호화될 수 있고, 그에 의해 브라우저와 콘텐트 제공자 간의 안전한 통신을 용이하게 한다.
콘텐트 제공자는 브라우저가 콘텐트 제공자의 시스템의 정당 인증된 유저에 대응하는 것으로 식별할 수 있도록 하는 토큰을 제공할 수 있고, 여기서 토큰은 하나 이상의 서비스 제공자들로부터의 정보에 액세스하는 데에 이용될 수 있다(블록 1615). 예시된 실시예에서, 브라우저는 서비스 제공자 토큰을 이용하여 세션을 생성할 수 있고, 그를 통해 브라우저는 서비스 제공자와 통신할 수 있다(블록 1620). 브라우저 및/또는 콘텐트 제공자는, 제한이 아니라 예로서, 콘텐트와 관련된 참조 번호와 같은 희망되는 콘텐트에 관한 정보를 공급할 수 있고, 서비스 제공자는 콘텐트를 액세스할 수 있도록 하는 위치 URL을 리턴할 수 있다(블록 1625). 그 후 유저가 콘텐트를 재생할 적합한 권리를 갖고 있는지를 결정하기 위해 유저의 DRM 권리를 쿼리한다(블록 1630). 만일 유저가 콘텐트의 재생을 허용하기 위해 필요한 적합한 DRM 라이센싱 정보를 갖고 있다면, 콘텐트가 재생된다(블록 1635).
만일 유저가 적합한 DRM 라이센싱 정보를 갖고 있지 않다면, 그러한 라이센싱 정보의 획득을 시작하기 위해 장치, 브라우저, 및/또는 유저에 특정한 식별자를 서비스 제공자에 보낼 수 있다(블록 1640). 일부 실시예들에서, 콘텐트 제공자는 유저와 서비스 제공자 사이의 상호작용들 중 일부에 대한 대리인(surrogate)으로서의 역할을 행할 수 있고, 콘텐트 제공자 및/또는 서비스 제공자는, 제한이 아니라 예로서, 적합한 DRM 권리의 취득을 위해 유저에게 빌링(billing)하는 것과 같은 임의의 트랜잭션 관련 프로세스들을 수행할 수 있다.
실시예에서, 서비스 제공자는 적합한 DRM 라이센싱 정보를 브라우저에 전송하고(블록 1645), 브라우저는 이 정보를 저장한다(블록 1650). DRM 라이센싱 정보는, 브라우저에 대한 WM-DRM(Windows Media Player Digital Rights Management) ActiveX 컨트롤 또는 그러한 다른 컨트롤들을 이용하는 것을 포함하는 다양한 수단을 통해 브라우저에 의해 저장될 수 있다. 일단 URL 및 DRM 라이센싱 정보를 획득하면, 콘텐트를 재생할 수 있다(블록 1655). 실시예에서, 서비스 제공자에 의해 공급된 URL은 임시 URL일 수 있고, 그에 의해 콘텐트가 재생될 때마다 관련된 DRM 라이센싱 정보의 유효성 검사 및 시행을 용이하게 한다.
본 명세서에서 설명된 브라우저 해석 가능한 문서를 통해, 유저들은 잘 구조화된 재생목록들을 용이하게 생성하고, 콘텐트를 재생할 책임이 있는 미디어 플레이어에 관계없이, 단일의 유저 인터페이스를 통하여 그 재생목록들 내의 콘텐트를 재생할 수 있다. 본 명세서에서는 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서에 대한 상세하고 특정한 실시예들을 설명하였으나, 당업자들에게는 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서의 정신 및 범위 내에서 다양한 변경들 및 수정들이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 만일 이들 수정들 및 변경들이 임의의 부가된 청구항들 및/또는 그들의 등가물들의 범위 내에 있다면 본 명세서는 그러한 수정들 및 변경들을 포함하는 것으로 의도된다.
Figure 112009057578410-pct00007
Figure 112009057578410-pct00008
Figure 112009057578410-pct00009
Figure 112009057578410-pct00010
Figure 112009057578410-pct00011
Figure 112009057578410-pct00012
Figure 112009057578410-pct00013
Figure 112009057578410-pct00014
Figure 112009057578410-pct00015
Figure 112009057578410-pct00016
Figure 112009057578410-pct00017
Figure 112009057578410-pct00018
Figure 112009057578410-pct00019
Figure 112009057578410-pct00020
Figure 112009057578410-pct00021
Figure 112009057578410-pct00022
Figure 112009057578410-pct00023
Figure 112009057578410-pct00024
Figure 112009057578410-pct00025
Figure 112009057578410-pct00026
Figure 112009057578410-pct00027
Figure 112009057578410-pct00028
Figure 112009057578410-pct00029
Figure 112009057578410-pct00030
Figure 112009057578410-pct00031
Figure 112009057578410-pct00032
Figure 112009057578410-pct00033
Figure 112009057578410-pct00034
Figure 112009057578410-pct00035
Figure 112009057578410-pct00036
Figure 112009057578410-pct00037
Figure 112009057578410-pct00038
Figure 112009057578410-pct00039
Figure 112009057578410-pct00040
Figure 112009057578410-pct00041
Figure 112009057578410-pct00042
Figure 112009057578410-pct00043
Figure 112009057578410-pct00044
Figure 112009057578410-pct00045
Figure 112009057578410-pct00046
Figure 112009057578410-pct00047
Figure 112009057578410-pct00048
Figure 112009057578410-pct00049
Figure 112009057578410-pct00050
Figure 112009057578410-pct00051
Figure 112009057578410-pct00052
Figure 112009057578410-pct00053
Figure 112009057578410-pct00054
Figure 112009057578410-pct00055
Figure 112009057578410-pct00056
Figure 112009057578410-pct00057
Figure 112009057578410-pct00058
Figure 112009057578410-pct00059
Figure 112009057578410-pct00060
Figure 112009057578410-pct00061
Figure 112009057578410-pct00062

Claims (20)

  1. 표준화된 인터페이스를 이용하여 복수의 미디어 플레이어를 제어하기 위한 방법으로서,
    복수의 미디어 플레이어를 제어할 그래픽 유저 인터페이스를 정의하는 단계 - 상기 그래픽 유저 인터페이스는 상기 그래픽 유저 인터페이스의 일부로서 디스플레이되는 유저 인터페이스 엘리먼트를 포함함 -;
    적어도 하나의 기능을 상기 정의된 유저 인터페이스 엘리먼트와 관련시키는 단계;
    적어도 하나의 재생목록(playlist)을 상기 그래픽 유저 인터페이스와 관련시키는 단계 - 상기 재생목록은 복수의 항목(entry)을 포함하고, 각 항목은 제1 미디어 파일 또는 제1 미디어 파일로의 포인터를 포함하며, 상기 재생목록의 적어도 하나의 항목은 제1 미디어 파일로의 복수의 포인터를 포함하며, 상기 복수의 포인터는 각각 각기 다른 비트레이트 또는 각기 다른 미디어 타입에 관련됨 -;
    상기 그래픽 유저 인터페이스 및 상기 재생목록과 상기 그래픽 유저 인터페이스와의 관련성을 웹 브라우저에 의해 해석 가능한 방식으로 저장하는 단계; 및
    컴퓨터 프로그램 프로세스 코드를 상기 그래픽 유저 인터페이스와 관련시키는 단계
    를 포함하고,
    상기 컴퓨터 프로그램 프로세스 코드는,
    상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어를 컴퓨팅 장치가 액세스할 수 있는지를 결정하고;
    상기 컴퓨팅 장치의 속성들(attributes)에 기초하여 상기 제1 미디어 파일로의 복수의 포인터들 중에서 하나의 포인터를 선택하고;
    상기 제1 미디어 파일을 재생할 능력이 있는 것으로 결정된 미디어 플레이어를 상기 컴퓨팅 장치에 의해 로딩시키고 - 적어도 상기 미디어 플레이어의 컨트롤들은 유저에게 감추어지고 상기 제1 미디어 파일에서 완전히 독립적(exclusive)임 -;
    상기 정의된 유저 인터페이스 엘리먼트와의 상호작용(interaction)을 모니터하고;
    상기 미디어 플레이어를 상기 유저 인터페이스 엘리먼트와 관련된 기능에 대응하는 방식으로 기능시키도록 상기 유저 인터페이스 엘리먼트를 통해 상기 미디어 플레이어를 제어하기 위한
    명령어들을 포함하는 방법.
  2. 제1항에 있어서, 상기 그래픽 유저 인터페이스는 임의의 미디어 플레이어로부터 독립(independent)하여 존재하는 방법.
  3. 제1항에 있어서, 상기 그래픽 유저 인터페이스는 적어도 하나의 그래픽 파일을 포함하는 방법.
  4. 제1항에 있어서, 상기 재생목록은 상기 제1 미디어 파일과 관련된 미디어 타입 표시자를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어는, 적어도 부분적으로, 상기 제1 미디어 파일과 관련된 미디어 타입 표시자에 의해 결정되는 방법.
  6. 제1항에 있어서, 상기 그래픽 유저 인터페이스 및 상기 컴퓨터 프로그램 프로세스 코드와 상기 그래픽 유저 인터페이스와의 관련성을 웹 브라우저에 의해 해석 가능한 방식으로 저장하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 그래픽 유저 인터페이스, 상기 그래픽 유저 인터페이스와 상기 재생목록과의 관련성, 및 상기 그래픽 유저 인터페이스와 상기 컴퓨터 프로그램 프로세스 코드와의 관련성은 동일한 파일에 저장되는 방법.
  8. 복수의 미디어 플레이어를 제어하기 위한 시스템으로서,
    정의된 그래픽 유저 인터페이스 - 상기 정의된 그래픽 유저 인터페이스는 유저 상호작용들을 수신하고, 상기 정의된 그래픽 유저 인터페이스는 유저 인터페이스 엘리먼트를 포함하고, 상기 정의된 유저 인터페이스 엘리먼트는 그와 관련된 기능을 갖고, 상기 정의된 그래픽 유저 인터페이스는 SGML(Standardized Generalized Markup Language)로부터 파생되고 컴퓨팅 장치 상에서 실행되는 웹 브라우저에 의해 해석 가능한 마크업 언어로 저장됨 -;
    상기 웹 브라우저에 의해 해석 가능한 명령어들의 세트 - 그에 의해 상기 웹 브라우저는 상기 컴퓨팅 장치 상에 설치된 복수의 미디어 플레이어 중 하나에 커맨드들을 보냄으로써, 상기 웹 브라우저가 상기 정의된 그래픽 유저 인터페이스와의 유저 상호작용들에 기초한 미디어 파일의 재생을 제어하는 것을 허용함 -; 및
    재생목록 - 상기 재생목록은 상기 SGML로부터 파생되고 상기 웹 브라우저에 의해 해석 가능한 마크업 언어로 저장되고, 상기 재생목록은 복수의 항목을 포함하고, 상기 복수의 항목 중 적어도 하나의 서브세트(subset)는 멀티미디어 파일에 대응하며, 상기 복수의 항목 중 상기 적어도 하나의 서브세트의 적어도 하나의 항목은 멀티미디어 파일로의 복수의 링크를 포함하고, 상기 복수의 링크는 동일한 미디어 콘텐트에 관련되며, 상기 복수의 링크는 각각 각기 다른 비트레이트 또는 각기 다른 미디어 타입에 관련됨 -
    을 포함하고,
    상기 웹 브라우저가 상기 컴퓨팅 장치의 속성들에 기초하여 상기 멀티미디어 파일로의 복수의 링크 중에서 하나의 링크를 선택하도록 허용되는, 시스템.
  9. 제8항에 있어서, 상기 명령어들의 세트는 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 컴퓨팅 장치 상에 설치되어 있는지를 결정하기 위한 명령어들을 더 포함하는 시스템.
  10. 제9항에 있어서, 각 재생목록 항목은 그 재생목록 항목과 관련된 적어도 하나의 미디어 타입 표시자를 더 포함하는 시스템.
  11. 제10항에 있어서, 상기 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 컴퓨팅 장치 상에 설치되어 있는지에 대한 결정은, 적어도 부분적으로, 재생목록 항목과 관련된 미디어 타입 표시자에 기초하는 시스템.
  12. 제8항에 있어서, 상기 재생목록 및 상기 그래픽 유저 인터페이스는 공통 마크업 언어를 이용하여 저장되는 시스템.
  13. 제12항에 있어서, 상기 공통 마크업 언어는 XML(eXtensible Markup Language)인 시스템.
  14. 제12항에 있어서, 상기 공통 마크업 언어는 HML(Hypertext Markup Language)인 시스템.
  15. 브라우저 해석 가능한 문서로서,
    복수의 항목을 포함하는 재생목록 - 각 항목은 제1 미디어 파일 또는 제1 미디어 파일로의 포인터를 포함하고, 상기 재생목록의 적어도 하나의 항목은 제1 미디어 파일로의 복수의 포인터를 포함하며, 상기 복수의 포인터는 각각 각기 다른 비트레이트 또는 각기 다른 미디어 타입에 관련됨 -;
    그래픽 유저 인터페이스 정의, 또는 상기 그래픽 유저 인터페이스 정의에의 포인터 - 상기 그래픽 유저 인터페이스 정의는 제1 유저 인터페이스 엘리먼트 및 상기 제1 유저 인터페이스 엘리먼트와 관련된 기능을 포함함 -; 및
    복수의 미디어 플레이어의 동작을 제어하기 위한 커맨드들의 세트, 또는 상기 커맨드들의 세트에의 포인터
    를 포함하고,
    상기 브라우저 해석 가능한 문서가 종래의 웹 브라우저에 의해 렌더링될 때, 상기 웹 브라우저는 상기 그래픽 유저 인터페이스 정의에 기초하여 그래픽 유저 인터페이스를 렌더링하고 상기 웹 브라우저가 실행되고 있는 컴퓨팅 장치의 속성들에 기초하여 상기 제1 미디어 파일로의 복수의 포인터 중에서 하나의 포인터를 선택하며, 상기 렌더링된 그래픽 유저 인터페이스는 상기 제1 미디어 파일의 재생을 용이하게 하도록 상기 복수의 미디어 플레이어 중 하나를 제어하는 브라우저 해석 가능한 문서.
  16. 제15항에 있어서, 상기 그래픽 유저 인터페이스 정의는 SGML(Standardized Generalized Markup Language)로부터 파생되는 표준화된 마크업 언어로 정의되는 브라우저 해석 가능한 문서.
  17. 제16항에 있어서, 상기 마크업 언어는 HML(Hypertext Markup Language)인 브라우저 해석 가능한 문서.
  18. 제17항에 있어서, 상기 커맨드들의 세트는 스크립트 언어(scripting language)로 된 명령어들을 포함하는 브라우저 해석 가능한 문서.
  19. 제15항에 있어서, 각 재생목록 항목은 상기 제1 미디어 파일과 관련된 미디어 타입 표시자를 더 포함하는 브라우저 해석 가능한 문서.
  20. 제19항에 있어서, 상기 커맨드들의 세트는 상기 제1 미디어 파일을 재생할 능력이 있는 미디어 플레이어가 상기 브라우저가 실행되고 있는 상기 컴퓨팅 장치 상에 설치되어 있는지를 상기 브라우저가 결정할 수 있도록 하는 명령어들을 포함하고, 그러한 결정은, 적어도 부분적으로, 상기 제1 미디어 파일과 관련된 미디어 타입 표시자에 기초하여 행해지는 브라우저 해석 가능한 문서.
KR1020097019589A 2007-03-20 2008-03-13 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법 Expired - Fee Related KR101134862B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/688,657 2007-03-20
US11/688,657 US20080235580A1 (en) 2007-03-20 2007-03-20 Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
PCT/US2008/056878 WO2008115763A1 (en) 2007-03-20 2008-03-13 Browser interpretable document for controlling a plurality of media players and systems and methods related thereto

Publications (2)

Publication Number Publication Date
KR20090113339A KR20090113339A (ko) 2009-10-29
KR101134862B1 true KR101134862B1 (ko) 2012-04-13

Family

ID=39766350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019589A Expired - Fee Related KR101134862B1 (ko) 2007-03-20 2008-03-13 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법

Country Status (6)

Country Link
US (3) US20080235580A1 (ko)
EP (1) EP2126726B1 (ko)
KR (1) KR101134862B1 (ko)
CN (1) CN101636730B (ko)
TW (1) TWI388996B (ko)
WO (1) WO2008115763A1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228919A1 (en) * 2007-11-16 2009-09-10 Zott Joseph A Media playlist management and viewing remote control
US20080256341A1 (en) * 2007-04-11 2008-10-16 Microsoft Corporation Data Processing Pipeline Selection
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US20100070901A1 (en) * 2008-09-16 2010-03-18 James Skinner Systems and Methods for In-Line Viewing of Multiple File Types over a Network Using a Single Player
US20100188573A1 (en) * 2009-01-29 2010-07-29 Usva Kuusiholma Media metadata transportation
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) * 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US8332529B1 (en) * 2009-05-29 2012-12-11 Adobe Systems Incorporated Media content including introduced code
US9407959B2 (en) 2009-09-21 2016-08-02 Adobe Systems Incorporated Monitoring behavior with respect to a software program
US8972860B2 (en) * 2009-09-30 2015-03-03 Adobe Systems Incorporated Player instance management
US20110191677A1 (en) * 2010-01-29 2011-08-04 Robert Paul Morris Methods, systems, and computer program products for controlling play of media streams
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US8789205B2 (en) * 2010-04-21 2014-07-22 Microsoft Corporation Role-based graphical user interfaces
US8732697B2 (en) 2010-08-04 2014-05-20 Premkumar Jonnala System, method and apparatus for managing applications on a device
US8892634B2 (en) 2010-11-12 2014-11-18 Microsoft Corporation Extensible video player selection via server-side detection of client application
US9792363B2 (en) * 2011-02-01 2017-10-17 Vdopia, INC. Video display method
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US9767195B2 (en) 2011-04-21 2017-09-19 Touchstream Technologies, Inc. Virtualized hosting and displaying of content using a swappable media player
CN102842318B (zh) * 2011-06-21 2015-01-21 深圳市快播科技有限公司 一种播放器的播放列表展示控制方法、装置与播放器
CN102231110B (zh) * 2011-07-22 2013-12-11 董翔英 一种桌面嵌入式多媒体文档结构浏览器的实现方法
EP3557442A1 (en) * 2011-12-28 2019-10-23 INTEL Corporation Real-time natural language processing of datastreams
US9311427B2 (en) 2012-01-03 2016-04-12 Cimpress Schweiz Gmbh Automated generation of mobile optimized website based on an existing conventional web page description
CN103294454B (zh) * 2012-02-24 2016-08-17 腾讯科技(深圳)有限公司 一种基于开放平台的内容播放方法及系统
CN103064867B (zh) * 2012-04-01 2016-01-06 烟台朱葛软件科技有限公司 防止网页中焦点陷入的控制方法及采用该方法的网页装置
US20140074924A1 (en) * 2012-09-12 2014-03-13 Nokia Corporation Methods, apparatuses and computer program products for providing a multi-user entertainment system with centralized playlist management for networked media sources
US9009619B2 (en) 2012-09-19 2015-04-14 JBF Interlude 2009 Ltd—Israel Progress bar for branched videos
US9565475B2 (en) 2012-10-11 2017-02-07 Netflix, Inc. System and method for managing playback of streaming digital content
US9727321B2 (en) 2012-10-11 2017-08-08 Netflix, Inc. System and method for managing playback of streaming digital content
US20140164924A1 (en) * 2012-11-30 2014-06-12 Senzari, Inc. Self Service Portal and Methods for Using Same
US9104843B2 (en) * 2013-03-15 2015-08-11 Rhapsody International, Inc. Providing content items from alternate sources
US9257148B2 (en) 2013-03-15 2016-02-09 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US20150046812A1 (en) 2013-08-12 2015-02-12 Google Inc. Dynamic resizable media item player
US10448119B2 (en) 2013-08-30 2019-10-15 JBF Interlude 2009 LTD Methods and systems for unfolding video pre-roll
CN103559898B (zh) 2013-10-11 2017-01-18 华为技术有限公司 多媒体文件播放方法、播放装置和系统
CN103686410A (zh) * 2013-12-10 2014-03-26 乐视网信息技术(北京)股份有限公司 一种视频播放方法及终端
WO2015123319A2 (en) * 2014-02-11 2015-08-20 Aaron Boodman Authentication specific data
US10331736B2 (en) * 2014-03-21 2019-06-25 Sonos, Inc. Facilitating streaming media access via a media-item database
US9431021B1 (en) 2014-03-27 2016-08-30 Amazon Technologies, Inc. Device grouping for audio based interactivity
US9916839B1 (en) * 2014-03-27 2018-03-13 Amazon Technologies, Inc. Shared audio functionality based on device grouping
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US10582265B2 (en) 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US10462202B2 (en) 2016-03-30 2019-10-29 JBF Interlude 2009 LTD Media stream rate synchronization
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US10218760B2 (en) 2016-06-22 2019-02-26 JBF Interlude 2009 LTD Dynamic summary generation for real-time switchable videos
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
CN110929054B (zh) * 2019-11-20 2022-08-05 北京小米移动软件有限公司 多媒体信息应用界面显示方法及装置、终端、介质
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US12096081B2 (en) 2020-02-18 2024-09-17 JBF Interlude 2009 LTD Dynamic adaptation of interactive video players using behavioral analytics
US12047637B2 (en) 2020-07-07 2024-07-23 JBF Interlude 2009 LTD Systems and methods for seamless audio and video endpoint transitions
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US12155897B2 (en) 2021-08-31 2024-11-26 JBF Interlude 2009 LTD Shader-based dynamic video manipulation
US11934477B2 (en) * 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104096A1 (en) * 2000-07-19 2002-08-01 Cramer Allen Brett System and methods for providing web-based multimedia presentations

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222537B1 (en) * 1997-07-29 2001-04-24 International Business Machines Corporation User interface controls for a computer system
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6498897B1 (en) * 1998-05-27 2002-12-24 Kasenna, Inc. Media server system and method having improved asset types for playback of digital media
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US20020055934A1 (en) * 2000-01-24 2002-05-09 Lipscomb Kenneth O. Dynamic management and organization of media assets in a media player device
US20020091762A1 (en) * 2000-03-07 2002-07-11 Yahoo! Inc. Information display system and methods
US6882793B1 (en) * 2000-06-16 2005-04-19 Yesvideo, Inc. Video processing system
EP1309921A4 (en) * 2000-07-14 2006-11-08 Infinite Broadcast Corp Multimedia player and browser system
US20020122060A1 (en) * 2000-12-18 2002-09-05 Markel Steven O. Wizard generating HTML web pages using XML and XSL
US20020082730A1 (en) * 2000-12-21 2002-06-27 Microsoft Corporation Universal media player
WO2002065764A2 (en) * 2001-01-04 2002-08-22 Becomm Corporation Universal media bar for controlling different types of media
US20050183017A1 (en) * 2001-01-31 2005-08-18 Microsoft Corporation Seekbar in taskbar player visualization mode
US7665115B2 (en) * 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
US6904566B2 (en) * 2001-03-26 2005-06-07 Microsoft Corporation Methods, systems and media players for rendering different media types
US7272794B2 (en) * 2001-03-26 2007-09-18 Microsoft Corporation Methods, systems and media players for rendering different media types
WO2002086709A2 (en) 2001-04-23 2002-10-31 Artesia Technologies, Inc. Method and system for plug-in mapper
US20060212442A1 (en) * 2001-05-16 2006-09-21 Pandora Media, Inc. Methods of Presenting and Providing Content to a User
CN1714358B (zh) * 2001-10-18 2012-03-21 凹凸科技国际股份有限公司 启用智能卡的安全计算环境系统
US7519911B2 (en) * 2001-11-02 2009-04-14 At&T Intellectual Property Ii, L.P. Systems and methods for managing and aggregating media formats
US7159174B2 (en) * 2002-01-16 2007-01-02 Microsoft Corporation Data preparation for media browsing
US7126581B2 (en) * 2002-06-13 2006-10-24 Panasonic Automotive Systems Company Of America Multimode multizone interface
US7219308B2 (en) * 2002-06-21 2007-05-15 Microsoft Corporation User interface for media player program
US20040261040A1 (en) * 2003-06-23 2004-12-23 Microsoft Corporation Method and apparatus for media access control
US7757182B2 (en) * 2003-06-25 2010-07-13 Microsoft Corporation Taskbar media player
US20050022127A1 (en) * 2003-07-23 2005-01-27 Meyers Glenn R. Enhanced media player
ATE396480T1 (de) * 2003-09-01 2008-06-15 Koninkl Philips Electronics Nv Media-postenauswahl
US20050081155A1 (en) * 2003-10-02 2005-04-14 Geoffrey Martin Virtual player capable of handling dissimilar content
US7421656B2 (en) * 2004-01-05 2008-09-02 Microsoft Corporation Systems and methods for interacting with a user interface of a media player
US8365083B2 (en) * 2004-06-25 2013-01-29 Hewlett-Packard Development Company, L.P. Customizable, categorically organized graphical user interface for utilizing online and local content
JP2008507746A (ja) * 2004-07-23 2008-03-13 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガニゼーション ブラウズ経歴とメディアプレイリストを統合する方法及びシステム
US20060053384A1 (en) * 2004-09-07 2006-03-09 La Fetra Frank E Jr Customizable graphical user interface for utilizing local and network content
US20060224575A1 (en) * 2005-03-30 2006-10-05 Microsoft Corporation System and method for dynamic creation and management of lists on a distance user interface
WO2006124193A2 (en) * 2005-04-20 2006-11-23 Videoegg, Inc. Browser enabled video manipulation
US20080005348A1 (en) * 2005-06-24 2008-01-03 David Kosiba System and method for enabling playlist navigation of digital multimedia content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104096A1 (en) * 2000-07-19 2002-08-01 Cramer Allen Brett System and methods for providing web-based multimedia presentations

Also Published As

Publication number Publication date
US20090254827A1 (en) 2009-10-08
CN101636730B (zh) 2011-11-16
CN101636730A (zh) 2010-01-27
TWI388996B (zh) 2013-03-11
US20090006963A1 (en) 2009-01-01
TW200903271A (en) 2009-01-16
KR20090113339A (ko) 2009-10-29
WO2008115763A1 (en) 2008-09-25
US8756505B2 (en) 2014-06-17
EP2126726A1 (en) 2009-12-02
WO2008115763A9 (en) 2009-08-13
US20080235580A1 (en) 2008-09-25
EP2126726A4 (en) 2011-01-05
EP2126726B1 (en) 2019-01-16
HK1140277A1 (en) 2010-10-08

Similar Documents

Publication Publication Date Title
KR101134862B1 (ko) 복수의 미디어 플레이어를 제어하기 위한 브라우저 해석 가능한 문서 및 그와 관련된 시스템 및 방법
US20080235588A1 (en) Media player playlist creation and editing within a browser interpretable document
US20080235142A1 (en) System and methods for obtaining rights in playlist entries
JP5015150B2 (ja) 対話式マルチメディア環境の状態変化への宣言式応答
EP1240586B1 (en) Flexible and hierarchical user interfaces
US20080281689A1 (en) Embedded video player advertisement display
US9336016B2 (en) Registration of applications and complimentary features for interactive user interfaces
US20140129940A1 (en) System and method of providing for the control of a music player to a device driver
US20090113301A1 (en) Multimedia Enhanced Browser Interface
WO2011084327A1 (en) Cloud-based user interface augmentation
US20110289121A1 (en) Metadata modifier and manager
US20140040258A1 (en) Content association based on triggering parameters and associated triggering conditions
US9313264B2 (en) System capable of providing plurality of digital contents and method using same
JP6234080B2 (ja) 複数のデジタルコンテンツを提供可能なシステム及びこれを用いた方法
HK1140277B (en) Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
Sharan et al. Playing Audios and Videos
Bekic Empowered End-User Computing: A Historical Investigation and Development of a File-System-Based Environment
Tordgeman MCTS: Microsoft Silverlight 4 Development (70-506) Certification Guide

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

AMND Amendment
J201 Request for trial against refusal decision
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PJ0201 Trial against decision of rejection

St.27 status event code: A-3-3-V10-V11-apl-PJ0201

PB0901 Examination by re-examination before a trial

St.27 status event code: A-6-3-E10-E12-rex-PB0901

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

St.27 status event code: A-3-4-F10-F13-rex-PB0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20210403

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20210403