US20030223500A1 - Color motion artifact detection and processing apparatus compatible with video coding standards - Google Patents

Color motion artifact detection and processing apparatus compatible with video coding standards Download PDF

Info

Publication number
US20030223500A1
US20030223500A1 US10/159,805 US15980502A US2003223500A1 US 20030223500 A1 US20030223500 A1 US 20030223500A1 US 15980502 A US15980502 A US 15980502A US 2003223500 A1 US2003223500 A1 US 2003223500A1
Authority
US
United States
Prior art keywords
block
frame
luminance
color
motion
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.)
Granted
Application number
US10/159,805
Other versions
US7023918B2 (en
Inventor
Siu-Leong Yu
Yi Liu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pictos Technologies Inc
Original Assignee
Divio Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Divio Inc filed Critical Divio Inc
Priority to US10/159,805 priority Critical patent/US7023918B2/en
Assigned to DIVIO, INC. reassignment DIVIO, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIU, YI, YU, SIU-LEONG
Assigned to DIVIO, INC. reassignment DIVIO, INC. TO CORRECT A TYPOGRAPHICAL ERROR IN THE SPELLING OF THE STREET NAME IN THE ADDRESS OF RECEIVING PARTY(IES)ON THE NOTICE OF RECORDATION OF ASSIGNMENT DOCUMENT WHICH WAS RECORDED ON 08/19/02 AT REEL/FRAME 013207/0543. Assignors: LIU, YI, YU, SIU-LEONG
Publication of US20030223500A1 publication Critical patent/US20030223500A1/en
Assigned to ESS TECHNOLOGIES INTERNATIONAL, INC. reassignment ESS TECHNOLOGIES INTERNATIONAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DIVIO, INC.
Publication of US7023918B2 publication Critical patent/US7023918B2/en
Application granted granted Critical
Assigned to THE PRIVATE BANK OF THE PENINSULA reassignment THE PRIVATE BANK OF THE PENINSULA SECURITY AGREEMENT Assignors: ESS TECHNOLOGY, INC.
Assigned to IMPERIUM (IP) HOLDINGS, INC. reassignment IMPERIUM (IP) HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ESS TECHNOLOGY, INC.
Assigned to ESS TECHNOLOGY, INC. reassignment ESS TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ESS TECHNOLOGY INTERNATIONAL, INC.
Assigned to PICTOS TECHNOLOGIES INC. reassignment PICTOS TECHNOLOGIES INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: IMPERIUM IP HOLDINGS (CAYMAN), LTD.
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/044Codec means involving transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Definitions

  • the present invention relates to processing of video data, and more specifically to detection and reduction of color-motion artifacts in processing of video data.
  • Successive frames in a typical video sequence are often very similar to each other.
  • a sequence of frames may have scenes in which an object moves across a stationary background, or a background moves behind a stationary object. Consequently, many scenes in one frame may also appear in a different position of a subsequent frame.
  • Video systems take advantage of such redundancy within the frames by using predictive coding techniques, such as motion estimation and motion compensation, to reduce the volume of data required in compressing the frames.
  • Motion estimation and compensation are used in several international standards such as H.261, H.263, MPEG-1, MPEG-2, and MPEG-4.
  • a motion vector is shared typically by all color components in (Y,U,V) or (Y, C r ,C b ) coordinate systems.
  • Y is the luma component (also referred to below as the luminance and is related to the intensity)
  • U and V are the chroma components (also referred to below as the chrominance components and are related to hue and saturation) of a color.
  • Each motion vector is typically generated for a macroblock.
  • Each macroblock typically includes a block of, e.g., 16 ⁇ 16 or 8 ⁇ 8 pixels.
  • the MPEG-2 standard provides an interlaced mode that separates each 16 ⁇ 16 macroblock into two 16 ⁇ 8 sub-macroblocks each having an associated motion vector.
  • the terms block, macroblock, and sub-macroblock may be used interchangeably.
  • inter-frame and intra-frame encoding have been developed.
  • the difference between the data contained in a previous frame and a current frame is used to encode the current frame.
  • the inter-frame encoding may not improve coding efficiency, for example, if the current frame is the first frame in a new scene (i.e., when there is a scene change), in which case intra-frame encoding is used.
  • intra-frame encoding only the information contained within the frame itself is used to encode the frame.
  • FIG. 1 is a simplified high-level block diagram of a conventional system 100 adapted to detect color-motion artifacts.
  • System 100 receives a sequence of incoming video frames via frame reorder block 102 .
  • frame reorder block 102 serially supplies the (Y,U,V) components of a current frame of the frame sequence to an adder/subtractor 104 .
  • Adder/subtractor 104 is also adapted to receive a signal from motion compensation block 106 via selector 108 . If selector 108 is in the upper position, then intra-frame coding is used in which case a null signal (i.e., 0) is supplied to adder/subtractor 104 .
  • a null signal i.e., 0
  • Adder/subtractor 104 generates a signal that corresponds to the difference between the video data supplied by frame reorder block 102 and that supplied by selector 108 .
  • the signal generated by adder/subtractor 104 is supplied to a discrete cosine transform (DCT) block 110 whose output signal is quantized by a quantizer 112 .
  • the quantized signal generated by quantizer 112 is then encoded by variable-length coder (VLC) 114 .
  • VLC variable-length coder
  • the signal encoded by VLC 114 is then stored in buffer 116 , which in turn, supplies the encoded video bit stream to a video decoder (not shown).
  • the signal generated by quantizer 112 is inversely quantized by an inverse quantizer 118 and is subsequently delivered to an inverse DCT (IDCT) 120 .
  • IDCT 20 performs an inverse DCT function on the signal it receives and supplies that signal to adder 122 .
  • Adder 122 adds the signal it receives from selector 108 to the signal it receives from IDCT 120 and stores the added result in frame memory 124 for future retrieval.
  • the signal stored in frame memory 124 only includes the luma component of a current frame and is adapted to serve as a reference frame for motion estimation and compensation of future frames.
  • a motion estimator 128 receives the signal stored in frame memory 124 and the signal supplied by frame reorder block 102 to generate a motion vector signal that is supplied to motion compensation block 106 . Only the luma components of the current frame—as supplied by frame reorder block 102 —and the reference frame—as supplied by frame memory 124 —are received and used by motion estimator 128 to generate a motion vector.
  • the motion vector generated by motion estimator 128 is supplied to motion compensator 106 .
  • Motion compensator 106 compensates for the motion of the signal it receives from frame memory 124 using the motion vector signal that it receives from motion estimator 128 .
  • the output signal generated by motion compensator 106 is a motion-compensated signal of a current frame and serves as the reference frame for the next incoming frame when inter-frame encoding is used.
  • selector 108 is provided with an upper position. When placed in the upper position, a null signal (i.e., 0) is transferred to subtracted 104 .
  • FIG. 2 is an exemplary diagram showing color-motion artifacts stemming from failure to detect the motion of a color object.
  • a uniform gray area 200 provides a background to two synthetic color patches, namely a red color patch 210 and a green color patch 220 . Both red and green color patches 210 and 220 produce the same luminance level as gray background 200 . Both color patches 210 and 220 are also moving in front of gray background 200 .
  • gray background 200 has (R,G,B) color components of (40,40,40) resulting in a luma component (i.e., intensity level) of 40.
  • red color patch 210 and green color patch 220 have respective (R,G,B) color components of (188,0,0) and (0,56,0). Consequently, in accordance with equation (1) above, both red color patch 210 and green color patch 220 have the same luminance level (i.e., 40) as the gray background 200 . Therefore, conventional luminance-only based motion estimation and motion compensation systems, such as system 100 of FIG. 1, fail to detect the movement of red and green color patches 210 and 220 relative to gray background 200 . This failure results in noticeable differences in the quantization errors of the chroma components—particularly for the gray background—thereby creating color motion artifacts.
  • a motion-compensated color-distance value associated with that frame block is compared against a threshold value. If the motion-compensated color-distance value associated with the frame block is greater than or equal to the threshold value, the frame block is identified as containing color-motion artifacts.
  • the motion-compensated color-distance value is defined by a sum of squared distances of corresponding red, green and blue component values of similarly positioned pixels of the frame block and an associated reference frame block. In another embodiment, the motion-compensated color-distance value is defined by a sum of absolute values of differences of corresponding luminance and chrominance component values of similarly positioned pixels of the frame block and an associated reference frame block. In one embodiment, the threshold value is defined by a level of activity within the frame block. In another embodiment, the threshold value is defined by a target bit rate allocated for encoding the frame block.
  • chroma and luma components of the intra-frame activity levels of a video frame are compared to chroma and luma components of the inter-frame activity levels for that video frame block. If any component of the inter-frame activity levels is greater than the corresponding component of the intra-frame activity level, the frame block is identified as containing color motion artifact(s).
  • FIG. 1 is a simplified high-level block diagram of a conventional luminance-only based system adapted to detect color motion artifacts.
  • FIG. 2 is an exemplary diagram of a color-motion artifacts caused by the system of FIG. 1.
  • FIG. 3 is a simplified high-level block diagram of a system adapted to detect and reduce color-motion artifacts, in accordance with one embodiment of the present invention.
  • a motion-compensated color-distance value is compared to a threshold value. If the motion-compensated color-distance value is greater than or equal to the threshold value, the video frame is identified as containing color-motion artifacts.
  • chroma and luma components of the intra-frame activity levels of a video frame are compared to chroma and luma components of the inter-frame activity levels for that video frame.
  • the video frame is identified as containing color motion artifacts.
  • a smaller quantization scale or (2) data is encoded using intra-frame encoding.
  • a motion-compensated color-distance value for that block (alternatively referred to hereinbelow as the current block or the underlying block) is computed, as described further below.
  • the red, green and blue components of a video signal associated with a pixel disposed at coordinates (i, j) of the current block of a video frame are respectively represented by r(i, j), g(i, j), and b(i, j).
  • red, green and blue components of a video signal associated with a pixel disposed at coordinates (i, j) of a corresponding block of a reference frame is represented by r′(i, j), g′(i, j), and b′(i, j).
  • equation (1) expressed in the YUV color coordinate system is as follows: D ⁇ ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ [ ( y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ) + 1.5 ⁇ ( v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ) ] 2 + ⁇ [ ( y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ) - 0.5 ⁇ ( v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ] 2 + ⁇ [ ( y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ) + 2 ⁇ ( u ⁇ ( i , j ) - u ′
  • y(i,j), u(i,j), and v(i,j) represent the luminance and chrominance components of the pixel disposed at coordinates (i, j) of the current block.
  • y′(i,j), u′(i,j), and v′(i,j) represent the luminance and chrominance components of the pixel disposed at coordinates (i, j) of the reference block.
  • equation (2) may be simplified, as shown below: D ⁇ ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ 3 ⁇ [ y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ] 2 + ⁇ 4 ⁇ [ u ⁇ ( i , j ) - u ′ ⁇ ( i , j ) ] 2 + 2.5 ⁇ [ v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ] 2 ⁇ ( 3 )
  • Equation (3) may be further simplified by replacing the square operator with the absolute value operator, as shown below: D ⁇ ⁇ 3 ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ⁇ + ⁇ 4 ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ u ⁇ ( i , j ) - u ′ ⁇ ( i , j ) ⁇ + 2.5 ⁇ i ⁇ ⁇ j ⁇ ⁇ v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ⁇ ( 4 )
  • the motion-compensated color-distance value D is a sum of absolute difference (SAD) of the YUV components.
  • equation (4) may be expanded into a linear combination of the following three summations: D ⁇ ⁇ a y ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ⁇ + ⁇ a u ⁇ ⁇ i ⁇ ⁇ j ⁇ ⁇ u ⁇ ( i , j ) - u ′ ⁇ ( i , j ) ⁇ + a v ⁇ ⁇ i ⁇ j ⁇ ⁇ v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ⁇ ( 5 )
  • the motion-compensated color-distance value D computed for the block is compared against a pre-defined threshold value T. If the motion-compensated color-distance D is greater than or equal to threshold T, the block is identified as containing color-motion artifacts, as described further below.
  • the threshold value T used to determine whether a block contains color-motion artifact(s), may depend on a number of factors, such as the activity level or the target bit rate allocated for the block.
  • a low activity level indicates that there are smooth transitions in the pixel values disposed in the block, accordingly, a relatively low threshold is selected in identifying potential color motion artifacts in such blocks.
  • a relatively high activity level indicates that there are abrupt transitions in the pixel values disposed in the block, accordingly, a relatively high threshold is selected in identifying potential color motion artifacts in such blocks. Therefore, the threshold value selected for identification of potential color motion artifacts is directly proportional to the level of activity in the block.
  • the threshold value selected for identification of potential color motion artifacts is inversely proportional to the target bit rate allocated for encoding the block.
  • actj is a measure of the activity level in the underlying block.
  • the motion-compensated color-distance value D is compared with the threshold value T. If the motion-compensated color-distance D is greater than or equal to the threshold value T, the block is identified as containing color-motion artifacts.
  • the level of intra-frame activity within the block is compared against the level of inter-frame activity for the block. If any of the y, u and v components (described below) of the inter-frame activity level is greater than or equal to the corresponding component of the intra-frame activity level, the block is identified as containing color-motion artifact(s).
  • the intra-frame activity level associated with a frame block depends on the variation of the pixel values disposed within that frame block.
  • the inter-frame activity level associated with a frame block depends on the variation between the pixel values of that frame block and the corresponding pixel values of a reference frame block.
  • Inter-frame activity and intra-frame activity values both may be defined by each of they, u and v components of the block. The computation of inter-frame activity and intra-frame activity levels are described below.
  • Intra-frame activity levels A y-Intra , A u-Intra , and A v-Intra associated respectively with the y, u and v components of a block are computed as shown below:
  • a y ⁇ - ⁇ Intra ⁇ i ⁇ ⁇ j ⁇ ⁇ y ⁇ ( i , j ) - y _ ⁇
  • a u ⁇ - ⁇ Intra ⁇ i ⁇ ⁇ j ⁇ ⁇ u ⁇ ( i , j ) - u _ ⁇
  • a v ⁇ - ⁇ Intra ⁇ i ⁇ j ⁇ ⁇ v ⁇ ( i , j ) - v _ ⁇
  • ⁇ overscore (y) ⁇ , ⁇ overscore (u) ⁇ and ⁇ overscore (v) ⁇ are respectively the mean values of y, u and v for all the pixels disposed in the block.
  • inter-frame activity levels A y-Inter , A u-Inter , and A v-lnter associated respectively with the y, u and v components of the frame are computed as shown below:
  • a y ⁇ - ⁇ Inter ⁇ i ⁇ ⁇ j ⁇ ⁇ y ⁇ ( i , j ) - y ′ ⁇ ( i , j ) ⁇
  • a u ⁇ - ⁇ Inter ⁇ i ⁇ ⁇ j ⁇ ⁇ u ⁇ ( i , j ) - u ′ ⁇ ( i , j ) ⁇
  • a v ⁇ - ⁇ Inter ⁇ i ⁇ j ⁇ ⁇ v ⁇ ( i , j ) - v ′ ⁇ ( i , j ) ⁇
  • y′(i, j), u′(i, j) and v′(i,j) respectively represent the luminance and chrominance components of the pixel positioned at coordinates (i, j) of the corresponding motion-compensated block of a reference frame.
  • any of the y, u and v components of the inter-frame activity level for a block is greater than the corresponding component of the intra-frame activity level for that block, that block is identified as containing color-motion artifact(s).
  • the block is identified as containing color-motion artifact(s) if any of the following inequalities are true:
  • Determination of color motion artifacts in accordance with the above embodiments of the present invention involves summing absolute values, and thus requires fewer computations than do the prior art techniques. The reduction of color-motion artifact(s) is described below.
  • video data is encoded using intra-frame encoding.
  • Switching from inter-frame to intra-frame encoding reduces the color-motion artifact(s) while maintaining the compatibility with international video standards.
  • the MPEG-1, MPEG-2, and MPEG-4 video compression standards enable changing the encoding mode from inter-frame to intra-frame at the macroblock level.
  • Table I shows the values of the variable length code (VLC) and other associated parameters of the MPEG-1 and MPEG-2 encoding standards for a predictive frame (i.e., P-frame).
  • VLC variable length code
  • a 1 indicates that that parameter (or feature) printed at the top of the column is selected.
  • a 1 in the last column titled macroblock intra indicates that intra-frame mode is used in encoding of the video data. Therefore, by varying the VLC parameter, the encoding mode of a macroblock of a predictive frame may be changed from inter-frame to intra-frame mode.
  • macroblock type is alternatively referred to as mb_type.
  • Table II below shows a corresponding VLC code and associated parameters of a P-frame according to the MPEG-4 compression standard.
  • an mb_type of 3 or 4 encodes P-frames using intra-frame encoding.
  • MPEG-4 VLC code table for the mb_type in the predictive frame (P-picture) VOP Type mb_type Name not_coded mcbpc cbpy dquant P not coded — 1 P 0 INTER 1 1 1 P 1 INTER + Q 1 1 1 1 P 3 INTRA 1 1 1 P 4 INTRA + Q 1 1 1 1 P stuffing — 1 1
  • the H.261 and H.263 video standards also include parameters for selecting intra-frame encoding of video data. Consequently, switching from inter-frame to intra-frame encoding to reduce color motion artifacts, in accordance with the present invention, may be implemented in MPEG-1, MPEG-2, MPEG-4, H.261 and H.263 standards.
  • the quantization scale is lowered, for example, by at least 1 or 2 steps. In other words, a finer quantization step is used to quantize the DCT signals. If the reduced quantization scale falls below 1, the reduced quantization scale is set to 1.
  • the quantization scale may be varied by changing the 5-bit parameter macroblock quant.
  • the quantization scale is altered via parameter dquant which holds a value representative of the difference between the current and previous quantization scales.
  • FIG. 3 is a simplified high-level block diagram of a conventional system 200 adapted to detect color-motion artifacts.
  • System 100 receives a sequence of incoming video frames via frame reorder block 102 .
  • frame reorder block 102 serially supplies the (Y,U,V) components of a current frame of the frame sequence to an adder/subtractor 104 .
  • Adder/subtractor 104 is also adapted to receive a signal from motion compensation block 106 via selector 108 . If selector 108 is in the upper position, then intra-frame coding is used in which case a null signal (i.e., 0) is supplied to adder/subtractor 104 .
  • a null signal i.e., 0
  • Adder/subtractor 104 generates a signal that corresponds to the difference between the video data supplied by frame reorder block 102 and that supplied by selector 108 .
  • the signal generated by adder/subtractor 104 is supplied to DCT block 110 whose output signal is quantized by a quantizer 112 .
  • the quantized signal generated by quantizer 112 is then encoded by VLC 114 .
  • the signal encoded by VLC 114 is then stored in buffer 116 , which in turn, supplies the encoded video bit stream to a video decoder (not shown).
  • the signal generated by quantizer 112 is inversely quantized by an inverse quantizer 118 and is subsequently delivered to IDCT 120 .
  • IDCT 20 performs an inverse DCT function on the signal it receives and supplies that signal to adder 122 .
  • Adder 122 adds the signal it receives from selector 108 to the signal it receives from IDCT 120 and stores the added result in frame memory 124 for future retrieval.
  • the signal stored in frame memory 124 only includes the luma component of a current frame and is adapted to serve as a reference frame for motion estimation and compensation of future frames.
  • a motion estimator 128 receives the signal stored in frame memory 124 and the signal supplied by frame reorder block 102 to generate a motion vector signal that is supplied to motion compensation block 106 . Only the luma components of the current frame—as supplied by frame reorder block 102 —and the reference frame—as supplied by frame memory 124 —are received and used by motion estimator 128 to generate a motion vector.
  • the motion vector generated by motion estimator 128 is supplied to motion compensator 106 .
  • Motion compensator 106 compensates for the motion of the signal it receives from frame memory 124 using the motion vector signal that it receives from motion estimator 128 .
  • the output signal generated by motion compensator 106 is a motion-compensated signal of a current frame and serves as the reference frame for the next incoming frame when inter-frame encoding is used.
  • selector 108 is provided with an upper position. When placed in the upper position, a null signal (i.e., 0) is transferred to subtracted 104 .
  • block 150 After block 150 detects a color motion artifact, block 150 generates a control signal.
  • the control signal either causes the encoding mode to change from inter-frame to intra-frame or causes the quantization scale to change.
  • Block 150 in accordance with the present invention, advantageously performs fewer computations to detect and reduce color-motion artifacts than do prior art systems.
  • block 150 may include only software modules that are executed by one or more central processing units.
  • block 150 may by a dedicated hardware logic unit.
  • block 150 may include both hardware and software modules.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

To detect color motion artifacts in a video frame, a motion-compensated color-distance value is compared against a threshold value. If the motion-compensated color-distance value is greater than or equal to the threshold value, color-motion artifacts are detected. The motion-compensated color-distance value is a sum of absolute values of the differences between corresponding pixel values of the video frame and a reference frame. To detect color motion artifacts in a video frame, in another embodiment, luminance and chrominance components of the intra-frame activity levels are compared against luminance and chrominance components of the inter-frame activity levels. If any of the components of the inter-frame activity levels is greater than the corresponding components of the intra-frame activity levels, color-motion artifacts are detected. To reduce color-motion artifacts, either a smaller quantization scale or intra-frame encoding is used to encode the data.

Description

    BACKGROUND OF THE INVENTION
  • The present invention relates to processing of video data, and more specifically to detection and reduction of color-motion artifacts in processing of video data. [0001]
  • Successive frames in a typical video sequence are often very similar to each other. For example, a sequence of frames may have scenes in which an object moves across a stationary background, or a background moves behind a stationary object. Consequently, many scenes in one frame may also appear in a different position of a subsequent frame. Video systems take advantage of such redundancy within the frames by using predictive coding techniques, such as motion estimation and motion compensation, to reduce the volume of data required in compressing the frames. [0002]
  • In accordance with the well-known motion estimation technique, to conserve bit rate, data related to the differences between positions of similar objects in successive frames are captured by one or more motion vectors. The motion vectors are then used to identify the spatial coordinates of the shifted objects in a subsequent frame. The motion vectors therefore limit the bit rate that would otherwise be required to encode the data associated with the shifted objects. [0003]
  • Motion estimation and compensation are used in several international standards such as H.261, H.263, MPEG-1, MPEG-2, and MPEG-4. Partly due to its computational intensity, a motion vector is shared typically by all color components in (Y,U,V) or (Y, C[0004] r,Cb) coordinate systems. In the (Y,U,V) color coordinate system, Y is the luma component (also referred to below as the luminance and is related to the intensity), and U and V are the chroma components (also referred to below as the chrominance components and are related to hue and saturation) of a color. Similarly, in the (Y, Cr,Cb) color coordinate system, Y is the luma component, and Cb and Cr are the chroma components. Each motion vector is typically generated for a macroblock. Each macroblock typically includes a block of, e.g., 16×16 or 8×8 pixels. The MPEG-2 standard provides an interlaced mode that separates each 16×16 macroblock into two 16×8 sub-macroblocks each having an associated motion vector. In the following, the terms block, macroblock, and sub-macroblock may be used interchangeably.
  • To simplify computation, most commonly known video standards use only the luminance component to generate a motion vector for each macroblock. This motion vector is subsequently applied to both chroma components associated with that macroblock. The generation of a motion vector using only the luminance component may cause undesirable color-motion artifacts (alternatively referred to hereinbelow as color artifacts) such as color patches. [0005]
  • To further the reduce bit rate for encoding of video data, inter-frame and intra-frame encoding have been developed. In accordance with the inter-frame coding, the difference between the data contained in a previous frame and a current frame is used to encode the current frame. The inter-frame encoding may not improve coding efficiency, for example, if the current frame is the first frame in a new scene (i.e., when there is a scene change), in which case intra-frame encoding is used. In accordance with the intra-frame encoding, only the information contained within the frame itself is used to encode the frame. [0006]
  • FIG. 1 is a simplified high-level block diagram of a [0007] conventional system 100 adapted to detect color-motion artifacts. System 100 receives a sequence of incoming video frames via frame reorder block 102. In response, frame reorder block 102 serially supplies the (Y,U,V) components of a current frame of the frame sequence to an adder/subtractor 104. Adder/subtractor 104 is also adapted to receive a signal from motion compensation block 106 via selector 108. If selector 108 is in the upper position, then intra-frame coding is used in which case a null signal (i.e., 0) is supplied to adder/subtractor 104. On the other hand, if selector 108 is in the lower position, then inter-frame coding is used. Adder/subtractor 104 generates a signal that corresponds to the difference between the video data supplied by frame reorder block 102 and that supplied by selector 108.
  • The signal generated by adder/[0008] subtractor 104 is supplied to a discrete cosine transform (DCT) block 110 whose output signal is quantized by a quantizer 112. The quantized signal generated by quantizer 112 is then encoded by variable-length coder (VLC) 114. The signal encoded by VLC 114 is then stored in buffer 116, which in turn, supplies the encoded video bit stream to a video decoder (not shown).
  • The signal generated by [0009] quantizer 112 is inversely quantized by an inverse quantizer 118 and is subsequently delivered to an inverse DCT (IDCT) 120. IDCT 20 performs an inverse DCT function on the signal it receives and supplies that signal to adder 122. Adder 122 adds the signal it receives from selector 108 to the signal it receives from IDCT 120 and stores the added result in frame memory 124 for future retrieval. The signal stored in frame memory 124 only includes the luma component of a current frame and is adapted to serve as a reference frame for motion estimation and compensation of future frames.
  • A [0010] motion estimator 128 receives the signal stored in frame memory 124 and the signal supplied by frame reorder block 102 to generate a motion vector signal that is supplied to motion compensation block 106. Only the luma components of the current frame—as supplied by frame reorder block 102—and the reference frame—as supplied by frame memory 124—are received and used by motion estimator 128 to generate a motion vector. The motion vector generated by motion estimator 128 is supplied to motion compensator 106. Motion compensator 106, in turn, compensates for the motion of the signal it receives from frame memory 124 using the motion vector signal that it receives from motion estimator 128. The output signal generated by motion compensator 106 is a motion-compensated signal of a current frame and serves as the reference frame for the next incoming frame when inter-frame encoding is used.
  • There may be occasions when a reference frame is not required. For example, no reference frame is required when a new video sequence is received by [0011] system 100. Similarly, there is no need for a reference frame when processing the first frame of a new scene. To accommodate situations where no reference frame is needed, selector 108 is provided with an upper position. When placed in the upper position, a null signal (i.e., 0) is transferred to subtracted 104.
  • Conventional luminance-only based motion estimation and compensation systems, such as [0012] system 100, fail to reflect the true movement of an object in a video sequence. This failure results in noticeable color-motion artifacts. FIG. 2 is an exemplary diagram showing color-motion artifacts stemming from failure to detect the motion of a color object. In FIG. 2, a uniform gray area 200 provides a background to two synthetic color patches, namely a red color patch 210 and a green color patch 220. Both red and green color patches 210 and 220 produce the same luminance level as gray background 200. Both color patches 210 and 220 are also moving in front of gray background 200.
  • Assume that in FIG. 2, the color conversion recommended by the ITU-R standard BT.709 is used, as shown below: [0013]
  • Y=0.715G+0.072B+0.213R.
  • Assume further that [0014] gray background 200 has (R,G,B) color components of (40,40,40) resulting in a luma component (i.e., intensity level) of 40. Assume further that red color patch 210 and green color patch 220 have respective (R,G,B) color components of (188,0,0) and (0,56,0). Consequently, in accordance with equation (1) above, both red color patch 210 and green color patch 220 have the same luminance level (i.e., 40) as the gray background 200. Therefore, conventional luminance-only based motion estimation and motion compensation systems, such as system 100 of FIG. 1, fail to detect the movement of red and green color patches 210 and 220 relative to gray background 200. This failure results in noticeable differences in the quantization errors of the chroma components—particularly for the gray background—thereby creating color motion artifacts.
  • One known method for overcoming the problems associated with luminance-only motion estimation and compensation systems is described in U.S. Pat. No. 5,544,263 and which involves performing motion estimation for each of the color components (Y,U,V). This three-motion-vector method, while achieving a good match for each of the color components, substantially increases the computational intensity. The increase in computational intensity, increases both the cost of the system as well as the bandwidth requirement for transmitting the three motion vectors. This, in turn, limits the available bit rate to encode the motion-compensated inter-frame differences. Therefore, although the method as described in U.S. Pat. No. 5,544,263 has an improved color motion artifact rejection, because it provides less bandwidth to encode the inter-frame differences, it is less immune to granular noise. [0015]
  • Another known method for overcoming the problems associated with luminance-only motion estimation and compensation systems is described in U.S. Pat. No. 5,544,263 and which involves using all color components when matching blocks. In accordance with this method, block-matching for each macro block is performed only once. However, this technique may require 50% more computation than do the luminance-only motion-estimation and compensation systems. This 50% increase in computation increases the system complexity and cost. [0016]
  • Need continues to exist for improved color motion artifact detection and reduction techniques. [0017]
  • BRIEF SUMMARY OF THE INVENTION
  • In accordance with one aspect of the present invention, to detect color motion artifacts in a video frame block, a motion-compensated color-distance value associated with that frame block is compared against a threshold value. If the motion-compensated color-distance value associated with the frame block is greater than or equal to the threshold value, the frame block is identified as containing color-motion artifacts. [0018]
  • In one embodiment, the motion-compensated color-distance value is defined by a sum of squared distances of corresponding red, green and blue component values of similarly positioned pixels of the frame block and an associated reference frame block. In another embodiment, the motion-compensated color-distance value is defined by a sum of absolute values of differences of corresponding luminance and chrominance component values of similarly positioned pixels of the frame block and an associated reference frame block. In one embodiment, the threshold value is defined by a level of activity within the frame block. In another embodiment, the threshold value is defined by a target bit rate allocated for encoding the frame block. [0019]
  • In accordance with another aspect, to detect color-motion artifacts, chroma and luma components of the intra-frame activity levels of a video frame are compared to chroma and luma components of the inter-frame activity levels for that video frame block. If any component of the inter-frame activity levels is greater than the corresponding component of the intra-frame activity level, the frame block is identified as containing color motion artifact(s). [0020]
  • In accordance with another aspect of the present invention, to reduce any detected color-motion artifacts either (1) a smaller quantization scale or (2) intra-frame—in place of inter-frame—is used to encode the data.[0021]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a simplified high-level block diagram of a conventional luminance-only based system adapted to detect color motion artifacts. [0022]
  • FIG. 2 is an exemplary diagram of a color-motion artifacts caused by the system of FIG. 1. [0023]
  • FIG. 3 is a simplified high-level block diagram of a system adapted to detect and reduce color-motion artifacts, in accordance with one embodiment of the present invention.[0024]
  • DETAILED DESCRIPTION OF THE INVENTION
  • In accordance with one aspect of the present invention, to detect color-motion artifacts in a video frame, a motion-compensated color-distance value is compared to a threshold value. If the motion-compensated color-distance value is greater than or equal to the threshold value, the video frame is identified as containing color-motion artifacts. In accordance with another aspect, to detect color-motion artifacts in a video frame, chroma and luma components of the intra-frame activity levels of a video frame are compared to chroma and luma components of the inter-frame activity levels for that video frame. If any of the components of the inter-frame activity levels is greater than the corresponding component of the intra-frame activity levels, the video frame is identified as containing color motion artifacts. In accordance with another aspect, to reduce any color-motion artifacts, either (1) a smaller quantization scale or (2) data is encoded using intra-frame encoding. [0025]
  • Motion-Compensated Color-Difference Value [0026]
  • To detect color-motion artifacts in each block of a video frame, first a motion-compensated color-distance value for that block (alternatively referred to hereinbelow as the current block or the underlying block) is computed, as described further below. Assume that the red, green and blue components of a video signal associated with a pixel disposed at coordinates (i, j) of the current block of a video frame are respectively represented by r(i, j), g(i, j), and b(i, j). Assume further that the red, green and blue components of a video signal associated with a pixel disposed at coordinates (i, j) of a corresponding block of a reference frame is represented by r′(i, j), g′(i, j), and b′(i, j). In accordance with the present invention, the motion-compensated color-difference value D is computed using the following equation: [0027] D = i j { [ r ( i , j ) - r ( i , j ) ] 2 + [ g ( i , j ) - g ( i , j ) ] 2 + [ b ( i , j ) - b ( i , j ) ] 2 } ( 1 )
    Figure US20030223500A1-20031204-M00001
  • As is seen from equation (1), the double summation to compute D is performed over all the pixels of the current block. [0028]
  • As is known to those skilled in the art, the color transformation between RGB and YUV color coordinate system is as follows: [0029]
  • R=Y+1.574V≅Y+1.5V
  • G=Y−0.187U−0.469V≅Y−0.5V
  • B=Y+1.856U≅Y+2U
  • Accordingly, equation (1) expressed in the YUV color coordinate system is as follows: [0030] D i j { [ ( y ( i , j ) - y ( i , j ) ) + 1.5 ( v ( i , j ) - v ( i , j ) ) ] 2 + [ ( y ( i , j ) - y ( i , j ) ) - 0.5 ( v ( i , j ) - v ( i , j ) ) ] 2 + [ ( y ( i , j ) - y ( i , j ) ) + 2 ( u ( i , j ) - u ( i , j ) ) ] 2 } ( 2 )
    Figure US20030223500A1-20031204-M00002
  • where y(i,j), u(i,j), and v(i,j) represent the luminance and chrominance components of the pixel disposed at coordinates (i, j) of the current block. Similarly, y′(i,j), u′(i,j), and v′(i,j) represent the luminance and chrominance components of the pixel disposed at coordinates (i, j) of the reference block. Ignoring the cross terms, equation (2) may be simplified, as shown below: [0031] D i j { 3 [ y ( i , j ) - y ( i , j ) ] 2 + 4 [ u ( i , j ) - u ( i , j ) ] 2 + 2.5 [ v ( i , j ) - v ( i , j ) ] 2 } ( 3 )
    Figure US20030223500A1-20031204-M00003
  • Equation (3) may be further simplified by replacing the square operator with the absolute value operator, as shown below: [0032] D 3 i j y ( i , j ) - y ( i , j ) + 4 i j u ( i , j ) - u ( i , j ) + 2.5 i j v ( i , j ) - v ( i , j ) ( 4 )
    Figure US20030223500A1-20031204-M00004
  • In equation (4), the following term: [0033] i j y ( i , j ) - y ( i , j )
    Figure US20030223500A1-20031204-M00005
  • is alternatively referred to hereinbelow as the sum of absolute difference SAD[0034] y for component Y. Similarly the other two summations are alternatively referred to as SADu and SADv. Accordingly, for each block, the motion-compensated color-distance value D is a sum of absolute difference (SAD) of the YUV components.
  • The constant coefficients (i.e., 3, 4 and 2.5) in equation (4) may be scaled to match human color-perception. Consequently, equation (4) may be expanded into a linear combination of the following three summations: [0035] D a y i j y ( i , j ) - y ( i , j ) + a u i j u ( i , j ) - u ( i , j ) + a v i j v ( i , j ) - v ( i , j ) ( 5 )
    Figure US20030223500A1-20031204-M00006
  • where a[0036] y, au, and av are constant coefficients.
  • To determine whether the block includes color-motion artifact(s), the motion-compensated color-distance value D computed for the block is compared against a pre-defined threshold value T. If the motion-compensated color-distance D is greater than or equal to threshold T, the block is identified as containing color-motion artifacts, as described further below. [0037]
  • Calculation of the Threshold Value [0038]
  • The threshold value T used to determine whether a block contains color-motion artifact(s), may depend on a number of factors, such as the activity level or the target bit rate allocated for the block. A low activity level indicates that there are smooth transitions in the pixel values disposed in the block, accordingly, a relatively low threshold is selected in identifying potential color motion artifacts in such blocks. On the other hand, a relatively high activity level indicates that there are abrupt transitions in the pixel values disposed in the block, accordingly, a relatively high threshold is selected in identifying potential color motion artifacts in such blocks. Therefore, the threshold value selected for identification of potential color motion artifacts is directly proportional to the level of activity in the block. [0039]
  • As described above, another factor that is used in establishing the threshold value is the target bit rate allocated for the block. A relatively high threshold is selected when a low target bit rate is allocated for encoding the block. Conversely a relatively low threshold is selected when a high target bit rate is allocated for encoding the block. Therefore, the threshold value selected for identification of potential color motion artifacts is inversely proportional to the target bit rate allocated for encoding the block. [0040]
  • The following is an example of a pseudo code for selecting the threshold value T: [0041]
    CalculateMismath_Threshold_D (actj,bitrate)
    {
    if(actj <=2)
    Mismath_Threshold_D = 2000;
    else
    Mismath_Threshold_D = 4000;
    if(bit_rate<100000)
    Mismath_Threshold_D = 5500;
    }
  • where actj is a measure of the activity level in the underlying block. [0042]
  • As described above, to detect color-motion artifacts, the motion-compensated color-distance value D is compared with the threshold value T. If the motion-compensated color-distance D is greater than or equal to the threshold value T, the block is identified as containing color-motion artifacts. [0043]
  • Color Motion Artifacts Detection Using Intra/Inter-frame activity [0044]
  • In accordance with another embodiment of the present invention, to detect color-motion artifacts in a frame block, the level of intra-frame activity within the block is compared against the level of inter-frame activity for the block. If any of the y, u and v components (described below) of the inter-frame activity level is greater than or equal to the corresponding component of the intra-frame activity level, the block is identified as containing color-motion artifact(s). The intra-frame activity level associated with a frame block depends on the variation of the pixel values disposed within that frame block. The inter-frame activity level associated with a frame block, on the other hand, depends on the variation between the pixel values of that frame block and the corresponding pixel values of a reference frame block. [0045]
  • Inter-frame activity and intra-frame activity values both may be defined by each of they, u and v components of the block. The computation of inter-frame activity and intra-frame activity levels are described below. [0046]
  • Computation of Inter/Intra-frame Activity Levels [0047]
  • Intra-frame activity levels A[0048] y-Intra, Au-Intra, and Av-Intra associated respectively with the y, u and v components of a block, are computed as shown below: A y - Intra = i j y ( i , j ) - y _ A u - Intra = i j u ( i , j ) - u _ A v - Intra = i j v ( i , j ) - v _
    Figure US20030223500A1-20031204-M00007
  • where {overscore (y)}, {overscore (u)} and {overscore (v)} are respectively the mean values of y, u and v for all the pixels disposed in the block. [0049]
  • Similarly, inter-frame activity levels A[0050] y-Inter, Au-Inter, and Av-lnter associated respectively with the y, u and v components of the frame, are computed as shown below: A y - Inter = i j y ( i , j ) - y ( i , j ) A u - Inter = i j u ( i , j ) - u ( i , j ) A v - Inter = i j v ( i , j ) - v ( i , j )
    Figure US20030223500A1-20031204-M00008
  • where y′(i, j), u′(i, j) and v′(i,j) respectively represent the luminance and chrominance components of the pixel positioned at coordinates (i, j) of the corresponding motion-compensated block of a reference frame. [0051]
  • In accordance with the present invention, if any of the y, u and v components of the inter-frame activity level for a block is greater than the corresponding component of the intra-frame activity level for that block, that block is identified as containing color-motion artifact(s). In other words, the block is identified as containing color-motion artifact(s) if any of the following inequalities are true: [0052]
  • A y-Inter >A y-Intra or
  • A u-Inter >A u-intra or
  • A v-Inter >A v-Intra,
  • Determination of color motion artifacts in accordance with the above embodiments of the present invention involves summing absolute values, and thus requires fewer computations than do the prior art techniques. The reduction of color-motion artifact(s) is described below. [0053]
  • Color Artifact Reduction Using Intra-frame Encoding Mode [0054]
  • In accordance with one embodiment of the present invention, to reduce color-motion artifact(s), video data is encoded using intra-frame encoding. Switching from inter-frame to intra-frame encoding reduces the color-motion artifact(s) while maintaining the compatibility with international video standards. The MPEG-1, MPEG-2, and MPEG-4 video compression standards enable changing the encoding mode from inter-frame to intra-frame at the macroblock level. [0055]
  • Table I below shows the values of the variable length code (VLC) and other associated parameters of the MPEG-1 and MPEG-2 encoding standards for a predictive frame (i.e., P-frame). In Table I, a 1 indicates that that parameter (or feature) printed at the top of the column is selected. A 1 in the last column titled macroblock intra indicates that intra-frame mode is used in encoding of the video data. Therefore, by varying the VLC parameter, the encoding mode of a macroblock of a predictive frame may be changed from inter-frame to intra-frame mode. In the following, macroblock type is alternatively referred to as mb_type. [0056]
    TABLE I
    MPEG-1 and MPEG-2 VLC code table for the
    mb_type in the predictive frame (P-picture)
    macro-
    macro- block macroblock
    block motion motion macroblock macroblock
    VLC quant forward backward pattern intra
    1 0 1 0 1 0
    01 0 0 0 1 0
    001 0 1 0 0 0
    00011 0 0 0 0 1
    00010 1 1 0 1 0
    00001 1 0 0 1 0
    000001 1 0 0 0 1
  • Table II below shows a corresponding VLC code and associated parameters of a P-frame according to the MPEG-4 compression standard. As seen from Table II, an mb_type of 3 or 4 encodes P-frames using intra-frame encoding. [0057]
    TABLE II
    MPEG-4 VLC code table for the mb_type in the
    predictive frame (P-picture)
    VOP
    Type mb_type Name not_coded mcbpc cbpy dquant
    P not coded 1
    P 0 INTER 1 1 1
    P 1 INTER + Q 1 1 1 1
    P 3 INTRA 1 1 1
    P 4 INTRA + Q 1 1 1 1
    P stuffing 1 1
  • The H.261 and H.263 video standards also include parameters for selecting intra-frame encoding of video data. Consequently, switching from inter-frame to intra-frame encoding to reduce color motion artifacts, in accordance with the present invention, may be implemented in MPEG-1, MPEG-2, MPEG-4, H.261 and H.263 standards. [0058]
  • Scaling Quantization [0059]
  • To reduce color motion artifacts, in accordance with another embodiment of the present invention, the quantization scale is lowered, for example, by at least 1 or 2 steps. In other words, a finer quantization step is used to quantize the DCT signals. If the reduced quantization scale falls below 1, the reduced quantization scale is set to 1. [0060]
  • In accordance with the MPEG-1 and MPEG-2 compression standards (see Table I), the quantization scale may be varied by changing the 5-bit parameter macroblock quant. In the MPEG-4 compression standard (see Table II), the quantization scale is altered via parameter dquant which holds a value representative of the difference between the current and previous quantization scales. [0061]
  • A sample pseudo code for varying the quantization scale is shown below: [0062]
    if   (Color_Artifact_Detected) {
    Quantization_Scale −= 2;
    if (Quantization_Scale <= 1){
    Quantization_Scale = 1;
    }}
  • FIG. 3 is a simplified high-level block diagram of a [0063] conventional system 200 adapted to detect color-motion artifacts. System 100 receives a sequence of incoming video frames via frame reorder block 102. In response, frame reorder block 102 serially supplies the (Y,U,V) components of a current frame of the frame sequence to an adder/subtractor 104. Adder/subtractor 104 is also adapted to receive a signal from motion compensation block 106 via selector 108. If selector 108 is in the upper position, then intra-frame coding is used in which case a null signal (i.e., 0) is supplied to adder/subtractor 104. On the other hand, if selector 108 is in the lower position, then inter-frame coding is used. Adder/subtractor 104 generates a signal that corresponds to the difference between the video data supplied by frame reorder block 102 and that supplied by selector 108.
  • The signal generated by adder/[0064] subtractor 104 is supplied to DCT block 110 whose output signal is quantized by a quantizer 112. The quantized signal generated by quantizer 112 is then encoded by VLC 114. The signal encoded by VLC 114 is then stored in buffer 116, which in turn, supplies the encoded video bit stream to a video decoder (not shown).
  • The signal generated by [0065] quantizer 112 is inversely quantized by an inverse quantizer 118 and is subsequently delivered to IDCT 120. IDCT 20 performs an inverse DCT function on the signal it receives and supplies that signal to adder 122. Adder 122 adds the signal it receives from selector 108 to the signal it receives from IDCT 120 and stores the added result in frame memory 124 for future retrieval. The signal stored in frame memory 124 only includes the luma component of a current frame and is adapted to serve as a reference frame for motion estimation and compensation of future frames.
  • A [0066] motion estimator 128 receives the signal stored in frame memory 124 and the signal supplied by frame reorder block 102 to generate a motion vector signal that is supplied to motion compensation block 106. Only the luma components of the current frame—as supplied by frame reorder block 102—and the reference frame—as supplied by frame memory 124—are received and used by motion estimator 128 to generate a motion vector. The motion vector generated by motion estimator 128 is supplied to motion compensator 106. Motion compensator 106, in turn, compensates for the motion of the signal it receives from frame memory 124 using the motion vector signal that it receives from motion estimator 128. The output signal generated by motion compensator 106 is a motion-compensated signal of a current frame and serves as the reference frame for the next incoming frame when inter-frame encoding is used.
  • There may be occasions when a reference frame is not required. For example, no reference frame is required when a new video sequence is received by [0067] system 100. Similarly, there is no need for a reference frame when processing the first frame of a new scene. To accommodate situations where no reference frame is need, selector 108 is provided with an upper position. When placed in the upper position, a null signal (i.e., 0) is transferred to subtracted 104.
  • After [0068] block 150 detects a color motion artifact, block 150 generates a control signal. The control signal either causes the encoding mode to change from inter-frame to intra-frame or causes the quantization scale to change. Block 150, in accordance with the present invention, advantageously performs fewer computations to detect and reduce color-motion artifacts than do prior art systems. In one embodiment, block 150 may include only software modules that are executed by one or more central processing units. In another embodiment, block 150 may by a dedicated hardware logic unit. In yet other embodiment, block 150 may include both hardware and software modules.
  • The above embodiments of the present invention are illustrative and not limiting. Various alternatives and equivalents are possible. The invention is not limited by the type of integrated circuit in which the present invention may be disposed. Nor is the invention limited to any specific type of process technology, e.g., CMOS, Bipolar, or BICMOS that may be used to manufacture the present invention. Other additions, subtractions or modifications are obvious in view of the present invention and are intended to fall within the scope of the appended claims. [0069]

Claims (39)

What is claimed is:
1. A method for detecting a color-motion artifact in a block of a video frame, the method comprising:
computing a motion-compensated color-difference value associated with the block; and
identifying the block as containing a color motion artifact if the motion-compensated color-distance value associated with the block is one of greater than and equal to a threshold value.
2. The method of claim 1 wherein the motion-compensated color-difference value is defined by a sum of squared differences of corresponding red, green and blue component values of similarly located pixels of the block and an associated block of a reference frame.
3. The method of claim 1 wherein the motion-compensated color-difference value is defined by a sum of absolute values of differences of corresponding luminance and chrominance component values of similarly located pixels of the block and an associated block of a reference frame.
4. The method of claim 3 wherein the motion-compensated color-difference value D is defined by
D a y i j y ( i , j ) - y ( i , j ) + a u i j u ( i , j ) - u ( i , j ) + a v i j v ( i , j ) - v ( i , j )
Figure US20030223500A1-20031204-M00009
wherein y(i, j) represents a luminance component of a pixel disposed at coordinates (i, j) of the block and wherein u(i, j) and v(i, j) represent chrominance components of the pixel disposed at coordinates (i, j) of the block, wherein y′(i, j) represents a luminance component of a pixel disposed at coordinates (i, j) of the associated block of the reference frame and wherein u(i, j) and v(i, j) represent chrominance components of the pixel disposed at coordinates (i, j) of the associated block of the reference frame, and wherein ay, au and av are constants coefficients.
5. The method of claim 1 wherein the threshold value is defined by an activity level associated with the block.
6. The method of claim 1 wherein the threshold value is defined by a target bit rate associated with the block.
7. The method of claim 1 wherein the block includes one of 16×16 and 8×8 pixels.
8. The method of claim 1 wherein the block includes the entire video frame.
9. A method for detecting a color-motion artifact in a block of a video frame, the method comprising:
computing an inter-frame activity level for a first one of luminance and chrominance components of the block;
computing an intra-frame activity level for a corresponding first one of the luminance and chrominance components of the block; and
identifying the block as containing a color motion artifact if the computed inter-frame activity level is one of greater than and equal to the computed intra-frame activity level.
10. The method of claim 9 further comprising:
computing an inter-frame activity level for a second one of the luminance and chrominance components of the block;
computing an intra-frame activity level for a corresponding second one of the luminance and chrominance components of the block; and
identifying the block as containing a color motion artifact if the computed inter-frame activity level for the second one of the chrominance and luminance components of the block is one of greater than and equal to the computed intra-frame activity level for the corresponding second one of the chrominance and luminance components of the block.
11. The method of claim 10 further comprising:
computing an inter-frame activity level for a third one of the luminance and chrominance components of the block;
computing an intra-frame activity level for a corresponding third one of the luminance and chrominance components of the block; and
identifying the block as containing a color motion artifact if the computed inter-frame activity level for the third one of the chrominance and luminance components of the block is one of greater than and equal to the computed intra-frame activity level for the corresponding third one of the chrominance and luminance components of the block.
12. The method of claim 11 wherein the intra-frame activity levels for the luminance and chrominance components of the block are respectively defined by:
A y - Intra = i j y ( i , j ) - y _ A u - Intra = i j u ( i , j ) - u _ A v - Intra = i j v ( i , j ) - v _
Figure US20030223500A1-20031204-M00010
wherein y(i, j), u(i, j) and v(i, j)represent the luminance and chrominance components of a pixel disposed at position (i, j) of the block and wherein {overscore (y)}, {overscore (u)} and {overscore (v)} represent the mean values of the luminance component y, and chrominance components u and v of all the pixels disposed in the block.
13. The method of claim 12 wherein the inter-frame activity levels for the luminance and chrominance components of the block are respectively defined by:
A y - Inter = i j y ( i , j ) - y ' ( i , j ) A u - Inter = i j u ( i , j ) - u ' ( i , j ) A v - Inter = i j v ( i , j ) - v ' ( i , j )
Figure US20030223500A1-20031204-M00011
wherein y′(i, j), u′(i, j) and v′(i,j) respectively represent the luminance and chrominance components of a pixel disposed at coordinates (i, j) of an associated block of a reference frame.
14. The method of claim 13 wherein the block includes one of 16×16 and 8×8 pixels.
15. The method of claim 13 wherein the block includes the entire video frame.
16. A method for reducing color motion artifacts in a video frame, the method comprising:
receiving the video frame ; and
selecting intra-frame encoding to encode data associated with the video frame thereby to reduce the color motion artifacts.
17. A method for reducing color motion artifacts in a video frame, the method comprising:
receiving the video frame ; and
reducing the quantization scale in accordance with which data associated with the vide frame is quantized thereby to reduce the color motion artifacts.
18. The method of claim 17 further comprising:
limiting the reduced quantization scale to one.
19. An apparatus adapted to detect a color-motion artifact in a block of a video frame, the apparatus comprising:
a first module adapted to compute a motion-compensated color-difference value associated with the block; and
a second module adapted to identify the block as containing a color motion artifact if the motion-compensated color-distance value computed for the block is one of greater than and equal to a threshold value.
20. The apparatus of claim 19 wherein the motion-compensated color-difference value is defined by a sum of squared differences of corresponding red, green and blue component values of similarly located pixels of the block and an associated block of a reference frame.
21. The apparatus of claim 19 wherein the motion-compensated color-difference value is defined by a sum of absolute values of differences of corresponding luminance and chrominance component values of similarly located pixels of the block and an associated block of a reference frame.
22. The apparatus of claim 21 wherein the motion-compensated color-difference value D is defined by
D a y i j y ( i , j ) - y ' ( i , j ) + a u i j u ( i , j ) - u ' ( i , j ) + a v i j v ( i , j ) - v ' ( i , j )
Figure US20030223500A1-20031204-M00012
wherein y(i, j) represents a luminance component of a pixel disposed at coordinates (i, j) of the block and wherein u(i, j) and v(i, j) represent chrominance components of the pixel disposed at coordinates (i, j) of the block, wherein y′(i, j) represents a luminance component of a pixel disposed at coordinates (i, j) of the associated block of the reference frame and wherein u(i, j) and v(i, j) represent chrominance components of the pixel disposed at coordinates (i, j) of the associated block of the reference frame, and wherein ay, au and av are constants coefficients.
23. The apparatus of claim 19 wherein the threshold value is defined by an activity level associated with the block.
24. The apparatus of claim 19 wherein the threshold value is defined by a target bit rate associated with the block.
25. The apparatus of claim 19 wherein the block includes one of 16×16 and 8×8 pixels.
26. The apparatus of claim 19 wherein the block includes the entire video frame.
27. The apparatus of claim 19 wherein each of the first, second and third modules is a software module.
28. The apparatus of claim 19 wherein each of the first, second and third modules is a hardware module.
29. The apparatus of claim 19 wherein each of the first, second and third modules further includes software and hardware modules.
30. An apparatus adapted to detect a color-motion artifact in a block of a video frame, the apparatus comprising:
a first module adapted to compute an inter-frame activity level for a first one of luminance and chrominance components of the block;
a second module adapted to compute an intra-frame activity level for a corresponding first one of the luminance and chrominance components of the block; and
a third module adapted to identify the block as containing a color motion artifact if the computed inter-frame activity level is one of greater than and equal to the computed intra-frame activity level.
31. The apparatus of claim 30 wherein said first module is further adapted to compute an inter-frame activity level for a second one of the luminance and chrominance components of the block, wherein said second module is further adapted to computing an intra-frame activity level for a corresponding second one of the luminance and chrominance components of the block, and wherein said third module is further adapted to identify the block as containing a color motion artifact if the computed inter-frame activity level for the second one of the chrominance and luminance components of the block is one of greater than and equal to the computed intra-frame activity level for the corresponding second one of the chrominance and luminance components of the block.
32. The apparatus of claim 31 wherein said first module is further adapted to compute an inter-frame activity level for a third one of the luminance and chrominance components of the block, wherein said second module is further adapted to computing an intra-frame activity level for a corresponding third one of the luminance and chrominance components of the block, and wherein said third module is further adapted to identify the block as containing a color motion artifact if the computed inter-frame activity level for the third one of the chrominance and luminance components of the block is one of greater than and equal to the computed intra-frame activity level for the corresponding third one of the chrominance and luminance components of the block.
33. The apparatus of claim 32 wherein the intra-frame activity levels for the luminance and chrominance components of the block are respectively defined by:
A y - Intra = i j y ( i , j ) - y _ A u - Intra = i j u ( i , j ) - u _ A v - Intra = i j v ( i , j ) - v _
Figure US20030223500A1-20031204-M00013
wherein y(i, j), u(i, j) and v(i, j) represent the luminance and chrominance components of a pixel disposed at position (i,j) of the block and wherein {overscore (y)}, {overscore (u)} and {overscore (v)} represent the mean values of the luminance component y, and chrominance components u and v of all the pixels disposed in the block.
34. The apparatus of claim 33 wherein the inter-frame activity levels for the luminance and chrominance components of the block are respectively defined by:
A y - Inter = i j y ( i , j ) - y ' ( i , j ) A u - Inter = i j u ( i , j ) - u ' ( i , j ) A v - Inter = i j v ( i , j ) - v ' ( i , j )
Figure US20030223500A1-20031204-M00014
wherein y′(i, j), u′(i, j) and v′(i,j) respectively represent the luminance and chrominance components of a pixel disposed at coordinates (i, j) of an associated block of a reference frame.
35. The apparatus of claim 30 wherein the block includes one of 16×16 and 8×8 pixels.
36. The apparatus of claim 30 wherein the block includes the entire video frame.
37. The apparatus of claim 30 wherein each of the first, second and third modules is a software module.
38. The apparatus of claim 30 wherein each of the first, second and third modules is a hardware module.
39. The apparatus of claim 30 wherein each of the first, second and third modules further includes software and hardware modules.
US10/159,805 2002-05-30 2002-05-30 Color motion artifact detection and processing apparatus compatible with video coding standards Expired - Lifetime US7023918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/159,805 US7023918B2 (en) 2002-05-30 2002-05-30 Color motion artifact detection and processing apparatus compatible with video coding standards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/159,805 US7023918B2 (en) 2002-05-30 2002-05-30 Color motion artifact detection and processing apparatus compatible with video coding standards

Publications (2)

Publication Number Publication Date
US20030223500A1 true US20030223500A1 (en) 2003-12-04
US7023918B2 US7023918B2 (en) 2006-04-04

Family

ID=29583030

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/159,805 Expired - Lifetime US7023918B2 (en) 2002-05-30 2002-05-30 Color motion artifact detection and processing apparatus compatible with video coding standards

Country Status (1)

Country Link
US (1) US7023918B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165162A1 (en) * 2005-01-24 2006-07-27 Ren-Wei Chiang Method and system for reducing the bandwidth access in video encoding
US20090063667A1 (en) * 2007-09-04 2009-03-05 Michael Smith Methods and systems for validating real time network communications
US20110150091A1 (en) * 2009-12-18 2011-06-23 Vixs Systems, Inc. Scaled motion search section with parallel processing and method for use therewith
US9155962B2 (en) 2002-12-10 2015-10-13 Sony Computer Entertainment America Llc System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US20190182486A1 (en) * 2017-12-11 2019-06-13 Disney Enterprises, Inc. Systems and methods for scene categorization

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US8964830B2 (en) * 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US20070242880A1 (en) * 2005-05-18 2007-10-18 Stebbings David W System and method for the identification of motional media of widely varying picture content
KR101182298B1 (en) * 2005-09-12 2012-09-20 엘지디스플레이 주식회사 Apparatus and method for driving liquid crystal display device
WO2007123916A2 (en) * 2006-04-18 2007-11-01 Stebbings David W System and method for the identification of motional media of widely varying picture content
KR101311403B1 (en) * 2006-07-04 2013-09-25 삼성전자주식회사 An video encoding/decoding method and apparatus
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US7933469B2 (en) * 2006-09-01 2011-04-26 Texas Instruments Incorporated Video processing
EP2826531A3 (en) * 2007-12-05 2015-09-23 Sony Computer Entertainment America LLC System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
KR102126910B1 (en) 2010-09-13 2020-06-25 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 Add-on Management
KR101956639B1 (en) 2010-09-13 2019-03-11 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 A method and system of providing a computer game at a computer game system including a video server and a game server

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260782A (en) * 1991-08-30 1993-11-09 Matsushita Electric Industrial Co., Ltd. Adaptive DCT/DPCM video signal coding method
US5544263A (en) * 1992-01-31 1996-08-06 Sony Corporation Motion vector calculation circuit, with flatness-judgement circuitry, that selects a generated motion vector for output in accordance with a flatness judgement result
US5987180A (en) * 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
US20020044605A1 (en) * 2000-09-14 2002-04-18 Pioneer Corporation Video signal encoder and video signal encoding method
US20030012286A1 (en) * 2001-07-10 2003-01-16 Motorola, Inc. Method and device for suspecting errors and recovering macroblock data in video coding
US6674804B1 (en) * 2001-11-12 2004-01-06 Bigband Networks, Inc. Method for generating a multiplexed sequence of media units
US6765962B1 (en) * 1999-12-02 2004-07-20 Sarnoff Corporation Adaptive selection of quantization scales for video encoding
US6823015B2 (en) * 2002-01-23 2004-11-23 International Business Machines Corporation Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260782A (en) * 1991-08-30 1993-11-09 Matsushita Electric Industrial Co., Ltd. Adaptive DCT/DPCM video signal coding method
US5544263A (en) * 1992-01-31 1996-08-06 Sony Corporation Motion vector calculation circuit, with flatness-judgement circuitry, that selects a generated motion vector for output in accordance with a flatness judgement result
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
US5987180A (en) * 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6765962B1 (en) * 1999-12-02 2004-07-20 Sarnoff Corporation Adaptive selection of quantization scales for video encoding
US20020044605A1 (en) * 2000-09-14 2002-04-18 Pioneer Corporation Video signal encoder and video signal encoding method
US20030012286A1 (en) * 2001-07-10 2003-01-16 Motorola, Inc. Method and device for suspecting errors and recovering macroblock data in video coding
US6674804B1 (en) * 2001-11-12 2004-01-06 Bigband Networks, Inc. Method for generating a multiplexed sequence of media units
US6823015B2 (en) * 2002-01-23 2004-11-23 International Business Machines Corporation Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9155962B2 (en) 2002-12-10 2015-10-13 Sony Computer Entertainment America Llc System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US20060165162A1 (en) * 2005-01-24 2006-07-27 Ren-Wei Chiang Method and system for reducing the bandwidth access in video encoding
US20090063667A1 (en) * 2007-09-04 2009-03-05 Michael Smith Methods and systems for validating real time network communications
US20110150091A1 (en) * 2009-12-18 2011-06-23 Vixs Systems, Inc. Scaled motion search section with parallel processing and method for use therewith
US9420308B2 (en) * 2009-12-18 2016-08-16 Vixs Systems, Inc. Scaled motion search section with parallel processing and method for use therewith
US20190182486A1 (en) * 2017-12-11 2019-06-13 Disney Enterprises, Inc. Systems and methods for scene categorization
US10701365B2 (en) * 2017-12-11 2020-06-30 Disney Enterprises, Inc. Systems and methods for scene categorization

Also Published As

Publication number Publication date
US7023918B2 (en) 2006-04-04

Similar Documents

Publication Publication Date Title
US7023918B2 (en) Color motion artifact detection and processing apparatus compatible with video coding standards
US11451793B2 (en) Parameterization for fading compensation
US8160148B2 (en) Computational reduction in motion estimation based on lower bound of cost function
EP0710031B1 (en) System for coding a video signal in the presence of an image intensity gradient
EP1359765B1 (en) Fading estimation/compensation in video encoding
US5500689A (en) System for detecting a video signal image intensity gradient
EP1359770B1 (en) Signaling for fading compensation in video encoding
US20090257506A1 (en) Estimation of p frame average rate quantization parameter (qp) in a group of pictures (gop)
JPH08512188A (en) How to determine whether to intra code a video block
US20020172282A1 (en) Signal coding apparatus and method, signal recording medium, and signal transmitting method
US20090257488A1 (en) Estimation of i frame average rate quantization parameter (qp) in a group of pictures (gop)
US20070223578A1 (en) Motion Estimation and Segmentation for Video Data
Blasi et al. Enhanced inter-prediction via shifting transformation in the H. 264/AVC
US7095785B2 (en) Determination of prediction direction in MPEG-4
JP4100067B2 (en) Image information conversion method and image information conversion apparatus
JP4269405B2 (en) Encoding apparatus and method
KR0174444B1 (en) Motion compensated apparatus for very low speed transmission
JPH09238345A (en) Image signal coding method and device therefor, image signal transmission method, image signal decoding method, device therefor and recording medium
Lee et al. Motion oriented picture interpolation with the consideration of human perception
WO1999059342A1 (en) Method and system for mpeg-2 encoding with frame partitioning
JP2003174653A (en) Image information converting method and apparatus, control program, and recording medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: DIVIO, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YU, SIU-LEONG;LIU, YI;REEL/FRAME:013207/0543

Effective date: 20020730

AS Assignment

Owner name: DIVIO, INC., CALIFORNIA

Free format text: TO CORRECT A TYPOGRAPHICAL ERROR IN THE SPELLING OF THE STREET NAME IN THE ADDRESS OF RECEIVING PARTY(IES)ON THE NOTICE OF RECORDATION OF ASSIGNMENT DOCUMENT WHICH WAS RECORDED ON 08/19/02 AT REEL/FRAME 013207/0543.;ASSIGNORS:YU, SIU-LEONG;LIU, YI;REEL/FRAME:013495/0859

Effective date: 20020730

AS Assignment

Owner name: ESS TECHNOLOGIES INTERNATIONAL, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIVIO, INC.;REEL/FRAME:015541/0116

Effective date: 20040625

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: THE PRIVATE BANK OF THE PENINSULA, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ESS TECHNOLOGY, INC.;REEL/FRAME:021212/0413

Effective date: 20080703

Owner name: THE PRIVATE BANK OF THE PENINSULA,CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ESS TECHNOLOGY, INC.;REEL/FRAME:021212/0413

Effective date: 20080703

FEPP Fee payment procedure

Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: IMPERIUM (IP) HOLDINGS, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ESS TECHNOLOGY, INC.;REEL/FRAME:026738/0136

Effective date: 20110629

Owner name: ESS TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ESS TECHNOLOGY INTERNATIONAL, INC.;REEL/FRAME:026737/0929

Effective date: 20110628

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

FEPP Fee payment procedure

Free format text: 11.5 YR SURCHARGE- LATE PMT W/IN 6 MO, LARGE ENTITY (ORIGINAL EVENT CODE: M1556)

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: PICTOS TECHNOLOGIES INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:IMPERIUM IP HOLDINGS (CAYMAN), LTD.;REEL/FRAME:056595/0208

Effective date: 20180430