US20100166383A1 - System and method for providing trick modes - Google Patents
System and method for providing trick modes Download PDFInfo
- Publication number
- US20100166383A1 US20100166383A1 US12/346,912 US34691208A US2010166383A1 US 20100166383 A1 US20100166383 A1 US 20100166383A1 US 34691208 A US34691208 A US 34691208A US 2010166383 A1 US2010166383 A1 US 2010166383A1
- Authority
- US
- United States
- Prior art keywords
- video bitstream
- trick mode
- bitstream
- video
- original
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
Definitions
- PVRs Personal video recorders
- a storage medium such as a computer hard drive
- Users of PVRs are generally interested in browsing/seeking through the supplied content in various ways, such as fast forward, rewind, pause, freeze, frame stepping etc.
- trick modes are important features for multimedia consumers, and thus, providing an efficient quality trick mode solution is of great commercial importance to set-top box manufacturers and service providers.
- One of the conventional techniques is to drop frames of certain type from the video decoding cycle, hence maintaining a high decode frame rate. For example, B frames (bidirectional coded frames) of a video bitstream may be dropped since these frames may not be reference frames.
- Another conventional technique is to start decoding only the intra coded portions (macroblocks) of the video bitstream and the predictive macroblocks of subsequent frames which depend on these intra coded portions, when the frame index in the video bitstream is approximately few frames before the desired frame to be displayed and to display a frame only when the entire frame contains data decoded from the collected intra blocks.
- Another conventional technique is to decode and display only I frames (intra coded frames) in the video sequence.
- trick mode speed i.e., a high decode rate and uniform display rate.
- video coding standards such as H.264
- non-uniform display rate in some cases, such as extremely low intra content in the video sequence, it might be difficult to maintain even a non-uniform display rate.
- a system and method for providing trick modes uses a trick mode video bitstream generated from an original video bitstream to produce video frames during a trick mode.
- the trick mode video bitstream is generated to be less complex with respect to decoding than the original video bitstream.
- the computational cost to provide trick modes is significantly lowered.
- a system for providing trick mode in accordance with an embodiment of the invention comprises a trick mode bitstream generator, a storage device, a decoder unit and a mode controller.
- the trick mode bitstream generator is configured to generate a trick mode video bitstream from an original video bitstream.
- the trick mode video bitstream is of lower complexity with respect to decoding than the original video bitstream.
- the storage device is used to store the original video bitstream and the trick mode video bitstream.
- the decoder unit is connected to the storage device to receive both the original video bitstream and the trick mode bitstream to produce decoded video frames to be displayed.
- the decoder unit is configured to decode only the original video bitstream to produce the decoded video frames during a normal play mode.
- the decoder unit is further configured to decode the trick mode video bitstream and a portion of the original video bitstream to produce the decoded video frames during a trick mode.
- the mode controller is connected to the decoder unit to control the decoder unit to decode according one of the normal play mode and the trick mode in response to user input.
- a method for providing trick mode comprises generating a trick mode video bitstream from an original video bitstream, the trick mode video bitstream being of lower complexity with respect to decoding than the original video bitstream, decoding only the original video bitstream during a normal play mode to produce normal video frames to be displayed, and decoding the trick mode video bitstream and a portion of the original video bitstream during a trick mode to produce trick mode video frames to be displayed.
- a method for providing trick modes in accordance with another embodiment of the invention comprises generating a trick mode video bitstream from an original video bitstream, the trick mode video bitstream being of lower complexity with respect to decoding than the original video bitstream, decoding only the original video bitstream during a normal play mode to produce normal video frames to be displayed, and decoding predictive frames of the trick mode video bitstream and independent reference frames of the original video bitstream during a trick mode to produce trick mode video frames to be displayed.
- FIG. 1 is a block diagram of a system for providing trick modes in accordance with an embodiment of the invention.
- FIG. 2 illustrates the dependence of a trick mode video bitstream, which is generated in the system of FIG. 1 , on an original video bitstream in accordance with an embodiment of the invention.
- FIG. 3 is a process flow diagram of a method for providing trick modes in accordance with an embodiment of the invention.
- a system 100 for providing trick modes in accordance with an embodiment of the invention is described.
- the system 100 utilizes a low complexity trick mode bitstream to reduce the computational requirements to provide trick modes for a high decoding complexity video bitstream.
- the system 100 does not drop desired frames (frames to be decoded depending on trick mode speed) of the video bitstream during trick modes, which allows a uniform display rate to be maintained during the trick modes.
- the system 100 includes a storage device 102 , a trick mode bitstream generator 104 , a decoding unit 106 , an optional prescaler 108 and a mode controller 110 .
- the storage device 102 is used to store received original video bitstream, which may be encoded using any coding scheme. As an example, the received video bitstream may be a video bitstream coded according to H.264 coding standard.
- the storage device 102 is also used to store a low complexity trick mode video bitstream, which is created from the original video bitstream by the trick mode bitstream generator 104 .
- the low complexity trick mode video bitstream is used when a user selects a trick mode, as described in more detail below.
- the storage device 102 can be any type of memory, such as a computer hard disk drive device or a flash memory device.
- the trick mode bitstream generator 104 is connected to the storage device 102 to receive the original video bitstream stored in the storage device.
- the trick mode bitstream generator 104 is configured to generate the trick mode video bitstream from the original video bitstream.
- the trick mode video bitstream is a video bitstream having a lower complexity with respect to decoding as compared to the original video bitstream.
- the trick mode bitstream generator 104 operates to create the low complexity trick mode video bitstream in one or both of the following ways.
- One of the two ways to create the low complexity trick mode video bitstream is by encoding the low complexity trick mode video bitstream at a lower resolution than the original video bitstream.
- the low complexity trick mode video bitstream is encoded at half the resolution of the original video bitstream, both the bit rate and the decoding complexity are reduced approximately by a factor of four.
- the other way to generate the low complexity trick mode video bitstream is to code the trick mode video bitstream according to a video coding format that is less complex as compared to the video coding format of the original video bitstream.
- the video coding format of the original video bitstream is H.264
- the low complexity trick mode video bitstream can be MPEG2 (Motion Picture Experts Group 2), VC-1 (Society of Motion Picture and Television Engineers 421M video codec standard), AVS (Audio Video Standard) or other suitable video coding format of lower complexity than H.264.
- the trick mode bitstream generator 104 is also configured to create the low complexity trick mode video bitstream to minimize the file size of the trick mode video bitstream.
- Video content which gets coded using intra compression techniques takes a significant number of bits, which is also present in the predictive frames, i.e., the P frames (predictive coded frames) and B frames (bidirectional coded frames), of the coded video bitstream.
- Such video content is generally termed as “intra content.”
- the intra content of the low complexity video bitstream is obtained from the intra content of the original video frame.
- macroblocks of the independent reference I frames (intra coded frames) of the original video bitstream are decoded and downsampled.
- a macroblock in YCbCr 4:2:0 color format, is a square region of 16 ⁇ 16 luminance pixels (Y), and a square region of 8 ⁇ 8 for each of the chrominance pixels (Cb and Cr).
- the downsampled reconstructed I frames become the I frames of the trick mode video bitstream. Hence, it is not required to place I frames in the trick mode video bitstream. Only I frame headers are placed in the trick mode bitstream which allow random access and switching between the original and trick mode bitstreams.
- the predictive frames, i.e., the P and B frames, of the trick mode video bitstream are coded with respect to the downsampled reconstructed I frames obtained from the original video bitstream.
- This prediction can be termed as “inter bitstream prediction”.
- These reconstructed and downsampled intra frames from the original video bitstream become the reference frames for the predictive P and B frames of the low complexity trick mode video bitstream. In this manner, most of the intra content is avoided in the trick mode video bitstream, which leads to a higher compression rate for the trick mode video bitstream, and thus, minimizes the file size of the trick mode video bitstream.
- FIG. 2 The dependence of the trick mode video bitstream on the original video bitstream is illustrated in FIG. 2 .
- the I frames of the trick mode video bitstream are directly obtained from the I frames of the original video bitstream.
- the predictive P frames of the trick mode bitstream are dependent on the I frames of the trick mode video bitstream.
- the frames of the original and trick mode video bitstreams are illustrated in FIG. 2 in the display order.
- a method of generating the low complexity trick mode video bitstream that is dependent on the original video bitstream in accordance with an embodiment of the invention involves decoding an I frame of the original video bitstream and then downsampling the reconstructed I frame of the original video frame so that the downsampled reconstructed I frame matches the resolution of the trick mode video bitstream.
- the downsampled reconstructed I frame is then deblocked to filter out blocking artifacts.
- the P and B frames of the original video frame are then reconstructed, downsampled and deblocked.
- These reconstructed, downsampled and deblocked frames are encoded as P and B frames of the trick mode video bitstream with respect to the reconstructed, downsampled and deblocked I frame of the original video bitstream.
- Time stamps of video frames of the original bitstream are used to time stamp the corresponding frames of the trick mode bitstream.
- the trick mode bitstream generator 104 is configured to create the trick mode video bitstream as a separate video bitstream from the original video frame.
- the trick mode video bitstream and the original video frame are stored in the storage device 102 as two separate video bitstreams.
- downsampled and deblocked I frames of original video bitstream are re-encoded for insertion into the trick mode video bitstream; hence they are independent of each other.
- the trick mode bitstream generator 104 is configured to create the trick mode video bitstream and integrate the trick mode video bitstream into the original video frame to produce a composite video bitstream that includes both the trick mode video bitstream and the original video bitstream.
- the trick mode video bitstream may be multiplexed with the original video bitstream in the composite video bitstream, where methods of multiplexing may correspond to creation of PES (packetized elementary stream)/TS(Transport Stream)/PS (Program Stream) streams as described in ISO/IEC 13818-1.
- PES packetized elementary stream
- TS Transportport Stream
- PS Program Stream
- the trick mode bitstream generator 104 is configured to create the trick mode video bitstream as a multi-codec video bitstream.
- a multi-codec video bitstream is a bitstream that is encoded using different coding formats, where some of the frames are coded using one coding format and the rest are coded using another coding format. For example, one GOP (Group of Pictures) is coded using one coding format and the alternate GOPs are coded using another coding format. Availability of two decoded GOPs in memory allows decoding of two GOPs in parallel by two independent decoders, hence increasing the decode rate by 2 ⁇ . Another example is to code one set of alternate frames of a GOP in one coding format and another set of alternate frames of a GOP in another coding format.
- the independent reference I frames are coded using one coding format and the non-reference predictive B and P frames are coded using another coding format.
- Decoding rate is increased if a video bitstream is coded as a multi-codec video bitstream. Since high decoding rate is desired for trick modes, the low complexity trick mode video bitstream can also be encoded to be a multi-codec video bitstream.
- the trick mode video bitstream may be created and stored as a single multi-codec video bitstream or as multiple multi-codec video bitstreams.
- bitstreams of each codec of multi-codec video bitstreams may be multiplexed with each other, where methods of multiplexing may correspond to creation of PES/TS/PS streams as described in ISO/IEC 13818-1.
- a new data header (Multi_Codec_Data_Header) is introduced after the last frame of a particular codec.
- a unique identifier such as a unique start code is used to identify this data header.
- Start codes are generally a 4 byte data of following type, 0 ⁇ 000001bb (in hexadecimal notation), where bb is an 8 bit number which corresponds to a particular start code.
- the portion 0 ⁇ 00000 is generally termed as a start code prefix and is used to identify the presence of a start code. This start code will be unique in this entire bitstream.
- Elements of the new Data Header include the following:
- unique identifier such as a unique start code
- the multi-codec video bitstream may have the following format:
- reference frames decoded using a particular video format are not flushed and are used to decode subsequent frames, which are coded in a different video format.
- the multi-codec trick mode video bitstream is created and stored as multiple multi-codec bitstreams.
- bitstreams of each codec type are stored separately.
- a bitstream of reference frames is generated using one video coding format.
- a bitstream of non-reference frames is generated using another video coding format.
- a table that indicates how many frames of one codec are present after a frame of another codec and location of such frames is used to traverse both the bitstreams.
- the same information as to how many frames of one codec are present after a frame of another codec can be incorporated in the bitstream of the first video format by introducing a new data header (Multi_Codec_Data_Header).
- Multi_Codec_Data_Header Multi_Codec_Data_Header
- unique identifier such as a unique start code
- the decoding unit 106 is connected to the storage device 102 to access the original and trick mode video bitstreams for normal play mode, as well as for trick modes.
- a normal play mode (1 ⁇ speed)
- the decoding unit 106 decodes only the original video bitstream to produce video frames to be displayed for normal play.
- a trick mode the decoding unit 106 decodes the trick mode video bitstream and at least some of the original video bitstream to produce video frames to be displayed for the trick mode, which could be fast forward, rewind, etc. Since the trick mode video bitstream is less complex than the original video bitstream with respect to decoding, the use of the trick mode video bitstream allows the decoding unit to decode more efficiently to provide trick modes selected by a user.
- the decoding unit 106 includes a bitstream selector 111 and at least one decoder 112 .
- the bitstream selector 111 receives both the original video bitstream and the trick mode video bitstream to selective decode the required frames of the video bitstreams to provide either a normal play mode or one of the trick modes.
- the bitstream selector 111 transmits the original video bitstream to at least one of the decoders 112 of the decoding unit 106 . If the original video bitstream is a single codec video bitstream, then the original video bitstream may be decoded using a single decoder 112 in the decoding unit 106 .
- the original video bitstream is a multi-codec video bitstream
- the original video bitstream may be decoded using multiple decoders 112 in the decoding unit 106 .
- the trick mode video bitstream is consumed at the bitstream selector 111 and the trick mode video bitstream and the original video bitstream are synchronized to each other using time stamps, such as presentation time stamps (PTS) and decode time stamps (DTS), in the video bitstreams.
- PTS presentation time stamps
- DTS decode time stamps
- switching can be done on the basis of index tables which index the corresponding frame locations of the bitstreams against one another, hence allowing switching from one stream to the other.
- Indexing can be done coarsely, e.g., location of one predictive frame per GOP will be indexed.
- the bitstream selector 111 switches from transmitting only the original video bitstream for decoding to transmitting only the independent reference I frames of the original video bitstream and the predictive B and P frames of the trick mode video bitstream for decoding.
- the frames that are displayed during a trick mode are the I frames decoded from the original video frames and the B and P frames decoded from the trick mode video frame.
- decoders 112 included in the decoding unit 106 depend on the codec format(s) of the original video bitstream and the trick mode video bitstream. As an example, if the original video bitstream is a video bitstream according to H.264 standard, then one of the decoders 112 is a H.264 decoder. In addition, if the trick mode video bitstream is a video bitstream according to AVS and/or VC-1 standards, the decoders 112 may include an AVS decoder and/or a VC-1 decoder.
- the optional prescaler 108 is connected to the decoding unit 106 to receive the frames that are to be displayed during a trick mode. If the trick mode video bitstream was created at a lower resolution and the decoded video frames during a trick mode are to be displayed according to the display resolution of a display device (not shown), the prescaler 108 operates to appropriately scale the low resolution frames from the decoding unit 106 . However, if the trick mode video bitstream was created at a lower resolution and the decoded video frames during a trick mode are to be displayed according to the lower resolution of the trick mode video bitstream, then the prescaler 108 is not needed in the system.
- the mode controller 110 is connected to the various components of the system 100 to control these components.
- the mode controller 110 is connected to the decoding unit 106 to facilitate the switching between the normal mode and the trick modes.
- the mode controller 110 may be implemented as part of a processor or a microcontroller.
- the mode controller 110 can be implemented as software, hardware, or in any combination of software, hardware and firmware.
- an original video bitstream is received and stored in the storage device 102 .
- the original video bitstream may be a video bitstream encoded according to H.264 standard or any other coding standard or standards.
- the original video bitstream is then accessed by the trick mode bitstream generator 104 , which uses the original video bitstream to create and store a trick mode video bitstream.
- the trick mode video bitstream is created to be less complex with respect to decoding than the original video bitstream.
- the trick mode video bitstream may be created at a lower resolution than the original video bitstream and/or created according to a less complex video coding format than that of the original video bitstream.
- the independent reference I frames and the predictive B and P frames of the original video bitstream are decoded by the decoding unit 106 to produce video frames to be displayed.
- the trick mode video bitstream is consumed by the decoding unit 106 to synchronize the trick mode video bitstream with the original video bitstream so that switching or selecting between the two bitstreams can be done seamlessly.
- the trick mode video bitstream is not decoded by the decoding unit 106 during the normal play mode.
- the independent reference I frames of the original video bitstream are decoded by the decoding unit 106 .
- the predictive B and P frames of the trick mode video bitstream are decoded.
- the decoded independent reference I frames of the original video bistream and the decoded predictive B and P frames of the trick mode video bitstream are the video frames to be displayed during the trick mode.
- the decoded predictive B and P frames of the trick mode video bitstream may be upscaled by the optional prescaler 108 before being displayed.
- the independent reference I frames and the predictive B and P frames of the original video bitstream are again decoded by the decoding unit 106 to produce video frames to be displayed.
- the trick mode video bitstream is no longer decoded by the decoding unit 106 .
- the trick mode video bitstream is again consumed by the decoding unit 106 to synchronize the trick mode video bitstream with the original video bitstream so that subsequent switching or selecting between the two bitstreams can be done seamlessly.
- a method for providing trick modes in accordance with an embodiment of the invention is described with reference to a process flow diagram of FIG. 3 .
- a trick mode video bitstream is generated from an original video bitstream.
- the trick mode video bitstream is of lower complexity with respect to decoding than the original video bitstream.
- only the original video bitstream is decoded during a normal play mode to produce normal video frames to be displayed.
- the trick mode video bitstream and a portion of the original video bitstream are decoded during a trick mode to produce trick mode video frames to be displayed.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
- Personal video recorders (PVRs) are devices that allow video bitstreams to be recorded on a storage medium, such as a computer hard drive, which can be played at anytime by users. Users of PVRs are generally interested in browsing/seeking through the supplied content in various ways, such as fast forward, rewind, pause, freeze, frame stepping etc. These different browsing/seeking modes are commonly referred to as trick modes. Trick modes are important features for multimedia consumers, and thus, providing an efficient quality trick mode solution is of great commercial importance to set-top box manufacturers and service providers.
- Latest video coding standard, i.e., H.264, is capable of compressing videos at half the file size at same video quality as compared to its predecessor video coding standard, i.e., MPEG4 (Motion Picture Experts Group 4). However, this comes at an increased computational cost of decoding video content due to the predictive coding used in H.264 codecs. Thus, it is a challenge to provide a good quality trick mode solution for high definition H.264 bitstreams within the available computation budget.
- There are several conventional techniques that are widely used in the industry for implementing trick modes. One of the conventional techniques is to drop frames of certain type from the video decoding cycle, hence maintaining a high decode frame rate. For example, B frames (bidirectional coded frames) of a video bitstream may be dropped since these frames may not be reference frames. Another conventional technique is to start decoding only the intra coded portions (macroblocks) of the video bitstream and the predictive macroblocks of subsequent frames which depend on these intra coded portions, when the frame index in the video bitstream is approximately few frames before the desired frame to be displayed and to display a frame only when the entire frame contains data decoded from the collected intra blocks. Another conventional technique is to decode and display only I frames (intra coded frames) in the video sequence.
- Users generally desire the change in video content to correspond to trick mode speed, i.e., a high decode rate and uniform display rate. This places a requirement on dropping frames from the decode cycle because of limited computation budget. However, for some video coding standards such as H.264, it is not possible to drop frames from the decoding cycle as all type of frames can depend on one another. Hence, it is not possible to maintain a high uniform display rate. Therefore, some conventional trick mode techniques resort to using non-uniform display rate in such cases. However, in some cases, such as extremely low intra content in the video sequence, it might be difficult to maintain even a non-uniform display rate.
- In view of the above concerns, there is a need for a system and method for providing trick modes that does not require a high computational cost and/or a non-uniform display rate.
- A system and method for providing trick modes uses a trick mode video bitstream generated from an original video bitstream to produce video frames during a trick mode. The trick mode video bitstream is generated to be less complex with respect to decoding than the original video bitstream. Thus, the computational cost to provide trick modes is significantly lowered.
- A system for providing trick mode in accordance with an embodiment of the invention comprises a trick mode bitstream generator, a storage device, a decoder unit and a mode controller. The trick mode bitstream generator is configured to generate a trick mode video bitstream from an original video bitstream. The trick mode video bitstream is of lower complexity with respect to decoding than the original video bitstream. The storage device is used to store the original video bitstream and the trick mode video bitstream. The decoder unit is connected to the storage device to receive both the original video bitstream and the trick mode bitstream to produce decoded video frames to be displayed. The decoder unit is configured to decode only the original video bitstream to produce the decoded video frames during a normal play mode. The decoder unit is further configured to decode the trick mode video bitstream and a portion of the original video bitstream to produce the decoded video frames during a trick mode. The mode controller is connected to the decoder unit to control the decoder unit to decode according one of the normal play mode and the trick mode in response to user input.
- A method for providing trick mode in accordance with an embodiment of the invention comprises generating a trick mode video bitstream from an original video bitstream, the trick mode video bitstream being of lower complexity with respect to decoding than the original video bitstream, decoding only the original video bitstream during a normal play mode to produce normal video frames to be displayed, and decoding the trick mode video bitstream and a portion of the original video bitstream during a trick mode to produce trick mode video frames to be displayed.
- A method for providing trick modes in accordance with another embodiment of the invention comprises generating a trick mode video bitstream from an original video bitstream, the trick mode video bitstream being of lower complexity with respect to decoding than the original video bitstream, decoding only the original video bitstream during a normal play mode to produce normal video frames to be displayed, and decoding predictive frames of the trick mode video bitstream and independent reference frames of the original video bitstream during a trick mode to produce trick mode video frames to be displayed.
- Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrated by way of example of the principles of the invention.
-
FIG. 1 is a block diagram of a system for providing trick modes in accordance with an embodiment of the invention. -
FIG. 2 illustrates the dependence of a trick mode video bitstream, which is generated in the system ofFIG. 1 , on an original video bitstream in accordance with an embodiment of the invention. -
FIG. 3 is a process flow diagram of a method for providing trick modes in accordance with an embodiment of the invention. - With reference to
FIG. 1 , asystem 100 for providing trick modes in accordance with an embodiment of the invention is described. As described in more detail below, thesystem 100 utilizes a low complexity trick mode bitstream to reduce the computational requirements to provide trick modes for a high decoding complexity video bitstream. In addition, thesystem 100 does not drop desired frames (frames to be decoded depending on trick mode speed) of the video bitstream during trick modes, which allows a uniform display rate to be maintained during the trick modes. - As illustrated in
FIG. 1 , thesystem 100 includes astorage device 102, a trickmode bitstream generator 104, adecoding unit 106, anoptional prescaler 108 and amode controller 110. Thestorage device 102 is used to store received original video bitstream, which may be encoded using any coding scheme. As an example, the received video bitstream may be a video bitstream coded according to H.264 coding standard. Thestorage device 102 is also used to store a low complexity trick mode video bitstream, which is created from the original video bitstream by the trickmode bitstream generator 104. The low complexity trick mode video bitstream is used when a user selects a trick mode, as described in more detail below. Thestorage device 102 can be any type of memory, such as a computer hard disk drive device or a flash memory device. - The trick
mode bitstream generator 104 is connected to thestorage device 102 to receive the original video bitstream stored in the storage device. The trickmode bitstream generator 104 is configured to generate the trick mode video bitstream from the original video bitstream. The trick mode video bitstream is a video bitstream having a lower complexity with respect to decoding as compared to the original video bitstream. The trickmode bitstream generator 104 operates to create the low complexity trick mode video bitstream in one or both of the following ways. One of the two ways to create the low complexity trick mode video bitstream is by encoding the low complexity trick mode video bitstream at a lower resolution than the original video bitstream. As an example, if the low complexity trick mode video bitstream is encoded at half the resolution of the original video bitstream, both the bit rate and the decoding complexity are reduced approximately by a factor of four. The other way to generate the low complexity trick mode video bitstream is to code the trick mode video bitstream according to a video coding format that is less complex as compared to the video coding format of the original video bitstream. For example, if the video coding format of the original video bitstream is H.264, then the low complexity trick mode video bitstream can be MPEG2 (Motion Picture Experts Group 2), VC-1 (Society of Motion Picture and Television Engineers 421M video codec standard), AVS (Audio Video Standard) or other suitable video coding format of lower complexity than H.264. - The trick
mode bitstream generator 104 is also configured to create the low complexity trick mode video bitstream to minimize the file size of the trick mode video bitstream. Video content which gets coded using intra compression techniques takes a significant number of bits, which is also present in the predictive frames, i.e., the P frames (predictive coded frames) and B frames (bidirectional coded frames), of the coded video bitstream. Such video content is generally termed as “intra content.” The intra content of the low complexity video bitstream is obtained from the intra content of the original video frame. In particular, macroblocks of the independent reference I frames (intra coded frames) of the original video bitstream are decoded and downsampled. A macroblock, in YCbCr 4:2:0 color format, is a square region of 16×16 luminance pixels (Y), and a square region of 8×8 for each of the chrominance pixels (Cb and Cr). The downsampled reconstructed I frames become the I frames of the trick mode video bitstream. Hence, it is not required to place I frames in the trick mode video bitstream. Only I frame headers are placed in the trick mode bitstream which allow random access and switching between the original and trick mode bitstreams. - The predictive frames, i.e., the P and B frames, of the trick mode video bitstream are coded with respect to the downsampled reconstructed I frames obtained from the original video bitstream. This prediction can be termed as “inter bitstream prediction”. These reconstructed and downsampled intra frames from the original video bitstream become the reference frames for the predictive P and B frames of the low complexity trick mode video bitstream. In this manner, most of the intra content is avoided in the trick mode video bitstream, which leads to a higher compression rate for the trick mode video bitstream, and thus, minimizes the file size of the trick mode video bitstream.
- The dependence of the trick mode video bitstream on the original video bitstream is illustrated in
FIG. 2 . As shown inFIG. 2 , the I frames of the trick mode video bitstream are directly obtained from the I frames of the original video bitstream. As also shown inFIG. 2 , the predictive P frames of the trick mode bitstream are dependent on the I frames of the trick mode video bitstream. The frames of the original and trick mode video bitstreams are illustrated inFIG. 2 in the display order. - A method of generating the low complexity trick mode video bitstream that is dependent on the original video bitstream in accordance with an embodiment of the invention involves decoding an I frame of the original video bitstream and then downsampling the reconstructed I frame of the original video frame so that the downsampled reconstructed I frame matches the resolution of the trick mode video bitstream. The downsampled reconstructed I frame is then deblocked to filter out blocking artifacts. The P and B frames of the original video frame are then reconstructed, downsampled and deblocked. These reconstructed, downsampled and deblocked frames are encoded as P and B frames of the trick mode video bitstream with respect to the reconstructed, downsampled and deblocked I frame of the original video bitstream. Time stamps of video frames of the original bitstream are used to time stamp the corresponding frames of the trick mode bitstream.
- In an embodiment, the trick
mode bitstream generator 104 is configured to create the trick mode video bitstream as a separate video bitstream from the original video frame. In this embodiment, the trick mode video bitstream and the original video frame are stored in thestorage device 102 as two separate video bitstreams. In this embodiment, downsampled and deblocked I frames of original video bitstream are re-encoded for insertion into the trick mode video bitstream; hence they are independent of each other. In another embodiment, the trickmode bitstream generator 104 is configured to create the trick mode video bitstream and integrate the trick mode video bitstream into the original video frame to produce a composite video bitstream that includes both the trick mode video bitstream and the original video bitstream. As an example, the trick mode video bitstream may be multiplexed with the original video bitstream in the composite video bitstream, where methods of multiplexing may correspond to creation of PES (packetized elementary stream)/TS(Transport Stream)/PS (Program Stream) streams as described in ISO/IEC 13818-1. Thus, in this embodiment, the trick mode video bitstream and the original video frame are stored in thestorage device 102 as a single video bitstream. - In an embodiment, the trick
mode bitstream generator 104 is configured to create the trick mode video bitstream as a multi-codec video bitstream. A multi-codec video bitstream is a bitstream that is encoded using different coding formats, where some of the frames are coded using one coding format and the rest are coded using another coding format. For example, one GOP (Group of Pictures) is coded using one coding format and the alternate GOPs are coded using another coding format. Availability of two decoded GOPs in memory allows decoding of two GOPs in parallel by two independent decoders, hence increasing the decode rate by 2×. Another example is to code one set of alternate frames of a GOP in one coding format and another set of alternate frames of a GOP in another coding format. Preferably, for a GOP structure of type IBBP, where I, B and P are different frame types, if more than one frame is coded with respect to same reference frames, then such frames can be decoded in parallel and hence are coded in another coding format as compared to the coding format of the reference frames. For example, the independent reference I frames are coded using one coding format and the non-reference predictive B and P frames are coded using another coding format. Decoding rate is increased if a video bitstream is coded as a multi-codec video bitstream. Since high decoding rate is desired for trick modes, the low complexity trick mode video bitstream can also be encoded to be a multi-codec video bitstream. The trick mode video bitstream may be created and stored as a single multi-codec video bitstream or as multiple multi-codec video bitstreams. As an example, bitstreams of each codec of multi-codec video bitstreams may be multiplexed with each other, where methods of multiplexing may correspond to creation of PES/TS/PS streams as described in ISO/IEC 13818-1. - In an embodiment, for a single multi-codec video bitstream, a new data header (Multi_Codec_Data_Header) is introduced after the last frame of a particular codec. A unique identifier such as a unique start code is used to identify this data header. Start codes are generally a 4 byte data of following type, 0×000001bb (in hexadecimal notation), where bb is an 8 bit number which corresponds to a particular start code. The portion 0×00000 is generally termed as a start code prefix and is used to identify the presence of a start code. This start code will be unique in this entire bitstream. Elements of the new Data Header (Multi_Codec_Data_Header) include the following:
- 1. unique identifier such as a unique start code, and
- 2. codec type.
- As an example, the multi-codec video bitstream may have the following format:
- Frames_and_Headers_of_Codec1-Multi-Codec2_Data_Header -Frames_and_Headers_of_Codec2-Multi_Codec1_Data_Header-Frames_and_Headers_of_Codec1. In decode, the order of the bitstream may be as follows: Codec1_Data-Headers-I frame-P frame -Multi_Codec2_Data_Header-Codec2_Data_Headers-B frame-B frame-Multi_Codec1_Data_Header-Codec1_Data_Headers- P frame-Multi_Codec2_Data_Header-Codec2_Data_Headers-P frame-B frame-B frame-Multi-Codec1_Data_Header-Codec1_Data_Headers-I frame-P frame.
- When a multi-codec video bitstream is being decoded, reference frames decoded using a particular video format are not flushed and are used to decode subsequent frames, which are coded in a different video format.
- In an embodiment, the multi-codec trick mode video bitstream is created and stored as multiple multi-codec bitstreams. In this embodiment, bitstreams of each codec type are stored separately. A bitstream of reference frames is generated using one video coding format. A bitstream of non-reference frames is generated using another video coding format. A table that indicates how many frames of one codec are present after a frame of another codec and location of such frames is used to traverse both the bitstreams. Alternatively, the same information as to how many frames of one codec are present after a frame of another codec can be incorporated in the bitstream of the first video format by introducing a new data header (Multi_Codec_Data_Header). Frames are appropriately chosen from both bitstreams and sent to the
decoding unit 106 in appropriate order. When a multi-codec bitstream is being decoded, reference frames decoded using a particular video format are not flushed and are used to decode subsequent frames, which are coded in a different video format. Elements of the new Data Header (Multi_Codec_Data_Header) include the following: - 1. unique identifier such as a unique start code,
- 2. codec type, and
- 3. number of frames of another codec.
- The
decoding unit 106 is connected to thestorage device 102 to access the original and trick mode video bitstreams for normal play mode, as well as for trick modes. During a normal play mode (1× speed), thedecoding unit 106 decodes only the original video bitstream to produce video frames to be displayed for normal play. During a trick mode, thedecoding unit 106 decodes the trick mode video bitstream and at least some of the original video bitstream to produce video frames to be displayed for the trick mode, which could be fast forward, rewind, etc. Since the trick mode video bitstream is less complex than the original video bitstream with respect to decoding, the use of the trick mode video bitstream allows the decoding unit to decode more efficiently to provide trick modes selected by a user. - As shown in
FIG. 1 , thedecoding unit 106 includes abitstream selector 111 and at least onedecoder 112. Thebitstream selector 111 receives both the original video bitstream and the trick mode video bitstream to selective decode the required frames of the video bitstreams to provide either a normal play mode or one of the trick modes. During a normal play mode, thebitstream selector 111 transmits the original video bitstream to at least one of thedecoders 112 of thedecoding unit 106. If the original video bitstream is a single codec video bitstream, then the original video bitstream may be decoded using asingle decoder 112 in thedecoding unit 106. However, if the original video bitstream is a multi-codec video bitstream, then the original video bitstream may be decoded usingmultiple decoders 112 in thedecoding unit 106. During the normal play mode, the trick mode video bitstream is consumed at thebitstream selector 111 and the trick mode video bitstream and the original video bitstream are synchronized to each other using time stamps, such as presentation time stamps (PTS) and decode time stamps (DTS), in the video bitstreams. This allows switching from a normal play mode to a trick mode at the corresponding locations of the original and trick mode video bitstreams. During the normal play mode, the trick mode video bitstream is not decoded. Alternatively, switching can be done on the basis of index tables which index the corresponding frame locations of the bitstreams against one another, hence allowing switching from one stream to the other. Indexing can be done coarsely, e.g., location of one predictive frame per GOP will be indexed. - During a trick mode, the
bitstream selector 111 switches from transmitting only the original video bitstream for decoding to transmitting only the independent reference I frames of the original video bitstream and the predictive B and P frames of the trick mode video bitstream for decoding. The frames that are displayed during a trick mode are the I frames decoded from the original video frames and the B and P frames decoded from the trick mode video frame. - The types of
decoders 112 included in thedecoding unit 106 depend on the codec format(s) of the original video bitstream and the trick mode video bitstream. As an example, if the original video bitstream is a video bitstream according to H.264 standard, then one of thedecoders 112 is a H.264 decoder. In addition, if the trick mode video bitstream is a video bitstream according to AVS and/or VC-1 standards, thedecoders 112 may include an AVS decoder and/or a VC-1 decoder. - The
optional prescaler 108 is connected to thedecoding unit 106 to receive the frames that are to be displayed during a trick mode. If the trick mode video bitstream was created at a lower resolution and the decoded video frames during a trick mode are to be displayed according to the display resolution of a display device (not shown), theprescaler 108 operates to appropriately scale the low resolution frames from thedecoding unit 106. However, if the trick mode video bitstream was created at a lower resolution and the decoded video frames during a trick mode are to be displayed according to the lower resolution of the trick mode video bitstream, then theprescaler 108 is not needed in the system. - The
mode controller 110 is connected to the various components of thesystem 100 to control these components. In particular, themode controller 110 is connected to thedecoding unit 106 to facilitate the switching between the normal mode and the trick modes. In some embodiments, themode controller 110 may be implemented as part of a processor or a microcontroller. Themode controller 110 can be implemented as software, hardware, or in any combination of software, hardware and firmware. - In operation, an original video bitstream is received and stored in the
storage device 102. The original video bitstream may be a video bitstream encoded according to H.264 standard or any other coding standard or standards. The original video bitstream is then accessed by the trickmode bitstream generator 104, which uses the original video bitstream to create and store a trick mode video bitstream. The trick mode video bitstream is created to be less complex with respect to decoding than the original video bitstream. The trick mode video bitstream may be created at a lower resolution than the original video bitstream and/or created according to a less complex video coding format than that of the original video bitstream. - During a normal play mode, the independent reference I frames and the predictive B and P frames of the original video bitstream are decoded by the
decoding unit 106 to produce video frames to be displayed. In addition, the trick mode video bitstream is consumed by thedecoding unit 106 to synchronize the trick mode video bitstream with the original video bitstream so that switching or selecting between the two bitstreams can be done seamlessly. However, the trick mode video bitstream is not decoded by thedecoding unit 106 during the normal play mode. - When switched to a trick mode, only the independent reference I frames of the original video bitstream are decoded by the
decoding unit 106. In addition, the predictive B and P frames of the trick mode video bitstream are decoded. The decoded independent reference I frames of the original video bistream and the decoded predictive B and P frames of the trick mode video bitstream are the video frames to be displayed during the trick mode. The decoded predictive B and P frames of the trick mode video bitstream may be upscaled by theoptional prescaler 108 before being displayed. - When switched back to the normal play mode, the independent reference I frames and the predictive B and P frames of the original video bitstream are again decoded by the
decoding unit 106 to produce video frames to be displayed. The trick mode video bitstream is no longer decoded by thedecoding unit 106. However, the trick mode video bitstream is again consumed by thedecoding unit 106 to synchronize the trick mode video bitstream with the original video bitstream so that subsequent switching or selecting between the two bitstreams can be done seamlessly. - A method for providing trick modes in accordance with an embodiment of the invention is described with reference to a process flow diagram of
FIG. 3 . Atblock 302, a trick mode video bitstream is generated from an original video bitstream. The trick mode video bitstream is of lower complexity with respect to decoding than the original video bitstream. Atblock 304, only the original video bitstream is decoded during a normal play mode to produce normal video frames to be displayed. Atblock 306, the trick mode video bitstream and a portion of the original video bitstream are decoded during a trick mode to produce trick mode video frames to be displayed. - Although the operations of the method herein are shown and described in a particular order, the order of the operations of the method may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be implemented in an intermittent and/or alternating manner.
- Although specific embodiments of the invention that have been described or depicted include several components described or depicted herein, other embodiments of the invention may include fewer or more components to implement less or more functionality.
- Although specific embodiments of the invention have been described and depicted, the invention is not to be limited to the specific forms or arrangements of parts so described and depicted. The scope of the invention is to be defined by the claims appended hereto and their equivalents.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/346,912 US20100166383A1 (en) | 2008-12-31 | 2008-12-31 | System and method for providing trick modes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/346,912 US20100166383A1 (en) | 2008-12-31 | 2008-12-31 | System and method for providing trick modes |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100166383A1 true US20100166383A1 (en) | 2010-07-01 |
Family
ID=42285103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/346,912 Abandoned US20100166383A1 (en) | 2008-12-31 | 2008-12-31 | System and method for providing trick modes |
Country Status (1)
Country | Link |
---|---|
US (1) | US20100166383A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110181802A1 (en) * | 2010-01-20 | 2011-07-28 | Semiconductor Energy Laboratory Co., Ltd. | Display method of display device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5589993A (en) * | 1993-02-23 | 1996-12-31 | Matsushita Electric Corporation Of America | Digital high definition television video recorder with trick-play features |
US6219381B1 (en) * | 1997-05-26 | 2001-04-17 | Kabushiki Kaisha Toshiba | Image processing apparatus and method for realizing trick play |
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 |
US7401221B2 (en) * | 2002-09-04 | 2008-07-15 | Microsoft Corporation | Advanced stream format (ASF) data stream header object protection |
US20080263621A1 (en) * | 2007-04-17 | 2008-10-23 | Horizon Semiconductors Ltd. | Set top box with transcoding capabilities |
-
2008
- 2008-12-31 US US12/346,912 patent/US20100166383A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5589993A (en) * | 1993-02-23 | 1996-12-31 | Matsushita Electric Corporation Of America | Digital high definition television video recorder with trick-play features |
US6219381B1 (en) * | 1997-05-26 | 2001-04-17 | Kabushiki Kaisha Toshiba | Image processing apparatus and method for realizing trick play |
US7401221B2 (en) * | 2002-09-04 | 2008-07-15 | Microsoft Corporation | Advanced stream format (ASF) data stream header object protection |
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 |
US20080263621A1 (en) * | 2007-04-17 | 2008-10-23 | Horizon Semiconductors Ltd. | Set top box with transcoding capabilities |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110181802A1 (en) * | 2010-01-20 | 2011-07-28 | Semiconductor Energy Laboratory Co., Ltd. | Display method of display device |
US8947406B2 (en) * | 2010-01-20 | 2015-02-03 | Semiconductor Energy Laboratory Co., Ltd. | Display method of display device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11395000B2 (en) | Dependent random access point pictures | |
JP4575358B2 (en) | User-controlled switching mode for stagger cast in robust mode | |
CN100592801C (en) | Image frame grouping method and device in video coding | |
US7027713B1 (en) | Method for efficient MPEG-2 transport stream frame re-sequencing | |
US8761162B2 (en) | Systems and methods for applications using channel switch frames | |
TW589898B (en) | Methods and systems for video streaming with VCR functionality | |
KR101215615B1 (en) | Method and apparatus for changing codec to reproduce video and audio data stream encoded by different codec within the same channel | |
US8428145B2 (en) | System and method for providing fast trick modes | |
US20160255133A1 (en) | Network streaming of coded video data | |
US20090323824A1 (en) | Methods and Apparatus for Use in Multi-View Video Coding | |
US10075726B2 (en) | Video decoding method/device of detecting a missing video frame | |
EP1713280A2 (en) | Scalable video coding | |
KR20010022752A (en) | Trick play signal generation for a digital video recorder | |
US20110080948A1 (en) | Method and system for 3d video decoding using a tier system framework | |
US8731065B2 (en) | Dynamic image stream processing method and device, and dynamic image reproduction device and dynamic image distribution device using the same | |
KR101528269B1 (en) | A method for playing a moving picture | |
US20100166383A1 (en) | System and method for providing trick modes | |
Pettersson et al. | Dependent random access point pictures in HEVC | |
KR20040065170A (en) | Video information decoding apparatus and method | |
AU2337099A (en) | Method and apparatus for advanced television signal encoding and decoding | |
US20180352240A1 (en) | Generalized Temporal Sub-Layering Frame Work | |
US9219930B1 (en) | Method and system for timing media stream modifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NXP B.V.,NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOEL, ANURAG;REEL/FRAME:022044/0045 Effective date: 20081229 |
|
AS | Assignment |
Owner name: NXP HOLDING 1 B.V.,NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NXP;REEL/FRAME:023928/0489 Effective date: 20100207 Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD.,CAYMAN ISLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TRIDENT MICROSYSTEMS (EUROPE) B.V.;NXP HOLDING 1 B.V.;REEL/FRAME:023928/0552 Effective date: 20100208 Owner name: NXP HOLDING 1 B.V., NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NXP;REEL/FRAME:023928/0489 Effective date: 20100207 Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD., CAYMAN ISLAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TRIDENT MICROSYSTEMS (EUROPE) B.V.;NXP HOLDING 1 B.V.;REEL/FRAME:023928/0552 Effective date: 20100208 |
|
AS | Assignment |
Owner name: ENTROPIC COMMUNICATIONS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TRIDENT MICROSYSTEMS, INC.;TRIDENT MICROSYSTEMS (FAR EAST) LTD.;REEL/FRAME:028153/0440 Effective date: 20120411 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:038017/0058 Effective date: 20160218 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:039361/0212 Effective date: 20160218 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: PATENT RELEASE;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:039707/0471 Effective date: 20160805 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042762/0145 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042985/0001 Effective date: 20160218 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050745/0001 Effective date: 20190903 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051030/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 |