In general, in one aspect, the frames of a received video are analyzed using traditional film mode detection (continually capturing data and comparing the data to known parameters for various film modes) until a film mode is detected. Once the film mode is detected, the frames of the received video are analyzed using mode based tracking where measurements are continually predicted based on the mode detected and averaged with actual measurements. The use of the averaged measurements limit the effect of noise captured in the actual measurements. The averaged measurements are continually compared to known parameters for the detected mode to determine if the detected mode is still valid. If the detected mode is valid, the mode based tacking is continued. If the detected mode is no longer valid (e.g., averaged measurements not correlated with known parameters), the process returns to the traditional film mode detection.
|
1. A method comprising:
receiving a video from a video source;
capturing data for the video;
predicting data for the video based on a determination of a particular film mode for the video;
averaging the captured data and the predicted data; and
comparing the averaged data to known parameters for the particular film mode to determine if the particular film mode is valid.
17. A video entertainment system comprising:
a video source to provide a video;
a film mode detector to:
until a film mode is detected for the video, continually capturing data for the video and comparing the captured data to known parameters for a plurality of possible film modes; and
once the film mode has been detected, continually capturing the data for the video, predicting data for the video based on the film mode, averaging the captured data and the predicted data, and comparing the averaged data to known parameters for the film mode to determine if the film mode is valid;
a video processor to process the video based on the film mode; and
a display device to display the processed video.
9. A video display driver comprising:
an input interface to receive a video;
a film mode detector to:
until a film mode is detected for the video, continually capturing data for the video and comparing the captured data to known parameters for a plurality of possible film modes; and
once the film mode has been detected, continually capturing the data for the video, predicting data for the video based on the film mode, averaging the captured data and the predicted data, and comparing the averaged data to known parameters for the film mode to determine if the film mode is valid;
a video processor to process the video based on the film mode; and
an output interface to provide the processed video to a display.
21. A non-transitory processor readable storage medium storing instructions, wherein when the instructions are executed by the processor they cause the processor to:
continually capture data for a video;
continually compare the captured data to known parameters for a plurality of possible film modes until a determination is made that the video is associated with a particular film mode; and
subsequent to the video being associated with the particular film mode, continually
predict data for the video based on the particular film mode;
average the captured data and the predicted data, and
compare the averaged data to known parameters for the particular film mode until a determination is made that the video is no longer associated with the particular film mode.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
10. The video display driver of
11. The video display driver of
12. The video display driver of
13. The video display driver of
14. The video display driver of
15. The video display driver of
16. The video display driver of
18. The video entertainment system of
19. The video entertainment system of
20. The video entertainment system of
22. The non-transitory processor readable storage medium of
23. The non-transitory processor readable storage medium of
calculate measurements for frames in the video; and
analyze the measurements, and wherein at least some subset of the measurements and the analysis are at least part of the data continually captured.
24. The non-transitory processor readable storage medium of
25. The non-transitory processor readable storage medium of
26. The non-transitory processor readable storage medium of
|
Video is a series of frames (still images) captured in rapid succession. Video may be recorded, displayed, stored and/or transmitted by progressive scanning or interlaced scanning Progressive scanning is where all the lines of each frame are drawn in sequence. Interlaced scanning is where each frame is divided into 2 fields one containing all the even lines of the frame and one containing all the odd lines.
Television broadcasts are typically captured using interlaced scanning The rate depends on the television broadcast standard adopted. For example, the National Television System Committee (NTSC) standard is 60 fields/sec (30 frames/sec). Older cathode ray tube (CRT) displays were able to display interlaced video based on their complete analog nature. However, current displays, such as liquid crystal displays (LCD), digital light processing (DLP), and plasma are inherently digital in that the display includes discrete pixels and therefore can not display interlaced video. Accordingly, these displays need to combine the even and odd fields into a single frame for display. However, as the fields of the frame were shot at different times simply combining the images will result in various visual defects. A de-interlacing process is needed for the display to create a progressive scanning video from the interlaced video that limits the visual defects.
Motion pictures (movies) are typically captured on 24 frames (still images) per second film using progressive scanning A process known as “telecine” may have been used to convert the motion picture from the format of 24 frames per second to the 60 fields per second rate utilized by an NTSC broadcast television network. The telecine process includes repeating frames according to a certain pattern, known as a pull-down pattern, to convert the 24 frames to 60 fields. In order to present the movies on a display without affecting the quality of the original 24 progressive frames, the display needs to perform an inverse telecine operation to reverse the pull-down pattern and discard the repeated frames.
A display may receive interlaced video or video with various telecine pull-down patterns (various film modes). The display therefore needs to be capable of performing de-interlacing and inverse telecine operations. In order to know what operations need to be performed on the received video, the display needs to determine the film mode of the video. If a display incorrectly indentifies the film mode of the video, the wrong processing may be performed on the video. For example, if the display processes a telecine video as an interlaced video or processes a telecine video with the wrong inverse telecine operations the video presented on the display may have visual defects (e.g., lost detail, combing artifacts).
The features and advantages of the various embodiments will become apparent from the following detailed description in which:
De-interlacing video for presentation on a display may require that one or more fields be buffered so they can be combined into full frames. De-interlacing techniques may include field combination techniques (e.g., weaving, blending) that take the even and odd fields and combine them into one frame, field extension techniques (e.g., half sizing, line doubling) that extend each field the entire screen to make a frame, and motion compensation techniques that utilize a combination of the field combination and field extension techniques.
The 24-to-60 frame rate conversion used to transport movies over the NTSC broadcast television network typically involves a so-called 3:2 pull-down pattern. Initially each frame is converted into 2 identical fields (rather then an odd field and even field as done with interlaced scanning) so that the 24 frames are now 48 fields. Then a frame may be repeated an additional time every so often (transmitted as 3 successive fields) in order to convert 48 fields to 60 fields. For example, a first frame may be presented as 3 fields, a second frame may be presented as 2 fields and so on so that every 4 frames are transmitted as 10 fields. That is, a new frame has been added after each four frames.
The 3:2 pull-down is not the only format that may be utilized to transmit film movies or other 24 frame/sec videos at 60 field/sec over the television broadcast network. Some examples of other telecine pull-down patterns are: 2:2, 2:3:3:2, and 2:2:2:4. The different pull-down patterns may be based on editing and/or post processing (e.g., the addition of titles or other effects) performed on the video or may be based on the format/speed the video was captured. In addition, the displays may receive video from other sources including DVD players, digital video recorders or the like that were recorded, stored or transmitted at different telecine pull-down patterns.
The video display driver 420 may be located within a television, computer, set top box, video player or the like. The video display driver 420 is to receive the video, determine the film mode of the video, and then convert the received video to an appropriate format for display based on the film mode detected. The display 430 may be a separate device or may be, for example, part of a television along with the video display driver 420. The display 430 may be, for example, a liquid crystal display (LCD) or a plasma display.
The video display driver 420 may include an input interface 440, a film mode detector 450, a video processor 460, and an output interface 470. The input interface 440 receives a video from the video source 410. It should be noted that the video display driver 420 (for example if included in a television) may be capable of receiving video from a plurality of video sources and a user may be able to select which video is to be displayed, for example, with a remote control device (not illustrated). The input interface 440 may provide the video to the film mode detector 450 and the video processor 460.
The film mode detector 450 may analyze the video and determine if the video is interlaced (even and odd fields) or progressive (complete frames). If the video is progressive the film mode detector 450 may determine the pull-down pattern utilized to convert the video from the format it was captured at (e.g., 24 frames/second for motion pictures) to the format it was broadcast or stored at (e.g., 60 fields/second for NTSC television format). The film mode detector 450 may identify the frames that it believes are original frames and those that are repeat frames (may be part of the pull-down pattern analysis). As the film mode may change without notice, the film mode detector 450 may continually be analyzing the received video to determine the current film mode. The operation of the film mode detector 450 will be discussed in more detail later.
The film mode detector 450 provides the detected film mode to the video processor 460. The video processor 460 processes the video received from the input 440 based on the detected film mode received from the film mode detector 450 to create a progressive scanning video for display. For example, if the film mode detector 450 determines that the video is interlaced, the video processor 460 may de-interlace the video. The video processor 460 may be configured with a defined de-interlacing algorithm or may include a plurality of algorithms with which to select from.
If the film mode detector 450 determines that the video is progressive and utilized a certain pull-down pattern (e.g., 3:2), the video processor 460 can utilize the pattern to recreate the original video by keeping or utilizing original frames while discarding or ignoring repeated frames (specifically the frames repeated extra times, such as the 3rd successive transmission of a frame in a 3:2 pull-down pattern). In theory, the film mode detector 450 simply needs to identify a first original frame and the pull-down pattern and the video processor 460 can follow the pattern therefrom in order to recreate the original video.
The video processor 460 may subject the recovered video to a frame rate conversion in order to enhance perceived image quality. The video processor 460 may make interpolations between successive images (original frames) to further increase perceived image quality. An interpolation between an original frame and a repeat of that original frame (substantially identical frames) should preferably be avoided. The pull-down pattern and/or the identification of original frames and/or repeat frames provided by the film mode detector 450 should ensure interpolations between substantially identical frames is avoided and that each interpolation concerns two original frames or their respective copies.
The video processor 460 provides the progressive scanning video created from the input video based on input from the film mode detector 450 to the output interface 470. The output interface 470 provides a display driver signal to the display 430 in response to the created progressive scanning video. The output interface 470 may carry out various signal processing operations, such as, for example, amplification, level shifting, bias voltage generation, and synchronization.
It should be noted that the film mode detector 450 and the video processor 460 are illustrated as separate blocks to annotate the different functions. This is not intended to limit the film mode detector 450 and the video processor 460 functions to being performed by separate devices or to limit each of the functions to being performed by a single device. Rather, the film mode detector 450 and the video processor 460 functions may be performed together on one or more devices, separate on one or more devices, or some combination thereof. The functions may be performed by hardware, software or firmware.
For example, the video display driver 420 may include a processor (not separately illustrated) and processor readable storage media (not separately illustrated) having instructions stored therein that when executed by the processor cause the processor to perform the video processor 460 functions described above. The processor readable storage media may also have instructions stored therein that when executed by the processor cause the processor to perform the film mode detector 450 functions described above. Alternatively, the video display driver 420 may include another processor (not separately illustrated) to perform the film mode detector 450 functions described above when it executes the instructions stored in the processor readable storage media.
The film mode detector 450 may determine the film mode in any number of methods utilizing any number of algorithms. Typically, the methods entail some subset of measuring certain parameters for the received video, analyzing the measurements, storing a history of the measurements and/or results of the analysis, and analyzing the history.
A determination is made as to whether the measurements/analysis match a certain pull-down mode 540. If the determination is that a pull-down mode (e.g., 3:2 pattern) has been matched (540 Yes), then that pull-down mode (pattern) is selected as the mode and the selected mode is provided to the video processor to perform a reverse pull-down 550. The process then continues with the frame/field analysis for the next frame received 500. If the determination is that a pull-down mode has not been matched (540 No), then the process continues with the frame/field analysis for the next frame received 500.
The new/repeat frame identifications may be stored in a register 620. The new/repeat pattern captured in the register may be compared to new/repeat patterns for known pull-down modes 630. A determination is made as to whether there is a match to a certain pull-down mode 640. If the pattern captured matches a known pattern to some level of certainty (640 Yes), the associated pull-down mode may be selected as the film mode 650. For example, for a 3:2 pull-down mode the following frame order may be followed A, A, A, B, B, C, C, C, D, D so that the new/repeat pattern was new, repeat, repeat, new, repeat, new, repeat, repeat, new, repeat and so. If the pattern captured in register matched or was similar to this pattern this may be an indication that the pull-down mode was 3:2.
The comparison 630 may entail calculating some type of correlation value between the new/repeat identification pattern captured in the register and associated patterns for known pull-down modes. The number of frames considered in the comparison (e.g., correlation) may vary based on the pull-down mode. The determination 640 may select a mode if the correlation value for that mode exceeds a threshold (e.g., 95% correlation). According to one embodiment, the comparison 630 may include generation of a short term correlation (e.g., no more then 2 pattern sequences) and a long term correlation (e.g., 6 or more pattern sequences) and the determination 640 may select a mode if the short term, long term, or both correlations exceed defined thresholds.
After the mode is selected 650 it is provided to the video processor to perform a reverse pull-down. The process then continues with the difference calculation for the next frame 600. If there is no match (640 No), then the process also returns to 600.
The determination of whether the previous/next frames are the same may be stored in a register 720. The previous/next similarity pattern captured in the register may be compared to previous/next similarity patterns for known pull-down modes 730. For example, for the frame order A, A, A, B, B, C, C, C, D, D presented using the 3:2 pull-down mode, the previous/next similarity pattern may be different (no previous frame to compare), same, different, different, different, different, same, and different (no next frame to compare). A determination is made as to whether there is a match to a certain pull-down mode 740. If the previous/next similarity pattern captured matches a known pattern to some level of certainty (740 Yes), the associated pull-down mode may be selected as the film mode 750.
The comparison 730 may entail calculating some type of correlation value between the pattern captured in the register and associated patterns for known pull-down modes. The number of frames considered in the comparison (e.g., correlation) to known pull-down mode patterns may vary based on the pull-down mode. The determination 740 may select a mode if the correlation value for that mode exceeds a threshold (e.g., 95% correlation). According to one embodiment, the comparison 730 may include generation of multiple correlations and the determination 740 may select a mode if one, some combination, or all correlations exceed defined thresholds.
After the mode is selected 750 it is provided to the video processor to perform a reverse pull-down and the process then restarts 700 for the next frame. If there is no match (740 No), then the process also restarts 700 for the next frame.
Looking at the pattern for the 3:2 pull-down mode shows that for any 5 consecutive frames there should only be one previous/next match or for any six consecutive frames there should be one or two matches (two matches if the matches are in the first and last frame of the six consecutive frame sequence). Likewise other pull-down modes may have similar matching counts per a particular frame count. According to one embodiment, counters may be utilized to count the number the matches over a particular frame count and a comparison of the counters to known values may be done to determine an appropriate pull-down mode.
As illustrated in
For example, a small amount of noise in the received video may result in one or more inaccurate measurements that may result in a determination of a new mode (a mode change) even though the video has not changed modes. Likewise noise in one or more measurements taken and/or recorded may result in an inaccurate mode change determination. Noise in a measurement that is captured in history may not be accounted for and may affect the analysis of the history and may result in an inaccurate mode change determination.
Referring back to
By way of another example, if the received video includes a static (or relatively static) image being presented for a period of time the analysis may not be able to determine what pull-down pattern is associated therewith (not match any know pull-down patterns) as the analysis may determine that the same frame is presented over and over. A correlation measurement for each known pull-down pattern may provide a close and possibly exact same measurement. In such cases, the film mode detector may opt to not perform any reverse pull-down or may select a default film mode pattern (which may not correlate to the current mode that is still viable).
Referring back to
According to one embodiment, the film mode detector 450 may keep track of the current film mode. The film mode detection may proceed as before, and if a determination is made that a new film mode is being utilized the new film mode will be selected and provided to the video processor 460. In a case where the current measurements support selection of a few modes, a determination may be made as whether the current mode is supported and if so the current mode may be maintained. In a case where a mode can not be determined, for example based on the video presenting a static image for a period of time, the current mode may be maintained rather then switching to no mode, or a default mode. Such a configuration provides mode stability in the form of consistency in the selection of a mode when multiple modes or no modes may be in play for selection. However, the use of the current mode in this fashion does not account for the stability issue that may result when a small amount of noise captured in a measurement causes a change in mode selected.
According to one embodiment, the film mode detector 450 may utilize a current film mode in determining future modes. Until a mode is selected the methods for selecting the mode may stay the same (e.g., the methods described with respect to
As noted above, mode based tracking may entail predicting measurements based on the mode and then averaging the predicted measurements with the actual measurements. The averaged measurement may be utilized to make future predictions. Use of the averaged measurement for analysis and further predictions may limit the effect of noisy measurements on mode selection. The mode based tracking 820 may predict results for one or more measurements to be taken in the film mode detection methodology utilized. The mode based tracking 820 may also define a range of acceptable values (or define out of range values) for one or more measurements to be taken in the film mode detection methodology utilized. Based on the measurements and analysis performed in the mode based tracking 820, a determination is made as to whether the mode based tracking is successful 830. Success may be based on the averaged measurements resulting in continued selection of the current mode or the measurements being within a defined acceptable range (or not in the defined out of range).
If the mode based tacking is considered successful (830 Yes), the mode based tracking 820 continues. If the mode based tacking is not considered successful (830 No), the process returns to the traditional film mode detection 800.
Below is an example of how utilizing a prediction based on the pull-down mode selected may remove potential errors caused by noise in the measurements. Assume that a frame is determined to be a new frame if there is less than 90% correlation between it and a previous frame. Assume that noise in the correlation measurement of a repeating frame resulted in a correlation of 89%. This would result in the repeating frame being erroneously classified as a new frame. If the predicted correlation value was 97% (based on the fact that according to the pattern the frame would be a repeat frame) then the averaged correlation value would be 93% and the repeating frame would be accurately identified as such.
The new/repeat frame identifications may be stored in a register 930. The new/repeat frame pattern stored in the register is compared to the pattern associated with the selected pull-down mode 940. In a methodology where mode was not considered, the new/repeat pattern stored in the register would be compared to (correlated with) new/repeat patterns for known pull-down modes (e.g., 630 of
Below is an example of how utilizing a prediction based on the pull-down mode selected may remove potential errors caused by noise in the measurements. Assume that the stored pattern is determined to match a pattern associated with current pull-down mode if there is at least a 90% correlation therebetween. Assume that noise in the correlation measurement resulted in a correlation of 89%. This would result in a determination that the current pull-down mode was no longer supported. If the predicted correlation value was 97% (based on the fact that the pattern was expected) then the averaged correlation value would be 93% and a determination that the current pull-down mode was supported would accurately be made.
By way of another example, assume that a repeating frame was erroneously classified as a new frame based on noise in the measurement. The erroneous classification may result in a lower pattern correlation value being calculated. As noted above, the predicted value could pull the averaged correlation value up so that an accurate determination was made.
The use of predicted values can be utilized with any film mode detection methodology to make the methodology mode based. Some or all of the measurements made within a particular methodology may be predicted.
The TV 1000 may receive video from multiple sources. While not illustrated the TV 1000 may include a plurality of interfaces to receive video from the multiple sources via a plurality of mediums (e.g., cable, telephone, HDMI). For example, the TV 1000 may receive video from a broadcast network 1010. The TV 1000 may receive video directly from the broadcast network 1010 or via a set top box (STB) 1020, a digital video recorder (DVR) 1030, or computer 1040. If the STB 1020, DVR 1030, and/or computer 1040 receive interlaced and/or telecine video they may transmit it to the TV 1000 or they may utilize mode based film mode detection to detect the film mode associated with the video and create a progressive scanning video from the received video based on the film mode detected and provide the progressive scanning video to the TV 1000 for display. While not illustrated the STB 1020, DVR 1030, and/or computer 1040 may include embedded circuitry capable of detecting the film mode and processing accordingly.
The TV 1000 may also receive video directly from the computer 1040. The video may be video that was downloaded from another source, was created and/or edited thereon, or is being played thereon (e.g., a DVD) and routed to the TV. As noted above the computer may utilize mode based film mode detection.
The TV 1000 may also receive video from a DVD player 1050. As game consoles may have play DVDs they will be considered here as well. The DVD player 1050 may be capable of playing DVDs having progressive scan video stored thereon as well as DVDs having interlaced and/or telecine video stored thereon. The DVD player 1050 may transmit the interlaced and/or telecine video to the TV 1000 or may utilize mode based film mode detection to detect the film mode associated with the video and create a progressive scanning video from the received video based on the film mode detected and provide the progressive scanning video to the TV 1000 for display. While not illustrated the DVD player 1050 may include embedded circuitry capable of detecting the film mode and processing accordingly.
The TV 1000 may also receive video from a video recorder 1060. The video recorder may create and/or edit video at various cadences.
The various embodiments described above may incorporated in various electronic devices that provide video to a display, may be capable of providing video to a display, or may in the future be capable of providing video to a display, including, for example, a television, digital video disk (DVD) player, set top box (STB), digital video recorder (DVR), personal computer (PC), laptop computer, ultra-laptop computer, tablet, touch pad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
Although the disclosure has been illustrated by reference to specific embodiments, it will be apparent that the disclosure is not limited thereto as various changes and modifications may be made thereto without departing from the scope. Reference to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described therein is included in at least one embodiment. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
The various embodiments are intended to be protected broadly within the spirit and scope of the appended claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5734420, | Dec 13 1994 | PENDRAGON ELECTRONICS AND TELECOMMUNICATIONS RESEARCH LLC | Film mode video sequence detector |
5767923, | Jun 07 1996 | GOOGLE LLC | Method and system for detecting cuts in a video signal |
20030081117, | |||
20040091171, | |||
20050243926, | |||
20050259950, | |||
20090256958, | |||
20110292997, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 12 2011 | Intel Corporation | (assignment on the face of the patent) | / | |||
Oct 12 2011 | LIU, CHUNJUAN | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027075 | /0596 | |
Oct 12 2011 | LU, TIEHAN | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027075 | /0596 |
Date | Maintenance Fee Events |
Aug 05 2013 | ASPN: Payor Number Assigned. |
Feb 16 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 10 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 27 2016 | 4 years fee payment window open |
Feb 27 2017 | 6 months grace period start (w surcharge) |
Aug 27 2017 | patent expiry (for year 4) |
Aug 27 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 27 2020 | 8 years fee payment window open |
Feb 27 2021 | 6 months grace period start (w surcharge) |
Aug 27 2021 | patent expiry (for year 8) |
Aug 27 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 27 2024 | 12 years fee payment window open |
Feb 27 2025 | 6 months grace period start (w surcharge) |
Aug 27 2025 | patent expiry (for year 12) |
Aug 27 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |