High dynamic range video format detection

By employing machine learning and feature detection techniques, and utilizing support vector machine classifiers and hysteresis threshold filtering, the accuracy problem of video signal format detection was solved, enabling efficient HDR and SDR content recognition and conversion.

CN113875247BActive Publication Date: 2026-04-28PROJECT GIANTS LLC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PROJECT GIANTS LLC
Filing Date
2020-04-03
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately detect high dynamic range (HDR) formats in video signals, especially when metadata is lost or misinterpreted, leading to time-consuming and error-prone detection.

Method used

Using machine learning methods, this study identifies and classifies the encoding formats of video content, including PQ HDR, HLG HDR, and SDR, by generating feature sets and using a support vector machine (SVM) classifier, combined with recursive histogram filtering and hysteresis thresholding.

Benefits of technology

It achieves efficient and accurate video format detection, reduces false alarms and false positives, and ensures the correct classification and conversion of video content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113875247B_ABST
    Figure CN113875247B_ABST
Patent Text Reader

Abstract

A video format detector receives a video signal in one of a plurality of possible video formats and generates a detected format. A cumulative distribution function generator generates a cumulative distribution function curve from components of the video signal, and a feature detector generates one or more feature vectors from the cumulative distribution function curve. A video classifier accepts the one or more feature vectors from the feature detector and generates a prediction of the video format in which the video signal was generated based at least in part on the received feature vectors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to systems and methods for measuring video signals, and more particularly to automatically detecting the format of video signals. Background Technology

[0002] With the advent of 4K and 8K consumer displays, televisions have made rapid improvements in display size and resolution compared to the original 1080×1920 high-definition (HD) format, which can support content from streaming data services with 4K resolution. However, at typical viewing distances, it may be difficult to perceive and fully appreciate the new high-resolution improvements for typical living room screen sizes, making further improvements in image resolution impractical.

[0003] Instead of improving image resolution, which has diminishing returns, current advancements in video technology have focused on developing a wider color gamut (WCG), and especially a much wider contrast ratio and peak brightness high dynamic range (HDR) for modern displays. Unlike improvements in image resolution, these improvements in HDR create very significant enhancements in the viewer experience, which are easily appreciated under typical living room viewing distances and lighting conditions.

[0004] Although the HDR format differs from the traditional Standard Dynamic Range (SDR) format, waveform monitor users cannot rely solely on metadata to indicate whether HDR is encoded in SDR, as this auxiliary metadata may be missing, incorrectly appended, or otherwise lost or misinterpreted. In some instances, watching the video itself may suggest a particular encoding. However, such detection by viewing can be inaccurate because typical video varies with program content; for example, for artistic purposes, the full contrast range available in either SDR or HDR encoding curves is often intentionally omitted. Therefore, detecting HDR content from SDR content solely by viewing the video luminance signal itself is not only time-consuming but also prone to errors in practice.

[0005] The embodiments disclosed herein address these and other deficiencies of the prior art. Attached Figure Description

[0006] Referring to the accompanying drawings, aspects, features, and advantages of embodiments of the present disclosure will become apparent from the following description of the embodiments, wherein:

[0007] Figure 1 This is a block diagram of a high dynamic range video format detection system according to some embodiments of the present disclosure.

[0008] Figure 2 The diagram illustrates the situation when an SDR video input is received. Figure 1 The output curve of the system.

[0009] Figure 3 This is an illustration of when an HDR video input is received. Figure 1 The output curve of the system.

[0010] Figure 4 This is a block diagram of another high dynamic range video format detection system according to other embodiments of the present disclosure.

[0011] Figure 5 It is used to implement Figure 1 Examples of computer equipment or systems for high dynamic range video format detection systems, or any of the four. Detailed Implementation

