US20090180546A1 - Assistance for processing pictures in concatenated video streams - Google Patents

Assistance for processing pictures in concatenated video streams Download PDF

Info

Publication number
US20090180546A1
US20090180546A1 US12/351,776 US35177609A US2009180546A1 US 20090180546 A1 US20090180546 A1 US 20090180546A1 US 35177609 A US35177609 A US 35177609A US 2009180546 A1 US2009180546 A1 US 2009180546A1
Authority
US
United States
Prior art keywords
output
picture
stream
video
pictures
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/351,776
Inventor
Arturo A. Rodriguez
James Au
Jan De Lameillieure
Samie Beheydt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Priority to US12/351,776 priority Critical patent/US20090180546A1/en
Publication of US20090180546A1 publication Critical patent/US20090180546A1/en
Assigned to CISCO TECHNOLOGY, INC. reassignment CISCO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEHEYDT, SAMIE, DE LAMEILLIEURE, JAN, AU, JAMES, RODRIGUEZ, ARTURO A.
Priority to US14/658,293 priority patent/US20150189303A1/en
Assigned to TECH 5 SAS reassignment TECH 5 SAS CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT 7523479 NEEDS TO BE INCLUDED, WAS ACCIDENTALLY MISSED WHEN RECORDING ASSIGNMENT PREVIOUSLY RECORDED ON REEL 049603 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE NEED TO INCLUDE PATENT 7523479 IN THE ASSIGNMENT. WAS ACCIDENTALLY MISSED ON LAST RECORDING. Assignors: CISCO TECHNOLOGY, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • Particular embodiments are generally related to processing of video streams.
  • Broadcast and On-Demand delivery of digital audiovisual content has become increasingly popular in cable and satellite television networks (generally, subscriber television networks).
  • Various specifications and standards have been developed for communication of audiovisual content, including the MPEG-2 video coding standard and AVC video coding standard.
  • One feature pertaining to the provision of programming in subscriber television systems requires the ability to concatenate video segments or video sequences, for example, as when inserting television commercials or advertisements. For instance, for local advertisements to be provided in national content, such as ABC news, etc., such programming may be received at a headend (e.g., via a satellite feed), with locations in the programming allocated for insertion at the headend (e.g., headend encoder) of local advertisements.
  • Splicing technology that addresses the complexities of AVC coding standards is desired.
  • FIG. 1 is a block diagram that illustrates an example environment in which an embodiment of the disclosed apparatuses and methods may be employed.
  • FIG. 2 is a block diagram of an example video processing device, embodied as a digital home communication terminal (DHCT), which includes functionality to receive, decode, and output a compressed video stream comprising concatenated video sequences according to information included in the video stream.
  • DHCT digital home communication terminal
  • FIG. 3 is a block diagram that illustrates an example video stream comprising information that assists splice operations and/or picture output behavior.
  • FIG. 4 is a block diagram that illustrates a concept of consecutive picture output order in a decoded picture buffer as related to the information conveyed in a video stream.
  • FIG. 5 is a flow diagram that illustrates an example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 6 is a flow diagram that illustrates another example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 7 is a flow diagram that illustrates another example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 8 is a flow diagram that illustrates an example method embodiment that receives information in a video stream at a video processing device.
  • FIG. 9 is a flow diagram that illustrates another example method embodiment that receives information in a video stream at a video processing device.
  • FIG. 10 is a flow diagram that illustrates another example method embodiment that receives information in a video stream at a video processing device.
  • a method that provides a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures, and that provides information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds.
  • a first data field corresponding to a location in the video stream of a
  • Certain system, apparatus, and method embodiments are disclosed that provide (and/or receive) information in a video stream to assist in the implementation of video processing operations at various devices throughout a subscriber television network.
  • information is conveyed by an encoding device (e.g., encoder) to a video processing device embodied as a splicer (or splicing device) to indicate where among subsequently transmitted compressed pictures one or more potential (e.g., suitable) splicing points occur.
  • the information may be conveyed in some embodiments as auxiliary information or as a message, such as an SEI (supplemental enhanced information) message, in the video stream (e.g., not at a transport layer).
  • SEI Supplemental enhanced information
  • such information may include an indication of the machine state of a decoded picture buffer (DPB) resident in a second video processing device (e.g., digital home communication terminal or DHCT), the machine state corresponding to the potential splicing point, which enables the splicer to concatenate, or in some embodiments, replace a video sequence provided by the encoding device with a second video sequence (e.g., commercial, such as provided by a local feed) during a transition period.
  • the information may also include control information, which enables the DHCT to provide a seamless output from the DPB over a transition period, as well as (or alternatively) cues to various locations in the video stream. Additional description of these and other embodiments are disclosed below.
  • a description of the MPEG-2 Video Coding standard can be found in the following publication, which is hereby incorporated by reference: (1) ISO/IEC 13818-2, (2000), “Information Technology—Generic coding of moving pictures and associated audio—Video.”
  • a description of the AVC video coding standard can be found in the following publication, which is hereby entirely incorporated by reference: (2) ITU-T Rec.
  • FIG. 1 is a high-level block diagram depicting an example environment in which an embodiment of apparatuses, systems, and/or methods that convey and use information corresponding to potential splice points and decoded picture buffer state information (e.g., machine state, such as consecutive picture order, etc.) are implemented.
  • FIG. 1 is a block diagram that depicts an example subscriber television system (STS) 100 .
  • the STS 100 includes a headend 110 and one or more video processing devices, the latter embodied in this example as a DHCT 200 .
  • the DHCT 200 and the headend 110 are coupled via a network 130 .
  • the headend 110 and the DHCT 200 cooperate to provide a user with television services including, for example, broadcast video programs, an interactive program guide (IPG), and/or video-on-demand (VOD) presentations, among others.
  • the television services are presented via the display device 140 , which is typically a television set that, according to its type, is driven with an interlaced scan video signal or a progressive scan video signal.
  • the display device 140 may also be any other device capable of displaying video images including, for example, a computer monitor, a mobile phone, game device, etc.
  • the DHCT 200 may communicate with other devices that receive, store, and/or process video streams from the DHCT 200 , or that provide or transmit video streams or uncompressed video signals to the DHCT 200 .
  • the DHCT 200 is typically situated at a user's residence or place of business and may be a stand-alone unit or integrated into another device such as, for example, the display device 140 , a personal computer, personal digital assistant (PDA), mobile phone, among other devices.
  • the DHCT 200 receives signals (video, audio and/or other data) including, for example, digital video signals in a compressed representation of a digitized video signal such as, for example, AVC streams modulated on a carrier signal, and/or analog information modulated on a carrier signal, among others, from the headend 110 through the network 130 , and provides reverse information to the headend 110 through the network 130 .
  • the DHCT 200 comprises, among other components, a decoded picture buffer (DPB), as explained further below.
  • DPB decoded picture buffer
  • the network 130 may include any suitable medium for communicating video and television service data including, for example, a cable television network or a satellite television network, among others.
  • the headend 110 may include one or more server devices (not shown) for providing video, audio, and other types of media or data to client devices such as, for example, the DHCT 200 .
  • the headend 110 also includes one or more encoders (encoding devices, compression engines) 111 (one shown) and one or more video processing devices embodied as one or more splicers 112 (one shown) coupled to the encoder 111 .
  • the encoder 111 and splicer 112 may be co-located in the same device and/or in the same locale (e.g., both in the headend 110 or elsewhere), while in some embodiments, the encoder 111 and splicer 112 may be distributed at different locations within the STS 100 .
  • the encoder 111 may compress the inputted video signal (e.g., from a provider or from a headend server) according to the specification of the AVC standard and produce an AVC stream containing different types of compressed pictures, some that may have a first compressed portion that depends on a first reference picture for their decompression and reconstruction, and a second compressed portion of the same picture that depends on a second and different reference picture.
  • the inputted video signal e.g., from a provider or from a headend server
  • the encoder 111 may compress the inputted video signal (e.g., from a provider or from a headend server) according to the specification of the AVC standard and produce an AVC stream containing different types of compressed pictures, some that may have a first compressed portion that depends on a first reference picture for their decompression and reconstruction, and a second compressed portion of the same picture that depends on a second and different reference picture.
  • the compressed video (and audio) streams are produced in accordance with the syntax and semantics of a designated video (and audio) coding method, such as, for example, MPEG-2 or AVC, so that the compressed video (and audio) streams can be interpreted by a decompression engine 222 ( FIG. 2 ) for decompression and reconstruction at a future time.
  • a decompression engine 222 FIG. 2
  • Each AVC stream is packetized into transport packets according to the syntax and semantics of transport specification, such as, for example, MPEG-2 transport defined in MPEG-2 systems.
  • Each transport packet contains a header with a unique packet identification code, or PID, associated with the respective AVC stream.
  • the encoder 111 provides a compressed video stream in a transport stream with information that conveys to the splicer 112 one or more suitable splice points as described further below.
  • the splicer 112 splices one or more video sequences of a second video stream (e.g., provided by a video source separate than the video source that provides the first video stream) to the video stream provided by the encoder 111 , and/or in some embodiments, replaces one or more of the video sequences provided by the encoder 111 with other video sequences.
  • the splicer 112 may pass the information provided by the encoder 111 , with or without modification, to the DHCT 200 , and/or generate additional control information based on the received information, the control information received at and used by the DHCT 200 to enable a seamless output of the pictures (decoded pictures) from the DPB of the DHCT 200 across a concatenation.
  • Any of the below described subsystems or methods of DHCT 200 , encoder 111 , and/or splicer 112 can comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
  • FIG. 2 is a block diagram of an embodiment of a DHCT 200 as depicted in FIG. 1 , in which an embodiment of systems and methods that implement, at least in part, processing of compressed video and information used in enabling the output of pictures from the DPB.
  • the DHCT 200 shown in FIG. 2 is merely illustrative and should not be construed as implying any limitations upon the scope of the disclosure.
  • the DHCT 200 may have fewer, additional, and/or different components than the components illustrated in FIG. 2 .
  • the DHCT 200 preferably includes a communications interface 242 for receiving signals (video, audio and/or other data) from the headend 110 ( FIG. 1 ) through the network 130 ( FIG. 1 ), and provides reverse information to the headend 110 .
  • signals video, audio and/or other data
  • the DHCT 200 may further include one or more processors (one processor 244 is shown) for controlling operations of the DHCT 200 , an output system 248 for driving the television display 140 ( FIG. 1 ), and a tuner system 245 for tuning to a particular television channel and/or frequency and for sending and receiving various types of data to/from the headend 110 ( FIG. 1 ).
  • the DHCT 200 may include, in some embodiments, multiple tuners for receiving downloaded (or transmitted) data.
  • the tuner system 245 can select from a plurality of transmission signals provided by the subscriber television system 100 ( FIG. 1 ).
  • the tuner system 245 enables the DHCT 200 to tune to downstream media and data transmissions, thereby allowing a user to receive digital media content via the subscriber television system 100 .
  • analog TV signals can be received via tuner system 245 .
  • the tuner system 245 includes, in one implementation, an out-of-band tuner for bi-directional data communication and one or more tuners (in-band) for receiving television signals. Additionally, a receiver 246 receives externally-generated user inputs or commands from an input device such as, for example, a remote control device (not shown).
  • the DHCT 200 may include one or more wireless or wired interfaces, also called communication ports or interfaces 274 , for receiving and/or transmitting data or video streams to other devices.
  • the DHCT 200 may feature USB (Universal Serial Bus), Ethernet, IEEE-1394, serial, and/or parallel ports, etc.
  • the DHCT 200 may be connected to a home network or local network via communication interface 274 .
  • the DHCT 200 may also include an analog video input port for receiving analog video signals. User input may be provided via an input device such as, for example, a hand-held remote control device or a keyboard.
  • the DHCT 200 includes at least one storage device 273 for storing video streams received by the DHCT 200 .
  • a PVR application 277 in cooperation with operating system 253 and device driver 211 , effects among other functions, read and/or write operations to/from the storage device 273 .
  • the processor 244 may provide and/or assist in control and program execution for operating system 253 , device driver 211 , applications (e.g., PVR 277 ), and data input and output.
  • the processor 244 may further provide and/or assist in receiving and processing information corresponding to splice points and/or machine state in the received video stream, and decoding and outputting a video stream according to the received information.
  • references to write and/or read operations to the storage device 273 can be understood to include operations to the medium or media of the storage device 273 .
  • the device driver 211 is generally a software module interfaced with and/or residing in the operating system 253 .
  • the device driver 211 under management of the operating system 253 , communicates with the storage device controller 279 to provide the operating instructions for the storage device 273 .
  • conventional device drivers and device controllers are well known to those of ordinary skill in the art, further discussion of the detailed working of each will not be described further here.
  • the storage device 273 may be located internal to the DHCT 200 and coupled to a common bus 205 through a communication interface 275 .
  • the communication interface 275 may include an integrated drive electronics (IDE), small computer system interface (SCSI), IEEE-1394 or universal serial bus (USB), among others.
  • IDE integrated drive electronics
  • SCSI small computer system interface
  • USB universal serial bus
  • the storage device 273 may be externally connected to the DHCT 200 via a communication port 274 .
  • the communication port 274 may be according to the specification, for example, of IEEE-1394, USB, SCSI, or IDE.
  • video streams are received in the DHCT 200 via communications interface 242 and stored in a temporary memory cache (not shown).
  • the temporary memory cache may be a designated section of DRAM 252 or an independent memory attached directly, or as part of a component in the DHCT 200 .
  • the temporary cache is implemented and managed to enable media content transfers to the storage device 273 .
  • the fast access time and high data transfer rate characteristics of the storage device 273 enable media content to be read from the temporary cache and written to the storage device 273 in a sufficiently fast manner.
  • Multiple simultaneous data transfer operations may be implemented so that while data is being transferred from the temporary cache to the storage device 273 , additional data may be received and stored in the temporary cache.
  • the DHCT 200 includes a signal processing system 214 , which comprises a demodulating system 210 and a transport demultiplexing and parsing system 215 (herein demultiplexing system) for processing broadcast and/or on-demand media content and/or data.
  • a signal processing system 214 which comprises a demodulating system 210 and a transport demultiplexing and parsing system 215 (herein demultiplexing system) for processing broadcast and/or on-demand media content and/or data.
  • One or more of the components of the signal processing system 214 can be implemented with software, a combination of software and hardware, or in hardware.
  • the demodulating system 210 comprises functionality for demodulating analog or digital transmission signals.
  • An encoder or compression engine may reside at the headend 110 (e.g., embodied as encoder 111 ), in the DHCT 200 (e.g., embodied as compression engine 217 ), or elsewhere.
  • the compression engine 217 can receive a digitized uncompressed video signal, such as, for example, one provided by analog video decoder 216 , or a decompressed video signal produced by a decompression engine (e.g., decompression engine 222 ) as a result of decompressing a compressed video signal.
  • digitized pictures and respective audio output by the analog video decoder 216 are presented at the input of the compression engine 217 , which compresses the uncompressed sequence of digitized pictures according to the syntax and semantics of a video compression specification.
  • the compression engine 217 implements a video compression method or algorithm that corresponds to a respective video compression specification, such as the AVC standard, to provide a video stream.
  • a compression engine with similar compression capabilities is connected to the DHCT 200 via communication port 274 , for example, as part of a home network.
  • a compression engine with similar compression capabilities such as one that can produce AVC streams, may be located at the headend 110 or elsewhere in the network 130 , as explained above.
  • the compression engine 217 in may include capabilities to provide splicing information (e.g., including control information) for a produced video stream, such as when locally stored video sequences (e.g., commercials stored in the storage device 273 ) are intended for local concatenation (e.g., locally spliced) and subsequent decoding and output.
  • the demultiplexing system 215 can include MPEG-2 transport demultiplexing capabilities. When tuned to carrier frequencies carrying a digital transmission signal, the demultiplexing system 215 enables the separation of packets of data, corresponding to the desired AVC stream, for further processing. Concurrently, the demultiplexing system 215 precludes further processing of packets in the multiplexed transport stream that are irrelevant or not desired, such as packets of data corresponding to other video streams. Parsing capabilities of the demultiplexing system 215 allow for the ingesting by the DHCT 200 of program associated information carried in the transport packets.
  • the components of the signal processing system 214 are generally capable of QAM demodulation, forward error correction, demultiplexing of MPEG-2 transport streams, and parsing of packets and streams.
  • Stream parsing may include parsing of packetized elementary streams or elementary streams.
  • processor 244 performs parsing, processing, and interpretation of information.
  • the signal processing system 214 further communicates with the processor 244 via interrupt and messaging capabilities of the DHCT 200 .
  • the processor 244 annotates the location of pictures within the video stream or transport stream as well as other pertinent information corresponding to the video stream.
  • the packetized compressed streams can also be outputted by the signal processing system 214 and presented as input to the decompression engine 222 for audio and/or video decompression.
  • the signal processing system 214 may include other components (not shown), including memory, decryptors, samplers, digitizers (e.g., analog-to-digital converters), and multiplexers, among others.
  • the processor 244 Upon effecting the demultiplexing and parsing of the transport stream, the processor 244 interprets the data output by the signal processing system 214 and generates ancillary data in the form of a table or data structure (index table 202 ) comprising the relative or absolute location of the beginning of certain pictures in the compressed video stream.
  • the demultiplexing system 215 can parse the received transport stream (or the stream generated by the compression engine 217 , which in some embodiments may be a program stream) without disturbing its video stream content and deposit the parsed transport stream (or generated program stream) into the DRAM 252 .
  • the processor 244 causes the transport stream in DRAM 252 to be transferred to a storage device 273 . Additional relevant security, authorization and/or encryption information may be stored.
  • a decompression engine 222 comprises one or more software and/or hardware components (collectively logic) including video decompression logic 223 , upconverter logic 227 , audio decompression logic 225 , and a DENC 226 . Note that in some embodiments, one or more of the above-described logic may be distributed among several components, or omitted in some embodiments.
  • the decompression engine 222 provides decoding functionality responsive in some embodiments to information received in the stream, the information identifying splice points or indicators of splice points or potential splice points, and/or output behavior of one or more pictures of the decoded picture buffer (DPB) 297 residing in one embodiment in decompression engine memory 299 .
  • DPB decoded picture buffer
  • reference herein to a decoding system comprises decoding functionality and cooperating elements, such as found in the collective functionality of the decompression engine 222 , processor 244 , signal processing system 214 , and memory.
  • the decoding system can comprise fewer, greater, or different elements.
  • certain system and method embodiments include components from the headend (e.g., the encoder 111 , etc.) and/or components from the DHCT 200 , although a fewer or greater amount of components may be found in some embodiments.
  • FIGS. 3 and 4 in conjunction with the following description. It is noted that some of the below description pertaining to the conveyance of information (e.g., conveyance of N and M, as described below) may also be found, at least in part, in one or more of the commonly assigned and co-pending applications cited in the cross-reference section above.
  • FIG. 3 shown in an example video stream 300 , for instance as provided by the encoder 111 .
  • the video stream 300 may be provided in a transport stream.
  • a message 302 provided in the video stream 300 includes information that conveys the relative location from a current picture (picture, frame, or access unit) or the location of the message 302 in the bitstream 300 to, for example, immediately after a second access unit (the second access unit designated for illustrative purposes as N 0 , and the location immediately after the second access unit in the bitstream 300 is designated as 304 ) to identify a location or a property.
  • a second access unit the second access unit designated for illustrative purposes as N 0
  • the location immediately after the second access unit in the bitstream 300 is designated as 304
  • N identifies the location in the bitstream 300 (i.e., the video stream), and N may be expressed in the message 302 in one of different forms that connotes the number of consecutive frames, access units, pictures, slices, fields, or time ticks, or in the bitstream to identify a location (e.g., 304 ) from the location of the provided message 302 .
  • Different embodiments express N differently, as shown below.
  • One method does not convey N in the message 302 .
  • N expresses the number of consecutive pictures or access units between the two locations (e.g., 302 and 304 ) in the bit stream 300 .
  • a data field is a data element that conveys the value for N. The data element may be pre-assigned to a particular “non-zero” value that is sufficient to identify the N th picture in the bit stream 300 (or herein AVC stream) as the picture or point in the bitstream 300 identifying particular property or location.
  • the message 302 may provide a cue to additional potential splice points, such as potential splice point 306 immediately following the N 1 th picture and immediately preceding the N 1 +1 th picture in the video stream 300 .
  • Information conveying a stream property provides: (1) a location in the AVC stream where the stream property becomes effective, and (2) information related to, and identifying, a particular stream property.
  • the conveyed information enables a video processing device to perform a corresponding stream manipulation operation that is suitable to be performed at the location in the AVC stream where the identified particular stream property is effective.
  • a first stream property may be a “suitable splice point,” which is a location in the AVC stream suitable for transitioning from the AVC stream into another AVC stream, such as an advert or commercial.
  • a suitable splice point may be also called a potential splice point or an identified or determined splice point.
  • the message 302 includes a form of providing a value for N consecutive pictures in a first AVC stream (e.g., 300 ) corresponding to the location for a “suitable splice point” (e.g., 304 ) that allows a stream splicing operation to performed by a splicing device from the first bitstream 300 to a second bitstream (not shown).
  • a first data element provides a value, N, corresponding to the number of consecutive pictures, including the first picture, to identify the location 304 after the N th picture and prior to the (N+1) th picture as the location in the first AVC stream 300 where the “suitable splice point” becomes effective.
  • a second data element provides a value, M, that conveys the number of decompressed pictures in the decoded picture buffer (DPB) (e.g., DPB 297 , FIG. 2 ) that have successive picture-output times, with the first of the successive output times being at the picture-output time immediately after the decompression time of the N th picture.
  • the DPB 297 is in accordance with the AVC (also ITU H.264) standard and resides in decompression memory (e.g., decompression engine memory 299 ) of a decoder (e.g., decompression engine 222 ).
  • the location 304 in the AVC stream 300 where the “suitable splice point” becomes effective equals the decompression time of the N th picture (i.e., under the assumption of a hypothetical instantaneous decoder).
  • the M decompressed pictures in the DPB with successive output times may have been in successive order in the first AVC stream 300 .
  • the corresponding compressed M pictures were not in successive order in the first AVC stream 300 .
  • the number of picture-output times from the decompression of the first of the N consecutive picture, decode-time (1_of_N), to the picture-output time of the last of the M pictures in the DPB, output-time(M_of_M), equals (N+M).
  • N+M The number of picture-output times from the decompression of the first of the N consecutive picture, decode-time (1_of_N), to the picture-output time of the last of the M pictures in the DPB, output-time(M_of_M), equals (N+M).
  • N+M different pictures that are output from the first AVC stream up to the “suitable splice point.”
  • Each of the (N+M) different pictures has a respective output-time corresponding to one of (N+M) consecutive picture-output times, the first picture-output time being coincident with decode-time(1_of_N).
  • a first AVC stream is required to exhibit the following properties at the location where the “suitable splice point” becomes effective:
  • a compression engine e.g., encoder 111
  • video processing device e.g., splicer 112
  • a video processing device and/or compression engine provides a message corresponding to a “suitable splice point” only if the corresponding location in the stream satisfies the above properties.
  • a splice operation of the first AVC stream to the second AVC stream is performed by a video splicing device (e.g., splicer 112 , FIG. 2 ), located in the headend 110 , network 130 , or elsewhere, by using values of the first data element and second data element, N and M, respectively, provided in a message (e.g., message or information 302 ) in the bitstream 300 (i.e., the compressed video stream or AVC stream).
  • the video splicing device 112 uses the N and M values to produce a third AVC stream comprising of a portion of the first AVC stream followed by the second AVC stream.
  • the portion of the first AVC stream in the third AVC stream terminates at the location of the first AVC stream after the N th picture.
  • the first picture of the second AVC stream (FPOSAS) that follows the N th picture in the third stream is referred to as the FPOSAS-picture.
  • the video splicing device 112 produces the third AVC stream with an overlapped transition period of M picture-output times. That is, the video splicing device 112 produces the third AVC stream such that following four conditions are met:
  • the first row 402 of FIG. 4 comprises the output order of an exemplary GOP, such as received and decoded in decode order 404 (i.e., transmission order) at the decompression engine 222 .
  • the GOP comprises a sequence of compressed pictures (designated by picture types, such as I, P, or B).
  • the picture interdependencies are shown, in part, by the arrows above and below each picture (pictures numbered 1-25 at the top of each respective picture).
  • An arrow tail shown at a picture depicts that that picture serves as a reference picture to the other picture where the corresponding arrow head is shown. That is, the arrow conveys that the other picture is predicted from the reference picture.
  • picture 3 is predicted from (and hence depends from) picture 1 and picture 5 .
  • bounds e.g., between pictures 1 and 9 , and pictures 9 and 17
  • one having ordinary skill in the art should appreciate that different patterns and/or dependencies can be found from one bounded group to the next.
  • Beneath row 402 of FIG. 4 is the decode order 404 , corresponding to the order in which the pictures are decoded for reconstruction at the decompression engine 222 .
  • the transmission order of pictures is different than the output or display order due to the need to have the reference pictures prior to decoding a picture.
  • P pictures can be forward predicted or backwards predicted, and typically, that fact is not evident until the pictures are decoded.
  • knowledge of the picture type e.g., as ascertained by a header
  • Beneath row 404 is section 406 , which illustrates the machine state of the DPB 297 , sorted (from top to bottom in 406 ) in order of output from the DPB 297 .
  • row 408 which provides a value for M.
  • other values of M correspond to potential splice points.
  • the third AVC stream is received by DHCT 200 and decompression is performed on the compressed picture of the third AVC stream by decompression engine 222 .
  • DHCT 200 is an example of a receiver that houses a decoder (i.e., a decoding device, such as decompression engine 222 ).
  • Decompressed pictures are stored in the decompression memory 299 .
  • the output system 248 serves to output (e.g., to display device 140 ) the decompressed pictures at their respective output times. Orchestration of decompression and outputting of pictures is performed according to the respective decode-time and output-time of each picture in the third AVC stream.
  • decompression engine 222 When the portion of the third AVC stream corresponding to the spliced first and second AVC streams is processed by decompression engine 222 , the overlapped transition period comes into effect. During the overlapped transition period, decompression engine 222 decompresses M consecutive pictures that emanated from the second AVC stream while outputting the last M pictures from the first AVC stream.
  • At least one of the N consecutive pictures prior to the identified “suitable splice point” in the first AVC stream is also one of the M decompressed pictures of the first AVC stream in the DPB 297 with successive output times at the time that the “suitable splice point” becomes effective.
  • N is required to be greater than M to announce the “suitable splice point” in the first AVC stream with sufficient lead time before it becomes effective.
  • N>M and N is also greater than a pre-specified threshold (e.g., three picture-output intervals or picture-output times).
  • the same “suitable splice point” is announced N times with respective messages corresponding respectively to each of the N consecutive picture in the first AVC stream. That is, starting with the first of the N consecutive in the first AVC stream, N instances of messages is provided in the video stream, each instance corresponding respectively to one of the N consecutive pictures.
  • the information in the message conveys respective values for the first data element and second data element as necessary to provide an indication of a potential or suitable splice point.”
  • the first data element's value is N for the first picture and decreases by one successively in each successive instance of the message and corresponds to each one of the successive access units in the sequence of N consecutive access units.
  • the first data element's value, N finally becomes equal to one for the N th picture.
  • the second data element's value remains constant, equal to M, through the N successive instances of the message that respectively corresponds to the N consecutive pictures.
  • Two “different devices” may use two different announced messages that convey a potential splice point in the first AVC stream to prepare and perform the transition to the second AVC stream at the identified location of the “suitable splice point” of the first AVC stream.
  • a third “video splicing device” may use more than one, and possibly all N instances of messages to prepare and perform the transition.
  • the video splicing device that produces the third AVC stream sets the decompression time for the FPOSAS-picture equal to output-time(1_of_M), which is also equal to the decode-time(N_of_N)+1.
  • the video splicing device 112 provides the FPOSAS-picture with an output time equal to M picture-output times after its decompression time and the FPOSAS-picture serves as a past reference picture to at least one picture with a decode-time greater than the decode-time of the FPOSAS-picture.
  • M picture-output times are added to the decode-time of the FPOSAS-picture.
  • the FPOSAS-picture in the third AVC stream is provided a picture-output time less than M picture-output times after its decompression time, forcing a shortened overlapped transition period and at least one of the M pictures from the portion of the first AVC stream to not be displayed.
  • the output time of the FPOSAS-picture is greater than or equal to (M+1) picture-output times after its decode-time
  • the FPOSAS-picture serves as a future reference picture to at least one picture with a decode-time greater than the decode-time of the FPOSAS-picture, including the picture from the second AVC stream that has an output time equal M picture-output times after the decompression time of the FPOSAS-picture.
  • the FPOSAS-picture in the third AVC may be an IDR-picture.
  • the FPOSAS-picture in the third AVC may be an IDR-picture or an I-picture.
  • the FPOSAS-picture in the third AVC stream is an I-picture.
  • a compression engine 111 that produces the first AVC stream provides each picture in the first AVC stream with their respective picture-output time delayed by one picture-output interval to cause the value of M to be increased by one.
  • the maximum number of reference pictures that can be retained in the DPB 297 is reduced by one, it benefits the splicing operation by lengthening the overlapped transition period from the first AVC stream to the second AVC stream by one picture-output interval. The longer overlapped transition period tends to reduce any potential increase in the bit-rate of the third AVC stream that may manifest as a result of starting compression at the FPOSAS-picture without the benefit of reference pictures.
  • the video splicing device 112 provides a longer overlapped transition period by causing the last picture output from the portion of the first AVC stream to be output repeatedly over one or more extra picture-output intervals and setting the respective picture-output times for the pictures from the portion of the second AVC stream accordingly.
  • the video splicing device 112 producing the third AVC stream retains in the bitstream the original information that conveyed the “suitable splice point” for the first AVC stream.
  • the third AVC stream may then be spliced at a later time at the location in the third AVC stream where the “suitable splice point” becomes effective.
  • the portion of the third AVC stream containing the first AVC stream can be retained and the portion corresponding to the second AVC stream can be overwritten, in part or in its entirety, starting with the FPOSAS-picture.
  • the second AVC stream corresponds to a first commercial
  • this allows for another splice operation to be performed to overwrite the second AVC stream by a fourth AVC stream that corresponds to a second commercial.
  • the stream splicing operation from the third AVC stream to the fourth AVC stream can be performed by a different video splicing device than the one that produced the third AVC video stream.
  • the produced fifth AVC stream comprises of the portion of the first AVC stream in the third AVC stream followed by the fourth AVC stream.
  • the video splicing device producing the third AVC stream uses the additional information for the “suitable splice point, to perform and enhance the splicing of the first and second AVC streams.
  • a message conveying a “suitable splice point” and corresponding to the first of N consecutive pictures in the first AVC stream also includes a third data element that provides a value corresponding to P consecutive pictures prior to, but not including, the first of N consecutive pictures (i.e., the identified picture).
  • N conveys the location in the first AVC stream where the “suitable splice point” becomes effective
  • P conveys the number of consecutive pictures in the first AVC stream that must be decompressed prior to the first of the N consecutive pictures so that all (N+M) pictures can be output with their complete information.
  • P may be the number of pictures that must be decompressed prior to the N th picture, and P>N.
  • P pictures must be decompressed to guarantee the output with complete information of the M pictures in the DPB.
  • a message conveying information for a potential (i.e., suitable) “splice point” is only provided at a location in the AVC stream that guarantees the output with complete information of the M pictures in the DPB.
  • it is only provided at a location in the AVC stream that guarantees the output with complete information of the (N+M) pictures.
  • FIGS. 5-7 and FIGS. 8-10 are flow diagrams that illustrate example methods implemented in one embodiment by the encoder 111 to convey information (e.g., messages) to a splicer 112 , the information including a cue to potential splice points and/or the machine state of pictures in the DPB 297 .
  • FIGS. 8-10 are flow diagrams that illustrate example methods, implemented in one embodiment by a splicer 112 , that receive and process the information and video stream provided by the encoder 111 to assist in the concatenation (splicing) process.
  • one or more embodiments of the example methods provide (or receive) a message conveying a potential splice point in the bitstream located N access units from the location in the bitstream of the message or the current access unit.
  • the message also conveys for the identified splice point the number of access units in the DPB 297 (decoded picture buffer at the decoder), M, as explained above.
  • a splicing device e.g., splicer 112
  • a picture from the first bitstream is output from the DPB 297 while each decoded picture from the second bitstream enters the DPB 297 .
  • the provided message may serve as a cue that would be provided by the encoder 111 to convey a suitable splice point in the bitstream to the splicing device 112 (e.g., the receiving device).
  • the splicing device 112 may implement a method of receiving the provided message, interpreting the information in the provided message to determine whether to exercise initiating and splice operation at an identified potential splice point.
  • the splicing device 112 performs a splicing operation based on one or more received messages, each containing information pointing to distinctive splice points in the bitstream.
  • several messages are received at the splicing device 112 but one or more of the messages point to the same splice point in the bitstream.
  • a splice point is located N access units from the current access unit or the location from where the message is located in the bitstream.
  • a potential splice point is characterized as: (1) a location in the bitstream in which M pictures in the DPB have successive picture-output times, and (2) the earliest output time of the M pictures equals the output time immediately after the decode time of the N th picture (e.g., the decode time of the N th picture plus one picture-output interval).
  • the splicing device 112 that uses the received message can use the information to cause a transition period at the decoder 222 in which pictures from the first bitstream in the DPB 297 are output while pictures from the second bitstream are decoded and stored in the DPB.
  • N identifies the location of a potential splice point in the bitstream, it may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of a suitable splice point from the location of the provided message. Different embodiments expressing N differently, as shown below. One method does not convey N in the message but M only.
  • a potential splice point may be announced in one or more, and possibly all of the N access units (i.e., an access unit is a distinct encoded picture in the compressed video stream, or bitstream, that precedes the location of the potential splice point).
  • the value of N is decremented in successive instances of the message in consecutive access units in the bitstream that precede the identified splice point
  • the splicing device or splicer 112 may use an identified splicing point to produce a concatenation of two bitstreams.
  • the concatenated bitstream exhibits a transition period that spans M picture-output times.
  • a corresponding picture from the second bitstream is decoded and stored in the DPB.
  • a decoded picture from the second bitstream can occupy the DPB vacancy created from outputting the picture from first bitstream.
  • the splicer 112 may include MMCOs (memory management and control operations that remove a decoded picture that resides in the DPB) to remove some or all of the pictures of the first bitstream from the DPB 297 . However, in some embodiments, the splicer 112 may start the second bitstream with an IDR and make proper use of no_output_of prior_pics_flag.
  • MMCOs memory management and control operations that remove a decoded picture that resides in the DPB
  • the splicer 112 may start the second bitstream with an IDR and make proper use of no_output_of prior_pics_flag.
  • the earliest picture-output time assigned to a picture from the second bitstream by the splicer 112 is one picture-output time after last output picture from the first bitstream.
  • the splicer 112 may opt to use an identified splice point but use a transition period less than M.
  • the DPB 297 may have more than M pictures at the identified splice point and the splicer 112 may need to employ MMCOs.
  • the splice point cue1 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate the IDR prior pictures output cue message.
  • N_num_fields_to_prior_pics_dpb_output specifies the time, in field output time units, from decoding of current access unit to the decoding of access unit immediately prior to the indicated splice point to which this message applies.
  • M_num_fields_dpb_output_delay specifies the time, in field output time units, from first picture to last picture in DPB exhibiting contiguous output times and with the first picture having output time equal to N_num_fields_to_prior_pics_dpb_output +2.
  • a frame is considered 2 fields' time.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit prior to the indicated splice point. Not all pictures in the DPB may have consecutive output times.
  • consecutive_poc_flag[i] indicates that the picture has a consecutive picture order count as compared to previous picture output from the DPB.
  • Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture.
  • the pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • the splice point cue2 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate an IDR prior pictures output cue message.
  • N_num_AU_to_prior_pics_dpb_output specifies the number of access units, from decoding of current access unit to the decoding of access unit immediately prior to the indicated splice point to which this message applies.
  • M_num_AU_dpb_output_delay specifies the number of access units in DPB with contiguous output times.
  • the first picture has output time equal to N_num_fields_to_prior_pics_dpb_output +2.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit prior to the indicated splice point. Not all pictures in the DPB may have consecutive output times.
  • consecutive_poc_flag[i] indicates that the picture has a consecutive picture order count as compared to previous picture output from the DPB.
  • Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture.
  • the pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • the splice point cue3 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate an IDR prior pictures output cue message.
  • N_num_frames_to_prior_pics_dpb_output specifies the number of frames, from decoding of current frame to the decoding of frame immediately prior to the indicated splice point to which this message applies.
  • M_num_frames_dpb_output_delay specifies the number of frames in DPB with contiguous output times.
  • the first frame has output time equal to N_num_frames_to_prior_pics_dpb_output +22
  • num_prior_frames_in_dpb indicates the number of frames remaining in the DPB to be output after the decoding of the associated frame prior to the identified potential splice point. Not all pictures in the DPB may have consecutive output times.
  • last_frame_before_splice_POC specifies the picture order count of the frame prior to the identified splice point.
  • splice_pic_initial_buffering_delay specifies the initial buffering delay effective at the picture in the stream immediately after the identified splice point.
  • splice_pic_dpb_output_delay specifies the DPB output delay (e.g., PTS-DTS) effective at the picture in the stream immediately after the identified splice point.
  • DPB output delay e.g., PTS-DTS
  • the splice point DPB cue message is intended to provide DPB cues for pre-conditioned splice points.
  • the message shall contain information of the DPB state after completion of the DPB process as described in clause C.2 of ITU Recommendation H.264 for the associated access unit. This message may provide cues to assist digital program insertion. Concatenation devices may make use of this information to generate IDR prior pictures output cue message.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit.
  • consecutive_poc_flag[i] indicates that the picture has consecutive picture order count as compared to previous picture output from the DPB.
  • Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture.
  • the pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • one method embodiment comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 502 ), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT
  • Another method embodiment shown in FIG. 6 and denoted as method 600 , comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 602 ), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields, wherein each of the plurality of second data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of second data fields in the plurality of second data field equals to the value of the first data field, and wherein the value of each of the second data field indicates how each of the respectively corresponding DPYT
  • Another method embodiment shown in FIG. 7 and denoted as method 700 , comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 702 ), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields that provide information corresponding to the relative output times of the DPYTBO by the video decoder at the IPSP ( 704 ).
  • DPYTBO decompressed pictures yet to be output
  • IPSP potential splice point
  • receive-side e.g., at a video processing device such as the splicer 112
  • receive-side method embodiments are contemplated that largely mirror the transmit-side methods described above in association with FIGS. 5-7 . Accordingly, one method embodiment, shown in FIG.
  • method 800 comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 802 ), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the received information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds to a set of pictures WCOT of the
  • Another method embodiment shown in FIG. 9 and denoted as method 900 , comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 902 ), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields, wherein each of the plurality of second data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of second data fields in the plurality of second data field equals to the value of the first data field, and wherein the value of each of the second data field indicates how each of the respectively corresponding DPY
  • Another method embodiment shown in FIG. 10 and denoted as method 1000 , comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures ( 1002 ), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields that provide information corresponding to the relative output times of the DPYTBO by the video decoder at the IPSP ( 1004 ).
  • DPYTBO decompressed pictures yet to be output
  • IPSP potential splice point
  • any of the above methods may be considered without including explicitly the consecutive_poc_flag of each picture in the DPB and its pic_struct.
  • any of the above methods could be amended to include any of the syntax elements described in other parts of this disclosure or the sections entitled: Forewarning location of end_of_stream in spliced bitstreams, or/and in the section entitled: Method to control DPB output in non-seamless spliced bitstreams with end_of_stream.
  • control information passed through by the splicer 112 from the encoder 111 in some embodiments, or generated by the splicer 112 (e.g., in response to the information received from the encoder 111 as described above) in some embodiments.
  • control information enables a video processing device, such as the DHCT 200 , to orchestrate the output of pictures from the DPB 297 .
  • the message provides information to control the output of DPB pictures at the splice point of non-seamless concatenated bitstreams.
  • M equals, for instance, two (2).
  • the message can serve as a tool to splicing devices along with the end_of_stream NAL unit and no_output_of_prior_pics_flag.
  • the message is provided in the bitstream prior to the end_of_stream NAL unit to identify its location and specify the output behavior of non-previously output pictures in the DPB 297 at the time that the end_of_stream NAL unit becomes effective.
  • Information that specifies the output behavior of each non-previously output DPB picture allows for outputting a picture, not outputting, or outputting the picture for a number of consecutive times prior to outputting the subsequent picture from the first bitstream.
  • the message may be signaled ahead with information that points to the location of the end_of_stream
  • One method provides a message that serves as a cue that is provided by a splicing device 112 to a decoder 222 to convey information that alleviates the non-seamless transition to a concatenated stream.
  • the concept of N may be used to identify the location of a splice point in the bitstream and may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of the splice point from the location of the message.
  • Different method embodiments for expressing N in the message are disclosed herein.
  • One method embodiment does not convey N but only information to control the output of pictures.
  • a potential splice point may be announced in one or more, and possibly all of the N access units preceding the location of the splice point.
  • the value of N is decremented in successive instances of the message in consecutive access units that precede the splice point
  • a decoder such as decoder or decompression engine 222 , may use the provided message to alleviate the effects of a non-seamless concatenation of two bitstreams.
  • the concatenated bitstream exhibits a transition period that spans M picture-output times.
  • control information specifies the outputting of each picture. Outputting may be consistent with pic_struct, but for an interlaced source, the splicing device 112 provides information to prohibit the manifestation of motion jitter.
  • the last output field of an interlaced frame is output, as both the top and bottom fields, to satisfy the repetition amount specified by the output cue in the message.
  • IDR_prior_pic_output_cue( payloadSize ) ⁇ C Descriptor use_no_output_of_prior_pics_flag 5 u(1) num_prior_pics_in_dpb 5 u(5) for (j 0; j ⁇ num_prior_pics_in_dpb; j++) ⁇ output_cue[ i ] 5 u(3) ⁇
  • the IDR prior pic output cue message is intended to assist the decoder 222 in outputting prior pictures remaining in the DPB 297 from the previous bitstream across a concatenation.
  • This message applies to the prior pictures output by the DPB process triggered by the decoding of an End_of_Stream NAL unit or an IDR access unit.
  • the message shall be in the same access unit as the effected End_of_Stream NAL unit, or if there is no End_of_Stream NAL unit, in the same access unit as the effected IDR NAL.
  • This message may be useful for digital program insertion applications. Further, it may help the decoder 222 to maintain continuous picture output for bitstreams having a discontinuous DPB output across concatenation points. In such applications, this message may be output by concatenation devices (e.g., splicer 112 ).
  • use_no_output_of_prior_pics_flag 1 specifies that the decoder should use the no_output_of_prior_pics_flag as specified in the IDR access unit regardless of the inference rules as specified by [section X.X], and across End_of_Stream NAL unit.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB 297 to be output during the decoding of the IDR access unit.
  • output_cue[i] indicates cues for the output of each prior picture in the DPB 297 , according to Table X-X below.
  • the pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • the decoder 222 may make use of the output_cue for better visual experience.
  • repetition may mean that the last output field of an interlaced frame is output as both the top and bottom fields to satisfy the number of repetitions specified by output cue.
  • repetition by causing a field to be displayed for both and top fields may require the decoder 222 to perform anti-flicker or anti-fluttering filter on the output field.
  • an instance of the field is output filtered (e.g., when the field is output as top field) and the second instance is not (e.g., bottom field).
  • the fields of an interlaced pictures may be de-interlaced by a de-interlacing method in the decoder 222 .
  • IDR_prior_pic_output_cue( payloadSize ) ⁇ C Descriptor num_prior_pics_in_dpb 5 u(5) for (j 0; j ⁇ num_prior_pics_in_dpb; j++) ⁇ output_cue[ i ] 5 u(3) ⁇
  • the IDR prior pic output cue message is intended to assist the decoder 222 in outputting prior pictures remaining in the DPB 297 from the previous bitstream across a concatenation.
  • This message applies to the prior pictures output by the DPB process triggered by the decoding of an End_of Stream NAL unit or an IDR access unit.
  • the message shall be in the same access unit as the effected End_of Stream NAL, or if there is no End_of Stream NAL, in the same access unit as the effected IDR NAL.
  • This message may be useful for digital program insertion applications. Further, it may help the decoder 222 to maintain continuous picture output for bitstreams having discontinuous DPB output across concatenation points. In such applications, this message may be output by concatenation devices.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB 297 to be output during the decoding of the IDR access unit.
  • output_cue[i] indicates cues for the output of each prior picture in the DPB 297 , according to Table X-X1.
  • the pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • the decoder 222 may make use of the output_cue for better visual experience.
  • repetition may mean that the last output field of an interlaced frame is output as both the top and bottom fields to satisfy the number of repetitions specified by output cue.
  • repetition by causing a field to be displayed for both and top fields may require the decoder 222 to perform anti-flicker or anti-fluttering filter on the output field.
  • an instance of the field is output filtered (e.g., when the field is output as top field) and the second instance is not (e.g., bottom field).
  • the fields of an interlaced pictures may be de-interlaced by a de-interlacing method in the decoder 222 .
  • any of the above example syntax and corresponding methods of this section may be amended to include any of the syntax elements described in other parts of this disclosure or in the sections entitled: Forewarning location of end_of_stream in spliced bitstreams, or/and in Conveyance of suitable splice points in the bitstream.
  • One method described below provides for transmitting or receiving a message that conveys the location of an end_of stream NAL unit in the bitstream.
  • the end_of stream NAL unit is the last NAL unit in the access unit that ends a bitstream. In some system and/or method embodiments, a new bitstream may immediately follow that access unit that ended the bitstream.
  • the provided message conveys an end of stream in the bitstream located N access units from the location of the message in the bitstream.
  • the provided or received message may serve as a cue that can be provided by a splicing device 112 or other equipment to convey to a decoder, such as decoder 222 , the location of the forthcoming end_of stream NAL unit.
  • the end_of stream is located N access units from the current access unit or the location of the message.
  • a decoder may use the information in the provided or received message to anticipate and plan a transition from a first to a second bitstream.
  • N identifies the location of an end_of stream NAL unit, it may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of end_of_stream from the location of the provided or received message.
  • Several syntax (and hence methods) of expressing N in the message are described below.
  • the end_of_stream cue1 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders, such as decoder 222 , to anticipate and plan a change from a first to a second bitstream.
  • N_num_fields_to_end_of_stream specifies the time, in field output time units, from decoding of current access unit to the decoding of access unit immediately prior to the end_of stream to which this message applies.
  • the end_of_stream cue2 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders to anticipate and plan a change from a first to a second bitstream.
  • N_num_AU_to_end_of_stream specifies the number of access units, from decoding of current access unit to the decoding of access unit immediately prior to the end_of_stream to which this message applies.
  • the end_of_stream cue3 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders to anticipate and plan a change from a first to a second bitstream.
  • N_num_frame_to_end_of_stream specifies the number of frames, from decoding of current frame to the decoding of frame immediately prior to the end_of_stream to which this message applies.

