Open Access

Automated optical inspection system for digital TV sets

EURASIP Journal on Advances in Signal Processing20112011:140

https://doi.org/10.1186/1687-6180-2011-140

Received: 2 June 2011

Accepted: 23 December 2011

Published: 23 December 2011

Abstract

This article proposes a real-time test and verification system for full-reference automatic image quality assessment and verification of digital TV sets. Digital camera is used for acquisition of the TV screen content in order to ensure quality assessment of the content as perceived by the user. Test has been executed in three steps: image acquisition by camera, TV screen content extraction and full-reference image quality assessment. The TV screen content is extracted from the captured image in two steps: detection of the TV screen edge and transformation of the TV screen content to dimensions of the reference image. Three image comparison methods are incorporated to perform full-reference image quality assessment. Reference image for quality assessment is obtained either by grabbing the image from TV set or by capturing the TV screen content on the golden sample. Digital camera was later replaced with DSP-based camera for image acquisition and algorithm execution which brought significant performance improvements. The comparison methods were tested under constant and variable illumination conditions. The proposed system is used to automate the verification step on the final production line of digital TV sets. The time required for verification step decreased by a factor of 5 when using the proposed system on the final production line instead of a manual one.

Keywords

sub-image extraction image comparison functional failure detection digital TV testing TV screen capturing

1 Introduction

In the recent years, it has been shown that manual verification of digital TV systems is not effective for large industries [1]. The overall complexity of the products is increasing exponentially and, on the other hand, the major goal is to keep error rate in the proximity of zero. As a result, some automated systems for digital TV testing have been proposed [2, 3]. The objective of these systems is to optimize the effort of testing and therefore to automate the most parts of the testing process. An automated fault diagnosis becomes an ongoing demand for new technology. The major challenge in designing automated testing systems is achieving acceptable levels of reliability--the system must be able to detect errors without false positives and with a very low rate of false negatives. False positives are faulty TV sets which pass the tests and false negatives are functional TV sets which fail the tests. The system should also bring significant improvements in the speed and cost of testing, in order to be acceptable in television industry.

In order to measure image quality, Sheikh and Bovik [4] propose an image information fidelity measure that quantifies the information that is present in the reference image and how much of this reference information can be extracted from the distorted image. Russo et al. [5] give a vector approach to image quality assessment. Other approaches for measuring image quality can be found in [6, 7].

This article proposes an approach for an automated verification of digital television sets based on TV screen content acquisition by camera and comparison of the captured content with the content of the reference image. Recent automatic systems for functional verification of digital TV sets use the grabber to capture the content of the TV memory and compare it to the reference content [8]. This approach does not provide verification of the TV screen content seen from user side, only verification of the TV screen content represented in the memory. While grabbing the TV memory content is easier, we propose the usage of camera to acquire the TV screen content in order to ensure quality testing of the content as seen by the user. The camera usage allows detection of problems arising in the circuits between the TV memory and the screen, i.e., when the image on the screen does not correspond to the image in the TV memory and when the TV functional operation fails. The system is based on the algorithm which extracts the content of the TV screen from the captured image and compares it with the reference images [9, 10]. The system is used as part of the Black Box Testing (BBT) system [1, 8].

The algorithm for TV screen extraction and comparison is based on the following image processing problems: line detection, rectangle detection, image transformation, and image comparison.

Line detection is the subject of many related studies. Lagunovsky and Ablameyko [11] propose the line and rectangle detection by clustering and grouping of linear primitives. They extract line primitives from image edges by linear primitives grouping and line merging. Marot and Bourennane [12] propose a formalism to transpose an image processing problem to an array processing problem. They performed straight-line characterization using the subspace-based line detection (SLIDE). Both of these methods are computationally intensive and, due to simplifications imposed by the nature of our system, they are unnecessarily complex. One popular method for line detection is the usage of Hough transform. Duan et al. [13] propose an improved Hough transform, which is the combination of the modified Hough transform and the Windowed random Hough transform. They modify the Hough transform by using the mapping and sliding window neighborhood technique. Another approach using the Hough transform is given by Aggarwal and Karl [14] which uses the inverse of Radon operator, since the Hough transform is the special case of Radon transform. Hough transform also provides unnecessary computational complexity and even though it gives reliable rectangle detection, it does not pose a suitable method for our system due to the curvature of TV edges and other non-uniformities in the system. Therefore we design our own method for line detection which is computationally simpler, but more reliable under the conditions imposed by our system. Other interesting approaches to line detection are given in [15, 16].

Hough transform is also widely used as a tool in rectangle detection. Jung and Schramm [17] present an approach to rectangle detection based on windowed Hough transform. In order to detect rectangles, they search through Hough domain for four peaks which satisfy certain geometric conditions, such that they represent two perpendicular pairs of parallel intersecting lines. Other approaches to rectangle detection are presented in [1820].

Image transformation and scaling are techniques widely used in digital television industry. Leelarasmee [21] gives the architecture for a TV sign image expander with closed caption encoder. It allows nine image scaling factors ranging from 1 × 1 to 2 × 2. Hutchison et al. [22] present application of multimedia display processor which provides a cost effective and flexible platform for many video processing algorithms, including image scaling. In order to overcome the problems such as blurring and jagging around the edges, Liang et al. [23] propose a coordinate rotation and kernel stretch strategy combined with the bilinear or bicubic algorithm. Transformation of image captured by camera is one way of document digitization. Stamatopoulos et al. [24] present a goal-oriented rectification methodology to compensate for undesirable document image distortions. Their approach relies upon a coarse-to-fine strategy. Very Large Scale Integration (VLSI) implementation of image scaling algorithm is presented by Chen et al. [25]. Other types of image transformations can be found in [2628].

