High Dynamic Range Video Format Detection

JP7610521B2Active Publication Date: 2025-01-08PROJECT GIANTS LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021559373
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-04-05
Filing Date
2020-04-03
Publication Date
2025-01-08
Estimated Expiration
2040-04-03

Smart Images

  • Figure 0007610521000001
    Figure 0007610521000001
  • Figure 0007610521000002
    Figure 0007610521000002
  • Figure 0007610521000003
    Figure 0007610521000003
Patent Text Reader

Abstract

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

Description

[Technical field]

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

[0002] Televisions are rapidly improving in display size and resolution beyond the original 1080x1920 high definition (HD) format, with the advent of 4K and 8K consumer displays capable of supporting content from streaming data services at 4K resolution. However, on typical living room screen sizes, it can be difficult to appreciate and fully appreciate these new high resolution advances at typical viewing distances, making further improvements in image resolution impractical.

[0003] Instead of improvements in image resolution, which have diminishing returns, current advances in video technology are focused on taking advantage of the wide color gamut (WCG) and, in particular, high dynamic range (HDR) of modern displays due to their much greater contrast and peak brightness. Unlike improvements in image resolution, these improvements in HDR produce very noticeable advances in the viewer experience and are easily appreciated at typical living room viewing distances and brightnesses.

[0004] Although HDR formats differ from traditional standard dynamic range (SDR) formats, waveform monitor users cannot rely solely on metadata indicating HDR vs. SDR coding formats, as the auxiliary metadata may be missing, erroneously attached, or missing or misinterpreted. In some instances, viewing the video itself may suggest a particular coding. However, such detection by viewing may be inaccurate, as typical videos vary in program content, e.g., intentionally not using the full contrast range available in either the SDR or HDR coding curves for artistic reasons. Thus, distinguishing between HDR and SDR content by simply viewing the video luminance signal itself is not only time-consuming, but also error-prone in practice.

[0005] Embodiments of the present disclosure seek to address these and other deficiencies in the prior art. [Brief description of the drawings]

[0006] Aspects, features and advantages of the present disclosure are best understood from the following detailed description of the embodiments, taken in conjunction with the accompanying drawings. It will become clear by reading the text.

[0007] [Figure 1] FIG. 1 is a block diagram of a high dynamic range video format detection system according to an embodiment of the present disclosure.

[0008] [Diagram 2] FIG. 2 is a plot showing the output of the system of FIG. 1 when receiving an SDR video input.

[0009] [Diagram 3] FIG. 3 is a plot diagram showing the output of the system of FIG. 1 upon receiving an HDR video input.

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

[0011] [Diagram 5] FIG. 5 is an example of a computer device or system that may be used to implement the high dynamic range video format detection system of either FIG. 1 or FIG. Detailed Description of the Invention

[0012] As mentioned above, advances in video technology are focused on taking advantage of the much wider contrast and peak brightness of WCG and HDR in modern displays. The red, green, blue (R´, G´, B´, respectively) and luminance (Y´) coding of the new HDR formats differs from the traditional SDR "gamma" power law function, or gamma curve coding, used since the early days of black and white television, which codes the high dynamic range into 8-bit (consumer) and 10-bit (professional) data samples. Some common HDR codings define a perceptual quantization (PQ) curve to optimize bit utilization to minimize visible contours in the displayed luminance while extending the peak display brightness from 200 nits in SDR to over 10,000 nits. Another type of HDR coding is called Hybrid Log-Gamma (HLG), which provides a peak display brightness of over 1,000 nits.

[0013] Disclosed herein are systems, devices, and methods having machine learning to classify the coding format of video content, including but not limited to PQ HDR, HLG HDR, SDR, or any other coding format. Embodiments of the present disclosure can recognize and determine which type of coding format should be used, and possibly learn and classify the coding format, from among many available machine learning approaches, including but not limited to Bayesian, decision tree, support vector machine (SVM), convolutional neural network (CNN), etc. Embodiments of the present disclosure also generate an efficient and effective set of features to run the machine learning process, both for training and real-time classification, as well as filtering processes to mitigate nuisance false alarms and false indications.