[0012] As mentioned above, advancements in video technology have focused on leveraging the wider contrast and peak brightness of WCG and HDR in modern displays. The encoding of the red, green, and blue signals (R', G', and B', respectively) and the luminance signal (Y') in the new HDR format differs from traditional SDR "gamma" power-law function or gamma curve encoding, which has been used since the early days of black-and-white television to encode higher dynamic ranges into 8-bit (consumer) and 10-bit (professional) data samples. Some popular HDR encodings define a perceptual quantization (PQ) curve that optimizes bit utilization to minimize the visible step size (considered as a contour line) in the display brightness while extending peak display brightness from 200 nits in SDR to over 10,000 nits. Another type of HDR encoding, called Hybrid Log-Gamma (HLG), provides peak display brightness exceeding 1,000 nits.

[0013] This document discloses systems, apparatus, and methods for classifying video content encoding formats using machine learning, such as, but not limited to, PQ HDR, HLG HDR, SDR, or any other encoding formats. Embodiments of this disclosure can identify and determine which of the many available machine learning methods, such as, but not limited to, Bayesian, decision trees, support vector machines (SVM), convolutional neural networks (CNN), etc., are used (if any) to learn and classify the encoding formats. Embodiments of this disclosure can also generate efficient and effective feature sets to drive both the machine learning process for training and real-time classification, as well as generate filtering processes to mitigate annoying false alarms and false positives.

[0014] Figure 1 This is a block diagram of a high dynamic range video format detection system 100 according to some embodiments of the present disclosure. Among other things, Figure 1In particular, an embodiment for efficiently and effectively generating feature sets to drive machine learning processes for both training and real-time classification is illustrated. The system can receive either an R'G'B' input signal or a Cb'Y'Cr' input signal. If an R'G'B' input signal is received, it can be converted into a luminance signal Y' by converter 102.

[0015] Multiplexer 104 can select which Y' signal to use from the input signals. In some embodiments, optional preprocessing 106 may be performed. Optional preprocessing 106 may include, in particular, a number of other preprocessing operations, such as resizing the input signal to a smaller image format, or performing mailbox detection and cropping to a moving image.

[0016] A probability density function (PDF) 108 can be applied to create a one-dimensional normalized histogram for the frames generating the PDF signal. In some embodiments, an optional recursive histogram filter 110 can be applied to the one-dimensional normalized histogram. The recursive histogram filter 110 can mitigate false alarms and false positives. This allows the PDF signal to be recursively updated to allow accumulation (averaging) over many frames, rather than relying on the contrast profile of only a few frames. A time constant (such as, for example, several seconds) sets the averaging time. The time constant should be fast enough to adapt to scene changes and detect, for example, SDR ads in HDR video streams in other ways.

[0017] When video content is input in real time, the cumulative distribution function (u)112 of the histogram of luminance signal values ​​under the selected video frame is applied to generate a dynamically changing CDF curve. The dynamically changing CDF curve can be temporarily filtered and sampled at a predetermined number of image region-related sampling points (e.g., five image region-related sampling points) to determine the Y' signal level at each sampling point. This is possible because the CDF is a monotonically increasing function that correlates the threshold of a specific pixel image region with the encoded Y' pixel value and follows the HDR or SDR encoding curve over time.

[0018] Feature detection 114 generates a feature vector based on a predetermined number of image region-related sample points. Feature detection 114 can determine the brightness amount of each image region based on the input code value determined by the CDF. Feature detection can generate a feature vector indicating a predetermined number of image region-related sample points based on the CDF.

[0019] The feature vector is sent to classifier 116. Classifier 116 can be any machine learning device, such as those mentioned above. Figure 1In the example shown, classifier 116 is a Support Vector Machine (SVM) classifier. Classifier 116 can be trained by a trained model 118. Classifier 116 can be trained to classify any number of classes, such as, for example, a 3-class classifier, to classify videos between SDR, PQ HDR, and HLG HDR. Feature vectors from feature detection 114 can be used as an efficient and effective feature set to drive the machine learning process through classifier 116, for both training and real-time classification.

