1. Field of the Invention
The present invention relates to video signal processing, more particularly to the detection and reduction of the block noise that often occurs when a digital video signal is transmitted or recorded in a compressed form.
2. Description of the Related Art
Commonly used video data compression algorithms operate on 8×8 blocks of picture elements (pixels). Block noise (also called block distortion) occurs when processing discontinuities at the block boundaries make the blocks visible in the decompressed video picture. Detecting block noise and reducing it by appropriate filtering is a known art.
One known block noise detector, disclosed in PCT Patent Application Publication No. WO2005-004489, employs an edge detector, an edge counter, and a boundary identifier. The edge detector recognizes an edge when the luminance change at a point exceeds the average luminance change at nearby points to the right and left, multiplied by a coefficient. The edge counter has a plurality of counters that count edges detected at different horizontal positions. The boundary identifier receives the edge counts at the end of each video field or frame, at a timing controlled by the vertical synchronizing signal, and detects block noise and the positions of the block boundaries from the occurrence of particularly high counts at intervals of eight picture elements. (See lines 4 to 11 on page 6 of the Japanese PCT publication, and FIGS. 1 to 3).
One problem with this known block noise detector is that it can fail to detect edges at which there is significant luminance variation one side of the edge but not on the other side.
Another problem is that large counters are needed to count edges over an entire video field or frame, and wide data paths are needed to process the resulting counts, making the block noise detector circuit large in size. A related problem is that a large memory is needed to store the video signal for one field or frame awaiting block noise detection, since noise reduction cannot begin until the block boundaries have been detected. A block noise reducer employing this block noise detector therefore has a very large circuit size.
An object of the present invention is to reduce the circuit size of a block noise detector and a block noise reducer.
Another object of the invention is to improve the accuracy of a block noise detector by detecting block boundaries even when large signal variations occur on one side of the boundary.
A block noise detector according to the invention receives an input video signal including pixel values and a horizontal synchronizing signal, and detects block boundaries due to block noise.
In the block noise detector, a spatial difference calculator calculates differences between values of adjacent pixels and outputs them as spatial differences.
A spatial difference comparator detects edges by comparing the calculated spatial differences and outputs a decision signal indicating, for each calculated spatial difference, whether an edge is detected at the corresponding position.
A phased accumulator uses a plurality of counters, which receive the decision signal cyclically, to count edges detected at different phases in the receiving cycle, and outputs the resulting count values at a timing synchronized with the horizontal synchronizing signal.
A maximum sum and phase detector outputs a maximum value signal having a maximum value among the count values output by the counters at this timing, and a maximum phase signal indicating the phase at which the maximum value occurs.
The block noise detector outputs a detected block phase signal indicating a detected block phase at which block boundaries are detected. The detected block phase signal is based on the maximum phase signal.
The counters are reset each time their contents are output in synchronization with the horizontal synchronizing signal. Accordingly, comparatively small counters suffice, reducing the circuit size of the block noise detector.
A block noise reducer incorporating this block noise detector only has to store one horizontal line of the input video signal, instead of an entire field or frame, so the circuit size of the block noise reducer is further reduced.
In edge detection at a position corresponding to a spatial difference are detected, the spatial difference comparator may compare the spatial difference separately with neighboring spatial differences to the left and neighboring spatial differences to the right, and an edge may be detected if a predetermined condition is satisfied with respect to either the neighboring spatial differences to the left or the neighboring spatial differences to the right. Edges can then be detected even at points at which the input video signal varies significantly on one side of the edge. Block boundaries can accordingly be detected more accurately then by the conventional averaging scheme.
In the attached drawings:
Embodiments of the invention will now be described with reference to the attached drawings, in which like elements are indicated by like reference characters. The embodiments detect block noise and block boundaries in a video signal that has been compressed and decompressed by a coding method that operates on blocks eight pixels wide.
Referring to
A monochrome input video signal Va is supplied to the spatial difference comparator 101 and the controller 109. The controller 109 extracts a horizontal synchronizing signal Hsync from the input video signal Va, generates a pixel clock signal CLKH with a period equal to the pixel sampling period, synchronized to the horizontal synchronizing signal Hysnc, and supplies CLKH and Hsync to the phased accumulator 102.
The controller 109 also extracts a vertical synchronizing signal Vsync, which is used together with the horizontal synchronizing signal to control the spatial difference comparator 101 and maximum sum and phase detector 103. A detailed description of the vertical synchronization operations will be omitted.
The spatial difference comparator 101 calculates differences between the values of adjacent pixels in the input video signal Va, outputs the calculated differences as spatial differences, detects edges by comparing the calculated spatial differences, and outputs the result to the phased accumulator 102 as a decision signal SDJ indicating, for each calculated spatial difference, whether an edge is detected at the corresponding position.
The phased accumulator 102 includes eight counters that cyclically receive the decision signal SDJ, count edges detected at the eight different phases in the receiving cycle (the length of the receiving cycle is eight pixel clock periods, equivalent to the horizontal block width), and generate results for one line of pixels as eight count values CAV0 to CAV7 corresponding to the eight different phases. These count values are supplied to the maximum sum and phase detector 103 at a timing synchronized with the horizontal synchronizing signal Hsync extracted from the input video signal Va.
For each line of pixels, the maximum sum and phase detector 103 generates a maximum value or maximum sum signal MAS having a maximum value among the eight count values CAV0 to CAV7 output by the counters at the above timing, and a maximum phase signal MAP indicating the phase at which the maximum value occurs. The maximum phase signal MAP is also used as a detected block phase signal DBP in this embodiment.
An example of the spatial difference comparator 101 in the block noise detector 100 is shown in
The spatial difference calculator 111 calculates the absolute differences between the values of adjacent pixels in the input video signal Va, and outputs the absolute differences as a spatial difference signal SPD to the proximal spatial difference latch 112. If, for example, the spatial difference calculator 111 receives an input video signal Va in which a block boundary BLB occurs as shown in
As the input video signal Va is monochrome, the pixel values in
The proximal spatial difference latch 112 holds the received spatial difference signal SPD in a plurality of flip-flop circuits, and outputs the nine most recently received adjacent spatial differences, numbered G1 to G9 in
When the spatial difference condition tester 113 receives these nine adjacent spatial differences G1 to G9, if the fifth spatial difference G5 is the greatest among the first to fifth spatial differences G1 to G5, or among the fifth to ninth spatial difference G5 to G9, the spatial difference condition tester 113 outputs a decision signal SDJ with the value ‘1’. If neither condition is satisfied, the spatial difference condition tester 113 outputs the decision signal SDJ with the value ‘0’. In
G5>MAX(G1, G2, G3, G4) (1)
G5>MAX(G6, G7, G8, G9) (2)
Inequality (1) means that spatial difference G5 is greater than the maximum of the four left-neighboring spatial differences G1-G4; that is, G5 is greater than all of the left-neighboring spatial differences G1-G4. Similarly, inequality (2) means that G5 is greater than all of the right-neighboring spatial differences G6-G9.
If the spatial difference calculator 111 receives an input video signal Va in which block boundaries BLB occur as shown in
The decision signal SDJ in
An example of the phased accumulator 102 in the block noise detector 100 is shown in
The phase number generator 121 operates in synchronization with the horizontal synchronizing signal Hsync, detects phases by counting pixel clock (CLKH) cycles, and outputs a phase number signal PNS with phase values from PH0 to PH7 to the decision signal distributor 122 to identify the phases.
For example, the phase number generator 121 may set a particular phase, such as phase PH0, when it receives the horizontal synchronizing signal Hsync, and then increment the phase value (number) by one at each cycle of the pixel clock CLKH. When the phase number reaches the maximum value PH7, the phase number generator 121 resets the phase number at the initial value PH0 and then repeats the same process.
The decision signal distributor 122 routes the input decision signal SDJ to different counters 1230-1237 according to the phase indicated by the input phase number signals PNS. More specifically, if a phase number signal PNS indicates a certain phase PHn, n being a positive integer equal to or greater than zero and equal to or less than seven (0≦n≦7), the decision signal distributor 122 outputs the decision signal SDJ received at phase PHn to the corresponding counter 123n.
If, for example, the decision signal distributor 122 receives the decision signal SDJ shown in
Counters 1230-1237 receive the decision signal SDJ through the decision signal distributor 122, count the input values, and output count values CAV0 to CAV7 for one line at a timing synchronized with the horizontal synchronizing signal Hsync.
If, for example, one line has L pixels, L being a positive integer, the counters 1230-1237 output the count values CAV0 to CAV7 reached at the (L−1)th pixel position p(L−1) as shown in
An example of the maximum sum and phase detector 103 in the block noise detector 100 is shown in
For each line, the maximum count detector 131 compares the eight input count values CAV0 to CAV7, outputs a maximum value signal MAS having the maximum value CAVm among the eight count values, and outputs a maximum phase signal MAP indicating the phase PHm at which the maximum value CAVm occurs. In the first embodiment, the maximum count detector 131 also outputs the maximum phase signal MAP as the detected block phase signal DBP.
Referring to
The horizontal block noise detector 201 has the same structure as the block noise detector 100 in
The line memory 202 holds the input video signal Va for one horizontal line, thereby delaying the video signal Va by one horizontal line, and outputs the delayed signal as an input video signal Vb to the horizontal smoother 203.
The horizontal smoother 203 smoothes the input video signal Vb in a continuous range of phases including the phase identified by the detected block phase signal DBP in the current line to generate a partially smoothed output video signal Vd.
An example of the internal structure of the horizontal smoother 203 in the block noise reducer 200 is shown in
The phase number generator 231 has the same structure as the phase number generator 121 shown in
The phase number comparator 232 compares the input phase number signal PMS with the input detected block phase signal DBP, and outputs a four-phase range decision signal FPJ to the selector 234 according to the result. If the detected block phase signal DBP indicates a certain phase PHn, n being a positive integer equal to or greater than zero and equal to or less than seven (0≦n≦7), and the phase number signal PMS indicates phase PH(n−2), PH(n−1), PHn, or PH(n+1), modulo eight, the range decision signal FPJ has the value ‘1’. If this condition is not satisfied, the range decision signal FPJ has the value ‘0’.
If, for example, the phase number comparator 232 receives the phase number signal PMS as shown in
More generally, the phase number comparator 232 outputs a range decision signal FPJ having one value in a continuous range of phases including the detected block phase, at least one phase preceding the detected block phase, and at least one phase following the detected block phase, and having another value at phases outside this continuous range.
The smoothing processor 233 smoothes the input video signal Vb to generate a smoothed signal Vf, and outputs the smoothed signal Vf to the selector 234.
If, for example, the smoothing processor 233 receives an input video signal Vb in which a block boundary BLB occurs as shown in
An example of the internal structure of the smoothing processor 233 is shown in
Delay circuit 240g receives the input video signal Vb, delays the input video signal Vb by one pixel sampling period (one pixel clock period), and outputs it as an input video signal Vg to delay circuit 240h. Similarly, delay circuit 240h delays input video signal Vg by one pixel sampling period and outputs it as an input video signal Vh to delay circuit 240i; delay circuit 240i delays input video signal Vh by one pixel sampling period and outputs it as an input video signal Vi to delay circuit 240j; and delay circuit 240j delays input video signal Vi by one pixel sampling period and outputs it as an input video signal Vj to the average value calculator 241.
The average value calculator 241 receives these five input video signals Vb, Vg, Vh, Vi, and Vj, calculates their average value, and outputs it as the smoothed signal Vf. The average value may be a simple average or a weighted average.
The selector 234 selects the input smoothed signal Vf or the input video signal Vb according to the range decision signal FPJ, and outputs the output video signal Vd. More specifically, when the range decision signal FPJ is ‘1’, the selector 234 selects the smoothed signal Vf, and outputs the smoothed signal Vf as the output video signal Vd. When the range decision signal FPJ is ‘0’, the selector 234 selects the video signal Vb, and outputs the video signal Vb as the output video signal Vd.
As the output video signal Vd, the horizontal smoother 203 accordingly outputs the smoothed signal Vf in a continuous range of phases including the detected block phase, at least one phase preceding the detected block phase, and at least one phase following the detected block phase, and outputs the input video signal Vb at phases outside this range.
In the operation shown in
Because the block noise detector 100 detects edges by separately comparing each spatial difference with left-neighboring spatial differences and with right-neighboring spatial differences, outputs one detected block phase signal DBP for each horizontal synchronizing signal Hsync, and thereby detects block noise separately in each horizontal line as described above, the block noise-detector 100 has both reduced circuit size and improved accuracy.
The phased accumulator 102 in the block noise detector 100 includes eight counters 1230-1237, matching the horizontal block width of eight pixels in the description above. In general, if the horizontal block width is assumed or known to be N pixels, where N may be any integer greater than one, the block noise detector and block noise reducer include N counters (that operate in the same way as counters 1230-1237), and the phase number signals PNS and PMS take values from zero to N−1.
Referring to
The controller 109 in the block noise detector 300 in
The phase consistency tester 104 stores the maximum phase signal MAP for eight consecutive lines, compares the eight stored values, and outputs the maximum phase signal MAP as the detected block phase signal DBP if the eight MAP values are identical.
An example of the internal structure of the phase consistency tester 104 is shown in
The line number generator 141 operates in synchronization with the vertical synchronizing signal Vsync, counts lines by counting horizontal synchronizing signals Hsync modulo eight, and outputs a line number signal LNS with line values from PV0 to PV7 to the phase signal distributor 142 to identify the lines.
The phase signal distributor 142 supplies the input maximum phase signal MAP to the phase signal condition tester 143 as line-MAP values MAP0 to MAP7 according to the lines PV0 to PV7 indicated by the input line number signals LNS. More specifically, if the line number signal LNS indicates a certain line PVn, n being an integer from zero to seven (0≦n≦7), the phase signal distributor 142 outputs the maximum phase signal MAP received at line PVn as line-MAP value MAPn.
If, for example, the phase signal distributor 142 receives the maximum phase signal MAP as shown in
The phase signal condition tester 143 compares the input values MAP0 to MAP7. If all eight line-MAP values MAP0 to MAP7 are identical, the phase signal condition tester 143 outputs a detected block phase signal DBP with a value equal to the identical line-MAP values MAP0 to MAP7.
In the operation shown in
In the example shown in
Referring to
The horizontal block noise detector 401 has the same structure as the block noise detector 300 in
The line memory 204 holds the input video signal Va for eight lines, thereby delaying the video signal Va by eight lines, and outputs the delayed signal as an input video signal Vc to the horizontal smoother 203.
The operation of the horizontal smoother 203 in
Because the block noise detector 300 outputs the detected block phase signal DBP when the maximum phase signal MAP has identical line-MAP values MAP0 to MAP7 for eight consecutive lines, the block noise detector 300 can detect block noise with greater certainty than in the first embodiment.
The second embodiment is not restricted to requiring eight identical line-MAP values MAP0 to MAP7 as in the description above. The required number of consecutive line-MAP values may be any number equal to or greater than two. The more line-MAP values are used, the more effectively the block noise detector 300 can detect block noise, but the detection operation takes longer and requires more hardware, so the optimum number of required identical line-MAP values is a design choice to be made in consideration of speed, accuracy, and hardware size and cost.
Referring to
The thresholder 105 compares the input maximum value signal MAS with a threshold value and outputs the maximum phase signal MAP as the detected block phase signal DBP, but outputs the detected block phase signal DBP only when the maximum value signal MAS is greater than the threshold value.
Because the block noise detector 500 outputs the detected block phase signal DBP only when the maximum value signal MAS is greater than the threshold value, as described above, the block noise detector 500 does not mistakenly detect a rectangle forming part of the image in a video field as block noise.
A block noise reducer may include the block noise detector 500 shown in
Referring to
The signal separator 601 separates the input video signal Va into an input luminance signal Ya, an input blue color difference signal CBa, and an input red color difference signal CRa.
The luminance horizontal block noise detector 201Y has the same internal structure as the block noise detector 100 in
The luminance line memory 202Y is similar to the line memory 202 in
The blue color difference line memory 202CB is also similar to the line memory 202 in
The red color difference line memory 202CR is likewise similar to the line memory 202 in
The luminance horizontal smoother 203Y has the same internal structure as the horizontal smoother 203 in
The blue color difference horizontal smoother 203CB also has the same internal structure as the horizontal smoother 203 in
The red color difference horizontal smoother 203CR likewise has the same internal structure as the horizontal smoother 203 in
The second continuous range may be identical to the first continuous range. Each range includes at least one phase preceding the phase identified by the detected block phase signal DBP, and at least one phase following the phase identified by the detected block phase signal DBP.
Because the block noise reducer 600 smoothes the red and blue color difference signal CRa, CBa as well as the luminance signal Ya, the block noise reducer 600 in the third embodiment can reduce block noise due to coding of the color difference signals, as well as reducing luminance block noise.
Referring to
The signal separator 602 separates the input video signal Va into an input luminance signal Ya and an input color difference signal Ca.
The color difference line memory 202C is similar to the line memory 202 in
The color difference horizontal smoother 701 smoothes the input color difference signal Cb in a continuous range of phases including the phase identified by the detected block phase signal DBP in the current line, at least one preceding phase, and at least one following phase, and outputs the smoothed signal as an output color difference signal Cd.
Referring to
The smoothing processor 702 smoothes the input color difference signal Cb and outputs the smoothed signal as a smoothed signal Cf to the selector 234. Like input color difference signal Ca, input color difference signal Cb represents blue data and red data at alternate pixels, so the smoothing processor 702 is structured to average the red and blue data separately.
An example of the internal structure of the smoothing processor 702 in the color difference horizontal smoother 701 is shown in
The color difference signal averager 703 calculates the average value of input color difference signals Cb, the two-pixel delayed input color difference signal Ch, and the four-pixel delayed input color difference signal Cj, and outputs the average value as the smoothed signal Cf. The average value may be a simple average or a weighted average.
The luminance horizontal smoother 203Y and the color difference horizontal smoother 701 in this example operate as shown in
An input luminance signal Yb with values Y0, Y1, Y2, . . . for pixels p0, p1, p2, . . . is shown in
When the luminance horizontal smoother 203Y receives the luminance value Y4 for pixel p4 as shown in
When the color difference horizontal smoother 701 receives the input color difference signal Cb with the blue data CB4 of pixel p4 as shown in
Accordingly, the color difference signal averager 703 outputs average blue data values and average red data values for alternate pixels.
Because the input video signal Va smoothed by the block noise reducer 700 includes only one color difference signal instead of two, the block noise reducer 700 needs only the luminance horizontal smoother 203Y and color difference horizontal smoother 701, instead of the luminance horizontal smoother 203Y, blue color difference horizontal smoother 203CB, and red color difference horizontal smoother 203CR required in the fourth embodiment, so the circuit size of the block noise reducer 700 is substantially two-thirds the circuit size of the block noise reducer 600 in the fourth embodiment.
Referring to
The signal separator 601 separates the input video signal Va into an input luminance signal Ya, an input blue color difference signal CBa, and an input red color difference signal CRa.
The luminance block noise reducer 800Y comprises a luminance horizontal block noise detector 201Y, a luminance line memory 202Y, and a luminance horizontal smoother 203Y.
The blue color difference block noise reducer 800CB comprises a blue color difference horizontal block noise detector 201CB, a blue color difference line memory 202CB, and a blue color difference horizontal smoother 203CB.
The red color difference block noise reducer 800CR comprises a red color difference horizontal block noise detector 201CR, a red color difference line memory 202CR, and a red color difference horizontal smoother 203CR.
Like the fourth embodiment, the sixth embodiment is for use when the input video signal Va includes a luminance signal, a blue color difference signal, and a red color difference signal. The line memories 202Y, 202CB, and 202CR and luminance horizontal block noise detector 201Y are the same as in the fourth embodiment (
The blue color difference horizontal block noise detector 201CB has the same internal structure as the luminance horizontal block noise detector 201Y, but receives the input blue color difference signal CBa, detects block noise in the input blue color difference signal CBa, and outputs a detected blue color difference block phase signal DBP_CB, together with a blue color difference horizontal synchronizing signal Hsync_CB and a blue color difference pixel clock signal CLKH_CB, to the blue color difference horizontal smoother 203CB.
The red color difference horizontal block noise detector 201CR also has the same internal structure as the luminance horizontal block noise detector 201Y, but receives the input red color difference signal CRa, detects block noise in the input red color difference signal CRa, and outputs a detected red color difference block phase signal DBP_CR, together with a red color difference horizontal synchronizing signal Hsync_CR and a red color difference pixel clock signal CLKH_CR, to the red color difference horizontal smoother 203CR.
The luminance horizontal smoother 203Y, blue color difference horizontal smoother 203CB, and red color difference horizontal smoother 203CR are the same as in the fourth embodiment (
Because the block noise reducer 800 in the sixth embodiment has separate horizontal block noise detectors 201Y, 201CB, 201CR for the input luminance signal Ya, color difference signal CBa, and red color difference signal CRa, when the input video signal Va has a constant luminance level, for example, the block noise reducer 800 can still reduce block noise that may occur in the color difference signals CBa, CRa. For example, the block noise reducer 800 can reduce block noise in blue sky and sunset images.
The present invention is not limited to the preceding embodiments; those skilled in the art will recognize that further variations are possible within the scope defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2007-036002 | Feb 2007 | JP | national |
2007-172062 | Jun 2007 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5210516 | Shikama et al. | May 1993 | A |
6738528 | Nio et al. | May 2004 | B1 |
7397457 | Sugino et al. | Jul 2008 | B2 |
7538824 | Pillay et al. | May 2009 | B1 |
7668392 | Yamada et al. | Feb 2010 | B2 |
Number | Date | Country |
---|---|---|
WO-2005004489 | Jan 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20080199102 A1 | Aug 2008 | US |