The present disclosure relates to an image sensor, an electronic device, and a method for generating a tessellation tile, and more particularly, to an image sensor, an electronic device, and a method for generating a tessellation tile capable of reducing noise caused by an internal structure of an image sensor, more specifically, pixel arrangement produced by analog digital converters (ADCs).
Noise that can be generated in pixel signals output from a CMOS image sensor is classified as noise generated independently in a pixel or pattern noise caused by an internal structure an image sensor. Examples of known pattern noise include vertical stripe noise, horizontal stripe noise, and block noise.
A CMOS image sensor (hereinafter also referred to as a CIS) is provided with ADCs for converting a charge signal read from each pixel into a digital pixel signal. In a case of column ADCs widely used in CMOS image sensors, for example, a structure in which ADCs, each of the ADCs handling a column of pixels arranged vertically among a large number of pixels contraposed vertically and horizontally, are arranged in parallel and in which charge signals are simultaneously read from a line of pixels arranged horizontally and converted from analog to digital is typical. Reading of pixel lines is conducted sequentially by scanning the lines upward from the bottom (or downward from the top), so that a frame of pixels is read.
Stemming from such provision of ADCs for respective columns, however, vertical stripe noise or horizontal stripe noise may appear to be generated in a fixed or random manner on an image output from the CIS.
In general, human eyes are known to have high stripe (line) detection capability and perceive vertical stripe noise or horizontal stripe noise unless the noise is 1/10 or less of noise present independently in each pixel. In the field of CIS development, attempts are currently being made to reduce noise in each pixel to the limit so as to improve image quality, and it is thus difficult to further reduce such horizontal stripe noise and vertical stripe noise by one more order of magnitude than the noise in each pixel.
A specific example of the horizontal stripe noise will now be presented.
Note that σ is a unit with a standard deviation of 1/12 when gray levels are expressed by numerical values of 0 (black) to 1 (white).
Vertical stripes among pattern noise are caused by individual variation of ADCs provided for respective columns, more specifically, by failure to completely eliminate offset differences, gain errors, non-linearity, differences in setting time, and the like. Although suppression of vertical stripe noise is basically achieved through correlated double sampling (CDS) on each column, noise left uncancelled is perceived as vertical stripes.
Horizontal stripes among pattern noise are caused by fluctuation of noise added in common to a column due to differences in reading time among lines. Examples of noise source causing horizontal stripes include noise contained in a ramp signal and fluctuations in power supply or bias. For suppression of horizontal stripe noise, a method of adjusting the black levels of respective lines to the same level by using an optical black portion provided in a periphery of a pixel area (refer, for example, to Patent Document 1).
Most of measures against noise including the aforementioned measures have been dealing with noise sources. However, from the viewpoint that such measures dealing with noise sources have already reached a limit, measures to make noise less visible are also proposed. For example, Patent Document 2 proposes a method of randomly replacing an ADC for a column with another at every line.
Patent Document 1: Japanese Patent Application Laid-Open No. 2012-15587
Patent Document 2: Japanese Patent Application Laid-Open No. 2011-91535
Furthermore, image sensors including area ADCs, each of the ADCs being provided for a predetermined area (a square or rectangular area, for example) among a large number of pixels arranged vertically and horizontally, have recently been developed.
In a case of an image sensor in which area ADCs are employed, since pattern noise (specifically, block noise corresponding to a pixel area handled by one ADC) caused by the structure of the image sensor can also be generated similarly to an image sensor in which column ADCs are employed, measures against such noise are needed.
The present disclosure is made in view of these circumstances, and allows pattern noise that can be generated in an image output from an image sensor including column ADCs or area ADCs to be less visible.
An image sensor that is a first aspect of the present disclosure is an image sensor including ADCs, each of the ADCs being provided for a column, wherein the ADCs associated with the respective columns are configured to read charge signals simultaneously from pixels arranged on lines different from one another of the respectively associated columns, the number of ADCs being a predetermined number corresponding to the number of columns, the columns being adjacent to one another.
The predetermined number of ADCs associated with the predetermined number of columns adjacent to one another can read charge signals simultaneously from pixels being arranged on lines of the respectively associated columns, each of the pixels being on a line shifted by one line from that on adjacent one column.
The ADC associated with any one of the columns can read a charge signal also from a pixel placed on a column other than the associated column.
The ADC associated with any one of the columns can read charge signals continuously from a plurality of pixels arranged on lines, different from one another, of a plurality of columns.
The ADC associated with any one of the columns can read charge signals continuously from a plurality of pixels arranged on lines, each of the pixels being on a line shifted by one line from that on adjacent one column.
An electronic device that is a second aspect of the present disclosure is an electronic device including an image sensor, wherein the image sensor includes ADCs, each of the ADCs being provided for a column, and the ADCs associated with the respective columns are configured to read charge signals simultaneously from pixels arranged on lines different from one another of the respectively associated columns, the number of ADCs being a predetermined number corresponding to the number of columns, the columns being adjacent to one another.
An image sensor that is a third aspect of the present disclosure is an image sensor including ADCs, each of the ADCs being provided for an area constituted by a plurality of pixels, wherein arrangement of pixels from which charge signals are to be read by one of the ADCs is in a form of a tessellation tile translated to cover a screen in such a manner that pixels on same coordinates do not overlap with each other.
The tessellation tile can be translated to cover the screen entirely except a periphery of the screen in such a manner that pixels on same coordinates do not overlap with each other.
An electronic device that is a fourth aspect of the present disclosure is an electronic device including an image sensor, wherein the image sensor includes ADCs, each of the ADCs being provided for an area constituted by a plurality of pixels, and arrangement of pixels from which charge signals are to be read by one of the ADCs is in a form of a tessellation tile translated to cover a screen in such a manner that pixels on same coordinates do not overlap with each other.
A method for generating a tessellation tile, which is a fifth aspect of the present disclosure, is a method for generating a tessellation tile, the tessellation tile representing arrangement of pixels handled by an area analog digital converter (ADC), the method including: a first attaching step of attaching indices to n×n pixels constituting an original ADC area by an information processing device; a second attaching step of attaching the same indices as those of the original ADC area to pixels in a neighboring ADC area obtained by translating the original ADC area; and a moving step of moving a given number of pixels in the original ADC area to positions of pixels to which the same indices are assigned in the neighboring ADC area.
In the fifth aspect of the present disclosure, indices are attached to n×n pixels constituting an original ADC area; the same indices as those of the original ADC area are attached to pixels in a neighboring ADC area obtained by translating the original ADC area; and a given number of pixels in the original ADC area are moved to positions of pixels to which the same indices are assigned in the neighboring ADC area.
According to the first to fourth aspects of the present disclosure, boundaries of pattern noise that can be generated in an image can be blurred.
According to the fifth aspect of the present disclosure, a tessellation tile that can be employed for area ADCs can be generated.
Preferred mode (hereinafter referred to as an embodiment) for carrying out the present disclosure will be described in detail below with reference to the drawings; however, an outline of the embodiment of the present disclosure will be described before going into the details.
<Outline of Embodiment of Present Disclosure>
In the embodiment of the present disclosure, the order in which pixels are read by column ADCs is changed or arrangement of pixels handled by each of area ADCs is contrived so that pattern noise, which can be generated in an image output from an image sensor in which the column ADCs or the area ADCs are employed, caused by arrangement of pixels handled by each of the ADCs will become less visible. Specifically, pattern noise is made less noticeable by arranging pixels into a shape that is hard for a human to immediately recognize instead of changing the order in which pixels are read by the column ADCs from the units of lines or instead of making arrangement of pixels handled by each of the area ADCs in units of squares or rectangles. This can be expected to produce effects of reducing noise in units of pixels close to the limit and further making pattern noise unnoticeable when a human sees the image. The embodiment can be mounted on any electronic device.
<Application of Present Disclosure to Column ADCs>
Arrangement of a plurality of saw textures 10 illustrated in
In
As is apparent from comparison between
In the saw texture of a size of three lines illustrated in
Vertical stripe noise can be processed similarly.
Next, examples of textures for dealing with horizontal stripe noise and vertical stripe noise are shown in
In
Any of the textures of
<Application of Present Disclosure to Area ADCs>
Next, a case in which the present disclosure is applied to area ADCs will be described.
In the case of area ADCs, what stands out as pattern noise is block noise corresponding to an area of pixels handled by each ADC and caused by differences in offset among the ADCs.
As is apparent from
Since there obviously can be infinite number of area shapes that meet the aforementioned conditions, a reasonable assumption is added so that a shape of areas that can be actually employed can be proposed.
<Assumption for Determining Area Shape>
First, areas associated with the respective ADCs are assumed to be arranged at positions of integral multiples of the vertical and horizontal area sizes on orthogonal coordinates expressing pixel positions. This assumption excludes such an area arrangement in which areas are gradually shifted with respect to adjacent areas, for example.
Relative positions of pixels handled by each area are assumed to be common in all of the areas. In other words, a single type of area shape is employed in one image sensor, and areas of different shapes are not present in a single image sensor. As an exception to this assumption, however, a plurality of areas having different shapes that are complementary with those of adjacent areas can be employed (details of which will be described later).
Wires from the respective pixels to the ADCs that handle the pixels are made not to be tangled, that is, the ADCs are not to handle faraway pixels.
Since the shape of the areas is changed, the shape (typically a square or a rectangle) that an ADC handles as viewed from vertical and horizontal pitches where the ADCs are arranged and the arrangement of pixels (which is heretofore referred to as an area) will not be identical. Since terms for distinguish the former from the latter are required, the former will hereinafter be referred to as an ADC area while the latter will be referred to as a tile. Note that an ADC area does not necessarily have the same shape as the ADC itself. For example, a configuration in which two elongated ADCs handle two square or rectangular ADC areas may be considered.
Operation of shifting one ADC area upward and downward by the vertical size of the ADC area and operation of shifting the ADC area leftward and rightward by the horizontal size of the ADC area are repeated, so that the entire screen can be covered. This shifting will be referred to as translation herein.
It can be seen that, when the ADC area at the center of
Here, replacement of a pixel included in one ADC area with a pixel, to which the same index is attached, in an adjacent ADC area is considered.
Since the tile illustrated in
A tile having such a property of being capable of covering the entire screen with no lack or excess as a result of repeating the translation will hereinafter be referred to as a tessellation tile.
The tessellation tile 31 shown in
<Method for Generating Tessellation Tile>
A typical method for generating a tessellation tile will be described here.
In step S1, different indices are attached to all of pixels constituting one ADC area as illustrated in
In step S3, a pixel to be moved is selected from the pixels in the original ADC area, and the selected pixel is moved to a position of a pixel, to which the same index as that of the selected pixel is attached, in a neighboring ADC area.
In step S4, it is determined whether or not the number of pixels to be moved from the original ADC area is sufficient, and steps S3 and S4 are repeated until it is determined that the number of pixels is sufficient. For this determination, the number of pixels to be moved may be preset by an operator of a computer or may be set on the basis of the number of pixels included in an ADC area. If the number of pixels is determined to be sufficient in step S4, the tessellation tile generation process is then terminated. According to the tessellation tile generation process described above, a tessellation tile can be easily generated.
Note that the neighboring ADC areas set as a result of translation of the original ADC areas are not limited to those adjacent to the original ADC area but may include those away from the original ADC area.
Next,
In
Next,
<Method for Generating Tessellation Tile Corresponding to an ADC Constituted by n×n Pixels>
While an ADC area of 4×4 pixels has been described heretofore an actual ADC area is assumed to include about 10×10 to 20×20 pixels. When an ADC area is larger in this manner, the pixel leakage also needs to be increased. The tessellation tile generation process described above can also be applied to generation of such a tessellation tile.
In the tessellation tile generation process described above, however, it is difficult to meet such demands as adjusting the density of pixels constituting a tessellation tile so that the density will be well-distributed and making the shape difficult to be recognized by human. Hereinafter, a method for generating a tessellation tile, which can meet such demands, will be described.
For simplicity, a case in which an ADC area is assumed to be a square of n×n pixels and the same pixel leakage is used for all of upward, downward, leftward, and rightward directions will be described. Note that the following description can also be applied to a case in which an ADC area is a rectangle with different numbers of vertical pixels and horizontal pixels.
First, indices are attached to the nine regions into which the original ADC area is divided. Specifically, an index of NW is attached to a corner region to the upper-left of the middle region, an index of U is attached to an intermediate region above the middle region, an index of NE is attached to a corner region to the upper-right of the middle region, an index of L is attached to an intermediate region to the left of the middle region, an index of R is attached to an intermediate region to the right of the middle region, an index of SW is attached to a corner region to the lower-left of the middle region, an index of D is attached to an intermediate region below the middle region, and an index of SE is attached to a corner region to the lower-right of the middle region.
According to the leakage regions of the original ADC area, it can be seen that each of the corner regions NW, NE, SW, and SE has four corresponding regions to be handled including itself. When focus is placed on the SW regions, it can be seen that the corresponding regions occupy the positions each being outside of one of four corners by one region. The other corner regions are similarly located. Thus, the average filling rate (the rate of pixel handling) of the corner regions is 1/4.
In contrast, it can be seen that each the intermediate regions U, L, R, and D has two leakage regions to be handled in total. Thus, the average filling rate of the intermediate regions is 1/2.
Here, orthogonal tiles to be referred to in the following description will be defined. Orthogonal tiles are a set (hereinafter referred to as a system) of tiles each obtained by selecting some of pixels constituting a region corresponding to that of another tile in the set, the set of tiles being a group of tiles in which no pixel overlap between any two tiles of the group. Note that the tiles being referred to are part of a tessellation tile, or what can be called “partial tiles”, but will still be referred to as tiles since there seems to be little concern for confusion with tessellation tiles.
Furthermore, a state in which an original area can be covered perfectly with all of the tiles belonging to a system will be referred to as “complete”. In other words, generation of a tessellation tile is generation of a complete orthogonal system for each leakage region.
It can be directly confirmed that any two of tiles m1, m2, m3, and m4 shown in
A feature of the uniform, complete orthogonal system shown in
The hisha problem is known to have different solutions, the number of different solutions being the factorial of n. Specifically, it can be readily seen that the number of solutions is the factorial of n since there are n different arrangements of pixels on the first column, (n−1) different arrangements of pixels on the second column, (n−2) different arrangements of pixels on the third column, . . . , and one arrangement of pixels on the n-th column.
It is clear that shifting of each column in a cyclic manner from a freely-selected solution of an n-hisha problem will also result in a solution of an n-hisha problem, which also entirely constitutes a complete orthogonal system.
For example, focus is placed on the tile m1 of the uniform, complete orthogonal system shown in
As is apparent from
As described above, the method for generating a uniform, complete orthogonal system includes the method of selecting one solution of the n-hisha problem and one solution of the n-th order Latin square.
A known method for generating a Latin square is an algorithm of cyclic shifting by one. Although studies on good combination have not be thoroughly conducted, an original tile that contains a long oblique line is likely to result in a readily-perceptible great pattern and such a tile is therefore to be avoided and a tile constituted by pixels that are as discrete as possible is to be selected.
The complete orthogonal n-hisha solution is a system constituted by n tiles (n tiles each constituted by n pixels result in n×n pixels, which is equal to the number of pixels in the area). For example, in a case of a leakage of four pixels, since four tiles can be generated for four corners, these tiles can be arranged without any change. In a case of a leakage other than four pixels, the constraint of the n-hisha solution needs to be removed.
For example, in a case of a leakage of three pixels or less, there is a choice of selecting corners to place the tiles. In particular, in a case of a leakage of two pixels, a complete orthogonal system in which one pixel is assigned to each of the corners (shown in
In a case of a leakage of five pixels or more, pixels of tiles other than four tiles selected from the complete orthogonal system will be missing. Specifically, in the complete orthogonal 5-hisha problem when the leakage is five pixels, the shape that is the same as the single unselected tile is coincident with the shape of the missing pixel. Pixels of the unselected tile will be divided and placed somewhere on the four corners.
In the example shown in
In a case where a constraint of the numbers of vertical pixels and horizontal pixels in leakage regions of a tessellation tile being constant is added, a tessellation tile can be readily generated from one complete orthogonal system with a leakage of four pixels.
When focus is placed on the periphery of the ADC area of n×n in
Next, samples of pattern noise in cases where the tessellation tiles shown in
When the random noise and the pattern noise both have 0.5 σ as shown in
Next, the fact that the tessellation tiles with two-pixel leakage in the case where the ADC area is constituted by 4×4 pixels as shown in
<Exception of Tessellation Tile Shape>
The cases where tessellation tiles of one shape fill the screen have been heretofore described. Hereinafter, a case where the shapes of adjacent tessellation tiles are different in such a manner that the shapes are complementary to each other, for example, will be described.
To begin the description, one tessellation tile is shown in
Next,
In this manner, regarding generation of a tessellation tile, a large tessellation tile can be generated by combining small tessellation tiles, in addition to the tessellation tile generation process described with reference to
Note that freely selected pixels in the large tessellation tile shown in
Thus, an attempt to complement the large tessellation tile shown in
In the complementary tiles type A and type B of
The entire screen can be covered by arranging the complementary tile type B above, below, on the left of, and on the right of the complementary tile type A of
In
According to the embodiment, in the case of column ADCs, the order in which pixels are read is changed by employing saw textures, while in the case of area ADCs, the tessellation tile is employed, so that pattern noise appearing in a shape of a block, which can be generated in an image output from an image sensor can be made less noticeable.
Note that the present disclosure can be applied not only to cases where pixels output monochromic signals but also cases where pixels output color signals of a Bayer array and cases where interpolated reading is performed. An original reading pattern may be considered so that pixel arrangement resulting from image processing provides a pattern that is difficult for a human to perceive.
Techniques for rearranging read data into pixel arrangement have not been mentioned herein, and the simplest technique may be using a frame memory to generate a sequence for reading addresses of areas handling the respective pixels.
<Example Structure of Computer to Perform Tessellation Tile Generation Process>
The tessellation tile generation process described above can be performed by either hardware or software. When the tessellation tile generation process is to be performed by software, programs constituting the software are installed in a computer. Note that examples of the computer include a computer embedded in dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs therein.
In a computer 200, a CPU (central processing unit) 201, a ROM (read only memory) 202, and a RAM (random access memory) 203 are connected to one another by a bus 204.
An input/output interface 205 is further connected to the bus 204. An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input/output interface 205.
The input unit 206 includes a keyboard, a mouse, a microphone, and the like. The output unit 207 includes a display, a speaker, and the like. The storage unit 208 may be a hard disk, a nonvolatile memory, or the like. The communication unit 209 may be a network interface or the like. The drive 210 drives a removable medium 211 such as a magnetic disk, an optical disk, a magnetooptical disk, or a semiconductor memory.
In the computer 200 having the above described structure, the CPU 201 loads a program stored in the storage unit 208 into the RAM 203 via the input/output interface 205 and the bus 204 and executes the program, for example, so that the above described tessellation tile generation process is performed.
Programs to be executed by the computer 200 may be programs for carrying out processes in chronological order in accordance with the sequence described in this specification, or programs for carrying out processes in parallel or at necessary timing such as in response to a call.
Embodiments of the present disclosure are not limited to the embodiment described above, but various modifications may be made thereto without departing from the scope of the disclosure.
The present disclosure can also have the following structures.
(1)
An image sensor including analog digital converters (ADCs), each of the ADCs being provided for a column, wherein
the ADCs associated with the respective columns are configured to read charge signals simultaneously from pixels arranged on lines different from one another of the respectively associated columns, the number of ADCs being a predetermined number corresponding to the number of columns, the columns being adjacent to one another.
(2)
The image sensor described in (1), wherein the predetermined number of ADCs associated with the predetermined number of columns adjacent to one another are configured to read charge signals simultaneously from pixels being arranged on lines of the respectively associated columns, each of the pixels being on a line shifted by one line from that on adjacent one column.
(3)
The image sensor described in (1) or (2), wherein the ADC associated with any one of the columns is configured to read a charge signal also from a pixel placed on a column other than the associated column.
(4)
The image sensor described in (3), wherein the ADC associated with any one of the columns is configured to read charge signals continuously from a plurality of pixels arranged on lines, different from one another, of a plurality of columns.
(5)
The image sensor described in (3) or (4), wherein the ADC associated with any one of the columns is configured to read charge signals continuously from a plurality of pixels arranged on lines, each of the pixels being on a line shifted by one line from that on adjacent one column.
(6)
An electronic device including an image sensor, wherein
the image sensor includes analog digital converters (ADCs), each of the ADCs being provided for a column, and
the ADCs associated with the respective columns are configured to read charge signals simultaneously from pixels arranged on lines different from one another of the respectively associated columns, the number of ADCs being a predetermined number corresponding to the number of columns, the columns being adjacent to one another.
(7)
An image sensor including analog digital converters (ADCs), each of the ADCs being provided for an area constituted by a plurality of pixels, wherein
arrangement of pixels from which charge signals are to be read by one of the ADCs is in a form of a tessellation tile translated to cover a screen in such a manner that pixels on same coordinates do not overlap with each other.
(8)
The image sensor described in (7), wherein the tessellation tile is translated to cover the screen entirely except a periphery of the screen in such a manner that pixels on same coordinates do not overlap with each other.
(9)
An electronic device including an image sensor, wherein
the image sensor includes analog digital converters (ADCs), each of the ADCs being provided for an area constituted by a plurality of pixels, and
arrangement of pixels from which charge signals are to be read by one of the ADCs is in a form of a tessellation tile translated to cover a screen in such a manner that pixels on same coordinates do not overlap with each other.
(10)
A method for generating a tessellation tile, the tessellation tile representing arrangement of pixels handled by an area analog digital converter (ADC), the method including:
a first attaching step of attaching indices to n×n pixels constituting an original ADC area by an information processing device;
a second attaching step of attaching the same indices as those of the original ADC area to pixels in a neighboring ADC area obtained by translating the original ADC area; and
a moving step of moving a given number of pixels in the original ADC area to positions of pixels to which the same indices are assigned in the neighboring ADC area.
Number | Date | Country | Kind |
---|---|---|---|
2014-171517 | Aug 2014 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2015/072950 | 8/14/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/031595 | 3/3/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20060220939 | Kirsch | Oct 2006 | A1 |
20100283881 | Araki | Nov 2010 | A1 |
20130107087 | Okada | May 2013 | A1 |
20140183332 | Theuwissen | Jul 2014 | A1 |
Number | Date | Country |
---|---|---|
2003-338988 | Nov 2003 | JP |
2010-010896 | Jan 2010 | JP |
2011-091535 | May 2011 | JP |
2012-015587 | Jan 2012 | JP |
2012-124729 | Jun 2012 | JP |
2013-055500 | Mar 2013 | JP |
2012132670 | Oct 2012 | WO |
Number | Date | Country | |
---|---|---|---|
20160227144 A1 | Aug 2016 | US |