[0014] FIG. 1 is a block diagram of a high dynamic range video format detection system 100 according to an embodiment of the present disclosure. FIG. 1 illustrates, among other things, an embodiment that efficiently and effectively generates a set of features that drive a machine learning process for both training and real-time classification. The system can receive either an R'G'B' input signal or a Cb'Y'Cr' input signal. Once an R'G'B' input signal is received, it can be converted to a luminance signal Y' by a converter 102.

[0015] A multiplexer 104 can select which Y' signal to select from the input signal. Optional pre-processing 106 can be performed in some embodiments. Optional pre-processing 106 can include, for example, resizing the input signal to a smaller image format or performing letterbox detection and cropping the active image, among many other pre-processing tasks.

[0016] A probability density function (PDF) 108 may be implemented to create a one-dimensional normalized histogram for each frame of the PDF signal. A recursive histogram filter 110 may be optionally applied to the one-dimensional normalized histogram in some embodiments. The recursive histogram filter 110 may reduce false alarms and false indications. This allows the PDF signal to be recursively updated and accumulated (averaged) over many frames, rather than relying on the contrast curve of only a few frames. A time constant, e.g., several seconds, sets the averaging time. The time constant is fast enough to accommodate scene changes and detect, for example, an SDR commercial in another HDR video stream.

[0017] When video content is input in real-time generation of a dynamically changing CDF curve, a cumulative distribution function (u) 112 of the luminance signal value histogram in the selected video frame is performed. The dynamically changing CDF curve is temporally filtered and sampled at a predefined number of image regions associated with sample points, for example 5 image regions associated with sample points, to determine the respective Y' signal levels. This is possible because the CDF is a monotonically increasing function relating a particular pixel image region threshold to the coded Y' pixel value, and follows the HDR or SDR coding curve over time.

[0018] The feature detector 114 generates a feature vector based on a predetermined number of image regions associated with the sample points. The feature detector 114 can determine a luminance value for an image region based on the input code values ​​determined by the CDF. The feature detector can generate a feature vector indicative of a predetermined number of image regions associated with the sample points based on the CDF.

[0019] The feature vector is sent to a classifier 116. The classifier 116 may be any machine learning device as described above. In the example shown in FIG. 1, the classifier 116 is a support vector machine (SVM) classifier. The classifier 116 may be trained by a trained model 118. The classifier 116 may be trained to classify any number of classes, such as a three-class classifier, for example, to classify videos between SDR, PQ HDR, and HLG HDR. The feature vector from the feature detection 114 may be used as an efficient and effective set of features to run the machine learning process through the classifier 116, both for training and for real-time classification.

[0020] After classification by the classifier 116, the output may be optionally further filtered in a recursive SDR detection filter 120 and threshold hysteresis 122 to mitigate false positives. If the output of the recursive SDR detection filter 120 breaches a threshold, the determined class is deemed incorrect. For example, if the class is determined to be SDR by the classifier 116, but the filtered output of the recursive SDR detection filter 120 is greater than a threshold, such as 0.9, the initial classification is deemed to be incorrect and the output value is set to HDR. The output value remains at HDR until the filtered detection output falls below another threshold, such as 0.5. At that point, the output switches to a binary zero to indicate SDR content.

[0021] The filtered output of the SDR threshold with hysteresis 122 may be received at a multiplexer 124. The output from the pre-processor 106 may be either SDR or HDR content. The output of the classifier 116 is sent to a lookup table 126 or other process to convert the HDR content to SDR based on the class determined by the classifier 116.

[0022] The output of the SDR threshold with hysteresis 122, shown in FIG. 1 as SDRflt, controls the multiplexer 124 to select either the SDR content or the converted SDR content via the lookup table 126. That is, the content from the pre-processor 404 can be passed through directly to the multiplexer, or the converted content can be passed through. For example, if the class output by the classifier 116 is HDR, but the SDR threshold with hysteresis 122 determines that it is in fact SDR content, the multiplexer 124 selects the SDR input. Conversely, if the class output by the classifier 116 is SDR, but the threshold with hysteresis 122 determines that it is in fact HDR content, the multiplexer 124 selects the converted SDR input via the lookup table 126. The output of the multiplexer 124 is sent to the SDR confidence monitor 128 to allow the user to verify that if it is HDR content, the converted SDR content is acceptable as well.

