throbber
I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US007188186Bl
`
`c12) United States Patent
`Meyer et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,188,186 Bl
`Mar.6,2007
`
`(54) PROCESS OF AND SYSTEM FOR
`SEAMLESSLY EMBEDDING EXECUTABLE
`PROGRAM CODE INTO MEDIA FILE
`FORMATS SUCH AS MP3 AND THE LIKE
`FOR EXECUTION BY DIGITAL MEDIA
`PLAYER AND VIEWING SYSTEMS
`
`(76)
`
`Inventors: Thomas W. Meyer, P.O. Box 230345,
`Encinitas, CA (US) 92023-0345;
`Josslyn Motha Meyer, P.O. Box
`230345, Encinitas, CA (US) 92023-0345
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/389,942
`
`(22) Filed:
`
`Sep. 3, 1999
`
`(51)
`
`Int. Cl.
`G06F 15116
`(2006.01)
`(52) U.S. Cl. ....................................... 709/231; 717/167
`(58) Field of Classification Search ................ 717/167;
`705/14, 15; 709/206, 231
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,668,599 A *
`5,802,481 A *
`5,838,906 A *
`5,929,836 A *
`5,930,765 A *
`5,974,181 A *
`5,983,005 A *
`6,014,651 A *
`6,038,591 A *
`6,061,403 A *
`6,157,740 A *
`
`9/1997 Cheney et al. ......... 375/240.15
`9/1998 Prieto ......................... 702/190
`11/1998 Doyle et al ................. 709/202
`7I1999 Der et al.
`................... 345/629
`7/1999 Martin ........................ 705/14
`10/1999 Prieto ......................... 382/232
`11/ 1999 Monteiro et al.
`........... 709/231
`1/2000 Crawford .................... 705/400
`3/2000 Wolfe et al ................. 709/206
`512000 Marino ....................... 375/240
`12/2000 Buerkle et al .............. 382/233
`
`6,185,683 Bl*
`6,216,152 Bl*
`6,351,736 Bl*
`6,357,047 Bl*
`6,411,725 Bl*
`6,449,380 Bl *
`6,508,709 Bl *
`6,526,097 Bl *
`6,539,544 B2 *
`6,632,992 B2 *
`6,748,362 Bl *
`
`............... 713/176
`2/2001 Ginter et al.
`4/2001 Wong et al ................. 709/203
`212002 Weisberg et al.
`............. 705/14
`3/2002 Kurtze et al ................ 725/151
`612002 Rhoads ....................... 382/100
`912002 Acharya et al.
`............ 382/100
`1/2003 Karmarkar .. ... .. ... ... ... ... 463/42
`212003 Sethuraman et al. ..... 375/240.2
`3/2003 Ebisawa ..................... 717 /177
`10/2003 Hasegawa ... ... .. ... ... ... ... 84/609
`............... 704/500
`6/2004 Meyer et al.
`
`OTHER PUBLICATIONS
`
`Documentation for ID3Lib 3.05 by Dirk Mahoney, pp. 1-18, Nov.
`22, 1998.*
`"What Makes People Click Advertising on the Web", Jim Sterne,
`pp. 1-12, published Aug. 22, 1997.*
`Nilsson, Martin, "ID3v2 Made Easy" http://www.id3.org/easy.html,
`print date May 12, 2003.
`
`(Continued)
`
`Primary Examiner-Larry D. Donaghue
`(74) Attorney, Agent, or Firm-Rines and Rines
`
`(57)
`
`ABSTRACT
`
`A novel process and system for flexibly adding supplemental
`digital program content such as, for example, transactional
`advertising content, games, polls, contests, interactive music
`videos, and e-commerce content generally and the like, into
`pre-prepared digital media files, such as an MP3 audio file
`or the like, for playback by digital playback apparatus,
`wherein the pre--prepared media file is modified by embed(cid:173)
`ding therein executable code representing such supplemen(cid:173)
`tal program content, and enabling the playback apparatus to
`decode and execute the presentation of the supplemental
`program material as an addition to the playback of the
`pre-prepared media file content.
`
`28 Claims, 10 Drawing Sheets
`(3 of 10 Drawing Sheet(s) Filed in Color)
`
`MPEGAudio
`File
`
`Exe<:utoble
`Cod•
`
`1 - - - - - - I
`I
`
`1 I~----,
`PossibleAdditioocJ
`Compression lo
`Ensure Room for
`Executable Code at
`End of Frames
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`lnsertionofExeculobleCodeal
`Endolhld'ioDotoinEoch
`Audia Frame
`
`Medi<lfilewith
`Embedded
`Executable Code
`
`I
`_J
`
`MPEG Audio with Ancillary Bits Encoding
`
`Page 1 of 18
`
`BMW EXHIBIT 1006
`
`

`