[0020] After classification by classifier 116, the output can optionally be further filtered in recursive SDR detection filter 120 and threshold hysteresis 122 to mitigate false detections. If the output of recursive SDR detection filter 120 violates a threshold, then the determined class is incorrectly identified. For example, if the class is identified as SDR by classifier 116, but the filtered output of SDR detection filter 120 is greater than a threshold (such as 0.9), then the original classification is incorrect, and the output value is set to HDR. The output value will remain in HDR until the filtered detection output falls below another threshold (such as 0.5). At this point, the output switches to binary zero, indicating SDR content.

[0021] The filtered output with an SDR threshold of hysteresis 122 can be received at multiplexer 124. The output from preprocessor 106 can be either SDR or HDR content. The output of classifier 116 is sent to lookup table 126 or other processes to convert HDR content into SDR based on the class determined by classifier 116.

[0022] The output with an SDR threshold of 122 hysteresis, such as Figure 1 As shown in the SDRflt diagram, the control multiplexer 124 selects either SDR content or converted SDR content via lookup table 126. That is, either the content from preprocessor 404 or the converted content can be directly passed to the multiplexer. For example, if the classifier 116 outputs a class of HDR, but an SDR threshold with hysteresis 122 determines that it is actually SDR content, then the multiplexer 124 will select the SDR input. Conversely, if the classifier 116 outputs a class of SDR, but a threshold with hysteresis 122 determines that it is actually HDR content, then the multiplexer 124 will select the converted SDR input via lookup table 126. The output of the multiplexer 124 is sent to the SDR confidence monitor 128 to allow the user to ensure that the converted SDR content still appears acceptable if HDR content is present.

[0023] Figure 2This is a graph 200 illustrating the performance of system 100 in detecting known 720p SDR format input video clips. To generate graph 200, system 100 uses a quadratic binary classifier 116 to detect HDR PQ (class 1) versus SDR (class 0). The horizontal axis of graph 200 represents the number of measured frames of the video clip, corresponding to the thirty-three-second duration of the video clip, while the vertical axis corresponds to the output of the recursive SDR detection filter 120, which is measured as a confidence factor. Figure 2 The binary result 202 in the figure shows that the system 100 remains in class zero throughout the duration of the entire video clip, which means that the system 100 accurately detects that the video clip is in SDR format for 100% of the time.

[0024] Trajectory 204 illustrates the HDR class of the filter determined by system 100 through recursive SDR detection filter 120. As can be seen in trajectory 204, the beginning of the video clip includes a short segment of several seconds that mimics HDR formatting to mislead classifier 116. However, the post-detection filter 120 and threshold hysteresis 122 do not exceed the hysteresis threshold for HDR, so the binary detection result does not switch to HDR.

[0025] Trajectory 206 illustrates the confidence factor of the classifier 116 output to indicate the most likely class; this can be referred to as confidence factor trajectory 206. Confidence factor trajectory 206 illustrates that the original output of classifier 116 initially indicated the video clip was in HDR format because the confidence level exceeded 0.9. However, because no threshold was violated, as shown by the filtered class trajectory 204, the binary output of system 100 did not switch to HDR, even though the initial output of classifier 116 indicated HDR content.

[0026] Figure 3 This is a graph 300 illustrating the performance of system 100, which has a quadratic binary classifier 116 to detect HDR PQ (Class 1) versus SDR (Class 0) when accurately detecting a known 1080P HDR PQ 1000-nit input video clip. The horizontal axis of graph 300 represents the number of frames measured in the video clip, corresponding to a one-minute duration of the clip.

[0027] exist Figure 3 In the image, the binary result trajectory 302 generated by system 100 initially starts at zero, but rapidly changes to one after approximately eighteen frames, or about 3% of the clip. For example... Figure 3As can be seen, the confidence factor trajectory 306 initially indicates that the video clip is most likely HDR. However, the system 100 is initially set to assume that the class is SDR at startup, and the class 304 filtered by the recursive detection filter 120 takes time to stabilize before the binary result state is set to HDR. Once the output of the recursive SDR detection filter 120 crosses the threshold of 0.9, at approximately 18 frames, the binary output is changed to "1" to indicate the HDR class. Because the filtered class 304 never drops below 0.5 after that point, the system 100 continues to output binary result 302 as 1. This means that the system 100 accurately detects that the video clip is in HDR format approximately 97% of the time.

