[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN100401281C - Method and system for rendering multimedia in a portable device - Google Patents

Method and system for rendering multimedia in a portable device Download PDF

Info

Publication number
CN100401281C
CN100401281C CNB038130858A CN03813085A CN100401281C CN 100401281 C CN100401281 C CN 100401281C CN B038130858 A CNB038130858 A CN B038130858A CN 03813085 A CN03813085 A CN 03813085A CN 100401281 C CN100401281 C CN 100401281C
Authority
CN
China
Prior art keywords
multimedia
content
multimedia content
imedia
format
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
CNB038130858A
Other languages
Chinese (zh)
Other versions
CN1659536A (en
Inventor
斯里尼瓦斯·帕特沃里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1659536A publication Critical patent/CN1659536A/en
Application granted granted Critical
Publication of CN100401281C publication Critical patent/CN100401281C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A multimedia system for rendering multimedia content in a portable device having an embedded processor. The portable device includes one or more rendering resources. A method is provided that performs operations of generating a multimedia object based on the multimedia content, associating a format handler with the multimedia object, and controlling a selected rendering resource using the format handler to render the multimedia content from the multimedia object.

Description

用于在便携设备中再现多媒体的方法和系统 Method and system for rendering multimedia in a portable device

相关申请的交叉参考Cross References to Related Applications

本申请要求2002年6月4日提交的、名为“Mutlimedia Processing(多媒体处理)”的待审美国临时专利申请60/385,942的优先权。同时,本申请还要求2003年4月25日提交的、名为“多媒体处理”的待审美国临时专利申请的优先权。通过在本文中全文引用以上临时申请的公开,将其引入本申请。This application claims priority to co-pending US Provisional Patent Application 60/385,942, filed June 4, 2002, entitled "Mutlimedia Processing." Concurrently, this application also claims priority to a co-pending US Provisional Patent Application, filed April 25, 2003, entitled "Multimedia Processing." The disclosure of the above provisional application is hereby incorporated by reference in its entirety into this application.

技术领域 technical field

本发明总体上涉及多媒体处理,并且尤其涉及在具有嵌入式控制器的便携设备中再现多媒体的系统。The present invention relates generally to multimedia processing, and more particularly to a system for rendering multimedia in a portable device with an embedded controller.

背景技术 Background technique

技术的进步已经产生了更小并且功能更强的个人计算设备。例如,目前存在各种各样小、重量轻、便于用户携带的便携式蜂窝电话、个人数字助理(PDA)以及寻呼设备。通常,这些设备包括具有有限存储资源的嵌入式控制器。例如,可用存储量受到设备的小尺寸的限制。Advances in technology have produced smaller and more powerful personal computing devices. For example, there currently exist a wide variety of portable cellular telephones, personal digital assistants (PDAs), and paging devices that are small, lightweight, and easily portable by users. Typically, these devices include embedded controllers with limited memory resources. For example, the amount of available storage is limited by the small size of the device.

然而,要求此类设备处理更大量数据并且执行更复杂的程序的需求日益增加。例如,用户需要远程访问诸如游戏程序之类的交互程序,这些程序要求便携设备快速并且有效地再现多媒体应用和内容。例如,用户可能希望使用其便携设备观看或收听诸如视频剪辑、动画、电影之类的多媒体内容,以及诸如以MP3格式提供的音乐内容之类的音频。However, there is an increasing demand for such devices to handle larger amounts of data and execute more complex programs. For example, users need to remotely access interactive programs such as game programs that require portable devices to quickly and efficiently reproduce multimedia applications and content. For example, a user may wish to use their portable device to watch or listen to multimedia content such as video clips, animations, movies, and audio such as music content provided in MP3 format.

为了在便携设备上再现多媒体内容,需要控制设备的再现资源。例如,一种类型的便携设备可以包括一个低分辨率的显示屏或音频扬声器,而另一种类型的便携设备可以包括更大并且分辨率更高的显示屏和双扬声器立体声功能。因此,每种类型的便携设备可以具有不同的用其再现多媒体内容的多媒体再现资源。因此,当提供多媒体内容以便在具有不同配置和再现资源的各种便携设备上使用时,必须克服兼容问题。In order to reproduce multimedia content on a portable device, it is necessary to control the reproduction resources of the device. For example, one type of portable device may include a low-resolution display screen or audio speakers, while another type of portable device may include a larger, higher-resolution display screen and two-speaker stereo capability. Therefore, each type of portable device may have a different multimedia rendering resource with which to render multimedia content. Therefore, compatibility issues must be overcome when providing multimedia content for use on various portable devices with different configurations and rendering resources.

用于克服兼容问题的一种技术要求多媒体内容处于一种与便携设备上可用的再现资源具体相兼容的格式。例如,如果内容开发商希望制作用于在特定便携设备上使用的视频内容,则开发商需要剪裁视频内容,以便与便携设备上可用的视频再现资源精确地兼容。One technique for overcoming compatibility issues requires that the multimedia content be in a format that is specifically compatible with the rendering resources available on the portable device. For example, if a content developer wishes to produce video content for use on a particular portable device, the developer needs to tailor the video content to be precisely compatible with the video rendering resources available on the portable device.

不幸的是,为了将在其上再现多媒体内容的每个便携设备制作剪裁的多媒体内容是昂贵而且效率低的。例如,内容开发商需要针对不同的便携设备修改内容,并且由此生成相同内容的多个版本。同时,当新的再现资源变得可用时,内容开发商必须不断地更新其内容。Unfortunately, it is expensive and inefficient to create tailored multimedia content for each portable device on which the multimedia content will be rendered. For example, content developers need to modify content for different portable devices, and thereby generate multiple versions of the same content. At the same time, content developers must constantly update their content as new rendering resources become available.

因此,需要一种无需为每种设备上可用的不同再现资源而剪裁内容就能在各种便携设备上再现多媒体内容的系统。该系统在运行时应允许再现所有类型的多媒体内容,并且提供一种允许再现新开发的多媒体格式的可扩展的结构。Therefore, there is a need for a system that can render multimedia content on various portable devices without tailoring the content for the different rendering resources available on each device. The system should allow the reproduction of all types of multimedia content at runtime and provide an extensible structure allowing the reproduction of newly developed multimedia formats.

发明内容 Contents of the invention

在一种或多种实施方式中,提供了一种在便携设备上再现多媒体内容的多媒体系统,包括方法和装置。例如,便携设备可以是具有嵌入式控制器和有限存储资源的蜂窝电话,它执行程序指令,以便使用该设备的可用再现资源对多媒体内容进行再现。在一种或多种实施方式中,多媒体系统是一种小的并且有效的实现方式,它使用较少资源,并且特别适合于在包括具有有限存储资源的嵌入式控制器的便携设备中使用。In one or more embodiments, a multimedia system for reproducing multimedia content on a portable device is provided, including a method and an apparatus. For example, a portable device may be a cellular telephone with an embedded controller and limited memory resources that executes program instructions for rendering multimedia content using the device's available rendering resources. In one or more implementations, the multimedia system is a small and efficient implementation that uses fewer resources and is particularly suitable for use in portable devices that include embedded controllers with limited memory resources.

在一种实施方式中,该系统包括用于对设备的再现资源进行控制的一组格式处理程序(handler)。每个格式处理程序被设计用来处理具有特定格式的多媒体内容,从而对设备的再现资源进行控制以再现该内容。例如,每个格式处理程序再现(一种特定格式的)多媒体音频或视频文件(播放和理解它)。格式处理程序确定该内容所需的资源,读取文件,并且调用正确的资源。便携设备包括高级应用编程接口(API),格式处理程序使用API执行任务。可以在制造时将每个格式处理程序作为多媒体系统的一部分包括在便携设备中,或者可以动态地下载格式处理程序。因此,多媒体系统的一种或多种实施方式能够利用一组格式处理程序,从而无需根据在每个设备处可用的再现资源对内容进行剪裁,就可以在各种便携设备中再现多媒体内容。另外,多媒体系统提供了一种可扩展的结构,它允许通过添加用于再现新开发内容类型的新的格式处理程序,对系统进行扩展。In one embodiment, the system includes a set of format handlers for controlling rendering resources of a device. Each format handler is designed to process multimedia content with a specific format, thereby controlling the reproduction resources of the device to reproduce the content. For example, each format handler renders (of a particular format) a multimedia audio or video file (plays and understands it). The format handler determines the resources needed for the content, reads the file, and calls the correct resource. The portable device includes a high-level application programming interface (API) that the format handler uses to perform tasks. Each format handler may be included in the portable device at the time of manufacture as part of the multimedia system, or the format handler may be downloaded dynamically. Accordingly, one or more embodiments of the multimedia system can utilize a set of format handlers to render multimedia content in various portable devices without tailoring the content to the rendering resources available at each device. Additionally, the multimedia system provides an extensible architecture that allows the system to be extended by adding new format handlers for rendering newly developed content types.

多媒体系统的结构对于多媒体用户和开发商来说都是有利的。例如,它允许开发商编写自己的用于在无线平台上使用的格式处理程序。并且,由于该系统提供了一种无需了解再现设备的精确配置就允许再现所有类型内容的简单接口,所以多媒体用户也能从中获利。The architecture of the multimedia system is beneficial to both multimedia users and developers. For example, it allows developers to write their own format handlers for use on wireless platforms. Also, multimedia users can benefit from the system because it provides a simple interface that allows reproduction of all types of content without knowing the precise configuration of the reproduction device.

在一种实施方式中,提供了一种在具有嵌入式处理器的便携设备中再现多媒体内容的方法。便携设备还包括一种或多种再现资源。该方法包括:根据多媒体内容生成多媒体对象,将格式处理程序和多媒体对象进行关联,以及利用格式处理程序控制选定的再现资源以便从多媒体对象再现多媒体内容。In one embodiment, a method of rendering multimedia content in a portable device with an embedded processor is provided. The portable device also includes one or more rendering resources. The method includes: generating a multimedia object according to the multimedia content, associating the format processing program with the multimedia object, and using the format processing program to control selected reproduction resources so as to reproduce the multimedia content from the multimedia object.

在另一种实施方式中,提供了一种在具有嵌入式处理器的便携设备中再现多媒体内容的多媒体系统。便携设备包括一种或多种再现资源。多媒体系统包括创建媒体逻辑,媒体逻辑在运行时根据多媒体内容生成多媒体对象。该系统还包括选择逻辑,选择逻辑在运行时将格式处理程序与多媒体对象进行关联。该系统还包括格式处理逻辑,格式处理逻辑在运行时控制选定的再现资源来从多媒体对象再现多媒体内容。In another embodiment, a multimedia system for rendering multimedia content in a portable device with an embedded processor is provided. A portable device includes one or more rendering resources. The multimedia system includes creating media logic that generates multimedia objects from multimedia content at runtime. The system also includes selection logic that associates the format handler with the multimedia object at runtime. The system also includes format processing logic that controls selected rendering resources at runtime to render multimedia content from the multimedia object.

在另一种实施方式中,提供了一种计算机可读介质,它包括用于在具有嵌入式处理器的便携设备中再现多媒体内容的计算机可执行指令。便携设备还包括一种或多种再现资源。该指令在执行时会执行以下方法,它包括:根据多媒体内容生成多媒体对象,将格式处理程序与多媒体对象进行关联,以及利用格式处理程序控制选定的再现资源以便从多媒体对象再现多媒体内容。In another embodiment, a computer-readable medium comprising computer-executable instructions for rendering multimedia content in a portable device having an embedded processor is provided. The portable device also includes one or more rendering resources. The instructions, when executed, perform the following methods, which include: generating a multimedia object from the multimedia content, associating a format handler with the multimedia object, and using the format handler to control a selected rendering resource to render the multimedia content from the multimedia object.

在另一种实施方式中,提供了一种用于在具有嵌入式处理器的便携设备中再现多媒体内容的多媒体系统。便携设备还包括一种或多种再现资源。多媒体系统包括用于根据多媒体内容生成多媒体对象的装置。该系统还包括用于将格式处理程序与多媒体对象进行关联的装置。该系统还包括用于利用格式处理程序控制选定的再现资源以便从多媒体对象再现多媒体内容的装置。In another embodiment, a multimedia system for rendering multimedia content in a portable device with an embedded processor is provided. The portable device also includes one or more rendering resources. The multimedia system includes means for generating multimedia objects from multimedia content. The system also includes means for associating the format handler with the multimedia object. The system also includes means for controlling the selected rendering resource with the format handler to render multimedia content from the multimedia object.

通过阅读以下阐述的附图简要说明、本发明的详细说明和权利要求书,本发明的其它方面、优点和特征将变得明显。Other aspects, advantages and features of the invention will become apparent from a reading of the brief description of the drawings, the detailed description of the invention and the claims set forth below.

附图说明 Description of drawings

通过结合附图参考以下详细描述,在此描述的实施方式的上述各个方面和附加优点将变得更加明显,其中:The foregoing aspects and additional advantages of the embodiments described herein will become more apparent by reference to the following detailed description, taken in conjunction with the accompanying drawings, in which:

图1表示包括便携无线设备的数据网络,该便携无线设备包括适于实现多媒体系统的一种实施方式以再现多媒体内容的嵌入式控制器;Figure 1 shows a data network comprising a portable wireless device comprising an embedded controller adapted to implement an embodiment of a multimedia system to reproduce multimedia content;

图2为表示图1中的便携设备的一种实施方式的功能方框图,其中包括将其运行以再现多媒体内容的多媒体系统的一种实施方式;FIG. 2 is a functional block diagram illustrating an embodiment of the portable device of FIG. 1 , including an embodiment of a multimedia system operative to reproduce multimedia content;

图3表示图2中的多媒体系统的一种实施方式的详细方框图;Figure 3 shows a detailed block diagram of an embodiment of the multimedia system in Figure 2;

图4表示通过格式处理程序管理以再现多媒体内容的状态机的一种实施方式;以及Figure 4 shows an embodiment of a state machine managed by a format handler to render multimedia content; and

图5表示用于在便携设备中再现多媒体内容的方法的一种实施方式。Figure 5 shows an embodiment of a method for rendering multimedia content in a portable device.

具体实施方式 Detailed ways

以下详细说明描述了用于在便携设备中再现多媒体内容的多媒体系统,包括方法和装置。在一种或多种实施方式中,便携设备具有嵌入式控制器和有限的资源(即有限的存储容量),并且该系统在运行时利用设备的可用再现资源再现多媒体内容。The following detailed description describes a multimedia system for reproducing multimedia content in a portable device, including methods and apparatuses. In one or more implementations, the portable device has an embedded controller and limited resources (ie, limited storage capacity), and the system, at runtime, renders multimedia content using the device's available rendering resources.

在一种或多种实施方式中,多媒体系统例如通过提供对设备特有资源的通用调用,与在该设备上运行的、用于简化设备操作的运行环境进行交互。一种这样的运行环境是由加利福尼亚州圣地亚哥的高通公司开发的无线二进制运行环境(BREWTM)软件平台。在以下描述中,假定多媒体系统是在执行诸如BREW软件平台之类的运行环境的便携设备上实现的。然而,多媒体系统的一种或多种实施方式适合于与其它类型的运行环境一起使用以在便携设备上再现多媒体内容。In one or more implementations, the multimedia system interacts with the runtime environment running on the device to simplify device operations, for example, by providing generic calls to device-specific resources. One such operating environment is the Binary Operating Environment for Wireless (BREW ) software platform developed by Qualcomm Incorporated of San Diego, California. In the following description, it is assumed that the multimedia system is implemented on a portable device executing an execution environment such as the BREW software platform. However, one or more implementations of the multimedia system are suitable for use with other types of execution environments to render multimedia content on portable devices.

图1表示包括便携无线设备102的数据网络100,其中便携无线设备102具有适合于实现多媒体系统的一种实施方式以再现多媒体内容的嵌入式控制器。例如,设备102包括以下称为“IMedia”的多媒体系统104的一种实施方式。在网络100中,无线设备102利用无线通信信道110经由无线网络108与网络服务器106进行通信。Figure 1 shows a data network 100 including a portable wireless device 102 having an embedded controller suitable for implementing one embodiment of a multimedia system for rendering multimedia content. For example, device 102 includes one implementation of multimedia system 104, hereinafter referred to as "IMedia." In network 100 , wireless device 102 communicates with network server 106 via wireless network 108 using wireless communication channel 110 .

在一种实施方式中,设备102包括可以经由无线网络108发射和/或接收语音信息的蜂窝电话。然而,所述多媒体系统的一种或多种实施方式适合于与其它类型的便携设备一起使用。例如,其它合适的便携设备包括但不限于:PDA、电子邮件设备、寻呼机、平板计算机、移动电话、或者包括多媒体再现资源的任何其它类型的便携设备。In one implementation, device 102 includes a cellular telephone that can transmit and/or receive voice information via wireless network 108 . However, one or more implementations of the multimedia system are suitable for use with other types of portable devices. For example, other suitable portable devices include, but are not limited to, PDAs, email devices, pagers, tablet computers, mobile phones, or any other type of portable device that includes multimedia rendering resources.

设备102还可以经由无线网络108接收多媒体应用或内容。例如,可以将多媒体应用112和114从网络服务器106下载到设备102上。另外,也可以将多媒体内容116从网络服务器106下载到设备102上。将多媒体应用或内容从与无线网络108相连的其它任何网络实体中下载到设备102上,也是可能的。Device 102 may also receive multimedia applications or content via wireless network 108 . For example, multimedia applications 112 and 114 may be downloaded onto device 102 from web server 106 . Additionally, multimedia content 116 may also be downloaded to device 102 from web server 106 . It is also possible to download multimedia applications or content onto device 102 from any other network entity connected to wireless network 108 .

在一种实施方式中,设备102也可以经由直接链路120直接与诸如本地工作站118之类的本地系统连接。在一种实施方式中,本地工作站118使用直接链路120将多媒体应用或内容下载到设备102上。例如,使用链路120,将多媒体应用122从工作站118下载到设备102上。In one embodiment, device 102 may also directly interface with a local system, such as local workstation 118 , via direct link 120 . In one embodiment, the local workstation 118 downloads the multimedia application or content onto the device 102 using the direct link 120 . For example, using link 120 , multimedia application 122 is downloaded from workstation 118 onto device 102 .

可以将IMedia系统104从服务器106下载到设备102上,并且将其在设备102上运行以便再现多媒体应用或内容。在另一种实施方式中,可以经由链路120将IMedia系统104从工作站118下载到设备102上,或者在制造期间将其安装到设备中。IMedia system 104 may be downloaded from server 106 onto device 102 and run on device 102 to render multimedia applications or content. In another embodiment, IMedia system 104 may be downloaded from workstation 118 to device 102 via link 120, or installed into the device during manufacture.

在一种实施方式中,在诸如软盘之类的计算机可读介质上提供IMedia系统104,然后将其加载到系统118上用于向设备102进行传送。在另一种实施方式中,可以在诸如存储卡(未示出)之类的计算机可读存储设备上存储IMedia系统104,然后将其直接插入到设备102中,以便使IMedia系统104可以在设备102上运行。因此,设备102可以接收以无线方式发射或者以有线方式传送的IMedia系统104,或者通过直接从存储设备中获得IMedia系统104。In one implementation, IMedia system 104 is provided on a computer-readable medium, such as a floppy disk, which is then loaded onto system 118 for transfer to device 102 . In another implementation, the IMedia system 104 can be stored on a computer-readable storage device such as a memory card (not shown), which can then be inserted directly into the device 102 so that the IMedia system 104 can be used on the device. 102 runs. Thus, the device 102 may receive the IMedia system 104 either wirelessly transmitted or wired, or by obtaining the IMedia system 104 directly from a storage device.

网络100还可以包括其它类型的便携设备,例如其它类型的无线或有线便携设备,并且这些设备可以与服务器106或采用各种网络类型和通信结构的任何其它网络实体进行通信,其中网络实体包括无线和有线网络、专用和公用网络、交换和非交换网络、直接链路以及它们的任意组合,以便下载IMedia系统104的一种或多种实施方式来再现多媒体内容。The network 100 may also include other types of portable devices, such as other types of wireless or wired portable devices, and these devices may communicate with the server 106 or any other network entities employing various network types and communication structures, including wireless and wired networks, private and public networks, switched and non-switched networks, direct links, and any combination thereof, to download one or more implementations of the IMedia system 104 to render multimedia content.

图2为表示便携设备102的一种实施方式的功能方框图,其中包括将其运行以再现多媒体内容的IMedia系统104的一种实施方式。设备102包括与内部数据总线204和堆栈存储器216连接的处理逻辑202。与内部数据总线204连接的还有指令存储器206、多媒体应用/内容存储器208、堆存储器210、用户接口212、显示逻辑216、音频逻辑218以及输入/输出(I/O)接口214。2 is a functional block diagram illustrating one embodiment of a portable device 102 including an embodiment of an IMedia system 104 that operates to render multimedia content. Device 102 includes processing logic 202 coupled to internal data bus 204 and stack memory 216 . Also connected to internal data bus 204 are instruction memory 206 , multimedia application/content memory 208 , heap memory 210 , user interface 212 , display logic 216 , audio logic 218 , and input/output (I/O) interface 214 .

在设备102运行期间,处理逻辑202执行指令存储器206中存储的程序指令,以生成运行环境220。运行环境220可以是BREW环境或其它适合的运行环境。为了辅助指令执行,处理逻辑202利用堆栈存储器216临时存储程序数据或指令。例如,处理逻辑202可以在堆栈存储器216中存储常数、变量、程序地址、指针、指令和其它信息项。在另一种实施方式中,处理逻辑202可以在堆存储器210中临时存储信息。实际上,堆存储器包括适于由处理逻辑202存储和获取信息的任何类型的存储器。During operation of device 102 , processing logic 202 executes program instructions stored in instruction memory 206 to generate runtime environment 220 . The running environment 220 may be a BREW environment or other suitable running environments. To assist in instruction execution, processing logic 202 utilizes stack memory 216 for temporary storage of program data or instructions. For example, processing logic 202 may store constants, variables, program addresses, pointers, instructions, and other items of information in stack memory 216 . In another implementation, processing logic 202 may temporarily store information in heap memory 210 . In fact, heap memory includes any type of memory suitable for storing and retrieving information by processing logic 202 .

在一种或多种实施方式中,处理逻辑202包括CPU、门阵列、硬件逻辑、软件,或者硬件和软件的组合。因此,处理逻辑202通常包括执行机器可读指令的逻辑。In one or more implementations, the processing logic 202 includes a CPU, a gate array, hardware logic, software, or a combination of hardware and software. Accordingly, processing logic 202 typically includes logic to execute machine-readable instructions.

指令存储器206包括RAM、ROM、FLASH、EEROM,或者其它任何合适类型的存储器,或者它们的组合。在一种实施方式中,指令存储器206位于设备102的内部,而在另一种实施方式中,指令存储器206包括可拆装的存储卡或存储设备,它可与设备102选择性地连接,并由此与内部总线204相连。因此,实际上,指令存储器206可以包括能够存储可由处理逻辑202执行的指令的任何类型的存储器。The instruction memory 206 includes RAM, ROM, FLASH, EEROM, or any other suitable type of memory, or a combination thereof. In one embodiment, the instruction memory 206 is located inside the device 102, while in another embodiment, the instruction memory 206 includes a removable memory card or storage device that is selectively connectable to the device 102 and This is connected to the internal bus 204 . Thus, in practice, instruction memory 206 may include any type of memory capable of storing instructions executable by processing logic 202 .

用户接口212接收例如来自键盘、指示设备、触摸板或其它输入机制的用户输入,以允许用户与设备102进行交互。显示逻辑216包括向设备显示器输出信息的逻辑。例如,该设备可以包括LCD、LED或者其它类型的显示资源。音频逻辑218包括向设备扬声器、远程扬声器或音频系统、或者其它类型的声音资源输出音频信息的逻辑。例如,一对远程扬声器可以接收音频逻辑218的输出,以便为设备用户再现音频信息。因此,显示逻辑216和音频逻辑218可以包括硬件和/或软件的任意组合,以便允许设备102向设备用户再现可视信息或音频信息。User interface 212 receives user input, for example, from a keyboard, pointing device, touchpad, or other input mechanism to allow a user to interact with device 102 . Display logic 216 includes logic to output information to a device display. For example, the device may include an LCD, LED, or other type of display resource. Audio logic 218 includes logic to output audio information to a device speaker, a remote speaker or audio system, or other type of sound source. For example, a pair of remote speakers may receive the output of audio logic 218 to reproduce audio information for a device user. Accordingly, display logic 216 and audio logic 218 may include any combination of hardware and/or software to allow device 102 to render visual or audio information to a device user.

I/O接口214在运行时在设备102和外部设备、系统和/或网络之间发送和接收信息。例如,在一种实施方式中,I/O接口214包括无线收发机电路(未示出),该电路在运行时使用例如通信链路106经由无线数据网络发射和接收信息。例如,该收发机包括对从处理逻辑202接收的信息进行调制并将调制的信息转换为适于无线传输的高频信号的电路。类似地,该收发机还包括将接收的高频通信信号转换为适于由处理逻辑202进行解调和后续处理的信号的电路。I/O interface 214 transmits and receives information between device 102 and external devices, systems and/or networks during operation. For example, in one implementation, I/O interface 214 includes wireless transceiver circuitry (not shown) that operates to transmit and receive information via a wireless data network using, for example, communication link 106 . For example, the transceiver includes circuitry that modulates information received from processing logic 202 and converts the modulated information into a high frequency signal suitable for wireless transmission. Similarly, the transceiver also includes circuitry to convert received high frequency communication signals into signals suitable for demodulation and subsequent processing by processing logic 202 .

在另一种实施方式中,I/O接口214包括一个收发机,该收发机在运行时经由诸如电话线之类的硬布线的通信链路发送和接收信息,以便与诸如因特网之类的公用数据网中的远程系统进行通信。In another embodiment, the I/O interface 214 includes a transceiver that operates to send and receive information via a hardwired communication link, such as a telephone line, to communicate with a public network, such as the Internet. Remote systems in the data network communicate.

在另一种实施方式中,I/O接口214包括将其运行以便利用链路120与诸如本地工作站116之类的本地设备进行通信的电路。I/O接口214还可以包括与打印机或其它本地计算机或诸如软盘或存储卡之类的设备进行通信的电路(例如串行或并行端口逻辑)。因此,I/O接口214可以包括任何类型的硬件、软件或它们的组合,从而允许设备102与其它本地或远程设备或者系统进行通信。In another implementation, I/O interface 214 includes circuitry that operates to communicate with a local device, such as local workstation 116 , using link 120 . I/O interface 214 may also include circuitry (eg, serial or parallel port logic) to communicate with a printer or other local computer or device such as a floppy disk or memory card. Accordingly, I/O interface 214 may include any type of hardware, software, or combination thereof that allows device 102 to communicate with other local or remote devices or systems.

在设备102工作期间,由处理逻辑202执行程序指令使得生成IMedia系统104。例如,在执行时生成IMedia系统104的IMedia指令可以存储在指令存储器206中。IMedia系统104与运行环境220进行交互,以便在设备102上再现多媒体应用和内容。例如,可以经由无线网络108将多媒体应用和内容下载到设备102上,并且将其存储在存储器208中。在一种实施方式中,IMedia系统104经由内部总线204获取存储器208中存储的多媒体内容,并且通过经由运行环境220与该设备的再现资源(即显示逻辑、音频逻辑等)进行交互来对该内容进行处理,以便在设备102上再现该内容。同时,IMedia系统104在运行时处理并再现流式多媒体内容。例如,利用IMedia系统104在设备102上再现从网络108下载到设备102上的流式多媒体内容。During operation of device 102, execution of program instructions by processing logic 202 causes IMedia system 104 to be generated. For example, IMedia instructions that generate IMedia system 104 when executed may be stored in instruction memory 206 . IMedia system 104 interacts with runtime environment 220 to render multimedia applications and content on device 102 . For example, multimedia applications and content may be downloaded onto device 102 via wireless network 108 and stored in memory 208 . In one embodiment, IMedia system 104 acquires multimedia content stored in memory 208 via internal bus 204 and renders the content by interacting with the device's rendering resources (i.e., display logic, audio logic, etc.) Processing is performed to render the content on device 102 . Meanwhile, the IMedia system 104 processes and renders streaming multimedia content at runtime. For example, streaming multimedia content downloaded from network 108 to device 102 is rendered on device 102 using IMedia system 104 .

应当注意到,设备102的配置仅是适于实现用来再现多媒体应用和内容的IMedia系统104的一种实施方式的配置。在本发明的范围内使用其它设备或设备配置实现IMedia系统104,也是可能的。It should be noted that the configuration of device 102 is only one suitable for implementing one embodiment of IMedia system 104 for rendering multimedia applications and content. It is also possible to implement the IMedia system 104 using other devices or device configurations within the scope of the present invention.

图3表示用于在设备102中使用的IMedia系统104的一种实施方式的详细方框图。设备102包括其中包括处理逻辑202的本机硬件302,并且设备102可以选择性地包括特别为处理多媒体信息而设计的多媒体处理器304。没有进一步描述的情况下,假设本机硬件302包括用于操作该设备的再现资源(即,显示逻辑216等)的逻辑,并且假设可以运行处理逻辑202和多媒体处理器304来控制这些资源。FIG. 3 shows a detailed block diagram of one embodiment of the IMedia system 104 for use in the device 102 . Device 102 includes native hardware 302 including processing logic 202 therein, and device 102 may optionally include a multimedia processor 304 specially designed for processing multimedia information. Without further description, it is assumed that native hardware 302 includes logic for operating the device's rendering resources (ie, display logic 216, etc.), and that processing logic 202 and multimedia processor 304 are executable to control these resources.

设备102还包括本机多媒体软件306,它包括音频1308、音频2310和视频312模块。这些模块代表用于直接与本机硬件302进行通信以便控制选定的再现资源的低层软件模块。例如,视频模块312与多媒体处理器304进行通信,以控制视频再现资源。尽管示出了一种实施方式,但是也有可能有更少或更多的多媒体软件模块306,并且这些模块可以与所有类型的本机硬件302进行通信。因此,在本发明的范围内其它的本机硬件302和软件306配置也是可能的。Device 102 also includes native multimedia software 306 , which includes audio 1308 , audio 2 310 , and video 312 modules. These modules represent low-level software modules for communicating directly with native hardware 302 in order to control selected rendering resources. For example, video module 312 communicates with multimedia processor 304 to control video rendering resources. Although one implementation is shown, fewer or more multimedia software modules 306 are possible and can communicate with all types of native hardware 302 . Accordingly, other native hardware 302 and software 306 configurations are possible within the scope of the present invention.

在操作期间,设备102执行程序指令以生成运行环境220,在一种实施方式中,该运行环境是BREW环境。然后有可能执行IMedia指令以生成IMedia系统104,以便与运行环境一起再现多媒体内容。例如,可以经由无线网络108将IMedia指令下载到设备上,并且将其存储到指令存储器206中。During operation, device 102 executes program instructions to generate runtime environment 220, which in one embodiment is a BREW environment. It is then possible to execute the IMedia instructions to generate the IMedia system 104 for rendering multimedia content together with the runtime environment. For example, IMedia instructions may be downloaded to the device via wireless network 108 and stored in instruction memory 206 .

IMedia系统104在运行时抽象出多媒体内容处理,并且在运行时定义多媒体接口的框架。在一种实施方式中,IMedia系统104在运行时提供以下特征:The IMedia system 104 abstracts multimedia content processing at runtime and defines a framework for multimedia interfaces at runtime. In one embodiment, the IMedia system 104 provides the following features at runtime:

1.提供对于设备多媒体特征和性能的通用和简便的访问。1. Provides universal and easy access to device multimedia features and capabilities.

2.屏蔽复杂的专用集成电路(ASIC)层的多媒体API和资源管理。2. Shield the multimedia API and resource management of the complex application-specific integrated circuit (ASIC) layer.

3.提供用以开发复杂的多媒体应用的创建块。3. Provide building blocks for developing complex multimedia applications.

4.基于文件扩展、文件内容或者文件中的签名选择性地导出媒体类型。4. Selectively export media types based on file extensions, file content, or signatures in files.

IMedia系统104包括创建媒体工具324、媒体数据结构326、以及格式处理程序314、316、318和320。同时,示出了作为IMedia系统104一部分的IMedia抽象328,它表示在IMedia系统104运行期间创建的基本IMedia对象。提供IMedia系统组件的详细描述如下。IMedia抽象IMedia system 104 includes create media tools 324 , media data structures 326 , and format handlers 314 , 316 , 318 , and 320 . Also shown is an IMedia abstraction 328 that is part of the IMedia system 104 and represents the basic IMedia objects that are created during the IMedia system 104 run. A detailed description of the components of the IMedia system is provided below. IMedia abstraction

IMedia抽象328是能够注册和处理多媒体内容类型的抽象接口。IMedia抽象328保留了对媒体数据结构326中的媒体数据的引用。The IMedia abstraction 328 is an abstract interface capable of registering and handling multimedia content types. The IMedia abstraction 328 maintains references to the media data in the media data structure 326 .

媒体数据结构media data structure

媒体数据结构326在运行时封装媒体数据源或宿。这允许IMedia系统104对来自各个数据源或到达各个目的地的媒体数据进行流处理。在一种实施方式中,媒体数据结构326是从数据结构逻辑形成的,其中数据结构逻辑包括执行程序指令以生成存储器210中的媒体数据结构326的处理逻辑202。Media data structures 326 encapsulate media data sources or sinks at runtime. This allows IMedia system 104 to stream media data from various data sources or to various destinations. In one embodiment, the media data structure 326 is formed from data structure logic including processing logic 202 that executes program instructions to generate the media data structure 326 in the memory 210 .

创建媒体工具Create media tools

创建媒体工具324执行几种功能。首先,创建媒体工具324在运行时接收用于再现的多媒体应用或内容。例如,多媒体应用或内容可以存储在存储器208中,并且该内容包括对创建媒体工具324的函数调用。其次,创建媒体工具324处理多媒体内容,以便根据媒体数据结构326中包含的信息创建IMedia对象328。在创建IMedia对象之后,创建媒体工具设置媒体数据并将IMedia对象置于预备状态中。在一种实施方式中,创建媒体工具324是从创建媒体逻辑形成的,其中创建媒体逻辑包括执行程序指令以便创建存储器210中的IMedia对象328并执行上述创建媒体工具的功能的处理逻辑202。Create Media Tool 324 performs several functions. First, create media tool 324 receives a multimedia application or content for rendering at runtime. For example, a multimedia application or content may be stored in memory 208 and the content includes function calls to create media tool 324 . Next, create media tool 324 processes the multimedia content to create IMedia object 328 from the information contained in media data structure 326 . After creating the IMedia object, the create media tool sets the media data and puts the IMedia object in a ready state. In one embodiment, create media tool 324 is formed from create media logic comprising processing logic 202 executing program instructions to create IMedia object 328 in memory 210 and perform the functions of create media tool described above.

在一种实施方式中,创建媒体工具324包括选择逻辑,它包括执行程序指令以选择一个格式处理程序与IMedia对象328相关联并且执行其它上述功能的处理逻辑202。例如,选择逻辑对与媒体内容相关的数据结构326进行估计,以确定选择哪一个格式处理程序。In one embodiment, create media tool 324 includes selection logic that includes processing logic 202 that executes program instructions to select a format handler to associate with IMedia object 328 and perform the other functions described above. For example, the selection logic evaluates the media content-related data structures 326 to determine which format handler to select.

格式处理程序format handler

在一种实施方式中,IMedia系统104包括一组格式处理程序(FH)。例如,IMedia系统104包括MIDI 314、MP3316、MPEG4 318和ADCPM 320格式处理程序。这些格式处理程序在IMedia对象328和设备102的多媒体再现硬件和软件之间提供接口322。在一种实施方式中,格式处理程序对公用指令集进行解释,从而使多媒体应用或内容可以利用相同的指令来指示格式处理程序执行诸如播放、停止、倒带等类似任务。可以使用任意数目的格式处理程序,并且可以添加新的格式处理程序,以便再现新类型的多媒体内容。在一种实施方式中,格式处理程序是从格式处理逻辑形成的,其中格式处理逻辑包括执行程序指令以执行上述格式处理程序的功能的处理逻辑202。In one embodiment, IMedia system 104 includes a set of Format Handlers (FH). For example, IMedia system 104 includes MIDI 314, MP3 316, MPEG4 318, and ADCPM 320 format handlers. These format handlers provide the interface 322 between the IMedia object 328 and the multimedia rendering hardware and software of the device 102 . In one embodiment, the format handler interprets the common instruction set so that multimedia applications or content can utilize the same instructions to instruct the format handler to perform similar tasks such as play, stop, rewind, and the like. Any number of format handlers may be used, and new format handlers may be added in order to render new types of multimedia content. In one embodiment, the formatter is formed from formatter logic, wherein the formatter logic includes processing logic 202 that executes program instructions to perform the functions of the formatter described above.

在一种实施方式中,公用指令集指示格式处理程序再现多媒体内容,并且提供用于传递参数和状态的机制。公用指令集中包括的指令的示例如下:In one embodiment, the common instruction set instructs the format handler to render multimedia content and provides mechanisms for passing parameters and status. Examples of instructions included in the common instruction set are as follows:

1.IMedia_SetMediaParm();设置FH的参数1.IMedia_SetMediaParm(); set the parameters of FH

2.IMedia_GetMediaParm();从FH获取参数2.IMedia_GetMediaParm(); Get parameters from FH

3.IMedia_SetMediaData();设置媒体数据3.IMedia_SetMediaData(); set media data

4.IMedia_GetMediaData();获取媒体数据4.IMedia_GetMediaData(); get media data

5.IMedia_GetClassID();获取类ID5.IMedia_GetClassID(); get class ID

6.IMedia_GetState();获取状态6.IMedia_GetState(); get state

7.IMedia_RegisterNotify();向FH注册回叫7.IMedia_RegisterNotify(); Register callback to FH

8.IMedia_Play();向FH发送播放命令8.IMedia_Play(); Send a play command to FH

9.IMedia_Stop();向FH发送停止命令9.IMedia_Stop(); Send a stop command to FH

10.IMedia_SetRect();设置视频参数10.IMedia_SetRect(); set video parameters

例如,IMedia对象中可以包括IMedia_SetMediaParm()指令,以便指示格式处理程序设置特定的参数、设置或与格式处理程序相关的变量。例如,利用IMedia_SetMediaParm()指令,能够设置与设计用来再现MPEG视频的格式处理程序相关的参数。在其它实施方式中,特定格式处理程序也可以对附加指令(未示出)进行解释,其中附加指令可以包括在IMedia对象328中,并且使用附加指令控制受控资源的特定功能。For example, an IMedia object may include an IMedia_SetMediaParm() instruction to instruct the format handler to set a specific parameter, setting, or variable related to the format handler. For example, with the IMedia_SetMediaParm() command, parameters related to a format handler designed to reproduce MPEG video can be set. In other embodiments, the format-specific handler may also interpret additional instructions (not shown), which may be included in the IMedia object 328, and use the additional instructions to control specific functions of the controlled resource.

在一种实施方式中,格式处理程序是在便携设备上运行的作为IMedia系统104一部分的软件。在另一种实施方式中,格式处理程序可以是硬件和软件的组合。另外,当格式处理程序变得可用时,可以将其添加到IMedia系统中,从而使得IMedia系统是可扩展的,并且当其变得可用时能够再现新类型的多媒体内容。In one embodiment, the format handler is software that runs on the portable device as part of the IMedia system 104 . In another embodiment, the format handler may be a combination of hardware and software. In addition, format handlers can be added to the IMedia system as they become available, making the IMedia system extensible and capable of rendering new types of multimedia content as it becomes available.

在运行期间,格式处理程序将其自身(其MIME类型)向运行环境进行注册,并且通过查询MIME类型或枚举该系统支持(注册)的格式处理程序的列表,多媒体应用可以检测格式处理程序。每个格式处理程序提供功能选择,它包括但不限于:During runtime, a format handler registers itself (its MIME type) with the runtime environment, and a multimedia application can detect a format handler by querying the MIME type or enumerating the list of format handlers supported (registered) by the system. Each format handler provides a selection of features, which include but are not limited to:

1.提供应用编程接口(API),该接口:1. Provide an application programming interface (API) that:

a.执行多媒体内容的重放和录制,包括诸如搜索、暂停、重新开始之类的控制功能;a. Perform playback and recording of multimedia content, including control functions such as search, pause, and restart;

b.设置和/或获取音频和视频控制参数;b. Set and/or obtain audio and video control parameters;

c.处理来自IMedia对象的异步事件。c. Handle asynchronous events from the IMedia object.

2.经由注册的回叫函数发送异步媒体事件。2. Send an asynchronous media event via the registered callback function.

3.管理设备多媒体再现资源。3. Manage device multimedia reproduction resources.

4.管理可通过导出类扩展的状态机。4. Manage state machines that can be extended by exporting classes.

图4表示通过诸如格式处理程序318的格式处理程序管理以再现多媒体内容的状态机400的一种实施方式。格式处理程序的初始状态是空闲402。一旦将格式处理程序和IMedia对象进行关联之后,格式处理程序的状态就转到预备404。根据与多媒体内容相关的命令,格式处理程序可以从预备状态404进入到播放状态406或录制状态408。格式处理程序可以从播放状态406和录制状态408转到播放暂停状态410或录制暂停状态412。也有可能从这些状态重新开始相应的播放状态406和录制状态408。格式处理程序还可以停止414,然后返回到预备状态404。FIG. 4 shows one embodiment of a state machine 400 managed by a format handler, such as format handler 318, to render multimedia content. The initial state of the format handler is idle 402 . Once the format handler is associated with the IMedia object, the state of the format handler goes to Prepare 404 . From the prepare state 404, the format handler may enter the play state 406 or the record state 408 according to commands related to the multimedia content. The format handler may transition from the play state 406 and the record state 408 to the play paused state 410 or the record paused state 412 . It is also possible to restart the corresponding playback state 406 and recording state 408 from these states. The format handler can also stop 414 and then return to the ready state 404 .

因此,利用状态机400,每个格式处理程序能够控制设备的再现资源,以便再现与该格式处理程序关联的多媒体应用或内容(IMedia对象)。在另一种实施方式中,格式处理程序也能够实现与图4所示的状态机不同的状态机。另外,在其它实施方式中,能够定义可以在再现处理期间使用的附加状态。Thus, using the state machine 400, each format handler is able to control the rendering resources of the device in order to render the multimedia application or content (IMedia object) associated with that format handler. In another embodiment, the format processing program can also implement a state machine different from the state machine shown in FIG. 4 . Additionally, in other embodiments, additional states can be defined that can be used during the rendering process.

图5表示在便携设备中再现多媒体内容的方法500的一种实施方式。FIG. 5 shows an implementation of a method 500 for rendering multimedia content in a portable device.

在框502中,通过使用IMedia构造创建多媒体应用或内容,使得可以将其再现在便携设备上。例如,应用开发商使用创建媒体工具324创建IMedia对象。IMedia对象数目和诸如同时播放或录制之类的性能是依赖于设备的。所有的IMedia对象均遵循如图4所示的基本状态机。在一种实施方式中,可以使用以下步骤创建并使用IMedia对象。In block 502, a multimedia application or content is created using an IMedia construct such that it can be rendered on a portable device. For example, an application developer uses create media tool 324 to create an IMedia object. The number of IMedia objects and capabilities such as simultaneous playback or recording are device-dependent. All IMedia objects follow the basic state machine shown in Figure 4. In one embodiment, an IMedia object can be created and used using the following steps.

1.基于媒体数据源/宿创建媒体数据结构并且对其进行初始化。按以下方式定义AEEMediaData:1. Create and initialize a media data structure based on a media data source/sink. Define AEEMediaData as follows:

typedef structtypedef struct

{{

     AEECLSID clsData;//媒体数据的类型AEECLSID clsData; //Type of media data

     void*pData;//上下文敏感的数据(见表格)void*pData;//Context-sensitive data (see table)

     unit32dwSize;//上下文敏感的数据(见表格)unit32dwSize;//Context-sensitive data (see table)

}AEEMediaData;}AEEMediaData;

2.基于下表中的信息初始化以上结构的成员。2. Initialize the members of the above structure based on the information in the table below.

  clsStream clsStream   pData pData   dwSize dwSize   注释 note MMD_FILE_NAMEMMD_FILE_NAME 文件名file name 00   用于重放和录制。文件不是由IMedia打开的,而是把文件名传递到ASIC层的API,由API打开该文件。for playback and recording. The file is not opened by IMedia, but the file name is passed to the API of the ASIC layer, and the file is opened by the API. MMD_BUFFERMMD_BUFFER 缓冲器指针buffer pointer 缓冲器的大小buffer size   用于重放和录制。缓冲器必须包括完整的媒体数据。for playback and recording. The buffer must contain complete media data. MMS_SourceMMS_Source ISourceISource   总的数据大小或为0Total data size or 0 实时流处理real-time stream processing

在框504中,将多媒体内容下载到用于再现的便携设备。例如,可以经由无线数据网络108将应用或内容下载到设备上。可以按流内容的方式再现内容,或者将其存储到存储器中并且稍后再进行再现。In block 504, the multimedia content is downloaded to the portable device for rendering. For example, applications or content may be downloaded to the device via the wireless data network 108 . The content may be reproduced as streaming content, or stored in memory and reproduced at a later time.

在框506中,基于所接收的内容中包括的媒体源或宿的特性,创建并初始化媒体数据结构。例如,将媒体数据结构存储在媒体数据结构326中。在一种实施方式中,基于文件扩展、文件内容或文件中包括的签名,导出媒体类型。In block 506, a media data structure is created and initialized based on the characteristics of the media source or sink included in the received content. For example, a media data structure is stored in media data structure 326 . In one embodiment, the media type is derived based on the file extension, file content, or signature included in the file.

在框508中,使用相关的数据结构创建IMedia对象。例如,使用创建媒体工具324创建IMedia对象。在预备状态404中返回IMedia对象。In block 508, an IMedia object is created using the associated data structures. For example, an IMedia object is created using the create media tool 324 . In the ready state 404 the IMedia object is returned.

在框510中,如果需要从IMedia对象接收异步事件,则执行可选的步骤以注册通知函数。In block 510, an optional step is performed to register a notification function if desired to receive asynchronous events from the IMedia object.

在框512中,将IMedia对象与格式处理程序进行关联,并且在便携设备上再现多媒体应用或内容。例如,格式处理程序可以提供状态机400的任意功能,以便再现多媒体内容。In block 512, the IMedia object is associated with the format handler and the multimedia application or content is rendered on the portable device. For example, a format handler may provide any functionality of state machine 400 for rendering multimedia content.

在框514中,在已经对该内容进行再现之后并且不再需要IMedia对象时,释放该对象。In block 514, after the content has been rendered and the IMedia object is no longer needed, the object is released.

实现示例Implementation example

以下是表示在一种实施方式中如何创建IMedia对象的一个实现示例。该示例包括对图5所示方法的相应框的引用,并且假设便携设备102使用的运行环境是BREW环境。因此,“CApp”是BREW小应用程序全局结构的实例。The following is an example implementation showing how to create an IMedia object in one implementation. This example includes references to the corresponding blocks of the method shown in FIG. 5 and assumes that the execution environment used by the portable device 102 is the BREW environment. Thus, "CApp" is an instance of the BREW applet global structure.

static void App_PlayMedia(CApp*pme)static void App_PlayMedia(CApp*pme)

{{

int nRet;int nRet;

AEEMediaData md;AEEMediaData md;

//创建媒体数据结构(图5中的框506)//Create the media data structure (box 506 in Figure 5)

md.clsData=MMD_FILE_NAME;md.clsData = MMD_FILE_NAME;

md.pData=(void*)“media/midi_fmtl.mid”;md.pData = (void*) "media/midi_fmtl.mid";

md.dwSize=0;md.dwSize = 0;

//创建IMedia对象并进入预备状态(图5中的框508)//Create an IMedia object and enter the ready state (box 508 in Figure 5)

nRet=AEEMediaUtil_CreateMedia(pme->a.pIShell,&md,pme->m_pIMedia);nRet=AEEMediaUtil_CreateMedia(pme->a.pIShell, &md, pme->m_pIMedia);

//如果成功,则将App_MediaNotify()注册作为IMedia事件的注册回叫函数(图5中的块510)//If successful, App_MediaNotify () is registered as the registration callback function of the IMedia event (block 510 in Figure 5)

if(SUCCESS!=nRet)if (SUCCESS != nRet)

    DisplayErrorDlg(pme,IDS_ERR_CREATEMEDIA);DisplayErrorDlg(pme, IDS_ERR_CREATEMEDIA);

else if(SUCCESS!=IMEDAI_RegisterNotify(pme->pIMedia,else if(SUCCESS!=IMEDAI_RegisterNotify(pme->pIMedia,

App_mediaNotify,pme))App_mediaNotify, pme))

    DisplayErrorDlg(pme,IDS_ERR_REGISTERNOTIFY);DisplayErrorDlg(pme, IDS_ERR_REGISTERNOTIFY);

else if(SUCCESS!=IMEDIA_Play(pme->m_pIMedia))//开始重放(图5中的框512)else if(SUCCESS!=IMEDIA_Play(pme->m_pIMedia))//Start playback (box 512 in Figure 5)

DisplayErrorDlg(pme,IDS_ERR_PLAY);DisplayErrorDlg(pme, IDS_ERR_PLAY);

在本发明包括的一种或多种实施方式中,运行包括方法和装置的多媒体系统,以便在具有嵌入式控制器的有限资源的便携设备上再现多媒体应用和内容。因此,尽管在此已经举例说明并且指出了该方法和装置的一种或多种实施方式,但是应该理解到,能够对各实施方式作出各种改变而并不背离其精神或实质特征。因此,在此的公开和说明只是说明而不是限制在所附权利要求书中阐述的本发明的范围。In one or more embodiments encompassed by the present invention, a multimedia system including methods and apparatus operates to render multimedia applications and content on a portable device with limited resources of an embedded controller. Therefore, although one or more implementations of the method and apparatus have been illustrated and indicated herein, it should be understood that various changes can be made to the various implementations without departing from the spirit or essential characteristics thereof. Accordingly, the disclosures and descriptions herein are intended to illustrate and not to limit the scope of the invention as set forth in the appended claims.

Claims (6)

1.一种用于在用于处理数据的具有嵌入式处理器的便携设备中再现多媒体内容的方法,该嵌入式处理器用于控制多媒体内容再现资源,该多媒体内容具有相关联的多媒体类型,该便携设备还包括一种或多种再现资源,并且该方法包括:1. A method for rendering multimedia content in a portable device having an embedded processor for controlling multimedia content rendering resources for processing data, the multimedia content having an associated multimedia type, the The portable device also includes one or more rendering resources, and the method includes: 根据多媒体内容改变多媒体对象,该多媒体对象具有包括播放方法的接口;Changing a multimedia object according to the multimedia content, the multimedia object has an interface including a playback method; 将该多媒体对象与格式处理程序中的处理程序进行关联,该格式处理程序选自于分别与特定多媒体类型相关联且支持至少一种播放功能的多个格式处理程序;以及Associating the multimedia object with a handler in the format handler, the format handler is selected from a plurality of format handlers respectively associated with a specific multimedia type and supporting at least one playback function; and 调用所述多媒体对象的所述播放方法来再现多媒体内容,所述播放方法利用所述格式处理程序的所述播放功能控制所述设备的选定的再现资源,以便从多媒体对象再现多媒体内容。Invoking the play method of the multimedia object to render multimedia content, the play method utilizing the play function of the format handler to control selected rendering resources of the device to render multimedia content from a multimedia object. 2.根据权利要求1的方法,还包括:根据多媒体内容生成多媒体数据结构。2. The method of claim 1, further comprising: generating a multimedia data structure from the multimedia content. 3.根据权利要求1的方法,其中所述播放方法利用所述格式处理程序的所述播放功能控制所述设备的选定的再现资源包括:3. The method according to claim 1, wherein said playback method utilizing said playback function of said format handler to control the selected reproduction resource of said device comprises: 在格式处理程序中实现状态机,以便控制选定的再现资源;以及implement a state machine in the format handler to control selected rendering resources; and 利用格式处理程序中的状态机再现多媒体内容。The multimedia content is rendered using a state machine in the format handler. 4.一种用于在用于处理数据的具有嵌入式处理器的便携设备中再现多媒体内容的多媒体系统,该嵌入式处理器用于控制多媒体内容再现资源,该多媒体内容具有相关联的多媒体类型,该便携设备还包括一种或多种再现资源,并且该多媒体系统包括:4. A multimedia system for rendering multimedia content in a portable device for processing data having an embedded processor for controlling multimedia content rendering resources, the multimedia content having an associated multimedia type, The portable device also includes one or more rendering resources, and the multimedia system includes: 用于根据多媒体内容改变多媒体对象的装置,该多媒体对象具有包括播放方法的接口;means for changing a multimedia object according to multimedia content, the multimedia object has an interface including a playback method; 用于将该多媒体对象与格式处理程序中的处理程序进行关联的装置,该格式处理程序选自于分别与特定多媒体类型相关联且支持至少一种播放功能的多个格式处理程序;以及means for associating the multimedia object with a handler in a format handler selected from a plurality of format handlers respectively associated with a specific multimedia type and supporting at least one playback function; and 用于调用所述多媒体对象的所述播放方法来再现多媒体内容的装置,所述播放方法利用所述格式处理程序的所述播放功能控制所述设备的选定的再现资源以便从多媒体对象再现多媒体内容。means for invoking said play method of said multimedia object to reproduce multimedia content, said play method utilizing said play function of said format handler to control a selected reproduction resource of said device to reproduce multimedia from a multimedia object content. 5.根据权利要求4的系统,进一步包括:用于根据多媒体内容生成多媒体数据结构的装置。5. The system of claim 4, further comprising: means for generating the multimedia data structure from the multimedia content. 6.根据权利要求4的系统,其中用于调用所述多媒体对象的所述播放方法来再现多媒体内容的装置包括:6. The system according to claim 4, wherein the means for invoking the playback method of the multimedia object to reproduce the multimedia content comprises: 用于在格式处理程序中实现状态机以便控制选定的再现资源的装置;以及means for implementing a state machine in the format handler to control selected rendering resources; and 用于利用格式处理程序中的状态机再现多媒体内容的装置。Means for rendering multimedia content using a state machine in a format handler.
CNB038130858A 2002-06-04 2003-06-04 Method and system for rendering multimedia in a portable device Expired - Fee Related CN100401281C (en)

Applications Claiming Priority (6)

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 US20040083015A1 (en) 2002-06-04 2003-06-02 System for multimedia rendering in a portable device
US10/453,091 2003-06-02

Publications (2)

Publication Number Publication Date
CN1659536A CN1659536A (en) 2005-08-24
CN100401281C true CN100401281C (en) 2008-07-09

Family

ID=29716141

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038130858A Expired - Fee Related CN100401281C (en) 2002-06-04 2003-06-04 Method and system for rendering multimedia in a portable device

Country Status (11)

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

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4591279B2 (en) * 2005-08-19 2010-12-01 ソニー株式会社 Information processing apparatus, information processing method, recording medium, and program
KR100630123B1 (en) 2005-08-31 2006-09-28 삼성전자주식회사 Mobile terminal accessory device and method for receiving and playing digital multimedia broadcasting data
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
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
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
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 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
CN102647629A (en) * 2012-04-27 2012-08-22 北京人民广播电台 Content playing method and content playing device
CN103777938A (en) * 2012-10-25 2014-05-07 百度在线网络技术(北京)有限公司 Playing method and device supporting multiple browsers
CN104618817B (en) * 2015-02-26 2018-07-17 北京奇艺世纪科技有限公司 A kind of control method and device of playback website video
US20170344523A1 (en) * 2016-05-25 2017-11-30 Samsung Electronics Co., Ltd Method and apparatus for presentation customization and interactivity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025515A1 (en) * 1998-10-26 2000-05-04 Sony Electronics Inc. Management of trick playback of digital video data
US20010052933A1 (en) * 2000-01-12 2001-12-20 Nybo Larry Carl System and method for image capture, storage and retrieval
US20030035648A1 (en) * 2001-08-17 2003-02-20 Lopez-Estrada Alex A. Navigation for MPEG streams

Family Cites Families (15)

* 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
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6181713B1 (en) * 1997-10-27 2001-01-30 Sun Microsystems, Inc. Selectable depacketizer architecture
US6356529B1 (en) * 1999-08-12 2002-03-12 Converse, Ltd. System and method for rapid wireless application protocol translation
KR100340169B1 (en) * 1999-09-27 2002-06-10 서성철 System and Method for Web Cataloging Dynamic Multimedia Using Java
CN1402852A (en) * 1999-10-22 2003-03-12 动感天空公司 Object oriented video system
JP2001125920A (en) * 1999-10-29 2001-05-11 Nippon Telegr & Teleph Corp <Ntt> Communication system for media information, communication method for media information, and recording medium recording this method
JP2001168923A (en) * 1999-12-08 2001-06-22 Toshiba Corp Multimedia service system, multimedia conversion server, and multimedia terminal
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
US6842761B2 (en) * 2000-11-21 2005-01-11 America Online, Inc. Full-text relevancy ranking
US20030156131A1 (en) * 2002-02-21 2003-08-21 Samir Khazaka Method and apparatus for emulating a mobile device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025515A1 (en) * 1998-10-26 2000-05-04 Sony Electronics Inc. Management of trick playback of digital video data
US20010052933A1 (en) * 2000-01-12 2001-12-20 Nybo Larry Carl System and method for image capture, storage and retrieval
US20030035648A1 (en) * 2001-08-17 2003-02-20 Lopez-Estrada Alex A. Navigation for MPEG streams

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The History of Windows CE. HPC:Factor.参见"http://www.hpcfactor.com/support/windowsce/wce3.asp". 2001 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US20040083015A1 (en) System for multimedia rendering in a portable device
CN100401281C (en) Method and system for rendering multimedia in a portable device
US20040212687A1 (en) System for controlling a camera resource in a portable device
US8225336B2 (en) Method and system of configuring a virtual device
US20090064202A1 (en) Support layer for enabling same accessory support across multiple platforms
Helal Pervasive java
RU2316907C2 (en) System for reproduction of multimedia in portable device
EP2449460A1 (en) A method, apparatus and computer program for creating software components for computing devices
US8862548B2 (en) File system cloning between a target device and a host device
CN1615470A (en) Host extensible wireless application interface
RU2352977C2 (en) System for control of chamber resource in portable device
CN111290746A (en) Object access method, apparatus, device and storage medium
CN110399040B (en) Multi-mode interaction method, user terminal equipment, server and system
HK1075521B (en) Method and system for multimedia rendering in a portable device
KR20110029152A (en) Method, apparatus and computer readable recording medium for message handling in a computing device
KR100627819B1 (en) How to control your application using the Wap Browser&#39;s features
CN116737179A (en) Sound effect management method and device and computer equipment
CN118277127A (en) View transmission method, device, system and computer readable storage medium
HK1101795A (en) System for controlling a camera resource in a portable device
Ramfrez-Acosta et al. Streaming Media Portability with the Emerging Support Open MAX
Mandala Platform leadership through system interfaces: a study of application programming interfaces for mobile operating systems
Java Standards, Tools, & Best Practices
HK1117924A (en) Dynamic simulation in a computing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1075521

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1075521

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080709

Termination date: 20190604