WO2007000559A1 - Adapting interactive multimedia content for broadcast and playback - Google Patents

Adapting interactive multimedia content for broadcast and playback Download PDF

Info

Publication number
WO2007000559A1
WO2007000559A1 PCT/GB2005/002496 GB2005002496W WO2007000559A1 WO 2007000559 A1 WO2007000559 A1 WO 2007000559A1 GB 2005002496 W GB2005002496 W GB 2005002496W WO 2007000559 A1 WO2007000559 A1 WO 2007000559A1
Authority
WO
WIPO (PCT)
Prior art keywords
dvd
content
video
pvr
apparatus operative
Prior art date
Application number
PCT/GB2005/002496
Other languages
French (fr)
Inventor
James Geoffrey Walker
Alex Ashley
Nicholas Ashton Hall
Ian Shelton
Peter Rogers
Original Assignee
Nds Limited
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
Application filed by Nds Limited filed Critical Nds Limited
Priority to PCT/GB2005/002496 priority Critical patent/WO2007000559A1/en
Publication of WO2007000559A1 publication Critical patent/WO2007000559A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64315DVB-H
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00572Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
    • G11B20/00615Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames
    • G11B20/0063Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames wherein the modification to the logical format mainly concerns management data, e.g., by changing the format of the TOC or the subcode
    • G11B20/00637Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames wherein the modification to the logical format mainly concerns management data, e.g., by changing the format of the TOC or the subcode said management data being address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Definitions

  • the present invention relates to multimedia systems in general, and more particularly to adapting interactive multimedia content, such- as DVD content, for broadcast and playback, such as on a Personal Video Recorder.
  • DVD-Video is a standard format for high-quality digital distribution of movies and other audio/video content.
  • the DVD-Video format supports high quality audio/video through the use of MPEG-2 video encoding and various digital audio codecs. It supports multiple user-selectable audio and subtitle streams, and provides menu-based navigation which allows users to navigate the content on a DVD-Video disk.
  • DVD-Video supports interactivity through the use of a simple programmable virtual machine (VM) which supports menu-based navigation, as well as video-game style interactivity.
  • VM simple programmable virtual machine
  • the personal video recorder is a consumer electronics device that records satellite, cable, or broadcast television content to a hard disk, DVD, or other storage media in digital format.
  • PVRs typically provide features such as "time shifting" and “trick modes” such as pausing live TV, instant replay of interesting scenes, and skipping advertising.
  • Satellite and cable companies are increasingly incorporating PVR storage and playback functions into their digital set-top boxes which receive digitally- encoded MPEG streams.
  • broadcaster involvement with the design and deployment of the PVR has spurred the introduction of features such as the ability to use interactive TV on recorded shows and pre-loading of programs.
  • iXTV PVR with iXTV commercially available from NDS Limited, One London Road, Staines, Middlesex TWl 8 4EX United Kingdom.
  • the iXTV system provides support for interactive functions, typically by employing a JavaTM VM, allowing interactive applications to be recorded to the PVR hard disk along with audio/video content, and providing playback control and navigation within audio/video content from the PVR hard disk.
  • DVD-Video standard shares many technologies with digital video broadcast (DVB) standards, such as the use of MPEG-2 video encoding, MPEG and Dolby Digital audio encoding, there are significant differences between the standards.
  • DVD-Video Two key differences are in higher-level stream formatting, such as where DVD uses the MPEG-2 program stream while DVB uses the transport stream, and content protection schemes, such as where DVD uses the Content Scrambling System (CSS) while DVB platforms typically use the Common Scrambling Algorithm (CSA).
  • CCS Content Scrambling System
  • CSA Common Scrambling Algorithm
  • the DVD VM is also fundamentally different from and incompatible with the JavaTM VM. Thus, content in a DVD-Video format cannot be directly broadcast as-is using DVB for simple or interactive playback on a PVR.
  • the present invention provides for adapting multimedia content, such as interactive DVD-Video content, for DVB broadcast and playback on a Personal Video Recorder.
  • a method for providing DVD-Video content for playback on a personal video recorder (PVR), the method including parsing DVD-Video content into a plurality of sub-components, and adapting any of the sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
  • PVR personal video recorder
  • the method further includes adapting an interactive feature of the DVD-Video content for interactive user control on the PVR.
  • the adapting an interactive feature step includes adapting a menu item associated with the DVD-Video content.
  • the adapting an interactive feature step includes adapting a navigational control associated with the DVD-Video content.
  • the adapting step includes adapting a DVD VM command for execution by the PVR.
  • the adapting step includes restamping GOP header timecodes of an MPEG-2 video bitstream of the DVD-Video content, where any of the timecodes is unique relative to all other of the timecodes, maintaining a mapping of DVD-Video sector addresses to the restamped timecodes, and translating the mapping into navigational commands resolvable by the PVR.
  • the adapting step includes creating a bounding box containing non-transparent pixels of a sub-picture unit (SPU) of the DVD-Video content, encoding the bounding box as a DVB subtitle region that is within an associated DVB region size limit, and mapping the encoded information to a run-length encoding format associated with DVB subtitles.
  • SPU sub-picture unit
  • the adapting step includes converting the DVD VM command into a microcode format, and translating the microcode command into source code in a desired target language.
  • the method further includes combining a plurality of the microcode instructions that all share a common conditional execution setting inside one comparison in the target language.
  • the method further includes combining a plurality of blocks of the microcode that are identical into one block of generated source code.
  • the method further includes replacing the VM command that is a jump command with at least one VM command from the jump's target location.
  • the method further includes inserting a content segment of proxy footage into any of the adapted sub-components, and replacing the proxy footage during playback of the content segment with replacement footage received at the PVR subsequent to receipt of the proxy footage at the PVR.
  • the replacement footage includes live content.
  • the method further includes matching a start timecode of the replacement footage to that of its corresponding proxy footage.
  • the method further includes inserting into any of the sub-components a link to content not found in any of the adapted sub-components, and retrieving the linked content during playback of the adapted sub-component containing the link.
  • a system for providing DVD-Video content for playback on a personal video recorder (PVR), the system including a parser operative to parse DVD-Video content into a plurality of subcomponents, and apparatus operative to adapt any of the sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
  • PVR personal video recorder
  • system further includes apparatus operative to adapt an interactive feature of the DVD-Video content for interactive user control on the PVR.
  • system further includes apparatus operative to adapt a menu item associated with the DVD-Video content.
  • system further includes apparatus operative to adapt a navigational control associated with the DVD-Video content.
  • system further includes apparatus operative to adapt a DVD VM command for execution by the PVR.
  • system further includes apparatus operative to restamp GOP header timecodes of an MPEG-2 video bitstream of the DVD-Video content, where any of the timecodes is unique relative to all other of the timecodes, apparatus operative to maintain a mapping of DVD-Video sector addresses to the restamped timecodes, and apparatus operative to translate the mapping into navigational commands resolvable by the PVR.
  • system further includes apparatus operative to create a bounding box containing non-transparent pixels of a sub- picture unit (SPU) of the DVD-Video content, apparatus operative to encode the bounding box as a DVB subtitle region that is within an associated DVB region size limit, and apparatus operative to map the encoded information to a run-length encoding format associated with DVB subtitles.
  • SPU sub- picture unit
  • system further includes apparatus operative to convert the DVD VM command into a microcode format, and apparatus operative to translate the microcode command into source code in a desired target language.
  • system further includes apparatus operative to combine a plurality of the microcode instructions that all share a common conditional execution setting inside one comparison in the target language.
  • system further includes apparatus operative to combine a plurality of blocks of the microcode that are identical into one block of generated source code.
  • system further includes apparatus operative to replace the VM command that is a jump command with at least one VM command from the jump's target location.
  • system further includes apparatus operative to insert a content segment of proxy footage into any of the adapted sub-components, and apparatus operative to replace the proxy footage during playback of the content segment with replacement footage received at the PVR subsequent to receipt of the proxy footage at the PVR.
  • the replacement footage includes live content.
  • system further includes apparatus operative to match a start timecode of the replacement footage to that of its corresponding proxy footage.
  • system further includes apparatus operative to insert into any of the sub-components a link to content not found in any of the adapted sub-components, and apparatus operative to retrieve the linked content during playback of the adapted sub-component containing the link.
  • FIG. 1 is a simplified block-flow diagram of a DVD-to-DVB adaptation system, constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a simplified flowchart illustration of an exemplary method for DVD subtitle transcoding, operative in accordance with a preferred embodiment of the present invention
  • Fig. 4 is a simplified flowchart illustration of an exemplary method for DVD VM command translation, operative in accordance with a preferred embodiment of the present invention
  • Fig. 5 is a simplified flowchart illustration of an exemplary method for DVD menu transcoding, operative in accordance with a preferred embodiment of the present invention
  • Fig. 6A is a simplified flowchart illustration of an exemplary method for late binding of live A/V content, operative in accordance with a preferred embodiment of the present invention.
  • Figs. 6B - 6C are simplified graphical illustrations useful in understanding the method of Fig. 6 A.
  • Fig. 1 is a simplified block-flow diagram of a DVD-to-DVB adaptation system, constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention.
  • DVD-Video content such as may be stored on a DVD disc 100 using the Universal Disc Format (UDF) file system 102, is parsed by a parser 104 into its various components, including audio, video, sub-picture units (SPU), and VM commands.
  • UDF Universal Disc Format
  • the audio and video streams are de-multiplexed from their program stream at a demultiplexer 106 into separate packetized elementary streams (PES) streams, generally designated 108.
  • PES packetized elementary streams
  • the PES streams 108 may be transcoded where necessary using conventional techniques and re-multiplexed at a multiplexer 110 to a linear DVB compliant MPEG-2 transport stream 114.
  • Transport stream 114 may include any of the following:
  • the original MPEG-2 video streams from DVD 100 whose GOP header timecodes may be restamped at a timecode restamper 116 to ensure each video frame has a unique timecode, as is described in greater detail hereinbelow;
  • Audio streams in other formats may be transcoded to a format supported by the content recipient; and/or
  • DVB subtitle streams 118 that have preferably been transcoded at a DVD SPU transcoder 112 from DVD subtitle streams 120 that were originally encoded in DVD subpicture format (SPU).
  • SPU DVD subpicture format
  • DVD VM commands on DVD 100 are preferably translated at a VM command translator 122 into a format that is understood by the content recipient, such as into JavaTM source code for playback on a PVR 124 employing a JavaTM VM.
  • the translated DVD VM commands are then prepared for execution by a DVD adaptation engine 126 at a DVD adaptation code builder 128.
  • DVD adaptation engine 126 is preferably a static engine, implemented in JavaTM, which includes an emulation of the DVD VM, as well as a basic DVD player user interface.
  • DVD adaptation engine 126 may be implemented as a PVR-resident middleware component.
  • a preferred method for DVD VM command translation is described in greater detail hereinbelow with reference to Fig. 4.
  • Menu navigation elements and other on-screen display (OSD) resources in DVD SPU stream 120 are preferably transcoded by transcoder 112 into image files, such as in the PNG image format, and provided to a carousel generator 130 which generates an interactive carousel 132.
  • image files may then be used by a JavaTM application to enable the user to navigate the DVD content during playback on PVR 124.
  • JavaTM application A preferred method for DVD menu translation is described in greater detail hereinbelow with reference to Fig. 5.
  • transport stream 114 and interactive carousel 132 may be transmitted via a head-end 134 for receipt by PVR 124, where the adapted DVD content application may be stored. Once the content is received, a PVR 124 user may launch the adapted DVD content application. The adapted DVD content application then controls the presentation of the adapted DVD audio/video content, such as through the execution of the translated DVD VM commands, to deliver a user experience faithful to the source DVD title.
  • CA conditional access
  • the present invention is described with respect to adapting DVD content to a DVB transport stream, the present invention may be used to adapt content to an alternative broadcast bitstream format, such as the DSS format used by the DirecTVTM satellite platform.
  • DVD-Video allows PCM digital audio, which would typically be compressed prior to broadcast as either MPEG or Dolby Digital (AC3).
  • AC3 Dolby Digital
  • broadcasters often use a range of horizontal resolutions for compressing MPEG-2 digital video, while the DVD-Video standard only supports a few specific resolutions. As such, it may be necessary to decode the video and re-encode it at an appropriate supported resolution.
  • the DVB standard has recently been extended to support the MPEG-4 part 10 (AVC) video codec in addition to the MPEG-2 video codec.
  • AVC MPEG-4 part 10
  • the present invention may be applied to transcoding the DVD MPEG-2 video bitstream to MPEG-4 part 10, potentially achieving a bit-rate reduction in the process.
  • DVD-Video uses sector addresses, as well as higher level constructs such as vobu's, cells, programs and titles which are build upon sectors, as the basis for uniquely addressing content on the disk in support of content navigation such as by jumping and branching.
  • the PVR does not have access to DVD disc 100, and thus no access to its disk sector addresses.
  • GOP header timecodes may be used, which are part of the MPEG-2 video bitstream.
  • timecode restamper 116 preferably restamps the timecode during the parsing and remultiplexing process.
  • a list of sector address-to- restamped video timecode mappings is also preferably compiled by timecode restamper 116, which is then provided to VM command translator 122 for resolving translated content navigation commands to the correct location within the AV content at PVR 124.
  • timecode restamper 116 For example, in the iXTV system, such content location resolution may be performed by middleware APIs which are based on video timecodes.
  • middleware APIs which are based on video timecodes.
  • low-level navigation data e.g., 'nav packs'
  • embedded in the DVD program stream may be discarded during the re-multiplexing process described above.
  • This technique may be extended to any video codec which includes a representation of the source video timecode within its bitstream format, an as such is applicable to MPEG-4 part 10 video as well as MPEG-2 video.
  • DVD-Video uses compressed images that are overlaid on top of the MPEG- 2 video to provide subtitles, outlines, and highlights in menu screens.
  • the DVD SPU format uses 2 bits per pixel. Two levels of indirection may be used to map the four possible values from the 2 bits per pixel bitmap to a 16-entry color lookup table.
  • Fig. 3 is a simplified flowchart illustration of an exemplary method for DVD subtitle transcoding, operative in accordance with a preferred embodiment of the present invention.
  • DVD subtitles are translated into a DVB subtitle stream that can be displayed by a conventional DVB- compliant set-top box.
  • the encoding formats of DVD SPU and DVB subtitles are quite similar in that they are both run-length encoded bitmaps.
  • DVB subtitles can be encoded at 2, 4, or 8 bits per pixel to accommodate different color depth requirements. It is generally desirable to use the minimum color depth that achieves the required picture quality as greater color depths require more set-top box memory and greater bandwidth to transmit them.
  • the 4 bits per pixel mode of DVB subtitles is preferably used in the translation process.
  • Both DVB subtitles and DVD SPUs may be encoded by defining an onscreen region and then sending compressed bitmap data to fill this region.
  • the DVB subtitle specification places a restriction on the size of this region to provide an upper bound on the amount of memory required for its decoding. Because the DVD SPU specification does not have this restriction, it is necessary for the transcoding process to analyze the DVD SPU data and create a bounding box that contains all the non- transparent pixels. This may be performed by analyzing the run-length compressed DVD SPU data or by decoding the DVD SPU to an in-memory bitmap. These bounding boxes may then be encoded as DVB subtitle regions that are within the DVB region size limits. Once the bounding region has been created, the run-length information may be mapped from the DVD SPU format to the run-length encoding format used by DVB subtitles.
  • Fig. 4 is a simplified flowchart illustration of an exemplary method for DVD VM command translation, operative in accordance with a preferred embodiment of the present invention.
  • the playback of a DVD-Video is controlled by the DVD VM that is present in a DVD player.
  • the DVD-VM executes machine code instructions read from the DVD disc to set registers, make comparisons and jump to new sections of the disc.
  • DVD-VM instructions can be found at the beginning or end of a program chain (PGC), the end of a cell, or in a button.
  • PPC program chain
  • the DVD- VM provides an instruction set with over 120 different commands. Many of these commands use the context of the current playback position, such as "jump to next chapter". This can, however, be simplified by grouping commands, such as into the following categories: Modify a register
  • execution of any DVD VM command may be made conditional based on a condition (e.g., if register 2 is not zero), such that if the condition is not met, the DVD- VM command is not executed.
  • DVD-VM translation preferably begins by analyzing all VM commands on the disc and converting them into another format, preferably a microcode format that only has 7 different instructions.
  • VM command translator 122 preferably uses the location of this VM instruction and knowledge of the structure of DVD disc 100 to determine the absolute location of this jump.
  • the microcode command set preferably includes the following commands:
  • the "call” group of commands is preferably translated into a "store current location” command by using the "modify register” microcode command followed by a "jump” microcode command.
  • Each microcode command may be made conditional, such as where its execution is controlled by the comparison of a register with another register or an absolute value.
  • Some DVD-VM jump/call instructions are modified by the currently selected language. This is normally used to allow the DVD-VM to select the correct menu screen where the menu is available in multiple languages.
  • the translation process preferably translates such language-dependent instructions into multiple microcode instructions that perform comparisons, such as of system registers that contain current language settings, and jump to the correct menu screens based on the comparison results.
  • DVD-VM instructions that have been translated into microcode are then converted into source code in a desired target language, such as into JavaTM source code.
  • the choice of target language may be determined by the PVR middleware, such as where JavaTM is used that is supported by the NDS Core PVR middleware, commercially-available from NDS Limited.
  • other suitable target languages include C, or a scripting language such as HTML + JavaScript.
  • the generated source code may be optimized as follows:
  • DVD structure information such as the list of cells in each PGC, is also preferably converted into another format, such as into an XML file.
  • This structure data also preferably includes the sector-to-timestamp information from timecode restamper 116. Either or both XML and JavaTM representations of this timestamp information may be generated.
  • Some of the logic embedded in the DVD-VM is preferably provided to the adapted DVD recipient to enable the adapted DVD content to be used.
  • a structure, such as a JavaTM class may be provided that contains a 48 element integer array that can be used to store the 16 general purpose registers and the 32 system registers used by the DVD-VM.
  • Another example is the logic that causes the VM commands to be executed at the beginning of a PGC, and the end of a PGC or cell, or when a button is selected from a menu screen.
  • Other examples include the logic that is used to switch audio channels, change subtitle language, provide fast forward/fast rewind, and/or provide rapid access to the DVD's main menu. This logic may be compiled and transmitted along with the translated DVD content, or may be preconfigured in or separately provided to the set-top box
  • a DVD menu typically includes a video background, which may be a moving background, and a number of on-screen buttons. Each button may occupy a rectangular region of the screen, although transparency techniques may be used to make a button appear non-rectangular to the viewer. Each on-screen button typically has a high-quality image encoded in the video background with a highlight drawn on top of the button when the button is highlighted. These overlays are encoded using the DVD SPU format.
  • the encoding may be identical to that used for DVD subtitles, with the exception that an extra level of indirection is applied to the color lookup such that the currently- selected button uses a different set of colors than all the other buttons.
  • All button highlights are typically encoded in one DVD SPU region that is the full size of the screen.
  • the color lookup information for the DVD SPU is typically configured such that all buttons are invisible (i.e., fully transparent). As the currently selected button uses a different color lookup than all the other buttons, this button will be visible while the rest are invisible.
  • DVD menu transcoding typically begins by decoding the DVD SPU to an in-memory bitmap.
  • An image file such as a PNG file, is then created for each button.
  • the image generation process preferably uses the rectangular bounding box information for the button to decide which area of the in- memory bitmap to use.
  • the image generator preferably analyzes the picture data inside the bounding box to shrink the bounding box by removing as many fully transparent pixels as possible. Once the bounding box has been detected, the pixels inside the bounding box may be encoded into a picture file such as a BMP file or PNG file.
  • the bounding box detection and image encoding phases preferably use the color lookup table as if the button were selected.
  • the image files for a menu may be combined into a single file in order to reduce the number of files that need to be placed into interactive carousel 132.
  • the bounding box information for each button may form part of the DVD structure information described hereinabove.
  • the adapted DVD recipient may use the bounding box information to decide where on screen to render the picture file. If the picture file is not available, such as where it has not been placed in the interactive carousel, the bounding box information can be used to draw a rectangular box around the currently selected menu item.
  • Fig. 6A is a simplified flowchart illustration of an exemplary method for late binding of live A/V content, operative in accordance with a preferred embodiment of the present invention, as well as to Figs. 6B - 6C, which are simplified graphical illustrations useful in understanding the method of Fig. 6A.
  • adapted DVD content is prepared with one or more content segments which act as placeholders for A/V content, such as live content, that will only be available for broadcast immediately prior to the point at which the adapted DVD content is broadcast to the PVR.
  • the DVD content is authored well in advance of broadcast, using placeholder content segments.
  • the placeholder segments contain proxy footage, which will be replaced with the desired audio and video when it is subsequently broadcast.
  • any proxy footage is dropped and replaced with the desired audio/video content.
  • the start timecodes of each replacement content segment is matched to that of its corresponding proxy segment in order for navigation to function correctly.
  • Fig. 6A may be illustrated by way of example with reference to Figs. 6B and 6C.
  • Fig. 6B a graphical representation 600 of a DVD-Video title is shown having a single menu 602 with four buttons 604, labeled A-D, for navigating to any of four corresponding video segments 606, also labeled A-D.
  • segment A is a highlights package of sporting events from the previous week
  • segments B and D are designated to contain live video of an upcoming sporting event
  • segment C is an advertisement. Segments A and C may be created well in advance of the sporting event, as may menu 602.
  • Proxy footage is used to represent segments B and D, and the DVD-Video title together "with the proxy footage of segments B and D are then adapted for digital video broadcast as described herein.
  • a linear transport stream 608 is generated, with the available content of segments A and C preceding the proxy segments B and D.
  • menu 602 and segments A and C are processed normally, while the proxy segments B and D are dropped and the live content is played out in their place.
  • its corresponding proxy segment can be made longer than the expected duration of the live segment. If the live segment is shorter than the proxy segment, the timecode of the video may be advanced to that of the next segment, effectively signaling that it has started. This can be achieved by direct control of the MPEG-2 video encoder, or by control of an upstream timecode inserter.
  • links to A/V content and/or services outside of adapted DVD content may be provided from within adapted DVD content.
  • Such content might include new or periodically updated audio/video content delivered after receipt of the adapted DVD content, such as where a football adapted DVD application includes embedded links to football matches already known to be on the recipient's PVR, or to matches scheduled for future broadcast.
  • Such links may be embedded in authored DVD-Video content in a way that is DVD-Video compliant, can be appropriately recognized and extracted during transcoding, and may be used to extend any accompanying JavaTM applications.
  • Many DVD-Video titles include extra DVD-ROM content that is accessible or automatically loaded when the disk is viewed using a PC.
  • This content is typically part of the DVD-ROM filesystem, but sits outside of the DVD-Video zone of the disk.
  • one way to provide such links is to add a metadata file into the DVD-ROM filesystem that could be recognized during transcoding.
  • such links may be embedded as private data in the audio/video itself.
  • a number of formats may be used to link to other content or services, such as TV-Anytime CRIDs or locators or DVB URLs.
  • Different behaviors may be associated with each link, such as inviting the user to acquire the linked content by making a booking request, or making an automatic acquisition of extra content, where behavior information may be provided together with the object encapsulating a link.
  • Such links may be used in this manner to refresh or update parts of adapted DVD content subsequent to its delivery in addition to or as an alternative to methods for late binding of audio/video content described herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A method for providing DVD-Video content for playback on a personal video recorder (PVR), the method including parsing DVD-Video content into a plurality of sub-components and adapting any of the sub-components for digital video broadcast (DVB) to a PVR for playback thereat. Related apparatus and methods are also provided.