[0028] Figure 4 A block diagram of another example embodiment of a high dynamic range video format detection system 400 is illustrated. System 400 includes the capability to detect both WCG and HDR encoding by also processing and classifying R'G'B' input signals. Multiplexer 402 still selects the input signals. As those skilled in the art will understand, preprocessing 404 may include deriving the R'G'B' input if a Cb'Y'Cr' signal is received, and deriving the Cb'Y'Cr' input if the R'G'B' signal is received using a transformation matrix. Additionally, the C' component input can be derived from the Cb'Y'Cr' input. The C' component is a chromaticity amplitude without phase or hue information and can be determined according to... Export.

[0029] The R'G'B'C'Y' inputs are forwarded to box 406 to create a one-dimensional normalized histogram for each component of each frame. That is, box 406 will output five one-dimensional normalized histograms for each frame. Similar to system 100, an optional recursive histogram filter 408 can be applied to each histogram output.

[0030] In box 410, the CDF is generated as the cumulative sum of each histogram output in box 406 (which can optionally be filtered at box 408). For each CDF, feature detection box 412 performs an AND operation with... Figure 1 The feature detection bounding box 114 operates in the same way. A classifier 414, similar to classifier 116, can be provided to classify whether the video input is in HDR or SDR format. Classifier 116 can classify any number of classes, such as SDR and HDR (two-class classifier), SDR, PQ HDR and HLG HDR (three-class classifier), or any other format that may need to be classified. Similar to... Figure 1The output of classifier 414 can optionally be further filtered by recursive detection filter 120 and SDR threshold detection with applied hysteresis 122, similar to system 100, and will not be discussed further with respect to system 400. Classifier 414 can also be trained with model 416.

[0031] In system 400, a WCG classifier 418 may also be provided to classify whether the frame contains WCG. In some embodiments, the WCG classifier 418 may contain two classes, one for BT.709 color and the other for BT.2020 color or WCG. The WCG classifier 418 will also receive a training model 420 similar to classifier 414.

[0032] The outputs of classifier 414 and classifier 418 can both be received at lookup table 422 or other processes to convert HDR content to SDR based on the determined class and to convert the color space from BT.2020 to BT.709.

[0033] Similar to Figure 1 In system 100, multiplier 424 can select either the signal passed through or the signal converted by lookup table 422 based on the output of SDR threshold detection 122. Similar to system 100, the output of multiplexer 424 is sent to SDR confidence monitor 128.

[0034] Figure 5 This is an illustration of elements or components that may exist in a computer device or system configured to implement methods, processes, functions, or operations according to embodiments of this disclosure. As noted, in some embodiments, the systems and methods described herein may be implemented in the form of means including processing elements and a set of executable instructions. The executable instructions may be part of a software application and arranged as a software architecture. Generally, embodiments of this disclosure may be implemented using a set of software instructions designed to be executed by appropriately programmed processing elements, such as CPUs, microprocessors, processors, controllers, computing devices, etc. In complex applications or systems, such instructions are often arranged as “modules,” each of which typically performs a specific task, process, function, or operation. An operating system (OS) or other form of organizational platform may control or coordinate the entire set of modules in its operation.

[0035] Each application module or submodule may correspond to a specific function, method, process, or operation implemented by that module or submodule. Such functions, methods, processes, or operations may include functions, methods, processes, or operations for implementing one or more aspects of the systems and methods described herein.

