1. Field of the Invention
The present invention generally relates to automatic detection of video artifacts.
2. Background Information
With the constant introduction of new features and cost reductions, reducing the time to market for new versions of set top boxes (STB) is critical to commercial success. Validation tests, such as stress tests, must be performed on the device to test its functions and stability. Validation tests consume a large portion of this time to market, so any reduction in the validation time will contribute to the commercial success of the product.
A stress test is one of the validation tests that are run over a long period of time, under different conditions such as temperature or humidity, in order to test the performance of the new STB. Since the tests are run over a long period of time, it is not practical for a developer to sit and watch the display in order to determine if a visible artifact has occurred with the picture. However, developers need to record those artifacts for debugging and product improvement.
Turning now to
In accordance with an aspect of the present invention, an apparatus is disclosed. According to an exemplary embodiment, the apparatus comprises an input for receiving an image, a processor for generating an edge value for each of plurality of pixels within said image by weighting said each of said plurality of pixels with a plurality of neighboring pixels, and for generating a first continuous edge value if a plurality of said edge values exceed a first threshold, and for determining whether a second continuous edge exists in a region surrounding said first continuous edge, and for generating an indication of an artifact in response to determining that said second continuous edge does not exist; and a display for displaying said indication to a user.
In accordance with another aspect of the present invention, a method for detecting visual artifacts in a video frame or stream is disclosed. According to an exemplary embodiment, the method comprises steps of receiving an image, generating an edge value for each of plurality of pixels by weighting said each of said plurality of pixels with a plurality of neighboring pixels, generating a first continuous edge value if a plurality of said edge values exceed a first threshold, determining whether a second continuous edge exists in a region surrounding said first continuous edge; and generating an indication of an artifact in response to determining that said second continuous edge does not exist.
The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein:
The exemplifications set out herein illustrate preferred embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
The characteristics and advantages of the present invention will become more apparent from the following description, given by way of example. One embodiment of the present invention may be included within an integrated circuit. Another embodiment of the present invention may comprises discrete elements forming a circuit. The exemplifications set out herein illustrate preferred embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
The system of an exemplary embodiment of the present application teaches a method and system to detect out the images with visible artifacts due to STB decoding error based on a generated artificial edge map. The system may also be used for other applications such as for detecting the artificial edges due to compression (blockiness) or packet loss, since those visible artifacts also have the similar features. In particular, the application teaches a method to detect out the images with the visible artifacts, such as those visible in
The system looks to identify artificial edges from texture edges by using the relationship between the edges in the local area to distinguish artificial edges from texture edges. The system further looks to determine if an image has visible artifacts or not by determining if the ratio of the detected artificial edges over all pixels is higher than a threshold. If so, the image is marked as an image with visible artifacts. An additional advantage of this method is that it can be extended to detect other artifacts due to compression or packet loss.
The exemplary embodiment of the proposed method is described as used in 8-bit depth images/videos and the related parameters or thresholds are all set for 8-bit depth images/videos. This method and apparatus can be used for other application such as 10-bit depth or 12-bit depth image/video, the related parameters and thresholds need to be adjusted accordingly.
Turning now to
When the program image is received 210, the system proceeds to mark out all the edges in an image, for example texture edges and artificial edges. For every pixel in an image, its edge value Eij is equal to zero if pixel (i, j) is at the top, right or bottom boundaries of the image. Otherwise, the edge value is equal to the weighted difference between the neighboring pixels.
Turning now to
Returning to the method of
T1 and T2 are two predefined thresholds. Users or manufacturers may optionally change them for different applications 260. For example, for stress test of an STB receiving the image of
The significant edge map 240 is then determined from the continuous edge map. Texture edges are often concentrated in local area with some other same level texture edges, while artificial edges are often much outstanding than other neighboring texture edges. Texture edges are then distinguished from artificial edges by comparing the edge value in local area. Using this criteria most of the texture edges can be removed while keep the io artificial edges.
Turning now to
First the average edge value from Ci−m,j to Ci+n,j are calculated to determine whether or not the continuous edge values are outstanding in local area.
=average(Ci+k,j) k=m, . . . , 1, 0, 1, . . . , n
Next an average value is calculated by averaging all the edge values higher than a threshold for every column in the local area. Here T3 is a threshold for texture edge. In an exemplary embodiment, its value is 5. If in one column all the edge values are lower than T3, the average edge value is set as 0.
E
d
Finally the calculated two average values are compared. If there exists an edge in same level, then all the continuous edge values from Ci−m,j to Ci+n,j are set to 0. If the upper condition in the formula below is not satisfied for all the 6 columns in the local area, this means the continuous edge from Ci−m,j to Ci+n,j is most significant in the local area, then the continuous edge values are kept. Here α is a parameter to define the significance of the continuous edge. Its default value is 0.6. Vi+k,j is the edge value after the significant edge map is determined 240. Here it checks the 6 neighboring columns one by one, only if the
After the significant edge map is determined 240, most the texture edges have been removed. In an optional next step in the exemplary method, a special case is processed. Turning now to
This type of edge is only exists occasionally in an image, so only when the length of the edge is long enough, it can have some influence on the final result. Therefore, the system will only check the edge whose length is higher than a predetermined threshold. For example, in the exemplary embodiment, the threshold could be set to 17. If an artificial edge due to STB decoding error is longer than 17, it is therefore a very strong artifact since the artificial edge has exceed one MB, there often exists another corresponding artificial edge at the other side of the MB.
Base on the observation, these kind of edges can be identified and removed by checking their corresponding edges. Turning now to
N
nonzero≧0.5×(m+n)
After an artificial edge map is generated, it can be used for different applications. For example, to detect out the image with visible artifacts due to STB decoding error (as shown in
Firstly a ratio of the artificial edges over all the pixels is calculated,
where r is the ratio, Nv and Nt are the number of the nonzero edge values and the total number of the pixels separately.
The calculated ratio is compared with a predefined threshold T4. If r≧T4, the image is marked as with visible artifact, or else it is marked as with no visible artifact. T4 can be changed optionally by users for different content or different scenarios. For this exemplary embodiment, the default value is 0.001.
Turning now to
As described herein, the present invention provides an architecture and protocol for detecting visual artifacts in an image. While this invention has been described as having a preferred design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2012/079866 | 8/9/2012 | WO | 00 | 8/20/2015 |