Sun and Hoogs [29] present a solution for image comparison which uses compound disjoint information. They analyzed their results in the problems of image alignment, matching, and video tracking. Osadchy et al. [30] study the surface-dependent representations for image comparison which is insensitive to illumination changes. They offer a combined approach of Whitening and gradient-direction-based methods. Matungka et al. [31] present an approach to image comparison which uses adaptive polar transform, which they derived from log-polar transform. The adaptive polar transform effectively samples the image in Cartesian coordinates. They perform acceleration using the Gabor feature extraction. Other approaches to image comparison are presented in [3234]. All of these methods bring enough reliability, but they are computationally complex. Considering that our system is not pixel-sensitive, i.e., we do not need to detect faults in individual pixels, but instead functional failures which are always presented as a wrong screen content which differs from the reference image in a whole region, we propose regional-based image comparison methods which are computationally simpler but reliable-enough for our system application.

This article presents and analyzes three methods for image comparison with the goal of finding the optimal method for the system. The first two are standard image comparison methods: least-absolute-error method (LAE) and normalized cross-correlation method (NCC). The third method is the block-based modification of the normalized cross correlation, which introduces the golden sample and makes comparison scores relative to the score of the golden sample. It was designed to be more sensitive to small differences between the images, compared to the first two methods. The comparison score is used in making decision if the image on the TV screen is correct and if the TV set is functioning correctly.

The system was designed in three versions: first, the regular camera was used to capture the image and personal computer (PC) was used to run the extraction and comparison algorithm. Next, the regular camera was replaced with the DSP-based camera in order to increase the speed of image capturing. Finally, algorithm was implemented on the camera DSP, removing PC from the system, which brought significant performance improvements in algorithm execution with the goal of achieving the real-time execution.

The proposed system is used to automate the verification step on the final production line of digital TV sets. To the best of our knowledge, the verification step on the final production is mostly performed manually, by a human observing the TV screen. The TVs which are being tested are coming on a production line and passing through several test stations. Each station tests a particular part of the TV system, e.g., component mount control, High-Definition Multimedia Interface (HDMI) or SCART. Each station has a person working on it. The worker's job is to select desired test sequences and detect faults on the TV screen by directly observing the TV screen and reporting if that particular TV passes or fails the tests. Since the current method of verification is manual, many subjective errors are possible. Also, the speed of a manual verification system is slow. The worker needs to perform manual and visual check of the TV screen as well as to connect the TV set to a particular signal generator. The proposed system aims to eliminate the need for many human workers at the verification step on the final production line, aiming to automate the verification process. The time required for verification step decreased by a factor of 5 when using the proposed system on the final production line instead of a manual one [35].

The rest of the article is organized as follows: first, the system overview is presented. The detailed explanation of the central part of the system, the TV screen extraction and comparison algorithm, follows. Three methods for image comparison: LAE, NCC, and block-based normalized cross-correlation (NCC-BB) are explained and compared. Next, DSP-based implementation of the proposed system is presented. Finally, experimental results are presented with some concluding remarks.

2 System overview

The proposed verification system consists of a TV set being verified, signal generator connected to the TV set, camera for image capturing and central processing unit for execution of the algorithm, system control and presentation of the results. The diagram of the system is presented in Figure 1.
Figure 1

The system overview. This figure presents the overview of the system. The system consists of a TV set being verified, signal generator connected to the TV set, camera for image capturing and central processing unit for execution of the algorithm, system control and presentation of the results. Central processing unit can be the PC as shown in this figure, or a dedicated DSP platform as explained in this article.

The captured and the reference images are used as inputs to the detection and comparison algorithm, presented in the following sections. The main challenge in algorithm design was to make a robust method of detecting the borders of TV screen and transform the TV screen content from the captured image to the dimensions of the reference image. The two images need to have the same dimensions for comparison. Transformation is the crucial part before the comparison can be performed because the TV screen content does not appear as a rectangle in the captured image. Instead, it appears as a slightly curved quadrilateral due to the curvature of the camera lenses and relative orientation of the camera and the TV screen plane. The transformation problem is addressed and transformation equations are derived in algorithm section. The output of the algorithm is the similarity measure of the two contents. That output is used in making the decision about the matching of the two contents, as discussed later.

The black chamber is used as an integral part of the system, to control illumination conditions. The TV is brought inside the chamber, the camera inside the chamber captures the state on the TV and the TV leaves the chamber on the opposite side. After automating the verification, its speed would significantly increase. The proposed automated verification approach reduces the amount of manual work on the verification step in TV industry. The manual work is required only for connecting and disconnecting the TV to signal generators. The subjective errors are eliminated and the reliability of tests increases. The benefits of the proposed system in industry application and the proposed testing methodology implemented by the system are analyzed in detail in [35]. While the reference [35] focuses on industry application, compares manual and automatic verification and presents testing methodology on the final production line, this article presents in more detail the verification and quality metrics of video, as well as the DSP implementation of the proposed system with the goal of achieving real-time execution.

3 Algorithm for TV screen content extraction and comparison