[0036] Application modules and / or submodules may include any suitable computer-executable code or instruction set (e.g., as to be executed by a suitably programmed processor, microprocessor, or CPU), such as computer-executable code corresponding to a programming language. For example, programming language source code may be compiled into computer-executable code. Alternatively or additionally, the programming language may be an interpreted programming language, such as a scripting language. The computer-executable code or instruction set may be stored on (or on) any suitable non-transitory computer-readable medium. Generally, with respect to the embodiments described herein, the non-transitory computer-readable medium may include virtually any structure, technique, or method other than transient waveform or similar media.

[0037] As described, systems, apparatuses, methods, processes, functions, and / or operations for implementing embodiments of this disclosure can be implemented, in whole or in part, in the form of an instruction set executed by one or more programmed computer processors, such as a central processing unit (CPU) or microprocessor. Such processors can be incorporated into apparatuses, servers, clients, or other computing or data processing devices that are operated by or communicate with other components of the system. As an example, Figure 5 It is a diagram illustrating elements or components that may exist in a computer device or system 500 configured to implement methods, processes, functions, or operations according to embodiments of the present disclosure. Figure 5 The subsystems shown are interconnected via system bus 502. The subsystems may include display 504 and peripherals, and I / O devices coupled to input / output (I / O) controller 506 can be connected to the computer system via any number of components known in the art, such as serial port 508. For example, serial port 508 or external interface 510 can be used to connect computer device 500 to... Figure 5 Other devices and / or systems, not shown, include wide area networks such as the Internet, mouse input devices, and / or scanners. Interconnection via system bus 502 allows one or more processors 512 to communicate with each subsystem and control the execution of instructions that may be stored in system memory 514 and / or fixed disk 516, as well as the exchange of information between subsystems. System memory 514 and / or fixed disk 516 may embody tangible computer-readable media.

[0038] Any software component, process, or function described in this application can be implemented as software code executed by a processor using any suitable computer language, employing techniques such as conventional or object-oriented methods, such as Java, JavaScript, C++, or Perl. The software code can be stored as a series of instructions or commands on (or on) a non-transitory computer-readable medium, such as random access memory (RAM), read-only memory (ROM), magnetic media such as hard disk drives or floppy disks, or optical media such as CD-ROMs. In this context, non-transitory computer-readable media are virtually any medium suitable for storing data or sets of instructions, except for transient waveforms. Any such computer-readable medium can reside on or within a single computing device and can exist on or within different computing devices within a system or network.

[0039] According to one example implementation, the term processing element or processor, as used herein, can be a central processing unit (CPU) or conceptualized as a CPU (such as a virtual machine). In this example implementation, the CPU or a device incorporating a CPU can be coupled, connected, and / or communicate with one or more peripheral devices, such as a display.

[0040] The non-transitory computer-readable storage media mentioned herein may include multiple physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, flash memory, a USB flash drive, an external hard disk drive, a thumb drive, a pen drive, a key drive, a high-density digital versatile disc (HD-DVD) optical disc drive, an internal hard disk drive, a Blu-ray disc drive or a holographic digital data storage (HDDS) optical disc drive, synchronous dynamic random access memory (SDRAM) or similar devices or other forms of memory based on similar technologies. As mentioned, with respect to the embodiments described herein, non-transitory computer-readable media may include virtually any structure, technology, or method other than transient waveform or similar media.

[0041] This document describes certain implementations of the disclosed techniques with reference to system block diagrams and / or flowcharts or diagrams of functions, operations, processes, or methods. It will be understood that one or more blocks of a block diagram, or one or more stages or steps of a flowchart or diagram, and combinations of blocks in a block diagram and stages or steps in a flowchart or diagram, can be implemented by computer-executable program instructions, respectively. Note that in some embodiments, one or more blocks, stages, or steps may not necessarily need to be performed in the presented order, or may not need to be performed at all.

[0042] These computer-executable program instructions may be loaded onto a general-purpose computer, special-purpose computer, processor, or other programmable data processing apparatus to produce a particular example of a machine, such that the instructions, which are executable by the computer, processor, or other programmable data processing apparatus, create parts for implementing one or more of the functions, operations, processes, or methods described herein. These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of art including instruction parts that implement one or more of the functions, operations, processes, or methods described herein.

