Application Programming Interface for Utilizing Multimedia Data
Total Page:16
File Type:pdf, Size:1020Kb
(19) TZZ_¥6978B_T (11) EP 1 376 978 B1 (12) EUROPEAN PATENT SPECIFICATION (45) Date of publication and mention (51) Int Cl.: of the grant of the patent: H04L 29/06 (2006.01) H04L 29/08 (2006.01) 28.11.2012 Bulletin 2012/48 (21) Application number: 03013067.8 (22) Date of filing: 10.06.2003 (54) Application programming interface for utilizing multimedia data Anwendungsprogrammierungsschnittstelle mit Verwendung von Multimediadaten Interface de programmation d’applications utilisant des données multimedia (84) Designated Contracting States: • Weiss, Rebecca C. AT BE BG CH CY CZ DE DK EE ES FI FR GB GR Kirkland, WA 98033 (US) HU IE IT LI LU MC NL PT RO SE SI SK TR • Wei, Dong Bellevue, WA 98006 (US) (30) Priority: 28.06.2002 US 185161 • Debique, Kirt Seattle, WA 98109 (US) (43) Date of publication of application: • Miller, Danny 02.01.2004 Bulletin 2004/01 Carnation, WA 98014 (US) • Dunbar, Geoffrey T. (73) Proprietor: MICROSOFT CORPORATION Kirkland, WA 98033 (US) Redmond, WA 98052 (US) (74) Representative: Grünecker, Kinkeldey, (72) Inventors: Stockmair & Schwanhäusser • Speed, Robin C. B. Leopoldstrasse 4 Kirkland, WA 98033 (US) 80802 München (DE) • Mohammed, Sohail B. Redmond, WA 98052 (US) (56) References cited: • Grigorovitch, Alexandre US-A- 5 996 025 US-A1- 2002 004 855 Redmond, WA 98052 (US) US-A1- 2002 065 952 • Crites, Brian D. Sammamish, WA 98074 (US) Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). EP 1 376 978 B1 Printed by Jouve, 75001 PARIS (FR) EP 1 376 978 B1 Description [0001] The presentinvention is directed tomethods, systems, andcomputer programproducts for accessing multimedia data of a variety of different formats from a variety of multimedia sources. 5 [0002] The advent of the computer revolution has had a tremendous impact on the ability to record and edit multimedia content (e.g., video and audio data). For instance, multimedia content can now be recorded in a digital format and stored on a condensed storage medium, thereby decreasing the cost and space previously required to archive desired multi- media content. Examples of condensed storage media that are capable of storing digital multimedia content include, for example, Compact Disks (CDs), Digital Video Disks (DVDs), MP3 disks, computer hard disk drives, floppy disks, smart 10 media cards, and compact flash cards. [0003] One advantage of digitizing multimedia content is that multimedia content can be broadcast and rendered with higher quality in a digital format than in an analog format. The devices and storage media used to capture and render digital multimedia are also typically smaller than the devices and storage media that are required to capture and render the same multimedia in analog formats. Yet another advantage of digitizing multimedia content is that digital data can 15 typically be indexed and accessed more quickly than analog data. [0004] The advantages provided by digitizing multimedia content have increased the demand for digital devices and multimedia applications that are capable of capturing, editing, and rendering multimedia content. Accordingly, the com- puter industry has worked to develop improved devices and applications to meet the increased demand. [0005] One underlying problem with providing improved applications for multimedia content, however, is that there 20 are many different types of formats, standards, and protocols that are used to encode and transmit digital data. Examples of different formatting standards include, for example, MPEG (Moving Picture Experts Group), ASF (Advanced Streaming Format), AVI (Audio Video Interleave), Active Movie, Cinepaq, QuickTime, Indeo, ATVEF (Advanced Television En- hancement Forum) and ATSC (Advanced Television Systems Committee). [0006] Examples of different protocols and languages include RTSP (Real- Time Streaming Protocol), RTP (Real- Time 25 Protocol), RTCP (Real-Time Control Protocol), UDP (User Datagram Protocol, HTTP (Hypertext Transport Protocol), MMS (Microsoft Media Server), TCP (Transmission Control Protocol), XML (extensible Markup Language), and SMIL (Synchronized Multimedia Integration Language). [0007] There are also many different multimedia sources including, but not limited to, broadcast television stations, cable stations, radio stations, CDs, DVDs, computer hard drives, the Internet, MP3 players, and so forth. Each of these 30 various multimedia sources may present multimedia content in a different manner to the multimedia application that is used to access and process the multimedia content, thereby requiring the multimedia applications to be configured to interpret a variety of different formats, standards and protocols. [0008] Accordingly, the large variety of different multimedia formats, standards, and protocols creates a burden on programmers for creating multimedia applications that are capable of accommodating the various standards, protocols, 35 languages and requirements that can be used to present multimedia content. Individually programming the multimedia applications in this manner, however, is inefficient, particularly when a single computing system is configured with multiple applications that must each be programmed to interpret certain basic information of the multimedia content. For instance, it may be necessary for the applications to each determine the duration of the multimedia content, the formatting of the multimedia content, the types of data present in the multimedia content, arid so forth. 40 [0009] Programming each of the different applications to individually determine basic information regarding the mul- timedia content requires duplicated efforts and undesirably wastes time, costs, and resources that are required to individually program the multimedia applications. Accordingly, there is currently a need in the art for improved methods for enabling multimedia applications to access and process multimedia data without the applications having to individually interpret and determine the characteristics of the multimedia content directly. 45 [0010] US-A-5 996 025 discloses a network transparent access framework for multimedia serving wherein a control serverin a client/ server environmentcomprises an API frameworkthat facilitates scalable, networktransparent, integrated multimedia content loading and data streaming. Assets are digital multimedia content resources stored for subsequent retrieval by an application. Assets include information about the file, such as title and play- rate. Once an asset is defined over the control interface, the asset may be loaded with either a file or a stream protocol. A load balancing technique is 50 intended to assist in optimizing overall system performance by balancing loads across processors, busses, ports and stripe groups. [0011] US 2002/004355 A1 discloses methods for facilitating display of content within application programs executing on electronic devices. An API enables application programs to communicate with other application programs and to send/retrieve content to/from other application programs. A gateway is configured to serve content retrieved from the 55 content server to the electronic device, as well as to other servers and/or devices. Methods, apparatuses and computer program products are provided for dynamically selecting advertisements for use within user requested content, wherein the advertisements are stored locally within a user client device. [0012] US 2002/065952 A1 discloses an extensible multimedia application program interface, selectively invoked in 2 EP 1 376 978 B1 a computing system to interface any video decoder application with any video accelerator comprising a command data structure and a residual difference data structure. The control command data structure includes control commands which are dynamically tailored to interface the decoder application with a hardware accelerator in accordance with an acceptable media processing standard negotiated between the decoder and the accelerator. 5 [0013] It is the object of the present invention to provide a method and corresponding computer program product and computing system for facilitating the manner in which multimedia applications access and process multimedia data and, more particularly, for facilitating the manner in which applications obtain basic information regarding the multimedia data. [0014] This object is solved by the subject matter of the independent claims. [0015] Preferred embodiments are defined in the dependent claims. 10 [0016] According to one embodiment of the invention, a computing system accesses at least one multimedia source having multimedia content so that the multimedia content can be processed by one or more applications that are asso- ciated with the computing system. The computing system may include, but is not limited to, a computer, a DVD player, and a programmable video recorder (PVR). The multimedia content may include, but is not limited to, audio and video data. In one example, the applications are configured to process the multimedia content in a predetermined manner, 15 including, but not limited to, authoring, editing and playing the multimedia content. [0017] According to one aspect of the invention, the applications obtain