KR20050010851A - 휴대용 장치에서 멀티미디어 렌더링하는 시스템 - Google Patents

휴대용 장치에서 멀티미디어 렌더링하는 시스템 Download PDF

Info

Publication number
KR20050010851A
KR20050010851A KR10-2004-7019567A KR20047019567A KR20050010851A KR 20050010851 A KR20050010851 A KR 20050010851A KR 20047019567 A KR20047019567 A KR 20047019567A KR 20050010851 A KR20050010851 A KR 20050010851A
Authority
KR
South Korea
Prior art keywords
multimedia
rendering
multimedia content
content
format
Prior art date
Application number
KR10-2004-7019567A
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
Priority claimed from US10/453,091 external-priority patent/US20040083015A1/en
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20050010851A publication Critical patent/KR20050010851A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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
    • 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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages

Abstract

내장형 프로세서를 갖는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템. 휴대용 장치는 하나 이상의 렌더링 리소스를 포함한다. 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 동작, 멀티미디어 객체와 포맷 핸들러를 결합하는 동작, 및 멀티미디어 객체로부터 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 동작을 수행하는 방법이 제공된다.

Description

휴대용 장치에서 멀티미디어 렌더링하는 시스템{SYSTEM FOR MULTIMEDIA RENDERING IN A PORTABLE DEVICE}
관련 출원들의 상호 참조
본 출원은 2002년 6월 4일 출원된 발명의 명칭이 "멀티미디어 처리"인 공동 계류중의 미국 가특허출원 일련번호 60/385,942을 우선권 주장한다. 또한, 본 출원은 2003년 4월 25일 출원된 발명의 명칭이 "멀티미디어 처리"인 공동 계류중의 미국 가출원을 우선권 주장한다. 상기 가출원 모두의 개시 내용은 모든 목적을 위해 그 전체로서 여기서 참조 포함한다.
배경
Ⅰ. 분야
일반적으로, 본 발명은 멀티미디어 처리에 관한 것으로, 더욱 상세하게는, 내장형 제어기를 가진 휴대용 장치에서 멀티미디어 렌더링하는 시스템에 관한 것이다.
Ⅱ. 관련 기술의 설명
기술 진보로 인해 개인용 계산 장치는 더 소형화되고 성능이 향상되고 있다. 예를 들어, 현재 소형이며 경량이고 사용자가 쉽게 휴대할 수 있는 각종 휴대용 이동 전화, 개인용 디지털 보조기(PDAs), 및 페이징 장치들이 존재한다. 통상, 이들 장치는 제한된 메모리 리소스를 갖는 내장형 제어기를 포함한다. 예를 들어, 이용 가능한 메모리의 용량은 그 장치의 소형 사이즈에 의해 제한될 수도 있다.
그러나, 이들 장치가 더 많은 양의 데이터를 처리하고 더 복잡한 프로그램을 실행할 필요성이 증가하고 있다. 예를 들어, 사용자들은 멀티미디어 애플리케이션과 콘텐츠의 신속하고 효율적인 렌더링을 휴대용 장치가 제공할 것을 요구하는 게임 프로그램 등의, 쌍방향 프로그램으로의 원격 액세스를 요구하고 있다. 예를 들어, 사용자들은 예를 들어, 비디오 클립, 애니메이션, 영화, 및 MP3 포맷으로 제공된 음악 콘텐츠 등의 오디오와 같은 멀티미디어 콘텐츠를 보고 듣는데 자신의 휴대용 장치를 사용하기를 원한다.
휴대용 장치 상에서 멀티미디어 콘텐츠를 렌더링하기 위해서는, 그 장치의 렌더링 리소스를 제어할 필요가 있다. 예를 들어, 한 종류의 휴대용 장치는 소형의 저해상도 디스플레이 화면 또는 오디오 스피커를 포함할 수도 있고, 다른 종류의 휴대용 장치는 대형의 고해상도 디스플레이 및 2-스피커 스테레오 기능을 포함할 수도 있다. 따라서, 각종 휴대용 장치는 멀티미디어 콘텐츠를 렌더링하기 위한 서로 다른 멀티미디어 렌더링 리소스를 가질 수도 있다. 따라서, 여러 구성 및 렌더링 리소스를 갖는 다양한 휴대용 장치 상에서 이용하기 위한 멀티미디어 콘텐츠를 제공할 때에는 호환성 문제를 극복하여야 한다.
호환성 문제를 극복하는데 이용되는 하나의 기술은 휴대용 장치 상에서 이용 가능한 렌더링 리소스와 특히 호환 가능한 포맷으로 멀티미디어 콘텐츠가 존재할 것을 필요로 한다. 예를 들어, 콘텐츠 개발자가 특정 휴대용 장치 상에서 이용하기 위한 비디오 콘텐츠를 제작하기를 원하는 경우, 그 개발자는 휴대용 장치 상에서 이용 가능한 비디오 렌더링 리소스와 정확히 호환가능하도록 비디오 콘텐츠를 맞추게 된다.
그러나, 콘텐츠가 렌더링되는 각각의 휴대용 장치에 맞는 멀티미디어 콘텐츠를 제작하는 것은 고비용이며 비효율적이다. 예를 들어, 콘텐츠 개발자가 서로 다른 휴대용 장치를 위한 콘텐츠를 수정할 필요가 있는 경우에는, 다양한 버전의 동일 콘텐츠를 생성하게 된다. 또한, 콘텐츠 개발자는 새 렌더링 리소스가 이용가능하게 될 때 그 콘텐츠를 자주 갱신하여야 한다.
따라서, 각각의 장치 상에서 이용 가능한 서로 다른 렌더링 리소스를 책임지는 콘텐츠를 맞출 필요 없이 각종 휴대용 장치 상에서 멀티미디어 콘텐츠가 렌더링되는 것을 허용하는 시스템을 필요로 하게 된다. 그 시스템은 모든 종류의 멀티미디어 콘텐츠가 렌더링되는 것을 허용하고 새 멀티미디어 포맷이 개발될 때 그 멀티미디어 포맷의 렌더링을 허용하는 확장가능한 구조를 제공하도록 동작하여야 한다.
개요
하나 이상의 실시형태들에서, 휴대용 장치 상에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법 및 장치를 포함하는 멀티미디어 시스템이 제공된다. 예를 들어, 휴대용 장치는 내장형 제어기 및 그 장치의 이용 가능한 렌더링 리소스를 이용하여 멀티미디어 콘텐츠를 렌더링하는 프로그램 명령을 실행시키는 제한된 메모리 리소스를 갖는 이동 전화일 수도 있다. 하나 이상의 실시형태들에서, 멀티미디어 시스템은 리소스를 거의 이용하지 않고 제한된 메모리 리소스를 갖는 내장형 제어기를 포함하는 휴대용 장치에 이용하는데 특히 더 적합한 소형의 효율적인 구현이다.
일 실시형태에서, 본 발명의 시스템은 그 장치의 렌더링 리소스를 제어하는 포맷 핸들러의 수집을 포함한다. 각각의 포맷 핸들러는 특정 포맷을 갖는 멀티미디어 콘텐츠를 처리하도록 설계됨으로써, 그 콘텐츠를 렌더링하는 장치의 렌더링 리소스를 제어하게 된다. 예를 들어, 각각의 포맷 핸들러는 (특별히 포맷된)멀티미디어 오디오 또는 비디오 파일을 렌더링한다(멀티미디어 오디오 또는 비디오 파일을 재생하고 이해한다). 포맷 핸들러는 콘텐츠가 어떤 리소스를 필요로 하는지를 결정하고, 파일을 판독하여, 올바른 리소스를 호출한다. 휴대용 장치는 포맷 핸들러가 작업을 수행하는데 이용하는 고레벨의 애플리케이션 프로그램 인터페이스(API)를 포함한다. 각각의 포맷 핸들러는 제조시 휴대용 장치내의 멀티미디어 시스템의 일부로서 포함되거나 동적으로 다운로드될 수 있다. 따라서, 멀티미디어 시스템의 하나 이상의 실시형태들이 포맷 핸들러의 수집을 이용함으로써, 각각의 장치에서 이용 가능한 렌더링 리소스에 기초하여 콘텐츠를 맞출 필요 없이 각종 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하도록 동작하는 것이 가능하게 된다. 또한, 멀티미디어 시스템은 새 콘텐츠 타입이 개발될 때 그 콘텐츠 타입을 렌더링하는 새 포맷 핸들러를 부가하여 시스템이 확장되는 것을 허용하는 확장 가능한 구조를 제공한다.
본 발명의 멀티미디어 시스템의 구조는 멀티미디어 사용자와 개발자 모두에게 유익하다. 예를 들어, 개발자는 무선 플랫폼 상에서 이용하는 그 자신의 포맷 핸들러를 기입할 수 있게 된다. 또한, 그 시스템은 렌더링 장치의 정확한 구성을 알 필요 없이 모든 종류의 콘텐츠가 렌더링되는 것을 허용하는 간단한 인터페이스를 제공하기 때문에 멀티미디어 사용자에게도 유익하다.
일 실시형태에서는, 내장형 프로세서를 갖는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법이 제공된다. 휴대용 장치는 하나 이상의 렌더링 리소스들을 더 포함한다. 본 발명의 방법은 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 단계, 멀티미디어 객체와 포맷 핸들러를 결합하는 단계, 및 멀티미디어 객체로부터 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 단계를 더 포함한다.
다른 실시형태에서는, 내장형 프로세서를 갖는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템이 제공된다. 휴대용 장치는 하나 이상의 렌더링 리소스들을 포함한다. 멀티미디어 시스템은 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하도록 동작하는 생성 미디어 로직을 포함한다. 또한, 멀티미디어 시스템은 멀티미디어 객체와 포맷 핸들러를 결합하도록 동작하는 선택 로직을 포함한다. 또한, 멀티미디어 시스템은 멀티미디어 객체로부터 멀티미디어 콘텐츠를 렌더링하는 선택된 렌더링을 제어하도록 동작하는 포맷 핸들링 로직을 포함한다.
다른 실시형태에서는, 내장형 프로세서를 갖는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 컴퓨터 실행가능 명령을 포함하는 컴퓨터 판독가능 매체가 제공된다. 휴대용 장치는 하나 이상의 렌더링 리소스를 더 포함한다. 컴퓨터 실행가능 명령은 실행될 때 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 단계, 멀티미디어 객체와 포맷 핸들러를 결합하는 단계, 및 멀티미디어 객체로부터 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 단계를 포함하는 방법을 수행한다.
또 다른 실시형태에서는, 내장형 프로세서를 갖는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템이 제공된다. 휴대용 장치는 하나 이상의 렌더링 리소스를 더 포함한다. 멀티미디어 시스템은 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 수단을 포함한다. 또한, 멀티미디어 시스템은 멀티미디어 객체와 포맷 핸들러를 결합하는 수단을 포함한다. 또한, 멀티미디어 시스템은 멀티미디어 객체로부터 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 수단을 포함한다.
본 발명의 다른 태양들, 효과들, 및 특징들은 이하 설명되는 도면의 간단한 설명, 발명의 상세한 설명, 및 청구항들의 검토 후 명백하게 알 수 있다.
도면의 간단한 설명
여기서 설명되는 실시형태들의 상술한 태양들과 이에 따른 효과들은 첨부된 도면들과 함께 다음의 상세한 설명을 참조하여 더 쉽게 명백하게 알 수 있다.
도 1 은 멀티미디어 콘텐츠를 렌더링하는 멀티미디어 시스템의 일 실시형태를 구현하는데 적합한 내장형 제어기를 갖는 휴대용 무선 장치를 포함하는 데이터 네트워크를 나타낸다.
도 2 는 멀티미디어 콘텐츠를 렌더링하도록 동작하는 멀티미디어 시스템의 일 실시형태를 포함하는 도 1 의 휴대용 장치의 일 실시형태를 나타낸 기능 블록도를 도시한다.
도 3 은 도 2 의 멀티미디어 시스템의 일 실시형태의 상세 블록도를 도시한다.
도 4 는 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러에 의해 관리되는 상태 기계의 일 실시형태를 도시한다.
도 5 는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법의 일 실시형태를 도시한다.
상세한 설명
다음의 상세한 설명은 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법 및 장치를 포함하는 멀티미디어 시스템을 설명한다. 하나 이상의 실시형태들에서, 휴대용 장치는 내장형 제어기 및 제한된 리소스(예를 들어, 제한된 메모리 용량)를 갖고, 멀티미디어 시스템은 그 장치의 이용 가능한 렌더링 리소스를 이용하여 멀티미디어 콘텐츠를 렌더링하도록 동작한다.
하나 이상의 실시형태에서, 멀티미디어 시스템은, 예를 들어, 장치 특정 리소스에 범용 호출을 제공함으로써, 그 장치의 동작을 간단화하는데 이용되며 장치 상에서 실행되는 실행시간(runtime) 환경과 상호 작용한다. 이와 같은 하나의 실행시간 환경은 캘리포니아주 샌디에고시에 위치한 QUALCOMM에 의해 개발된Binary Runtime Environment for WirelessTM(BREWTM) 소프트웨어 플랫폼이다. 다음의 설명에서는, BREW 소프트웨어 플랫폼 등의, 실행시간 환경을 실행하는 휴대용 장치 상에 멀티미디어 시스템이 구현되는 것으로 가정한다. 그러나, 멀티미디어 시스템의 하나 이상의 실시형태들은 휴대용 장치 상에서 멀티미디어 콘텐츠를 렌더링하는 다른 종류의 실행시간 환경에 사용하는데 적합하다.
도 1 은 멀티미디어 콘텐츠를 렌더링하는 멀티미디어 시스템의 일 실시형태를 구현하는데 적합한 내장형 제어기를 갖는 휴대용 무선 장치 (102) 를 포함하는 데이터 네트워크 (100) 를 나타낸다. 예를 들어, 휴대용 무선 장치 (102) 는 이하 "IMedia"로 지칭되는 멀티미디어 시스템 (104) 의 일 실시형태를 포함한다. 네트워크 (100) 에서, 휴대용 무선 장치 (102) 는 무선 통신 채널 (110) 을 이용하여 무선 네트워크 (108) 상에서 네트워크 서버 (106) 와 통신한다.
일 실시형태에서, 휴대용 무선 장치 (102) 는 무선 네트워크 (108) 상에서 음성 정보를 송신 및/또는 수신할 수도 있는 이동 전화를 포함한다. 그러나, 설명된 멀티미디어 시스템의 하나 이상의 실시형태들은 다른 종류의 휴대용 장치에 사용하는데 적합하다. 예를 들어, 다른 적합한 휴대용 장치들은 PDAs, 이메일 장치, 페이저, 태블릿 컴퓨터, 이동 전화 또는 멀티미디어-렌더링 리소스를 포함하는 거의 모든 종류의 휴대용 장치를 포함하지만, 이에 한정되지는 않는다.
또한, 휴대용 무선 장치 (102) 는 무선 네트워크 (108) 상에서 멀티미디어 애플리케이션 또는 콘텐츠를 수신할 수도 있다. 예를 들어, 멀티미디어 애플리케이션 (112 및 114) 은 네트워크 서버 (106) 로부터 휴대용 무선 장치 (102) 에 다운로드될 수도 있다. 또한, 멀티미디어 콘텐츠 (116) 도 네트워크 서버 (106) 로부터 휴대용 무선 장치 (102) 에 다운로도될 수도 있다. 또한, 무선 네트워크 (108) 에 연결된 임의의 다른 네트워크 엔티티로부터 휴대용 무선 장치 (102) 에 멀티미디어 애플리케이션 또는 콘텐츠를 다운로드하는 것도 가능하다.
일 실시형태에서는, 휴대용 무선 장치 (102) 도 직접 링크 (120) 를 경유하여, 로컬 워크스테이션 (118) 등의, 로컬 시스템에 직접 연결된다. 일 실시형태에서, 로컬 워크스테이션 (118) 은 직접 링크 (120) 를 이용하여 휴대용 무선 장치 (102) 에 멀티미디어 애플리케이션 또는 콘텐츠를 다운로드한다. 예를 들어, 멀티미디어 애플리케이션 (122) 은 직접 링크 (120) 를 이용하여 로컬 워크스테이션 (118) 으로부터 휴대용 무선 장치 (102) 에 다운로드된다.
IMedia 시스템 (104) 은 서버 (106) 로부터 휴대용 무선 장치 (102) 에 다운로드될 수도 있고 멀티미디어 애플리케이션 또는 콘텐츠를 렌더링하는 휴대용 무선 장치 (102) 상에서 동작한다. 다른 실시형태에서, IMedia 시스템 (104) 은 링크 (120) 를 경유하여 워크스테이션 (118) 으로부터 휴대용 무선 장치 (102) 에 다운로드되거나, 제조 중에 휴대용 무선 장치에 설치될 수도 있다.
일 실시형태에서, IMedia 시스템 (104) 은 플로피 디스크 등의 컴퓨터 판독가능 미디어 상에 제공되고, 휴대용 무선 장치 (102) 에 송신하기 위한 시스템 (108) 상에 로드된다. 다른 실시형태에서, IMedia 시스템 (104) 은 메모리 카드(도시안함) 등의, 컴퓨터 판독가능 메모리 장치 상에 저장될 수도 있고, 휴대용무선 장치 (102) 내에 직접 삽입될 수도 있으므로, IMedia 시스템 (104) 은 휴대용 무선 장치 (102) 상에서 실행될 수도 있다. 따라서, 휴대용 무선 장치 (102) 는 무선 송신으로 또는 메모리 장치로부터 직접 검색하여 IMedia 시스템 (104) 을 수신할 수도 있다.
또한, 네트워크 (100) 는 다른 종류의 무선 및 유선 휴대용 장치 등의 다른 종류의 휴대용 장치들을 포함할 수도 있고, 이들 장치는 무선 및 유선 네트워크, 사설 및 공중 네트워크, 교환식 및 비교환식 네트워크, 직접 링크 및 이들의 임의의 조합을 포함하는 여러 네트워크 타입과 통신 아키텍쳐를 이용하여 서버 (106) 또는 임의의 다른 네트워크 엔티티와 통신하여 IMedia 시스템 (104) 의 하나 이상의 실시형태들을 다운로드하고 멀티미디어 콘텐츠를 렌더링한다.
도 2 는 멀티미디어 콘텐츠를 렌더링하도록 동작하는 IMedia 시스템 (104) 의 일 실시형태를 포함하는 휴대용 무선 장치 (102) 의 일 실시형태를 나타낸 기능 블록도를 도시한다. 휴대용 무선 장치 (102) 는 내부 데이터 버스 (204) 와 스택 메모리 (216) 에 연결되는 처리 로직 (202) 을 포함한다. 또한, 명령 메모리 (206), 멀티미디어 애플리케이션/콘텐츠 메모리 (208), 힙 메모리 (210), 사용자 인터페이스 (212), 디스플레이 로직 (216), 오디오 로직 (218), 및 입력/출력(I/O) 인터페이스 (214) 도 내부 데이터 버스 (204) 에 연결된다.
휴대용 무선 장치 (102) 의 동작 중, 처리 로직 (202) 은 명령 메모리 (206) 에 저장된 프로그램 명령을 실행하여 실행시간 환경 (220) 을 생성한다. 실행시간 환경 (220) 은 BREW 환경 또는 다른 적합한 실행시간 환경일 수도 있다.명령 실행을 보조하기 위해, 처리 로직 (202) 은 스택 메모리 (216) 를 이용하여 임시 베이시스(basis) 상에 프로그램 데이터 또는 명령들을 저장한다. 예를 들어, 처리 로직 (202) 은 스택 메모리 (216) 상에 상수, 변수, 프로그램 주소, 포인터, 명령 또는 다른 정보 아이템들을 저장할 수도 있다. 다른 실시형태에서, 처리 로직 (202) 은 힙 메모리 (210) 내의 임시 베이시스 상에 정보를 저장할 수도 있다. 힙 메모리는 처리 로직 (202) 에 의한 정보의 저장과 검색에 적합한 거의 모든 종류의 메모리를 포함한다.
하나 이상의 실시형태들에서, 처리 로직 (202) 은 CPU, 게이트 배열, 하드웨어 로직, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 포함한다. 따라서, 통상, 처리 로직 (202) 은 기계 판독가능 명령을 실행하는 로직을 포함한다.
명령 메모리 (206) 는 RAM, ROM, FLASH, EEROM, 또는 임의의 다른 적합한 종류의 메모리, 또는 그 조합을 포함한다. 일 실시형태에서, 명령 메모리 (206) 는 휴대용 무선 장치 (102) 의 내부에 위치하고, 다른 실시형태에서, 명령 메모리 (206) 는 휴대용 무선 장치 (102) 에 선택적으로 부착될 수도 있는 착탈식 메모리 카드 또는 메모리 장치를 포함함으로써, 내부 버스 (204) 에 연결된다. 따라서, 명령 메모리 (206) 는 처리 로직 (202) 에 의해 실행될 수도 있는 명령들을 저장할 수 있는 거의 모든 종류의 메모리를 포함할 수도 있다.
사용자 인터페이스 (212) 는 예를 들어, 키패드, 포인팅 장치, 터치 패드, 또는 다른 입력 기구들로부터 사용자 입력을 수신하여 사용자가 휴대용 무선 장치 (102) 와 상호작용하는 것을 허용한다. 디스플레이 로직 (206) 은 장치 디스플레이에 정보를 출력하는 로직을 포함한다. 예를 들어, 휴대용 무선 장치 (102) 는 LCD, LED 또는 다른 종류의 디스플레이 리소스를 포함할 수도 있다. 오디오 로직 (218) 은 장치 스피커(들), 원격 스피커(들) 또는 오디오 시스템, 또는 다른 종류의 사운드 리소스에 오디오 정보를 출력하는 로직을 포함한다. 예를 들어, 한 쌍의 원격 스피커는 오디오 로직 (218) 의 출력을 수신하여 장치 사용자에 오디오 정보를 렌더링할 수도 있다. 따라서, 디스플레이 로직 (216) 과 오디오 로직 (218) 은 휴대용 무선 장치 (102) 가 영상 또는 음성 정보를 장치 사용자에게 렌더링하는 것을 허용하는 하드웨어 및/또는 소프트웨어를 임의의 조합으로 포함할 수도 있다.
I/O 인테페이스 (214) 는 휴대용 무선 장치 (102) 와 외부 장치, 시스템, 및/또는 네트워크 간에 정보를 송신하고 수신하도록 동작한다. 예를 들어, 일 실시형태에서, I/O 인터페이스 (214) 는 예를 들어, 통신 링크 (106) 를 이용하여 무선 데이터 네트워크 상에서 정보를 송신하고 수신하도록 동작하는 무선 송수신기 회로(도시안함)를 포함한다. 예를 들어, 송수신기는 처리 로직 (202) 으로부터 수신된 정보를 변조하고 변조된 정보를 무선 송신에 적합한 고주파 신호로 변환하는 회로를 포함한다. 이와 유사하게, 송수신기도 수신된 고주파 통신 신호를 처리 로직 (202) 에 의한 복조와 후속 처리에 적합한 신호로 변환하는 회로를 포함한다.
다른 실시형태에서, I/O 인터페이스 (214) 는 인터넷 등의 공중 데이터 네트워크 상에서 원격 시스템과 통신하기 위해, 전화선 등의 고정배선 통신 링크 상에서 정보를 송수신하도록 동작하는 송수신기를 포함한다.
또 다른 실시형태에서, I/O 인터페이스 (214) 는 링크 (120) 를 이용하여 로컬 워크스테이션 (116) 등의 로컬 장치와 통신하도록 동작하는 회로를 포함한다. 또한, I/O 인터페이스 (214) 는 프린터 또는 다른 로컬 컴퓨터 또는 플로피 디스크 또는 메모리 카드 등의 장치와 통신하는 (직렬 또는 병렬 포트 로직 등의)회로를 포함할 수도 있다. 따라서, I/O 인터페이스 (214) 는 휴대용 무선 장치 (102) 가 다른 근방에 또는 멀리 떨어져 위치한 장치 또는 시스템과 통신하는 것을 허용하는 임의 종류의 하드웨어, 소프트웨어, 또는 그 조합을 포함할 수도 있다.
휴대용 무선 장치 (102) 의 동작 중, 처리 로직 (202) 에 의한 프로그램 명령의 실행으로 인해 IMedia 시스템 (104) 이 생성된다. 예를 들어, 실행시 IMedia 시스템 (104) 을 생성하는 IMedia 명령들은 명령 메모리 (206) 내에 저장될 수도 있다. IMedia 시스템 (104) 은 실행시간 환경 (220) 과 상호작용하여 휴대용 무선 장치 (102) 상에서 멀티미디어 애플리케이션과 콘텐츠를 렌더링한다. 예를 들어, 멀티미디어 애플리케이션과 콘텐츠는 무선 네트워크 (108) 를 경유하여 휴대용 무선 장치 (102) 에 다운로드되어 메모리 (208) 에 저장될 수도 있다. 일 실시형태에서, IMedia 시스템 (104) 은 실행시간 환경 (220) 을 경유하여 휴대용 무선 장치의 렌더링 리소스(예를 들어, 디스플레이 로직, 오디오 로직 등)와 상호작용함으로써 내부 버스 (204) 를 경유하여 메모리 (208) 에 저장된 멀티미디어 콘텐츠를 검색하고 그 콘텐츠를 처리하여 이를 휴대용 무선 장치 (102) 상에서 렌더링한다. 또한, IMedia 시스템 (104) 은 스트리밍 멀티미디어 콘텐츠를 처리하여 렌더링하도록 동작한다. 예를 들어, 네트워크 (108) 로부터 휴대용 무선 장치 (102) 에 다운로드된 스트리밍 멀티미디어 콘텐츠는 IMedia 시스템 (104) 을 이용하여 휴대용 무선 장치 (102) 상에서 렌더링된다.
휴대용 무선 장치 (102) 의 구성은 멀티미디어 애플리케이션과 콘텐츠를 렌더링하는 IMedia 시스템 (104) 의 일 실시형태를 구현하는데 적합한 단지 하나의 구성임을 알 수 있다. 또한, 본 발명의 범위내에서 다른 장치 또는 장치 구성을 이용하여 IMedia 시스템 (104) 을 구현하는 것도 가능하다.
도 3 은 휴대용 무선 장치 (102) 에 이용되는 IMedia 시스템 (104) 의 일 실시형태의 상세 블록도를 도시한다. 휴대용 무선 장치 (102) 는 처리 로직 (202) 을 포함하는 원시 하드웨어 (302) 를 포함하고, 멀티미디어 정보를 처리하도록 특별히 설계된 멀티미디어 프로세서 (304) 를 선택적으로 포함할 수도 있다. 이하, 원시 하드웨어 (302) 는 휴대용 무선 장치의 렌더링 리소스들(예를 들어, 디스플레이 로직 (216) 등)을 동작시키는 로직을 포함하고 처리 로직 (202) 과 멀티미디어 프로세서 (304) 는 이들 리소스를 제어하도록 동작할 수도 있음을 부가 설명 없이 알 수 있다.
또한, 휴대용 무선 장치 (102) 는 오디오1 (308), 오디오2 (310) 및 비디오 (312) 모듈들을 포함하는 원시 멀티미디어 소프트웨어 (306) 를 포함한다. 이들 모듈은 선택된 렌더링 리소스를 제어하는 원시 하드웨어 (302) 와 직접 통신하는데 이용되는 저레벨 소프트웨어 모듈을 나타낸다. 예를 들어, 비디오 모듈 (312) 은 비디오 렌더링 리소스를 제어하는 멀티미디어 프로세서 (304) 와 통신한다. 일 실시형태가 도시되어 있지만, 더 적거나 많은 멀티미디어 소프트웨어 모듈들 (306) 을 갖는 것도 가능하며 이들 모듈은 모든 종류의 원시 하드웨어 (302) 와 통신할 수도 있다. 따라서, 다른 원시 하드웨어 (302) 와 소프트웨어 (306) 구성들도 본 발명의 범위내에서 가능하다.
동작 중, 휴대용 무선 장치 (102) 는 실행시간 환경 (220) 을 생성하는 프로그램 명령을 실행하며, 일 실시형태에서, 이 환경은 Brew 환경이다. 또한, 실행시간 환경과 함께 멀티미디어 콘텐츠를 렌더링하는 IMedia 시스템 (104) 을 생성하는 IMedia 명령들을 실행하는 것도 가능하다. 예를 들어, IMedia 명령들은 무선 네트워크 (108) 를 경유하여 휴대용 무선 장치에 다운로드되어 명령 메모리 (206) 에 저장될 수도 있다.
IMedia 시스템 (104) 은 멀티미디어 콘텐츠 핸들링을 추상화하고 멀티미디어 인터페이스의 프레임워크를 정의하도록 동작한다. 일 실시형태에서, IMedia 시스템 (104) 은 다음의 특징들을 제공하도록 동작한다.
1. 장치의 멀티미디어 특징과 성능에 일반적이며 쉬운 액세스를 제공한다.
2. 복잡한 주문형 집적회로(ASIC) 레벨의 멀티미디어 APIs와 리소스 관리를 회피한다.
3. 복잡한 멀티미디어 애플리케이션을 개발하는 구성요소(building blocks)를 제공한다.
4. 파일 확장, 파일 콘텐츠, 또는 파일내의 서명에 기초하여 미디어 타입을 선택적으로 얻는다.
IMedia 시스템 (104) 은 생성 미디어 유틸리티 (324), 미디어 데이터 구조 (326), 및 포맷 핸들러 (314, 316, 318, 및 320) 를 포함한다. 또한, IMedia 추상화 (328) 는 IMedia 시스템 (104) 의 일부로서 도시되고, IMedia 시스템 (104) 의 동작 중 생성되는 기본 IMedia 객체를 나타낸다. IMedia 시스템의 구성요소의 상세한 설명은 다음과 같이 제공된다.
IMedia 추상화
IMedia 추상화 (328) 는 등록을 가능하게 하며 멀티미디어 콘텐츠 타입을 핸들링하는 추상적인 인터페이스이다. IMedia 추상화 (328) 는 미디어 데이터 구조 (326) 내의 미디어 데이터에 대한 기준을 유지한다.
미디어 데이터 구조
미디어 데이터 구조 (326) 는 미디어 데이터 소스 또는 싱크를 밀봉(encapusulate)하도록 동작한다. 이로 인해, IMedia 시스템 (104) 은 여러 소스 또는 수신지들로부터 또는 여러 소스 또는 수신지들로 미디어 데이터를 스트리밍할 수 있게 된다. 일 실시형태에서, 미디어 데이터 구조 (326) 는 메모리 (210) 내에 미디어 데이터 구조 (326) 를 생성하는 프로그램 명령들을 실행시키는 처리 로직 (202) 을 포함하는 데이터 구조 로직으로부터 형성된다.
생성 미디어 유틸리티
생성 미디어 유틸리티 (324) 는 여러 기능들을 수행한다. 첫째로, 생성 미디어 유틸리티 (324) 는 렌더링을 위한 멀티미디어 애플리케이션 또는 콘텐츠를 수신하도록 동작한다. 예를 들어, 멀티미디어 애플리케이션 또는 콘텐츠는 메모리 (208) 내에 저장될 수도 있고, 이 콘텐츠는 생성 미디어 유틸리티 (324) 에 호출하는 기능을 포함한다. 둘째로, 생성 미디어 유틸리티 (324) 는 멀티미디어 콘텐츠를 처리하여 미디어 데이터 (326) 내에 포함된 정보에 기초하여 IMedia 객체 (328) 를 생성한다. IMedia 객체를 생성한 후, 미디어 데이터를 설정하고 IMedia 객체를 대기 상태로 놓는다. 일 실시형태에서, 생성 미디어 유틸리티 (326) 는 메모리 (210) 내에 IMedia 객체 (328) 를 생성하고 여기서 설명된 생성 미디어 유틸리티의 기능들을 수행하는 프로그램 명령들을 실행시키는 처리 로직 (202) 을 포함하는 생성 미디어 로직으로부터 형성된다.
일 실시형태에서, 생성 미디어 유틸리티 (326) 는 IMedia 객체 (328) 와 결합하는 포맷 핸들러를 선택하고 여기서 설명된 다른 기능들을 수행하는 프로그램 명령들을 실행시키는 처리 로직 (202) 을 포함하는 선택 로직을 포함한다. 예를 들어, 선택 로직은 미디어 콘텐츠와 결합되는 데이터 구조 (326) 를 평가하여 어느 포맷 핸들러를 선택할지를 결정한다.
포맷 핸들러
일 실시형태에서, IMedia 시스템 (104) 은 포맷 핸들러(FH)의 수집을 포함한다. 예를 들어, IMedia 시스템 (104) 은 MIDI (314), MP3 (316), MPEG4 (318), 및 ADCPM (320) 포맷 핸들러를 포함한다. 이들 포맷 핸들러는 휴대용 무선 장치 (102) 의 멀티미디어 렌더링 하드웨어 및 소프트웨어와 IMedia 객체 (328) 간의 인터페이스 (322) 를 제공한다. 일 실시형태에서, 포맷 핸들러는 공통 명령 집합을 해석하므로 멀티미디어 애플리케이션 또는 콘텐츠는 포맷 핸들러가 재생, 정지, 되감기 등의 유사한 작업을 수행하도록 명령하는 동일 명령들을 이용할 수도 있다. 임의 개수의 포맷 핸들러들을 이용할 수도 있고, 새 포맷 핸들러를 부가하여 새 타입의 멀티미디어 콘텐츠를 렌더링할 수도 있다. 일 실시형태에서, 포맷 핸들러는 여기서 설명된 포맷 핸들러의 기능들을 수행하는 프로그램 명령들을 실행시키는 처리 로직 (202) 을 포함하는 포맷 핸들링 로직으로부터 형성된다.
일 실시형태에서, 공통 명령 집합은 포맷 핸들러가 멀티미디어 콘텐츠를 렌더링하도록 명령하고 파라미터와 상태를 전달하기 위한 기구를 제공한다. 공통 명령에 포함된 명령 샘플은 다음과 같이 설정된다.
1. IMedia_SetMediaParm() ; FH의 파라미터를 설정
2. IMedia_GetMediaParm() ; FH로부터 파라미터를 얻음
3. IMedia_SetMediaData() ; 미디어 데이터를 설정
4. IMedia_GetMediaData() ; 미디어 데이터를 얻음
5. IMedia_GetClassID() ; 클래스 ID 를 얻음
6. IMedia_GetState() ; 상태를 얻음
7. IMedia_RegisterNotify() ; FH로 콜백(call back)을 등록
8. IMedia_Play() ; FH로 재생 명령을 발함
9. IMedia_Stop() ; FH로 정지 명령을 발함
10. IMedia_SetRect() ; 비디오 파라미터를 설정
예를 들어, IMedia_SetMediaParm() 명령은 포맷 핸들러와 결합된 특정 파라미터, 설정, 또는 변수들을 설정하도록 포맷 핸들러에 명령하는 IMedia 객체에 포함될 수도 있다. 예를 들어, MPEG 비디오를 렌더링하도록 설계된 포맷 핸들러와 결합된 파라미터들은 IMedia_SetMediaParm() 명령을 이용하여 설정될 수 있다. 또한, 다른 실시형태들에서, 특정 포맷 핸들러들은 IMedia 객체 (328) 에 포함될 수도 있고 제어되고 있는 리소스의 특정 기능을 제어하는데 이용되는 부가 명령들(위에서 도시안함)을 해석할 수도 있다.
일 실시형태에서, 포맷 핸들러는 IMedia 시스템 (104) 의 일부인 휴대용 장치 상에서 실행되는 소프트웨어이다. 다른 실시형태에서, 포맷 핸들러는 하드웨어와 소프트웨어의 조합일 수도 있다. 또한, 포맷 핸들러들이 이용가능하게 될 때 그 포맷 핸들러들을 IMedia 시스템에 부가할 수도 있어, IMedia 시스템이 확장가능하게 되고 그 IMedia 시스템이 이용가능하게 될 때 새 타입의 멀티미디어를 렌더링하는 것도 가능하게 된다.
동작 중, 포맷 핸들러들은 실행시간 환경과 함께 그들 자신(그들의 MIME 타입)을 등록하고, 이 포맷 핸들러들은 시스템내에서 지원된(등록된) 포맷 핸들러들의 리스트를 열거하거나 MIME 타입을 조회하여 멀티미디어 애플리케이션에 의해 검출될 수 있다. 각각의 포맷 핸들러는 다음과 같은 기능들을 포함하는 기능들의 선택을 제공하지만, 이에 한정되지는 않는다.
1. a. 탐색, 중지, 리줌(resume) 등의 기능들을 제어하는 것을 포함하는, 멀티미디어 콘텐츠의 재생 및 기록을 수행하고;
b. 오디오 및 비디오 제어 파라미터들을 설정하고 및/또는 얻고;
c. IMedia 객체로부터 비동기식 사건들을 처리하는 애플리케이션 프로그램인터페이스(API)를 제공하는 기능.
2. 등록된 콜백 기능을 경유하여 비동기식 미디어 사건들을 보내는 기능.
3. 장치의 멀티미디어 렌더링 리소스들을 관리하는 기능.
4. 유도된 클래스들에 의해 확장가능한 상태 기계를 관리하는 기능.
도 4 는, 멀티미디어 콘텐츠를 렌더링하는 포맷 핸들러, 예를 들어, 포맷 핸들러 (318) 에 의해 관리되는 상태 기계 (400) 의 일 실시형태를 도시한다. 포맷 핸들러의 초기 상태는 IDLE (402) 상태에 있다. 포맷 핸들러가 IMedia 객체와 결합되면, 포맷 핸들러의 상태는 READY (404) 상태로 된다. READY 상태 (404) 로부터, 포맷 핸들러는 멀티미디어 콘텐츠와 결합된 명령에 기초하여 PLAY (406) 또는 RECORD (408) 상태로 진행할 수도 있다. PLAY (406) 와 RECORD (408) 상태로부터, 포맷 핸들러는 PLAY_PAUSE (410) 또는 REC_PAUSE (412) 상태로 될 수도 있다. 또한, 이들 상태로부터, 대응하는 PLAY (406) 와 RECORD (408) 상태를 리줌하는 것도 가능하다. 또한, 포맷 핸들러는 STOP (414) 상태로 될 수도 있고 READY (404) 상태로 복귀할 수도 있다.
따라서, 상태 기계 (400) 를 이용하여, 각각의 포맷 핸들러가 그 포맷 핸들러와 결합된 멀티미디어 애플리케이션 또는 콘텐츠(IMedia 객체)를 렌더링하는 장치의 렌더링 리소스를 제어하는 것이 가능하게 된다. 또한, 다른 실시형태에서는, 포맷 핸들러가 도 4 에 도시된 것과는 다른 상태 기계를 구현하는 것도 가능하다. 또한, 다른 실시형태에서는, 부가 상태들을 정의하는 것이 가능하므로, 렌더링 처리 중 이용될 수도 있다.
도 5 는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법 (500) 의 일 실시형태를 도시한다.
블록 (502) 에서, 멀티미디어 애플리케이션 또는 콘텐츠는 IMedia 구성을 이용하여 생성되므로 휴대용 장치 상에서 렌더링될 수도 있다. 예를 들어, 애플리케이션 개발자들은 생성 미디어 유틸리티 (324) 를 이용하여 IMedia 객체를 생성한다. IMedia 객체의 수와 동시 재생 및 기록 등의 성능은 휴대용 장치에 따라 결정된다. 모든 IMedia 객체들은 도 4 에 도시된 기본 상태 기계를 따른다. 일 실시형태에서는, 다음의 단계들을 이용하여 IMedia 객체를 생성하고 이용한다.
1. 미디어 데이터 구조를 생성하고 미디어 데이터 소스/싱크에 기초하여 미디어 데이터 구조를 초기화한다. AEEMediaData는 다음과 같이 정의된다.
typedef struct
{
AEECLSID clsData; //미디어 데이터의 타입
void * pData; //문맥 의존 데이터(표 참조)
unit32 dwSize; //문맥 의존 데이터(표 참조)
}AEEMediaData;
2. 다음 표의 정보에 기초하여 상기 구조의 멤버들을 초기화한다.
clsStream pData dwSize 설명
MMD_FILE_NAME 파일명 0 재생과 기록용. 이 파일은 IMedia에 의해 열려지지 않지만 이 파일명은 ASIC-레벨의 API에 전달되어, 이 파일을 열게 된다.
MMD_BUFFER Buffer Ptr 버퍼의 크기 재생과 기록용. 이 버퍼는 완전한 미디어 데이터를 포함하여야 한다.
MMS_Source ISource 데이터의 전체 크기 또는 0 실시간 스트리밍
블록 (504) 에서, 멀티미디어 콘텐츠는 렌더링을 위해 휴대용 장치에 다운로드된다. 예를 들어, 애플리케이션 또는 콘텐츠는 무선 데이터 네트워크 (108) 를 경유하여 휴대용 장치에 다운로드될 수도 있다. 이 콘텐츠는 스트리밍 콘텐츠로서 렌더링될 수도 있고, 또는 메모리에 저장되어 나중에 렌더링될 수도 있다.
블록 (506) 에서, 미디어 데이터 구조는 수신된 콘텐츠에 포함된 미디어 소스 또는 싱크에 기초하여 생성되고 초기화된다. 예를 들어, 미디어 데이터 구조는 미디어 데이터 구조 (326) 에 저장된다. 일 실시형태에서, 미디어 타입은 파일 확장, 파일 콘텐츠, 또는 파일에 포함된 서명에 기초하여 얻어진다.
블록 (508) 에서, IMedia 객체는 결합된 데이터 구조를 이용하여 생성된다. 예를 들어, 생성 미디어 유틸리티 (324) 는 IMedia 객체를 생성하는데 이용된다. IMedia 객체는 대기 상태 (404) 로 복귀한다.
블록 (510) 에서, IMedia 객체로부터 비동기식 사건들을 수신하는 것이 바람직한 경우 통지 기능을 등록하는 선택적인 단계를 수행할 수도 있다.
블록 (512) 에서, IMedia 객체는 포맷 핸들러와 결합되고 멀티미디어 애플리케이션 또는 콘텐츠는 휴대용 장치 상에서 렌더링된다. 예를 들어, 포맷 핸들러는 멀티미디어 콘텐츠를 렌더링하기 위해 상태 기계 (400) 의 임의의 기능들을 제공할 수도 있다.
블록 (514) 에서, 콘텐츠가 렌더링된 후 IMedia 객체가 더 이상 필요 없게 되면, IMedia 객체는 해제된다.
구현 예
다음은, 일 실시형태에서 IMedia 객체가 생성되는 방법을 나타낸 구현 예이다. 이 예는 도 5 의 방법에서 대응하는 블록들에 대한 참조부호를 포함하고 휴대용 장치 (102) 에 의해 이용되는 실행시간 환경은 BREW 환경임을 알 수 있다. 따라서, "CApp"는 BREW 애플릿 글로벌 구조의 일 예이다.
static void App_PlayMedia(CApp * pme)
{
int nRet;
AEEMediaData md;
// 미디어 데이터 구조 생성(도 5-블록 (506))
md.clsData = MMD_FILE_NAME;
md.pData = (void *)"media/midi_fmt1.mid";
md.dwSize = 0;
// IMedia 객체를 생성하고 대기 상태로 놓음(도 5-블록 (508))
nRet = AEEMediaUtil_CreateMedia(pme->a.pIShell, &md, pme->m_pIMedia);
//성공적인 경우, IMedia 사건들에 대한 등록된 콜백과 같이 App_MediaNotify()를 등록(도 5-블록 (510))
if(SUCCESS !=nRet)
DisplayErrorDlg(pme, IDS_ERR_CREATEMEDIA);
else if(SUCCESS !=IMEDIA_RegisterNotify(pme->m_pIMedia,
App_MediaNotify, pme))
DisplayErrorDlg(pme, IDS_ERR_REGISTERNOTIFY);
else if(SUCCESS !=IMEDIA_Play(pme->m_pIMedia))//재생을 시작(도 5-블록 (512))
DisplayErrorDlg(pme, IDS_ERR_PLAY);
본 발명에 포함된 하나 이상의 실시형태들에서, 방법과 장치를 포함하는 멀티미디어 시스템은 내장형 제어기를 갖는 리소스가 제한된 휴대용 장치 상에서 멀티미디어 애플리케이션과 콘텐츠를 렌더링하도록 동작한다. 따라서, 이상, 본 발명의 방법과 장치의 하나 이상의 실시형태들을 나타내고 설명하였지만, 본 발명의 사상 또는 필수적인 특징들로부터 일탈함이 없이 본 발명의 실시형태들에 여러 변형들이 이루어질 수 있음을 알 수 있다. 따라서, 상기 개시 사항과 설명들은 설명하기 위한 것으로, 첨부된 청구항들에서 설명되는 본 발명의 범위를 제한하려는 것은 아니다.

Claims (14)

  1. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법으로서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 단계;
    상기 멀티미디어 객체와 포맷 핸들러를 결합하는 단계; 및
    상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하기 위하여, 상기 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 단계를 포함하는, 멀티미디어 콘텐츠의 렌더링 방법.
  2. 제 1 항에 있어서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 데이터 구조를 생성하는 단계를 더 포함하는, 멀티미디어 콘텐츠의 렌더링 방법.
  3. 제 1 항에 있어서,
    상기 제어하는 단계는,
    상기 선택된 렌더링 리소스를 제어하기 위하여, 상기 포맷 핸들러에 상태 기계(state machine)를 구현하는 단계; 및
    상기 포맷 핸들러에서 상기 상태 기계를 이용하여 상기 멀티미디어 콘텐츠를 렌더링하는 단계를 포함하는, 멀티미디어 콘텐츠의 렌더링 방법.
  4. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템으로서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하도록 동작하는 생성 미디어 로직;
    상기 멀티미디어 객체와 포맷 핸들러를 결합하도록 동작하는 선택 로직; 및
    상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하기 위하여, 선택된 렌더링 리소스를 제어하도록 동작하는 포맷 핸들링 로직을 포함하는, 멀티미디어 시스템.
  5. 제 4 항에 있어서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 데이터 구조를 생성하는 데이터 구조 로직을 더 포함하는, 멀티미디어 시스템.
  6. 제 5 항에 있어서,
    상기 포맷 핸들링 로직은,
    상기 선택된 렌더링 리소스를 제어하기 위하여, 상기 포맷 핸들러에 상태 기계를 구현하는 로직; 및
    상기 포맷 핸들러에서 상기 상태 기계를 이용하여 상기 멀티미디어 콘텐츠를 렌더링하는 로직을 포함하는, 멀티미디어 시스템.
  7. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 컴퓨터 실행가능 명령을 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령은, 실행될 때,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 단계;
    상기 멀티미디어 객체와 포맷 핸들러를 결합하는 단계; 및
    상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하기 위하여, 상기 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 단계를 포함하는 방법을 수행하는, 컴퓨터 판독가능 매체.
  8. 제 7 항에 있어서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 데이터 구조를 생성하는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
  9. 제 7 항에 있어서,
    상기 제어하는 단계는,
    상기 선택된 렌더링 리소스를 제어하기 위하여, 상기 포맷 핸들러에 상태 기계를 구현하는 단계; 및
    상기 포맷 핸들러에서 상기 상태 기계를 이용하여 상기 멀티미디어 콘텐츠를렌더링하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  10. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템으로서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 객체를 생성하는 수단;
    상기 멀티미디어 객체와 포맷 핸들러를 결합하는 수단; 및
    상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하기 위하여, 상기 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 수단을 포함하는, 멀티미디어 시스템.
  11. 제 10 항에 있어서,
    상기 멀티미디어 콘텐츠에 기초하여 멀티미디어 데이터 구조를 생성하는 수단을 더 포함하는, 멀티미디어 시스템.
  12. 제 10 항에 있어서,
    상기 선택된 렌더링 리소스를 제어하는 수단은,
    상기 선택된 렌더링 리소스를 제어하기 위하여, 상기 포맷 핸들러에 상태 기계를 구현하는 수단; 및
    상기 포맷 핸들러에서 상기 상태 기계를 이용하여 상기 멀티미디어 콘텐츠를 렌더링하는 수단을 포함하는, 멀티미디어 시스템.
  13. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 멀티미디어 시스템으로서,
    상기 휴대용 장치에서 상기 하나 이상의 렌더링 리소스를 제어하도록 동작하는 하나 이상의 포맷 핸들러; 및
    상기 멀티미디어 콘텐츠로부터 멀티미디어 객체를 생성하고 상기 멀티미디어 객체와 선택된 포맷 핸들러를 결합하도록 동작하는 생성 유틸리티로서, 상기 선택된 포맷 핸들러는 상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하는, 상기 생성 유틸리티를 포함하는, 멀티미디어 시스템.
  14. 내장형 프로세서를 갖고 하나 이상의 렌더링 리소스를 더 포함하는 휴대용 장치에서 멀티미디어 콘텐츠를 렌더링하기 위한 방법으로서,
    상기 멀티미디어 콘텐츠를 미디어 구성(constructs)으로 부호화하는 단계;
    상기 휴대용 장치에 상기 멀티미디어 콘텐츠를 전송하는 단계;
    상기 미디어 구성에 기초하여 멀티미디어 객체를 생성하는 단계;
    상기 멀티미디어 객체와 포맷 핸들러를 결합하는 단계; 및
    상기 멀티미디어 객체로부터 상기 멀티미디어 콘텐츠를 렌더링하기 위하여, 상기 포맷 핸들러를 이용하여 선택된 렌더링 리소스를 제어하는 단계를 포함하는, 멀티미디어 콘텐츠의 렌더링 방법.
KR10-2004-7019567A 2002-06-04 2003-06-04 휴대용 장치에서 멀티미디어 렌더링하는 시스템 KR20050010851A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US38594202P 2002-06-04 2002-06-04
US60/385,942 2002-06-04
US46553303P 2003-04-25 2003-04-25
US60/465,533 2003-04-25
US10/453,091 2003-06-02
US10/453,091 US20040083015A1 (en) 2002-06-04 2003-06-02 System for multimedia rendering in a portable device
PCT/US2003/017690 WO2003103212A2 (en) 2002-06-04 2003-06-04 System for multimedia rendering in a portable device

Publications (1)

Publication Number Publication Date
KR20050010851A true KR20050010851A (ko) 2005-01-28

Family

ID=29716141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7019567A KR20050010851A (ko) 2002-06-04 2003-06-04 휴대용 장치에서 멀티미디어 렌더링하는 시스템

Country Status (12)

Country Link
EP (1) EP1522024A4 (ko)
JP (2) JP4943650B2 (ko)
KR (1) KR20050010851A (ko)
CN (1) CN100401281C (ko)
AU (1) AU2003251399C1 (ko)
BR (1) BR0311545A (ko)
CA (1) CA2488470A1 (ko)
HK (1) HK1075521A1 (ko)
IL (1) IL165278A0 (ko)
MX (1) MXPA04012143A (ko)
NZ (1) NZ536703A (ko)
WO (1) WO2003103212A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618817A (zh) * 2015-02-26 2015-05-13 北京奇艺世纪科技有限公司 一种播放网站视频的控制方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4591279B2 (ja) * 2005-08-19 2010-12-01 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
KR100630123B1 (ko) 2005-08-31 2006-09-28 삼성전자주식회사 디지털 멀티미디어 방송 데이터를 수신 및 재생하기 위한이동 단말기 액세서리 장치 및 방법
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
EP2257040A1 (en) * 2009-05-29 2010-12-01 Thomson Licensing Method and apparatus for distributing a multimedia content
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
CN102647629A (zh) * 2012-04-27 2012-08-22 北京人民广播电台 内容播放方法和装置
CN103777938A (zh) * 2012-10-25 2014-05-07 百度在线网络技术(北京)有限公司 支持多浏览器的播放方法及装置
US20170344523A1 (en) * 2016-05-25 2017-11-30 Samsung Electronics Co., Ltd Method and apparatus for presentation customization and interactivity

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505160B1 (en) * 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US6181713B1 (en) * 1997-10-27 2001-01-30 Sun Microsystems, Inc. Selectable depacketizer architecture
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
DE69902292T2 (de) * 1998-10-26 2003-03-27 Sony Electronics Inc Digitales videodaten-spezialwiedergabe-management
US6356529B1 (en) * 1999-08-12 2002-03-12 Converse, Ltd. System and method for rapid wireless application protocol translation
KR100340169B1 (ko) * 1999-09-27 2002-06-10 서성철 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법
KR20020064888A (ko) * 1999-10-22 2002-08-10 액티브스카이 인코포레이티드 객체 지향형 비디오 시스템
JP2001125920A (ja) * 1999-10-29 2001-05-11 Nippon Telegr & Teleph Corp <Ntt> メディア情報の通信システムおよびメディア情報の通信方法並びにこの方法を記録した記録媒体
JP2001168923A (ja) * 1999-12-08 2001-06-22 Toshiba Corp マルチメディア提供システム、マルチメディア変換サーバ、およびマルチメディア端末
US20010052933A1 (en) * 2000-01-12 2001-12-20 Nybo Larry Carl System and method for image capture, storage and retrieval
US6684088B1 (en) * 2000-03-01 2004-01-27 Axi Mobile Ltd. System and method for displaying electronic mail messages on a low bandwidth device
US20010037404A1 (en) * 2000-04-04 2001-11-01 Gudmundur Hafsteinsson System for wireless communication of data between a WEB server and a device using a wireless application protocol
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
US6438575B1 (en) * 2000-06-07 2002-08-20 Clickmarks, Inc. System, method, and article of manufacture for wireless enablement of the world wide web using a wireless gateway
US20020080143A1 (en) * 2000-11-08 2002-06-27 Morgan David L. Rendering non-interactive three-dimensional content
US20020103920A1 (en) * 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US7139470B2 (en) * 2001-08-17 2006-11-21 Intel Corporation Navigation for MPEG streams
US20030156131A1 (en) * 2002-02-21 2003-08-21 Samir Khazaka Method and apparatus for emulating a mobile device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618817A (zh) * 2015-02-26 2015-05-13 北京奇艺世纪科技有限公司 一种播放网站视频的控制方法及装置
CN104618817B (zh) * 2015-02-26 2018-07-17 北京奇艺世纪科技有限公司 一种播放网站视频的控制方法及装置

Also Published As

Publication number Publication date
IL165278A0 (en) 2005-12-18
HK1075521A1 (en) 2005-12-16
WO2003103212A3 (en) 2004-06-17
CN100401281C (zh) 2008-07-09
MXPA04012143A (es) 2005-04-19
JP2010288301A (ja) 2010-12-24
EP1522024A2 (en) 2005-04-13
BR0311545A (pt) 2007-04-27
WO2003103212A2 (en) 2003-12-11
AU2003251399C1 (en) 2009-12-17
CN1659536A (zh) 2005-08-24
EP1522024A4 (en) 2007-03-28
CA2488470A1 (en) 2003-12-11
AU2003251399B2 (en) 2009-07-23
NZ536703A (en) 2007-11-30
JP4943650B2 (ja) 2012-05-30
JP2005528849A (ja) 2005-09-22
AU2003251399A1 (en) 2003-12-19

Similar Documents

Publication Publication Date Title
US20040083015A1 (en) System for multimedia rendering in a portable device
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
US20040212687A1 (en) System for controlling a camera resource in a portable device
KR101161083B1 (ko) 주문형 무선 서비스들에 대한 적응성 스트리밍
US7761602B1 (en) Playback of content on portable devices
JP2023506936A (ja) マルチ画面共働方法およびシステム、ならびに電子デバイス
RU2316907C2 (ru) Система воспроизведения мультимедиа в портативном устройстве
WO2011001347A1 (en) A method, apparatus and computer program for creating software components for computing devices
US7114153B2 (en) Method and apparatus for continuation-passing in a virtual machine
RU2352977C2 (ru) Система для управления ресурсом камеры в портативном устройстве
KR20040073562A (ko) 호스트 확장형 무선 어플리케이션 인터페이스
CN110399040B (zh) 多模态交互方法、用户端设备、服务器及系统
KR20110029152A (ko) 컴퓨팅 디바이스에서의 메시지 핸들링 방법, 장치 및 컴퓨터 판독가능한 기록매체
KR100627819B1 (ko) 왑 브라우저의 기능을 이용하여 애플리케이션을 제어하는방법
CN111290746A (zh) 对象访问方法、装置、设备及存储介质
CN101911003B (zh) 信息处理设备和程序
KR100593843B1 (ko) 이동 통신 단말기용 응용 프로그램 운영 시스템
US8572561B1 (en) Multiple java ME MIDlet execution in single-instance CLDC JVM
CN117499780A (zh) 一种拍照方法、电子设备及协同工作系统
JP2003186781A (ja) デジタル信号処理を行う電子機器およびデジタル信号処理方法
CN115168065A (zh) 一种异构应用间的通信方法、装置以及存储介质
CN116737179A (zh) 音效管理方法、装置及计算机设备
Ramfrez-Acosta et al. Streaming Media Portability with the Emerging Support Open MAX
Chao Linux Based Mobile Operating Systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20101123

Effective date: 20120523

S901 Examination by remand of revocation
E902 Notification of reason for refusal
S601 Decision to reject again after remand of revocation