[0043] The aspects of this disclosure can operate on specially created hardware, firmware, digital signal processors, or on a specially programmed computer including a processor that operates according to programmed instructions. As used herein, the term controller or processor is intended to include microprocessors, microcomputers, application-specific integrated circuits (ASICs), and special-purpose hardware controllers. One or more aspects of this disclosure can be embodied in computer-usable data and computer-executable instructions, such as one or more program modules executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., which, when executed by a processor in a computer or other device, perform a specific task or implement a specific abstract data type. Computer-executable instructions can be stored on a computer-readable storage medium, such as a hard disk, optical disk, removable storage medium, solid-state memory, random access memory (RAM), etc. As those skilled in the art will appreciate, the functionality of a program module can be combined or distributed in various aspects as desired. Furthermore, functionality can be wholly or partially embodied in firmware or hardware equivalents such as integrated circuits, FPGAs, and the like. Specific data structures can be used to more efficiently implement one or more aspects of this disclosure, and such data structures are envisioned within the scope of computer-executable instructions and computer-available data described herein.

[0044] In some cases, the disclosed aspects may be implemented in hardware, firmware, software, or any combination thereof. The disclosed aspects may also be implemented as instructions carried on or stored thereon by one or more computer-readable storage media, which may be read and executed by one or more processors. Such instructions may be referred to as a computer program product. As discussed herein, a computer-readable medium means any medium that can be accessed by a computing device. By way of example and not limitation, a computer-readable medium may include computer storage media and communication media.

[0045] Computer storage media means any medium that can be used to store computer-readable information. By way of example and not limitation, computer storage media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital video disc (DVD) or other optical disc storage devices, cassette tape, magnetic tape, disk storage devices or other magnetic storage devices, and any other volatile or non-volatile, removable or non-removable media implemented in any technology. Computer storage media excludes signals themselves and temporary forms of signal transmission.

[0046] Communication medium means any medium that can be used for communication of computer-readable information. By way of example and not limitation, communication medium may include coaxial cable, fiber optic cable, air, or any other medium suitable for communication of electrical, optical, radio frequency (RF), infrared, acoustic, or other types of signals.

[0047] Example

[0048] Illustrative examples of the techniques disclosed herein are provided below. Embodiments of the techniques may include any one or more of the examples described below, as well as any combination thereof.

[0049] Example 1 is a video format detector, comprising a video input configured to receive a video signal in one of a variety of possible video formats; a cumulative distribution function generator configured to generate a cumulative distribution function curve from the components of the video signal; a feature detector configured to generate one or more feature vectors from the cumulative distribution function curves; and a video classifier configured to receive the one or more feature vectors from the feature detector and generate a prediction of the video format from which the video signal is generated, based at least in part on the received feature vectors.

[0050] Example 2 is a video format detector of Example 1, wherein the video classifier is constructed to generate predictions of video formats based at least in part on the model generated for the video classifier.

[0051] Example 3 is a video format detector of either Example 1 or 2, wherein the classifier is a support vector machine.

[0052] Example 4 is a video format detector of any of Examples 1 to 3, further including a recursive filter configured to filter the prediction of the video format from the video classifier and output the prediction of the filtered video format; and a threshold detector configured to receive the prediction of the filtered video format and output the detected video format based on whether the prediction of the filtered video format violates one or more thresholds.

[0053] Example 5 is a video format detector of Example 4, further including a multiplexer configured to receive a detected video format from a threshold detector and select the input of the multiplexer based on the detected video format.

[0054] Example 6 is a video format detector of Example 5, further including a converter configured to receive a prediction of a video format from a video classifier and convert components of the signal into components of the converted signal, wherein the multiplexer includes a first input for receiving components of the signal and a second input for receiving components of the converted signal.