Description

ADAPTING INTERACTIVE MULTIMEDIA CONTENT FOR BROADCAST AND PLAYBACK
FIELD OF THE INVENTION
The present invention relates to multimedia systems in general, and more particularly to adapting interactive multimedia content, such- as DVD content, for broadcast and playback, such as on a Personal Video Recorder.
BACKGROUND OF THE INVENTION
DVD-Video is a standard format for high-quality digital distribution of movies and other audio/video content. The DVD-Video format supports high quality audio/video through the use of MPEG-2 video encoding and various digital audio codecs. It supports multiple user-selectable audio and subtitle streams, and provides menu-based navigation which allows users to navigate the content on a DVD-Video disk. DVD-Video supports interactivity through the use of a simple programmable virtual machine (VM) which supports menu-based navigation, as well as video-game style interactivity.
The personal video recorder (PVR) is a consumer electronics device that records satellite, cable, or broadcast television content to a hard disk, DVD, or other storage media in digital format. PVRs typically provide features such as "time shifting" and "trick modes" such as pausing live TV, instant replay of interesting scenes, and skipping advertising. Satellite and cable companies are increasingly incorporating PVR storage and playback functions into their digital set-top boxes which receive digitally- encoded MPEG streams. Increasingly, broadcaster involvement with the design and deployment of the PVR has spurred the introduction of features such as the ability to use interactive TV on recorded shows and pre-loading of programs. One such example is the XTV PVR with iXTV, commercially available from NDS Limited, One London Road, Staines, Middlesex TWl 8 4EX United Kingdom. The iXTV system provides support for interactive functions, typically by employing a Java™ VM, allowing interactive applications to be recorded to the PVR hard disk along with audio/video content, and providing playback control and navigation within audio/video content from the PVR hard disk. Although the DVD-Video standard shares many technologies with digital video broadcast (DVB) standards, such as the use of MPEG-2 video encoding, MPEG and Dolby Digital audio encoding, there are significant differences between the standards. Two key differences are in higher-level stream formatting, such as where DVD uses the MPEG-2 program stream while DVB uses the transport stream, and content protection schemes, such as where DVD uses the Content Scrambling System (CSS) while DVB platforms typically use the Common Scrambling Algorithm (CSA). The DVD VM is also fundamentally different from and incompatible with the Java™ VM. Thus, content in a DVD-Video format cannot be directly broadcast as-is using DVB for simple or interactive playback on a PVR.
SUMMARY OF THE INVENTION
The present invention provides for adapting multimedia content, such as interactive DVD-Video content, for DVB broadcast and playback on a Personal Video Recorder.
In one aspect of the present invention a method is provided for providing DVD-Video content for playback on a personal video recorder (PVR), the method including parsing DVD-Video content into a plurality of sub-components, and adapting any of the sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
In another aspect of the present invention the method further includes adapting an interactive feature of the DVD-Video content for interactive user control on the PVR.
In another aspect of the present invention the adapting an interactive feature step includes adapting a menu item associated with the DVD-Video content.
In another aspect of the present invention the adapting an interactive feature step includes adapting a navigational control associated with the DVD-Video content.
In another aspect of the present invention the adapting step includes adapting a DVD VM command for execution by the PVR.
In another aspect of the present invention the adapting step includes restamping GOP header timecodes of an MPEG-2 video bitstream of the DVD-Video content, where any of the timecodes is unique relative to all other of the timecodes, maintaining a mapping of DVD-Video sector addresses to the restamped timecodes, and translating the mapping into navigational commands resolvable by the PVR.
In another aspect of the present invention the adapting step includes creating a bounding box containing non-transparent pixels of a sub-picture unit (SPU) of the DVD-Video content, encoding the bounding box as a DVB subtitle region that is within an associated DVB region size limit, and mapping the encoded information to a run-length encoding format associated with DVB subtitles.
In another aspect of the present invention the adapting step includes converting the DVD VM command into a microcode format, and translating the microcode command into source code in a desired target language.
In another aspect of the present invention the method further includes combining a plurality of the microcode instructions that all share a common conditional execution setting inside one comparison in the target language.
In another aspect of the present invention the method further includes combining a plurality of blocks of the microcode that are identical into one block of generated source code.
In another aspect of the present invention the method further includes replacing the VM command that is a jump command with at least one VM command from the jump's target location.
In another aspect of the present invention the method further includes inserting a content segment of proxy footage into any of the adapted sub-components, and replacing the proxy footage during playback of the content segment with replacement footage received at the PVR subsequent to receipt of the proxy footage at the PVR.
In another aspect of the present invention the replacement footage includes live content.
In another aspect of the present invention the method further includes matching a start timecode of the replacement footage to that of its corresponding proxy footage.
In another aspect of the present invention the method further includes inserting into any of the sub-components a link to content not found in any of the adapted sub-components, and retrieving the linked content during playback of the adapted sub-component containing the link.
In another aspect of the present invention a system is provided for providing DVD-Video content for playback on a personal video recorder (PVR), the system including a parser operative to parse DVD-Video content into a plurality of subcomponents, and apparatus operative to adapt any of the sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
In another aspect of the present invention the system further includes apparatus operative to adapt an interactive feature of the DVD-Video content for interactive user control on the PVR.
In another aspect of the present invention the system further includes apparatus operative to adapt a menu item associated with the DVD-Video content.
In another aspect of the present invention the system further includes apparatus operative to adapt a navigational control associated with the DVD-Video content.
In another aspect of the present invention the system further includes apparatus operative to adapt a DVD VM command for execution by the PVR.
In another aspect of the present invention the system further includes apparatus operative to restamp GOP header timecodes of an MPEG-2 video bitstream of the DVD-Video content, where any of the timecodes is unique relative to all other of the timecodes, apparatus operative to maintain a mapping of DVD-Video sector addresses to the restamped timecodes, and apparatus operative to translate the mapping into navigational commands resolvable by the PVR.
In another aspect of the present invention the system further includes apparatus operative to create a bounding box containing non-transparent pixels of a sub- picture unit (SPU) of the DVD-Video content, apparatus operative to encode the bounding box as a DVB subtitle region that is within an associated DVB region size limit, and apparatus operative to map the encoded information to a run-length encoding format associated with DVB subtitles.
In another aspect of the present invention the system further includes apparatus operative to convert the DVD VM command into a microcode format, and apparatus operative to translate the microcode command into source code in a desired target language.
In another aspect of the present invention the system further includes apparatus operative to combine a plurality of the microcode instructions that all share a common conditional execution setting inside one comparison in the target language.
In another aspect of the present invention the system further includes apparatus operative to combine a plurality of blocks of the microcode that are identical into one block of generated source code.
In another aspect of the present invention the system further includes apparatus operative to replace the VM command that is a jump command with at least one VM command from the jump's target location.
In another aspect of the present invention the system further includes apparatus operative to insert a content segment of proxy footage into any of the adapted sub-components, and apparatus operative to replace the proxy footage during playback of the content segment with replacement footage received at the PVR subsequent to receipt of the proxy footage at the PVR.
In another aspect of the present invention the replacement footage includes live content.
In another aspect of the present invention the system further includes apparatus operative to match a start timecode of the replacement footage to that of its corresponding proxy footage.
In another aspect of the present invention the system further includes apparatus operative to insert into any of the sub-components a link to content not found in any of the adapted sub-components, and apparatus operative to retrieve the linked content during playback of the adapted sub-component containing the link.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which: Fig. 1 is a simplified block-flow diagram of a DVD-to-DVB adaptation system, constructed and operative in accordance with a preferred embodiment of the present invention;
Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention;
Fig. 3 is a simplified flowchart illustration of an exemplary method for DVD subtitle transcoding, operative in accordance with a preferred embodiment of the present invention;
Fig. 4 is a simplified flowchart illustration of an exemplary method for DVD VM command translation, operative in accordance with a preferred embodiment of the present invention;
Fig. 5 is a simplified flowchart illustration of an exemplary method for DVD menu transcoding, operative in accordance with a preferred embodiment of the present invention;
Fig. 6A is a simplified flowchart illustration of an exemplary method for late binding of live A/V content, operative in accordance with a preferred embodiment of the present invention; and
Figs. 6B - 6C are simplified graphical illustrations useful in understanding the method of Fig. 6 A.
The same reference characters and numerals appearing in different drawings denote the same elements.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Reference is now made to Fig. 1, which is a simplified block-flow diagram of a DVD-to-DVB adaptation system, constructed and operative in accordance with a preferred embodiment of the present invention, and to Fig. 2, which is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention. In the system and method of Figs. 1 and 2, DVD-Video content, such as may be stored on a DVD disc 100 using the Universal Disc Format (UDF) file system 102, is parsed by a parser 104 into its various components, including audio, video, sub-picture units (SPU), and VM commands. The audio and video streams are de-multiplexed from their program stream at a demultiplexer 106 into separate packetized elementary streams (PES) streams, generally designated 108. The PES streams 108 may be transcoded where necessary using conventional techniques and re-multiplexed at a multiplexer 110 to a linear DVB compliant MPEG-2 transport stream 114. Transport stream 114 may include any of the following:
The original MPEG-2 video streams from DVD 100, whose GOP header timecodes may be restamped at a timecode restamper 116 to ensure each video frame has a unique timecode, as is described in greater detail hereinbelow;
MPEG and/or Dolby Digital (i.e., AC-3) audio streams from DVD 100. Audio streams in other formats may be transcoded to a format supported by the content recipient; and/or
DVB subtitle streams 118 that have preferably been transcoded at a DVD SPU transcoder 112 from DVD subtitle streams 120 that were originally encoded in DVD subpicture format (SPU). A preferred method for DVD subtitle transcoding is described in greater detail hereinbelow with reference to Fig. 3.
DVD VM commands on DVD 100 are preferably translated at a VM command translator 122 into a format that is understood by the content recipient, such as into Java™ source code for playback on a PVR 124 employing a Java™ VM. The translated DVD VM commands are then prepared for execution by a DVD adaptation engine 126 at a DVD adaptation code builder 128. DVD adaptation engine 126 is preferably a static engine, implemented in Java™, which includes an emulation of the DVD VM, as well as a basic DVD player user interface. DVD adaptation engine 126 may be implemented as a PVR-resident middleware component. A preferred method for DVD VM command translation is described in greater detail hereinbelow with reference to Fig. 4.
Menu navigation elements and other on-screen display (OSD) resources in DVD SPU stream 120, such as buttons and menu items, are preferably transcoded by transcoder 112 into image files, such as in the PNG image format, and provided to a carousel generator 130 which generates an interactive carousel 132. These image files may then be used by a Java™ application to enable the user to navigate the DVD content during playback on PVR 124. A preferred method for DVD menu translation is described in greater detail hereinbelow with reference to Fig. 5.
Once DVD-to-DVB adaptation is complete, transport stream 114 and interactive carousel 132 may be transmitted via a head-end 134 for receipt by PVR 124, where the adapted DVD content application may be stored. Once the content is received, a PVR 124 user may launch the adapted DVD content application. The adapted DVD content application then controls the presentation of the adapted DVD audio/video content, such as through the execution of the translated DVD VM commands, to deliver a user experience faithful to the source DVD title.
It is appreciated that delivery of adapted DVD content via standard digital broadcast mechanisms means that access to adapted DVD content can be controlled using known conditional access (CA) mechanisms supporting various business models, such as subscription, rental, PPV5 etc.
It is appreciated that although the present invention is described with respect to adapting DVD content to a DVB transport stream, the present invention may be used to adapt content to an alternative broadcast bitstream format, such as the DSS format used by the DirecTV™ satellite platform.
Certain aspects of Figs. 1 and 2 are now described in greater detail.
AV Transcoding
In certain circumstances a media stream can't be simply re-multiplexed due to differences between supported codecs and their constraints in the DVB and DVD- Video standards. Rather, the stream must be transcoded. For example, DVD-Video allows PCM digital audio, which would typically be compressed prior to broadcast as either MPEG or Dolby Digital (AC3). Similarly, broadcasters often use a range of horizontal resolutions for compressing MPEG-2 digital video, while the DVD-Video standard only supports a few specific resolutions. As such, it may be necessary to decode the video and re-encode it at an appropriate supported resolution. The DVB standard has recently been extended to support the MPEG-4 part 10 (AVC) video codec in addition to the MPEG-2 video codec. The present invention may be applied to transcoding the DVD MPEG-2 video bitstream to MPEG-4 part 10, potentially achieving a bit-rate reduction in the process. Video GOP Header Restamping
DVD-Video uses sector addresses, as well as higher level constructs such as vobu's, cells, programs and titles which are build upon sectors, as the basis for uniquely addressing content on the disk in support of content navigation such as by jumping and branching. However, where DVD-Video content is adapted for digital video broadcast and subsequent PVR playback, the PVR does not have access to DVD disc 100, and thus no access to its disk sector addresses. In order to provide another way to address linearized audio/visual content, GOP header timecodes may be used, which are part of the MPEG-2 video bitstream. In order to guarantee that the timecode is unique throughout the linearized transport stream, timecode restamper 116 preferably restamps the timecode during the parsing and remultiplexing process. A list of sector address-to- restamped video timecode mappings is also preferably compiled by timecode restamper 116, which is then provided to VM command translator 122 for resolving translated content navigation commands to the correct location within the AV content at PVR 124. For example, in the iXTV system, such content location resolution may be performed by middleware APIs which are based on video timecodes. Furthermore, as all the relevant structural/navigation information is translated by VM command translator 122, low-level navigation data (e.g., 'nav packs') embedded in the DVD program stream may be discarded during the re-multiplexing process described above. This technique may be extended to any video codec which includes a representation of the source video timecode within its bitstream format, an as such is applicable to MPEG-4 part 10 video as well as MPEG-2 video.
DVD Subpicture Transcoding
DVD-Video uses compressed images that are overlaid on top of the MPEG- 2 video to provide subtitles, outlines, and highlights in menu screens. The DVD SPU format uses 2 bits per pixel. Two levels of indirection may be used to map the four possible values from the 2 bits per pixel bitmap to a 16-entry color lookup table.
Reference is now made to Fig. 3, which is a simplified flowchart illustration of an exemplary method for DVD subtitle transcoding, operative in accordance with a preferred embodiment of the present invention. In the method of Fig. 3, DVD subtitles are translated into a DVB subtitle stream that can be displayed by a conventional DVB- compliant set-top box. The encoding formats of DVD SPU and DVB subtitles are quite similar in that they are both run-length encoded bitmaps. DVB subtitles can be encoded at 2, 4, or 8 bits per pixel to accommodate different color depth requirements. It is generally desirable to use the minimum color depth that achieves the required picture quality as greater color depths require more set-top box memory and greater bandwidth to transmit them. The 4 bits per pixel mode of DVB subtitles is preferably used in the translation process.
Both DVB subtitles and DVD SPUs may be encoded by defining an onscreen region and then sending compressed bitmap data to fill this region. The DVB subtitle specification places a restriction on the size of this region to provide an upper bound on the amount of memory required for its decoding. Because the DVD SPU specification does not have this restriction, it is necessary for the transcoding process to analyze the DVD SPU data and create a bounding box that contains all the non- transparent pixels. This may be performed by analyzing the run-length compressed DVD SPU data or by decoding the DVD SPU to an in-memory bitmap. These bounding boxes may then be encoded as DVB subtitle regions that are within the DVB region size limits. Once the bounding region has been created, the run-length information may be mapped from the DVD SPU format to the run-length encoding format used by DVB subtitles.
Reference is now made to Fig. 4, which is a simplified flowchart illustration of an exemplary method for DVD VM command translation, operative in accordance with a preferred embodiment of the present invention. The playback of a DVD-Video is controlled by the DVD VM that is present in a DVD player. The DVD-VM executes machine code instructions read from the DVD disc to set registers, make comparisons and jump to new sections of the disc. DVD-VM instructions can be found at the beginning or end of a program chain (PGC), the end of a cell, or in a button. The DVD- VM provides an instruction set with over 120 different commands. Many of these commands use the context of the current playback position, such as "jump to next chapter". This can, however, be simplified by grouping commands, such as into the following categories: Modify a register
Jump to a new location
Call a new location (allows returning to current location)
Return to previous location (from a call)
Go to opcode 'n' in the current block of VM code
Start a counter
Exit
Furthermore, execution of any DVD VM command may be made conditional based on a condition (e.g., if register 2 is not zero), such that if the condition is not met, the DVD- VM command is not executed.
In the method of Fig. 4, DVD-VM translation preferably begins by analyzing all VM commands on the disc and converting them into another format, preferably a microcode format that only has 7 different instructions. For jump instructions based on the current playback position, VM command translator 122 preferably uses the location of this VM instruction and knowledge of the structure of DVD disc 100 to determine the absolute location of this jump.
The microcode command set preferably includes the following commands:
Modify register
Jump
Start counter
Resume
Break
Exit
Goto line
This list is very similar to the list of DVD-VM command groups above, except for the removal of the "call" command group. The "call" group of commands is preferably translated into a "store current location" command by using the "modify register" microcode command followed by a "jump" microcode command. Each microcode command may be made conditional, such as where its execution is controlled by the comparison of a register with another register or an absolute value.
Some DVD-VM jump/call instructions are modified by the currently selected language. This is normally used to allow the DVD-VM to select the correct menu screen where the menu is available in multiple languages. The translation process preferably translates such language-dependent instructions into multiple microcode instructions that perform comparisons, such as of system registers that contain current language settings, and jump to the correct menu screens based on the comparison results. DVD-VM instructions that have been translated into microcode are then converted into source code in a desired target language, such as into Java™ source code. The choice of target language may be determined by the PVR middleware, such as where Java™ is used that is supported by the NDS Core PVR middleware, commercially-available from NDS Limited. However, other suitable target languages include C, or a scripting language such as HTML + JavaScript.
The generated source code may be optimized as follows:
Common conditions - Multiple microcode instructions that all share a common conditional execution setting can be combined inside one comparison in the target language.
Common blocks - Blocks of microcode that are identical are quite likely to occur because of repetition in the DVD-VM instruction blocks and because of the repetition of buttons for virtual commands in multiple aspect ratios or languages. These common blocks can be combined into one block of generated source code.
In-lining blocks - A jump to a PGC or cell that contains nothing but VM commands can be replaced by the VM commands from the jump's target location. This can be used to reduce the number of cells/PGCs that need to be represented and/or to reduce the time it takes to perform a jump.
DVD structure information, such as the list of cells in each PGC, is also preferably converted into another format, such as into an XML file. This structure data also preferably includes the sector-to-timestamp information from timecode restamper 116. Either or both XML and Java™ representations of this timestamp information may be generated. Some of the logic embedded in the DVD-VM is preferably provided to the adapted DVD recipient to enable the adapted DVD content to be used. For example, a structure, such as a Java™ class, may be provided that contains a 48 element integer array that can be used to store the 16 general purpose registers and the 32 system registers used by the DVD-VM. Another example is the logic that causes the VM commands to be executed at the beginning of a PGC, and the end of a PGC or cell, or when a button is selected from a menu screen. Other examples include the logic that is used to switch audio channels, change subtitle language, provide fast forward/fast rewind, and/or provide rapid access to the DVD's main menu. This logic may be compiled and transmitted along with the translated DVD content, or may be preconfigured in or separately provided to the set-top box
Reference is now made to Fig. 5, which is a simplified flowchart illustration of an exemplary method for DVD menu translation, operative in accordance with a preferred embodiment of the present invention. A DVD menu typically includes a video background, which may be a moving background, and a number of on-screen buttons. Each button may occupy a rectangular region of the screen, although transparency techniques may be used to make a button appear non-rectangular to the viewer. Each on-screen button typically has a high-quality image encoded in the video background with a highlight drawn on top of the button when the button is highlighted. These overlays are encoded using the DVD SPU format. The encoding may be identical to that used for DVD subtitles, with the exception that an extra level of indirection is applied to the color lookup such that the currently- selected button uses a different set of colors than all the other buttons. All button highlights are typically encoded in one DVD SPU region that is the full size of the screen. The color lookup information for the DVD SPU is typically configured such that all buttons are invisible (i.e., fully transparent). As the currently selected button uses a different color lookup than all the other buttons, this button will be visible while the rest are invisible.
In the method of Fig. 5, DVD menu transcoding typically begins by decoding the DVD SPU to an in-memory bitmap. An image file, such as a PNG file, is then created for each button. The image generation process preferably uses the rectangular bounding box information for the button to decide which area of the in- memory bitmap to use. The image generator preferably analyzes the picture data inside the bounding box to shrink the bounding box by removing as many fully transparent pixels as possible. Once the bounding box has been detected, the pixels inside the bounding box may be encoded into a picture file such as a BMP file or PNG file. The bounding box detection and image encoding phases preferably use the color lookup table as if the button were selected. AU the image files for a menu may be combined into a single file in order to reduce the number of files that need to be placed into interactive carousel 132. The bounding box information for each button may form part of the DVD structure information described hereinabove. The adapted DVD recipient may use the bounding box information to decide where on screen to render the picture file. If the picture file is not available, such as where it has not been placed in the interactive carousel, the bounding box information can be used to draw a rectangular box around the currently selected menu item.
Reference is now made to Fig. 6A, which is a simplified flowchart illustration of an exemplary method for late binding of live A/V content, operative in accordance with a preferred embodiment of the present invention, as well as to Figs. 6B - 6C, which are simplified graphical illustrations useful in understanding the method of Fig. 6A. In the method of Fig. 6A, adapted DVD content is prepared with one or more content segments which act as placeholders for A/V content, such as live content, that will only be available for broadcast immediately prior to the point at which the adapted DVD content is broadcast to the PVR. In this case, the DVD content is authored well in advance of broadcast, using placeholder content segments. The placeholder segments contain proxy footage, which will be replaced with the desired audio and video when it is subsequently broadcast. When the adapted DVD content is broadcast, any proxy footage is dropped and replaced with the desired audio/video content. The start timecodes of each replacement content segment is matched to that of its corresponding proxy segment in order for navigation to function correctly.
The method of Fig. 6A may be illustrated by way of example with reference to Figs. 6B and 6C. In Fig. 6B a graphical representation 600 of a DVD-Video title is shown having a single menu 602 with four buttons 604, labeled A-D, for navigating to any of four corresponding video segments 606, also labeled A-D. In the example shown, segment A is a highlights package of sporting events from the previous week, segments B and D are designated to contain live video of an upcoming sporting event, and segment C is an advertisement. Segments A and C may be created well in advance of the sporting event, as may menu 602. Proxy footage is used to represent segments B and D, and the DVD-Video title together "with the proxy footage of segments B and D are then adapted for digital video broadcast as described herein. In Fig. 6B a linear transport stream 608 is generated, with the available content of segments A and C preceding the proxy segments B and D. During playback, menu 602 and segments A and C are processed normally, while the proxy segments B and D are dropped and the live content is played out in their place. This typically requires that the first video frame timecode of each live segment matches that of its respective proxy, although the actual lengths of the live and proxy footage may differ. In cases where the duration of a live segment cannot be accurately known prior to broadcast, its corresponding proxy segment can be made longer than the expected duration of the live segment. If the live segment is shorter than the proxy segment, the timecode of the video may be advanced to that of the next segment, effectively signaling that it has started. This can be achieved by direct control of the MPEG-2 video encoder, or by control of an upstream timecode inserter.
As an alternative to the method of Fig. 6A, or in addition thereto, links to A/V content and/or services outside of adapted DVD content may be provided from within adapted DVD content. Such content might include new or periodically updated audio/video content delivered after receipt of the adapted DVD content, such as where a football adapted DVD application includes embedded links to football matches already known to be on the recipient's PVR, or to matches scheduled for future broadcast. Such links may be embedded in authored DVD-Video content in a way that is DVD-Video compliant, can be appropriately recognized and extracted during transcoding, and may be used to extend any accompanying Java™ applications. Many DVD-Video titles include extra DVD-ROM content that is accessible or automatically loaded when the disk is viewed using a PC. This content is typically part of the DVD-ROM filesystem, but sits outside of the DVD-Video zone of the disk. Thus, one way to provide such links is to add a metadata file into the DVD-ROM filesystem that could be recognized during transcoding. Alternatively, such links may be embedded as private data in the audio/video itself. A number of formats may be used to link to other content or services, such as TV-Anytime CRIDs or locators or DVB URLs. Different behaviors may be associated with each link, such as inviting the user to acquire the linked content by making a booking request, or making an automatic acquisition of extra content, where behavior information may be provided together with the object encapsulating a link. Such links may be used in this manner to refresh or update parts of adapted DVD content subsequent to its delivery in addition to or as an alternative to methods for late binding of audio/video content described herein.
It is appreciated that one or more of the steps of any of the methods described herein may be omitted or carried out in a different order than that shown, without departing from the true spirit and scope of the invention.
While the methods and apparatus disclosed herein may or may not have been described with reference to specific computer hardware or software, it is appreciated that the methods and apparatus described herein may be readily implemented in computer hardware or software using conventional techniques.
While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention. Various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.