[0023] FIG. 2 is a plot 200 illustrating the performance of system 100 in detecting a known 720P SDR format input video clip. To generate plot 200, system 100 implements a secondary binary classifier 116 to detect HDR PQ (class 1) versus SDR (class 0). The horizontal axis of plot 200 represents the measured number of frames in the video clip, which corresponds to the video clip's 33 second time length, while the vertical axis corresponds to the output of recursive SDR detection filter 120 measured as a confidence. Binary result 202 in FIG. 2 shows that system 100 remains in class zero for the entire duration of the video clip, meaning that system 100 correctly detected 100% of the time that the video clip was in SDR format.

[0024] Trace 204 shows the filtered HDR class determined by system 100 via recursive SDR detection filter 120. As can be seen in trace 204, the beginning of the video clip contains a short segment of a few seconds that sufficiently mimics HDR formatting to mislead classifier 116. However, post-detection filtering 120 and threshold hysteresis 122 did not exceed the hysteresis threshold at HDR, so the binary detection result did not switch to HDR.

[0025] Trace 206 shows the confidence output by classifier 116, which indicates the most likely class, and may be referred to as confidence trace 206. Confidence trace 206 illustrates that the initial output of classifier 116 first indicated that the video clip was in HDR format since the confidence exceeded 0.9. However, as shown in filtered class trace 204, the threshold was not breached so the binary output of system 100 did not switch to HDR even though the initial output of classifier 116 indicated HDR content.

[0026] 3 is a plot 300 illustrating the performance of system 100 implementing secondary binary classifier 116 in accurately detecting a known 1080P HDR PQ 1000 nit grade input video clip, HDR PQ (Class 1) versus SDR (Class 0). The horizontal axis of plot 300 represents the measured number of frames in the video clip, which corresponds to a one minute temporal length of the video clip.

[0027] In FIG. 3, the binary result trace 302 generated by the system 100 starts out at 0, but quickly changes to 1 after about 18 frames, or about 3% of the clip. As can be seen in FIG. 3, the confidence trace 306 initially indicates that the video clip is likely to be HDR. However, the system 100 is initialized assuming that the class is SDR at startup, and that it will take some time for the filtered class 304, via the recursive detection filter 120, to be set to HDR as a binary result state. As soon as the output of the recursive SDR detection filter 120 exceeds the threshold of 0.9, at about frame 18, the binary output changes 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 the binary result 302 at 1. This means that the system 100 has correctly detected that the video clip is in HDR format approximately 97% of the time.

[0028] 4 is a block diagram of a high dynamic range video format detection system 400 according to another embodiment. The system 400 includes the ability to detect both WCG and HDR coding by also processing and classifying R'G'B' input signals. A multiplexer 402 selects the input signal unchanged. Pre-processing 404 may include deriving R'G'B input if a Cb'Y'Cr' signal is received, or deriving Cb'Y'Cr' input if an R'G'B' signal is received, using a conversion matrix as will be understood by those skilled in the art. Additionally, a C' component input may be derived from the Cb'Y'Cr' input. The C' component is the phase-free chroma magnitude, or hue, information, and may be derived by C'=(Cr^2+Cb^2)^0.5.

[0029] The R'G'B'C'Y' inputs are forwarded to block 406, which creates a one-dimensional normalized histogram for each component for each frame. That is, block 406 outputs five one-dimensional normalized histograms for each frame. As with system 100, a recursive histogram filter 408 may optionally be applied to each histogram output.

[0030] In block 410, a CDF is generated as a cumulative sum on each histogram output of block 406 (which may be optionally filtered in block 408). A feature detection block 412 performs the same as feature detection block 114 of FIG. 1 on each CDF. A classifier 414 is provided similar to classifier 116 to classify whether the video input is in HDR or SDR format. Classifier 116 may classify any number of classes, such as SDR and HDR (2-class classifier), SDR, PQ HDR, and HLG HDR (3-class classifier), or any other format that needs to be classified. As in FIG. 1, the output of classifier 414 may be optionally further filtered via SDR threshold detection with recursive detection filter 120 and hysteresis 122 applied, as in system 100, which will not be further described with respect to system 400. Classifier 414 may be trained with model 416.