After capturing the image of the front side of the TV set, camera sends the captured image to the central processing unit where the main algorithm of the system is executed in order to calculate the similarity score of the captured TV content with respect to the content of the reference image. This similarity score is used in making decision about the correctness of the content on the TV screen. The diagram of the algorithm is given in Figure 2.
Figure 2

The algorithm. This figure presents the block diagram of the algorithm for TV screen content extraction and comparison with the content of the reference image.

3.1 TV screen content detection and transformation

The TV screen edge detection problem can be thought of as a modified rectangle detection problem, even though the TV screen edges do not form straight lines in the captured image. The curvatures are present in the TV screen edges and therefore the buffer is used when detecting the lines of the edge to allow small curvatures, as discussed later. Additionally, this system has several constraints which simplify the detection algorithm. The TV screen edges are always approximately horizontal and vertical, and the TV screen edge is always one of the two largest rectangles in the captured image. These constraints lead to a different algorithm for detection which we implemented in the system: detection of long horizontal and vertical lines followed by the extraction of the TV screen rectangle. This section presents the steps taken to detect the edges of the TV screen. Figure 3 shows an example of the captured test image.
Figure 3

The captured image. This is an example image of the TV screen captured by the camera. TV screen boundary has at least two edges (inner and outer) which need to be detected by the algorithm. Algorithm should extract only the part of the image which represents the TV screen content--that is the part inside the inner boundary.

The first step in the algorithm is the reduction of noise by the Gaussian method [36]. In image A, the noise is reduced using the convolution defined by the Gaussian method of noise reduction.

The second step in the algorithm is the general edge detection using the Scharr operator [37]. This operator is said to have improvements over the widely used Sobel operator. After calculating the intensity and angle of the edges, threshold is applied on both values. Only edges with enough-high intensity and those with the angle in the neighborhood of the values 0 and π 2 (approx. horizontal and vertical) are kept for the future steps.

The third step in the algorithm is the detection of long horizontal and vertical lines. Due to the non-ideal positioning of the camera and the curvature resulting from the camera lenses, the lines are not horizontal or vertical, but a bit curved. For that reason, the lines are detected inside a buffer, which allows curvatures to be detected. The buffer represents the neighborhood of the points on the line. Using the buffer allows for small curvatures and discontinuities to be neglected, which result from non-ideal camera lenses and edge-detection threshold.

The final step in this part of the algorithm is the detection of the TV screen rectangle. The result from the previous step is a list of long horizontal and vertical lines. Since each TV has two edges, the screen edge and the outer edge, only the first two lines on each side are considered. The lines are checked for intersections and if two rectangles made with these lines exist in the image, the inner one is declared the TV screen. If some edges were not strong enough to be detected, only one rectangle is detected and it is declared the TV screen. If no rectangles are detected, the algorithm stops with an error message. This may happen when the camera is not properly configured so that the TV set is out of focus or if the TV set is positioned such that the camera cannot capture the whole TV screen. Figure 4 shows the detected TV screen rectangle in this section's test case. The detected TV screen edge is completed using the zero-order hold and reduced to one-pixel width.
Figure 4

The detected TV screen edge. This is the detected edge of the TV screen. It represents the inner boundary. Its interior is the TV screen content.

The reference images are in a predefined resolution, 1920 × 1080 in HDTV standard. In order to compare the extracted TV screen content with the reference images, it is required to transform it to the dimensions of the reference image. The complications arise not only in the fact that the vertices of the TV screen edge form a quadrilateral which does not have to be a rectangle or not even a rhomboid, but also in the fact that the sides of that quadrilateral are curved, due to the curvature of the camera lenses.

The transformed image does not have to be perfectly interpolated for comparison, because the comparison will be regional-based and not pixel-based. This constraint allows the simplifications in the transformation mathematics, which will be explained in this section.

In order to better understand the transformation performed in the proposed algorithm, this article proposes the method for transforming the image from the rectangle dimensions 1920 × 1080 to the TV-screen-edge-bordered area on the captured image. The algorithm performs the reverse of the proposed operation, because the comparison is made on 1920 × 1080 pictures, but the former direction of transformation is easier to understand.

As mentioned, TV screen edge does not represent any regular geometric shape. When its vertices are connected with straight lines, they form a general quadrilateral. The first step is transforming the rectangle into a quadrilateral formed by connecting the vertices of the detected TV screen edge.

Consider the case presented in Figure 5. Rectangle ABCD must be transformed into the quadrilateral A'B'C'D'. The transformation problem becomes the problem of finding the coordinates of the point G' which corresponds to an arbitrary point G from the rectangle. The point G is on the line EF which should be transformed into the line E'F', with the assumption that the lines are preserved in this transformation. It can be seen that the slope of the line E'F' is between the slopes of the lines A'B' and C'D'.
Figure 5

Transforming the rectangle ABCD to a quadrilateral A'B'C'D'. This is the geometry of transforming the TV screen content to desired dimensions of the reference image. Rectangle ABCD must be transformed into the quadrilateral A'B'C'D'. The transformation problem becomes the problem of finding the coordinates of the point G' which corresponds to an arbitrary point G from the rectangle. The point G is on the line EF which should be transformed into the line E'F', with the assumption that the lines are preserved in this transformation.

We can assume that points A and A' are in the origins of the respective coordinate systems. One of the sides of the quadrilateral A'B'C'D' can be fixed without loss of generality. We will fix the side A'D' to be vertical.