Abstract

Systems and methods that provide a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures, and that provide information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds to a set of pictures WCOT of the DPYTBO by the video decoder at the IPSP.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority to copending U.S. provisional application entitled, “SYSTEM AND METHODS FOR SPLICING AND CONCATENATING VIDEO BITSTREAMS,” having Ser. No. 61/019,964 filed Jan. 9, 2008, which is entirely incorporated herein by reference.
  • This application is related to copending U.S. utility application entitled, “INDICATING PICTURE USEFULNESS FOR PLAYBACK OPTIMIZATION,” having Ser. No. 11/831,916, filed Jul. 31, 2007, which claims priority to U.S. provisional application, “SYSTEM AND METHOD FOR SIGNALING CHARACTERISTICS OF PICTURES' INTERDEPENDENCIES,” having Ser. No. 60/865,644, filed on Nov. 13, 2006, both of which are entirely incorporated herein by reference. Application Ser. No. 11/831,916 has also published on May 15, 2008 as U.S. Patent Publication No. 20080115176A1.
  • This application is related to copending U.S. utility application entitled, “CONVEYANCE OF CONCATENATION PROPERTIES AND PICTURE ORDERNESS IN A VIDEO STREAM,” having Ser. No. 12/252,632, filed Oct. 16, 2008, which claims priority to U.S. provisional application entitled, “SPLICING AND PROCESSING VIDEO AND OTHER FEATURES FOR LOW DELAY,” having Ser. No. 60/980,442, filed Oct. 16, 2007, both of which are entirely incorporated herein by reference.
  • TECHNICAL FIELD
  • Particular embodiments are generally related to processing of video streams.
  • BACKGROUND
  • Broadcast and On-Demand delivery of digital audiovisual content has become increasingly popular in cable and satellite television networks (generally, subscriber television networks). Various specifications and standards have been developed for communication of audiovisual content, including the MPEG-2 video coding standard and AVC video coding standard. One feature pertaining to the provision of programming in subscriber television systems requires the ability to concatenate video segments or video sequences, for example, as when inserting television commercials or advertisements. For instance, for local advertisements to be provided in national content, such as ABC news, etc., such programming may be received at a headend (e.g., via a satellite feed), with locations in the programming allocated for insertion at the headend (e.g., headend encoder) of local advertisements. Splicing technology that addresses the complexities of AVC coding standards is desired.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the disclosed embodiments. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
  • FIG. 1 is a block diagram that illustrates an example environment in which an embodiment of the disclosed apparatuses and methods may be employed.
  • FIG. 2 is a block diagram of an example video processing device, embodied as a digital home communication terminal (DHCT), which includes functionality to receive, decode, and output a compressed video stream comprising concatenated video sequences according to information included in the video stream.
  • FIG. 3 is a block diagram that illustrates an example video stream comprising information that assists splice operations and/or picture output behavior.
  • FIG. 4 is a block diagram that illustrates a concept of consecutive picture output order in a decoded picture buffer as related to the information conveyed in a video stream.
  • FIG. 5 is a flow diagram that illustrates an example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 6 is a flow diagram that illustrates another example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 7 is a flow diagram that illustrates another example method embodiment that conveys information in a video stream from an encoder to one or more video processing devices.
  • FIG. 8 is a flow diagram that illustrates an example method embodiment that receives information in a video stream at a video processing device.
  • FIG. 9 is a flow diagram that illustrates another example method embodiment that receives information in a video stream at a video processing device.
  • FIG. 10 is a flow diagram that illustrates another example method embodiment that receives information in a video stream at a video processing device.
  • DESCRIPTION OF EXAMPLE EMBODIMENTS Overview
  • In one embodiment, a method that provides a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures, and that provides information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds.
  • Example Embodiments
  • Certain system, apparatus, and method embodiments are disclosed that provide (and/or receive) information in a video stream to assist in the implementation of video processing operations at various devices throughout a subscriber television network. In one embodiment, information is conveyed by an encoding device (e.g., encoder) to a video processing device embodied as a splicer (or splicing device) to indicate where among subsequently transmitted compressed pictures one or more potential (e.g., suitable) splicing points occur. The information may be conveyed in some embodiments as auxiliary information or as a message, such as an SEI (supplemental enhanced information) message, in the video stream (e.g., not at a transport layer). Alternatively, or in addition, such information may include an indication of the machine state of a decoded picture buffer (DPB) resident in a second video processing device (e.g., digital home communication terminal or DHCT), the machine state corresponding to the potential splicing point, which enables the splicer to concatenate, or in some embodiments, replace a video sequence provided by the encoding device with a second video sequence (e.g., commercial, such as provided by a local feed) during a transition period. The information may also include control information, which enables the DHCT to provide a seamless output from the DPB over a transition period, as well as (or alternatively) cues to various locations in the video stream. Additional description of these and other embodiments are disclosed below.
  • A description of the MPEG-2 Video Coding standard can be found in the following publication, which is hereby incorporated by reference: (1) ISO/IEC 13818-2, (2000), “Information Technology—Generic coding of moving pictures and associated audio—Video.” A description of the AVC video coding standard can be found in the following publication, which is hereby entirely incorporated by reference: (2) ITU-T Rec. H.264 (2005), “Advanced video coding for generic audiovisual services.” A description of MPEG-2 Systems for transporting AVC video streams in MPEG-2 Transport packets can be found in the following publications, which are hereby entirely incorporated by reference: (3) ISO/IEC 13818-1, (2000), “Information Technology—Generic coding of moving pictures and associated audio—Part 1: Systems,” and (4) ITU-T Rec. H.222.01 ISO/IEC 13818-1:2000/AMD.3, (2004), “Transport of AVC video data over ITU-T Rec. H222.0|ISO/IEC 13818-1 streams.” Additionally, also published is ITU Rec H.264/ISO/IEC 14496 Part 10, which is incorporated herein by reference.
  • FIG. 1 is a high-level block diagram depicting an example environment in which an embodiment of apparatuses, systems, and/or methods that convey and use information corresponding to potential splice points and decoded picture buffer state information (e.g., machine state, such as consecutive picture order, etc.) are implemented. In particular, FIG. 1 is a block diagram that depicts an example subscriber television system (STS) 100. In this example, the STS 100 includes a headend 110 and one or more video processing devices, the latter embodied in this example as a DHCT 200. The DHCT 200 and the headend 110 are coupled via a network 130. The headend 110 and the DHCT 200 cooperate to provide a user with television services including, for example, broadcast video programs, an interactive program guide (IPG), and/or video-on-demand (VOD) presentations, among others. The television services are presented via the display device 140, which is typically a television set that, according to its type, is driven with an interlaced scan video signal or a progressive scan video signal. However, the display device 140 may also be any other device capable of displaying video images including, for example, a computer monitor, a mobile phone, game device, etc. Although shown communicating with a display device 140, the DHCT 200 may communicate with other devices that receive, store, and/or process video streams from the DHCT 200, or that provide or transmit video streams or uncompressed video signals to the DHCT 200.
  • The DHCT 200 is typically situated at a user's residence or place of business and may be a stand-alone unit or integrated into another device such as, for example, the display device 140, a personal computer, personal digital assistant (PDA), mobile phone, among other devices. The DHCT 200 receives signals (video, audio and/or other data) including, for example, digital video signals in a compressed representation of a digitized video signal such as, for example, AVC streams modulated on a carrier signal, and/or analog information modulated on a carrier signal, among others, from the headend 110 through the network 130, and provides reverse information to the headend 110 through the network 130. The DHCT 200 comprises, among other components, a decoded picture buffer (DPB), as explained further below.
  • The network 130 may include any suitable medium for communicating video and television service data including, for example, a cable television network or a satellite television network, among others. The headend 110 may include one or more server devices (not shown) for providing video, audio, and other types of media or data to client devices such as, for example, the DHCT 200.
  • The headend 110 also includes one or more encoders (encoding devices, compression engines) 111 (one shown) and one or more video processing devices embodied as one or more splicers 112 (one shown) coupled to the encoder 111. In some embodiments, the encoder 111 and splicer 112 may be co-located in the same device and/or in the same locale (e.g., both in the headend 110 or elsewhere), while in some embodiments, the encoder 111 and splicer 112 may be distributed at different locations within the STS 100. The systems and methods disclosed herein are applicable to any video compression method performed according to a video compression specification allowing for at least one type of compressed picture that can depend on the corresponding decompressed version of each of more than one reference picture for its decompression and reconstruction. For example, the encoder 111 may compress the inputted video signal (e.g., from a provider or from a headend server) according to the specification of the AVC standard and produce an AVC stream containing different types of compressed pictures, some that may have a first compressed portion that depends on a first reference picture for their decompression and reconstruction, and a second compressed portion of the same picture that depends on a second and different reference picture. The compressed video (and audio) streams are produced in accordance with the syntax and semantics of a designated video (and audio) coding method, such as, for example, MPEG-2 or AVC, so that the compressed video (and audio) streams can be interpreted by a decompression engine 222 (FIG. 2) for decompression and reconstruction at a future time. Each AVC stream is packetized into transport packets according to the syntax and semantics of transport specification, such as, for example, MPEG-2 transport defined in MPEG-2 systems. Each transport packet contains a header with a unique packet identification code, or PID, associated with the respective AVC stream.
  • In one embodiment, the encoder 111 provides a compressed video stream in a transport stream with information that conveys to the splicer 112 one or more suitable splice points as described further below. The splicer 112 splices one or more video sequences of a second video stream (e.g., provided by a video source separate than the video source that provides the first video stream) to the video stream provided by the encoder 111, and/or in some embodiments, replaces one or more of the video sequences provided by the encoder 111 with other video sequences. Further, the splicer 112 may pass the information provided by the encoder 111, with or without modification, to the DHCT 200, and/or generate additional control information based on the received information, the control information received at and used by the DHCT 200 to enable a seamless output of the pictures (decoded pictures) from the DPB of the DHCT 200 across a concatenation.
  • Any of the below described subsystems or methods of DHCT 200, encoder 111, and/or splicer 112 can comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
  • FIG. 2 is a block diagram of an embodiment of a DHCT 200 as depicted in FIG. 1, in which an embodiment of systems and methods that implement, at least in part, processing of compressed video and information used in enabling the output of pictures from the DPB. It will be understood that the DHCT 200 shown in FIG. 2 is merely illustrative and should not be construed as implying any limitations upon the scope of the disclosure. For example, in some embodiments, the DHCT 200 may have fewer, additional, and/or different components than the components illustrated in FIG. 2.
  • The DHCT 200 preferably includes a communications interface 242 for receiving signals (video, audio and/or other data) from the headend 110 (FIG. 1) through the network 130 (FIG. 1), and provides reverse information to the headend 110.
  • The DHCT 200 may further include one or more processors (one processor 244 is shown) for controlling operations of the DHCT 200, an output system 248 for driving the television display 140 (FIG. 1), and a tuner system 245 for tuning to a particular television channel and/or frequency and for sending and receiving various types of data to/from the headend 110 (FIG. 1). The DHCT 200 may include, in some embodiments, multiple tuners for receiving downloaded (or transmitted) data. The tuner system 245 can select from a plurality of transmission signals provided by the subscriber television system 100 (FIG. 1). The tuner system 245 enables the DHCT 200 to tune to downstream media and data transmissions, thereby allowing a user to receive digital media content via the subscriber television system 100. In one embodiment, analog TV signals can be received via tuner system 245. The tuner system 245 includes, in one implementation, an out-of-band tuner for bi-directional data communication and one or more tuners (in-band) for receiving television signals. Additionally, a receiver 246 receives externally-generated user inputs or commands from an input device such as, for example, a remote control device (not shown).
  • The DHCT 200 may include one or more wireless or wired interfaces, also called communication ports or interfaces 274, for receiving and/or transmitting data or video streams to other devices. For instance, the DHCT 200 may feature USB (Universal Serial Bus), Ethernet, IEEE-1394, serial, and/or parallel ports, etc. The DHCT 200 may be connected to a home network or local network via communication interface 274. The DHCT 200 may also include an analog video input port for receiving analog video signals. User input may be provided via an input device such as, for example, a hand-held remote control device or a keyboard.
  • The DHCT 200 includes at least one storage device 273 for storing video streams received by the DHCT 200. A PVR application 277, in cooperation with operating system 253 and device driver 211, effects among other functions, read and/or write operations to/from the storage device 273. The processor 244 may provide and/or assist in control and program execution for operating system 253, device driver 211, applications (e.g., PVR 277), and data input and output. The processor 244 may further provide and/or assist in receiving and processing information corresponding to splice points and/or machine state in the received video stream, and decoding and outputting a video stream according to the received information. Herein, references to write and/or read operations to the storage device 273 can be understood to include operations to the medium or media of the storage device 273. The device driver 211 is generally a software module interfaced with and/or residing in the operating system 253. The device driver 211, under management of the operating system 253, communicates with the storage device controller 279 to provide the operating instructions for the storage device 273. As conventional device drivers and device controllers are well known to those of ordinary skill in the art, further discussion of the detailed working of each will not be described further here.
  • The storage device 273 may be located internal to the DHCT 200 and coupled to a common bus 205 through a communication interface 275. The communication interface 275 may include an integrated drive electronics (IDE), small computer system interface (SCSI), IEEE-1394 or universal serial bus (USB), among others. Alternatively or additionally, the storage device 273 may be externally connected to the DHCT 200 via a communication port 274. The communication port 274 may be according to the specification, for example, of IEEE-1394, USB, SCSI, or IDE. In one implementation, video streams are received in the DHCT 200 via communications interface 242 and stored in a temporary memory cache (not shown). The temporary memory cache may be a designated section of DRAM 252 or an independent memory attached directly, or as part of a component in the DHCT 200. The temporary cache is implemented and managed to enable media content transfers to the storage device 273. In some implementations, the fast access time and high data transfer rate characteristics of the storage device 273 enable media content to be read from the temporary cache and written to the storage device 273 in a sufficiently fast manner. Multiple simultaneous data transfer operations may be implemented so that while data is being transferred from the temporary cache to the storage device 273, additional data may be received and stored in the temporary cache.
  • The DHCT 200 includes a signal processing system 214, which comprises a demodulating system 210 and a transport demultiplexing and parsing system 215 (herein demultiplexing system) for processing broadcast and/or on-demand media content and/or data. One or more of the components of the signal processing system 214 can be implemented with software, a combination of software and hardware, or in hardware. The demodulating system 210 comprises functionality for demodulating analog or digital transmission signals.
  • An encoder or compression engine, as explained above, may reside at the headend 110 (e.g., embodied as encoder 111), in the DHCT 200 (e.g., embodied as compression engine 217), or elsewhere. The compression engine 217 can receive a digitized uncompressed video signal, such as, for example, one provided by analog video decoder 216, or a decompressed video signal produced by a decompression engine (e.g., decompression engine 222) as a result of decompressing a compressed video signal.
  • In one embodiment, digitized pictures and respective audio output by the analog video decoder 216 are presented at the input of the compression engine 217, which compresses the uncompressed sequence of digitized pictures according to the syntax and semantics of a video compression specification. Thus, the compression engine 217 implements a video compression method or algorithm that corresponds to a respective video compression specification, such as the AVC standard, to provide a video stream.
  • In some embodiments, a compression engine with similar compression capabilities, such as one that can produce AVC streams, is connected to the DHCT 200 via communication port 274, for example, as part of a home network. In another embodiment, a compression engine with similar compression capabilities, such as one that can produce AVC streams, may be located at the headend 110 or elsewhere in the network 130, as explained above. In some embodiments, the compression engine 217 in may include capabilities to provide splicing information (e.g., including control information) for a produced video stream, such as when locally stored video sequences (e.g., commercials stored in the storage device 273) are intended for local concatenation (e.g., locally spliced) and subsequent decoding and output.
  • The demultiplexing system 215 can include MPEG-2 transport demultiplexing capabilities. When tuned to carrier frequencies carrying a digital transmission signal, the demultiplexing system 215 enables the separation of packets of data, corresponding to the desired AVC stream, for further processing. Concurrently, the demultiplexing system 215 precludes further processing of packets in the multiplexed transport stream that are irrelevant or not desired, such as packets of data corresponding to other video streams. Parsing capabilities of the demultiplexing system 215 allow for the ingesting by the DHCT 200 of program associated information carried in the transport packets.
  • The components of the signal processing system 214 are generally capable of QAM demodulation, forward error correction, demultiplexing of MPEG-2 transport streams, and parsing of packets and streams. Stream parsing may include parsing of packetized elementary streams or elementary streams. In yet another embodiment, processor 244 performs parsing, processing, and interpretation of information. The signal processing system 214 further communicates with the processor 244 via interrupt and messaging capabilities of the DHCT 200. The processor 244 annotates the location of pictures within the video stream or transport stream as well as other pertinent information corresponding to the video stream.
  • The packetized compressed streams can also be outputted by the signal processing system 214 and presented as input to the decompression engine 222 for audio and/or video decompression. The signal processing system 214 may include other components (not shown), including memory, decryptors, samplers, digitizers (e.g., analog-to-digital converters), and multiplexers, among others.
  • Upon effecting the demultiplexing and parsing of the transport stream, the processor 244 interprets the data output by the signal processing system 214 and generates ancillary data in the form of a table or data structure (index table 202) comprising the relative or absolute location of the beginning of certain pictures in the compressed video stream.
  • The demultiplexing system 215 can parse the received transport stream (or the stream generated by the compression engine 217, which in some embodiments may be a program stream) without disturbing its video stream content and deposit the parsed transport stream (or generated program stream) into the DRAM 252. The processor 244 causes the transport stream in DRAM 252 to be transferred to a storage device 273. Additional relevant security, authorization and/or encryption information may be stored.
  • A decompression engine 222 comprises one or more software and/or hardware components (collectively logic) including video decompression logic 223, upconverter logic 227, audio decompression logic 225, and a DENC 226. Note that in some embodiments, one or more of the above-described logic may be distributed among several components, or omitted in some embodiments. The decompression engine 222 provides decoding functionality responsive in some embodiments to information received in the stream, the information identifying splice points or indicators of splice points or potential splice points, and/or output behavior of one or more pictures of the decoded picture buffer (DPB) 297 residing in one embodiment in decompression engine memory 299. Note that at least in one embodiment, reference herein to a decoding system comprises decoding functionality and cooperating elements, such as found in the collective functionality of the decompression engine 222, processor 244, signal processing system 214, and memory. In some embodiments, the decoding system can comprise fewer, greater, or different elements. Further, certain system and method embodiments include components from the headend (e.g., the encoder 111, etc.) and/or components from the DHCT 200, although a fewer or greater amount of components may be found in some embodiments.
  • Having provided example environments in which certain embodiments of the disclosed systems and methods may be employed, attention is directed to FIGS. 3 and 4 in conjunction with the following description. It is noted that some of the below description pertaining to the conveyance of information (e.g., conveyance of N and M, as described below) may also be found, at least in part, in one or more of the commonly assigned and co-pending applications cited in the cross-reference section above. With regard to FIG. 3, shown in an example video stream 300, for instance as provided by the encoder 111. In some embodiments, the video stream 300 may be provided in a transport stream. A message 302 provided in the video stream 300 includes information that conveys the relative location from a current picture (picture, frame, or access unit) or the location of the message 302 in the bitstream 300 to, for example, immediately after a second access unit (the second access unit designated for illustrative purposes as N0, and the location immediately after the second access unit in the bitstream 300 is designated as 304) to identify a location or a property. The number of pictures or access units, N, identifies the location in the bitstream 300 (i.e., the video stream), and N may be expressed in the message 302 in one of different forms that connotes the number of consecutive frames, access units, pictures, slices, fields, or time ticks, or in the bitstream to identify a location (e.g., 304) from the location of the provided message 302. Different embodiments express N differently, as shown below. One method does not convey N in the message 302.
  • Thus, N expresses the number of consecutive pictures or access units between the two locations (e.g., 302 and 304) in the bit stream 300. A data field is a data element that conveys the value for N. The data element may be pre-assigned to a particular “non-zero” value that is sufficient to identify the Nth picture in the bit stream 300 (or herein AVC stream) as the picture or point in the bitstream 300 identifying particular property or location. Note that in some embodiments, the message 302 may provide a cue to additional potential splice points, such as potential splice point 306 immediately following the N1 th picture and immediately preceding the N1+1th picture in the video stream 300.
  • Information conveying a stream property provides: (1) a location in the AVC stream where the stream property becomes effective, and (2) information related to, and identifying, a particular stream property. The conveyed information enables a video processing device to perform a corresponding stream manipulation operation that is suitable to be performed at the location in the AVC stream where the identified particular stream property is effective. For instance, a first stream property may be a “suitable splice point,” which is a location in the AVC stream suitable for transitioning from the AVC stream into another AVC stream, such as an advert or commercial. A suitable splice point may be also called a potential splice point or an identified or determined splice point.
  • In one embodiment, the message 302 includes a form of providing a value for N consecutive pictures in a first AVC stream (e.g., 300) corresponding to the location for a “suitable splice point” (e.g., 304) that allows a stream splicing operation to performed by a splicing device from the first bitstream 300 to a second bitstream (not shown). A first data element provides a value, N, corresponding to the number of consecutive pictures, including the first picture, to identify the location 304 after the Nth picture and prior to the (N+1)th picture as the location in the first AVC stream 300 where the “suitable splice point” becomes effective. A second data element provides a value, M, that conveys the number of decompressed pictures in the decoded picture buffer (DPB) (e.g., DPB 297, FIG. 2) that have successive picture-output times, with the first of the successive output times being at the picture-output time immediately after the decompression time of the Nth picture. The DPB 297 is in accordance with the AVC (also ITU H.264) standard and resides in decompression memory (e.g., decompression engine memory 299) of a decoder (e.g., decompression engine 222). The location 304 in the AVC stream 300 where the “suitable splice point” becomes effective equals the decompression time of the Nth picture (i.e., under the assumption of a hypothetical instantaneous decoder). The earliest output time of the M decompressed pictures of the first AVC stream residing in the DPB, output-time(1_of_M), equals the decompression time of the Nth picture plus one picture-output interval. That is, it is at the next picture-output time, thus output(1_of_M)=decode−time(N_of_N)+1.
  • The M decompressed pictures in the DPB with successive output times may have been in successive order in the first AVC stream 300. In one embodiment, the corresponding compressed M pictures were not in successive order in the first AVC stream 300.
  • The number of picture-output times from the decompression of the first of the N consecutive picture, decode-time (1_of_N), to the picture-output time of the last of the M pictures in the DPB, output-time(M_of_M), equals (N+M). Hence, there are (N+M) different pictures that are output from the first AVC stream up to the “suitable splice point.” Each of the (N+M) different pictures has a respective output-time corresponding to one of (N+M) consecutive picture-output times, the first picture-output time being coincident with decode-time(1_of_N).
  • In one embodiment, a first AVC stream is required to exhibit the following properties at the location where the “suitable splice point” becomes effective:
      • 1. An AVC decompression engine 222 (FIG. 2) that receives and decompresses a portion of the first AVC stream, that ends with the Nth picture and includes the N consecutive pictures, must be able to:
        • A. Output all of the N consecutive pictures between the (N+M) picture-output times starting with and including decode-time(1_of_N and ending with output-time(M_of_M), and
        • B. Output (N+M) different pictures during these (N+M) consecutive picture-output times.
      • 2. No picture in the first AVC stream prior to and including the Nth picture must have an output time after output-time(M_of_M).
  • In summary, in one embodiment, a compression engine (e.g., encoder 111) or video processing device (e.g., splicer 112) may not provide a “suitable splice point” that results in a discontinuity or gap for any of the (M+N) picture-output times, possibly forcing a previously output picture to be output repeatedly (i.e., because the picture corresponding to a respective picture-output time was not in the first AVC stream prior to the “suitable splice point”). If a picture had an output time after output-time(M_of_M), it would reside in the DPB 297 and not be output. A video processing device and/or compression engine provides a message corresponding to a “suitable splice point” only if the corresponding location in the stream satisfies the above properties.
  • A splice operation of the first AVC stream to the second AVC stream is performed by a video splicing device (e.g., splicer 112, FIG. 2), located in the headend 110, network 130, or elsewhere, by using values of the first data element and second data element, N and M, respectively, provided in a message (e.g., message or information 302) in the bitstream 300 (i.e., the compressed video stream or AVC stream). The video splicing device 112 uses the N and M values to produce a third AVC stream comprising of a portion of the first AVC stream followed by the second AVC stream. The portion of the first AVC stream in the third AVC stream terminates at the location of the first AVC stream after the Nth picture. The first picture of the second AVC stream (FPOSAS) that follows the Nth picture in the third stream is referred to as the FPOSAS-picture. The video splicing device 112 produces the third AVC stream with an overlapped transition period of M picture-output times. That is, the video splicing device 112 produces the third AVC stream such that following four conditions are met:
      • 1. the M pictures from the first AVC stream with successive output times and residing in the DPB buffer at a “suitable splice point,” are assigned a respective output (or display) time for each of the M picture-output times in accordance with their original output order,
      • 2. None of the pictures from the first AVC stream are decompressed during the overlapped transition period. That is, the latest decode time assigned to a picture from the first AVC stream is prior to the start of the overlapped transition period.
      • 3. M pictures from the second AVC stream, starting with the FPOSAS-picture, are decompressed during the overlapped transition period.
      • 4. None of the pictures from the second AVC stream are output during the overlapped transition period. The earliest picture-output time assigned to a picture from the second AVC stream is one picture-output time after the end of the overlapped transition period.
  • Referring to FIG. 4, shown is a block diagram that illustrates, generally, picture interdependencies in an example video sequence of compressed pictures provided by the encoder 111, and more specifically, the conditions described above. The first row 402 of FIG. 4 comprises the output order of an exemplary GOP, such as received and decoded in decode order 404 (i.e., transmission order) at the decompression engine 222. The GOP comprises a sequence of compressed pictures (designated by picture types, such as I, P, or B). The picture interdependencies are shown, in part, by the arrows above and below each picture (pictures numbered 1-25 at the top of each respective picture). An arrow tail shown at a picture depicts that that picture serves as a reference picture to the other picture where the corresponding arrow head is shown. That is, the arrow conveys that the other picture is predicted from the reference picture. For instance, in FIG. 4, picture 3 is predicted from (and hence depends from) picture 1 and picture 5. Although shown described having a similar pattern of dependency between bounds (e.g., between pictures 1 and 9, and pictures 9 and 17), one having ordinary skill in the art should appreciate that different patterns and/or dependencies can be found from one bounded group to the next.
  • Beneath row 402 of FIG. 4 is the decode order 404, corresponding to the order in which the pictures are decoded for reconstruction at the decompression engine 222. The transmission order of pictures is different than the output or display order due to the need to have the reference pictures prior to decoding a picture. Note that P pictures can be forward predicted or backwards predicted, and typically, that fact is not evident until the pictures are decoded. For instance, knowledge of the picture type (e.g., as ascertained by a header) does not necessarily convey how prediction is employed or picture interdependencies.
  • Beneath row 404 is section 406, which illustrates the machine state of the DPB 297, sorted (from top to bottom in 406) in order of output from the DPB 297. Below section 406 is row 408, which provides a value for M. For instance, it is noted that potential splice points 410 and 412 each follow a machine state of the DPB 297 that comprises three (M=3) pictures in consecutive output order (e.g., B7, b8, P9 for potential splice point 410 and B15, b16, and P17 for potential splice point 412). In some embodiments, other values of M correspond to potential splice points.
  • The third AVC stream is received by DHCT 200 and decompression is performed on the compressed picture of the third AVC stream by decompression engine 222. DHCT 200 is an example of a receiver that houses a decoder (i.e., a decoding device, such as decompression engine 222). Decompressed pictures are stored in the decompression memory 299. The output system 248 serves to output (e.g., to display device 140) the decompressed pictures at their respective output times. Orchestration of decompression and outputting of pictures is performed according to the respective decode-time and output-time of each picture in the third AVC stream. When the portion of the third AVC stream corresponding to the spliced first and second AVC streams is processed by decompression engine 222, the overlapped transition period comes into effect. During the overlapped transition period, decompression engine 222 decompresses M consecutive pictures that emanated from the second AVC stream while outputting the last M pictures from the first AVC stream.
  • In one embodiment, at least one of the N consecutive pictures prior to the identified “suitable splice point” in the first AVC stream is also one of the M decompressed pictures of the first AVC stream in the DPB 297 with successive output times at the time that the “suitable splice point” becomes effective.
  • In one embodiment, N is required to be greater than M to announce the “suitable splice point” in the first AVC stream with sufficient lead time before it becomes effective. In an alternate embodiment, N>M and N is also greater than a pre-specified threshold (e.g., three picture-output intervals or picture-output times). In yet another embodiment, the same “suitable splice point” is announced N times with respective messages corresponding respectively to each of the N consecutive picture in the first AVC stream. That is, starting with the first of the N consecutive in the first AVC stream, N instances of messages is provided in the video stream, each instance corresponding respectively to one of the N consecutive pictures. The information in the message conveys respective values for the first data element and second data element as necessary to provide an indication of a potential or suitable splice point.” The first data element's value is N for the first picture and decreases by one successively in each successive instance of the message and corresponds to each one of the successive access units in the sequence of N consecutive access units. The first data element's value, N, finally becomes equal to one for the Nth picture. The second data element's value remains constant, equal to M, through the N successive instances of the message that respectively corresponds to the N consecutive pictures. Two “different devices” may use two different announced messages that convey a potential splice point in the first AVC stream to prepare and perform the transition to the second AVC stream at the identified location of the “suitable splice point” of the first AVC stream. A third “video splicing device” may use more than one, and possibly all N instances of messages to prepare and perform the transition.
  • In one embodiment, the video splicing device that produces the third AVC stream sets the decompression time for the FPOSAS-picture equal to output-time(1_of_M), which is also equal to the decode-time(N_of_N)+1.
  • In one embodiment, the video splicing device 112 provides the FPOSAS-picture with an output time equal to M picture-output times after its decompression time and the FPOSAS-picture serves as a past reference picture to at least one picture with a decode-time greater than the decode-time of the FPOSAS-picture. Thus, M picture-output times are added to the decode-time of the FPOSAS-picture. In another embodiment, the FPOSAS-picture in the third AVC stream is provided a picture-output time less than M picture-output times after its decompression time, forcing a shortened overlapped transition period and at least one of the M pictures from the portion of the first AVC stream to not be displayed. In yet another embodiment, the output time of the FPOSAS-picture is greater than or equal to (M+1) picture-output times after its decode-time, and the FPOSAS-picture serves as a future reference picture to at least one picture with a decode-time greater than the decode-time of the FPOSAS-picture, including the picture from the second AVC stream that has an output time equal M picture-output times after the decompression time of the FPOSAS-picture.
  • The FPOSAS-picture in the third AVC may be an IDR-picture. In another embodiment, the FPOSAS-picture in the third AVC may be an IDR-picture or an I-picture. In yet another embodiment, the FPOSAS-picture in the third AVC stream is an I-picture.
  • In one embodiment, a compression engine 111 that produces the first AVC stream provides each picture in the first AVC stream with their respective picture-output time delayed by one picture-output interval to cause the value of M to be increased by one. Although the maximum number of reference pictures that can be retained in the DPB 297 is reduced by one, it benefits the splicing operation by lengthening the overlapped transition period from the first AVC stream to the second AVC stream by one picture-output interval. The longer overlapped transition period tends to reduce any potential increase in the bit-rate of the third AVC stream that may manifest as a result of starting compression at the FPOSAS-picture without the benefit of reference pictures.
  • In an alternate embodiment, the video splicing device 112 provides a longer overlapped transition period by causing the last picture output from the portion of the first AVC stream to be output repeatedly over one or more extra picture-output intervals and setting the respective picture-output times for the pictures from the portion of the second AVC stream accordingly.
  • In one embodiment, the video splicing device 112 producing the third AVC stream retains in the bitstream the original information that conveyed the “suitable splice point” for the first AVC stream. The third AVC stream may then be spliced at a later time at the location in the third AVC stream where the “suitable splice point” becomes effective. Thus the portion of the third AVC stream containing the first AVC stream can be retained and the portion corresponding to the second AVC stream can be overwritten, in part or in its entirety, starting with the FPOSAS-picture. As a non-limiting example, when the second AVC stream corresponds to a first commercial, this allows for another splice operation to be performed to overwrite the second AVC stream by a fourth AVC stream that corresponds to a second commercial. The stream splicing operation from the third AVC stream to the fourth AVC stream can be performed by a different video splicing device than the one that produced the third AVC video stream. The produced fifth AVC stream comprises of the portion of the first AVC stream in the third AVC stream followed by the fourth AVC stream.
  • In one embodiment, the video splicing device producing the third AVC stream uses the additional information for the “suitable splice point, to perform and enhance the splicing of the first and second AVC streams.
  • In one embodiment, a message conveying a “suitable splice point” and corresponding to the first of N consecutive pictures in the first AVC stream also includes a third data element that provides a value corresponding to P consecutive pictures prior to, but not including, the first of N consecutive pictures (i.e., the identified picture). Whereas N conveys the location in the first AVC stream where the “suitable splice point” becomes effective, P conveys the number of consecutive pictures in the first AVC stream that must be decompressed prior to the first of the N consecutive pictures so that all (N+M) pictures can be output with their complete information. For instance, if a user has merely started receiving a broadcast video program, it may not be possible to obtain all the information to decompress some pictures that depend on reference pictures that were transmitted prior to when the user started receiving the program. Likewise, some pictures may indirectly depend on some reference pictures that are not available. In an alternate embodiment, P may be the number of pictures that must be decompressed prior to the Nth picture, and P>N. In another embodiment, P pictures must be decompressed to guarantee the output with complete information of the M pictures in the DPB.
  • In yet another embodiment, a message conveying information for a potential (i.e., suitable) “splice point” is only provided at a location in the AVC stream that guarantees the output with complete information of the M pictures in the DPB. Alternatively, it is only provided at a location in the AVC stream that guarantees the output with complete information of the (N+M) pictures.
  • Conveyance of Suitable Splice Points in the Bitstream
  • Having provided a general overview for the various systems and methods described herein, attention is directed to FIGS. 5-7 and FIGS. 8-10. FIGS. 5-7 are flow diagrams that illustrate example methods implemented in one embodiment by the encoder 111 to convey information (e.g., messages) to a splicer 112, the information including a cue to potential splice points and/or the machine state of pictures in the DPB 297. FIGS. 8-10 are flow diagrams that illustrate example methods, implemented in one embodiment by a splicer 112, that receive and process the information and video stream provided by the encoder 111 to assist in the concatenation (splicing) process. In general, one or more embodiments of the example methods provide (or receive) a message conveying a potential splice point in the bitstream located N access units from the location in the bitstream of the message or the current access unit. The message also conveys for the identified splice point the number of access units in the DPB 297 (decoded picture buffer at the decoder), M, as explained above. A splicing device (e.g., splicer 112) may use the identified splice point to concatenate two bitstreams, imparting at the decoder 222 a splice transition period that spans M picture output intervals. During the splice transition period at the decoder 222, a picture from the first bitstream is output from the DPB 297 while each decoded picture from the second bitstream enters the DPB 297.
  • The provided message may serve as a cue that would be provided by the encoder 111 to convey a suitable splice point in the bitstream to the splicing device 112 (e.g., the receiving device). The splicing device 112, in one embodiment, may implement a method of receiving the provided message, interpreting the information in the provided message to determine whether to exercise initiating and splice operation at an identified potential splice point. The splicing device 112 performs a splicing operation based on one or more received messages, each containing information pointing to distinctive splice points in the bitstream. In another embodiment, several messages are received at the splicing device 112 but one or more of the messages point to the same splice point in the bitstream.
  • A splice point is located N access units from the current access unit or the location from where the message is located in the bitstream. Herein, a potential splice point is characterized as: (1) a location in the bitstream in which M pictures in the DPB have successive picture-output times, and (2) the earliest output time of the M pictures equals the output time immediately after the decode time of the Nth picture (e.g., the decode time of the Nth picture plus one picture-output interval).
  • The splicing device 112 that uses the received message (e.g., 302, FIG. 3) can use the information to cause a transition period at the decoder 222 in which pictures from the first bitstream in the DPB 297 are output while pictures from the second bitstream are decoded and stored in the DPB.
  • As N identifies the location of a potential splice point in the bitstream, it may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of a suitable splice point from the location of the provided message. Different embodiments expressing N differently, as shown below. One method does not convey N in the message but M only.
  • A potential splice point may be announced in one or more, and possibly all of the N access units (i.e., an access unit is a distinct encoded picture in the compressed video stream, or bitstream, that precedes the location of the potential splice point). The value of N is decremented in successive instances of the message in consecutive access units in the bitstream that precede the identified splice point
  • The splicing device or splicer 112 may use an identified splicing point to produce a concatenation of two bitstreams. At the decoder 222, the concatenated bitstream exhibits a transition period that spans M picture-output times. As a picture from the first bitstream is output from the DPB 297 during the transition period, a corresponding picture from the second bitstream is decoded and stored in the DPB. A decoded picture from the second bitstream can occupy the DPB vacancy created from outputting the picture from first bitstream. The splicer 112 may include MMCOs (memory management and control operations that remove a decoded picture that resides in the DPB) to remove some or all of the pictures of the first bitstream from the DPB 297. However, in some embodiments, the splicer 112 may start the second bitstream with an IDR and make proper use of no_output_of prior_pics_flag.
  • The earliest picture-output time assigned to a picture from the second bitstream by the splicer 112 is one picture-output time after last output picture from the first bitstream. However, it should be noted that in some embodiments, the splicer 112 may opt to use an identified splice point but use a transition period less than M. Likewise, the DPB 297 may have more than M pictures at the identified splice point and the splicer 112 may need to employ MMCOs.
  • Some example message syntaxes corresponding to the conveyed information are presented below from which various method and system embodiments are contemplated.
  • Splice Point Cue1 Message Syntax
  • splice_point_cue1( payloadSize ) { C Descriptor
    N_num_fields_to_prior_pics_dpb_output 5 u(8)
    M_num_fieldsdpb_output_delay 5 u(5)
    num_prior_pics_in_dpb 5 u(5)
    for (j = 0; j < num_prior_pics_in_dpb; j++) {
     consecutive_poc_flag[ i ] 5 u(1)
     pic_struct[ i ] 5 u(3)
     }
  • Splice Point Cue1 Message Semantics
  • The splice point cue1 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate the IDR prior pictures output cue message.
  • N_num_fields_to_prior_pics_dpb_output specifies the time, in field output time units, from decoding of current access unit to the decoding of access unit immediately prior to the indicated splice point to which this message applies.
  • M_num_fields_dpb_output_delay specifies the time, in field output time units, from first picture to last picture in DPB exhibiting contiguous output times and with the first picture having output time equal to N_num_fields_to_prior_pics_dpb_output +2. A frame is considered 2 fields' time.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit prior to the indicated splice point. Not all pictures in the DPB may have consecutive output times.
  • consecutive_poc_flag[i] equal to 1 indicates that the picture has a consecutive picture order count as compared to previous picture output from the DPB. Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • Splice Point Cue2 Message Syntax
  • splice_point_cue2( payloadSize ) { C Descriptor
    N_num_AU_to_prior_pics_dpb_output 5 u(8)
    M_num_AUdpb_output_delay 5 u(5)
    num_prior_pics_in_dpb 5 u(5)
    for (j = 0; j < num_prior_pics_in_dpb; j++) {
     consecutive_poc_flag[ i ] 5 u(1)
     pic_struct[ i ] 5 u(3)
     }
  • Splice Point Cue2 Message Semantics
  • The splice point cue2 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate an IDR prior pictures output cue message.
  • N_num_AU_to_prior_pics_dpb_output specifies the number of access units, from decoding of current access unit to the decoding of access unit immediately prior to the indicated splice point to which this message applies.
  • M_num_AU_dpb_output_delay specifies the number of access units in DPB with contiguous output times. The first picture has output time equal to N_num_fields_to_prior_pics_dpb_output +2.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit prior to the indicated splice point. Not all pictures in the DPB may have consecutive output times.
  • consecutive_poc_flag[i] equal to 1 indicates that the picture has a consecutive picture order count as compared to previous picture output from the DPB. Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • Splice Point Cue3 Message Syntax
  • splice_point_cue3( payloadSize ) { C Descriptor
     N_num_AU_to_prior_pics_dpb_output u(8)
     M_num_AUdpb_output_delay 5 u(4)
     num_prior_pics_in_dpb u(4)
     last_pic_before_splice_POC 5 u(32)
     if( CpbDpbDelaysPresentFlag ) {
      splice_pic_initial_buffering_delay 5 u(v)
      splice_pic_dpb_output_delay 5 u(v)
     }
    }
  • Splice Point Cue3 Message Semantics
  • The splice point cue3 message is intended to provide early cues for pre-conditioned splice points. This message may provide early cues to assist digital program insertion. Concatenation devices may make use of this information to generate an IDR prior pictures output cue message.
  • N_num_frames_to_prior_pics_dpb_output specifies the number of frames, from decoding of current frame to the decoding of frame immediately prior to the indicated splice point to which this message applies.
  • M_num_frames_dpb_output_delay specifies the number of frames in DPB with contiguous output times. The first frame has output time equal to N_num_frames_to_prior_pics_dpb_output +22
  • num_prior_frames_in_dpb indicates the number of frames remaining in the DPB to be output after the decoding of the associated frame prior to the identified potential splice point. Not all pictures in the DPB may have consecutive output times.
  • last_frame_before_splice_POC specifies the picture order count of the frame prior to the identified splice point.
  • splice_pic_initial_buffering_delay specifies the initial buffering delay effective at the picture in the stream immediately after the identified splice point.
  • splice_pic_dpb_output_delay specifies the DPB output delay (e.g., PTS-DTS) effective at the picture in the stream immediately after the identified splice point.
  • Splice Point DPB Cue4 Message Syntax
  • splice_point_DPB_cue4( payloadSize ) { C Descriptor
    num_prior_pics_in_dpb 5 u(5)
    for (j = 0; j < num_prior_pics_in_dpb; j++) {
     consecutive_poc_flag[ i ] 5 u(1)
     pic_struct[ i ] 5 u(3)
     }
  • Splice Point DPB Cue4 Message Semantics
  • The splice point DPB cue message is intended to provide DPB cues for pre-conditioned splice points. The message shall contain information of the DPB state after completion of the DPB process as described in clause C.2 of ITU Recommendation H.264 for the associated access unit. This message may provide cues to assist digital program insertion. Concatenation devices may make use of this information to generate IDR prior pictures output cue message.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB to be output after the decoding of the associated access unit.
  • consecutive_poc_flag[i] equal to 1 indicates that the picture has consecutive picture order count as compared to previous picture output from the DPB. Picture order counts are consecutive if the increments are 1 for field pictures and 2 for frame pictures, or the pictures are intended to be output without gaps. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • pic_struct[i] indicates the pic_struct value that is associated with each picture. The pictures are sorted by corresponding picture order counts from smallest value to highest value.
  • Having described some example message syntaxes, it should be appreciated that one method embodiment, shown in FIG. 5 and denoted as method 500, comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (502), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds to a set of pictures WCOT of the DPYTBO by the video decoder at the IPSP (504).
  • Another method embodiment, shown in FIG. 6 and denoted as method 600, comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (602), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields, wherein each of the plurality of second data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of second data fields in the plurality of second data field equals to the value of the first data field, and wherein the value of each of the second data field indicates how each of the respectively corresponding DPYTBO at the IPSP is to be output by the video decoder (604).
  • Another method embodiment, shown in FIG. 7 and denoted as method 700, comprises providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (702), and providing information in the video stream, wherein the information includes plural data fields, the provided information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields that provide information corresponding to the relative output times of the DPYTBO by the video decoder at the IPSP (704).
  • In addition, one having ordinary skill in the art, in the context of the present disclosure, should appreciate that receive-side (e.g., at a video processing device such as the splicer 112) method embodiments are contemplated that largely mirror the transmit-side methods described above in association with FIGS. 5-7. Accordingly, one method embodiment, shown in FIG. 8 and denoted as method 800, comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (802), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the received information in the video stream; a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds to a set of pictures WCOT of the DPYTBO by the video decoder at the IPSP (804).
  • Another method embodiment, shown in FIG. 9 and denoted as method 900, comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (902), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields, wherein each of the plurality of second data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of second data fields in the plurality of second data field equals to the value of the first data field, and wherein the value of each of the second data field indicates how each of the respectively corresponding DPYTBO at the IPSP is to be output by the video decoder (904).
  • Another method embodiment, shown in FIG. 10 and denoted as method 1000, comprises receiving a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures (1002), and receiving information in the video stream, wherein the information includes plural data fields, the received information comprising: a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and a plurality of second data fields that provide information corresponding to the relative output times of the DPYTBO by the video decoder at the IPSP (1004).
  • In some embodiments, additional (or fewer) steps for one or more of the above-described methods are contemplated to be within the scope of the disclosure.
  • Further, one having ordinary skill in the art, in the context of the present disclosure, should understand that any of the above methods may be considered without including explicitly the consecutive_poc_flag of each picture in the DPB and its pic_struct. Likewise, it should be understood, in the context of the present disclosure, that any of the above methods could be amended to include any of the syntax elements described in other parts of this disclosure or the sections entitled: Forewarning location of end_of_stream in spliced bitstreams, or/and in the section entitled: Method to control DPB output in non-seamless spliced bitstreams with end_of_stream.
  • Method to Control DPB Output in Non-Seamless Spliced Bitstreams with end_of_stream
  • Having described the conveyance of information between an encoder 111 and video processing device (e.g., splicer 112), attention is directed to certain system and/or method embodiments for providing, receiving, and/or processing of control information, the control information (or information) passed through by the splicer 112 from the encoder 111 in some embodiments, or generated by the splicer 112 (e.g., in response to the information received from the encoder 111 as described above) in some embodiments. Such control information enables a video processing device, such as the DHCT 200, to orchestrate the output of pictures from the DPB 297. The message according to the following description provides information to control the output of DPB pictures at the splice point of non-seamless concatenated bitstreams. For instance, and referring to FIG. 3, relevant to this discussion are machine states of the DPB 297 where M equals, for instance, two (2). The message can serve as a tool to splicing devices along with the end_of_stream NAL unit and no_output_of_prior_pics_flag. The message is provided in the bitstream prior to the end_of_stream NAL unit to identify its location and specify the output behavior of non-previously output pictures in the DPB 297 at the time that the end_of_stream NAL unit becomes effective. Information that specifies the output behavior of each non-previously output DPB picture allows for outputting a picture, not outputting, or outputting the picture for a number of consecutive times prior to outputting the subsequent picture from the first bitstream. The message may be signaled ahead with information that points to the location of the end_of_stream
  • One method provides a message that serves as a cue that is provided by a splicing device 112 to a decoder 222 to convey information that alleviates the non-seamless transition to a concatenated stream. As described herein, the concept of N may be used to identify the location of a splice point in the bitstream and may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of the splice point from the location of the message. Different method embodiments for expressing N in the message are disclosed herein. One method embodiment does not convey N but only information to control the output of pictures.
  • A potential splice point may be announced in one or more, and possibly all of the N access units preceding the location of the splice point. The value of N is decremented in successive instances of the message in consecutive access units that precede the splice point
  • A decoder, such as decoder or decompression engine 222, may use the provided message to alleviate the effects of a non-seamless concatenation of two bitstreams. At the decoder 222, the concatenated bitstream exhibits a transition period that spans M picture-output times. As a picture from the first bitstream is output from the DPB 297 during the transition period, control information specifies the outputting of each picture. Outputting may be consistent with pic_struct, but for an interlaced source, the splicing device 112 provides information to prohibit the manifestation of motion jitter. Hence, for an interlaced source, the last output field of an interlaced frame is output, as both the top and bottom fields, to satisfy the repetition amount specified by the output cue in the message.
  • In similar fashion to the disclosure above, some example syntaxes are provided below, from which various systems and methods are contemplated that convey or receive such information and process the same.
  • IDR Prior Pictures Output Cue Message Syntax
  • IDR_prior_pic_output_cue( payloadSize ) { C Descriptor
    use_no_output_of_prior_pics_flag 5 u(1)
    num_prior_pics_in_dpb 5 u(5)
    for (j = 0; j < num_prior_pics_in_dpb; j++) {
     output_cue[ i ] 5 u(3)
     }
  • IDR Prior Pictures Output Cue Message Semantics
  • The IDR prior pic output cue message is intended to assist the decoder 222 in outputting prior pictures remaining in the DPB 297 from the previous bitstream across a concatenation. This message applies to the prior pictures output by the DPB process triggered by the decoding of an End_of_Stream NAL unit or an IDR access unit. The message shall be in the same access unit as the effected End_of_Stream NAL unit, or if there is no End_of_Stream NAL unit, in the same access unit as the effected IDR NAL. This message may be useful for digital program insertion applications. Further, it may help the decoder 222 to maintain continuous picture output for bitstreams having a discontinuous DPB output across concatenation points. In such applications, this message may be output by concatenation devices (e.g., splicer 112).
  • use_no_output_of_prior_pics_flag equal to 1 specifies that the decoder should use the no_output_of_prior_pics_flag as specified in the IDR access unit regardless of the inference rules as specified by [section X.X], and across End_of_Stream NAL unit.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB 297 to be output during the decoding of the IDR access unit.
  • output_cue[i] indicates cues for the output of each prior picture in the DPB 297, according to Table X-X below. The pictures are sorted by corresponding picture order counts from smallest value to highest value. The decoder 222 may make use of the output_cue for better visual experience.
  • TABLE X-X
    Value Recommended output cue for picture
    0 Picture may be discarded without output
    1 Picture may be output according to picture's pic_struct*
    2 Picture's output as indicated by pic_struct* may be repeated
    once
    3 Picture's output as indicated by pic_struct* may be repeated
    twice
    4 Picture's output as indicated by pic_struct* may be repeated
    indefinitely until first picture is output from DPB afier the
    decoding of the IDR access unit
    5 . . . 7 Reserved
  • Note (denoted by an astericks) that for interlaced video sources, repetition may mean that the last output field of an interlaced frame is output as both the top and bottom fields to satisfy the number of repetitions specified by output cue. Alternatively, repetition by causing a field to be displayed for both and top fields may require the decoder 222 to perform anti-flicker or anti-fluttering filter on the output field. Alternatively, an instance of the field is output filtered (e.g., when the field is output as top field) and the second instance is not (e.g., bottom field). Or, the fields of an interlaced pictures may be de-interlaced by a de-interlacing method in the decoder 222.
  • Another example message syntax is as follows:
  • IDR Prior Pictures Output Cue Message Syntax
  • IDR_prior_pic_output_cue( payloadSize ) { C Descriptor
    num_prior_pics_in_dpb 5 u(5)
    for (j = 0; j < num_prior_pics_in_dpb; j++) {
     output_cue[ i ] 5 u(3)
     }
  • IDR Prior Pictures Ouput Cue Message Semantics
  • The IDR prior pic output cue message is intended to assist the decoder 222 in outputting prior pictures remaining in the DPB 297 from the previous bitstream across a concatenation. This message applies to the prior pictures output by the DPB process triggered by the decoding of an End_of Stream NAL unit or an IDR access unit. The message shall be in the same access unit as the effected End_of Stream NAL, or if there is no End_of Stream NAL, in the same access unit as the effected IDR NAL. This message may be useful for digital program insertion applications. Further, it may help the decoder 222 to maintain continuous picture output for bitstreams having discontinuous DPB output across concatenation points. In such applications, this message may be output by concatenation devices.
  • num_prior_pics_in_dpb indicates the number of prior pictures remaining in the DPB 297 to be output during the decoding of the IDR access unit.
  • output_cue[i] indicates cues for the output of each prior picture in the DPB 297, according to Table X-X1. The pictures are sorted by corresponding picture order counts from smallest value to highest value. The decoder 222 may make use of the output_cue for better visual experience.
  • TABLE X-X1
    Value Recommended output cue for picture
    0 Picture may be discarded without output
    1 Picture may be output according to picture's pic_struct*
    2 Picture's output as indicated by pic_struct* may be repeated once
    3 Picture's output as indicated by pic_struct* may be repeated twice
    4 Picture's output as indicated by pic_struct* may be repeated
    indefinitely until first picture is output from DPB after the
    decoding of the IDR access unit
    5 Repeat picture output as indicated by pic_struct* until the
    output time of the next picture in the DPB.
    6 Output the last picture once again*
    7 Reserved
  • Note (denoted by an astericks) that for an interlaced video source, repetition may mean that the last output field of an interlaced frame is output as both the top and bottom fields to satisfy the number of repetitions specified by output cue. Alternatively, repetition by causing a field to be displayed for both and top fields may require the decoder 222 to perform anti-flicker or anti-fluttering filter on the output field. Alternatively, an instance of the field is output filtered (e.g., when the field is output as top field) and the second instance is not (e.g., bottom field). Or, the fields of an interlaced pictures may be de-interlaced by a de-interlacing method in the decoder 222.
  • Any of the above example syntax and corresponding methods of this section may be amended to include any of the syntax elements described in other parts of this disclosure or in the sections entitled: Forewarning location of end_of_stream in spliced bitstreams, or/and in Conveyance of suitable splice points in the bitstream.
  • Forewarning Location of End_of_stream in spliced bitstreams
  • One method described below provides for transmitting or receiving a message that conveys the location of an end_of stream NAL unit in the bitstream. The end_of stream NAL unit is the last NAL unit in the access unit that ends a bitstream. In some system and/or method embodiments, a new bitstream may immediately follow that access unit that ended the bitstream. The provided message conveys an end of stream in the bitstream located N access units from the location of the message in the bitstream. The provided or received message may serve as a cue that can be provided by a splicing device 112 or other equipment to convey to a decoder, such as decoder 222, the location of the forthcoming end_of stream NAL unit. The end_of stream is located N access units from the current access unit or the location of the message.
  • As some receivers may potentially process and interpret non-VCL (non video coding layer) NAL units in the back-end, a decoder may use the information in the provided or received message to anticipate and plan a transition from a first to a second bitstream.
  • As N identifies the location of an end_of stream NAL unit, it may be expressed in the message in one of different forms that connotes the number of consecutive frames, access units, or slices in the bitstream to identify the location of end_of_stream from the location of the provided or received message. Several syntax (and hence methods) of expressing N in the message are described below.
  • End_of_Stream Cue1 Message Syntax
  • end_of_Stream_cue1( payloadSize ) { C Descriptor
    N_num_fields_to_end_of_stream 5 u(8)
     }
  • End_of_Stream Cue1 Message Semantics
  • The end_of_stream cue1 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders, such as decoder 222, to anticipate and plan a change from a first to a second bitstream.
  • N_num_fields_to_end_of_stream specifies the time, in field output time units, from decoding of current access unit to the decoding of access unit immediately prior to the end_of stream to which this message applies.
  • End_of_stream Cue2 Message Syntax
  • end_of_Stream _cue2( payloadSize ) { C Descriptor
    N_num_AU_to_end_of_stream 5 u(8)
     }
  • End_of_stream Cue2 Message Semantics
  • The end_of_stream cue2 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders to anticipate and plan a change from a first to a second bitstream.
  • N_num_AU_to_end_of_stream specifies the number of access units, from decoding of current access unit to the decoding of access unit immediately prior to the end_of_stream to which this message applies.
  • End_of_stream Cue3 Message Syntax
  • splice_point_cue3( payloadSize ) { C Descriptor
     N_num_frames_to_end_of_stream u(8)
    }
  • End_of_stream Cue3 Message Semantics
  • The end_of_stream cue3 message is intended to provide forewarning of the end_of_stream to allow ample time for decoders to anticipate and plan a change from a first to a second bitstream.
  • N_num_frame_to_end_of_stream specifies the number of frames, from decoding of current frame to the decoding of frame immediately prior to the end_of_stream to which this message applies.
  • Any of the above syntaxes (and hence corresponding methods) may be amended to include any of the syntax elements described in other parts of this document or in the section entitled: Method to control DPB output in non-seamless spliced bitstreams with end_of_stream, or/and in the section entitled: Conveyance of suitable splice points in the bitstream.
  • Any process descriptions or blocks in flow diagrams should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the embodiments in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present disclosure.
  • Additionally, though the various methods are described above in the context of the implementation environment disclosed in FIGS. 1 and 2, it should be appreciated that other implementation environments are contemplated to be within the scope of the disclosure, and hence the various methods described herein are not limited to the environment in those figures.
  • It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s), and all such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims (20)

1. A method, comprising:
providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures; and
providing information in the video stream, wherein the information includes plural data fields, the provided information comprising:
a first data field corresponding to a location in the video stream of a potential splice point in the video stream, wherein the value of the first data field identifies a location in the video stream after the location of the provided information in the video stream;
a second data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at the identified potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the second data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and
a third data field corresponding to pictures with contiguous output times (WCOT), wherein the value of the third field corresponds to a set of pictures WCOT of the DPYTBO by the video decoder at the IPSP.
2. The method of claim 1, wherein the provided information further comprises of a plurality of fourth data fields, wherein each of the plurality of fourth data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of fourth data fields in the plurality of fourth data field equals to the value of the second data field, and wherein the value of each of the fourth data fields indicates whether the respectively corresponding DPYTBO is a picture WCOT.
3. The method of claim 1, wherein the provided information further comprises of one or more fourth data fields, and wherein pictures WCOT at the IPSP can be determined by the video decoder from the one or more fourth data fields.
4. The method of claim 1, wherein the value of the third data field represents field output times.
5. The method of claim 2, wherein the provided information further comprises of a plurality of fifth data fields, wherein each of the plurality of fifth data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of fifth data fields in the plurality of fifth data field equals to the value of the second data field, and wherein the value of each of the fifth data fields indicates whether the output of each DPYTBO by the video decoder at the IPSP or a portion thereof is to be repeated.
6. The method of claim 1, wherein the value of the third data field represents a number of pictures.
7. The method of claim 1, the provided information further comprises of a sixth data field, wherein the value sixth data field identifies the last picture in the set of pictures WCOT of the DPYTBO by the video decoder at the IPSP.
8. The method of claim 1, wherein the provided information further comprises of a seventh data field, wherein the value of the seventh data field provides an initial delay of a compressed picture buffer at the IPSP when the video decoder decompresses the video stream.
9. The method of claim 1, wherein the provided information further comprises of an eighth data field, wherein the value of the eighth data field provides an output picture delay of a decoded picture buffer at the IPSP when the video decoder decompresses the video stream.
10. The method of claim 8, wherein the provided information further comprises of a eighth data field, wherein the value of the eighth data field provides an output picture delay of a decoded picture buffer at the IPSP when the video decoder decompresses the video stream.
11. The method of claim 1, wherein the provided information in the video stream is provided in a message in the video stream.
12. A method, comprising:
providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures; and
providing information in the video stream, wherein the information includes plural data fields, the provided information comprising:
a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and
a plurality of second data fields, wherein each of the plurality of second data fields corresponds to a respective DPYTBO by the video decoder at the IPSP, wherein the number of second data fields in the plurality of second data field equals to the value of the first data field, and wherein the value of each of the second data field indicates how each of the respectively corresponding DPYTBO at the IPSP is to be output by the video decoder.
13. The method of claim 12, wherein the value of one of the plurality of the second data fields corresponds to foregoing the output of the picture corresponding to the respective second data field.
14. The method of claim 12, wherein the value of one of the plurality of the second data fields corresponds to allowing the output of the picture corresponding to the respective second data field to be repeated once.
15. The method of claim 13, wherein the value of another of the plurality of the second data fields corresponds to allowing the output of the picture corresponding to the respective second data field to be repeated twice.
16. The method of claim 12, wherein the value of one of the plurality of the second data fields corresponds to allowing the output of the picture corresponding to the respective second data field to be repeated one of more than once or until the output of next picture to be output from the DPYTBO.
17. The method of claim 12, wherein the provided information in the video stream is provided in a message in the video stream.
18. A method, comprising:
providing a video stream in a transport stream, the first video stream comprising a plurality of compressed pictures; and
providing information in the video stream, wherein the information includes plural data fields, the provided information comprising:
a first data field corresponding to decompressed pictures yet to be output (DPYTBO) by a video decoder at a potential splice point (IPSP) when the video decoder decompresses the video stream, wherein the value of the first data field is a number corresponding to the DPYTBO by the video decoder at the IPSP; and
a plurality of second data fields that provide information corresponding to the relative output times of the DPYTBO by the video decoder at the IPSP.
19. The method of claim 18, wherein the provided information conveys repeating the output of at least one of the DPYTBO by the video decoder at the IPSP.
20. The method of claim 18, wherein the provided information conveys a gap in output of the DPYTBO by the video decoder at the IPSP.
US12/351,776 2006-11-13 2009-01-09 Assistance for processing pictures in concatenated video streams Abandoned US20090180546A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/351,776 US20090180546A1 (en) 2008-01-09 2009-01-09 Assistance for processing pictures in concatenated video streams
US14/658,293 US20150189303A1 (en) 2006-11-13 2015-03-16 Assistance for Processing Pictures in Concatenated Video Streams

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1996408P 2008-01-09 2008-01-09
US12/351,776 US20090180546A1 (en) 2008-01-09 2009-01-09 Assistance for processing pictures in concatenated video streams

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/658,293 Division US20150189303A1 (en) 2006-11-13 2015-03-16 Assistance for Processing Pictures in Concatenated Video Streams

Publications (1)

Publication Number Publication Date
US20090180546A1 true US20090180546A1 (en) 2009-07-16

Family

ID=40850601

Family Applications (5)

Application Number Title Priority Date Filing Date
US12/351,785 Active 2031-01-07 US8155207B2 (en) 2006-11-13 2009-01-09 Processing and managing pictures at the concatenation of two video streams
US12/351,776 Abandoned US20090180546A1 (en) 2006-11-13 2009-01-09 Assistance for processing pictures in concatenated video streams
US13/443,580 Active 2029-01-11 US8804843B2 (en) 2006-11-13 2012-04-10 Processing and managing splice points for the concatenation of two video streams
US14/457,236 Active US9521420B2 (en) 2006-11-13 2014-08-12 Managing splice points for non-seamless concatenated bitstreams
US14/658,293 Abandoned US20150189303A1 (en) 2006-11-13 2015-03-16 Assistance for Processing Pictures in Concatenated Video Streams

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/351,785 Active 2031-01-07 US8155207B2 (en) 2006-11-13 2009-01-09 Processing and managing pictures at the concatenation of two video streams

Family Applications After (3)

Application Number Title Priority Date Filing Date
US13/443,580 Active 2029-01-11 US8804843B2 (en) 2006-11-13 2012-04-10 Processing and managing splice points for the concatenation of two video streams
US14/457,236 Active US9521420B2 (en) 2006-11-13 2014-08-12 Managing splice points for non-seamless concatenated bitstreams
US14/658,293 Abandoned US20150189303A1 (en) 2006-11-13 2015-03-16 Assistance for Processing Pictures in Concatenated Video Streams

Country Status (1)

Country Link
US (5) US8155207B2 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295621A1 (en) * 2003-10-16 2008-12-04 Sae Magnetics (H.K.) Ltd. Method and mechanism of the suspension resonance optimization for the hard disk driver
US20090180547A1 (en) * 2008-01-09 2009-07-16 Rodriguez Arturo A Processing and managing pictures at the concatenation of two video streams
US20100293571A1 (en) * 2009-05-12 2010-11-18 Cisco Technology, Inc. Signalling Buffer Characteristics for Splicing Operations of Video Streams
US20100322302A1 (en) * 2009-06-18 2010-12-23 Cisco Technology, Inc. Dynamic Streaming with Latticed Representations of Video
US8259817B2 (en) 2008-11-12 2012-09-04 Cisco Technology, Inc. Facilitating fast channel changes through promotion of pictures
US8326131B2 (en) 2009-02-20 2012-12-04 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US20130259138A1 (en) * 2012-04-03 2013-10-03 Devadutta Ghat Hardware accelerated distributed transcoding of video clips
US20140003508A1 (en) * 2012-07-02 2014-01-02 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2897741B1 (en) * 2006-02-17 2008-11-07 Canon Kk METHOD AND DEVICE FOR GENERATING DATA REPRESENTATIVE OF A DEGREE OF IMPORTANCE OF DATA BLOCKS AND METHOD AND DEVICE FOR TRANSMITTING AN ENCODED VIDEO SEQUENCE
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
CN101904170B (en) * 2007-10-16 2014-01-08 思科技术公司 Conveyance of concatenation properties and picture orderness in a video stream
EP2297964A4 (en) * 2008-06-25 2017-01-18 Cisco Technology, Inc. Support for blocking trick mode operations
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US8648869B1 (en) 2012-02-13 2014-02-11 Advanced Testing Technologies, Inc. Automatic test instrument for video generation and capture combined with real-time image redisplay methods
JP6045222B2 (en) * 2012-06-28 2016-12-14 株式会社Nttドコモ Moving picture predictive decoding apparatus, method and program
JP6019824B2 (en) * 2012-07-02 2016-11-02 富士通株式会社 Moving picture coding apparatus, moving picture coding method, and moving picture coding computer program
US11159827B2 (en) * 2019-09-23 2021-10-26 Tencent America LLC Method for signaling output layer set with sub picture

Citations (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5734443A (en) * 1995-12-28 1998-03-31 Philips Electronics North America Corporation Method and device for performing source transitions in a video system which performs entropy encoding
US5917988A (en) * 1995-04-07 1999-06-29 Sony Corporation Editing apparatus, editing method and decoding apparatus for compressed video signal
US6188436B1 (en) * 1997-01-31 2001-02-13 Hughes Electronics Corporation Video broadcast system with video data shifting
US6201927B1 (en) * 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6222979B1 (en) * 1997-02-18 2001-04-24 Thomson Consumer Electronics Memory control in trick play mode
US6393057B1 (en) * 1998-08-14 2002-05-21 Dominique Thoreau MPEG stream switching process
US20020071485A1 (en) * 2000-08-21 2002-06-13 Kerem Caglar Video coding
US20020075402A1 (en) * 2000-09-13 2002-06-20 Pace Micro Technology Plc. Television system
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US20030012554A1 (en) * 2001-07-10 2003-01-16 General Instrument Corporation Methods and apparatus for advanced recording options on a personal versatile recorder
US20030016876A1 (en) * 1998-10-05 2003-01-23 Bing-Bing Chai Apparatus and method for data partitioning to improving error resilience
US20030043847A1 (en) * 2001-08-31 2003-03-06 Haddad Semir S. Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith
US20030067479A1 (en) * 2001-09-27 2003-04-10 Samsung Electronics Co., Ltd. Method of indexing image hierarchically and apparatus therefor
US20030072555A1 (en) * 2001-10-12 2003-04-17 Adrian Yap Method and apparatus for identifying MPEG picture coding types
US20030093800A1 (en) * 2001-09-12 2003-05-15 Jason Demas Command packets for personal video recorder
US20030113098A1 (en) * 2001-12-19 2003-06-19 Willis Donald H. Trick mode playback of recorded video
US20040010807A1 (en) * 2002-05-03 2004-01-15 Urdang Erik G. Use of multiple embedded messages in program signal streams
US20040012510A1 (en) * 2002-07-17 2004-01-22 Chen Sherman (Xuemin) Decoding and presentation time stamps for MPEG-4 advanced video coding
US20040028227A1 (en) * 2002-08-08 2004-02-12 Yu Hong Heather Partial encryption of stream-formatted media
US20040040035A1 (en) * 2002-05-03 2004-02-26 Carlucci John B. Use of messages in or associated with program signal streams by set-top terminals
US6754373B1 (en) * 2000-07-14 2004-06-22 International Business Machines Corporation System and method for microphone activation using visual speech cues
US20050002574A1 (en) * 2003-05-02 2005-01-06 Takahiro Fukuhara Image encoding apparatus and method
US20050013249A1 (en) * 2003-07-14 2005-01-20 Hao-Song Kong Redundant packets for streaming video protection
US20050022245A1 (en) * 2003-07-21 2005-01-27 Ramesh Nallur Seamless transition between video play-back modes
US20050069212A1 (en) * 2001-12-20 2005-03-31 Koninklijke Philips Electronics N.V Video encoding and decoding method and device
US20050084166A1 (en) * 2002-06-25 2005-04-21 Ran Boneh Image processing using probabilistic local behavior assumptions
US6907075B2 (en) * 2000-06-30 2005-06-14 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
US6906743B1 (en) * 1999-01-13 2005-06-14 Tektronix, Inc. Detecting content based defects in a video stream
US20060013505A1 (en) * 2002-11-06 2006-01-19 Shing-Tung Yau Analysis of geometric surfaces by comformal structure
US20060036551A1 (en) * 2004-03-26 2006-02-16 Microsoft Corporation Protecting elementary stream content
US20060072597A1 (en) * 2004-10-04 2006-04-06 Nokia Corporation Picture buffering method
US7027713B1 (en) * 1999-11-30 2006-04-11 Sharp Laboratories Of America, Inc. Method for efficient MPEG-2 transport stream frame re-sequencing
US20060093045A1 (en) * 1999-06-29 2006-05-04 Roger Anderson Method and apparatus for splicing
US20060093315A1 (en) * 2000-03-31 2006-05-04 Kelly Declan P Methods and apparatus for editing digital video recordings, and recordings made by such methods
US20060109856A1 (en) * 2004-11-24 2006-05-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US20060117357A1 (en) * 2004-11-30 2006-06-01 Surline Jack E Methods and systems for controlling trick mode play speeds
US20060120463A1 (en) * 2004-12-06 2006-06-08 Nokia Corporation Video coding, decoding and hypothetical reference decoder
US20060126728A1 (en) * 2004-12-10 2006-06-15 Guoyao Yu Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US20070011447A1 (en) * 2004-08-16 2007-01-11 Nds Limited System for providing access to operation information
US20070031110A1 (en) * 2003-05-16 2007-02-08 Koninklijke Philips Electronics N.V. Method of recording and of replaying and video recording and replay systems
US20070053665A1 (en) * 2000-06-02 2007-03-08 Sony Corporation Apparatus and method for image coding and decoding
US20070081586A1 (en) * 2005-09-27 2007-04-12 Raveendran Vijayalakshmi R Scalability techniques based on content information
US20070116426A1 (en) * 2004-04-28 2007-05-24 Tadamasa Toma Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US20070116277A1 (en) * 2005-11-17 2007-05-24 Samsung Electronics Co., Ltd. Method and system for encryption/decryption of scalable video bitstream for conditional access control based on multidimensional scalability in scalable video coding
US20070121721A1 (en) * 2001-03-05 2007-05-31 Chang-Su Kim Systems and methods for decoding redundant motion vectors in compressed video bitstreams
US20070133674A1 (en) * 2005-12-12 2007-06-14 Thomson Licensing Device for coding, method for coding, system for decoding, method for decoding video data
US20070140358A1 (en) * 2005-12-16 2007-06-21 Schwartz Mayer D Video encoding for seamless splicing between encoded video streams
US20070147686A1 (en) * 2005-12-22 2007-06-28 Eastman Kodak Company System and method for rendering an oblique slice through volumetric data accessed via a client-server architecture
US20080022340A1 (en) * 2006-06-30 2008-01-24 Nokia Corporation Redundant stream alignment in ip datacasting over dvb-h
US20080025399A1 (en) * 2006-07-26 2008-01-31 Canon Kabushiki Kaisha Method and device for image compression, telecommunications system comprising such a device and program implementing such a method
US20080037957A1 (en) * 2001-12-31 2008-02-14 Scientific-Atlanta, Inc. Decoding and output of frames for video trick modes
US20080037658A1 (en) * 2005-03-14 2008-02-14 Lois Price Compressed domain encoding apparatus and methods for use with media signals
US20080056383A1 (en) * 2006-09-05 2008-03-06 Eiji Ueki Information processing apparatus and method
US20080063074A1 (en) * 2003-07-15 2008-03-13 Gallant Michael D Multi-standard variable block size motion estimation processor
US20080089422A1 (en) * 2006-10-12 2008-04-17 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US20080115176A1 (en) * 2006-11-13 2008-05-15 Scientific-Atlanta, Inc. Indicating picture usefulness for playback optimization
US7376335B2 (en) * 2002-03-20 2008-05-20 Koninklijke Philips Electronics N.V. Method and device for recording real-time information
US20080127255A1 (en) * 2006-11-27 2008-05-29 Nortel Networks Limited Multimedia subsystem control for internet protocol based television services
US20080131079A1 (en) * 2004-04-28 2008-06-05 Tadmasa Toma Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
US20080137728A1 (en) * 2005-01-17 2008-06-12 Koninklijke Philips Electronics, N.V. System, Transmitter, Receiver, Method and Software For Transmitting and Receiving Ordered Sets of Video Frames
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
US20080151101A1 (en) * 2006-04-04 2008-06-26 Qualcomm Incorporated Preprocessor method and apparatus
US20080152006A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Reference frame placement in the enhancement layer
US20080152005A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
US20090003439A1 (en) * 2007-06-26 2009-01-01 Nokia Corporation System and method for indicating temporal layer switching points
US20090016203A1 (en) * 2004-08-17 2009-01-15 Hiroshi Yahata Information recording medium, and data reproduction device
US7480335B2 (en) * 2004-05-21 2009-01-20 Broadcom Corporation Video decoder for decoding macroblock adaptive field/frame coded video data with spatial prediction
US20090034633A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US20090034627A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US20090041130A1 (en) * 2005-05-26 2009-02-12 Lg Electronics Inc. Method of transmitting picture information when encoding video signal and method of using the same when decoding video signal
US20090100482A1 (en) * 2007-10-16 2009-04-16 Rodriguez Arturo A Conveyance of Concatenation Properties and Picture Orderness in a Video Stream
US20090097568A1 (en) * 2007-10-12 2009-04-16 Qualcomm Incorporated Entropy coding of interleaved sub-blocks of a video block
US20090103635A1 (en) * 2007-10-17 2009-04-23 Peshala Vishvajith Pahalawatta System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
US20090109342A1 (en) * 2007-10-31 2009-04-30 Brian Heng Method and System for Hierarchically Layered Adaptive Median Motion Vector Smoothing
US20090138668A1 (en) * 2007-11-26 2009-05-28 Motorola, Inc. Data interleaving circuit and method for vectorized turbo decoder
US20090141168A1 (en) * 2005-04-26 2009-06-04 Yen-Fu Chen Sub-program avoidance redirection for broadcast receivers
US20090147859A1 (en) * 2007-12-05 2009-06-11 Mcgowan James William Method and apparatus for performing multiple bit rate video encoding and video stream switching
US20090148056A1 (en) * 2007-12-11 2009-06-11 Cisco Technology, Inc. Video Processing With Tiered Interdependencies of Pictures
US7649937B2 (en) * 2004-06-22 2010-01-19 Auction Management Solutions, Inc. Real-time and bandwidth efficient capture and delivery of live video to multiple destinations
US20100027417A1 (en) * 2006-06-29 2010-02-04 Guido Franceschini Method and apparatus for improving bandwith exploitation in real-time audio/video communications
US20100027667A1 (en) * 2007-01-26 2010-02-04 Jonatan Samuelsson Motion estimation for uncovered frame regions
US7720145B2 (en) * 2004-05-13 2010-05-18 Ittiam Systems (P) Ltd. Model based bit rate control for a macroblock encoder
US7733910B2 (en) * 2006-12-29 2010-06-08 Riverbed Technology, Inc. Data segmentation using shift-varying predicate function fingerprinting
US7733956B1 (en) * 1996-12-17 2010-06-08 Oracle International Corporation Method and apparatus for storing base and additive streams of video
US20100150232A1 (en) * 2006-10-31 2010-06-17 Gottfried Wilhelm Leibniz Universitat Hannover Method for concealing a packet loss
US20100150234A1 (en) * 2006-08-25 2010-06-17 Han Suh Koo Method and apparatus for decoding/encoding a video signal
US20100150527A1 (en) * 2008-12-11 2010-06-17 Cable Television Laboratories, Inc. Segment boundary obfuscation
US7903745B2 (en) * 2005-01-06 2011-03-08 Infra-Com Ltd. Error detection and correction for base-band wireless systems
US7912219B1 (en) * 2005-08-12 2011-03-22 The Directv Group, Inc. Just in time delivery of entitlement control message (ECMs) and other essential data elements for television programming
US8102406B2 (en) * 2005-11-15 2012-01-24 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for producing a video synopsis
US8136140B2 (en) * 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8155207B2 (en) * 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US20130028314A1 (en) * 2009-06-18 2013-01-31 Rodriguez Arturo A Dynamic Streaming Plural Lattice Video Coding Representations of Video

Family Cites Families (217)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4764805A (en) 1987-06-02 1988-08-16 Eastman Kodak Company Image transmission system with line averaging preview mode using two-pass block-edge interpolation
JPH05236465A (en) 1992-02-24 1993-09-10 Sony Corp Method for transmitting video signal
DE69323338T2 (en) * 1992-03-24 1999-06-10 Toshiba Kawasaki Kk Device for recording / reproducing codes of variable lengths for a video recorder
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
CA2218688C (en) 1995-04-21 2007-02-20 Imedia Corporation An in-home digital video unit with combined archival storage and high-access storage
KR100263788B1 (en) 1995-06-26 2000-08-16 슈즈이 다케오 Information reproducing apparatus
TW385431B (en) 1995-09-29 2000-03-21 Matsushita Electric Ind Co Ltd A method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information useful in multimedia optical disk
US5949948A (en) 1995-11-20 1999-09-07 Imedia Corporation Method and apparatus for implementing playback features for compressed video data
US6137834A (en) * 1996-05-29 2000-10-24 Sarnoff Corporation Method and apparatus for splicing compressed information streams
US6065050A (en) 1996-06-05 2000-05-16 Sun Microsystems, Inc. System and method for indexing between trick play and normal play video streams in a video delivery system
JPH1013858A (en) 1996-06-27 1998-01-16 Sony Corp Picture encoding method, picture decoding method and picture signal recording medium
US5828370A (en) 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
KR19980022377A (en) 1996-09-21 1998-07-06 김광호 Video signal coding and / or decoding method using adaptive lattice quantization
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US8635649B2 (en) 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US6806909B1 (en) * 1997-03-03 2004-10-19 Koninklijke Philips Electronics N.V. Seamless splicing of MPEG-2 multimedia data streams
US5963260A (en) 1997-03-18 1999-10-05 U.S. Philips Electronics North America Corporation Macroblock-level partitioned HDTV video decoder and related method
US6970564B1 (en) 1998-07-13 2005-11-29 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7113523B1 (en) 1997-06-11 2006-09-26 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
JP4324322B2 (en) 1997-08-27 2009-09-02 スターサイト テレキャスト インコーポレイテッド Television signal replacement system and method
US6608933B1 (en) 1997-10-17 2003-08-19 Microsoft Corporation Loss tolerant compressed image data
JPH11261958A (en) * 1998-03-09 1999-09-24 Sony Corp Video editing device and video editing method
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6785289B1 (en) * 1998-06-05 2004-08-31 Sarnoff Corporation Method and apparatus for aligning sub-stream splice points in an information stream
GB9813831D0 (en) 1998-06-27 1998-08-26 Philips Electronics Nv Frame-accurate editing of encoded A/V sequences
US6144375A (en) 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
KR100294926B1 (en) 1998-08-29 2001-07-12 윤종용 A progressive 3-D mesh coding/decoding method and apparatus thereof
US6912251B1 (en) * 1998-09-25 2005-06-28 Sarnoff Corporation Frame-accurate seamless splicing of information streams
US6310915B1 (en) 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
EP1142296B1 (en) 1999-01-15 2012-05-09 Rovi Solutions Corporation Method and apparatus for scrambling a high definition television signal
US6512552B1 (en) * 1999-03-29 2003-01-28 Sony Corporation Subpicture stream change control
US6909743B1 (en) * 1999-04-14 2005-06-21 Sarnoff Corporation Method for generating and processing transition streams
CA2366549C (en) 1999-04-14 2015-09-08 Sarnoff Corporation Method for generating and processing transition streams
US6594798B1 (en) 1999-05-21 2003-07-15 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
US6389562B1 (en) 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6263022B1 (en) 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
EP1098526A3 (en) 1999-11-02 2004-09-15 Matsushita Electric Industrial Co., Ltd. Video editing apparatus and method
US6993081B1 (en) * 1999-11-23 2006-01-31 International Business Machines Corporation Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
US6658199B1 (en) 1999-12-16 2003-12-02 Sharp Laboratories Of America, Inc. Method for temporally smooth, minimal memory MPEG-2 trick play transport stream construction
AUPQ486599A0 (en) * 1999-12-23 2000-02-03 Zentronix Pty Ltd A method of storing and retrieving miniaturised data
US7185018B2 (en) * 1999-12-23 2007-02-27 Zentronix Pty Limited Method of storing and retrieving miniaturized data
US7096481B1 (en) 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
US6999424B1 (en) * 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US7088911B2 (en) 2000-04-26 2006-08-08 Sony Corporation Recording apparatus and method, playback apparatus and method, and recording medium therefor
US6643327B1 (en) 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
US7085424B2 (en) 2000-06-06 2006-08-01 Kobushiki Kaisha Office Noa Method and system for compressing motion image information
EP1297695A2 (en) 2000-06-26 2003-04-02 NDS Limited Time shifted interactive television
US7606547B1 (en) 2000-07-31 2009-10-20 Marvell International Ltd. Active resistance summer for a transformer hybrid
US6453115B1 (en) 2000-08-31 2002-09-17 Keen Personal Media, Inc. Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode
US7053874B2 (en) * 2000-09-08 2006-05-30 Semiconductor Energy Laboratory Co., Ltd. Light emitting device and driving method thereof
JP4331876B2 (en) 2000-09-18 2009-09-16 パナソニック株式会社 Digital signal recording / playback system
US20060282319A1 (en) 2000-10-12 2006-12-14 Maggio Frank S Method and system for substituting media content
GB0106217D0 (en) 2001-03-14 2001-05-02 Pace Micro Tech Plc Television system
JP2004524627A (en) 2001-03-26 2004-08-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Store multimedia items
JP2002359833A (en) 2001-03-27 2002-12-13 Hitachi Ltd Data communication system, transmitter and communication terminal
US6907081B2 (en) * 2001-03-30 2005-06-14 Emc Corporation MPEG encoder control protocol for on-line encoding and MPEG data storage
US7103235B2 (en) 2001-04-25 2006-09-05 Lockheed Martin Corporation Extended range image processing for electro-optical systems
US20020178444A1 (en) 2001-05-22 2002-11-28 Koninklijke Philips Electronics N.V. Background commercial end detector and notifier
WO2003021965A1 (en) 2001-09-03 2003-03-13 Matsushita Electric Industrial Co., Ltd. Apparatus of a flexible and common ipmp system for mpeg-2 content distribution and protection
US6980594B2 (en) 2001-09-11 2005-12-27 Emc Corporation Generation of MPEG slow motion playout
US20030072376A1 (en) 2001-10-12 2003-04-17 Koninklijke Philips Electronics N.V. Transmission of video using variable rate modulation
US20030081934A1 (en) * 2001-10-30 2003-05-01 Kirmuss Charles Bruno Mobile video recorder control and interface
US6978470B2 (en) * 2001-12-26 2005-12-20 Bellsouth Intellectual Property Corporation System and method for inserting advertising content in broadcast programming
US20030135857A1 (en) 2002-01-11 2003-07-17 Ramesh Pendakur Content discovery in a digital broadcast data service
FR2834847B1 (en) 2002-01-17 2004-04-09 Cit Alcatel NETWORK OR SERVICE MANAGEMENT SYSTEM FOR DETERMINING SYNCHRONIZATION BETWEEN TWO PACKET FLOWS
US20030161407A1 (en) 2002-02-22 2003-08-28 International Business Machines Corporation Programmable and adaptive temporal filter for video encoding
WO2003073763A1 (en) 2002-02-28 2003-09-04 Sony Corporation Camera server and image distribution method
US7129962B1 (en) 2002-03-25 2006-10-31 Matrox Graphics Inc. Efficient video processing method and system
US8401084B2 (en) 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US7483487B2 (en) 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
KR100752287B1 (en) 2002-04-26 2007-08-29 닛본 덴끼 가부시끼가이샤 Moving picture data code conversion/transmission method and device, code conversion/reception method and device
US20030206596A1 (en) * 2002-05-03 2003-11-06 David Carver Multimedia content assembly
EP1361577A1 (en) 2002-05-08 2003-11-12 Deutsche Thomson-Brandt Gmbh Appliance-guided edit-operations in advanced digital video recording systems
WO2003103288A1 (en) * 2002-05-29 2003-12-11 Diego Garrido Predictive interpolation of a video signal
WO2004008759A1 (en) 2002-07-12 2004-01-22 Matsushita Electric Industrial Co., Ltd. Data processing device
US8107539B2 (en) 2002-07-15 2012-01-31 Nokia Corporation Method for error concealment in video sequences
US7813429B2 (en) * 2002-08-13 2010-10-12 Lsi Corporation System and method for segmentation of macroblocks
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US7840119B2 (en) 2002-09-25 2010-11-23 General Instrument Corporation Methods and apparatus for processing progressive I-slice refreshed MPEG data streams to enable trick play mode features on a display device
JP3513148B1 (en) 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, moving picture coding program, and moving picture decoding program
TWI249356B (en) 2002-11-06 2006-02-11 Nokia Corp Picture buffering for prediction references and display
KR100534207B1 (en) 2002-12-09 2005-12-08 삼성전자주식회사 Device and method for motion estimating of video coder
US7200767B2 (en) 2002-12-27 2007-04-03 Texas Instruments Incorporated Maintaining synchronization of multiple data channels with a common clock signal
US20040133908A1 (en) 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
US20130136189A9 (en) * 2003-01-13 2013-05-30 Jiang Fu Method and system for converting a dss stream to an encrypted mpeg stream
JP2004227077A (en) 2003-01-20 2004-08-12 Seiko Epson Corp Information viewing system, information play-back device and information providing device
WO2004075554A1 (en) * 2003-02-18 2004-09-02 Nokia Corporation Picture decoding method
TWI258935B (en) 2003-03-05 2006-07-21 Nokia Corp System and method for data transmission and reception
US20040177369A1 (en) 2003-03-06 2004-09-09 Akins Glendon L. Conditional access personal video recorder
US8832758B2 (en) 2003-03-17 2014-09-09 Qwest Communications International Inc. Methods and systems for providing video on demand
US7403660B2 (en) 2003-04-30 2008-07-22 Nokia Corporation Encoding picture arrangement parameter in picture bitstream
US8266659B2 (en) 2003-05-16 2012-09-11 Time Warner Cable LLC Technique for collecting data relating to activity of a user receiving entertainment programs through a communications network
US20040257472A1 (en) 2003-06-20 2004-12-23 Srinivasa Mpr System, method, and apparatus for simultaneously displaying multiple video streams
MXPA05013727A (en) 2003-06-25 2006-07-06 Thomson Licensing Method and apparatus for weighted prediction estimation using a displaced frame differential.
MXPA06002211A (en) * 2003-08-26 2006-05-19 Thomson Licensing Method and apparatus for minimizing number of reference pictures used for inter-coding.
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7577198B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7203237B2 (en) 2003-09-17 2007-04-10 Texas Instruments Incorporated Transcoders and methods
FI115589B (en) * 2003-10-14 2005-05-31 Nokia Corp Encoding and decoding redundant images
WO2005055607A1 (en) * 2003-12-08 2005-06-16 Electronics And Telecommunications Research Institute System and method for encoding and decoding an image using bitstream map and recording medium thereof
US8351514B2 (en) * 2004-01-16 2013-01-08 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US8472791B2 (en) 2004-03-17 2013-06-25 Hewlett-Packard Development Company, L.P. Variable speed video playback
US20050226327A1 (en) 2004-03-30 2005-10-13 Kim Seong-Bong MPEG coding method, moving picture transmitting system and method using the same
EP1583368A1 (en) 2004-03-31 2005-10-05 Mitsubishi Electric Information Technology Centre Europe B.V. Direction-adaptive scalable motion parameter coding for scalable video coding
US7720355B2 (en) 2004-04-16 2010-05-18 Panasonic Corporation Recording medium, reproduction device, program
CN1947416A (en) 2004-04-21 2007-04-11 松下电器产业株式会社 Digital broadcast receiving apparatus and method and program therefor
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7848428B2 (en) 2004-06-17 2010-12-07 Broadcom Corporation System and method for reducing visible artifacts in video coding using multiple reference pictures
US20060013305A1 (en) 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
US20060075449A1 (en) * 2004-09-24 2006-04-06 Cisco Technology, Inc. Distributed architecture for digital program insertion in video streams delivered over packet networks
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US20060104356A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Timing for decoder buffer examination
CA2587118C (en) * 2004-11-16 2014-12-30 Thomson Licensing Film grain sei message insertion for bit-accurate simulation in a video system
JP2008521316A (en) 2004-11-18 2008-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Image playback device from serial video data stream
US7751324B2 (en) 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
WO2006062993A2 (en) 2004-12-09 2006-06-15 Massachusetts Institute Of Technology Lossy data compression exploiting distortion side information
US7849395B2 (en) * 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color
US7671894B2 (en) * 2004-12-17 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US7728878B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
CN101088289B (en) * 2004-12-24 2010-05-12 松下电器产业株式会社 Moving-image shooting device and method, and moving-image reproducing device and method
JP4165510B2 (en) * 2005-01-05 2008-10-15 ソニー株式会社 REPRODUCTION DEVICE AND METHOD, RECORDING MEDIUM, AND PROGRAM
EP2164262B1 (en) * 2005-01-10 2013-03-20 Panasonic Corporation Picture coding apparatus and picture decoding apparatus
CN101238736A (en) 2005-02-01 2008-08-06 德克萨斯仪器股份有限公司 Random access in AVS-M video bitstreams
EP1783769A4 (en) 2005-02-18 2011-11-30 Panasonic Corp Stream reproduction device and stream supply device
JP4789923B2 (en) 2005-03-03 2011-10-12 パナソニック株式会社 Broadcast information receiving terminal
US20060224763A1 (en) 2005-03-18 2006-10-05 Sharp Laboratories Of America, Inc. Switching and simultaneous usage of 802.11a and 802.11g technologies for video streaming
US20060222319A1 (en) 2005-04-05 2006-10-05 Scientific-Atlanta, Inc. Pre-recorded dvd ad insertion
US7672373B2 (en) 2005-04-11 2010-03-02 Cisco Technology, Inc. Digital watermarking of a media stream using coded macroblock types
WO2006114761A1 (en) 2005-04-26 2006-11-02 Koninklijke Philips Electronics N.V. A device for and a method of detecting positions of intra-coded frames in a data stream
JP4779435B2 (en) 2005-05-17 2011-09-28 ソニー株式会社 Image processing apparatus, image processing method, and computer program
US7784071B2 (en) 2005-06-01 2010-08-24 General Instrument Corporation Method and apparatus for linking a plurality of user devices to a service location
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
JP4311570B2 (en) 2005-07-01 2009-08-12 株式会社ソニー・コンピュータエンタテインメント Playback apparatus, video decoding apparatus, and synchronous playback method
US8498520B2 (en) 2005-07-27 2013-07-30 Vbrick Systems, Inc. Video encoding and transmission technique for efficient, multi-speed fast forward and reverse playback
US8861590B2 (en) * 2005-07-29 2014-10-14 Arris Enterprises, Inc. Methods and systems for signal insertion
US8441963B2 (en) * 2005-08-04 2013-05-14 General Instrument Corporation IP multicast management and service provision system and method
WO2007044556A2 (en) * 2005-10-07 2007-04-19 Innovation Management Sciences, L.L.C. Method and apparatus for scalable video decoder using an enhancement stream
US7903743B2 (en) 2005-10-26 2011-03-08 Mediatek Inc. Memory sharing in video transcoding and displaying
US9357175B2 (en) * 2005-11-01 2016-05-31 Arris Enterprises, Inc. Generating ad insertion metadata at program file load time
US9697230B2 (en) 2005-11-09 2017-07-04 Cxense Asa Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications
US8989006B2 (en) * 2005-12-29 2015-03-24 General Instrument Corporation Method and apparatus for glitchless failover to redundant stream
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
WO2007080223A1 (en) 2006-01-10 2007-07-19 Nokia Corporation Buffering of decoded reference pictures
US7793329B2 (en) 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US8218651B1 (en) * 2006-02-28 2012-07-10 Arris Group, Inc System and method for splicing
US8767836B2 (en) 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
KR100772878B1 (en) 2006-03-27 2007-11-02 삼성전자주식회사 Method for assigning Priority for controlling bit-rate of bitstream, method for controlling bit-rate of bitstream, video decoding method, and apparatus thereof
US20090225826A1 (en) 2006-03-29 2009-09-10 Purvin Bibhas Pandit Multi-View Video Coding Method and Device
JP5055354B2 (en) * 2006-03-30 2012-10-24 エルジー エレクトロニクス インコーポレイティド Video signal decoding / encoding method and apparatus
US7653055B2 (en) 2006-03-31 2010-01-26 Alcatel-Lucent Usa Inc. Method and apparatus for improved multicast streaming in wireless networks
US7656410B2 (en) * 2006-03-31 2010-02-02 Intel Corporation Image buffering techniques
US8493973B2 (en) 2006-04-04 2013-07-23 Samsung Electronics Co., Ltd. Method of and apparatus for transmitting digital broadcasting signal in advanced-VSB (A-VSB) system in which transport packet without adaptation field is provided at fixed location in data field slices
JP5002286B2 (en) 2006-04-27 2012-08-15 キヤノン株式会社 Image encoding apparatus, image encoding method, program, and storage medium
JP4584871B2 (en) * 2006-06-09 2010-11-24 パナソニック株式会社 Image encoding and recording apparatus and image encoding and recording method
JP2008005374A (en) 2006-06-26 2008-01-10 Mitsubishi Electric Corp Multi-stream responsive multiplexer and demultiplexer system
US8005149B2 (en) * 2006-07-03 2011-08-23 Unisor Design Services Ltd. Transmission of stream video in low latency
US20100269131A1 (en) 2006-07-06 2010-10-21 Thomson Licensing Method and System for Trick Mode Suppression Control
US8582663B2 (en) 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
JP2008066851A (en) * 2006-09-05 2008-03-21 Sony Corp Unit and method for information processing, recording medium, and program
US7681101B2 (en) 2007-04-16 2010-03-16 Cisco Technology, Inc. Hybrid corrective scheme for dropped packets
JP5151984B2 (en) * 2006-09-29 2013-02-27 富士通株式会社 Video encoding device
CN1946173A (en) 2006-10-10 2007-04-11 华为技术有限公司 IPTV direct broadcast service control method, system and device
WO2008048499A2 (en) 2006-10-13 2008-04-24 Thomson Licensing Reference picture list management syntax for multiple view video coding
BRPI0718206B1 (en) * 2006-10-16 2020-10-27 Nokia Technologies Oy method for encoding a plurality of views of a scene; method of encoding an encoded video bit stream and device
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
KR100850198B1 (en) * 2007-01-03 2008-08-04 삼성전자주식회사 Apparatus and method for digital broadcasting information for providing in portable communication system
CN102984544A (en) * 2007-01-08 2013-03-20 汤姆森特许公司 Methods and apparatus for video stream splicing
US8711901B2 (en) 2007-03-12 2014-04-29 Vixs Systems, Inc. Video processing system and device with encoding and decoding modes and method for use therewith
US7940644B2 (en) 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US7912217B2 (en) * 2007-03-20 2011-03-22 Cisco Technology, Inc. Customized advertisement splicing in encrypted entertainment sources
US8494049B2 (en) 2007-04-09 2013-07-23 Cisco Technology, Inc. Long term reference frame management with error video feedback for compressed video communication
US20080263581A1 (en) * 2007-04-19 2008-10-23 Gary Turner Recorded commercial optimization method and system
US8340183B2 (en) 2007-05-04 2012-12-25 Qualcomm Incorporated Digital multimedia channel switching
US7934230B2 (en) * 2007-05-04 2011-04-26 Alcatel Lucent IPTV architecture for dynamic commercial insertion
JP4416013B2 (en) 2007-06-20 2010-02-17 ソニー株式会社 Content viewing system, content viewing apparatus, and viewing approval apparatus
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
KR20090004658A (en) * 2007-07-02 2009-01-12 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
WO2009037582A2 (en) 2007-07-09 2009-03-26 Gregor Garbajs System and method for securely communicating on- demand content from closed network to dedicated devices, and for compiling content usage data in closed network securely communicating content to dedicated devices
JP4898589B2 (en) 2007-07-26 2012-03-14 株式会社日立製作所 Image compression method and image processing apparatus
US20090033791A1 (en) 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
GB0716028D0 (en) * 2007-08-16 2007-09-26 Fujitsu Ltd Communication systems
WO2009045683A1 (en) 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
RU2010120518A (en) * 2007-10-15 2011-11-27 Нокиа Корпорейшн (Fi) PASSING MOTION INFORMATION AND ONE-CYCLE CODING FOR MULTI-FULL VIDEO CONTENT
US8165210B2 (en) * 2007-12-17 2012-04-24 Vixs Systems, Inc. Video codec with shared interpolation filter and method for use therewith
US8189668B2 (en) * 2007-12-18 2012-05-29 Vixs Systems, Inc. Video codec with shared intra-prediction module and method for use therewith
US8265154B2 (en) 2007-12-18 2012-09-11 At&T Intellectual Property I, Lp Redundant data dispersal in transmission of video data based on frame type
US8743972B2 (en) * 2007-12-20 2014-06-03 Vixs Systems, Inc. Coding adaptive deblocking filter and method for use therewith
US8107742B2 (en) 2008-01-30 2012-01-31 Himax Technologies Limited Encoder and decoder for encoding and decoding pixel data with low amount of transmitting data, encoding method, and decoding method thereof
WO2009097162A1 (en) 2008-02-01 2009-08-06 The Oliver Group A method for searching and indexing data and a system for implementing same
US8776161B2 (en) 2008-02-12 2014-07-08 Ciena Corporation Systems and methods for video processing in network edge devices
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US8982951B2 (en) 2008-03-10 2015-03-17 Mediatek Inc. Adaptive motion estimation coding
WO2009152450A1 (en) 2008-06-12 2009-12-17 Cisco Technology, Inc. Picture interdependencies signals in context of mmco to assist stream manipulation
US8971402B2 (en) * 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
EP2297964A4 (en) 2008-06-25 2017-01-18 Cisco Technology, Inc. Support for blocking trick mode operations
US8392942B2 (en) 2008-10-02 2013-03-05 Sony Corporation Multi-coded content substitution
US8259817B2 (en) * 2008-11-12 2012-09-04 Cisco Technology, Inc. Facilitating fast channel changes through promotion of pictures
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010096767A1 (en) 2009-02-20 2010-08-26 Cisco Technology, Inc. Signalling of decodable sub-sequences
US20100218232A1 (en) 2009-02-25 2010-08-26 Cisco Technology, Inc. Signalling of auxiliary information that assists processing of video according to various formats
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) * 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US20110222837A1 (en) 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5917988A (en) * 1995-04-07 1999-06-29 Sony Corporation Editing apparatus, editing method and decoding apparatus for compressed video signal
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US20060133645A1 (en) * 1995-07-27 2006-06-22 Rhoads Geoffrey B Steganographically encoded video, and related methods
US5734443A (en) * 1995-12-28 1998-03-31 Philips Electronics North America Corporation Method and device for performing source transitions in a video system which performs entropy encoding
US7733956B1 (en) * 1996-12-17 2010-06-08 Oracle International Corporation Method and apparatus for storing base and additive streams of video
US6188436B1 (en) * 1997-01-31 2001-02-13 Hughes Electronics Corporation Video broadcast system with video data shifting
US6222979B1 (en) * 1997-02-18 2001-04-24 Thomson Consumer Electronics Memory control in trick play mode
US6201927B1 (en) * 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6393057B1 (en) * 1998-08-14 2002-05-21 Dominique Thoreau MPEG stream switching process
US20030016876A1 (en) * 1998-10-05 2003-01-23 Bing-Bing Chai Apparatus and method for data partitioning to improving error resilience
US6906743B1 (en) * 1999-01-13 2005-06-14 Tektronix, Inc. Detecting content based defects in a video stream
US20060093045A1 (en) * 1999-06-29 2006-05-04 Roger Anderson Method and apparatus for splicing
US7027713B1 (en) * 1999-11-30 2006-04-11 Sharp Laboratories Of America, Inc. Method for efficient MPEG-2 transport stream frame re-sequencing
US20060093315A1 (en) * 2000-03-31 2006-05-04 Kelly Declan P Methods and apparatus for editing digital video recordings, and recordings made by such methods
US20070053665A1 (en) * 2000-06-02 2007-03-08 Sony Corporation Apparatus and method for image coding and decoding
US6907075B2 (en) * 2000-06-30 2005-06-14 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
US6754373B1 (en) * 2000-07-14 2004-06-22 International Business Machines Corporation System and method for microphone activation using visual speech cues
US20020071485A1 (en) * 2000-08-21 2002-06-13 Kerem Caglar Video coding
US20020075402A1 (en) * 2000-09-13 2002-06-20 Pace Micro Technology Plc. Television system
US7236520B2 (en) * 2001-03-05 2007-06-26 Intervideo, Inc. Systems and methods for encoding redundant motion vectors in compressed video bitstreams
US20070121721A1 (en) * 2001-03-05 2007-05-31 Chang-Su Kim Systems and methods for decoding redundant motion vectors in compressed video bitstreams
US20030012554A1 (en) * 2001-07-10 2003-01-16 General Instrument Corporation Methods and apparatus for advanced recording options on a personal versatile recorder
US20030043847A1 (en) * 2001-08-31 2003-03-06 Haddad Semir S. Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith
US20030093800A1 (en) * 2001-09-12 2003-05-15 Jason Demas Command packets for personal video recorder
US20030067479A1 (en) * 2001-09-27 2003-04-10 Samsung Electronics Co., Ltd. Method of indexing image hierarchically and apparatus therefor
US20030072555A1 (en) * 2001-10-12 2003-04-17 Adrian Yap Method and apparatus for identifying MPEG picture coding types
US20030113098A1 (en) * 2001-12-19 2003-06-19 Willis Donald H. Trick mode playback of recorded video
US20050069212A1 (en) * 2001-12-20 2005-03-31 Koninklijke Philips Electronics N.V Video encoding and decoding method and device
US20080037957A1 (en) * 2001-12-31 2008-02-14 Scientific-Atlanta, Inc. Decoding and output of frames for video trick modes
US7376335B2 (en) * 2002-03-20 2008-05-20 Koninklijke Philips Electronics N.V. Method and device for recording real-time information
US20040010807A1 (en) * 2002-05-03 2004-01-15 Urdang Erik G. Use of multiple embedded messages in program signal streams
US20040040035A1 (en) * 2002-05-03 2004-02-26 Carlucci John B. Use of messages in or associated with program signal streams by set-top terminals
US20050084166A1 (en) * 2002-06-25 2005-04-21 Ran Boneh Image processing using probabilistic local behavior assumptions
US20040012510A1 (en) * 2002-07-17 2004-01-22 Chen Sherman (Xuemin) Decoding and presentation time stamps for MPEG-4 advanced video coding
US20040028227A1 (en) * 2002-08-08 2004-02-12 Yu Hong Heather Partial encryption of stream-formatted media
US20060013505A1 (en) * 2002-11-06 2006-01-19 Shing-Tung Yau Analysis of geometric surfaces by comformal structure
US20050002574A1 (en) * 2003-05-02 2005-01-06 Takahiro Fukuhara Image encoding apparatus and method
US20070031110A1 (en) * 2003-05-16 2007-02-08 Koninklijke Philips Electronics N.V. Method of recording and of replaying and video recording and replay systems
US20050013249A1 (en) * 2003-07-14 2005-01-20 Hao-Song Kong Redundant packets for streaming video protection
US20080063074A1 (en) * 2003-07-15 2008-03-13 Gallant Michael D Multi-standard variable block size motion estimation processor
US20050022245A1 (en) * 2003-07-21 2005-01-27 Ramesh Nallur Seamless transition between video play-back modes
US20060036551A1 (en) * 2004-03-26 2006-02-16 Microsoft Corporation Protecting elementary stream content
US7889788B2 (en) * 2004-04-28 2011-02-15 Panasonic Corporation Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US20070116426A1 (en) * 2004-04-28 2007-05-24 Tadamasa Toma Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US20080131079A1 (en) * 2004-04-28 2008-06-05 Tadmasa Toma Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
US7720145B2 (en) * 2004-05-13 2010-05-18 Ittiam Systems (P) Ltd. Model based bit rate control for a macroblock encoder
US7480335B2 (en) * 2004-05-21 2009-01-20 Broadcom Corporation Video decoder for decoding macroblock adaptive field/frame coded video data with spatial prediction
US7649937B2 (en) * 2004-06-22 2010-01-19 Auction Management Solutions, Inc. Real-time and bandwidth efficient capture and delivery of live video to multiple destinations
US20070011447A1 (en) * 2004-08-16 2007-01-11 Nds Limited System for providing access to operation information
US20090016203A1 (en) * 2004-08-17 2009-01-15 Hiroshi Yahata Information recording medium, and data reproduction device
US20060072597A1 (en) * 2004-10-04 2006-04-06 Nokia Corporation Picture buffering method
US20060109856A1 (en) * 2004-11-24 2006-05-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US20060117357A1 (en) * 2004-11-30 2006-06-01 Surline Jack E Methods and systems for controlling trick mode play speeds
US20060120463A1 (en) * 2004-12-06 2006-06-08 Nokia Corporation Video coding, decoding and hypothetical reference decoder
US20060126728A1 (en) * 2004-12-10 2006-06-15 Guoyao Yu Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US7903745B2 (en) * 2005-01-06 2011-03-08 Infra-Com Ltd. Error detection and correction for base-band wireless systems
US20080137728A1 (en) * 2005-01-17 2008-06-12 Koninklijke Philips Electronics, N.V. System, Transmitter, Receiver, Method and Software For Transmitting and Receiving Ordered Sets of Video Frames
US20080037658A1 (en) * 2005-03-14 2008-02-14 Lois Price Compressed domain encoding apparatus and methods for use with media signals
US20090141168A1 (en) * 2005-04-26 2009-06-04 Yen-Fu Chen Sub-program avoidance redirection for broadcast receivers
US20090041130A1 (en) * 2005-05-26 2009-02-12 Lg Electronics Inc. Method of transmitting picture information when encoding video signal and method of using the same when decoding video signal
US7912219B1 (en) * 2005-08-12 2011-03-22 The Directv Group, Inc. Just in time delivery of entitlement control message (ECMs) and other essential data elements for television programming
US20070081586A1 (en) * 2005-09-27 2007-04-12 Raveendran Vijayalakshmi R Scalability techniques based on content information
US8102406B2 (en) * 2005-11-15 2012-01-24 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for producing a video synopsis
US20070116277A1 (en) * 2005-11-17 2007-05-24 Samsung Electronics Co., Ltd. Method and system for encryption/decryption of scalable video bitstream for conditional access control based on multidimensional scalability in scalable video coding
US20070133674A1 (en) * 2005-12-12 2007-06-14 Thomson Licensing Device for coding, method for coding, system for decoding, method for decoding video data
US20070140358A1 (en) * 2005-12-16 2007-06-21 Schwartz Mayer D Video encoding for seamless splicing between encoded video streams
US20070147686A1 (en) * 2005-12-22 2007-06-28 Eastman Kodak Company System and method for rendering an oblique slice through volumetric data accessed via a client-server architecture
US20080151101A1 (en) * 2006-04-04 2008-06-26 Qualcomm Incorporated Preprocessor method and apparatus
US20100027417A1 (en) * 2006-06-29 2010-02-04 Guido Franceschini Method and apparatus for improving bandwith exploitation in real-time audio/video communications
US20080022340A1 (en) * 2006-06-30 2008-01-24 Nokia Corporation Redundant stream alignment in ip datacasting over dvb-h
US20080025399A1 (en) * 2006-07-26 2008-01-31 Canon Kabushiki Kaisha Method and device for image compression, telecommunications system comprising such a device and program implementing such a method
US20100150234A1 (en) * 2006-08-25 2010-06-17 Han Suh Koo Method and apparatus for decoding/encoding a video signal
US20080056383A1 (en) * 2006-09-05 2008-03-06 Eiji Ueki Information processing apparatus and method
US20080089422A1 (en) * 2006-10-12 2008-04-17 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US20100150232A1 (en) * 2006-10-31 2010-06-17 Gottfried Wilhelm Leibniz Universitat Hannover Method for concealing a packet loss
US20080115176A1 (en) * 2006-11-13 2008-05-15 Scientific-Atlanta, Inc. Indicating picture usefulness for playback optimization
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US20080127255A1 (en) * 2006-11-27 2008-05-29 Nortel Networks Limited Multimedia subsystem control for internet protocol based television services
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
US20080152005A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
US20080152006A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Reference frame placement in the enhancement layer
US7733910B2 (en) * 2006-12-29 2010-06-08 Riverbed Technology, Inc. Data segmentation using shift-varying predicate function fingerprinting
US20100027667A1 (en) * 2007-01-26 2010-02-04 Jonatan Samuelsson Motion estimation for uncovered frame regions
US20090003439A1 (en) * 2007-06-26 2009-01-01 Nokia Corporation System and method for indicating temporal layer switching points
US20090034633A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US20090034627A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US20090097568A1 (en) * 2007-10-12 2009-04-16 Qualcomm Incorporated Entropy coding of interleaved sub-blocks of a video block
US20090100482A1 (en) * 2007-10-16 2009-04-16 Rodriguez Arturo A Conveyance of Concatenation Properties and Picture Orderness in a Video Stream
US20090103635A1 (en) * 2007-10-17 2009-04-23 Peshala Vishvajith Pahalawatta System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
US20090109342A1 (en) * 2007-10-31 2009-04-30 Brian Heng Method and System for Hierarchically Layered Adaptive Median Motion Vector Smoothing
US8136140B2 (en) * 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US20090138668A1 (en) * 2007-11-26 2009-05-28 Motorola, Inc. Data interleaving circuit and method for vectorized turbo decoder
US20090147859A1 (en) * 2007-12-05 2009-06-11 Mcgowan James William Method and apparatus for performing multiple bit rate video encoding and video stream switching
US20090148132A1 (en) * 2007-12-11 2009-06-11 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US20090148056A1 (en) * 2007-12-11 2009-06-11 Cisco Technology, Inc. Video Processing With Tiered Interdependencies of Pictures
US8155207B2 (en) * 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US20100150527A1 (en) * 2008-12-11 2010-06-17 Cable Television Laboratories, Inc. Segment boundary obfuscation
US20130028314A1 (en) * 2009-06-18 2013-01-31 Rodriguez Arturo A Dynamic Streaming Plural Lattice Video Coding Representations of Video

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295621A1 (en) * 2003-10-16 2008-12-04 Sae Magnetics (H.K.) Ltd. Method and mechanism of the suspension resonance optimization for the hard disk driver
US9716883B2 (en) 2006-11-13 2017-07-25 Cisco Technology, Inc. Tracking and determining pictures in successive interdependency levels
US9521420B2 (en) 2006-11-13 2016-12-13 Tech 5 Managing splice points for non-seamless concatenated bitstreams
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
US8873932B2 (en) 2007-12-11 2014-10-28 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US20090180547A1 (en) * 2008-01-09 2009-07-16 Rodriguez Arturo A Processing and managing pictures at the concatenation of two video streams
US8155207B2 (en) 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US8804843B2 (en) 2008-01-09 2014-08-12 Cisco Technology, Inc. Processing and managing splice points for the concatenation of two video streams
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US9819899B2 (en) 2008-06-12 2017-11-14 Cisco Technology, Inc. Signaling tier information to assist MMCO stream manipulation
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US9723333B2 (en) 2008-06-17 2017-08-01 Cisco Technology, Inc. Output of a video signal from decoded and derived picture information
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US9407935B2 (en) 2008-06-17 2016-08-02 Cisco Technology, Inc. Reconstructing a multi-latticed video signal
US9350999B2 (en) 2008-06-17 2016-05-24 Tech 5 Methods and systems for processing latticed time-skewed video streams
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8761266B2 (en) 2008-11-12 2014-06-24 Cisco Technology, Inc. Processing latticed and non-latticed pictures of a video program
US8259817B2 (en) 2008-11-12 2012-09-04 Cisco Technology, Inc. Facilitating fast channel changes through promotion of pictures
US8320465B2 (en) 2008-11-12 2012-11-27 Cisco Technology, Inc. Error concealment of plural processed representations of a single video signal received in a video program
US8259814B2 (en) 2008-11-12 2012-09-04 Cisco Technology, Inc. Processing of a video program having plural processed representations of a single video signal for reconstruction and output
US8681876B2 (en) 2008-11-12 2014-03-25 Cisco Technology, Inc. Targeted bit appropriations based on picture importance
US8326131B2 (en) 2009-02-20 2012-12-04 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US20100293571A1 (en) * 2009-05-12 2010-11-18 Cisco Technology, Inc. Signalling Buffer Characteristics for Splicing Operations of Video Streams
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US9609039B2 (en) 2009-05-12 2017-03-28 Cisco Technology, Inc. Splice signalling buffer characteristics
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
US9467696B2 (en) 2009-06-18 2016-10-11 Tech 5 Dynamic streaming plural lattice video coding representations of video
US20100322302A1 (en) * 2009-06-18 2010-12-23 Cisco Technology, Inc. Dynamic Streaming with Latticed Representations of Video
US20130259138A1 (en) * 2012-04-03 2013-10-03 Devadutta Ghat Hardware accelerated distributed transcoding of video clips
US9538208B2 (en) * 2012-04-03 2017-01-03 Intel Corporation Hardware accelerated distributed transcoding of video clips
US20140003508A1 (en) * 2012-07-02 2014-01-02 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US9716896B2 (en) 2012-07-02 2017-07-25 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US9712838B2 (en) 2012-07-02 2017-07-18 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US9438924B2 (en) 2012-07-02 2016-09-06 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US9392276B2 (en) * 2012-07-02 2016-07-12 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US10070144B2 (en) 2012-07-02 2018-09-04 Fujitsu Limited Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method

Also Published As

Publication number Publication date
US20140351854A1 (en) 2014-11-27
US20150189303A1 (en) 2015-07-02
US8155207B2 (en) 2012-04-10
US20090180547A1 (en) 2009-07-16
US9521420B2 (en) 2016-12-13
US8804843B2 (en) 2014-08-12
US20120263228A1 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
US9521420B2 (en) Managing splice points for non-seamless concatenated bitstreams
US8875199B2 (en) Indicating picture usefulness for playback optimization
US9609039B2 (en) Splice signalling buffer characteristics
US8416859B2 (en) Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US9819899B2 (en) Signaling tier information to assist MMCO stream manipulation
US10714143B2 (en) Distinguishing HEVC pictures for trick mode operations
US20090323822A1 (en) Support for blocking trick mode operations
CN107580780B (en) Method for processing video stream
US10554711B2 (en) Packet placement for scalable video coding schemes
WO2014008321A1 (en) Signalling information for consecutive coded video sequences that have the same aspect ratio but different picture resolutions

Legal Events

Date Code Title Description
AS Assignment

Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RODRIGUEZ, ARTURO A.;AU, JAMES;DE LAMEILLIEURE, JAN;AND OTHERS;REEL/FRAME:023356/0336;SIGNING DATES FROM 20090115 TO 20090116

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: TECH 5 SAS, FRANCE

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT 7523479 NEEDS TO BE INCLUDED, WAS ACCIDENTALLY MISSED WHEN RECORDING ASSIGNMENT PREVIOUSLY RECORDED ON REEL 049603 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE NEED TO INCLUDE PATENT 7523479 IN THE ASSIGNMENT. WAS ACCIDENTALLY MISSED ON LAST RECORDING;ASSIGNOR:CISCO TECHNOLOGY, INC.;REEL/FRAME:058043/0001

Effective date: 20151120