[0031] In the system 400, a WCG classifier 418 may be provided to classify whether a frame contains WCG. The WCG classifier 418 may include two classes, in some embodiments one class for BT.709 colors and the other for BT.2020 colors or WCG. The WCG classifier 418, like the classifier 414, may receive a trained model 420.

[0032] The output of classifier 414 and the output of classifier 418 are both received by a lookup table 422 or other process to convert the color space from HDR content to SDR and from BT.2020 to BT.709 based on the determined class.

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

[0034] FIG. 5 illustrates possible elements or components of a computing device or system configured to perform a method, process, function, or operation according to an embodiment of the present disclosure. As mentioned above, in some embodiments, the systems and methods described herein may be implemented in the form of a device that includes a processing element and a set of executable instructions. The executable instructions may be part of a software application and may be organized into a software architecture. In general, the embodiments of the present disclosure may be implemented using a set of software instructions designed to be executed by a suitably programmed processing element (e.g., a CPU, a microprocessor, a processor, a controller, a computing device, etc.). In complex applications and systems, such instructions are typically organized into "modules," each of which typically performs a particular task, process, function, or operation. The entire set of modules may be controlled or coordinated in operation by an operating system (OS) or other type of organizational platform.

[0035] Each application module or sub-module may correspond to a particular function, method, process, or operation performed by the module or sub-module, including those used to implement one or more aspects of the systems and methods described herein.

[0036] An application module and / or sub-modules may include any suitable computer-executable code or set of instructions (e.g., executed by a suitably programmed processor, microprocessor, or CPU), such as computer-executable code corresponding to a programming language. For example, a programming language source code may be compiled into the 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 set of instructions may be stored on any suitable non-transitory computer-readable medium. Generally, with respect to the embodiments described herein, the non-transitory computer-readable medium may include most any structure, technique, or method apart from a transitory waveform or similar medium.

[0037] As described, systems, devices, methods, processes, functions, and / or operations implementing embodiments of the present disclosure may be implemented, in whole or in part, in the form of a set of instructions executed by one or more programmed computer processors, such as a central processing unit (CPU) or microprocessor. Such processors may be incorporated in a device, server, client, or other computing or data processing device, operated by or in communication with other components of the system. By way of example, FIG. 5 illustrates elements or components that may be present in a computer device or system 500 configured to implement a method, process, function, or operation according to an embodiment of the present disclosure. The subsystems illustrated in FIG. 5 are connected via a system bus 502. The subsystems may include a display device 504 and peripherals, and input / output (I / O) devices, coupled to an I / O controller 506, may be connected to the computer system by any number of means known in the art, such as a serial port 508. For example, serial port 508 or external interface 510 may be used to connect computing device 500 to additional devices and / or systems not shown in FIGURE 5, including a wide area network such as the Internet, a mouse input device, and / or a scanner. Through the connection via system bus 502, one or more processors 512 may communicate with each subsystem and control the execution of instructions stored in system memory 514 and / or fixed disk 516, as well as the exchange of information between the subsystems. The system memory 514 and / or fixed disk 516 may embody a tangible computer readable medium.

[0038] Any of the software components, processes, or functions described herein may be implemented as software code executed by a processor using any suitable computer language, such as, for example, Java, JavaScript, C++, or Perl, using, for example, conventional or object-oriented techniques. The software code may be stored as a sequence of instructions or commands in a non-transitory computer-readable medium, such as, for example, a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard drive or a floppy disk, or an optical medium such as a CD-ROM. In this context, a non-transitory computer-readable medium is most any medium suitable for storing data or sets of instructions, apart from the transient waveforms. Such computer-readable media may be on or within a single computing device, or may be present on or within different computing devices within a system or network.

[0039] According to one embodiment, a processing element or processor, as described herein, may be a central processing unit (CPU) or may be conceptualized as a CPU (such as a virtual machine). In this embodiment, the CPU, or a device in which the CPU is embedded, may be coupled, connected, and / or communicate with one or more peripheral devices, such as a display device.

[0040] A non-transitory computer readable storage medium as referred to herein may include many physical drive units, such as, for example, a RAID, a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, a thumb drive, a pen drive, a key drive, a High Definition Digital Versatile Disk (HD-DVD) optical disk drive, an internal hard disk drive, a Blu-ray optical disk drive, a Holographic Digital Data Storage (HDDS) optical disk drive, a Synchronous DRAM (SDRAM), or other types of memory based on similar devices or similar technologies. As noted above, with respect to the embodiments described herein, a non-transitory computer readable medium may include most any configuration, technology, or method apart from a transient waveform or similar medium.

[0041] Certain implementations of the disclosed technology are described herein with reference to block diagrams of systems and / or flowcharts or flow diagrams of functions, operations, processes, and methods. It will be understood that one or more blocks of the block diagrams, one or more stages or steps of the flowcharts or flow diagrams, and combinations of blocks of the block diagrams and stages or steps of the flowcharts or flow diagrams, respectively, can be implemented by computer-executable program instructions. It should be noted that in some embodiments, one or more of the blocks, or stages or steps, do not necessarily have to be performed in the order presented, or even at all.

[0042] These computer executable program instructions may be loaded into a general purpose computer, special purpose computer, processor, or other programmable data processing device to produce an embodiment of the machine, and the instructions executed by the computer, processor, or other programmable data processing device create means for performing one or more of the functions, operations, processes, and methods described herein. These computer program instructions may be stored in a computer readable memory that is manageable by the computer or other programmable data processing device to embodied functions, and the instructions stored in the computer readable memory create an article of manufacture that includes instruction means for performing one or more of the functions, operations, processes, and methods described herein.

[0043] Aspects of the present disclosure can operate on specially created hardware, firmware, digital signal processors, or specially programmed general-purpose computers, including processors that operate according to programmed instructions. The term controller or processor in this application contemplates microprocessors, microcomputers, application specific integrated circuits (ASICs), and dedicated hardware controllers, and the like. One or more aspects of the present disclosure can be implemented in computer-available 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, and the like, which, when executed by a processor in a computer or other device, perform particular tasks or implement particular abstract data formats. Computer-executable instructions may be stored in computer-readable storage media, such as hard disks, optical disks, removable storage media, solid-state memory, random access memory (RAM), and the like. As will be appreciated by those skilled in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. Furthermore, such functionality may be embodied in whole or in part in firmware or hardware equivalents, such as integrated circuits, FPGAs, and the like. Certain data structures may be used to more effectively implement one or more aspects of the present disclosure, and such data structures are considered to be within the scope of the computer-executable instructions and computer-usable data described herein.

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

[0045] A computer storage medium refers to 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 technology, Compact Disc Read-Only Memory (CD-ROM), Digital Video Disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage 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 transitory forms of signal transmission.

[0046] A communication medium refers to any medium capable of communicating computer readable information. By way of example, and not limitation, communication media may include coaxial cables, fiber optic cables, air, or any other medium suitable for communicating electrical, optical, radio frequency (RF), infrared, acoustic, or other types of signals. EXAMPLES

[0047] Examples of the present invention are set forth below. Embodiments of the present invention may include any one or more of the following examples, or any combination thereof.

[0048] Example 1 is a video format detector comprising: a video input configured to receive a video signal in one of a plurality of possible video formats; a cumulative distribution function generator configured to generate a cumulative distribution function curve from components of the video signal; a feature detector configured to generate one or more feature vectors from the cumulative distribution function curve; 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 of the video signal based at least in part on the feature vectors in which the video signal was received.

[0049] Example 2 is the video format detector of example 1, wherein the video classifier is configured to generate a prediction of the video format based at least in part on the model generated for the video classifier.

[0050] Example 3 is the video format detector of any one of Examples 1 or 2, wherein the classifier is a support vector machine.

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

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

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

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

[0055] Example 8 is the video format detector of any one of examples 1, 2, and 4 to 7, wherein the video classifier is a Bayesian, decision tree, or convolutional neural network.

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

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

[0058] Example 11 is the method of example 10, in which generating a prediction of the video format includes generating the prediction based at least in part on the model generated for the video classifier.

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

[0060] Example 13 is the method of example 12, further comprising receiving the detected video format from the threshold detector at a multiplexer and selecting an input of the multiplexer based on the detected video format.

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

[0062] Example 15 is the method of example 14, in which the component of the signal is a luminance component of a video signal, a color space component of a video signal, or both a luminance component of a video signal and a color space component of a video signal.

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

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