[0055] Example 7 is a video format detector of Example 6, wherein the components of the signal are the luminance component of the video signal, the color space component of the video signal, or both the luminance component and the color space component of the video signal.

[0056] Example 8 is a video format detector of any of Examples 1, 2 and 4 through 7, wherein the video classifier is a Bayesian device, a decision tree or a convolutional neural network.

[0057] Example 9 is a video format detector of any of Examples 1 to 8, further including a color space classifier configured to accept the one or more feature vectors from the feature detector and generate a prediction of the color space in which the video signal is generated, based at least in part on the received feature vectors.

[0058] Example 10 is a method for detecting the video format of an input video, comprising receiving a video signal in one of a variety of possible video formats; generating a cumulative distribution function curve from the components of the video signal; generating one or more feature vectors from the cumulative distribution function curve; and generating a prediction of the video format from which the video signal was generated by a video classifier, based at least in part on the one or more feature vectors.

[0059] Example 11 is the method of Example 10, wherein generating predictions for video formats includes generating predictions based at least in part on a model generated for a video classifier.

[0060] Example 12 is a method of either Example 10 or 11, further comprising filtering the prediction of a video format from a video classifier and outputting a filtered prediction of the video format; determining whether the prediction of the filtered video format violates a threshold; and outputting a detected video format based on whether the prediction of the filtered video format violates the threshold.

[0061] Example 13 is the method of Example 12, further including receiving the detected video format from the threshold detector at the multiplexer, and selecting the input of the multiplexer based on the detected video format.

[0062] Example 14 is a method of Example 13, further comprising converting components of a signal into components of a converted signal, wherein the multiplexer includes a first input for receiving components of the signal and a second input for receiving components of the converted signal.

[0063] Example 15 is the method of Example 14, wherein the components of the signal are the luminance component of the video signal, the color space component of the video signal, or both the luminance component and the color space component of the video signal.

[0064] Example 16 is a method of any of Examples 10 to 15, wherein the video classifier is a support vector machine, a Bayesian device, a decision tree, or a convolutional neural network.

[0065] Example 17 is a method of any one of Examples 10 to 16, further comprising generating a prediction of the color space in which the video signal is generated, at least in part, based on the one or more feature vectors.

[0066] Example 18 is one or more computer-readable storage media including instructions that, when executed by one or more processors of a video format detector, cause the video format detector to generate a cumulative distribution function curve from components of a received video signal in one of a variety of possible video formats; generate one or more feature vectors from the cumulative distribution function curves; and, based at least in part on the one or more feature vectors, determine a prediction of the video format from which the video signal was generated by a video classifier.

[0067] Example 19 is one or more computer-readable storage media of Example 18, further including instructions to cause a video format detector to: filter a prediction of a video format from a video classifier and output a prediction of the filtered video format; determine whether the prediction of the filtered video format violates a threshold; and output a value indicating the video format based on whether the prediction of the filtered video format violates the threshold.

[0068] Example 20 is one or more computer-readable storage media of Example 18, further including instructions that enable a video format detector to generate a prediction of the color space in which the video signal is generated, at least in part, based on the one or more feature vectors.

[0069] The previously described versions of the disclosed subject matter have numerous advantages, either as described or obvious to those skilled in the art. Even so, these advantages or features are not required in all versions of the disclosed apparatus, system, or method.

[0070] Additionally, this written description refers to specific features. It will be understood that the disclosure in this specification includes all possible combinations of those specific features. Where a specific feature is disclosed in the context of a particular aspect or example, that feature may also be used in the context of other aspects and examples to the greatest extent possible.

[0071] Furthermore, when a method having two or more defined steps or operations is referenced in this application, the defined steps or operations may be performed in any order or simultaneously, unless the context precludes those possibilities.

[0072] Although specific examples of the invention have been illustrated and described for illustrative purposes, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Therefore, the invention should not be limited to anything other than the appended claims.

Claims