Claims

CLAIMS What is claimed is:
1. A method for providing DVD-Video content for playback on a personal video recorder (PVR), the method comprising: parsing DVD-Video content into a plurality of sub-components; and adapting any of said sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
2. A method according to claim 1 and further comprising adapting an interactive feature of said DVD-Video content for interactive user control on said PVR.
3. A method according to claim 2 wherein said adapting an interactive feature step comprises adapting a menu item associated with said DVD-Video content.
4. A method according to claim 2 wherein said adapting an interactive feature step comprises adapting a navigational control associated with said DVD-Video content.
5. A method according to claim 1 wherein said adapting step comprises adapting a DVD VM command for execution by said PVR.
6. A method according to claim 1 wherein said adapting step comprises: restamping GOP header timecodes of an MPEG-2 video bitstream of said
DVD-Video content, wherein any of said timecodes is unique relative to all other of said timecodes; maintaining a mapping of DVD-Video sector addresses to said restamped timecodes; and translating said mapping into navigational commands resolvable by said PVR.
7. A method according to claim 1 wherein said adapting step comprises: creating a bounding box containing non-transparent pixels of a sub-picture unit (SPU) of said DVD-Video content; encoding said bounding box as a DVB subtitle region that is within an associated DVB region size limit; and mapping said encoded information to a run-length encoding format associated with DVB subtitles.
8. A method according to claim 5 wherein said adapting step comprises: converting said DVD VM command into a microcode format; and translating said microcode command into source code in a desired target language.
9. A method according to claim 8 and further comprising combining a plurality of said microcode instructions that all share a common conditional execution setting inside one comparison in said target language.
10. A method according to claim 8 and further comprising combining a plurality of blocks of said microcode that are identical into one block of generated source code.
11. A method according to claim 8 and further comprising replacing said VM command that is a jump command with at least one VM command from the jump's target location.
12. A method according to claim 1 and further comprising: inserting a content segment of proxy footage into any of said adapted subcomponents; and replacing said proxy footage during playback of said content segment with replacement footage received at said PVR subsequent to receipt of said proxy footage at said PVR.
13. A method according to claim 12 wherein said replacement footage comprises live content.
14. A method according to claim 12 and further comprising matching a start timecode of said replacement footage to that of its corresponding proxy footage.
15. A method according to claim 1 and further comprising: inserting into any of said sub-components a link to content not found in any of said adapted sub-components; and retrieving said linked content during playback of said adapted subcomponent containing said link.
16. A system for providing DVD-Video content for playback on a personal video recorder (PVR), the system comprising: a parser operative to parse DVD-Video content into a plurality of subcomponents; and apparatus operative to adapt any of said sub-components for digital video broadcast (DVB) to a PVR for playback thereat.
17. A system according to claim 16 and further comprising apparatus operative to adapt an interactive feature of said DVD-Video content for interactive user control on said PVR.
18. A system according to claim 17 and further comprising apparatus operative to adapt a menu item associated with said DVD-Video content.
19. A system according to claim 17 and further comprising apparatus operative to adapt a navigational control associated with said DVD-Video content.
20. A system according to claim 16 and further comprising apparatus operative to adapt a DVD VM command for execution by said PVR.
21. A system according to claim 16 and further comprising: apparatus operative to restamp GOP header timecodes of an MPEG-2 video bitstream of said DVD-Video content, wherein any of said timecodes is unique relative to all other of said timecodes; apparatus operative to maintain a mapping of DVD-Video sector addresses to said restamped timecodes; and apparatus operative to translate said mapping into navigational commands resolvable by said PVR.
22. A system according to claim 16 and further comprising: apparatus operative to create a bounding box containing non-transparent pixels of a sub-picture unit (SPU) of said DVD-Video content; apparatus operative to encode said bounding box as a DVB subtitle region that is within an associated DVB region size limit; and apparatus operative to map said encoded information to a run-length encoding format associated with DVB subtitles.
23. A system according to claim 20 and further comprising: apparatus operative to convert said DVD VM command into a microcode format; and apparatus operative to translate said microcode command into source code in a desired target language.
24. A system according to claim 23 and further comprising apparatus operative to combine a plurality of said microcode instructions that all share a common conditional execution setting inside one comparison in said target language.
25. A system according to claim 23 and further comprising apparatus operative to combine a plurality of blocks of said microcode that are identical into one block of generated source code.
26. A system according to claim 23 and further comprising apparatus operative to replace said VM command that is a jump command with at least one VM command from the jump's target location.
27. A system according to claim 16 and further comprising: apparatus operative to insert a content segment of proxy footage into any of said adapted sub-components; and apparatus operative to replace said proxy footage during playback of said content segment with replacement footage received at said PVR subsequent to receipt of said proxy footage at said PVR.
28. A system according to claim 27 wherein said replacement footage comprises live content.
29. A system according to claim 27 and further comprising apparatus operative to match a start timecode of said replacement footage to that of its corresponding proxy footage.
30. A system according to claim 16 and further comprising: apparatus operative to insert into any of said sub-components a link to content not found in any of said adapted sub-components; and apparatus operative to retrieve said linked content during playback of said adapted sub-component containing said link.
PCT/GB2005/002496 2005-06-27 2005-06-27 Adapting interactive multimedia content for broadcast and playback WO2007000559A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/GB2005/002496 WO2007000559A1 (en) 2005-06-27 2005-06-27 Adapting interactive multimedia content for broadcast and playback

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2005/002496 WO2007000559A1 (en) 2005-06-27 2005-06-27 Adapting interactive multimedia content for broadcast and playback