`US 7,188,186 Bl
`Page 2
`
`OTHER PUBLICATIONS
`
`Nilsson, Martin, "ID3v2-Informal Standard" http://www.id3.org/
`id3v2.3.0.html, print date May 12, 2003.
`
`Freed N. et al., "Multipurpose Internet Mail Extensions (MIME)
`Part One", RFC 2045, (cont.), pp. 1-26, published Nov. 1996.
`* cited by examiner
`
`Page 2 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 1 of 10
`
`US 7,188,186 Bl
`
`Media File
`
`Executable
`Code
`
`Encoding ·Process
`
`Media File with
`Embedded
`Executable Code
`
`Encoding System Overview
`Figure 1
`
`Page 3 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 2 of 10
`
`US 7,188,186 Bl
`
`Figure la
`
`Page 4 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 3 of 10
`
`US 7,188,186 Bl
`
`Figure lb
`
`Page 5 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 4of10
`
`US 7,188,186 Bl
`
`Figure le
`
`Page 6 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 5 of 10
`
`US 7,188,186 Bl
`
`I Media File with
`
`Embedded
`Executable Code
`
`/\
`
`\J
`
`Decoding Process
`
`Media File
`
`~
`
`\
`
`Executable
`Code
`
`/\
`
`\)
`
`Media Player or
`Viewer
`
`Verification Process
`(Optional)
`
`4
`I
`I
`I
`I
`I
`
`L ___ 51ricb~~~]~~-------
`
`Playback Environment
`
`Execution
`Environment
`
`L
`
`Decoding System Overview
`Figure 2
`
`Page 7 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 6of10
`
`US 7,188,186 Bl
`
`MPEG Audio
`File
`
`I\
`
`\
`
`I
`
`Executable
`Code
`
`/\
`
`\)
`
`Unsynchronization of
`Executable Code
`
`Encapsulation in
`id3v2 Format
`
`~
`
`Insertion at beginning of mp3
`Audio Stream
`
`~odinq Process
`
`J
`
`/ MPEG Audio File with /\
`Embedded Executable
`Code
`
`\J
`
`MPEG Audio with id3v2 Encoding
`Figure 3
`
`Page 8 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 7of10
`
`US 7,188,186 Bl
`
`MPEG Audio
`File
`
`Executable
`Code
`
`Possible Additional
`Compression to
`Ensure Room for
`Executable Code at
`End of Frames
`
`Insertion of Executable Code at
`End of Audio Data in Each
`Audio Frame
`
`~oding Process
`
`_J
`
`Medta File with
`Embedded
`Executable Code
`
`MPEG Audio with Ancillary Bits Encoding
`Figure 4
`
`Page 9 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 8 of 10
`
`US 7,188,186 Bl
`
`MPEG File
`
`Executable
`Code
`
`Encode Executable
`Code in One or
`More Private Dato
`Packets
`
`lnserlio.n of New Private Doto
`Pockets in the Existing MPEG
`File
`
`I Encoding Process
`
`_J
`
`Media File with
`Embedded
`Executable Code
`
`MPEG with Private Stream Encoding
`Figure 5
`
`Page 10 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 9 of 10
`
`US 7,188,186 Bl
`
`r-
`
`Media File
`
`I\
`
`\)
`
`Selection of
`·Appropriate
`Locations in Media
`to Embed Data
`
`Executable
`Code
`
`I
`
`\)
`
`Transformation of
`Executable Code
`into a Bit Stream
`
`Insertion of Executable Code by
`Directly Modifying the Media
`
`I SteganO<Jrophic Encoding Process
`
`- -
`
`I
`
`Media File with
`Embedded
`Executable Code
`
`/\
`
`\J
`
`Encoding Using Steganographic Techniques
`Figure 6
`
`11
`
`_J
`
`Page 11 of 18
`
`