We will assume that the slope changes linearly from the line A'B' to the line C'D', since all irregularities are small. The location of the point E' is given by Equation (1).
y E = y E * A D ¯ A D ¯
(1)
Let h = A E ¯ , then the slope of the line E'F' is given by Equation (2).
θ = E F = A B + h A D ¯ * ( C D - A B )
(2)
The slopes of the lines A'B' and C'D' can be found from Equations (3), (4).
A B = arctan y B - y A x B - x A
(3)
C D = arctan y D - y C x D - x C
(4)
The location of the point G' on the line E'F' can then be found from the proportion given by Equation (5).
E G ¯ : E G ¯ = E F ¯ : E F ¯
(5)
Given length E G ¯ , the coordinates of the point G' are calculated with Equations (6), (7).
x = E G ¯ * cos θ
(6)
y = h + E G ¯ * sin θ
(7)

After transforming the rectangle into a quadrilateral, it is required to fit it in the TV screen edges which are curved. The fitting is performed first in one dimension and then in the other line by line. Each line is extended to fit the new edges.

The proposed algorithm performs the transformation in the opposite direction than the one described before, transforming the content of the TV screen to the rectangle 1920 × 1080. It is done by simply reversing the process explained there, first by contracting each line in both dimensions from curved edges to edges of a quadrilateral, and then using inverse Equations (1)-(7) to transform the quadrilateral to the rectangle.

The transformed image does not require additional interpolation because the image comparison is later performed using regional-based techniques. With these techniques, changes of individual pixels are redundant. The result of the transformation of the test image from Figure 1 is presented in Figure 6.
Figure 6

The transformed TV screen content. This is the TV screen content transformed to the dimensions of the reference image.

3.2 Image comparison methods

The comparison of the test image with the reference image is performed in the dimensions of the reference image, which in HDTV standard is 1920 × 1080. In this section three techniques for comparison are presented, one based on LAE and two based on NCC.

3.3 LAE method

The first method used for comparison is the regional-based LAE method. The image is divided into regions which are considered atomic. Each region in the test image is compared with the respective region from the reference image.

The lighting conditions when the image is captured can alter the results and bring incorrect dissimilarity of the images. In order to reduce the illumination dependence, the images are firstly normalized using a standard statistical normalization. Given the image A, the mean value μ A and the standard deviation σ A are calculated for the whole image and the image is normalized using Equation (8).
A = A - μ A σ A
(8)
The mean value of each of the three color components (red, green, blue) is calculated for each region and the differences are accumulated across regions. The overall measure of dissimilarity of the images A and B is given in Equation (9), where x and y are coordinates of the region, not of the individual pixel.
D = x , y c = R , G , B | A ( x , y ) - μ A σ A - B ( x , y ) - μ B σ B |
(9)

3.4 NCC method

This method is based on the cross-correlation as a measurement of the similarity of the two images. The normalization is performed to reduce dependence on illumination.

The similarity of image regions R A and R B in normalized images A n and B n is calculated by Equation (10) (N is the total number of pixels in the region):
S = 1 N R A , R B A n ( x , y ) * B n ( x , y ) d x d y
(10)
Normalized images can be calculated using Equation (8), which deduces to Equation (11).
A n ( x , y ) = A ( x , y ) - μ A 1 N R A ( A ( x , y ) - μ A ) 2 d x d y
(11)
Combining Equations (10) and (11), the similarity of the images A and B based on the NCC can be calculated by Equation (12).
S = ( x , y ) R A , R B ( A ( x , y ) - μ A ) ( B ( x , y ) - μ B ) d x d y ( x , y ) R A ( A ( x , y ) - μ A ) 2 d x d y ( x , y ) R B ( B ( x , y ) - μ B ) 2 d x d y
(12)

For discrete signals, integrals change to sums. Each region is processed independently and the similarities for each region are accumulated. The similarity measures are calculated for each color component and accumulated.

3.5 NCC-BB method

The problem with applying the NCC method is impossibility to define the absolute threshold in the similarity score. It is a problem because the score on an image got by NCC method is dependent on the image content. In order to overcome this problem, an improvement to the NCC comparison method is presented here. It computes the relative similarity score, instead of the absolute one computed by the NCC method. The proposed method is the NCC-BB which performs NCC comparison in blocks of an image, not the whole image. "Blocks" in the name of the method are not the same as "regions" mentioned in the previous two methods. Regions are parts of the image considered atomic, i.e., they are assigned one (R,G,B) value. Blocks are larger parts of the image for which NCC score is calculated and they consist of previously mentioned regions. In the NCC method, the whole image is one block. In the NCC-BB method, image is divided into several blocks whose NCC scores are independently calculated.

First, the correct image captured by camera is fed to the algorithm for each test case; the NCC-BB algorithm computes NCC similarity scores for each block in the image and stores them for future reference. This "learning" step does not reduce the level of automation of the system because it needs to be performed only once for each test pattern, e.g., during system installation. A correct TV set is chosen to represent the golden sample in order to capture the image on its screen by camera. After these initial tests are run and the system installation is complete, all other TV sets are tested relative to the results of the golden sample.

Let S A,B be the NCC similarity score of images A and B in the single block. Let Sgolden be the similarity score of the golden sample. The similarity score for the whole image by NCC-BB method is then computed by Equation (13).
S = max allblocks | S A , B - S golden |
(13)

Using NCC comparison on smaller blocks allows for smaller differences in the image to be reflected with the larger difference in similarity score. The use of a golden sample makes similarity score relative, instead of absolute. These improvements allow the Definition of the absolute threshold in the pass/fail decision part of the algorithm, a value not easily definable in the original NCC comparison method.