Publications (1)

Publication Number Publication Date
WO2007000559A1 true WO2007000559A1 (en) 2007-01-04

Family

ID=35709056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2005/002496 WO2007000559A1 (en) 2005-06-27 2005-06-27 Adapting interactive multimedia content for broadcast and playback

Country Status (1)

Country Link
WO (1) WO2007000559A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009023120A2 (en) * 2007-08-09 2009-02-19 Inlet Technologies Preserving captioning through video transcoding
WO2011019775A2 (en) * 2009-08-11 2011-02-17 The Adaptive Music Factory LLC Interactive multimedia content playback system
US8302132B2 (en) 2007-09-25 2012-10-30 Nds Limited Multi-directional movement
EP2557805A3 (en) * 2011-08-08 2013-06-12 ITE Tech. Inc Method for transmitting extra information in digital broadcast contents and communication apparatus and electronic apparatus using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194604A1 (en) * 2001-06-19 2002-12-19 Sanchez Elizabeth C. Interactive television virtual shopping cart
WO2004023815A1 (en) * 2002-09-09 2004-03-18 Metav, Inc. System and method to transcode and playback digital versatile disc (dvd) content and other related applications
US20040136698A1 (en) * 2002-07-10 2004-07-15 Mock Wayne E. DVD conversion for on demand
US20040208135A1 (en) * 2001-11-30 2004-10-21 Kazuhiko Nakamura Method and an apparatus for stream conversion, a method and an apparatus for data recording, and data recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194604A1 (en) * 2001-06-19 2002-12-19 Sanchez Elizabeth C. Interactive television virtual shopping cart
US20040208135A1 (en) * 2001-11-30 2004-10-21 Kazuhiko Nakamura Method and an apparatus for stream conversion, a method and an apparatus for data recording, and data recording medium
US20040136698A1 (en) * 2002-07-10 2004-07-15 Mock Wayne E. DVD conversion for on demand
WO2004023815A1 (en) * 2002-09-09 2004-03-18 Metav, Inc. System and method to transcode and playback digital versatile disc (dvd) content and other related applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EDWARD M. SCHWALB: "iTV Food Chain", PRENTICE HALL PTR, 3 October 2003 (2003-10-03), XP002366649, Retrieved from the Internet <URL:www.phptr.com/articles> [retrieved on 20060208] *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009023120A2 (en) * 2007-08-09 2009-02-19 Inlet Technologies Preserving captioning through video transcoding
WO2009023120A3 (en) * 2007-08-09 2009-04-09 Inlet Technologies Preserving captioning through video transcoding
EP2373050A3 (en) * 2007-08-09 2012-10-10 Cisco Technology, Inc. Preserving captioning through video transcoding
US9426479B2 (en) 2007-08-09 2016-08-23 Cisco Technology, Inc. Preserving captioning through video transcoding
US8302132B2 (en) 2007-09-25 2012-10-30 Nds Limited Multi-directional movement
EP2528346A2 (en) 2007-09-25 2012-11-28 Nds Limited Video enabled multidirectional movement through content
US9027059B2 (en) 2007-09-25 2015-05-05 Cisco Technology, Inc. Multi directional movement
WO2011019775A2 (en) * 2009-08-11 2011-02-17 The Adaptive Music Factory LLC Interactive multimedia content playback system
WO2011019775A3 (en) * 2009-08-11 2011-04-28 The Adaptive Music Factory LLC Interactive multimedia content playback system
US8438482B2 (en) 2009-08-11 2013-05-07 The Adaptive Music Factory LLC Interactive multimedia content playback system
EP2557805A3 (en) * 2011-08-08 2013-06-12 ITE Tech. Inc Method for transmitting extra information in digital broadcast contents and communication apparatus and electronic apparatus using the same