`

`U.S. Patent
`
`Mar.6,2007
`
`Sheet 10 of 10
`
`US 7,188,186 Bl
`
`Media File
`
`Executable
`Code
`
`Watermarking
`Process
`
`Encoding Process
`
`Watermarked Media
`File with
`Embedded
`Executable Code
`
`Using Watermarking with Encoding
`
`Figure 7
`
`Page 12 of 18
`
`

`

`US 7,188,186 Bl
`
`1
`PROCESS OF AND SYSTEM FOR
`SEAMLESSLY EMBEDDING EXECUTABLE
`PROGRAM CODE INTO MEDIA FILE
`FORMATS SUCH AS MP3 AND THE LIKE
`FOR EXECUTION BY DIGITAL MEDIA
`PLAYER AND VIEWING SYSTEMS
`
`FIELD OF INVENTION
`
`The present invention relates to the field of digital com- 10
`puter systems as embodied in digital media playback appa(cid:173)
`ratus such as players for playing or permitting the viewing
`by playback of one or more of audio, video, still image, 3-D
`or other media formats of a wide variety of types, and, more
`particularly, to imbuing such systems with an extended 15
`capability to supplement their pre-prepared presentations
`with graphic, interactive and/or e-commerce content such as
`transactional advertising, interactive music videos and the
`like, and e-commerce generally, through novel techniques
`for seamlessly embedding executable program code repre- 20
`senting such supplementary content into the various types of
`pre-prepared media files that the various players or viewers
`may execute-the invention being particularly, though by no
`means exclusively, highly useful with "MP3" media formats
`and the like, later discussed.
`This is a Request for Continued Examination (RCE).
`
`BACKGROUND
`
`There has been extensive prior use of the general concept
`of embedding various types of information in video, audio,
`sound, text, and other multimedia formats. There are two
`main approaches that have heretofore been employed to
`achieve these ends:
`1) extending the format or creating a new format which 35
`contains that type of data; or
`
`2
`in empiricial data), U.S. Pat. No. 5,850,481 (embedded
`documents, but not for arbitrary data or computer code);
`U.S. Pat. No. 5,889,868 (digital watermarks in digital data),
`and U.S. Pat. No. 5,893,067 (echo data hiding in audio
`signals),
`Prior publications describing such techniques include
`Bender, W. D. Gruhl, M Morimoto and A. Lu, "Tech(cid:173)
`niques for data hiding", IBM Systems Journal, Vol. 35,
`Nos. 3 & 4, 1996, p. 313-336;
`MPEG Spec-ISO/IEC 11172, parts 1-3, Information
`Technology-Coding of moving pictures and associ(cid:173)
`ated audio for digital storage media at up to about 1.5
`Mbit/s, Copyright 1993, ISO/IEC, and
`ID3v2 spec
`A survey of techniques for multimedia data labeling and
`particularly for copyright labeling using watermarking
`through encoding low bit-rate information is presented by
`Langelaar, G. C. et al in "Copy Protection for Multimedia
`Data based on Labeling Techniques".
`Underlying the present invention, however, is a novel
`technique for embedding a set of executable program
`instructions at high bit rates into a media file, without
`substantially affecting the user's playback experience of the
`25 media, and wherein, unlike prior art techniques, sequences
`of executable code are embedded in audio, video, image or
`sound formats, such as, for example, entertainment music or
`video programs or the like, which have not been specifically
`pre-designed as a container for, or to contain, such execut-
`30 able codes.
`This supplemental embedding is done seamlessly and
`facilely, enabling supplementary graphic, interactive and/or
`e-commerce program content, such as the before-mentioned
`transactional and other advertising, interactive music videos,
`and e-commerce content, to be incorporated into the enter(cid:173)
`tainment or other media files for execution by players and
`viewers while playing back the original entertainment or
`other media file material.
`
`2) embedding the data, using techniques which allow the
`data to be recovered, but which do not affect the backwards
`compatibility of the format.
`Examples of the second type of approach arise frequently
`in communication and entertainment media; for example,
`the backwards compatibility of color-television broadcast,
`or the transmission of subtitles and other information
`embedded in a video signal. Another example of a very 45
`popular application is the encoding of identification infor(cid:173)
`mation in a media file so that it is robust to degradation, and
`transformation of the media file generally for purposes such
`as intellectual-property protection-often referred to as
`"watermarking". These techniques and others of similar 50
`character are directed, however, towards the embedding of
`relatively low bit-rate data, roughly on the order of22 binary
`digits (bits) of data per second. Such data typically consists
`of short and simple ASCII text or other unique identifiers. In
`another application, a control code is used for a computer 55
`system, to provide a very short signal control code as for
`preventing the computer from copying a copy-protected data
`file.
`Among prior patents illustrative of such and related
`techniques and uses are U.S. Pat. Nos. 4,379,947 (dealing 60
`with the transmitting of data simultaneously with audio);
`U.S. Pat. No. 5,185,800 (using bit allocation for transformed
`digital audio broadcasting signals with adaptive quantization
`based on psychoauditive criteria); U.S. Pat. No. 5,687,236
`(steganographic techniques), U.S. Pat. No. 5,710,834 (code 65
`signals conveyed through graphic images); U.S. Pat. No.
`5,832,119 (controlling systems by control signals embedded
`
`40 This technique has four main advantages:
`1) executable code may be placed directly in the media file,
`simplifying content distribution and permitting the data
`and the executable code to be tightly integrated;
`2) augmented viewers can transparently access the execut(cid:173)
`able code;
`3) existing viewers are backwards compatible and can still
`view the media file; and
`4) large amounts of supplemental data may be facilely
`embedded in the media file
`Using stegonographic techniques, moreover, the inven(cid:173)
`tion can embed data at very high bit rates. In one embodi(cid:173)
`ment later discussed, for example, more than 3000 bits of
`executable code data per second are embedded in an MP3
`audio file encoded at a bit-rate of 128,000 bits/sec. (later
`discussed in connection with Table 1 herein).
`
`OBJECTS OF INVENTION
`
`A principal object of the invention, accordingly, is to
`provide a new and improved process and system for seam(cid:173)
`lessly embedding executable program code into pre-pre(cid:173)
`pared media file formats for execution by digital media
`player and viewing apparatus or systems and the like, to
`provide supplementary content such as the before-men(cid:173)
`tioned transactional advertising, games, interactive music
`videos, e-commerce and the like, for execution and presen-
`
`Page 13 of 18
`
`

`