Blocks are distanced a constant number of pixels from each other, which is unrelated to the size of the block, i.e., it may be equal, smaller or even larger than the block size, although the last one is not practical because it skips parts of the image. The block is moved along the X coordinate first and when the right end of the image is reached, block is moved along the Y coordinate and set to the left end. Iteration ends when the block reaches the bottom-right corner of the image. The size of the block for full High Definition image (1920 × 1080) was chosen to be 512 × 512 with the sliding step 80%. The sliding step is the distance between blocks relative to the region size.

4 Implementation on dedicated DSP platform

The proposed verification system was designed in three ways: (1) image capturing with regular digital camera and algorithm execution on the PC, (2) image capturing with DSP-based Texas Instruments (TI) IPNC DM368 camera and algorithm execution on PC, and (3) image capturing and algorithm execution on DSP-based TI IPNC DM368 camera.

In the first implementation, digital camera was used to capture the image and send the image to PC where algorithm execution is performed. The communication between the camera and the PC is done through the universal serial bus (USB) interface. This implementation was the first solution. It is used as a reference implementation and is expected to have the slowest time of execution.

The second implementation uses the DSP-based camera TI IPNC DM368 instead of the regular one to capture the image and send it to PC. The communication between the camera and the PC is based on the local area network (LAN) interface. Figure 7 presents the overview of the system with the DSP-based camera. This implementation brings improvements to the execution speed because of faster image capturing and transfer.
Figure 7

DSP-based system overview. This figure presents the overview of the DSP-based system. Here the regular digital camera was replaced with DSP-based camera. In one version the camera is used only to capture and send the image, while in the other version it is used to capture image and execute the algorithm with the PC used only for control and presentation.

The final optimized implementation executes the algorithm on TI IPNC DM368 DSP-based camera. This implementation brings the speed improvements further because the image is not transferred to the PC and algorithm is optimized and executed on a dedicated DSP platform. PC is used only to present the test results. The number of Central Processing Unit (CPU) cycles in the optimized implementation is reduced to 24% of the number of CPU cycles in the unoptimized version. The Unified Modeling Language (UML) sequence diagram of the optimized implementation is presented in Figure 8.
Figure 8

UML sequence diagram of the optimized system. This figure presents the UML sequence diagram of the optimized system implementation. Multiple test cases are run by the test execution software. Each test case is run in the following steps: (1) the test execution software initiates the test case execution, (2) the signal generator selects the desired test pattern and sends it to the object under test through a desired interface, (3) the test pattern appears on the TV screen, (4) camera captures the image of the TV screen, (5) DSP on camera runs the algorithm, (6) the algorithm returns the pass/fail result based on the similarity score between the captured content on the TV screen and content of the reference image, (7) the result is sent to the PC where it is presented.

5 Experimental results

This section summarizes the main experimental results in (1) comparison methods (LAE, NCC, NCC-BB), (2) algorithm implementation on PC and dedicated DSP platform. Verification times on the final production line in industry and improvement of the proposed verification approach relative to the manual verification approach are discussed in detail in [35]. The speed of verification step is increased by a factor of 5 when the proposed automatic approach on the final production line is used instead of a manual one.

5.1 Results of comparison methods

The experiments of comparison methods were performed in order to verify the success of each method and to choose which method is better for detecting the content on the TV screen. The methods were first tested with the test set featuring some common TV patterns and menus. The methods were then tested with images in normal environment, captured by the camera in the constant illumination conditions. The final set of tests was performed under different illumination conditions which were not constant throughout the TV screen.

The test results are presented in Tables 1, 2, 3, and 4. In each test case, the captured image was first compared with the reference image containing the same content, as a control test. The score represents the score of the correct image and should be declared correct by the algorithm. Then the captured image was compared with three different reference images as an experimental group. The scores of these tests should be declared as not correct by the algorithm. Finally, the captured image was compared with constant white and constant black image and these scores should show the largest (maximum) difference for the test case.
Table 1

Results of the three comparison methods in pattern tests

Results of pattern tests

Number

Test

LAE

NCC

NCC-BB

1

Correct pattern

517.95

2119.78

3.07

2

Different pattern 1

1689.48

- 60.56

117.60

3

Different pattern 2

1121.15

769.23

74.67

4

Different pattern 3

2330.17

- 123.44

156.90

5

Constant black

1242.31

0.86

77.23

6

Constant white

1240.67

- 0.86

77.93

This table summarizes the results for LAE, NCC and NCC-BB comparison methods in pattern tests. All three methods successfully detected the correct reference image. Please note that LAE measures dissimilarity, while NCC and NCC-BB measure similarity, hence the correct image has the lowest score under LAE, highest score under NCC and the score closest to 0 under NCC-BB method.

Table 2

Results of the three comparison methods in menu tests

Results of menu tests

Number

Test

LAE

NCC

NCC-BB

1

Correct menu and selection

660.60

1890.65

19.61

2

Same menu, different selection 1

870.11

1565.30

58.02

3

Same menu, different selection 2

864.26

1574.24

58.02

4

Different menu

1812.21

450.80

109.75

5

Constant black

1424.51

7.79

77.86

6

Constant white

1423.85

- 7.64

77.33

This table summarizes the results for LAE, NCC and NCC-BB comparison methods in menu tests. All three methods successfully detected the correct reference image.

Table 3

