Method and apparatus for detecting gradual transition picture in video bitstream
09723309 · 2017-08-01
Assignee
Inventors
Cpc classification
H04N19/109
ELECTRICITY
H04N19/184
ELECTRICITY
H04N19/154
ELECTRICITY
International classification
H04N19/48
ELECTRICITY
H04N19/109
ELECTRICITY
H04N17/00
ELECTRICITY
H04N19/154
ELECTRICITY
H04N19/184
ELECTRICITY
Abstract
The invention provides a method and apparatus for detecting a gradual transition picture in a bitstream. The method comprises: accessing a bitstream including encoded pictures; and determining a gradual transition picture in the bitstream using information from the bitstream without decoding the bitstream to derive pixel information.
Claims
1. A method, comprising the steps of: accessing, by a video quality monitor device, a bitstream including encoded pictures to obtain a picture to be detected; and determining, by the video quality monitor device, that a picture is a gradual transition picture in the bitstream when an intra macro block ratio of the picture is larger than a first threshold, number of a set of consecutive pictures in the surrounding pictures of the picture is larger than a second threshold and a ratio of an average intra macro block ratio of said set of consecutive pictures to an average intra macro block ratio of another set of consecutive pictures in the surrounding pictures of said set of consecutive pictures is larger than a third threshold, wherein each of the set of consecutive pictures has a intra macro block ratio larger than the first threshold.
2. The method according to claim 1, wherein the intra macro block ratio in a frame is the ratio of the number of intra-mode macro blocks to total number of macro blocks in a frame.
3. The method according to claim 1, wherein the intra macro block ratio in a frame is the ratio the ratio of the number of intra-mode macro blocks to total number of received and decoded macro blocks in a frame.
4. The method according to claim 1, wherein the second threshold is set as a function of the frame rate of the video bitstream.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying drawings are included to provide further understanding of the embodiments of the invention together with the description which serves to explain the principle of the embodiments. The invention is not limited to the embodiments.
(2) In the drawings:
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) An embodiment of the present invention will now be described in detail in conjunction with the drawings. In the following description, some detailed descriptions of known functions and configurations may be omitted for conciseness.
(8)
(9) As shown in
(10)
(11) In method 200 shown in
(12) At step 220, it determines whether an intra MB ratio of a picture to be detected is larger than a first predetermined threshold. If the determination result of step 220 is “No”, the control is passed to step 230 wherein the picture is detected as a non-gradual transition picture.
(13) If the determination result of step 220 is “Yes”, the control is passed to step 240 wherein it determines whether the number of a set of consecutive pictures with intra-MB ratios larger than the first threshold in the surrounding pictures of the picture to be detected is larger than a second predetermined threshold. If the determination result of step 240 is “No”, the control is passed to step 230 wherein the picture is detected as a non-gradual transition picture.
(14) If the determination result of step 240 is “Yes”, the control is passed to step 250 wherein it determines whether a ratio of the average intra MB ratio of the above set of consecutive pictures to the average intra MB ratio of another set of consecutive pictures in the surrounding pictures of said set of consecutive pictures is larger than a third predetermined threshold. If the determination result of step 250 is “No”, the control is passed to step 230 wherein the picture is detected as a non-gradual transition picture.
(15) If the determination result of step 250 is “Yes”, at step 260, the picture is detected as a gradual transition picture.
(16) One example of the application of the above-described method for detecting a gradual transition picture is in the context of scene cut artifacts detection. It could be appreciated that when two adjacent pictures in a video bitstream have a significant scene change therebetween and there is a packet loss occurs in the second picture, the concealed second picture will have very strong visible artifacts. These artifacts are called scene cut artifacts. Normally a detection of scene cut artifacts is necessary for video quality assessment of a bitstream. However, it was found that if a packet loss occurs in a gradual transition picture, the artifacts in the error concealed picture are less visible, which is quite contrary to scene cut artifacts. Therefore, if it can be determined in advance that a scene cut candidate picture is a gradual transition picture, there is no need to further detect the scene cut artifacts of this candidate picture.
(17)
(18) As shown in
(19) At step 3001, it initializes a counter, cnt_short, for a set of consecutive frames having larger intra MB ratios. That is, cnt_short=0.
(20) At step 3002, it determines whether the intra MB ratio of a frame to be detected (referred to as current frame hereinafter) is larger than a first threshold INTRA_THRDLOW. For example, the first threshold INTRA_THRDLOW could be set to be 0.3 or 0.4. If the intra-MB ratio of the current frame is not larger than the first threshold INTRA_THRDLOW, it determines that the current frame is not a gradual transition picture. The control is passed to step 3010 wherein it determines whether all frames locations of the video bitstream are processed.
(21) If the intra-MB ratio of the current frame is larger than the first threshold INTRA_THRDLOW, the control is passed to the step 3003 wherein it increases the counter cnt_short by 1 and records the intra ratio value in a variant denoted by fadeintra.
(22) At the next step 3004, it calculates how many consecutive frames with intra MB ratios larger than INTRA_THRDLOW are there in the surrounding frames of the current frame in a short window of 2*win_short*frame_rate frames' length and increases the counter cnt_short correspondingly. For example, the win_short could be set to be 0.5 s. This set of consecutive frames could be selected as candidate gradual transition frames.
(23) At step 3005, it determines whether the counter cnt_short is less than a second threshold THD_FADEPICS. The second threshold THD_FADEPICS could be set as a function of the frame rate of the bitstream, for example, frame_rate*t. For example, t=0.1 s, which corresponds to 0.1 second. It could be appreciated that the second threshold should not be less than 2. This is because that, otherwise, the frame is actually a potential scene cut frame.
(24) If cnt_short is less than the second threshold THD_FADEPICS, it determines that the current frame is not a gradual transition picture. This is because gradual transition content generally takes time to be viewed as gradual transition pictures. Then the control is passed to step 3010 wherein it determines whether all frame locations of the video bitstream are processed.
(25) If cnt_short is larger than the second threshold THD_FADEPICS, the control is passed to step 3006 wherein it calculates the average intra MB ratio of the candidate gradual transition frames, i.e., fadeintra/=cnt.
(26) At the next step 3007, it calculates the average intra MB ratio of another set of frames (excluding the candidate gradual transition frames), fadeavg, in the surrounding frames in a longer window of 2*win_long frames' length. In one example, the win_long is set to 1.5 s. Please note that since I-frames are used at the start of GOP as pre-defined, rather than encoder's choice adaptive to video features, it is preferably to calculate the average intra MB ratio of P-frames in the surrounding frames in step 3007.
(27) At the next step 3008, it determines whether a ratio of the average intra MB ratio of the candidate gradual transition frames to the average intra MB ratio of another set of frames, fadeintra/fadeavg, is larger than a third threshold THD_FADERATIO. For example, the third threshold THD_FADERATIO can be set to be 3.
(28) If the ratio, fadeintra/fadeavg, is not larger than the third threshold THD_FADERATIO, the control is passed to step 3010 wherein it determines whether all frame locations of the video bitstream are processed.
(29) If the above ratio, fadeintra/fadeavg, is larger than the third threshold THD_FADERATIO, then the control is passed to step 3009 wherein it determines and marks that the current frame as a gradual transition picture. As shown in
(30) At step 3010, it determines whether all frame locations of the video bitstream are processed. If the result is “No”, the control is returned to step 3001. If the result is “Yes”, the control is passed to an end step 3099.
(31) The pseudo code of the above described process is as follows:
(32) TABLE-US-00001 void detect_gradual transitionPicture(int frmidx) { int winshort = d_avg_frame_rate * 0.5; int winlong = d_avg_frame_rate * 1.5; double INTRA_THRDLOW = 0.4; int THD_FADEPICS = max(2,( d_avg_frame_rate * 0.1 + 0.5)); double THD_DIVFRMES = d_avg_frame_rate *1.0; double THD_FADERATIO = 3; float fadeavg,fadeintra; int cnt, pos, pos_bef, pos_aft,i; /* consecutive frames having larger intra ratio are potential fade-in and fade-out position */ fadeintra = 0; cnt = 0; if (P_frame_features[frmidx]->d_IntraRatio > INTRA_THRDLOW) { fadeintra += P_frame features[frmidx]->d_IntraRatio); cnt ++; } else return; for (i= 1; i< winshort; i++) { pos = frmidx - i; if (pos <= 0 || P_frame_features[pos]->d_IntraRatio < INTRA_THRDLOW) break; if (P_frame_features[pos]->i_frametype == I_frame) { fadeintra += 0.6; cnt ++; } else if (P_frame_features[pos]->i_frametype == P_frame) { fadeintra += P_frame_features[pos]->d_IntraRatio; cnt ++; } } pos_bef = i; for (i= 1; i<winshort; i++) { pos = frmidx + i; if (pos == currfrmid ||P_frame_features[pos]->d_IntraRatio < INTRA_THRDLOW) break; if (lova_frames[pos]->frametype == I_frame) { fadeintra += 0.6; cnt ++; } else if (P_frame_features[pos]->i_frametype == P_frame) { fadeintra += P_frame_features[pos]->d_IntraRatio; cnt ++; } } pos_aft = i; if (cnt < THD_FADEPICS) return; fadeintra /= cnt; /*the average intra MB ratio of potential gradual transition pictures should be much larger than the average intra MB ratio in the long window */ fadeavg = 0; cnt = 0; for (int i= pos_bef; i<winlong; i++) { pos = frmidx - i; if (pos <= 0) break; if (P_frame_features[pos]->i_frametype == P_frame) { fadeavg += P_frame_features[pos]->d_IntraRatio; cnt ++; } } for (int i= pos_1; i<winlong; i++) { pos = frmidx + i; if (pos == i_processed_frames) break; if (P_frame_features[pos]->i_frametype == P_frame) { fadeavg += P_frame_features[pos]->d_IntraRatio; cnt ++; } } if (cnt > THD_DIVFRMES) { fadeavg /= cnt; if (fadeintra > fadeavg * THD_FADERATIO) P_frame_features[frmidx]->b_fade_pic = true; } }
(33)
(34) The input of the video quality monitor 400 may include a transport stream that contains the bitstream. The input may be in other formats that contains the bitstream.
(35) A demultiplexer 401 obtains packet layer information, for example, number of packets, number of bytes, frame sizes, from the bitstream.
(36) A decoder 402 parses the input stream to obtain more information, for example, frame type, prediction residuals, and motion vectors. Decoder 402 may or may not reconstruct the pictures. In other embodiments, the decoder may perform the functions of the demultiplexer.
(37) A gradual transition picture detector 403 detects whether a frame in the transport stream is a gradual transition picture. Method 200 described with reference to
(38) The detection result of the gradual transition picture detector 403 can be provided to a scene cut artifact detector 404 of the video quality monitor 400. As described above, a frame in the transport stream which is determined as a gradual transition picture will not be selected as a candidate frame for a scene cut artifact detection.
(39) After the scene cut artifacts are detected in a macroblock level, a quality predictor 405 maps the artifacts into a quality score. The quality predictor 405 may consider other types of artifacts, and it may also consider the artifacts caused by error propagation.
(40) The video quality monitor 400 may be used by a content creator, a content distributor or a user device. In any of the applications, quality metrics provided by the video quality monitor 400 can be used to adapt the various video parameters and error concealment techniques to improve the video quality.
(41) It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof.
(42) It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures are preferably implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.