`US 7,188,186 Bl
`
`3
`tation by the digital player and viewing apparatus or sys(cid:173)
`tems, while continuing to present the original pre-prepared
`media file programs.
`A further object is to provide such a novel technique that
`is particularly useful for "MP3" applications and the like.
`Another object is to open up new methods of conducting
`business through enabling consumer and related digital
`media file or disc players and viewers and the like to present
`also supplemental transactional advertising and e-commerce
`functions and the like, as later more fully explained.
`Other and further objects will be explained hereinafter
`and are more particularly delineated in the appended claims.
`
`10
`
`4
`FIGS. 4 and 5 are similar diagrams directed respectively
`to using ancillary bits encoding and private stream encoding
`with the MPEG.
`FIG. 6 is a diagram showing the incorporation of the
`previously (and later) discussed steganographic techniques
`into the encoding, and
`FIG. 7 illustrates the use of the before-mentioned water(cid:173)
`marking processes with the encoding technique of the inven(cid:173)
`tion.
`
`DESCRIPTION OF PREFERRED
`EMBODIMENTS OF THE INVENTION
`
`SUMMARY
`
`In summary, however, from one of its broader points of
`view, the invention embraces a process for supplementing
`pre-prepared media digital file content to be performed by a
`digital playback apparatus, with supplemental digital pro(cid:173)
`gram content, that comprises, preparing such supplemental
`digital program content in the form of executable code; and
`embedding the executable code into the pre-prepared media
`file for execution by the playback apparatus supplementary
`to the playback of the pre-prepared media file content.
`From another viewpoint, the invention provides a system
`for flexibly adding supplemental digital program content to
`the playback of a pre-prepared media file by digital playback
`apparatus, comprising, means for modifying the pre-pre(cid:173)
`pared media digital file to embed sequences of executable
`code therein representing such supplemental program con(cid:173)
`tent; means provided in the digital playback apparatus for
`decoding the embedded code during playback of the modi(cid:173)
`fied media file at the digital playback apparatus; and, in
`addition to means for playing back of the pre-prepared
`content of the media file, means provided at the digital
`playback apparatus responsive to the decoding for also
`presenting thereat the supplemental program content.
`Preferred and best mode embodiments, designs, applica(cid:173)
`tions and implementations will be later fully described.
`
`DRAWINGS
`
`40
`
`Before describing the preferred implementations of the
`15 novel process and systems of the invention, it is believed
`necessary to define and provide illustrative examples of the
`various terms and system components involved.
`As earlier stated, and underlying the invention, is the
`overall concept of providing and novelly embedding in
`20 multi-media formats, executable code representing content
`supplemental to the present-day pre-prepared content of
`multi-media files (audio, video, still image, 3-D, combina(cid:173)
`tions thereof, or other media formats) that are provided to be
`played or viewed by digital computer systems or apparatus
`25 (such as portable music players, PDAs or personal digital
`assistants, digital televisions, car stereos, home audio sys(cid:173)
`tems, video walls, Web TV, console and portable digital
`game devices and the like). By seamlessly embedding such
`sequences of supplemental content executable code in the
`30 pre-prepared media file, the player or viewer apparatus, in
`decoding the code, can also present such supplemental or
`additional content (for example, ads, interactive music vid(cid:173)
`eos, e-commerce, games, polls, and contests etc., as earlier
`mentioned), while presenting the pre-prepared program of
`35 the media file-adding immeasurable additional information
`and facilities and significantly also increasing business and
`customer opportunities as a result thereof-in fact, a new
`method of doing or conducting such business at the player
`or viewer apparatus.
`Referring to FIGS. la, lb and le, for example, the
`addition of graphical, interactive and e-commerce-enabled
`content through the sequenced executable code embedding
`in the media file in accordance with present invention, is
`illustrated as presented upon exemplary well-known
`45 present-day widely distributed "MP3" audio players. The
`abbreviation "MP3" describes an MPEG layer III audio
`file-a standard audio file format in wide use today through(cid:173)
`out the world, as described in the published standard ISO/
`IEC 11172-3. The abbreviation MPEG stands for the audio
`and video compressed formats developed by the Motion
`Picture Experts Group, and formalized by ISO/IEC JTCl, as
`the before-mentioned International Standard ISO/IEC
`11172, parts 1-3. Part 1 addresses the System, Part 2 is
`Video; and Part 3 is Audio Encoding.
`In FIG. la, the embedding of a 468x60 pixel interactive
`bamier ad [the "United Colors Of Benetton"] into the MP3
`stream is shown displayed within a "Free Amp" type MP3
`player-adding media presentation to the player music [the
`"Paint It Black" song]. This enables advertiser-sponsored
`60 music files, using the music to sell products. The facility for
`promoting and marketing directly to whatever demographic
`may be desired is thus opened up by the invention, also
`enabling the subsidizing of music distribution as well.
`Similar opening-up of new avenues is provided in FIG.
`lb, illustrating the embedding of executable code (in this
`case, an interactive music video which responds to and is
`synchronized with the user's mouse movement and the beat
`
`The file of this patent contains at least one drawing
`executed in color. Copies of this patent with color
`drawing(s) will be provided by the Patent and Trademark
`Office upon request and payment of the necessary fee.
`The invention will now be described with reference to the
`accompanying drawings,
`FIGS. la, lb and le of which are pictorial diagrams 50
`illustrative of novel supplementary presentations achievable
`by the use of sequences of embedded executable code of the
`present invention, with consumer and other digital "MP3"
`players;
`FIG. 1 is a block and flow diagram showing an overview
`of the encoding process and system operating in accordance
`with a preferred embodiment of the invention,
`FIG. 2 is a similar diagram presenting an overview of the
`decoding of the media file embedded with the executable
`code created in FIG. 1, as executed by the media player or
`viewer;
`FIG. 3 is again a diagram similar to FIG. 1, but detailed
`to show encoding for the illustrative specific example of
`MPEG audio (discussed in the earlier-referenced "MPEG
`Spec" publication), with id3v2 encoding (discussed in the
`previously cited "ID3v2 spec");
`
`55
`
`65
`
`Page 14 of 18
`
`

`

`US 7,188,186 Bl
`
`5
`of the music, as illustrated by the dancing figures), within a
`well-known commercial "Sonique" MP3 player.
`As a third example of the new business solicitation
`opportunities afforded by the present invention, FIG. le
`illustrates the embedding of executable code (in this case, an
`e-commerce application with a graphical user interface),
`allowing the user to buy tickets (so-labeled) or a CD, within
`another well-known commercial version of the Sonique
`MP3 player. This opens up a new and previously unavailable
`avenue of embedded point-of-purchase sales, enabling fully 10
`transactional ads and merchandising directly to the listener
`at the playback apparatus.
`Further in accordance with the novel technique of the
`invention, the embedding of this executable code in the
`media file is seamlessly effected in such a way, as later 15
`explained, that compatible players/viewers are able to
`extract the executable code and perform operations based on
`it, while incompatible players/viewers are still able to play
`the media file as if there were no additional embedded
`information. Currently, none of these players of the type
`shown in FIGS. la, lb and le support displays such as
`illustrated; they only allow for the extraction oflimited data
`such as song titles and lyrics information from the MP3
`stream, and for separately downloaded code ("plugins")
`which can be executed while the MP3 is playing. They do
`not allow for the embedding of sequences of executable
`code in the MP3 stream as is effected by the present
`invention.
`Examples of the types of media files susceptible to
`operating with the embedded executable code sequence
`programs of the invention include, but are not limited to, the
`previously enumerated audio, video, still image, 3-D, or a
`combination of these or other media formats. Among these
`are MP3, SDMI, CD audio, AIFF, AU, WAY, equipment
`offered under the trademarks RealAudio, and Quicktime, 35
`MPEG, AVI, JPEG, JFIF, GIF, PNG, TIFF, DXF, or VRML.
`Among the types of executable code programs which may
`be embedded into such media files are Java files. Equip(cid:173)
`ments marketed under the trademarks Macromedia Director,
`Shockwave or Flash, Perl. VRML, TCL, Visual Basic, 40
`machine code, byte codes, any archive format such as cab,
`jar or zip; or any combination of any of these programs with
`any non-executable media, including but not limited to
`image, audio, 3-D, or text. The content may be, but is not
`limited to, advertising, as previously mentioned, entertain- 45
`ment, utilities, applications, education, design, interactive
`advertising, transactional merchandising, or interactive con(cid:173)
`tent such as music, video games, polls and contests, and the
`like.
`It is now in order to explain how the encoding and code
`embedding in the pre-prepared media file may be imple(cid:173)
`mented in accordance with the invention. Reference is
`accordingly made to FIG. 1 wherein a pre-prepared media
`file, so-labeled, (audio, image, video, 3-D, database, or other
`multimedia data as before mentioned), and a predetermined
`prepared executable code sequence (such as the previously
`mentioned computer programs marketed under the trade(cid:173)
`marks Java class files, Macromedia Shockwave and Flash,
`binary executable, byte codes, Visual Basic, Java Script,
`etc.) are shown fed to a encoding processor for embedding 60
`the code sequences, such as, for example, of the encoding
`types later described. Well-known encoding processes may
`be used depending on the media file format and any well(cid:173)
`known encoding processes may be used depending on the
`media file format and any well-known encoding processes
`may be used depending on the media file format and any
`well-known compression techniques for the media file to be
`
`6
`created, as later discussed. There then results a modified
`media file with embedded executable code without affecting
`its backwards compatibility with existing file formats, and
`without substantially affecting the user's experience of play(cid:173)
`back of the pre-prepared media file content.
`It is to be noted, moreover, that the invention embeds
`sequences of executable code representing content supple(cid:173)
`mental to the pre-prepared content of the media file, into
`media formats that have not been specifically predesigned as
`a container for, or to contain any such executable code. The
`code is placed directly into the media file, simplifying
`content distribution and permitting the data and executable
`code to be tightly integrated as earlier noted.
`At the player or viewer playback apparatus, FIG. 2, the
`media file with the embedded executable code is shown fed
`to a decoding processor, such as later described. The original
`pre-prepared media file content [the "Paint It Black" song of
`FIG. la, for example]is usually unchanged in the decoding
`process because it may often be unfeasible to remove the
`20 executable code and because doing so would not typically
`improve the user's playback experience, and is shown
`communicating on the left-hand side of FIG. 2 with the
`media player apparatus of the playback environment. The
`decoded executable code [representing the "United Colors
`25 Of Benetton" display content of FIG. la, for example],
`bitwise identical to the original executable code encoded in
`FIG. 1, is fed (right-hand side in FIG. 2) to the execution part
`of the playback environment. As an optional feature, a
`well-known checksum or digital signature is shown usable at
`30 "Verification Process", to verify that the code is unchanged
`before it is executed.
`Where desired, moreover, the execution of the executable
`code [the "United Colors Of Benetton" display above dis(cid:173)
`cussed, for example] may be synchronized by well-known
`communication with the player playback of the media file
`[the song "Paint It Black" or a selected portion thereof], as
`schematically shown by the legend "SYNC".
`As a more specific example, FIG. 3 diagrams the use of
`the before-described MPEG audio file into which the execut(cid:173)
`able code is to be embedded. Reference is again made to the
`earlier cited "MPEG Spec" and "ID3v2 Spec" publica(cid:173)
`tions--the MPEG audio file being (though not limited to)
`an MPEG-I, MPEG-2, or MPEG-2.5 file, to be encoded
`using the Layer I, II, or III encodings. As in FIG. 1, the
`executable code, so-labeled in FIG. 3, may be in any kind of
`computer programs such as Java trademark) class files,
`Macromedia Shock wave and Flash, (trademark) binary
`executables, byte codes, Visual Basic, Java Script trade(cid:173)
`mark) etc. The executable code is first shown unsynchro-
`50 nized by modifying any consecutive bytes of form %1
`11111111 lllxxxxx so that they do not resemble a synchro(cid:173)
`nization byte in the MPEG audio stream. The code is then
`encapsulated in ID3v2 format, and inserted in the encoding
`process, as shown, at the beginning of the MP3 audio stream
`55 as an ID3v2 tag. This results in an MPEG audio file with the
`embedded executable code, backwards compatible but
`slightly larger to accommodate the embedded code, and with
`the audio data unaffected, and any occurrences of the MPEG
`sync signal taken care of by the unsynchronization scheme.
`More specifically, a preferred encoding system will now
`be detailed for such an MPEG audio stream, particularly
`with reference to the before cited publicly available
`ID3v2.3.0 specification ("ID3v2"). There are a number of
`existing content content types described in the ID3v2 spec,
`65 there named "frames". Frames are defined primarily for the
`ASCII text data such as song titles and lyrics, or for a still
`image to be embedded in the MPEG audio file. In this
`
`Page 15 of 18
`
`

`