Results of the three comparison methods in image tests under constant illumination

Results of image tests - constant illumination

Number

Test

LAE

NCC

NCC-BB

1

Correct image

653.41

1800.98

39.15

2

Different image 1

2191.53

82.46

125.77

3

Different image 2

2058.87

- 20.20

76.71

4

Different image 3

2572.08

16.07

133.30

5

Constant black

1772.28

- 6.23

78.13

6

Constant white

1770.22

6.20

77.06

This table summarizes the results for LAE, NCC and NCC-BB comparison methods in image tests under constant illumination. All three methods successfully detected the correct reference image.

Table 4

Results of the three comparison methods in image tests under variable illumination

Results of image tests--variable illumination

Number

Test

LAE

NCC

NCC-BB

1

Correct image

1657.58

473.74

84.16

2

Similar image 1

1722.57

348.17

84.04

3

Similar image 2

1724.35

348.17

84.04

4

Different image

1972.48

272.48

108.86

5

Constant black

1691.07

2.53

77.93

6

Constant white

1696.50

- 2.50

77.26

This table summarizes the results for LAE, NCC and NCC-BB comparison methods in image tests under variable illumination. NCC method showed the best vulnerability to these artificial and easily avoidable conditions in test environments. NCC-BB failed to detect the correct image because of its block-based properties--part where illumination is different dominated.

Table 1 shows the results of pattern tests between the three methods presented in this article. It can be seen that all three methods correctly detected the reference image whose content is present on the TV screen. It should be noted that LAE method measured the dissimilarity of the two images, while NCC and NCC-BB methods measure the similarity of the two images. Hence, the correct image has the lowest score under LAE, highest score under NCC and the score closest to 0 under NCC-BB method, because the NCC-BB score is relative to the golden sample which has the score 0.

Table 2 shows the results of menu tests between the three methods presented in this article. It can be seen that all three methods correctly detected the reference image. An example of the menu test is given in Figure 9.
Figure 9

Example of the menu test under constant illumination conditions. This is an example of the menu test. All pattern and menu tests were performed under constant illumination conditions.

The next set of tests was performed with images under constant illumination conditions. These conditions mean that the test image does not necessarily have the same brightness as the reference image, but the brightness of the test image is constant throughout the image. Due to constant illumination, normalization is expected to eliminate the difference in brightness and allow a content-only comparison. Table 3 shows that these conditions are manageable in all three methods of comparison and that correct reference image was detected.

The final set of tests was performed to test the robustness of the three methods under the artificial variable-illumination condition, as seen in Figure 10. This condition can be avoided in the TV screen verification systems by constraining the environment conditions to be constant. The robustness was tested here to show how well the methods work in uncontrolled environment which is a requirement if the algorithm is planned to be used in the consumer industry some time in the future. It can be seen from Table 4 that the NCC method was successful under conditions of variable illumination, although the relative differences were smaller. The LAE method was successful in separating identical image from the different one, but it did not give a significant score difference between the similar images. NCC-BB method was not successful under these conditions, showing that this method should be used only in controlled environments. The reason of failure is high sensitivity to small differences in the image which happen under variable illumination conditions.
Figure 10

Variable illumination condition. This shows variable illumination condition. This condition shows vulnerability of some methods, but it is easily avoidable in controlled test environments.

Even though extreme conditions which are avoidable in test environments showed vulnerability of the NCC-BB method, the real advantage of NCC-BB method is in that it gives the relative score which makes the definition of absolute pass/fail threshold much easier. In the other two methods the score largely depends on the image itself and defining the absolute threshold for all images is difficult, if not impossible. Therefore, NCC-BB method was chosen to be most suitable for industry application of this verification system.

5.2 Results of DSP implementation

This subsection presents the comparison of execution times in the three methods of system implementation presented in the previous section. As an example of testing the different inputs on the TV set, ten tests were executed in all three versions of the system: PC-based algorithm with digital camera, PC-based algorithm with TI camera and DSP-based algorithm with TI camera. Table 5 summarizes the execution times of the following 10 tests:
  • * GV-698--verifies RF input interface,

  • * CVBS1--verifies video interface on TV input EXT1,

  • * CVBS2--verifies video interface on TV input SideAv,

  • * HDMI1--verifies video interface on High Definition Multimedia Interface input 1,

  • * HDMI2--verifies video interface on HDMI input 2,

  • * YPbPr--verifies video interface on YPbPr input,

  • * VGA--verifies video interface on Vector Graphic Array input,

  • * CVBS3--verifies video interface on TV input EXT2,

  • * SVIDEO--verifies video interface on S-input,

  • * USB--verifies Universal Serial Bus interface.

Table 5

Execution times of the three versions of the system in 10 example tests

Execution times on example tests (in seconds)

Number

Test

Regular camera + PC

DSP camera + PC

DSP camera optimized

1

GV-698

11.688

14.282

7.735

2

CVBS1

20.549

11.000

8.703

3

CVBS2

21.203

13.906

8.703

4

HDMI1

22.094

11.234

14.656

5

HDMI2

20.172

13.047

11.672

6

YPbPr

30.110

10.281

10.328

7

VGA

19.719

11.610

9.469

8

CVBS3

22.547

10.312

8.703

9

SVIDEO

20.688

14.063

8.703

10

USB

25.734

10.047

12.828

 

Total

234.504

119.782

101.500

This table summarizes the execution times of the three versions of the system in 10 example tests. Optimized DSP-based algorithm has the fastest execution times.