[0065] Example 18 is one or more computer-readable storage media comprising 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 plurality of possible video formats, generate one or more feature vectors from the cumulative distribution function curve, and determine, by a video classifier, a prediction of the video format in which the video signal was generated based at least in part on the one or more feature vectors.

[0066] Example 19 is the one or more computer-readable storage media of Example 18, further comprising instructions to cause the video format detector to filter a prediction of the video format from the video classifier, output a filtered prediction of the video format, determine whether the filtered prediction of the video format breaches a threshold, and output a value indicative of the video format based on whether the filtered prediction of the video format breaches the threshold.

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

[0068] The above-described versions of the disclosed subject matter have a number of advantages that have been described or that will be apparent to those of skill in the art. Nevertheless, not all versions of the disclosed devices, systems or methods require these advantages or features.

[0069] In addition, the description of this application refers to specific features. It should be understood that the disclosure herein includes all possible combinations of those specific features. When a particular feature is disclosed in the context of a particular aspect or embodiment, that feature can also be used in the context of other aspects and embodiments, to the extent possible.

[0070] Furthermore, when the application refers to a method having two or more defined steps or processes, those defined steps or processes may be performed in any order or simultaneously, unless the context precludes such a possibility.

[0071] For convenience of illustration, specific embodiments of the invention have been illustrated and described, but it will be understood that various changes can be made therein without departing from the spirit and scope of the invention. Accordingly, the invention is not to be limited except as by the appended claims.

Claims

1. a video input configured to receive a video signal in one of a plurality of possible video formats; a cumulative distribution function generator configured to generate a cumulative distribution function curve from components of said video signal; a feature detector configured to generate one or more feature vectors from the cumulative distribution function curve; a video classifier configured to receive the one or more feature vectors from the feature detector and generate a prediction of the video format, the video signal being generated at least in part based on the received feature vectors; a recursive filter configured to filter the prediction for the video format from the video classifier and output a filtered prediction for the video format; a threshold detector configured to receive the filtered prediction of the video format and output a detected video format based on whether the filtered prediction of the video format breaches one or more thresholds; 1. A video format detector comprising:

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

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

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

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

6. 6. The video format detector of claim 5, wherein the component of the video signal is a luminance component of the video signal, a color space component of the video signal, or both the luminance component of the video signal and a color space component of the video signal.

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

8. 2. 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 a color space of the video signal, the color space classifier being generated at least in part based on the received feature vectors.

9. receiving a video signal in one of a plurality of possible video formats; generating a cumulative distribution function curve from components of said video signal; generating one or more feature vectors from the cumulative distribution function curve; generating, by a video classifier, a prediction of the video format, the video signal being generated at least in part based on the one or more feature vectors; filtering the prediction for the video format from the video classifier and outputting a filtered prediction for the video format; determining whether the filtered prediction of the video format breaches a threshold; outputting a detected video format based on whether the filtered prediction of the video format breaches the threshold; and 16. A method for detecting a video format of an input video, comprising:

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

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

12. 12. The method of claim 11, further comprising converting the component of the video signal into a converted component of the video signal, the multiplexer including a first input for receiving the component of the video signal and a second input for receiving the converted component of the video signal.

13. The method of claim 12 , wherein the component of the video signal is a luminance component of the video signal, a color space component of the video signal, or both the luminance component of the video signal and a color space component of the video signal.

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

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

16. A program, when executed by one or more processors of a video format detector, causing the video format detector to: generating a cumulative distribution function curve from components of the received video signal in one of a plurality of possible video formats; generating one or more feature vectors from the cumulative distribution function curve; determining, by a video classifier, a prediction of the video format in which the video signal was generated based at least in part on the one or more feature vectors; filtering the prediction for the video format from the video classifier and outputting a filtered prediction for the video format; determining whether the filtered prediction of the video format breaches a threshold; a program comprising instructions for outputting a value indicative of the video format based on whether the filtered prediction of the video format breaches the threshold;

17. The video format detector:

20. The program of claim 16, further comprising instructions for generating a prediction of a color space of the video signal in which the video signal was generated based at least in part on the one or more feature vectors.

Citation Information

Patent Citations

  • Image signal identification apparatus, receiver, image signal identification method, and program

    JP2017121022A

  • Techniques for Predicting Perceptual Video Quality

    JP2018522448A