`US 7,188,186 Bl
`
`8
`The execution environment is then invoked to begin
`execution of the executable code simultaneously with the
`playback of the audio file. Additional Application Program(cid:173)
`ming Interfaces (APis) may be defined with reference to the
`execution environment to control the exact behavior of the
`execution environment relative to the audio file while play(cid:173)
`back is occurring.
`Specific references for fuller details of the above-ex(cid:173)
`plained techniques usable in the encoding and decoding
`process components of the invention, are:
`
`[IS0-8859-1] ISO/IEC DIS 8859-1.
`
`8-bit single-byte coded character sets, Part 1: Latin alphabet
`No. 1. Technical committee/subcommittee JTC 1/SC 2;
`
`[MIME] Freed, N. and N. Borenstein, "Multipurpose Inter-
`net Mail Extensions (MIME)
`
`45
`
`7
`description, we create and define a new type of 1D3 frame,
`named "EXEC", which is designed as a container for
`executable content, generally intended to be executed while
`the audio is playing.
`In the following description, the notation $xx is used to 5
`refer to a hexadecimal-encoded octet, e.g., $00 represents
`the eight binary digits 00000000. The first four octets ofthis
`frame are the IS0-8859-1 (ASCI 1) characters "EXEC".
`This, in tum, is followed by a four-octet Size header and a
`two-octet Flags header, as described in the ID3v2 specifi- 10
`cation. This is followed by $00, to represent the use of
`IS0-8859-1 text encoding within the frame, or by $01, to
`represent the use ofISO/IEC 10646-1 (Unicode) text encod(cid:173)
`ing, later referenced. The next element is the ISO 8859-1
`encoded MIME type of the executable content, as described 15
`in IETF RFC 2045, also later referenced, followed by $00.
`For example, the MIME type of the before-mentioned
`Part One: Format of Internet Message Bodies", RFC 2045,
`Macromedia Flash files is "application/x-shockwave-flash".
`November 1996; and
`This is followed by a description of the executable code in
`the text encoding defined for that frame, terminated by $00 20 [UNICODE] ISO/IEC 10646-1:1993.
`if the encoding is ASCI 1, or $00 $00 if the encoding is
`Unicode. This is followed by a single octet, which is $00 if
`there is no checksum, or $01 if there is a checksum, as
`described in connection with FIG. 2. If there is a checksum,
`this is followed by a checksum created by summing the 25
`octets of the executable code together, and taking the result
`modulo 256. This is useful because this lets the executable
`code be examined before executing, to reduce the possibility
`that there have been transmission errors that might cause
`erroneous instructions to be executed.
`The final element is the binary or ASC I 1 data of the
`executable code to be embedded in the MPEG data stream.
`As earlier explained, in FIG. 3, it is necessary to perform the
`"unsynchronization" step within the executable code, where
`any occurrences of the bit sequence 11111111 lllxxxxx,
`where "x" represents a bit which may either be 0 or 1, must
`be replaced. This is because MPEG players use such a bit
`sequence to identify the beginning of the audio data, and
`would otherwise begin interpreting the executable code as
`audio data. In the unsynchronization technique defined in
`the ID3v2 specification, all such sequences are replaced with
`the sequence: 11111111 00000000 lllxxxxx. Additionally,
`all sequences of the form $FF $00 are replaced with the
`sequence $FF $00 $00.
`The EXEC frame of the invention just described is then
`embedded in the ID3v2 tag as described in the ID3v2
`specification. The resulting ID3v2 tag is then placed at the
`beginning of the MPEG audio stream, FIG. 3, using the
`standard techniques described in the ID3v2 specification.
`In the preferred embodiment of the invention, the decod(cid:173)
`ing process is a simple reversal of the encoding process
`above-detailed. The ID3v2 tag is extracted from the begin(cid:173)
`ning of the MPEG audio stream, and the relevant data is
`retrieved from the EXEC frame. The unsynchronization step 55
`in the executable code is then reversed, replacing all occur(cid:173)
`rences of $FF 00 XX by the sequence $FF XX, where XX
`represents any binary octets. If there is a checksum encoded
`in the EXEC frame, the octets of the executable code are
`sUlllilled, the result taken modulo 256, and co

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket