WO2007000559A1 - Adapting interactive multimedia content for broadcast and playback - Google Patents
Adapting interactive multimedia content for broadcast and playback Download PDFInfo
- 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
Links
- 230000002452 interceptive effect Effects 0.000 title claims description 24
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000013507 mapping Methods 0.000 claims description 11
- 238000013519 translation Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003822 preparative gas chromatography Methods 0.000 description 1
- 230000036593 pulmonary vascular resistance Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/30—Indexing; 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/3027—Indexing; 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64315—DVB-H
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00572—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
- G11B20/00615—Circuits 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/0063—Circuits 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/00637—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [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
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.
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)
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)
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 |
-
2005
- 2005-06-27 WO PCT/GB2005/002496 patent/WO2007000559A1/en active Application Filing
Patent Citations (4)
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)
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)
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 |