This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2012-044420, filed on Feb. 29, 2012, the entire contents of which are incorporated herein by reference.
Embodiment described herein relate generally to a pixel processor and a pixel processing method.
There have been proposed various techniques for achieving stereoscopic vision. For example, a parallax barrier method and a lenticular method achieve the stereoscopic vision by use of parallax of a user without wearing eyeglasses for attaining stereoscopic viewing.
In the parallax barrier method and the lenticular method, the stereoscopic vision for the user is achieved by rearranging and displaying pixels included in a plurality of parallax images having different parallaxes from each other. Several basic algorithms for rearranging the pixels have been proposed.
In the conventional technology, the algorithms often use division or remainder, and thus result in a large processing burden.
A general architecture that implements the various features of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.
In general, according to one embodiment, a pixel processor comprises: a storage module; a first adder; and a second adder. The storage module is configured to store therein an initial parallax value, an initial coordinate value, a parallax difference, and a coordinate difference. The initial parallax value represents a parallax allocated to a predetermined pixel comprised in a display area of a display which is capable of displaying a plurality of pieces of parallax image information with parallaxes different from each other. The initial coordinate value represents a coordinate of the parallax image information displayed in the predetermined pixel. The parallax difference is for calculating, from a parallax value representing a parallax allocated to one pixel, a parallax value allocated to other pixel. The coordinate difference is for calculating, from a coordinate of parallax image information displayed in one pixel, a coordinate of parallax image information displayed in other pixel. The first adder is configured to add the parallax difference to the initial parallax value to calculate a parallax value of other pixel different from the predetermined pixel, and thereafter to repeat adding the parallax difference to the calculated parallax value to calculate a parallax value allocated to each pixel. The second adder is configured to add the coordinate difference to the initial coordinate value to calculate a coordinate of other pixel different from the predetermined pixel, and thereafter to repeat adding the coordinate difference to the calculated coordinate to calculate a coordinate of the parallax image information allocated to each pixel.
The television receiver 100 displays a broadcast program by decoding received digital television broadcast signals, and thus enables the user to watch and listen to the broadcast program thus received. The television receiver 100 can also use a display device and an audio output device that are externally provided to enable watching and listening of the broadcast program, and can further record the received broadcast program.
Digital terrestrial television broadcast signals received by the antenna 11 for receiving broadcast waves are supplied to a tuner 13 for terrestrial digital broadcasting, through an input terminal 12.
Following the control of a controller 16, the tuner 13 selects a broadcast signal of a desired channel, and then outputs the selected broadcast signal to a demodulator 14. Following the control of the controller 16, the demodulator 14 demodulates the broadcast signal selected by the tuner 13 to obtain a transport stream including a desired program, and then outputs the transport stream to a decoder 15.
Following the control of the controller 16, the decoder 15 performs TS decoding processing of a transport stream (TS) multiplexed signal, and depacketizes digital video and audio signals of the desired program to obtain a packetized elementary stream (PES), and outputs the PES to an STD buffer (not illustrated) in a signal processor 17. The decoder 15 also outputs section information sent by the digital broadcast to a section module 172 of the signal processor 17. Here, the signal processor 17 comprises a decoder 171 and the section module 172, and processes the supplied input signals.
When the television is watched and listened to, the decoder 171 selectively applies predetermined digital signal processing to the digital video and audio signals supplied from the decoder 15, and outputs the processed signals to a graphic processor 18 and an audio processor 19. On the other hand, when the program is recorded, the decoder 171 stores (records) the signals obtained by selectively applying the predetermined digital signal processing to the digital video and audio signals supplied from the decoder 15, in a storage device 29 (such as an HDD) through the controller 16.
Moreover, when the recorded program is reproduced, the decoder 171 applies predetermined digital signal processing to data read out from the storage device 29 through the controller 16, and outputs the processed data to the graphic processor 18 and the audio processor 19.
Furthermore, when a display screen of an external device displays a picture, the decoder 171 applies predetermined digital signal processing to data received through the controller 16 from the external device connected to the television receiver 100, and outputs the processed data to the graphic processor 18 and the audio processor 19.
The controller 16 is supplied from the signal processor 17 with various types of data (such as key information for B-CAS descrambling) and electronic program guide (EPG) information for obtaining programs, program attribute information (such as program categories), and caption information, etc. (such as service information including SI and PSI). The controller 16 performs image generation processing for displaying the EPG and the caption based on these supplied information pieces, and outputs the generated image information to the graphic processor 18.
Furthermore, the controller 16 has a function to control recording programs and setting timer recording of programs. When the timer recording is to be set, the controller 16 displays the electronic program guide (EPG) information on a liquid crystal display comprised in a display device 22, and sets the content of the reservation in a predetermined storage module according to a user input through the operation module 26 or the remote controller 28. Then, the controller 16 controls the tuner 13, the demodulator 14, the decoder 15, and the signal processor 17 so as to record the reserved programs at preset time.
The section module 172 outputs, among the section information supplied from the decoder 15, the various types of data and the electronic program guide (EPG) information for obtaining the programs, the program attribute information (such as program categories), and the caption information, etc. (such as service information including SI and PSI).
The graphic processor 18 has a function to synthesize the digital video signal supplied from the decoder 171 in the signal processor 17, an on-screen display (OSD) signal generated in an OSD signal generator 20, image data provided by data broadcasting, and the EPG and the caption signals generated by the controller 16, and to output the synthesized signal to a video processor 21. In addition, when captions provided by closed-caption broadcasting is to be provided, the graphic processor 18 performs processing to superimpose caption information on the video signal, based on the caption information provided by the control from the controller 16. The digital video signal output from the graphic processor 18 is supplied to the video processor 21.
The video processor 21 converts the supplied digital video signal into an analog video signal that can be displayed on the display device 22 composed of the liquid crystal display and so on, and then, outputs the analog video signal to the display device 22 to display it as a video image on the display screen of the display device 22. The video processor 21 can also output a video signal having a format displayable on an external display device (not illustrated) to the external display device through an output terminal 23 so as to make the external display device display the video signal as a video image.
The video processor 21 also performs display processing using a plurality of pieces of supplied parallax image data. Moreover, the video processor 21 may, for example, generate a plurality of pieces of parallax image data from supplied image data. In addition, the video processor 21 comprises a pixel converter 1000 (to be described later).
The display device 22 displays a plurality of pieces of parallax image data. In other word, the display device 22 comprises a configuration that enables stereoscopic viewing to the user. The display device 22 according to the present embodiment enables stereoscopic viewing by using a lenticular method.
The audio processor 19 converts the supplied digital audio signal into an analog audio signal that can be reproduced by an audio output device 24. Then, the audio processor 19 outputs the analog audio signal to the audio output device 24, to reproduce the sound. The audio processor 19 can also output an audio signal having a format reproducible by an external audio output device (not illustrated) to the external audio output device through an output terminal 25, so as to make the external audio output device reproduce the audio signal as sound.
Here, the television receiver 100 controls the overall operation thereof including various receiving operations by using the controller 16. The controller 16 comprises a central processing unit (CPU) 161, a read-only memory (ROM) 162 storing therein programs executed by the CPU 161, a random access memory (RAM) 163 for providing a work area for the CPU 161, and a nonvolatile memory 164 storing therein various types of setting information, control information, and the like. The CPU 161 cooperates with various programs to control operation of various units in an integrated manner.
Specifically, the controller 16 receives operational information from the operation module 26, or receives operational information sent from the remote controller 28 through an optical receiver 27, and controls the respective units so as to reflect the content of the operational information (such as a channel switching operation).
The controller 16 also comprises a function to switch the state of the television receiver 100 between an operating state and a standby state according to a user input through the operation module 26 or the remote controller 28. Specifically, upon receipt of a power-on instruction, the controller 16 controls a power supply controller 31 (to be described later) so as to supply power to the respective modules (except to a power feed connector 32 to be described later) of the television receiver 100, and thereby, changes the state of the television receiver 100 into the operating state. On the other hand, upon receipt of a power-off instruction, the controller 16 controls the power supply controller 31 (to be described later) so as to reduce the amount of power supply to the respective modules of the television receiver 100, and thereby, changes the state of the television receiver 100 into the standby state in which power consumption is lower than that in the operating state. Here, in the standby state, power is continued to be supplied to portions necessary for changing the state of the television receiver 100 into the operating state, such as the optical receiver 27, a portion of the controller 16, and the power supply controller 31 (to be described later).
A power supply module 30 is supplied with AC power (commercial power) from outside through a plug-in connector for wiring or the like. The power supply module 30 applies processing such as rectification to the supplied AC power, and then supplies the processed power to the power supply controller 31 and the power feed connector 32 through a power supply line L1.
Following the control of the controller 16, the power supply controller 31 supplies power to the respective modules (except to the power feed connector 32) of the television receiver 100 while the television receiver 100 is operating (in the operating state). On the other hand, while the television receiver 100 is standing by (in the standby state), the power supply controller 31 continues to supply power to configurations, such as the optical receiver 27 and the controller 16, which require power during the standby state.
The power feed connector 32 supplies the power supplied from the power supply module 30 to mobile equipment ME connected in a detachable manner to the power feed connector 32, and thereby, for example, charges the connected mobile equipment ME. Although there is no particular limitation about the connector shape of the power feed connector 32, the shape is preferable to conform to a standard (such as the Universal Serial Bus (USB) or the IEEE 1394) generally used in portable information devices such as a cellular phone and in the mobile equipment ME such as a portable music player. In the present embodiment, description will be made of an example of using a connector shape called USB Type A Receptacle. The connection between the power feed connector 32 and the mobile equipment ME may be in the form of a connection through a connection cable or the like, or in the form of a direct connection.
Description will be made of an aspect in which the television receiver 100 according to the present embodiment displays the parallax image data.
In the example illustrated in
In the example illustrated in
A group of subpixels numbered with the same number is a parallax image viewed from one parallax direction. That is, the group of subpixels numbered as 1 is a parallax image viewed from one parallax direction, while the group of the subpixels numbered as 2 is a parallax image viewed from another parallax direction. The observer perceives stereoscopically displayed image data by observing the different parallax images with the right and left eyes in this manner.
When the parallax image is displayed, the pixel converter included in the video processor 21 according to the present embodiment maps the parallax image on the display panel (16×12 pixels) of the display device 22 illustrated in
When the pixel converter comprised in the video processor 21 allocates the parallax image to the subpixels on the display panel of the display device 22, the pixel converter enlarges the parallax image so as to be fitted to the panel size, and then allocates it.
However, in practice, the same coordinate in the horizontal axis direction of the parallax image needs to be displayed on the same lenticular lens. For this reason, when the parallax image is displayed, the pixel converter corrects the parallax image so as to be displayed by width of the lenticular lens.
Next, description will be made of parallaxes allocated to the respective pixels arranged on the display device 22.
As illustrated in
However, when the shift of pixel occurs between the lenses in the horizontal direction, a remainder is obtained from division using the number of parallaxes. For example, when the shift occurs by one pixel from the pixel 706 having a parallax of 8.000, the parallax increases by 2.000. However, a remainder (mod) is obtained by dividing 10.000 by the number of parallaxes 9 because the shift of pixel occurs between the lenses. By this calculation, the parallax of a pixel 707 is obtained to be 1.000.
The parallax between subpixels adjacent in the vertical direction is also constant. The parallax of each subpixel is allocated on the basis of an angle of the lenticular lens. Thus, for example, the parallax is 7.000 for a pixel 708, 6.333 for a pixel 709, and 5.667 for a pixel 710. As illustrated by the parallaxes of these pixels, the parallax decreases by 0.667 each time the pixel is shifted downward in the vertical direction by one pixel.
The parallax of each pixel is allocated in this manner. As illustrated in
Next, description will be made of coordinates of the parallax image data allocated to the respective pixels arranged on the display device 22.
The difference of coordinates between the subpixels adjacent in the vertical direction is also constant. For example, the coordinate is 1.500 for a pixel 807, 1.537 for a pixel 808, and 1.574 for a pixel 809. As illustrated by the differences between the coordinates of the pixels, the coordinate increases by 0.037 each time the pixel is shifted downward in the vertical direction by one pixel.
The pixel converter comprised in the video processor 21 needs to allocate the parallax and the coordinate to each of the pixels, based on the rules described above.
According to the rules described above, Equation (1) for calculating a value of the parallax P_{N} allocated to each of the subpixels is expressed as given below. Note that the variable N represents a position of each pixel in the x-axis direction of the subpixel. ΔP denotes parallax difference between the pixels. NP denotes the number of parallaxes.
P
—
{N}=(P—{N−1}+ΔP) mod (NP) (1)
In addition, according to the rules described above, Equation (2) for calculating the coordinate X_{N} of the parallax image data allocated to each of the subpixels is expressed as given below. Note that ΔX denotes a coordinate difference between coordinates of adjacent lenses, in other words, a value by which the coordinate increases when the coordinate is shifted between the lenses.
X
—
{N}=X
—
{N−1}+ROUNDDOWN((P—{N−1}+ΔP)/(NP))*ΔX (2)
As for calculation of the parallax and the coordinate to be allocated to each of the pixels, there exists a document titled “C. V. Berkel, ‘Image preparation for 3D-LCD,’ Proc. SPIE, Stereoscopic Displays and Virtual Reality Systems, vol. 3639, pp. 84-91, 1999”.
In this document, the coordinate (k, l) and the parallax are expressed by following Equation (3). Note that n in the x-coordinate direction is expressed in units of subpixels, and l in the y-coordinate direction is expressed in units of pixels.
P
—
{k, l}=((k+k_offset−3·1·tan α) mod Xn) *N—tot/Xn (3)
In the example illustrated in Equation (3), k_offset denotes an offset of the lens when y=1. Xn denotes the width (in units of subpixels) in the x-direction (horizontal direction) of the lens. N_tot denotes the number of parallaxes. The number 3 indicated in Equation (3) represents the number of subpixels per pixel. Equation (3) can be transformed as follows.
Further, substituting an expression ΔP=N_tot/Xn into Equation (4) yields Equation (5), which can be seen to be equivalent to Equation (1).
P
—
{k, l}=(P—{k, l}+ΔP) mod N—tot (5)
Next, the parallax will be described. When the parallax image is allocated to the display panel, the coordinate value of the parallax image to be referred to is constant between lenses if the width of each lens is constant. Hence, Equation (6) holds.
ΔX=Xn/3*(X_image/X_panel) (6)
Xn denotes the size (in units of subpixels) in the x-direction of the lens. X_image denotes the horizontal width of the parallax image. X_panel denotes the horizontal width of the panel.
When the coordinate is shifted without crossing over between the lenses, the relationship between the coordinate (N−1, L) and the coordinate (N, L) can be expressed by Equation (7) given below.
X
—
{N, L}=X
—
{N−1, L} (7)
When the coordinate is shifted between the lenses, the relationship between the coordinate (N−1, L) and the coordinate (N, L) can be expressed by following Equation (8).
X
—
{N, L}=X
—
{N−1, L}+ΔX (8)
The condition that the shift from the coordinate (N−1, L) to the coordinate (N, L) occurs between the lenses is given by a relation P_{N−1}−ΔP≧NP. Hence, Equation (7) and Equation (8) can be combined into Equation (9) given below. Thus, the resultant Equation (9) can be seen to be equivalent to Equation (2).
X
—
{N, L}=X
—
{N−1, L}+(ROUNDDOWN((P—{N−1}+ΔP)/NP))*ΔX (9)
In this manner, an algorithm of panel mapping for realizing stereoscopic viewing without eyeglasses is represented by Equations (1) and (2). Accordingly, it is conceivable to apply a configuration for obtaining the parallax and the coordinate of each pixel by using Equations (1) and (2) to the pixel converter of the video processor 21.
A value of ΔP*S is entered from the first input port 910 to B of the first adder 901. A value of NP is entered from the second input port 911 to B of the modulo calculator 902 and B of the divider 904. A value of ΔX is entered from the third input port 912 to B of the multiplier 905.
The first output port 913 receives a value of the parallax P_{N} from the register 903, and outputs the received value. The second output port 914 receives a value of the coordinate X_{N} from the register 907, and outputs the received value.
The circuit illustrated in
Therefore, the pixel converter 1000 of the video processor 21 according to the present embodiment is implemented in a configuration illustrated below.
As illustrated in
The pixel converter 1000 according to the present embodiment comprises the configuration illustrated in
In addition, in the present embodiment, a plurality of pixels are processed in parallel because sequentially processing one pixel by one pixel requires long time.
In the case of processing the algorithm based on Equations (1) and (2) in parallel, what is required for calculating the parallax and the coordinate of a subpixel is not the parallax or the coordinate of the previous subpixel but the parallax and the coordinate of a subpixel before the previous subpixel. For example, in case of processing S subpixels in parallel, Equations (1) and (2) are changed to following Equations (10) and (11), respectively.
P
—
{N}=(P—{N−S}+ΔP*S) mod (NP) (10)
X
—
{N}=X
—
{N−S}+ROUNDDOWN((P—{N−S}+ΔP*S)/(NP))*ΔX (11)
Depending on whether the value of P_{N−S}+((ΔP*S) mod NP) is greater than or equal to NP, Equation (10) can be expressed as one of two equations given below. That is, if (P_{N−S}⇄((ΔP*S) mod NP)<NP), in other words, if a shift from P_{N−S} to P_{N} occurs without crossing over between the lenses, the value of the parallax P_{N} is calculated using Equation (12).
P
—
{N}=P
—
{N−S}+((ΔP*S) mod NP) (12)
Furthermore, if (P_{N−S}+(ΔP*S) mod NP)≧NP), in other words, if the shift from P_{N−S} to P_{N} occurs over between the lenses, the value of the parallax P_{N} is calculated using Equation (13).
P
—
{N}=(P—{N−S}+((ΔP*S) mod NP)−NP (13)
In addition, depending on whether the value of P_{N−S}+((ΔP*S) mod NP) is greater than or equal to NP, Equation (11) can be expressed as one of two equations given below. That is, if (P_{N−S}+((ΔP*S) mod NP)<NP), the coordinate X_{N} is calculated using Equation (14).
X
—
{N}=X
—
{N−S}+ROUNDDOWN((ΔP*S)/(NP))*ΔX (14)
Furthermore, if (P_{N−S}+(ΔP*S) mod NP)≧NP), the coordinate X_{N} is calculated using Equation (15).
X
—
{N}=X
—
{N−S}+(ROUNDDOWN((ΔP*S)/(NP))+1) (15)
In order to implement Equations (12), (13), (14), and (15) described above as a circuit, each set of invariable parameters are combined as a fixed parameter.
For example, the combinations are formed as follows: ΔP0=((ΔP*S) mod NP); ΔP1=((ΔP*S) mod NP)−NP; ΔX0=ROUNDDOWN((ΔP*S)/(NP))*ΔX; and ΔX1=ROUNDDOWN((ΔP*S)/(NP))+1)*ΔX. As a result, the equations for calculating the parallaxes can be expressed as follows: Equation (12) as Equation (16), and Equation (13) as Equation (17).
P
—
{N}=P
—
{N−S}+ΔP0 (16)
where (P_{N−S}+ΔP0<NP)
P
—
{N}=P
—
{N−S}−ΔP1 (17)
where (P_{N−S}+ΔP0≧NP)
In addition, the equations for calculating the coordinates can be expressed as follows: Equation (14) as Equation (18), and Equation (15) as Equation (19).
X
—
{N}=X
—
{N−S}+ΔX0 (18)
where (X_{N−S}+ΔX0<NP)
X
—
{N}=X
—
{N−S}−ΔX1 (19)
where (X_{N−S}+ΔX0≧NP)
A circuit configuration implementing the processing represented by Equations (16) to (19) serves as the circuit configuration according to the present embodiment illustrated in
The circuit implementing the processing represented by Equations (16) to (19) behaves according to recurrence equations. Therefore, initial values need to be entered at the start of the processing. The initial values are P_0 and X_0. P_0 and X_0 are the parallax and the coordinate, respectively, of a subpixel, for example, at the left end of a line from which the processing is started, on the display panel of the display device 22. The parallax and the coordinate of the subpixel at the left end need to be externally obtained.
The ROM 162 according to the present embodiment stores therein the parallax and the coordinate of the subpixel at the left end serving as an initial value of the parallax and an initial value of the coordinate, respectively. Then, when the parallax and the coordinate of each pixel are to be calculated, the pixel converter 1000 obtains the parallax and the coordinate of the subpixel at the left end, from the ROM 162. However, the initial values are not limited to be obtained from the ROM 162, and for example, values calculated in the controller 16 may be obtained.
The ROM 162 further stores therein ΔP0, ΔP1, ΔX0, and ΔX1. Each of ΔP0 and ΔP1 is a difference in parallax for calculating, from a parallax allocated to one pixel, a parallax allocated to another pixel. Each of ΔX0 and ΔX1 is a difference in coordinate for calculating, from a coordinate of parallax image data displayed in one pixel, a coordinate of parallax image data displayed in the other pixel.
A value of ΔP0 is entered from the first input port 1010 to B of the first adder 1001. A value of ΔP1 is entered from the second input port 1011 to B of the second adder 1002. A value of ΔX0 is entered from the third input port 1012 to B of the third adder 1006. A value of ΔX1 is entered from the fourth input port 1013 to B of the fourth adder 1007. A value of NP is entered from the fifth input port 1014 to B of the comparator 1004.
The first output port 1015 receives a value of the parallax P_{N} from the first register 1005, and outputs the received value. The second output port 1016 receives a value of the coordinate X_{N} from the second register 1009, and outputs the received value.
The first adder 1001 is supplied through A with the initial value of the parallax at the start of the processing, and then from the next time on, supplied with a value of a parallax stored in the first register 1005. The first adder 1001 is supplied with the value of ΔP0 through B. Then, the first adder 1001 adds the parallax difference ΔP0 to the initial value of the parallax to calculate a parallax of a pixel (other than the initial pixel) that is shifted from the initial pixel by the number of parallel processes S. Thereafter, the first adder 1001 repeats adding the parallax difference ΔP0 to the parallax held in the first register 1005.
The second adder 1002 is supplied through A with the initial value of the parallax at the start of the processing, and then from the next time on, supplied with the value of the parallax stored in the first register 1005. The second adder 1002 is supplied with the value of ΔP1 through B. Then, the second adder 1002 adds the parallax difference ΔP1 to the initial value of the parallax to calculate a parallax of a pixel (other than the initial pixel) that is shifted from the initial pixel by the number of parallel processes S. Thereafter, the second adder 1002 repeats adding the parallax difference ΔP1 to the parallax held in the first register 1005.
Based on a result of comparison by the comparator 1004, it is determined which of the parallax value calculated in the first adder 1001 and the parallax value calculated in the second adder 1002 is to be used.
The comparator 1004 is supplied through A with a result of calculation by the first adder 1001. The comparator 1004 is supplied with the number of parallaxes NP through B. Then, the comparator 1004 determines whether the result of calculation by the first adder 1001, that is, a value obtained by adding the parallax difference ΔP0 to the previous parallax stored in the first register 1005, is greater than or equal to the number of parallaxes NP. Then, the comparator 1004 outputs the result of determination to the first selector 1003 and the second selector 1008.
If the value obtained by adding the parallax difference ΔP0 to the previous parallax is determined by the comparator 1004 to be greater than or equal to the number of parallaxes NP, the first selector 1003 selects and outputs the result of addition by the second adder 1002. On the other hand, if the value obtained by adding the parallax difference ΔP0 to the previous parallax is determined by the comparator 1004 to be less than the number of parallaxes NP, the first selector 1003 selects and outputs the result of addition by the first adder 1001.
The first register 1005 stores therein and externally outputs the result of addition that is output from the first selector 1003, and also outputs the result of addition to the first adder 1001 and the second adder 1002 in order to calculate the next parallax.
Next, a configuration for calculating the coordinate will be described. The result of comparison by the comparator 1004 is also used for calculating the coordinate.
The third adder 1006 is supplied through A with the initial value of the coordinate at the start of the processing, and then from the next time on, supplied with a coordinate stored in the second register 1009. The third adder 1006 is supplied with ΔX0 through B. Then, the third adder 1006 adds the coordinate difference ΔX0 to the initial value of the coordinate to calculate a coordinate of a pixel that is shifted from the initial pixel by the number of parallel processes S. Thereafter, the third adder 1006 repeats adding the coordinate difference ΔX0 to the coordinate held in the second register 1009.
The fourth adder 1007 is supplied through A with the initial value of the coordinate at the start of the processing, and then from the next time on, supplied with a coordinate stored in the second register 1009. The fourth adder 1007 is supplied with ΔX1 through B. Then, the fourth adder 1007 adds the coordinate difference ΔX1 to the initial value of the coordinate to calculate a coordinate of a pixel that is shifted from the initial pixel by the number of parallel processes S. Thereafter, the fourth adder 1007 repeats adding the coordinate difference ΔX1 to the coordinate held in the second register 1009.
If the value obtained by adding the parallax difference ΔP0 to the previous parallax is determined by the comparator 1004 to be greater than or equal to the number of parallaxes NP, the second selector 1008 selects and outputs the result of addition by the fourth adder 1007. On the other hand, if the value obtained by adding the parallax difference ΔP0 to the previous parallax is determined by the comparator 1004 to be less than the number of parallaxes NP, the second selector 1008 selects and outputs the result of addition by the third adder 1006.
The second register 1009 stores therein and externally outputs the result of addition that is output from the second selector 1008, and also outputs the result of addition to the third adder 1006 and the fourth adder 1007 in order to calculate the next coordinate.
The example illustrated in
Each of the first pixel parallax and coordinate calculation circuit 1101, the second pixel parallax and coordinate calculation circuit 1102, the third pixel parallax and coordinate calculation circuit 1103, and the fourth pixel parallax and coordinate calculation circuit 1104 calculates a parallax and a coordinate of each of the three subpixels comprised in one pixel.
The first pixel parallax and coordinate calculation circuit 1101 comprises a subpixel parallax and coordinate calculation circuit (R component) 1111, a subpixel parallax and coordinate calculation circuit (G component) 1112, and a subpixel parallax and coordinate calculation circuit (B component) 1113.
Each of the subpixel parallax and coordinate calculation circuit (R component) 1111, the subpixel parallax and coordinate calculation circuit (G component) 1112, and the subpixel parallax and coordinate calculation circuit (B component) 1113 comprises the circuit configuration illustrated in
The second pixel parallax and coordinate calculation circuit 1102, the third pixel parallax and coordinate calculation circuit 1103, and the fourth pixel parallax and coordinate calculation circuit 1104 each comprises the same configuration as that of the first pixel parallax and coordinate calculation circuit 1101, and thus, the explanations thereof are omitted.
The first pixel parallax and coordinate calculation circuit 1101, the second pixel parallax and coordinate calculation circuit 1102, the third pixel parallax and coordinate calculation circuit 1103, and the fourth pixel parallax and coordinate calculation circuit 1104 perform parallel processing for 12 subpixels.
In the example illustrated in
Note that all of the pixel parallax and coordinate calculation circuits are each supplied with the same parameters ΔP0, ΔP1, ΔX0, ΔX1, and NP because the parameters ΔP0, ΔP1, ΔX0, ΔX1, and NP are common for all of the circuits.
In the present embodiment, the pixel converter comprises the configuration described above, and thus can perform in parallel the calculation processing of obtaining the parallax and the coordinate of each of the 12 subpixels included in the four pixels.
The circuit configuration is not limited to that of the first embodiment illustrated in
Compared with the configuration of the pixel converter 1000 of the first embodiment, the configuration of the pixel converter 1200 illustrated in
As illustrated in
However, in the modification, two cycles are required until the results of calculation are output because the configuration illustrated in
In the configuration illustrated in
In addition, as initial values to be supplied to each one of the subpixel parallax and coordinate calculation circuits, a parallax and a coordinate of an i-th pixel (0≦i<12) from the left end, and a parallax and a coordinate of an (i+12)-th pixel from the left end are required.
The present embodiment and the modification thereof use the adders, the comparator, and the selectors to implement the same processing as that implemented by using the modulo calculator, the multiplier, and the divider according to the conventional algorithm. Therefore, the processing burden can be reduced.
In addition, the embodiment and the modification thereof described above realize the parallel calculation processing of parallaxes and coordinates of a plurality of pixels. The circuit configurations described above take periodicity of input parameters into consideration, thereby enabling low power consumption and downsizing (reduction in area).
The embodiment and the modification thereof described above can also improve a clock, instead of saving power consumption, so as to achieve higher speed.
Moreover, the various modules of the systems described herein can be implemented as software applications, hardware and/or software modules, or components on one or more computers, such as servers. While the various modules are illustrated separately, they may share some or all of the same underlying logic or code.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2012-044420 | Feb 2012 | JP | national |