1. Field of the Invention
The invention relates to image analysis and display, and to video and other images reproduced or displayed for various purposes, and more particularly, to software-implemented methods and system for determining the quality of electronically reproduced or generated images and to improvements in determining objectively the quality of a video signal for purposes such as reproduction, recording, analysis, display, processing and other uses.
2. Description of the Known Art
Determining objectively the quality of images, such as those provided by video capture, has historically been difficult. The quality of a video signal, for example, is typically very subjectively determined, being often solely dependent upon viewer perception.
There has been developed a system of the present inventor in accordance with U.S. patent application Ser. No. 09/773,475, filed Feb. 1, 2001, entitled SYSTEM FOR AUTOMATED SCREENING OF SECURITY CAMERAS, and corresponding International Patent Application PCT/US01/03639, of the same title, filed Feb. 5, 2001, both assigned to the same entity as the owner of the present application, and both herein incorporated by reference. That system, also called a video analysis or video security system, may be identified by the trademark PERCEPTRAK (“Perceptrak” herein). In the Perceptrak system, video data is picked up by any of many possible video cameras. It is processed by software control of the system before human intervention for an interpretation of types of images and activities of persons and objects in the images. As the video may be taken by video cameras in any of many possible locations and under conditions subject to variation beyond the control the system, the captured video can include useless information considered to be noise because it interferes with usable information or detracts from or degrades video data useful to the system.
More specifically, the Perceptrak system provides automatically screening of closed circuit television (CCTV) cameras (“video cameras”) for large and small scale security systems, as used for example in parking garages. The Perceptrak system includes six primary software elements, each of which performs a unique function within the operation of the system to provide intelligent camera selection for operators, resulting in a marked decrease of operator fatigue in a CCTV system. Real-time image analysis of video data is performed wherein a single pass of a video frame produces a terrain map which contains parameters indicating the content of the video. Based on the parameters of the terrain map, the system is able to make decisions about which camera an operator should view based on the presence and activity of vehicles and pedestrians, furthermore, discriminating vehicle traffic from pedestrian traffic. The system is compatible with existing CCTV (closed circuit television) systems and is comprised of modular elements to facilitate integration and upgrades.
The determination of video quality is useful and important in the operation of the Perceptrak system and in many other systems for analysis of video and other images.
A quantitative set of distinct criteria can be considered usefully and descriptively characteristic of electronically reproduced or generated images such as video frames, for example, so that the criteria can be measured, analyzed and then combined to produce an objective quality score representing the quality of the signal. Such a quality score is thought to be useful in a side variety of uses and technologies dealing with video and related displays, whether created by analog or digital techniques, and to digital photography and video image capture and reproduction or use.
By way of example, the quality score once calculated can provide an objective value that correlates directly with a frame of a video stream, for example, or a series or sequence of frames, and then can be used to verify the quality of that frame. It is further considered that the score will be of such value that a high score will give the viewer or user assurance that the video signal is of a high quality. So also, the quality score should also be useful for being recognized and used in video processing, display, manipulation and other video-employing technologies and devices where dependence and reliance upon the quality score reliably can be taken into account during processing and handling of video so scored, as by machine-implemented technique or software.
The general term “software” is herein simply intended for convenience to mean programs, programming, program instructions, code or pseudo code, process or instruction sets, source code and/or object code processing hardware, firmware, drivers and/or utilities, and/or other digital processing devices and means, as well as software per se.
In the present disclosure of methods and systems for determining the quality of video and other electronically reproduced or generated images, involving improvements in determining objectively the quality of a video signal for reproduction or display or processing, the trademark “Check Video” serves to identify the new methods and system.
Accordingly, among the objects, features and advantages of the invention may be noted the provision of methodology and system which can provide a quality score for evaluation of images electronically reproduced or generated images, such as video; which can provide such a quality score which can be correlated with frames of a video stream; which can provide a quality score based upon a quantitative set of distinct criteria associated with such images; which can provide a quality score usefully and descriptively characteristic of image frames, especially video; which can provide a quality score objectively represents the quality of a video signal and/or other electronically reproduced or generated images associated, e.g., as provided by video; and which can provide a quality score useful in a side variety of uses and technologies dealing with video and related displays, whether created by analog or digital techniques.
Briefly, the presently inventive is a software-implemented system solution to such problems, being a system and method capable of providing the ability to objectively quantify image criteria that can produce a score indicating the quality of a video signal or other electronically-generated images. Three main criteria are analyzed and are then combined to produce an objective score representing the quality of a video signal.
More specifically, in a system, such as the above-identified Perceptrak system, for capturing video of scenes, including a processor-controlled selection and control system for providing software-implemented segmentation of subjects of interest in said scenes based on processor-implemented interpretation of the content of the captured video, the present invention is an improvement comprising software implemented objective quantification of criteria associated with the video to produce a composite, or total, quality score indicating the quality of said video or other image data, including single or multiple image frames, or sequences of frames. Three main criteria are analyzed under processor control to produce respective criteria results. The criteria may be displayed and scored electronically for viewing, and/or may be written electronically to an array with or without viewing. The scoring results are then combined to produce an total score representing the quality of the video. Real-time scoring is achieved. The total score can be displayed or provided by possible indicators, whether visual or oral or otherwise, for real-time indication, or can be used in a system or for further processing, such as for equipment checking, archiving, or for either present or later-time assessment.
The three criteria are a grayscale histogram, and edge histogram, and a horizontal versus vertical sharpness graph. As each frame of a video signal of a stream of successive video frames is shown within the display area, that frame is also analyzed to produce the grayscale histogram, the edge histogram, and the horizontal versus vertical sharpness graph. As applied to a frame of video, the results of the three criteria when combined as a video quality score are such that the score is objectively indicative of the quality of that frame of video. Successive frames readily may be so analyzed in quality on a real-time basis.
An example of the methodology by visual display is provided. An example also is provided of signalling quality of video frames by audible tones.
The invention achieves various objects and advantages. For example, when viewing video frames over time corresponding histogram graphs provide a capability to discern the overall quality of the video signal. The video quality score which is obtained may be archived with the video, as the video is itself archived. The score may determine in what ways the video will be processed, further analyzed or otherwise used. The total score becomes a artifactual record permanently useful as indicative of the quality level of video it accompanies. Archived scores correlated to archived video may also serve to determine a priori whether archived video images will, upon retrieval, be useful.
The inventive technology is useful in many ways and in many technologies, including video analysis systems, video security systems, video capture systems, and various video image analysis and recognition technologies, “photo studio” video imaging, broadcasting, digital video display and processing, and for video recordation for whatever purposes.
Other objects, features and advantages will be apparent from the following description and claims.
Referring to the drawings, the features provided by the new methodology and system are illustrated, and representative pseudo code is set forth.
The proposed software-implemented system provides the ability to objectively quantify criteria that can produce a quality score indicating the quality of a video signal. Three main analytical criteria are calculated by signal analysis and the results thereof are then combined by suitable processor (not shown), such as microprocessor module of commercially available type, namely a computer or signal processing device wherein method steps for carrying out the present methodology are encoded in a software program adapted for execution on any one of a variety of known type signal processing devices in any one of a number of different operating system protocols. The processor may be that or like that disclosed in the above-identified Perceptrak system. The processor is to produce an objective score, which may most preferably be numerical, representing the quality of a video signal. The score is hereinbelow referred to as a total score.
The three criteria, or tests, which may accordingly be software-implemented by such a microprocessor system, are most preferably (1) a grayscale histogram, (2) an edge histogram, and (3) a horizontal versus vertical sharpness graph. Herein they may be referred to for convenience as Criterion 1, Criterion 2 and Criterion 3. As each frame of a video signal is shown within the display area of a system using check video, that frame is also analyzed to produce the grayscale histogram, the edge histogram, and the horizontal versus vertical sharpness graph. The two histograms and sharpness graph data, thus representing the respective data results or outputs of Criteria 1 to 3, may be written to conventional semiconductor dynamic arrays (not shown). The results of the three criteria then are combined to produce a video quality score objectively indicative of the quality of that frame of video.
More specifically, analytic use is made of these histograms and graphic analysis, as follows.
Grayscale Histogram. A histogram is defined as a graphical representation of the frequency distribution of observed values within a continuous range. Such a histogram may be displayed, or it may exist in dynamic semiconductor memory, for example. In a graphic representation, rectangles are drawn such that their bases lie on a linear scale representing different intervals. The heights of the rectangles are proportional to the frequency of the values within a given interval.
Using this as a basic definition of a histogram, a grayscale histogram shows or represents the frequency distribution of intensity values within an image. The representation may be visually presented or realized in a an array by means of digital processor. In an image with a bit depth of 8, as most often used for grayscale images, there are 256 discrete intensity levels.
The X-axis represents these intensity values in a range from 0 to 255. The range of values for a grayscale histogram start at the far left with the color black represented by a value of 0 and end at the far right with the color white represented by a value of 255. A value of 127 represents a mid-gray color.
The Y-axis indicates the frequency of occurrences within each intensity. In the case of a grayscale histogram, that frequency is the number of individual pixels within the image of the particular intensity value. If no rectangle is present for a particular channel or the Y value is 0 then there are no pixels of that intensity within the image.
The following figures and examples show the correlation between an image and its grayscale histogram.
Contrast of an image is very important to the amount of detail that can be seen in a given image. An even distribution across the grayscale histogram will produce the best contrast and thus provide the most detailed image. A distribution of intensity levels in the low range indicates an image that is too dark and contains a lot of noise. A distribution of intensity levels in the high range indicates an image that is over saturated and has little definition of objects.
Utilizing the grayscale histogram on a video stream provides a quick reference to the quality of an image. A grayscale histogram that shows an even distribution of intensity values tells the user that the image is a good one because it displays the entire spectrum of data evenly. The present quality analysis methodology and system allows a user to make use of the grayscale histogram as it changes upon receiving a video signal. By making adjustments to the brightness and contrast of the video signal, one can have a visual reference with which to determine a better quality of video signal.
It is important to note that such a grayscale histogram, while representing the distribution of image intensities, does not retain any spatial information. Given the above image flipped in reverse order so that a different image, one moving in a gradient from white to black, would produce the exact same grayscale histogram. The numbers of pixels of a given intensity within the image have not changed; rather only their placement within the image is changed. Thus it is possible to have many images that produce identical or exceedingly similar grayscale histograms.
Edge Histogram: An edge histogram shows or represents the frequency distribution of edges found within a given image. The edge histogram representation may be visually presented or realized in a an array by means of digital processor. An edge consists of an increase or decrease in the intensity information of a group of pixels. The greater the difference within group, the higher the edge. For example, a black pixel of intensity value 0 next to a white pixel of intensity value 255 would produce a very high edge across the value with the difference of the two pixels equaling a magnitude 255. However, two pixels of the same value, such as two pixels both equaling a mid-tone gray of intensity value 127, will have no edge since there is no distinguishable difference between the two intensities. The difference between these two gray pixels will yield a magnitude of 0 indicating no edge is present.
The X-axis of such an edge histogram represents the magnitude of the edge in a range from 0 to 255. The range of values in the edge histogram starts on the left with 0 and move to the right ending at 255. A value of zero represents no edge present and a value of 255 represents the greatest difference between two intensity values creating the most prominent edge. The magnitude of the edge is based upon the degree of slope as determined during the creation of a terrain map in accordance with the above-described disclosure of the Perceptrak system.
The Y-axis indicates the frequency of the occurring degrees of slope. In the case of an edge histogram the frequency is the number of degrees of slope for that particular magnitude. If no rectangle is present for a particular channel or the Y value is 0 then there are no edges of that magnitude within the image.
The following figures and examples will show the correlation between an image and its associated edge histogram.
The edge histogram, much like the grayscale histogram, plays an important role in describing the sharpness of an image. An edge histogram that contains a greater proportion of low degrees of slope and lesser proportion of high degrees of slope informs that an image is in proper focus. An image with a corresponding edge histogram of this nature informs that the edges in the image are crisp and that flat areas have little visible noise in them.
As with the grayscale histogram, it is important to note that the edge histogram does not retain any spatial data for these edges. An edge histogram of this nature shows only the frequency of the varying degrees of slope for a given image, but does not show the location of those edges.
Horizontal/Vertical Sharpness. Horizontal versus vertical sharpness plot can be graphically represented, by using a graph that shows the overall sharpness of an image based on the ratio of the horizontal to vertical sharpness along any given line of the image. Alternative, the plot need not necessarily be visually presented but can instead be realized in a an array by means of digital processor. By evaluating the average horizontal sharpness on a line with the average vertical sharpness on the same line, one can tell if that line of an image is in proper focus. By use of this technique for looking across all of the lines in the image, use of this criterion presents a good general overview of all areas of that image and determines overall focal quality.
The X-axis of such a graph or plot represents the difference between the average horizontal and average vertical degrees of slope. Values range from −255 to 255. Although the present patent drawings do not carry color attributes, colors are useful.
The Y-axis of such a graph for the image in the above-identified figure represents the line within the image over which the average horizontal and average vertical degrees of slope have been calculated. Values range from zero at the bottom of the image to the height of the image at the top. Unlike the histograms discussed previously, this horizontal to vertical sharpness graph does contain spatial information. Values along the Y-axis correspond directly to a line within the image. A good indication as to the sharpness of an image in any given area is obtained accordingly.
The following figures and examples demonstrate more specifically the relationship between an image and its corresponding horizontal versus vertical sharpness.
A horizontal versus vertical sharpness graph is a useful tool in determining the sharpness of an image in relation to the amount of bandwidth available in a video stream. A video stream constrained by limited bandwidth will show effects within the video signal itself. The effects are evident in an image along the vertical edges. These edges become blurry, bleeding outwardly with no clearly defined edge. Such is an effect of high frequency roll-off. A video signal so constrained by low bandwidth does not have the speed necessary to transition sharply from low to high or high to low and so create a well-defined edge. Instead, the transition from high to low will occur over time, creating a blurring of the edge. Since an image within a video signal is drawn line by line from top to bottom of a screen, horizontal edges are never adversely affected by high frequency roll-off.
Use of a horizontal versus vertical sharpness graph allows determining whether a video stream is suffering the effects of high frequency roll-off resulting from lack of available bandwidth. In using the color technique discussed above, such graphs with a large amount of green show very sharp vertical edges and signify that the video stream has plenty of bandwidth to properly display the image. Since horizontal edges are unaffected by high frequency roll-off an image with a large amount of red present in the horizontal versus vertical sharpness graph does not imply that the horizontal edges are very sharp and a low amount of red does not signify that the horizontal edges are blurry. Instead, a large amount of red signifies that the vertical edges are not as crisp as the horizontal edges in the same area.
Scoring. A “Check Video” score is a total score determined by use of the three techniques described above. It may be calculated without human intervention within a video analysis system, such as the Perceptrak system described above, or other image-handling or video processing or analysis system. This total score is calculated by first calculating individual scores for the grayscale histogram, the edge histogram, and the horizontal versus vertical sharpness graph. These scores are then combined, as by software-driven processing, to create the final total score. Each subpart score is determined by attaching weights to the calculated values. These weights are used to adjust the importance of the values as opposed to the overall score. These weights may be adjusted so that more or less importance is given to any piece of the gathered data. The total score provides an objective quantifying value that is indicative of the overall quality of a video image or, more broadly, a video signal or other comparable images and signals wherein quality is to be determined.
The grayscale score is found by computing the grayscale as if the intensity value were a so-called altitude. This altitude is then averaged, with penalties applied for unused values and differences in elevation of the altitudes. The following pseudo code describes the calculation of the grayscale score:
The edge score is calculated by summing up all of the edges found and creating an average slope for the image. This slope is combined with the good edges found, the average slope of the edges and the total number of edges to create an overall score for this frame.
The following pseudo code demonstrates how the edge score is calculated:
The horizontal versus vertical sharpness score is determined by summing up the weighted differences between the horizontal and vertical edges and then determining an overall weighted score. The following pseudo code demonstrates how the Horizontal versus Vertical Sharpness score is calculated:
All of the above scores are used to calculate the overall total score. This score will provides the overall quantifier for determining a good video signal or image. The total score is determined by summing up the weighted values of the grayscale score and the edge score. Then the deduction for the high frequency roll off is applied. The following pseudo code demonstrates how the Check Video Score (total score) is calculated:
As is seen from the last line of code, compensation is made to the total score function CheckVideoScore according to the need, if any, for compensating for high frequency roll-off experienced in the system.
The total score can be frequently calculated and provided, and such scoring may be done in real time as video data is captured by a video camera, with scores provided in brief intervals such as less than a second. Each total score as provided is an objective measure that correlates directly with the frame of a video stream provided by a video camera, for example. This score can then be used to verify the quality of that frame. A high score will give the viewer, user, or other device or system, objective numerical assurance that the video signal or other image or image frame is of a high quality.
Each of the criteria has unique advantages. Different purposes are served by each of the grayscale histogram, the edge histogram, and the horizontal versus vertical sharpness graph. Usable quality analysis can be learned by using only one, or only two, of the grayscale histogram, the edge histogram, and the horizontal versus vertical sharpness graph criteria.
For example, horizontal versus vertical sharpness plotting or graphing (however carried out by processor and written to an array, e.g., for a whole frame or for a portion of an area of a frame, apart from the other criteria, would give a good indication of loss of bandwidth due to a too long coax. Using the edge histogram analysis only would give a good indication of camera focus and condition of dust on the lens. Using the grayscale histogram only would give a good indication of the level of contrast in the scene.
Any one or any combination of these criteria may be regarded as useful but the application of all three together is most preferred as most advantageous, and provides a synergistic quality analysis and indication.
Resolutions greater than 8-bit grayscale data will look better to the human viewer, but in employing the grayscale histogram will take more processing time, and yet will produce the same scores.
In general, in carrying out methodology of the invention using the above-identified criteria, processor speed is not a limiting problem. As a practical matter, the frame rate can be selected to be quite rapid, such as several frames per second. As an example, a frame rate of 7 seven frames per second can be analyzed by the combined criteria here described by the use of a single typical 2.2 GHz processor. It is found that laptop and desktop computers are adequate for this purpose, and so also may be used “palm devices” or “hand-held devices” such as interactive devices of portable character, as of a type that may be carried in the palm by a user, or between fingers of the user. Because the methodology here described may be implemented by a single processor, it may be used in a variety of other portable devices, such as video cameras and digital cameras providing sufficient processing capability for implementing the criteria discussed, and providing suitable display or other indication (such as graphical or audible displays) or other use of the total quality score.
The present invention is not limited to the analysis of video images, nor to continuous video. So also, quality analysis by the present inventive methodology can be executed for various kinds of image-producing signal frames, or electronically formed images, apart from video. That is, a digitally or analog-formed image frame, whether as a single frame, or a sequence of frames, can be analyzed by the inventive system for quality. Single frames can be analyzed, e.g., as presented by bit map files of .BMP format, which is to say a standard bit-mapped graphics format used in the Windows(™)-brand software environment in a format referred to as device-independent bitmap (DIB).
Referring to
In such a display window 102, it is found useful to provide screen selection bars for image brightness and contrast control, as shown at 116a and 116b.
As the inventive methodology and system relates generally to displays for a user, it is to be understood that use of the histogram and graphical displays, and presentation of the scoring from them, conveniently and usefully may be employed by display for the benefit of an operator or user, or may be employed additionally or alternatively for internal machine-implemented or archiving purposes, and for many other analytical and other purposes. The criteria scoring and display, and the total score and its uses or display are not limited in use. Use of the present methodology does not require display per se, but can produce criteria scoring and total scoring for such internal purposes, as well as in applications for providing scoring indications other than numerical. The next figure so demonstrates such an application.
Referring to
As an example of one kind of use of the foregoing system configuration, a video camera as here described may be aimed at a video scene or subject. As the camera focus is adjusted, or as light levels or video-capture conditions vary, the output of transducer 210 varies as a function of the quality of the video. As the camera comes, for example, into sharp focus of good video subject matter, the tone and loudness of successive beeps will rise.
As another example of use, the video-checking methodology of the invention may be run in a video-handling or video-processing system. It may be used initially for video camera(s) setup, as when camera focus and output quality are to be initially determined. It may also be used periodically and regularly in systems (such as security systems) that have multiple video cameras, to provide a periodic report of the performance of the cameras and their components and to anticipate a projected failure or anticipated degradation thereof.
Various other devices and means can be used to translate the total score into usable indicia or signals of value to a human user or to machine-implemented devices for which the video quality is to be determined. For example, a meter or indicator within a video camera viewfinder may be driven to provide analog or digital or quantitative visual indication of quality of the video in accordance with the total score thus calculated.
As various modifications could be made in the systems and methods herein described and illustrated without departing from the scope of the invention, it is intended that all matter contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative rather than limiting.
Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims appended hereto and their equivalents.
This application claims the priority of U.S. provisional patent application Ser. No. 60/557,778, filed Mar. 30, 2004, entitled QUALITY ANALYSIS IN IMAGING.
Number | Date | Country | |
---|---|---|---|
60557778 | Mar 2004 | US |