Similar Documents

Publication Publication Date Title
RU2354072C2 (en) Text captions decoder and method for text captions flows decoding
KR101116965B1 (en) Moving image encoding method and apparatus
CN101686365B (en) Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
EP2182520B1 (en) Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
JP4484870B2 (en) Method and apparatus for creating an enhanced digital video disc
RU2378722C2 (en) Recording medium, method and device for playing back text subtitle streams
KR100667751B1 (en) Storage medium including text-based caption information, reproducing apparatus and reproducing method thereof
US8078034B2 (en) Method and apparatus for navigating through subtitles of an audio video data stream
EP1214842A1 (en) Closed caption tagging system
JP2013536617A (en) System and method for electronic sell-through of interactive multimedia content authored for distribution over physical media
CN111798878B (en) Recording medium, reproduction method, and reproduction apparatus
US20030215209A1 (en) Data transmission apparatus, data receiving apparatus, recording medium, data transmitting method, and data receiving method
US7778526B2 (en) System and method for maintaining DVD-subpicture streams upon conversion to higher compressed data format
WO2007000559A1 (en) Adapting interactive multimedia content for broadcast and playback
US20060177199A1 (en) Information recording medium, information reproducing apparatus, information recording method and reproducing method
KR20080032630A (en) Video data recording method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05755184

Country of ref document: EP

Kind code of ref document: A1