The present invention is directed to an electronic device configured to permit users to transfer customized multimedia content across devices. In one embodiment, the electronic device generates data that encapsulates a multimedia payload. The data may comprise information and/or executable code, and includes data such as one or more user-selected start positions for the multimedia content. Each start position may further be associated with a type of predetermined event such as an incoming call. Encapsulating the multimedia content facilitates transferring the multimedia content across electronic devices such that a receiving electronic device may use the multimedia content without having to redefine user-selected start positions and predetermined event associations.
Wireless communications device 10 comprises an interface 12 and communications circuitry 14. The interface 12 includes a system interface 16, a display 18, user input devices 20, a speaker 22, and a microphone 24. System interface 16 facilitates the inter-connection of wireless communications device 10 with one or more peripheral devices to permit the transfer of information to and from those devices. Such devices include other wireless communications devices, computing devices, portable music and video players, and the like.
Display 18 may comprise a liquid crystal display (LCD) to enable the user to view menus, images, video, and other information. The user input devices 20 enable a user to interact with and control the wireless communications device 10. The user input devices 20 may comprise any known input devices, such as keypads, touch pads, joystick controls, scroll wheels, and buttons that allow a user to input data and commands. While not specifically shown, a voice recognition system or touch screen display may also be used for user input. Speaker 22 converts analog audio signals into audible signals that can be heard by the user. Microphone 24 converts the detected speech and other audible signals into electrical audio signals for input to controller 26.
The communications circuitry 14 includes a controller 26, memory 28, an audio processing circuit 32, a short-range transceiver 34, and a long-range transceiver 38. Controller 26 controls the overall operation of wireless communications device 10 according to programs stored in memory 28. As described below in more detail, one such program comprises application logic 30. Application logic 30 includes the instructions that permit controller 26 to generate encapsulated multimedia content, and import encapsulated multimedia content. Controller 26 may be implemented as a single processor, or as multiple processors. Suitable processors may include general purpose microprocessors, microcontrollers, digital signal processors, hardware, firmware, or a combination thereof.
Memory 28 represents the entire hierarchy of memory in the wireless communications device 10, and may include both random access memory (RAM) and read-only memory (ROM). Computer programs and data required for operation are stored in non-volatile memory, such as EPROM, EEPROM, and/or flash memory, which may be implemented as discrete devices, stacked devices, or may be integrated with one or more processors. Audio processing circuit 32 provides basic analog output signals to speaker 22, and accepts analog audio inputs from microphone 24.
Short-range transceiver 34 and antenna 36 permit the wireless communications device 10 to communicate signals with other short-range transceivers via a short-range communications link. This allows, for example, a user of the wireless communications device 10 to transmit and receive multimedia content encapsulated according to the present invention over short distances. Short-range transceiver 34 may operate according to standards defined for BLUETOOTH or the IEEE 802.11 family of standards. Alternatively, short-range transceiver may comprise an infra-red port that operates according to any of the Infrared Data Association (IrDA) family of standards.
Long-range transceiver 38 and antenna 40 permits the user to communicate with remote parties via a wireless communications network, and facilitates the transfer of encapsulated multimedia content via the network. Long-range transceiver 38 is a fully functional cellular radio transceiver, which may operate according to any known wireless communication standard, including the standards known generally as the Global System for Mobile Communications (GSM), TIA/EIA-136, cdmaOne, cdma2000, UMTS, and Wideband CDMA.
The controller 26 executes application logic 30 to generate and import encapsulated multimedia content.
The tag section 54 includes one or more pointers P1 . . . Pn that identify a corresponding number of user-selected start positions for the payload 58. The pointers may comprise, for example, one or more time markers for an audio file such as those generated in co-pending U.S. patent application Ser. No. 11/252,152. Each time marker corresponds to a different user-selected start position for the audio file relative to the beginning of the audio file. Each pointer P1 . . . Pn may further be associated with a given predetermined event A1 . . . An. For example, the '152 application noted above permits the user to associate each user-selected starting position with an event such as an incoming call from a particular person, a page, an incoming SMS message, a scheduled event, and the like, and stores this information in memory. Whenever the wireless communications device 10 receives or detects an identified event, the controller 26 plays the audio file from the start position identified by the corresponding pointer.
According to one embodiment of the present invention, the controller 26 operating according to application logic 30 may retrieve the pointers P1 . . . Pn and/or predetermined event information A1 . . . An from memory 28, and use this information to generate encapsulated file 50. Upon transfer of the file 50, a receiving wireless communications device 10 able to interpret the specified format could use this information to update its own memory 28. This allows the user of the receiving device to use the pointers P1 . . . Pn and information A1 . . . An sent with the file 50, and obviates the need for the user to redefine this information.
Header section 56, which may be part of the payload section 58, includes in some embodiments metadata that identifies information specific to the multimedia content. Such information includes, but is not limited to, the title and author of the multimedia content, the length in bytes, the encoding format, URL(s) that link to a website associated with the multimedia content, and an offset that identifies the beginning of the multimedia content. Where the payload section 58 comprises video or image data, the header section 56 may further include a resolution for display 18.
Payload section 58 comprises the multimedia content that will be rendered to the user. The payload section 58 may comprise video data, image data, audio data, a sequence of instructions to control a tactile function generator associated with the wireless communications device 10, or a combination thereof. The EOF section 60 includes data that identifies the end of encapsulated file 50.
In one embodiment, the ID section 52, tag section 54, header section 56, and EOF section 60 comprise data that is appended to the beginning and end of the payload section 58 during generation of file 50. The data in these fields may be formatted, for example, according to the eXtensible Markup Language (XML). Many known devices are capable of interpreting XML, and therefore, XML facilitates the transfer of the payload 58 between wireless communications devices 10. Because XML and its syntax is well known in the art, only a brief description is included here for clarity.
XML is a text-based language used to describe and apply a hierarchical structure to a variety of data. XML describes data in terms of character data, elements, and attributes of those elements. Each element begins with a start tag and ends with an end tag. The contents of the element are included between the tags. The following line is an example of how the ID section 52 might be generated by wireless communications device 10. In this example, controller 26 generates the XML code that identifies the file 50 as being readable by Sony Ericsson or compatible devices.
In this example, the start and end tags are “<file_id>” and “</file_id>,” respectively, while “SONYERICSSON” is the actual indicator. Other elements use similar syntax to define the pointers P1 . . . Pn, predetermined events A1 . . . An, and header data in the tag and header sections 54, 56. The following lines are examples of such code.
In the example above, controller 26 generates the start and end tags <TAG>, </TAG>, <HEADER>, and </HEADER> to identify the beginning and end of the tag and header sections 54, 56, respectively. Within each identified section 54, 56, controller 26 generates the start and end tags and the attributes for those tags accordingly. In this example, each pointer ptr_1, ptr_2, is associated with an identifier that relates a predetermined event to the particular pointer. Controller 26 may retrieve at least some of this information from a users contact list in memory 28.
XML is not the only type of language that may be used to encapsulate the multimedia content. Other languages such as Hypertext Markup Language (HTML) and eXtensible Hypertext Markup Language (XHTML) may also be employed. However, XML is a type of language that permits allows users to create custom start and end tags. Other languages, such as HTML, do not. The flexibility and extensibility that XML therefore provides permits users to add additional elements not specifically mentioned herein to be included in the file 50.
The method 70 (
A method 90 (
The controller may then render the payload 58 from the specified starting position (box 100) to allow the user to preview the content. The controller 26 may also display the associated predetermined event information on display 18. The user may accept the retrieved data as-is (box 102), or define a new starting position and/or predetermined event (box 104). The controller 26 may then determine whether the wireless communications device 10 that is importing file 50 already includes the payload section 58 in memory 28, and store the payload section 58 in memory 28 accordingly. The controller 26 may also store the received file 50 in memory 28 to facilitate further dissemination of the file 50 (box 106).
The controller 26 will then use the retrieved information to update the device tables in memory 26 (box 108). For example, where the payload section 58 comprises an audio file used as a ring tone, controller 26 may update the user's address book or other contact list to associate a particular party with the payload section 58 and the starting position. Thereafter, whenever that party calls the user, controller 26 will render the payload section 58 as audio from the specified starting position.
As stated above, the tag section 54 may include a plurality of time markers, each defining a time in seconds relative to a beginning of the multimedia content, and each being associated with a different predetermined event. Therefore, controller 26 may repeat the above process as many times as needed or desired to import this additional data (box 110).
It should be noted that the pointers P1 . . . Pn are not limited to comprising time markers that identify a user-selected start position in time-based units relative to a beginning of the multimedia content. Other embodiments may employ offsets that identify the start positions in terms of bytes relative to a beginning of the multimedia content. Still, other embodiments may use a combination of time markers and offsets. In addition, one or more of the pointers P1 . . . Pn may specify a starting position for the multimedia content relative to the beginning or the end of the multimedia file, or any point in between.
While the present invention has been described in terms of a wireless communications device, the present invention is not so limited. Those skilled in the art will readily appreciate that the present invention may be embodied in a computing device such as a desktop or laptop computer. In such embodiments, the computing device may include logic that permits a user to specify the user-selected start positions for the multimedia content. A controller in the computing device may then generate file 50 as previously described, and transfer the generated file to another electronic device communicatively connected to the computing device. Alternatively, a user may download the file 50 from a remote device over a network, such as the Internet, and store the file 50 for later editing and/or dissemination to remote devices as previously described.
The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.