1. A video format detector, comprising: The video input is configured to receive video signals in one of a variety of possible video formats. The cumulative distribution function generator is constructed to generate cumulative distribution function curves from the components of the video signal; The feature detector is constructed to generate one or more feature vectors from the cumulative distribution function curve; A video classifier is configured to accept one or more feature vectors from a feature detector and generate a prediction of the video format from which the video signal is generated, based at least in part on the received feature vectors. A recursive filter is configured to filter the predictions of the video format from the video classifier and output the filtered predictions of the video format. as well as A threshold detector is configured to receive a prediction of a filtered video format and output the detected video format based on whether the prediction of the filtered video format violates one or more thresholds.

2. The video format detector of claim 1, wherein the video classifier is configured to generate video format predictions based at least in part on a model generated for the video classifier.

3. The video format detector according to claim 1, wherein the video classifier is a support vector machine.

4. The video format detector of claim 1, further comprising a multiplexer configured to receive a detected video format from a threshold detector and select the input of the multiplexer based on the detected video format.

5. The video format detector of claim 4, further comprising a converter configured to receive a prediction of a video format from a video classifier and convert components of the signal into components of a converted signal, wherein the multiplexer includes a first input for receiving components of the signal and a second input for receiving components of the converted signal.

6. The video format detector according to claim 5, wherein the components of the signal are the luminance component of the video signal, the color space component of the video signal, or both the luminance component and the color space component of the video signal.

7. The video format detector of claim 1, wherein the video classifier is a Bayesian device, a decision tree, or a convolutional neural network.

8. The video format detector of claim 1, further comprising a color space classifier configured to receive the one or more feature vectors from the feature detector and to generate a prediction of the color space in which the video signal is generated, at least in part based on the received feature vectors.

9. A method for detecting the video format of an input video, comprising: Receives video signals in one of a variety of possible video formats; Generate cumulative distribution function curves from the components of the video signal; Generate one or more feature vectors from the cumulative distribution function curve; Based at least in part on the one or more feature vectors, a video classifier generates a prediction of the video format from which the video signal is produced; The video classifier filters the predictions of video formats and outputs the filtered predictions of video formats. Determine whether the predicted filtered video format violates the threshold; as well as The detected video format is output based on whether the predicted filtered video format violates a threshold.

10. The method of claim 9, wherein generating a prediction of the video format comprises generating the prediction at least in part based on a model generated for a video classifier.

11. The method of claim 9, further comprising receiving a detected video format from a threshold detector at a multiplexer, and selecting an input to the multiplexer based on the detected video format.

12. The method of claim 11, further comprising converting components of a signal into components of a converted signal, wherein the multiplexer includes a first input for receiving components of a signal and a second input for receiving components of a converted signal.

13. The method according to claim 12, wherein the components of the signal are the luminance component of the video signal, the color space component of the video signal, or both the luminance component and the color space component of the video signal.

14. The method of claim 9, wherein the video classifier is a support vector machine, a Bayesian device, a decision tree, or a convolutional neural network.

15. The method of claim 9, further comprising generating a prediction of the color space in which the video signal is generated, at least in part based on the one or more feature vectors.

16. A computer-readable storage medium including instructions that, when executed by one or more processors of a video format detector, cause the video format detector to perform the following operations: Generate cumulative distribution function curves from the components of the video signal received in one of a variety of possible video formats; Generate one or more eigenvectors from the cumulative distribution function curve; Based at least in part on the one or more feature vectors, the video classifier determines a prediction of the video format from which the video signal is generated; The predictions of video formats from the video classifier are filtered, and the filtered predictions of video formats are output. Determine whether the predicted filtered video format violates the threshold; as well as The output value indicates the video format based on whether the predicted filtered video format violates a threshold.

17. The computer-readable storage medium of claim 16, further comprising instructions for causing a video format detector to generate a prediction of the color space in which the video signal is generated, at least in part, based on the one or more feature vectors.

Citation Information

Patent Citations

  • Extrapolating lighting conditions from a single digital image

    US20180359416A1