HK1164591B - Method and system for data processing - Google Patents
Method and system for data processing Download PDFInfo
- Publication number
- HK1164591B HK1164591B HK12104837.5A HK12104837A HK1164591B HK 1164591 B HK1164591 B HK 1164591B HK 12104837 A HK12104837 A HK 12104837A HK 1164591 B HK1164591 B HK 1164591B
- Authority
- HK
- Hong Kong
- Prior art keywords
- version
- start code
- video stream
- compressed video
- default
- Prior art date
Links
Abstract
The invention relates to a method and a system for data processing. A receiver may be operable to receive a default version for each portion of each of video frames, and an alternative version and corresponding watermark control information for one or more portions of one or more of the video frames, in a compressed video stream. The receiver may be operable to determine one or more of the default versions and/or one or more of the alternative versions for decoding based on the corresponding watermark control information and/or specific information locally associated with the receiver. The receiver may be operable to select the determined one or more of the default versions and/or the determined one or more of the default versions for decoding of the received compressed video stream by modifying one or more start codes. Each of the one or more start codes comprises a start code suffix.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS/REFERENCES
This patent application claims priority and effect with reference to U.S. provisional application, application No. 61/333,360, application date 2010, 5/11/2010.
The above applications are incorporated herein by reference in their entirety.
Technical Field
The present invention relates to data processing. More particularly, the present invention relates to a method and system for watermark insertion using video start codes.
Background
Digital video technology has been created and used in new applications that take into account an ever-expanding range of basic video feature (e.g., spatial/temporal resolution, chroma format, and/or sampling accuracy) requirements. Application areas may range from mobile TV based video conferencing and broadcasting of Standard Definition (SD) TV or High Definition (HD) TV content to, for example, related proprietary video. Various video coding standards, such as MPEG-1, MPEG-2, MPEG-4, H.263, and H.264/MPEG-4 optimized video coding (AVC), have been developed to encode digital video sequences in a compressed manner. For example, H.264/MPEG-4 AVC is a recently developed video coding standard that significantly improves coding efficiency, greatly enhances error robustness, and increases complexity and application range over previous standards. To meet the complexity and/or customizability requirements, H.264/MPEG-4 AVC defines a Network Abstraction Layer (NAL) structure. NAL is designed to provide a network-friendly video presentation, allowing the same video syntax (syntax) to be used in many different network environments. In the NAL structure, the encoded video data can be organized into NAL units that provide support for packet-based methods for most existing networks.
In an encoded or compressed video stream, a start code may be embedded in the video stream. For example, there may be one start code per NAL unit in an H.264/MPEG-4 AVC encoded video stream. The purpose of using start codes includes, for example, identifying some structure in the coding syntax and/or resynchronization of the stream when random access or variant (corruption) occurs. Each start code may comprise, for example, a 3-byte start code prefix followed by a 1-byte start code value or suffix. The start code value or suffix may identify the type of data in the structure associated with the start code.
Watermarking is a technique used to protect digital media from unauthorized use or illegal copying, for example, using copyrighted material. Watermarks for digital media can be divided into two categories: visible or invisible. Visible watermarks are typically added to digital pictures or videos to indicate ownership and prevent unauthorized use of the image. The watermark may comprise, for example, an owner identity and/or a copyright symbol and data. Such watermarks may be considered spatial watermarks in which data is spatially embedded in an image or video, and the watermark signal is completely different from the original data. Spatial watermarks are not robust (robust) to attacks due to the ability to filter, clean and/or crop data.
The invisible watermark does not alter the image or video to a perceptible degree. This may be achieved, for example, by slightly changing the least significant bits of the original data. A watermark unknown to the end user may be considered a covert watermark.
The watermarking process may embed the watermark data, for example, using a spread spectrum method in which the watermark data to be embedded may be spread over a large number of frequencies by modulating the watermark data with pseudo-random noise and then adding them to the original data. Detecting or extracting the presence of a watermark is also important in protecting multimedia data.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
Disclosure of Invention
A system and/or method for watermark insertion using video start codes, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
According to an aspect of the present invention, there is provided a data processing method, the method comprising:
in the receiver:
receiving a default version of each portion of each video frame in a compressed video stream comprising a plurality of video frames and an alternate version of at least a portion of at least one of the videos in the compressed video stream and associated watermark control information according to a watermark embedded in the compressed video stream;
determining at least one of the default version and/or at least one of the alternative versions for decoding the received compressed video stream according to the related watermark control information and/or specific information locally related to the receiver; and
selecting the determined at least one default version and/or at least one alternative version decodes the received compressed video stream by modifying the received compressed video stream based on the determination.
Preferably, the method further comprises selecting the determined at least one default version and/or at least one alternative version for decoding the received compressed video stream in dependence on one or more start codes, wherein each start code comprises a start code suffix, respectively.
Preferably, a start code containing a start code suffix with a data type value is used for each of said default versions.
Preferably, a start code comprising a start code suffix having a first predetermined value is used for each of said alternative versions.
Preferably, a start code comprising a start code suffix having a second predetermined value is used for each of said associated watermark control information.
Preferably, the method further comprises selecting one of the determined alternative versions of the portion of the video frame, decoding the received compressed video stream by exchanging a first predetermined value in the start code suffix of the determined alternative version with a data type value in the start code suffix of the default version corresponding to the determined alternative version.
Preferably, the received compressed video stream comprises an H.264/MPEG-4 optimized video coding (AVC) compressed video stream.
Preferably, the h.264/MPEG-4 optimized video coding compressed video stream comprises sets of network abstraction layer units (NALs), and each of the sets of network abstraction layer units comprises a start code having a start code suffix.
Preferably, the default version comprises video data without a watermark and the alternative version comprises video data with a watermark.
Preferably, the default version comprises video data having one type of watermark and the alternative version comprises video data having another different type of watermark.
According to one aspect, there is provided a data processing system, the system comprising:
one or more processors and/or circuitry for use in a receiver, wherein the one or more processors and/or circuitry are to:
receiving a default version of each portion of each video frame in a compressed video stream comprising a plurality of video frames and an alternate version of at least a portion of at least one of the video frames in the compressed video stream and associated watermark control information according to a watermark embedded in the compressed video stream;
determining at least one of the default version and/or at least one of the alternative versions for decoding the received compressed video stream according to the related watermark control information and/or specific information locally related to the receiver; and
selecting the determined at least one default version and/or at least one alternative version decodes the received compressed video stream by modifying the received compressed video stream based on the determination.
Preferably, the one or more processors and/or circuits are configured to select the determined at least one default version and/or at least one alternative version for decoding the received compressed video stream based on one or more start codes, wherein each start code comprises a start code suffix, respectively.
Preferably, a start code containing a start code suffix with a data type value is used for each of said default versions.
Preferably, a start code comprising a start code suffix having a first predetermined value is used for each of said alternative versions.
Preferably, a start code comprising a start code suffix having a second predetermined value is used for each of said associated watermark control information.
Preferably, the one or more processors and/or circuits are operable to select a determined alternate version of the portion of one of the video frames to decode the received compressed video stream by exchanging a first predetermined value in a start code suffix of the determined alternate version with a data type value in a start code suffix of the default version corresponding to the determined alternate version.
Preferably, the received compressed video stream comprises an H.264/MPEG-4 optimized video coding (AVC) compressed video stream.
Preferably, the h.264/MPEG-4 optimized video coding compressed video stream comprises sets of network abstraction layer units (NALs), and each of the sets of network abstraction layer units comprises a start code having a start code suffix.
Preferably, the default version comprises video data without a watermark and the alternative version comprises video data with a watermark.
Preferably, the default version comprises video data having one type of watermark and the alternative version comprises video data having another different type of watermark.
Various advantages, aspects and novel features of the invention, as well as details of an illustrated embodiment thereof, will be more fully described with reference to the following description and drawings.
Drawings
FIG. 1 is a block diagram of an exemplary video processing system for providing watermark insertion with video start codes in accordance with an embodiment of the present invention;
fig. 2 is a block diagram of an exemplary receiver for providing watermark insertion with video start codes, according to an embodiment of the present invention;
FIG. 3 is a block diagram of an exemplary compressed video stream according to an embodiment of the present invention;
FIG. 4 is a block diagram of exemplary modified compressed video frame data for decoding according to an embodiment of the present invention;
fig. 5 is a flow chart of exemplary steps for watermark insertion using video start codes, according to an embodiment of the present invention.
Detailed Description
The present invention provides embodiments for a method and system for watermark insertion using video start codes. According to various embodiments of the present invention, a receiver may be configured to receive a default version of each portion of each video frame in a compressed video stream and an alternate version of at least a portion of at least one video in the compressed video stream and associated watermark control information based on a watermark embedded in the compressed video stream comprising a plurality of video frames. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another exemplary embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. A start code containing a data type value start code suffix may be used for each default version. A start code containing a first predetermined value start code suffix may be used for each alternate version. A start code comprising a second predetermined value start code suffix may be used for each associated watermark control information.
The receiver may be configured to determine at least one default version and/or at least one alternative version that should be used to decode the received compressed video stream based on the associated watermark control information and/or local ad hoc information associated with the receiver. The receiver may select the determined at least one default version and/or the determined at least one alternative version to decode the received compressed video stream by modifying the received compressed video stream based on the determination. Thus, the determined at least one default version and/or at least one alternative version may be selected in dependence of one or more start codes, wherein each start code may comprise a start code suffix, respectively.
The receiver may be configured to select a determined alternative version for a portion of one of the video frames, decode the received compressed video stream by modifying a start code of the determined alternative version such that a start code suffix of the determined alternative version may comprise a data type value. The start code of the corresponding default version (unselected version) may then be modified such that the start code suffix of the corresponding default version may include an unused or predetermined value, such as a first predetermined value or other predetermined value. Thus, the determined alternative version may be selected for decoding the received compressed video stream, for example, by exchanging a first predetermined value in the start code suffix of the determined alternative version with a data type value in the start code suffix of the default version corresponding to the determined alternative version. Then, for each portion of each video frame in the received compressed video stream, a version containing a data type value start code suffix may be processed or decoded in decoding the received compressed video stream.
In an exemplary embodiment of the invention, the received compressed video stream may comprise an H.264/MPEG-4 optimized video coding (AVC) compressed video stream. The H.264/MPEG-4 AVC compressed video stream may include a set of network abstraction layer units, and each set of network abstraction layer units may include a start code having a start code suffix.
Fig. 1 is a block diagram of an exemplary video processing system for providing watermark insertion with video start codes in accordance with an embodiment of the present invention. Referring to fig. 1, a video processing system 100 is shown. The video processing system 100 may include a service distributor 110, a compressed video stream 120, a receiver 130, and a display device 140.
The service distributor 110 may comprise suitable logic, circuitry, interfaces and/or code that may enable distribution of content or programming via a transport stream (e.g., the compressed video stream 120) to the receivers 130. Service distributor 110 (e.g., a head-end system) may be used to provide various services such as distribution, multicasting, and/or quality of service necessary to deliver content or programs to receivers 130 reliably and in real-time. Service distributor 110 may deliver services or content to receivers 130 using, for example, a cable television network, a satellite broadcast network, an Internet Protocol (IP) data network (e.g., the internet), and/or a wireless communication network.
The service distributor 110 may be configured to embed a watermark in at least a portion of at least one video frame and transmit the watermarked video frames to the receiver 130 via the compressed video stream 120. In an exemplary embodiment of the invention, the service distributor 110 may be adapted to transmit a default version to the receiver 130 in the compressed video stream 120 for each portion of each video frame, and the service distributor 110 may be adapted to transmit an alternative version and associated watermark control information to the receiver 130 in the compressed video stream 120 for at least one portion of at least one video frame. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. The watermark control information, as well as some ad hoc information locally associated with the receiver 130, may be used by the receiver 130 to determine whether a default version or an alternate version should be used for decoding when decoding the received compressed video stream 120.
The receiver 130 may comprise suitable logic, circuitry, interfaces and/or code that may enable receiving a transport stream, such as the compressed video stream 120, from the service distributor 110. In an exemplary embodiment of the invention, the receiver 130 (e.g., a set-top box (STB), a cable television receiver, or a satellite television receiver) may be configured to receive a default version of each portion of each video frame in the compressed video stream 120, and an alternate version of at least one portion of at least one video frame in the compressed video stream 120 and associated watermark control information, based on a watermark embedded in the compressed video stream 120 comprising a plurality of video frames. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. A start code containing a data type value start code suffix may be used for each default version. A start code containing a first predetermined value start code suffix may be used for each alternate version. A start code comprising a second predetermined value start code suffix may be used for each associated watermark control information.
The receiver 130 may be configured to determine at least one default version and/or at least one alternative version for decoding the received compressed video stream based on the associated watermark control information and/or specific information locally associated with the receiver. For example, based on information provided in the associated watermark control information, a decision may be made between the default version and the alternate version based on the type of mode, zip code, time zone, type of video connection (e.g., HDMI, component, or s-video), and/or system version associated with the receiver 130. As another example, a decision between the default version and the alternate version may also be made based on an identification number (ID) of the receiver 130 and/or owner information locally associated with the receiver 130. The receiver 130 may select the determined at least one default version and/or the determined at least one alternative version to decode the received compressed video stream 120. Thus, the determined at least one default version and/or the determined at least one alternative version may be selected in accordance with one or more start codes, wherein each start code may comprise a start code suffix.
The receiver 130 may be configured to select a determined alternative version of a portion of one of the video frames to decode the received compressed video stream 120 by modifying the start code of the determined alternative version such that the start code suffix of the determined alternative version may comprise the data type value. The start code of the corresponding default version (unselected version) may then be modified such that the start code suffix of the corresponding default version may include an unused or predetermined value, such as a first predetermined value or other predetermined value. Thus, for example, a determined alternative version may be selected and the received compressed video stream 120 decoded by exchanging a first predetermined value in the start code suffix of the determined alternative version and a data type value in the start code suffix of the default version corresponding to the determined alternative version. Then, for each portion of each video frame in the received compressed video stream 120, the version containing the data type value start code suffix may be processed or decoded when decoding the received compressed video stream. Accordingly, a version containing a first predetermined value start code suffix and associated watermark control information containing a second predetermined value start code suffix may be ignored in processing or decoding each video frame. The display device 140 may display or present the decoded or decompressed video frames with or without embedded watermarks to a user. Thus, for example, the receiver 130 may generate a signature of the receiver 130, which may be detected by the watermark detection device due to the embedded watermark. For example, the signature generated by the receiver 130 may be different from the signatures generated by other receivers.
In an exemplary embodiment of the invention, the compressed video stream 120 may comprise an H.264/MPEG-4 AVC compressed video stream 120 a. The H.264/MPEG-4 AVC compressed video stream 120a may include sets of Network Abstraction Layer (NAL) units, and each set of NAL units may include a start code with a start code suffix. Thus, for example, a NAL unit corresponding to a default version of a portion of a frame may comprise a frame with a data type value of 1 or 5 in a slice start code suffix. For example, a NAL unit corresponding to an alternate version of a portion of a frame may include a frame of a predetermined value of 30 in a slice start code suffix. For example, the NAL unit corresponding to each relevant watermark control information may include data of a predetermined value of 31 in the start code suffix. According to the H.264/MPEG-4 AVC standard, the value 5 in the start code suffix is associated with an Instantaneous Decoding Refresh (IDR) frame slice, and the value 1 in the start code suffix is associated with a non-IDR frame slice. The values 16-18, 21-23, 24-31 are unused or predetermined values in the start code suffix.
The display device 140 may comprise suitable logic, circuitry, interfaces and/or code that may enable display or presentation of the processed or decoded content or programming to a user. The partially displayed or rendered video content may include a watermark.
In operation, for each portion of each video frame, the service distributor 110 may be operable to transmit a default version to the receiver 130 in the compressed video stream 120, and for at least one portion of at least one video frame, the service distributor 110 may be operable to transmit an alternate version and associated watermark control information to the receiver 130 in the compressed video stream 120. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. The receiver 130 may be configured to receive a default version of each portion of each video frame in the compressed video stream 120, and an alternate version of at least one portion of at least one video frame in the compressed video stream 120 and associated watermark control information, based on a watermark embedded in the compressed video stream 120 comprising a plurality of video frames. A start code containing a data type value start code suffix may be used for each default version. A start code containing a first predetermined value start code suffix may be used for each alternate version. A start code comprising a second predetermined value start code suffix may be used for each associated watermark control information.
The receiver 130 may be configured to determine at least one default version and/or at least one alternative version for decoding the received compressed video stream 120 based on the associated watermark control information and/or specific information locally associated with the receiver 130. For example, based on information provided in the associated watermark control information, a decision may be made between the default version and the alternate version based on the type of mode, zip code, time zone, type of video connection (e.g., HDMI, component, or s-video), and/or system version associated with the receiver 130. As another example, a decision between the default version and the alternate version may also be made based on an identification number (ID) of the receiver 130 and/or owner information locally associated with the receiver 130. The receiver 130 may select the determined at least one default version and/or the determined at least one alternative version to decode the received compressed video stream 120 by modifying the received compressed video stream 120 based on the determination. Thus, the determined at least one default version and/or the determined at least one alternative version may be selected in accordance with one or more start codes, wherein each start code may comprise a start code suffix.
The receiver 130 may be configured to select a determined alternative version of a portion of one of the video frames, decode the received compressed video stream 120 by modifying the start code of the determined alternative version such that the start code suffix of the determined alternative version may comprise the data type value. The start code of the corresponding default version (unselected version) may then be modified such that the start code suffix of the corresponding default version may include an unused or predetermined value, such as a first predetermined value or other predetermined value. Thus, the determined alternative version may be selected for decoding the received compressed video stream 120, for example, by exchanging a first predetermined value in the start code suffix of the determined alternative version with a data type value in the start code suffix of the default version corresponding to the determined alternative version.
For each portion of each video frame in the received compressed video stream 120, a version containing a data type value start code suffix may be processed or decoded in decoding the received compressed video stream. Accordingly, a version containing a first predetermined value start code suffix and associated watermark control information containing a second predetermined value start code suffix may be ignored in processing or decoding each video frame. The display device 140 may display or present the decoded or decompressed video frames with or without embedded watermarks to a user. Thus, for example, the receiver 130 may generate a signature of the receiver 130, which may be detected by the watermark detection device due to the embedded watermark. For example, the signature generated by the receiver 130 may be different from the signatures generated by other receivers.
In an exemplary embodiment of the invention, the compressed video stream 120 may comprise an H.264/MPEG-4 AVC compressed video stream 120 a. The H.264/MPEG-4 AVC compressed video stream 120a may include sets of Network Abstraction Layer (NAL) units, and each set of NAL units may include a start code with a start code suffix. Thus, for example, a NAL unit corresponding to a default version of a portion of a frame may comprise a frame with a data type value of 1 or 5 in a slice start code suffix. For example, a NAL unit corresponding to an alternate version of a portion of a frame may include a frame of a predetermined value of 30 in a slice start code suffix. For example, the NAL unit corresponding to each relevant watermark control information may include data of a predetermined value of 31 in the start code suffix.
In an exemplary embodiment of the invention, the receiver 130 may be used to embed or insert additional watermark data, which may include, for example, information locally associated with the receiver 130, in a selected version of video data for a portion of a frame.
Fig. 2 is a block diagram of an exemplary receiver for providing watermark insertion with video start codes, according to an embodiment of the present invention. Referring to fig. 2, a receiver 200 is shown. Receiver 200 (e.g., STB, cable television receiver, or satellite television receiver) may include watermarking module 202, decoder 204, memory 208, and processor 210.
The watermarking module 202 may comprise suitable logic, circuitry, interfaces and/or code that may enable receiving a compressed video stream, such as the compressed video stream 220 for watermarking purposes. In an exemplary embodiment of the invention, the watermarking module 202 may be configured to receive a default version of each portion of each video frame in the compressed video stream 220, and an alternate version of at least one portion of at least one video frame in the compressed video stream 220 and associated watermark control information, based on a watermark embedded in the compressed video stream 220 comprising a plurality of video frames. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. A start code containing a data type value start code suffix may be used for each default version. A start code containing a first predetermined value start code suffix may be used for each alternate version. A start code comprising a second predetermined value start code suffix may be used for each associated watermark control information.
The watermarking module 202 may be configured to determine at least one default version and/or at least one alternative version for decoding the received compressed video stream based on the associated watermark control information and/or specific information locally associated with the receiver 200. For example, based on information provided in the associated watermark control information, a decision may be made between the default version and the alternate version based on the type of mode, zip code, time zone, type of video connection (e.g., HDMI, component, or s-video), and/or system version associated with the receiver 200. As another example, a decision between the default version and the alternate version may also be made based on the Identity (ID) of the receiver 200 and/or owner information locally associated with the receiver 200. Watermark module 202 may select the determined at least one default version and/or the determined at least one alternative version to decode received compressed video stream 220. Thus, the determined at least one default version and/or the determined at least one alternative version may be selected in accordance with one or more start codes. In this regard, each start code may include a start code suffix.
The watermarking module 202 may be configured to select a determined alternate version of a portion of one of the video frames, decode the received compressed video stream 220 by modifying a start code of the determined alternate version such that a start code suffix of the determined alternate version may include a data type value. The start code of the corresponding default version (unselected version) may then be modified such that the start code suffix of the corresponding default version may include an unused or predetermined value, such as a first predetermined value or other predetermined value. Thus, the determined alternative version may be selected for decoding the received compressed video stream 220 by exchanging, for example, a first predetermined value in the start code suffix of the determined alternative version and a data type value in the start code suffix of the default version corresponding to the determined alternative version. Then, for each portion of each video frame in the received compressed video stream 220, the decoder 204 may process or decode the version containing the data type value start code suffix as each video frame is processed or decoded. Accordingly, the decoder may ignore the version containing the first predetermined value start code suffix and the associated watermark control information containing the second predetermined value start code suffix when processing or decoding each video frame.
In an exemplary embodiment of the invention, the compressed video stream 220 may comprise an H.264/MPEG-4 AVC compressed video stream 220 a. H.264/MPEG-4 AVC compressed video stream 220a may include sets of NAL units, and each set of NAL units may include a start code with a start code suffix. Thus, for example, a NAL unit corresponding to a default version of a portion of a frame may comprise a frame with a data type value of 1 or 5 in a slice start code suffix. For example, a NAL unit corresponding to an alternate version of a portion of a frame may include a frame of a predetermined value of 30 in a slice start code suffix. For example, the NAL unit corresponding to each relevant watermark control information may include data of a predetermined value of 31 in the start code suffix.
The decoder 204 may comprise suitable logic, circuitry, interfaces and/or code that may enable processing or decoding of a compressed data stream. In one embodiment of the invention, decoder 204 may be used to process or decode a modified compressed video stream that may be received from watermarking module 202. In this regard, for each portion of each video frame, the decoder 204 may process or decode a version containing a data type value start code suffix. The version containing the first predetermined value start code suffix and the associated watermark control information containing the second predetermined value start code suffix may be ignored by the decoder 204 when processing or decoding each video frame.
Memory 208 may comprise suitable logic, circuitry, interfaces and/or code that may enable storage of information, such as executable instructions and data that processor 210, decoder 204 and/or watermarking module 202 may use to perform various functions of receiver 200.
Processor 210 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to communicate with decoder 204 and watermarking module 202 to perform processing or decoding functions of receiver 200 and watermarking functions.
In operation, watermarking module 202 may be configured to receive a default version of each portion of each video frame in compressed video stream 220, and an alternate version of at least one portion of at least one video frame in compressed video stream 220 and associated watermark control information, based on a watermark embedded in compressed video stream 220 comprising a plurality of video frames. In one exemplary embodiment of the invention, the default version may include video data without a watermark and the alternate version may include video data with a watermark. In another embodiment of the invention, the default version may include video data having one type of watermark and the alternate version may include video data having another different type of watermark. A start code containing a data type value start code suffix may be used for each default version. A start code containing a first predetermined value start code suffix may be used for each alternate version. A start code comprising a second predetermined value start code suffix may be used for each associated watermark control information.
The watermarking module 202 may be configured to determine at least one default version and/or at least one alternative version for decoding the received compressed video stream based on the associated watermark control information and/or specific information locally associated with the receiver 200. For example, based on information provided in the associated watermark control information, a decision may be made between the default version and the alternate version based on the type of mode, zip code, time zone, type of video connection (e.g., HDMI, component, or s-video), and/or system version associated with the receiver 200. As another example, a decision between the default version and the alternate version may also be made based on the Identity (ID) of the receiver 200 and/or owner information locally associated with the receiver 200. The watermarking module 202 may select the determined at least one default version and/or the determined at least one alternative version to decode the received compressed video stream 220 by modifying the received compressed video stream based on the determination. Thus, the determined at least one default version and/or the determined at least one alternative version may be selected in accordance with one or more start codes, wherein each start code may comprise a start code suffix.
The watermarking module 202 may be configured to select a determined alternate version of a portion of one of the video frames, decode the received compressed video stream 220 by modifying a start code of the determined alternate version such that a start code suffix of the determined alternate version may include a data type value. The start code of the corresponding default version (unselected version) may then be modified such that the start code suffix of the corresponding default version may include an unused or predetermined value, such as a first predetermined value or other predetermined value. Thus, the determined alternative version may be selected for decoding the received compressed video stream 220 by exchanging, for example, a first predetermined value in the start code suffix of the determined alternative version and a data type value in the start code suffix of the default version corresponding to the determined alternative version. Then, for each portion of each video frame in the received compressed video stream 220, the decoder 204 may process or decode the version containing the data type value start code suffix when processing or decoding each video frame. Accordingly, a version containing a first predetermined value start code suffix and associated watermark control information containing a second predetermined value start code suffix may be ignored by the decoder when processing or decoding each video frame.
In an exemplary embodiment of the invention, the compressed video stream 220 may comprise an H.264/MPEG-4 AVC compressed video stream 220 a. H.264/MPEG-4 AVC compressed video stream 220a may include sets of NAL units, and each set of NAL units may include a start code with a start code suffix. Thus, for example, a NAL unit corresponding to a default version of a portion of a frame may comprise a frame with a data type value of 1 or 5 in a slice start code suffix. For example, a NAL unit corresponding to an alternate version of a portion of a frame may include a frame of a predetermined value of 30 in a slice start code suffix. For example, the NAL unit corresponding to each relevant watermark control information may include data of a predetermined value of 31 in the start code suffix.
Fig. 3 is a block diagram of an exemplary compressed video stream according to an embodiment of the present invention. Referring to fig. 3, a compressed video stream 300 is shown. The compressed video stream 300 may include a default version film 310, an alternate version film 330, and watermark control information 320 in the data stream. For example, a slice may be a portion of a frame in the compressed video stream 300. The start code 311 of the default version slice 310 may include a start code prefix 311a and a start code suffix 311 b. The start code 321 of the watermark control information 320 may include a start code prefix 321a and a start code suffix 321 b. The start code 331 of the alternate version piece 330 may include a start code prefix 331a and a start code suffix 331 b. In an exemplary embodiment of the present invention, the default version film 310 may include video data without a watermark and the alternate version film 330 may include video data with a watermark. In another exemplary embodiment of the present invention, it may be that the default version slice 310 includes video data having one type of watermark and the alternate version slice 330 includes video data having another different type of watermark. The watermark control information 320, as well as some special information locally related to the receiver (e.g., receiver 200), may be used by the watermarking module 202 in the receiver 200 to determine whether to use the default version piece 310 or the alternate version piece 330 for processing or decoding when decoding the compressed video stream 300.
In an exemplary embodiment of the invention, the start code prefix 311a may include a value of 0X 000001311 c. The start code suffix 331b may include a data type value associated with the slice. The start code prefix 331a may include a value of 0X 000001331 c. The start code suffix 331b may comprise a first predetermined value. The start code prefix 321a may include a value of 0X 000001321 c. The start code suffix 321b may comprise a second predetermined value. In this regard, for example, in an H.264/MPEG-4 AVC compressed video stream 330a, the default version slice 310 may be a NAL unit with a start code suffix 311b having a value of 0X 01311 d. The alternate version slice 330 may be a NAL unit with a start code suffix 331b having a value of 0X1E 331 d. The watermark control information 320 may be a NAL unit such as a start code suffix 321b with a value of 0X1F 321 d.
In the exemplary embodiment of the present invention as shown in fig. 3, a default version slice 310 having a data type value of 0X 01311 d, an alternative version slice 330 having a first predetermined value of 0X1E d, watermark control information 320 having a second predetermined value of 0X1F d are shown. Also shown are start code prefixes 311a, 321a, 331a, which have values of 0X 000001311 c, 321c, 331c, respectively. However, the present invention is not limited thereto. Accordingly, a portion of a frame may be shown in other forms besides slices. The start code prefix value, the data type value, the first predetermined value, and the second predetermined value may also be different.
Fig. 4 is a block diagram of exemplary modified compressed video frame data for decoding according to an embodiment of the present invention. Referring to fig. 4, there is shown received compressed video frame data 400, modified compressed video frame data 410, and decompressed video frame 420. The received compressed video frame data 400 may include a first portion default version 401, a second portion default version 402, a second portion alternate version 405, a third portion default version 403, and a fourth portion default version 404. The first partial default version 401 may be associated with a start code suffix 1 having a data type value 401 a. The second partial default version 402 may be associated with a start code suffix 2 having a data type value 402 a. The second partial replacement version 405 may be associated with a start code suffix 2 having a predetermined value 405 a. The third partial default version 403 may be associated with a start code suffix 3 having a data type value 403 a. The fourth partial default version 404 may be associated with a start code suffix 4 having a data type value 404 a. The decompressed video frame 420 may include a decompressed first partial default version 321, a decompressed second partial alternative version 425, a decompressed third partial default version 423, and a decompressed fourth partial default version 424.
In an exemplary embodiment of the invention, the watermarking module 202 in the receiver 200 may be configured to determine the second portion replacement version 405 as a selected version of the second portion of the frame for decoding based on associated watermark control information (e.g., watermark control information 320) and/or specific information locally associated with the receiver 200. Thus, as shown in modified compressed video frame data 410, watermark module 202 may be used, for example, to exchange a start code suffix 2 having a data type value 402a with a start code suffix 2 having a predetermined value 405 a. For each portion of the video frame, i.e., the first portion, the second portion, the third portion, or the fourth portion, the decoder 204 in the receiver 200 may process or decode the version containing the data type value start code suffix. The decoder 204 may ignore versions containing predetermined value start code suffixes. Accordingly, the decoder 204 may decode or decompress the first portion default version 401 to generate a decompressed first portion default version 421. The decoder 204 may decode or decompress the second partial replacement version 405 to generate a decompressed second partial replacement version 425. The decoder 204 may decode or decompress the third partial default version 403 to generate a decompressed third partial default version 423. The decoder 204 may decode or decompress the fourth partial default version 404 to generate a decompressed fourth partial default version 424.
In the exemplary embodiment of the present invention as shown in fig. 4, the video frame includes 4 parts, i.e., a first part, a second part, a third part, and a fourth part, and only the second part includes an alternative version. However, the present invention is not limited thereto. The number of portions of the video frame may be different, as may the number of portions containing alternate versions.
Fig. 5 is a flow chart of exemplary steps for watermark insertion using video start codes, according to an embodiment of the present invention. Referring to fig. 5, the exemplary steps begin at step 501. In step 502, the watermarking module 202 in the receiver 200 may be configured to receive the default version 310 of each portion of each video frame and the alternative version 330 of at least one portion of at least one video frame and the associated watermark control information 320 in the compressed video stream 300. The start code 311 of each default version 310 may include a start code suffix 311b with a data type value. The start code 331 of each alternate version 330 may include a start code suffix 331b having a first predetermined value. The start code 321 of each associated watermark control information 320 may comprise a start code suffix 321b having a second predetermined value. In step 503, the watermarking module 202 may be configured to determine at least one default version 401, 403, 404 and/or at least one alternative version 405 for decoding the received compressed video stream 300 based on the associated watermark control information 320 and/or specific information locally associated with the receiver 200. In step 504, the watermarking module 202 may be configured to select the determined at least one default version 401, 403, 404 and/or the determined at least one alternative version 405 for decoding the received compressed video stream 300 in dependence on, for example, at least one start code with a start code suffix. For example, the alternate version 405 may be selected by exchanging a first predetermined value in the start code suffix 405a of the alternate version 405 and a data type value in the start code suffix 402a of the default version 402. In step 505, the decoder 204 in the receiver 200 may be used to decode the selected versions 401, 403, 404, 405 of each portion of each video frame 410 as each video frame 410 is decoded. The exemplary steps conclude with an end step 506.
In various embodiments of the present invention, the watermarking module 202 in the receiver 200 may be configured to receive a default version 310 of each portion of each video frame in the compressed video stream 300, as well as an alternative version 330 of at least one portion of at least one video frame in the compressed video stream 300 and associated watermark control information 320, based on a watermark embedded in the compressed video stream 300 comprising a plurality of video frames. In an exemplary embodiment of the invention, the default version 310 may include video data without a watermark and the alternate version 330 may include video data with a watermark. In another embodiment of the invention, the default version 310 may include video data having one type of watermark and the alternate version 330 may include video data having another type of watermark. A start code 311 containing a data type value start code suffix 311b may be used for each default version 310. A start code 331 comprising a first predetermined value start code suffix 331b may be used for each alternate version 330. A start code 321 comprising a second predetermined value start code suffix 321b may be used for each associated watermark control information 320.
The watermarking module 202 may be adapted to determine at least one default version 401, 403, 404 and/or at least one alternative version 405 for decoding the received compressed video stream 300 based on the associated watermark control information 320 and/or specific information locally associated with the receiver 200. The watermarking module 202 may select the determined at least one default version 401, 403, 404 and/or the determined at least one alternative version 405, decode the received compressed video stream 300 by modifying the received compressed video stream 300 based on the determination. Thus, the determined at least one default version 401, 403, 404 and/or the determined at least one alternative version 405 may be selected in accordance with one or more start codes 311, 331, wherein each start code 311, 331 may comprise a start code suffix 311b, 331 b.
The watermarking module 202 may be configured to select a determined alternative version 330 of a portion of one of the video frames, decode the received compressed video stream 300 by modifying the start code 331 of the determined alternative version 330 such that the start code suffix 331b of the determined alternative version 330 may include the data type value 311 d. The start code 311 of the corresponding default version 310 (the unselected version) may then be modified such that the start code suffix 311b of the corresponding default version 310 may include an unused or predetermined value, such as the first predetermined value 331d or other predetermined value. Thus, the determined alternative version 405 may be selected, for example, to decode the received compressed video stream 300 by exchanging a first predetermined value in the start code suffix 405a of the determined alternative version 405 with a data type value in the start code suffix 402a of the default version 402 corresponding to the determined alternative version 405. Then, for each portion of each video frame 410, the decoder 204 may process or decode a version containing a data type value start code suffix, such as the first portion default version 401, the second portion alternative version 405, the third portion default version 403, or the fourth portion default version 404, when decoding each video frame 410.
In an exemplary embodiment of the invention, the compressed video stream 300 may comprise an H.264/MPEG-4 AVC compressed video stream 300 a. The H.264/MPEG-4 AVC compressed video stream 300a may include a set of NAL units, such as a default version slice 310, watermark control information 320, and an alternate version slice 330. Each set of NAL units may include a start code (e.g., start code 311) with a start code suffix (e.g., start code suffix 311 b). Thus, for example, a NAL unit corresponding to a default version 310 of a portion of a frame may include a frame having a data type value of 1 or 5 (e.g., a data type value of 0x 01311 d) in a slice start code suffix 311 b. A NAL unit corresponding to a substitute version 330 of a portion of a frame may include a frame with a first predetermined value of 30 (e.g., a first predetermined value of 0X1E 331 d) in a slice start code suffix 331 b. The NAL unit corresponding to each associated watermark control information 320 may include data of a second predetermined value of 31 (e.g., a second predetermined value of 0X1F 321 d) in the start code suffix 321 b.
Another embodiment of the present invention may provide a machine and/or computer readable storage and/or medium having stored thereon a machine code and/or a computer program having at least one code section executable by a machine and/or a computer to cause the machine and/or computer to perform the above-described watermark insertion step using a video start code.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention can be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be implemented by a computer program product, comprising all the features enabling the implementation of the methods of the invention, when loaded in a computer system. The computer program in this document refers to: any expression, in any programming language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to other languages, codes or symbols; b) reproduced in a different format.
While the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
Claims (10)
1. A method of data processing, the method comprising:
in the receiver:
receiving a default version of each portion of each video frame in a compressed video stream comprising a plurality of video frames and an alternate version of at least a portion of at least one of the video frames in the compressed video stream and associated watermark control information according to a watermark embedded in the compressed video stream;
determining whether at least one of the default version or at least one of the alternative versions is used for decoding the received compressed video stream according to information provided in the associated watermark control information and special information locally associated with the receiver; and
selecting the determined at least one default version or at least one alternative version according to one or more start codes for each default version or alternative version, decoding the received compressed video stream by modifying the received compressed video stream based on the determination, wherein selecting the determined alternative version of the portion of one of the video frames to decode the received compressed video stream comprises: exchanging a first predetermined value in the determined alternate version of the start code suffix and a data type value in the default version of the start code suffix corresponding to the determined alternate version.
2. The method of claim 1, wherein the determining at least one of the default version and/or at least one of the alternative versions for decoding the received compressed video stream based on information provided in the associated watermark control information and specific information locally associated with the receiver is based on a type of mode, zip code, time zone, and/or type of video connection associated with the receiver.
3. The method of claim 1, wherein a start code containing a start code suffix with a data type value is used for each of the default versions.
4. The method of claim 1, wherein a start code comprising a start code suffix with a first predetermined value is used for each of the alternate versions.
5. The method according to claim 1, wherein a start code comprising a start code suffix with a second predetermined value is used for each of the associated watermark control information.
6. A data processing system, characterized in that the system comprises:
a plurality of processors or circuits for use in a receiver, wherein,
the first processor or circuit is configured to: receiving a default version of each portion of each video frame in a compressed video stream comprising a plurality of video frames and an alternate version of at least a portion of at least one of the video frames in the compressed video stream and associated watermark control information according to a watermark embedded in the compressed video stream;
the second processor or circuit is configured to: determining whether at least one of the default version or at least one of the alternative versions is used for decoding the received compressed video stream according to information provided in the associated watermark control information and special information locally associated with the receiver; and
a third processor or circuit is configured to: selecting the determined at least one default version or at least one alternative version in accordance with one or more start codes for each default version or alternative version to decode the received compressed video stream by modifying the received compressed video stream based on the determination, wherein the third processor or circuit is configured to select the determined alternative version of the portion of one of the video frames to decode the received compressed video stream by exchanging a first predetermined value in the start code suffix of the determined alternative version and a data type value in the start code suffix of the default version corresponding to the determined alternative version.
7. The system according to claim 6, wherein said second processor or circuitry is configured to determine at least one of said default version and/or at least one of said alternative versions for decoding the received compressed video stream based on a mode type, zip code, time zone, and/or video connection type associated with said receiver based on information provided in said associated watermark control information and specific information locally associated with said receiver.
8. The system of claim 6, wherein a start code containing a start code suffix with a data type value is used for each of the default versions.
9. The system of claim 6, wherein a start code comprising a start code suffix having a first predetermined value is used for each of the alternate versions.
10. The system according to claim 6, wherein a start code comprising a start code suffix with a second predetermined value is used for each of said associated watermark control information.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US33336010P | 2010-05-11 | 2010-05-11 | |
| US61/333,360 | 2010-05-11 | ||
| US12/840,444 US20110280434A1 (en) | 2010-05-11 | 2010-07-21 | Method and system for watermakr insertin using video start codes |
| US12/840,444 | 2010-07-21 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1164591A1 HK1164591A1 (en) | 2012-09-21 |
| HK1164591B true HK1164591B (en) | 2015-09-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2387250B1 (en) | Method and system for watermark insertion using video start codes | |
| CN104471951B (en) | Handle the method and device of digital service signal | |
| US8990844B2 (en) | Method and apparatus for processing digital service signals | |
| JP4617049B2 (en) | Method and apparatus for embedding data in an encoded digital bitstream | |
| US8189859B2 (en) | Apparatus for inserting watermark and method therefor | |
| US20100322470A1 (en) | Watermark communication and control systems | |
| CN105850144A (en) | Device and method to mark digital audio or audio and/or video content | |
| US20090228709A1 (en) | Systems and methods for using transport stream splicing for programming information security | |
| US11363351B2 (en) | Embedding watermarking data | |
| US10575051B2 (en) | System and method for enhanced television and delivery of enhanced television content | |
| HK1164591B (en) | Method and system for data processing | |
| HK1164587A (en) | A method and system for data processing | |
| US10958989B2 (en) | Framework for embedding data in encoded video | |
| WO2025109332A1 (en) | Rendering of layered video signals | |
| Darmstaedter et al. | Low cost watermarking technique optimized by tests in real conditions and simulations | |
| Liu et al. | A content monitoring system based on MPEG-2 video watermarking |