VIDEO PROCESSING SYSTEM CAPABLE OF ERROR RESILIENCE AND VIDEO PROCESSING METHOD FOR SAME
A video processing method for AV synchronization resilience is provided. A first frame is decoded and displayed while a second frame is decoded for a predetermined period of time. It is determined whether the decoding time for the second frame exceeds a defined duration. If so, the first frame is continuously displayed during the decoding time for the second frame. The second frame is displayed while a third frame is decoded for a predetermined period of time.
Latest MEDIATEK INC. Patents:
- PROCESS-VOLTAGE SENSOR WITH SMALLER CHIP AREA
- PRE-CHARGE SYSTEM FOR PERFORMING TIME-DIVISION PRE-CHARGE UPON BIT-LINE GROUPS OF MEMORY ARRAY AND ASSOCIATED PRE-CHARGE METHOD
- ALWAYS-ON ARTIFICIAL INTELLIGENCE (AI) SECURITY HARWARE ASSISTED INPUT/OUTPUT SHAPE CHANGING
- Semiconductor package structure
- Semiconductor structure with buried power rail, integrated circuit and method for manufacturing the semiconductor structure
This application claims the full benefit and priority of provisional U.S. patent application Ser. No. 60/754,142, filed Dec. 27, 2005, entitled “Video Processing System Capable of Error Resilience and Video Processing Method for Same”, and incorporates the entire contents of the application herein.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to video processing, and in particular to a video processing system capable of error resilience and a video processing method for same.
2. Description of the Related Art
MPEG-4 is an ISO/IEC standard developed by the MPEG (Moving Picture Experts Group), the committee that also developed the Emmy Award winning standards MPEG-1 and MPEG-2. MPEG-4 is the successor to MPEG-1 and MPEG-2 video standards. The ISO standards committee implemented this standard in 1998. Instead of the current frame-based video technology, MPEG-4, has adopted the object-oriented concept. The object-oriented concept integrates existing multimedia technologies, such as 2D and 3D graphics, animation, video codecs, multimedia streaming, interactivity, and programmatic environments into a single architecture.
Video processing based on MPEG-4 format images is described in the following.
A video stream is a sequence of video frames. Each frame is a still image. A video player displays individual frames sequentially, typically at a rate close to 30 frames per second. Frames are divided into 16×16 pixel macroblocks (not shown). Each macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks (1 U and 1 V) (not shown). Macroblocks are units for measuring motion-compensated compression. Blocks are used for DCT compression.
Video data complying with MPEG-4 format files is composed of three different types of frames, comprising intra-frames (I-frames), forward predicted frames (P-frames), and bidirectional predicted frames (B-frames). An I-frame is encoded as a single image, with no reference to any past or future frames, referring to the fact that the various lossless and lossy compression techniques are performed on information contained only within a current frame, and not relative to any other frame in the video sequence. In other words, no temporal processing is performed outside the current picture or frame. A P-frame is encoded relative to the past reference frame. A reference frame is a P- or an I-frame. The past reference frame is the closest preceding reference frame. Each macroblock in a P-frame can be encoded either as an Intra-macroblock or as an Inter-macroblock. In an I-frame, encoded with no reference, intra-macroblocks are encoded in the same manner as macroblocks. A B-frame is encoded relative to the past reference frame, the future reference frame, or both frames. The future reference frame is the closest following reference frame (I or P). The encoding for B-frames is similar to P-frames, except that motion vectors may refer to areas in the future reference frames. For macroblocks that use both past and future reference frames, the two 16×16 areas are averaged.
As previously described, a video stream is a sequence of video frames. An input encoded sequence of video frames, for example, is represented as “I(0) P(3) B(1) B(2) P(6) B(4) B(5) I(9) B(7) B(8) P(12) B(11) P(12)” (the bracketed number is the display order of each frame). The output decoded sequence of the video frames is then represented as “I(0) B(1) B(2) P(3) B(4) B(5) P(6) B(7) B(8) I(9) B(10) B(11) P(12)”.
Video data can be further composed of combined frames, each comprising both a P-frame and a B-frame or an I-frame and a B-frame, and empty frames (Pe). Referring to
The foregoing descriptions explain the types of frames of video data and input and output sequences in a video stream. Video data translated into playable video files must be encoded as MPEG-1/2/4, or other video formats due to the considerable file size to be played in a video system. A video system for playing video and audio (AV) files is described in the following.
Playback quality is limited in that video files may not play smoothly in a video system comprising restricted memory resources, central processing unit (CPU) speed, or system architecture. Resource limitations are described in the following. High bit rate files (bit per second (bps)) must be accessed by file systems or storage media of adequate operating speed. Higher frame rate or a fast forward function for video decoding requires relatively better hardware performance. Post-processing, such as deblocking and deringing methods, can improve video quality but employs more system resources. Additionally, greater memory bandwidth in liquid crystal displays and TVs is required if larger frame size is requested. As described, higher frame rate, larger frame size, higher bit rate, increased post-processing, or more display elements require high-grade systems for high performance. Limitations of embedded systems included blurry video images and failure of audio signal playback.
Thus, a video processing method for a video processing system capable of error resilience is desirable.
BRIEF SUMMARY OF THE INVENTIONA video processing method for AV synchronization resilience is provided. A first frame is decoded and displayed while a second frame is decoded for a predetermined period of time. It is determined whether the decoding time for the second frame exceeds a defined duration. If so, the first frame is continuously displayed during the decoding time for the second frame, and the second frame is displayed while a third frame is decoded for a predetermined period of time.
A video processing method for dynamic frame dropping is provided. A first frame is decoded and displayed while a second frame is decoded. It is determined whether the display time for the first frame exceeds a defined duration. If the display time for the first frame exceeds the defined duration, the second frame is dropped, and the first frame is continuously displayed while a third frame is decoded for a predetermined period of time.
A video processing method for dynamic frame dropping is provided. A plurality of frames is provided. It is determined whether a portion of the frames is selectively ignored, and, if so, the frames are displayed at a predetermined number of frame intervals.
A video processing method for auto pause/resume, applied to a file system/storage medium, is provided. A first frame is decoded and displayed for a predetermined period of time while a second frame is decoded. It is determined whether the access speed of the file system/storage medium is not adequate enough is adequate for processing the second frame. If the access speed of the file system/storage medium is not adequate enough to process the second frame, an auto pause function is enabled for a predetermined period of time and audio signals are disabled while the second frame is ignored and a third frame is decoded. The auto pause function is disabled, and an auto resume function and the audio signals are enabled.
A video processing method capable of reducing system resources utilized for fast forward is provided. It is determined whether AV files are played with N multiples. If the AV files are played with N multiples, audio signals of the AV files are disabled. Video signals of the AV files are played with the N multiples. Post-processing is disabled and negligible frames of the AV files are not displayed by a display system.
A video processing method for frame skipping for fast forward is provided. Post-processing for frames of AV files is disabled. A first frame is decoded and displayed while a second frame is decoded for a predetermined period of time. It is determined whether decoding time for the second frame exceeds a defined duration. If the decoding time for the second frame exceeds the defined duration, the first frame is continuously displayed during the decoding time for the second frame, and the second frame is not displayed while a third frame is decoded for a predetermined period of time.
A detailed description is given in the following embodiments with reference to the accompanying drawings.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Several exemplary embodiments of the invention are described with reference to
The invention discloses a video processing system capable of error resilience and a video processing method for same. The video processing method comprises features of AV synchronization resilience, adaptive Post-processing, dynamic frame dropping, auto pause/resume, and fast forward function. Individual examples are described in the following.
AV Synchronization ResilienceIn reality, Section 220 represents asynchronization solution for audio and video signals. As shown in
Next, after the decoding of Frame 2 is completed, Frame 2 is displayed and Frame 3 is decoded in 20 ms. Herein, completely decoded Frame 3 can not be immediately displayed since the ideal duration for a frame has not passed, such that display of Frame 2 continues. Next, when the ideal duration for a frame expires, Frame 3 is displayed and Frame 4 is decoded in 25 ms. Similarly, completely decoded Frame 4 can not be displayed since the ideal duration for a frame has not passed, such that display of Frame 3 continues. Next, Frame 4 is displayed and Frame 5 is decoded, and the process repeats for each frame until completion. In this embodiment, AV asynchroinzation will be frequently detected and audio and video signals of AV files can be eventually synchronized due to discrepant decoding time.
Frames may be dropped when they can not be timely displayed. The following situations may result in frame dropping, comprising higher frame rate, multiple display devices, excessive post processes, and larger display frame size. With respect to higher frame rate, some frames are dropped to reduce frame rate. With respect to multiple display devices, insignificant frames displayed at a secondary display device can be dropped to reduce frame rate or frames are not output to a secondary display device. Since frames, for example, are output to TV and LCD, frame rate relating to frames output to the LCD can be reduced to save system resources. Additionally, frame defects may appear if Post-processing is disabled, such that frame dropping is implemented to solve the problem.
In reality, frames however may not be able to completely display within each preset time interval. Section 320 represents the method of dynamic frame dropping with single display device of the present invention. As shown in Section 320, between each time point ‘0’, ‘1’, ‘2’, ‘3’ and ‘4’, Frame 1, Frame 2, Frame 3, Frame 4 and Frame 5 are sequentially decoded within each time interval of 33.33 ms. The time points ‘A’, ‘B’, ‘C’, ‘D’ and ‘E’, on the other hand shows the actual display duration of the frames. Some of the frames may take more than 33.33 ms to display.
As shown in
In this embodiment, Section 420 represents AV file display of the first display device and section 430 represents AV file display of the second display device which is allowed for dynamic frame dropping. As shown in
Post-processing, such as deblocking and deringing methods, can further improve video quality but it may utilize more system resources. Thus, for speed concern, the present invention may turn off the post-processing operations to save system resources. Cooperating with AV synchronization resilience, Post-processing, for example, may be disabled when video signals of a current frame are asynchronous with audio signals.
Auto/Pause FunctionIn some embodiment, when system resources are insufficient, an auto/pause function may be automatically implemented. If file system and CPU access speed, for example, is too slow to process high-bit-rate files or large AV asynchronization is detected, the auto pause/resume function is automatically implemented to pause file processing for a period of time and resume video and audio signal synchronization.
As shown in
In this embodiment, a frame is skipped when decoding is slow. A frame is skipped when a previous frame cannot be displayed in time. If a previous frame is not displayed, at least one of the subsequent frames must be displayed. Additionally, frames can be periodically dropped. A frame, for example, is dropped at every interval of three frames.
Note that the described methods shown in
A video processing method capable of error resilience of the invention is capable of achieving AV synchronization resilience, adaptive post-processing, dynamic frame dropping for display, and auto pause/resume for system resources utilized by a fast forward function.
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims
1. A video processing method for AV synchronization resilience, comprising:
- decoding and displaying a first frame while a second frame is decoded for a predetermined period of time;
- determining whether the decoding time for the second frame exceeds a defined duration;
- if the decoding time for the second frame exceeds the defined duration, continuously displaying the first frame by the decoding time for the second frame; and
- displaying the second frame while a third frame is decoded for a predetermined period of time.
2. The video processing method as claimed in claim 1, further comprising, if the decoding time for the second frame is equal to the defined duration, displaying the second frame while the third frame is decoded for the predetermined time when the display of the first frame is complete.
3. The video processing method as claimed in claim 2, further comprising, if the decoding time for the second frame is less than the defined duration, continuously displaying the first frame and, when an ideal duration for a frame expires, displaying the second frame while the third frame is decoded for the predetermined time.
4. A video processing method for dynamic frame dropping, comprising:
- decoding and displaying a first frame while a second frame is decoded;
- determining whether the display time for the first frame exceeds a defined duration;
- if the display time for the first frame exceeds the defined duration, dropping the second frame; and
- continuously displaying the first frame while a third frame is decoded for a predetermined period of time.
5. The video processing method as claimed in claim 4, further comprising, if the display duration for the first frame is equal to the defined duration, displaying the second frame while the third frame is decoded for the predetermined time.
6. The video processing method as claimed in claim 5, further comprising, if the display time for the first frame is less than the defined duration, continuously displaying the first frame by the defined duration.
7. A video processing method for dynamic frame dropping, comprising:
- providing a plurality of frames;
- determining whether a portion of the frames is selectively ignored; and
- if so, displaying the frames at intervals of a predetermined number of frames.
8. A video processing method for auto pause/resume, applied to a file system/storage medium, comprising:
- decoding and displaying a first frame for a predetermined period of time while a second frame is decoded;
- determining whether access speed of the file system/storage medium is not adequate enough adequate enough to process the second frame;
- if the access speed of the file system/storage medium is not adequate enough to process the second frame, enabling an auto pause function for a predetermined period of time and disabling audio signals while the second frame is ignored and a third frame is decoded; and
- disabling the auto pause function; and
- enabling an auto resume function and the audio signals.
9. The video processing method as claimed in claim 8, further comprising, if the access speed of the file system/storage medium is adequate enough to process the second frame, displaying the second frame and decoding the third frame.
10. The video processing method as claimed in claim 8, further comprising:
- determining whether decoding ability of the file system/storage medium is not adequate enough to process the second frame to result in AV asynchronization;
- if the decoding ability of the file system/storage medium is not adequate enough to process the second frame to result in AV asynchronization, determining whether asynchronization time is acceptable;
- if the asynchronization time is unacceptable, enabling an auto pause mode and disabling the audio signals;
- decoding and storing bitstream data relating to the third frame in a bitstream buffer;
- disabling the pause mode and enabling an auto resume mode, thereby ignoring the second frame and displaying the third frame while a fourth frame is decoded.
11. The video processing method as claimed in claim 10, further comprising, if the asynchronization time is acceptable, displaying the second frame and decoding the third frame.
12. A video processing method for reducing system resources utilized by a fast forward function, comprising:
- determining whether AV files are played with N multiples;
- if the AV files are played with N multiples, disabling audio signals of the AV files;
- playing video signals of the AV files with the N multiples;
- disabling Post-processing; and
- skipping negligible frames of the AV files to be displayed by a display system.
13. The video processing method as claimed in claim 12, further comprising:
- if the AV files are not played with the N multiples, enabling and decoding the audio and video signals;
- implementing Post-processing to the audio and video signals respectively;
- synchronizing the processed audio and video signals to be displayed by the display system.
14. A video processing method for frame skipping for fast forward, comprising:
- disabling Post-processing for frames of AV files;
- decoding and displaying a first frame while a second frame is decoded for a predetermined period of time;
- determining whether decoding time for the second frame exceeds a defined duration;
- if the decoding time for the second frame exceeds the defined duration, continuously displaying the first frame by the decoding time for the second frame; and
- not displaying the second frame while a third frame is decoded for a predetermined period of time.
15. The video processing method as claimed in claim 14, further comprising, if the decoding time for the second frame does not exceed the defined duration, displaying the second frame while the third frame is decoded for the predetermined time.
16. A computer-readable storage medium storing a computer program providing a video processing method for AV synchronization resilience, comprising using a computer to perform the steps of:
- decoding and displaying a first frame while a second frame is decoded for a predetermined period of time;
- determining whether the decoding time for the second frame exceeds a defined duration;
- if the decoding time for the second frame exceeds the defined duration, continuously displaying the first frame by the decoding time for the second frame until second frame is decoded complete; and
- displaying the second frame while a third frame is decoded for a predetermined period of time.
17. The computer-readable storage medium as claimed in claim 16, further comprising, if the decoding time for the second frame is equal to the defined duration, displaying the second frame while the third frame is decoded for the predetermined time when the display of the first frame is complete.
18. The computer-readable storage medium as claimed in claim 17, further comprising, if the decoding time for the second frame is less than the defined duration, continuously displaying the first frame and, when an ideal duration for a frame expires, displaying the second frame while the third frame is decoded for the predetermined time.
19. A computer-readable storage medium storing a computer program providing a video processing method for dynamic frame dropping, comprising using a computer to perform the steps of:
- decoding and displaying a first frame while a second frame is decoded;
- determining whether the display time for the first frame exceeds a defined duration;
- if the display time for the first frame exceeds the defined duration, dropping the second frame; and
- continuously displaying the first frame while a third frame is decoded for a predetermined period of time.
20. The computer-readable storage medium as claimed in claim 19, further comprising, if the display duration for the first frame is equal to the defined duration, displaying the second frame while the third frame is decoded for the predetermined time.
21. The computer-readable storage medium as claimed in claim 20, further comprising, if the display time for the first frame is less than the defined duration, continuously displaying the first frame by the defined duration.
22. A computer-readable storage medium storing a computer program providing a video processing method for dynamic frame dropping, comprising using a computer to perform the steps of:
- providing a plurality of frames;
- determining whether a portion of the frames is selectively ignored; and
- if so, displaying the frames at a predetermined number of frame intervals.
23. A computer-readable storage medium storing a computer program providing a video processing method for auto pause/resume, comprising using a computer to perform the steps of:
- decoding and displaying a first frame for a predetermined period of time while a second frame is decoded;
- determining whether access speed of a file system/storage medium is not adequate enough to process the second frame;
- if the access speed of the file system/storage medium is not adequate enough to process the second frame, enabling an auto pause function for a predetermined period of time and disabling audio signals while the second frame is ignored and a third frame is decoded; and
- disabling the auto pause function; and
- enabling an auto resume function and the audio signals.
24. The computer-readable storage medium as claimed in claim 23, further comprising, if the access speed of the file system/storage medium is adequate enough to process the second frame, displaying the second frame and decoding the third frame.
25. The computer-readable storage medium as claimed in claim 23, further comprising:
- determining whether decoding ability of the file system/storage medium is not adequate enough to process the second frame to result in AV asynchronization;
- if the decoding ability of the file system/storage medium is not adequate enough to process the second frame to result in AV asynchronization, determining whether asynchronization time is acceptable;
- if the asynchronization time is unacceptable, enabling an auto pause mode and disabling the audio signals;
- decoding and storing bitstream data relating to the third frame in a bitstream buffer;
- disabling the pause mode and enabling an auto resume mode, thereby ignoring the second frame and displaying the third frame while a fourth frame is decoded.
26. The computer-readable storage medium as claimed in claim 25, further comprising, if the asynchronization time is acceptable, displaying the second frame and decoding the third frame.
27. A computer-readable storage medium storing a computer program providing a video processing method for reducing system resources utilized by a fast forward function, comprising using a computer to perform the steps of:
- determining whether AV files are played with N multiples;
- if the AV files are played with N multiples, disabling audio signals of the AV files;
- playing video signals of the AV files with the N multiples;
- disabling Post-processing; and
- skipping negligible frames of the AV files to be displayed by a display system.
28. The computer-readable storage medium as claimed in claim 27, further comprising:
- if the AV files are not played with the N multiples, enabling and decoding the audio and video signals;
- implementing Post-processing to the audio and video signals respectively;
- synchronizing the processed audio and video signals to be displayed by the display system.
29. A computer-readable storage medium storing a computer program providing a video processing method for frame skipping for fast forward, comprising using a computer to perform the steps of:
- disabling Post-processing for frames of AV files;
- decoding and displaying a first frame while a second frame is decoded for a predetermined period of time;
- determining whether decoding time for the second frame exceeds a defined duration;
- if the decoding time for the second frame exceeds the defined duration, continuously displaying the first frame by the decoding time for the second frame; and
- not displaying the second frame while a third frame is decoded for a predetermined period of time.
30. The computer-readable storage medium as claimed in claim 29, further comprising, if the decoding time for the second frame does not exceed the defined duration, displaying the second frame while the third frame is decoded for the predetermined time.
Type: Application
Filed: Aug 16, 2006
Publication Date: Jun 28, 2007
Applicant: MEDIATEK INC. (Hsin-Chu)
Inventor: Shih-Chang Hu (Hsin-Chu City)
Application Number: 11/464,845
International Classification: H04B 1/66 (20060101);