Abstract: METHOD AND APPARATUS OF DETECTION OF ERROR IN VIDEO DATA
FORM-2 THE PATENTS ACT, 1970
(39 OF 1970)
PROVISIONAL
Specification
(Section -10, rule 13)
METHOD AND APPARATUS TO CHECK FOR WRONGLY DECODED MACROBLOCKS IN STREAMING MULTIMEDIA APPLICATIONS
PACE SOFT SILICON PVT. LTD.
of Corporate Plaza, 106-A, Senapati Bapat Road, Pune 411 016, Maharashtra, India, an Indian Company
THE FOLLOWING SPECIFICATION DESCRIBES THE NATURE OF THIS INVENTION:-
Background
Video Compression Standards such as MPEG-4 uses Variable Length Coding (VLC) to achieve data compression. Whenever an encoded video stream is transmitted through erroneous channel conditions, corruption of encoded video data can takes place. While decoding, the decoder may continue to decode the wrong or corrupt incoming data assuming it to be correct data because of getting proper VLC match for the corrupt incoming data. The decoder continues to decode the data until it doesn't get a proper VLC match for the incoming data. The decoder marks all subsequent macroblocks as LOST, which it is unable to decode.
In world of streaming multimedia applications, the video decoder is responsible to decode the digital compressed video bit stream. The decoder may sometimes be required to decode erroneous data because of the error prone channel. In such cases, due to random error patterns, decoder may misunderstand ('wrongly decode') the data, which may result in visibly annoying patterns in decoded output stream. The present invention provides a way to detect (identify) wrongly decoded data, which can be subsequently concealed by error concealment algorithm, thus improving the visual quality of decoded stream.
The overall system consists of a detection algorithm utilizing the quantization parameter associated with individual macroblock data to carry out the detection, and the selection algorithm to selectively pass the decoded data to the detection algorithm for detection. Selection algorithm protects the
correctly decoded data by reducing the candidates for detection algorithm, which serves to improve complexity performance of the system as well.
The decoder resynchronizes after getting the start of next video packet. The condition is illustrated in Figure 1 of the accompanying drawing shows presence of wrongly decoded and lost macroblocks in video packets and figure 1 shows Clips indicating wrongly decoded and Lost macroblocks in video packets.
These macroblocks, especially I-type macroblocks as they are decoded without any temporal reference, decoded by the decoder with wrong data often causes visual degradation of macroblocks data. Such cases are seen prominently in I frames. This degrades the quality of the video drastically as shown in 0. Such wrongly decoded macroblocks not only affects the visual quality of current video frame but also the visual quality of subsequent frames because of the predictive coding used for P type frames.
The invention provides a method to check for wrongly decoded macroblocks. The macroblocks suspected by the detection algorithm are marked as lost ones, and are concealed subsequently by error concealment logic. The invention also includes selection algorithm, which selects candidate macroblocks for detection algorithm. Such selective testing reduces the complexity by reducing the burden of checking all macroblocks and prevents the risk of marking a correctly decoded macroblock as wrongly decoded to a great extent. The overall system flow is shown as in figure 6.
Detailed description
The approach taken in the current invention can be split into two parts. First part, selection algorithm, selects the appropriate macroblock on which the method of detection of wrongly decoded macroblock is to be applied. The second part, detection algorithm deals with actual detection of wrongly decoded macroblocks. The current invention is applied to I macroblocks only as they are decoded on their own without any temporal reference and if they are wrongly decoded, video quality is affected very severely. The details of both the parts are described as follows.
Selection Algorithm
The algorithm selects appropriate macroblocks for application of method of detection. Any correctly decoded macroblock should not be detected as wrongly decoded, otherwise this will further degrade the quality of the video. Hence in order to prevent detection of any correctly decoded macroblock as wrongly decoded following strategy has been adopted based upon observations.
It has been observed that if a macroblock is wrongly decoded, few subsequent macroblocks are wrongly decoded and all subsequent macroblocks are lost till the end of the packet is reached as shown in figure 1. For I-type of frames following set of rules is followed for selective application of detection logic. The macroblocks satisfying any of the rules is subjected to application of detection logic.
• The detection is always applied for macroblock, which is present at the end of the packets in the frame.
• The detection is always applied for macroblock, which precedes any lost macroblock.
• If a particular macroblock is found to be wrongly decoded then the other preceding macroblocks are checked till end of the previous packet is reached or predefined number of continuous macroblocks are detected. Currently the predefined number of macroblocks considered for application of detection \ogic(COUNTMAX) is kept as 2.
• In case of P-type of frames, the selection logic selects all I-type coded macroblocks.
This algorithm gives reduced set of candidate macroblocks, which should be considered for application of detection for wrongly decoded macroblocks. Hence it reduces the chance of considering a correctly decoded macroblock as being wrongly decoded after the application of detection for wrongly decoded macroblocks. The flowgraph for the algorithm is given in the figure 3,4 and 5..
4.2 Detection Algorithm
In this Algorithm the threshold for detection is decided based upon the Quantization Parameter associated with the macroblock. If a macroblock is found to be wrongly decoded it is marked as LOST and proper Error Concealment technique is applied to recover the LOST macroblock data.
The average absolute difference of the top row of pixel values of the current macroblock and the bottom row of pixel values of the top macroblock if present is found. Then average absolute difference of the bottom row of the current macroblock and the top row of the bottom macroblock if present is found. This comparison is first carried out as it is more probable that the top or bottom row of macroblocks are correctly decoded.
If any of the top or botom macroblocks is not present or lost then first the average absolute difference of the rightmost column of the current macroblock and the leftmost column of the right macroblock if present is found. If right macroblock is not available(not decoded correctly) the average absolute difference of the leftmost column of the current macroblock and the rightmost column of the left macroblock if present is found. Then the individual average of the difference is compared with the threshold.
If the average of those absolute difference exceeds the evaluated threshold based on quantization parameter, the macroblock is detected as a wrongly decoded macroblock.
Threshold=MUL_FA CT* quantization parameter; Where, quantization parameter is for the macroblock which is to be considered for detection. MUL-FACT is kept as 3. If the picture details ate very high MUL_FACT can be increased to 7.
This invention therefore discloses
• A method comprising of
Selection algorithm to optimally select set of macroblock data for
validation,
And,
Detection algorithm to detect macroblock data for any false decoding.
• A method of detection algorithm where cue from adjacent correctly decoded macroblocks is used. Cue is in form of a threshold comparison taking into consideration the neighboring macroblock and current macroblock boundary pixel value information.
• A method of detection algorithm (as in above claim) where quantization parameter of current macroblock is used for shareholding.
• A selection method comprising of the steps, where the detection of wrongly decoded macroblocks have been applied selectively taking into consideration the packet structure of video stream and the macroblocks which are LOST.
Dated 23rd day of February 2004
| # | Name | Date |
|---|---|---|
| 1 | 233-mum-2004-form 3(26-02-2004).pdf | 2004-02-26 |
| 1 | abstract1.jpg | 2018-08-09 |
| 2 | 233-mum-2004-form 26(26-02-2004).pdf | 2004-02-26 |
| 2 | 233-mum-2004-cancelled pages(30-11-2006).pdf | 2006-11-30 |
| 3 | 233-mum-2004-form 2(granted)-(26-02-2004).pdf | 2004-02-26 |
| 3 | 233-mum-2004-correspondence(30-10-2006).pdf | 2006-10-30 |
| 4 | 233-mum-2004-form 1(30-10-2006).pdf | 2006-10-30 |
| 5 | 233-mum-2004-form 6(16-11-2005).pdf | 2005-11-16 |
| 5 | 233-mum-2004-drawing(26-02-2004).pdf | 2004-02-26 |
| 6 | 233-mum-2004-form 4(31-12-2004).pdf | 2004-12-31 |
| 6 | 233-mum-2004-form 26(15-11-2005).pdf | 2005-11-15 |
| 7 | 233-mum-2004-form 5(22-02-2005).pdf | 2005-02-22 |
| 7 | 233-mum-2004-correspondence-(ipo)-(01-09-2005).pdf | 2005-09-01 |
| 8 | 233-mum-2004-form 9(11-03-2005).pdf | 2005-03-11 |
| 8 | 233-mum-2004-assignment(06-07-2005).pdf | 2005-07-06 |
| 9 | 233-mum-2004-form 18(08-06-2005).pdf | 2005-06-08 |
| 10 | 233-mum-2004-form 9(11-03-2005).pdf | 2005-03-11 |
| 10 | 233-mum-2004-assignment(06-07-2005).pdf | 2005-07-06 |
| 11 | 233-mum-2004-form 5(22-02-2005).pdf | 2005-02-22 |
| 11 | 233-mum-2004-correspondence-(ipo)-(01-09-2005).pdf | 2005-09-01 |
| 12 | 233-mum-2004-form 4(31-12-2004).pdf | 2004-12-31 |
| 12 | 233-mum-2004-form 26(15-11-2005).pdf | 2005-11-15 |
| 13 | 233-mum-2004-form 6(16-11-2005).pdf | 2005-11-16 |
| 13 | 233-mum-2004-drawing(26-02-2004).pdf | 2004-02-26 |
| 14 | 233-mum-2004-form 1(30-10-2006).pdf | 2006-10-30 |
| 15 | 233-mum-2004-form 2(granted)-(26-02-2004).pdf | 2004-02-26 |
| 15 | 233-mum-2004-correspondence(30-10-2006).pdf | 2006-10-30 |
| 16 | 233-mum-2004-form 26(26-02-2004).pdf | 2004-02-26 |
| 16 | 233-mum-2004-cancelled pages(30-11-2006).pdf | 2006-11-30 |
| 17 | abstract1.jpg | 2018-08-09 |
| 17 | 233-mum-2004-form 3(26-02-2004).pdf | 2004-02-26 |