Table 5 confirms that the optimized implementation with the algorithm execution on DSP-based camera significantly improves the execution time over the other two versions of the system. Table 6 gives results of the individual test case in more detail showing the execution times of algorithm steps in all three versions of the system. The bottleneck of the system is the TV screen extraction which execution time was significantly reduced in the DSP-based optimized version. The extraction is there no longer the bottleneck. The time for image capture was also significantly reduced in the versions using the DSP-based camera because the image is captured, pre-processed in camera and communicated with PC faster. It can be seen that the most significant improvement in use of the DSP-based camera for capturing is faster capture and transfer time, while the algorithm running on the DSP-based camera significantly decreases the execution time of the extraction algorithm. Comparison part of the algorithm is the least demanding step in all three versions.
Table 6

Execution times of algorithm steps in the three versions of the system for the HDMI2 test example

Execution times on HDMI2 test example (in seconds)

Number

Step

Regular camera + PC

DSP camera + PC

DSP camera optimized

1

Test preparation

4.794

4.227

5.402

2

Image capture

8.593

2.035

1.997

3

TV screen extraction

6.271

6.271

3.940

4

Image comparison

0.514

0.514

0.333

 

Total

20.172

13.047

11.672

This table summarizes the execution times of several algorithm steps in three versions of the system for the HDMI2 test example. The bottleneck of the system is the TV screen extraction which execution time was significantly reduced in the DSP-based optimized version where the extraction is no longer the bottleneck. The time for image capture was also significantly reduced in the optimized version because the image is not transferred to the PC.

6 Conclusions

The proposed algorithm for TV screen content detection and recognition was successful in recognizing the TV screen content under different illumination conditions. The NCC method for image comparison was robust-enough to recognize the content even under variable illumination conditions with strong brightness in the part of the image. LAE and NCC-BB methods were vulnerable for detecting the small differences under variable illumination, but they were successful under less strict conditions. NCC-BB is the best for industry application because of its relative score and the fact that variable illumination can be avoided in controlled test environments. Due to the high controllability of the environment in the test systems, all three methods may be used as part of the algorithm. Since the comparison part is not the bottleneck of the algorithm, all three methods may be used together in order to make the results more reliable.

The proposed verification method significantly increased the speed of verification on the final production line, by a factor of 5 [35]. Proposed implementation on dedicated DSP platform further increased the speed of execution.

The future study will consist of improving the steps of the algorithm to achieve better robustness. One idea is to dynamically change thresholds during TV screen edge detection, to allow adaptation in changing environments. Additional work will be done to improve robustness on the relative orientation of the camera and the TV screen plane. Other methods for comparison may be developed with better robustness on different lighting conditions.

Declarations

Acknowledgements

This study was partially supported by the Ministry of Education and Science of the Republic of Serbia, under the project No. 44009, 2011.

Authors’ Affiliations

(1)
Department of Computer Engineering and Communications, Faculty of Technical Sciences, University of Novi Sad
(2)
RT-RK Computer Based Systems LLC

References

  1. Marijan D, Teslic N, Temerinac M, Pekovic V: On the effectiveness of the system validation based on the black box testing. IEEE Circuits and Systems International Conference on Testing and Diagnosis 2009.Google Scholar
  2. Rau A: Automated test system for digital TV receivers. 2000 Digest of Technical Papers International Conference on Consumer Electronics (ICCE) 2000, 228-229.Google Scholar
  3. Rama A, Alujas R, Tarres F: Fast and robust graphic character verification system for TV sets. Eighth International Workshop on Image Analysis for Multimedia Interactive Services 2007, 19.View ArticleGoogle Scholar
  4. Sheikh H, Bovik A: Image information and visual quality. IEEE Trans Image Process 2006, 15: 430-444.View ArticleGoogle Scholar
  5. Russo F, de Angelis A, Carbone P: A vector approach to quality assessment of color images. IEEE Instrumentation and Measurement Technology Conference (IMTC) Proceedings 2008, 814-818.Google Scholar
  6. Wang Z, Bovik A, Sheikh H, Simoncelli E: Image quality assessment: from error visibility to structural similarity. IEEE Trans Image Process 2004, 13: 600-612. 10.1109/TIP.2003.819861View ArticleGoogle Scholar
  7. Marijan D, Zlokolica V, Teslic N, Pekovic V: Quality assessment of digital television picture based on local feature matching. 16th International Conference on Digital Signal Processing 2009, 1-6.Google Scholar
  8. Marijan D, Zlokolica V, Teslic N, Pekovic V, Tekcan T: Automatic functional TV set failure detection system. IEEE Trans Consum Electron 2010, 56: 125-133.View ArticleGoogle Scholar
  9. Kastelan I, Teslic N, Pekovic V, Tekcan T: TV screen content extraction and recognition algorithm for the verification of digital television systems. 17th IEEE International Conference on Engineering of Computer-Based Systems (ECBS) 2010, 226-231.Google Scholar
  10. Kastelan I, Katona M, Pekovic V, Mihic V: Automated functional verification of digital television systems using camera. 52nd International Symposium ELMAR-2010 2010.Google Scholar
  11. Lagunovsky D, Ablameyko S: Fast line and rectangle detection by clustering and grouping. Computer Analysis of Images and Patterns 1997, 503-510.View ArticleGoogle Scholar
  12. Marot J, Bourennane S: Array processing and fast optimization algorithms for distorted circular contour retrieval. EURASIP J Adv Signal Process 2007 2007., 13:Google Scholar
  13. Duan D, Xie M, Mo Q, Han Z, Wan Y: An improved Hough transform for line detection. 2010 International Conference on Computer Application and System Modeling (ICCASM) 2010, 2: 354-357.Google Scholar
  14. Aggarwal N, Karl W: Line detection in images through regularized Hough transform. IEEE Trans Image Process 2006, 15: 582-591.View ArticleGoogle Scholar
  15. Al-Eidan R, Al-Braheem L, El-Zaart A: Line detection based on the basic masks and image rotation. 2010 2nd International Conference on Computer Engineering and Technology 2010, 6: 465-469.Google Scholar
  16. Kudelski D, Mari JL, Viseur S: 3D feature line detection based on vertex labeling and 2D skeletonization. 2010 Shape Modeling International Conference (SMI) 2010, 246-250.View ArticleGoogle Scholar
  17. Jung C, Schramm R: Rectangle detection based on a windowed Hough transform. 17th Brazilian Symposium on Computer Graphics and Image Processing 2004, 113-120.View ArticleGoogle Scholar
  18. Li Z: Generalized Hough transform: fast detection for hybrid multi-circle and multi-rectangle. The Sixth World Congress on Intelligent Control and Automation 2006, 2: 10130-10134.Google Scholar
  19. He Y, Li Z: An effective approach for multi-rectangle detection. The 9th International Conference for Young Computer Scientists (ICYCS) 2008, 862-867.Google Scholar
  20. Han F, Zhu SC: Bottom-up/top-down image parsing by attribute graph grammar. Tenth IEEE International Conference on Computer Vision 2005, 2: 1778-1785.Google Scholar
  21. Leelarasmee E: A TV sign image expander with built-in closed caption decoder. IEEE Trans Consum Electron 2005, 51: 682-687. 10.1109/TCE.2005.1468019View ArticleGoogle Scholar
  22. Hutchison D, Okara K, Takeda A: Application of second generation advanced multi-media display processor (AMDP2) in a digital micro-mirror array based HDTV. IEEE Trans Consum Electron 2001, 47: 585-592. 10.1109/30.964151View ArticleGoogle Scholar
  23. Liang SF, Chen HM, Liu YC: Image enlargement by applying coordinate rotation and kernel stretching to interpolation kernels. EURASIP J Adv Signal Process 2010, 2010: 18.Google Scholar
  24. Stamatopoulos N, Gatos B, Pratikakis I, Perantonis S: Goal-oriented rectification of camera-based document images. IEEE Trans Image Process 2011,20(4):910-920.MathSciNetView ArticleGoogle Scholar
  25. Chen PY, Lien CY, Lu CP: VLSI implementation of an edge-oriented image scaling processor. IEEE Trans Very Large Scale Integration (VLSI) Syst 2009, 17: 1275-1284.View ArticleGoogle Scholar
  26. Wunschmann J, Zanker S, Muller T, Eireiner T, Gauss S, Rothermel A: New adaptive hybrid decision algorithm for video scaling. 2010 Digest of Technical Papers International Conference on Consumer Electronics (ICCE) 2010, 23-24.View ArticleGoogle Scholar
  27. Schiemenz S, Hentschel C: Scalable high quality nonlinear up-scaler with guaranteed real time performance. 2010 IEEE 14th International Symposium on Consumer Electronics (ISCE) 2010, 1-6.Google Scholar
  28. Doermann D, Liang J, Li H: Progress in Camera-Based Document Image Analysis. Proceedings of the Seventh International Conference on Document Analysis and Recognition (ICDAR) 2003, 606-616.Google Scholar
  29. Sun Z: A Hoogs, Image Comparison by Compound Disjoint Information. 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2006, 857-862.Google Scholar
  30. Osadchy M, Jacobs D, Lindenbaum M: Surface dependent representations for illumination insensitive image comparison. IEEE Trans Pattern Anal Mach Intell 2007, 29: 98-111.View ArticleGoogle Scholar
  31. Matungka R, Zheng Y, Ewing R: Image registration using adaptive polar transform. IEEE Trans Image Process 2009, 18: 2340-2354.MathSciNetView ArticleGoogle Scholar
  32. Zhao F, Huang Q, Wang H, Gao W: MOCC: a fast and robust correlation-based method for interest point matching under large scale changes. EURASIP J Adv Signal Process 2010, 2010: 16.View ArticleGoogle Scholar
  33. Guoshen Y, Morel JM: A fully affine invariant image comparison method. IEEE International Conference on Acoustics, Speech and Signal Processing 2009, 1597-1600.Google Scholar
  34. Vedaldi A, Soatto S: Relaxed matching kernels for robust image comparison. IEEE Conference on Computer Vision and Pattern Recognition 2008, 1-8.Google Scholar
  35. Katona M, Kastelan I, Pekovic V, Teslic N, Tekcan T: Automatic black box testing of television systems on the final production line. IEEE Trans Consum Electron 2011, 57: 224-231.View ArticleGoogle Scholar
  36. Davies E: Machine Vision: Theory, Algorithms, Practicalities. 3rd edition. Morgan Kaufmann; 2005.Google Scholar
  37. Scharr H: Optimal Operators in Image Processing. PhD thesis, Rupertus Carola University, Heidelberg, Germany 2000.Google Scholar

Copyright

© Kastelan et al; licensee Springer. 2011

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.