|
Description  |
|
|
TECHNICAL FIELD OF THE INVENTION
The present invention pertains in general to holographic memories, and more
particularly, to the recovery of information from the detected image
during a Read operation from the holographic memory.
As the need for increased data storage changes, the search for higher
density, faster access memory technologies also increases. One of these,
holographic data storage, provides the promise for increased access to
higher density data. The techniques for realizing such storage typically
utilize some type of storage media, such as photorefractive crystals or
photopolymer layers, to store 3-D "stacks" of data in the form of pages of
data. Typically, coherent light beams from lasers are utilized to perform
the addressing, writing and reading of the data from the storage media by
directing these beams at a specific region on the surface of the media.
Writing is achieved by remembering the interference pattern formed by
these beams at this region. Reading is achieved by detecting a
reconstructed light beam as it exits the storage medium, the data then
being extracted therefrom. Addressing is achieved by the positioning of
the laser beams, and this is typically done through the mechanical
movement of mirrors or lenses; however, the storage media itself can be
moved relative to fixed laser beams.
During a Read operation, a given storage location within the holographic
storage media is irradiated with a reference laser beam to generate a
reconstructed data beam. The reconstructed data beam contains the
information that was stored in the holographic storage media. This
information is in the form of an image of a data pattern. This data
pattern is typically comprised of a grid of "dark" and "light" images, the
"light" images representing a logic "1" and the "dark" images representing
a logic "0". The image of each of the individual data bits is defined as a
two-dimensional bit pixel or "bixel". During data recovery, the
reconstructed data image is directed toward a detector array, which
detector array comprises a plurality of CCD elements, one or more
associated with each of the bixels. In a typical oversampled system, there
may be four CCD elements for each data bit or bixel, each of these
individual CCD elements defining a "pixel".
Since the initial encoded data that is stored in the holographic storage
media is an image of a data pattern, the reconstructed data is also an
image. However, due to imperfections in the optical systems for recording,
and subsequently reconstructing the image, there may be distortions and
offsets in the data relative to the CCD elements, which CCD elements are
arranged in a grid. As such, the individual bixels may have a slight
offset relative to the associated CCD elements or pixels. This can cause
moire patterns in the detected image. In order to correct for this, some
type of processing must be performed on adjacent pixels, which can consume
a large amount of processing capacity and result in an excessively complex
system.
SUMMARY OF THE INVENTION
The present invention disclosed and claimed herein comprises a method for
distortion correction of a reconstructed holographic data image that is
comprised of a two dimensional grid of bit images or bixels that are
disposed in rows or columns of either dark bit images or light bit images.
A detection grid of imager pixels is provided that is arranged in rows or
columns corresponding to the bit images. The imager pixels are operable to
detect the bit images when the bit images are disposed thereover. The data
image is then directed onto the detection grid and each row of image
pixels is scanned to determine the outputs thereof. The transitions
between dark images and light images are then examined to determine if a
portion of a light image overlaps the boundary between two adjacent images
or pixels. If so, the output energy of the pixel that is overlapped is
subtracted from that pixel and summed with at least the output of another
one of the imager pixels to provide a reconstructed image that is
substantially shifted relative to the boundary of the image pixels.
In another aspect of the present invention, the imager pixels are
configured such that they provide, in one embodiment, a 2:1 oversampled
ratio wherein two rows of imager pixels are associated with each row of
bit images and two columns of imager pixels are associated with each
column of bit images. A light image results in a pixel with a full output
when the light image is disposed over substantially the entire imager
pixel, and a dark image results in substantially no output when disposed
over substantially the entire imager pixel. In one mode, when an imager
pixel having less than a full output precedes an imager pixel having a
full output, the energy is transferred forward in time during the scan to
the next imager pixel having less than a full output that follows an
imager pixel having a full output. Alternately, the shifting operation can
be reversed such that an imager pixel with less than a full output
preceding an imager pixel with a full output is raised to a full output,
with an imager pixel having less than a full output following an imager
pixel with a full output having the output thereof reduced to
substantially zero.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the
advantages thereof, reference is now made to the following description
taken in conjunction with the accompanying Drawings in which:
FIG. 1 illustrates an overall block diagram of a Prior Art holographic
storage assembly,
FIG. 1a illustrates a simplified detail of a Prior Art recording media;
FIG. 2 illustrates an overall block diagram for the system of the present
invention for correcting the detected data image;
FIG. 3 illustrates a diagrammatic view of a representative detected image;
FIG. 3a illustrates a detail of one section of the detected image of FIG.
3;
FIGS. 4a and 4b illustrate diagrammatic views of the raw data image
displaced on the detector;
FIGS. 5a and 5b illustrate the state machine states assigned to expected
pixel slots;
FIGS. 6a and 6b illustrate the technique for energy shifting;
FIG. 6c illustrates a detail of the energy shifting operation;
FIGS. 7a and 7b illustrate a diagrammatic view of the energy shifting
operation during synchronizing at the row startup;
FIG. 7c illustrates a view of the row segment layout;
FIG. 7d illustrates a detail of a row segment;
FIG. 7e illustrates a diagrammatic view of the left/right shift operation
during space lock;
FIG. 8a illustrates the operation for providing correction along the
Y-axis;
FIG. 8b illustrates an overall diagrammatic view of the pixels associated
with the operation of FIG. 8a;
FIG. 9 illustrates a block diagram of the row segment buffer output during
synchronization;
FIG. 10 illustrates a diagrammatic view of the operation of transferring
data to the line buffer and accounting for distortion on the Y-axis;
FIG. 11 illustrates a flowchart depicting the synchronization operation;
FIG. 12 illustrates a flowchart depicting the energy shift operation;
FIG. 13 illustrates a state diagram for the operation of adjusting the
state of the imager pixels; and
FIG. 14 illustrates a flowchart depicting the operation of a .DELTA.
comparison.
DETAILED DESCRIPTION OF THE INVENTION
Referring now to FIG. 1, there is illustrated a holographic storage
assembly which is operable to store data in a transparent holographic
storage recording media 10 and extract that data therefrom. The data is
organized in the recording media as an array of stacks of pages 11
(images). This is illustrated in FIG. 1a, wherein each of the stacks of
pages 11 occupies a small region 54 of the recording media 10, with each
of the pages in each of the regions 54 comprising an interference grating,
all of the interference gratings in a given region 54 superimposed over
each other. A laser 12 is provided, which can be comprised of, for
example, a diode-pumped YAG (yttrium aluminum garnet) laser with a power
output of around 80 milliwatts, with a wavelength in the range of 532
nanometers. The output beam of the laser is processed by a stack-selector
assembly 14 which steers the beam to the location of an individual stack
of pages 11 in the recording media 10. The output of the stack selector
assembly 14 is then passed to a beam splitter 18 which separates the beam
into two beams, a data beam 20 and a reference beam 22.
The data beam 20 is expanded by a beam expander 24 which is then input to a
Spatial Light Modulator (SLM) 26 to output an expanded data beam 28. The
SLM 26 receives data from a computer system (not shown) and then this data
is superimposed on the expanded data beam 28 by the SLM 26, creating a bit
pattern of light and dark spots in the conventional manner. This pattern
of spots represents the bits on the page to be stored. After the SLM 26,
the data beam is then passed through a focusing system 30 which then
focuses the beam onto a select portion of the surface of the holographic
storage media 10. This focused data beam 39 is the Fourier transform of
the pattern of spots, or page.
The reference beam 22 is reflected from a mirror 32 and then passed through
a polarization rotator 34, the polarization orientation dictated by an
external control signal. This rotator is utilized to adjust the
polarization of the reference beam 22 during a read operation. The output
of the polarization rotator 34 is then input to a page addressing
deflector system 36 system which defines the angle at which the reference
beam will impinge the surface of the recording media 10 and also the
location thereof on the surface of the recording media 10. This is
represented by a deflected reference beam 38.
As the two beams, the data beam and the reference beam, enter the recording
media 10, the reference beam interferes with the data beam, writing an
interference grating in the storage media 10. In the case of a
photorefractive material, the grating pattern results from a stored
electronic-charge pattern that modifies the optical properties of the
crystallite. In the case of photopolymer material, certain areas of the
photopolymer material are polymerized to form the interference grating.
The result is a 3-D holographic image of the Fourier transform of the bit
pattern carried in the data beam. This stored interference grating allows
the original data beam to be recreated when the system reads the data.
This process on which the interference grating is formed on the recording
media 10 is basically the Write process for a holographic storage
material.
The Write process is repeated a number of times, with the angle of the
reference beam operable to be changed each time, to record a plurality of
interference gratings. Each of the interference gratings is associated
with a different input bit pattern, which interference gratings are
superimposed over each other. This collection of superimposed recordings
is called a stack. The recordings that comprise each of the stacks are
angularly multiplexed within each of the stacks.
During a Read cycle, the data beam is shut off so that only the deflected
reference beam 38 is input to the storage media 10 at the appropriate
angle and location. The angle is determined by the desired page in that
particular stack. The deflected reference beam 38 will be constructively
diffracted by the interference grating that was recorded with a particular
underlying spatial frequency that corresponds to the deflected reference
beams particular angle. This results in a reconstructed image of the
original bit pattern that stored there with a reference beam with that
particular angle. The diffracted reference beam 39 or reconstructed data
beam then passes through the storage media 10 into a focusing system 40
which focuses the reconstructed image onto the surface of a detector army
42 of, for example, a charge-coupled device that captures the
reconstructed light and dark bit patterns of the image and then convert
them back to digital electronic signals for transfer to a computer. This
is represented by a data output line 44.
Referring now to FIG. 2, there is illustrated a block diagram of the system
for correcting distortion in the detected image. The output of the
detector 42 comprises a plurality of lines, one associated with each of
the pixels or CCD elements. This is output on a set of lines 48. Of
course, this can be a multiplexed system wherein each of the CCD elements
could be addressed, for example, with a system utilizing active CCD
elements. The output of the detector 42 is input to a scan logic block
which operates in conjunction with a detector 42 to selectively output
information from each of the pixels or CCD elements as a serial data
output. This is input to a state machine 52 which is operable to form the
distortion correction and then output this data to a data storage device
54, such as random access memory, hard disk storage, etc. As will be
described hereinbelow, the pixels are accessed by row and in a serial
manner along each row and the distortion correction done in a serial
fashion. In this manner, a large amount of memory is not required to
buffer information, followed by subsequent processing of buffered data and
output of corrected data.
Referring now to FIG. 3, there is illustrated an overall view of a detected
image after correction for all distortion therein. This effectively
represents the encoded data image. FIG. 3a illustrates a detail of one
corner of the detected image of FIG. 3. The detected image is formed with
a dark border 56 of at least two bixel widths. Therefore, each row is
initiated with a dark image. Each row has associated therewith two
synchronizing bixels of light information, this represented by a strip 58
at the input to each row. Thereafter, any type of data pattern will follow
comprising logic "1s" and logic "0s". These will be either dark bixels or
light bixels. The use of the two synchronizing light bixels following the
dark border will be described hereinbelow with respect to the
synchronization at the row startup.
Referring now to FIG. 4a, there is illustrated a diagrammatic
representation of six pixels arranged in a 3.times.3 grid and a single
dark bixel 62. The bixel 62, in a fully-aligned grid, will overlap four
pixels 60, therefore providing a 2.times. oversampled system. Therefore,
each row of pixels will have two pixels associated with one edge of a
bixel, with the adjacent row also having two pixels associated with that
bixel.
In the illustration of FIG. 4a, the bixel 62 is arranged such that it is
displaced to the left of the border between pixels. Further, it is shifted
downward somewhat. The output of a single row 66 of pixels is illustrated
with a thick data waveform 68 representing the aligned data along a given
row and an offset waveform 70 represented by a thin line that shows the
actual data, the vertical dotted line representing the boundary of the
pixels. A waveform 72 is provided below the waveforms 68 and 70
representing the resulting trash pattern. It can be seen that when the
bixel 62 overlaps the boundaries of any of the pixels 60, there will be a
reduced output from the pixel 60 which is only partially covered by the
bixel 62 when changing from a dark to a light bixel, i.e., at the
"transition", representing a change from a logic "0" to a logic "1". For
example, if a light image was represented by an output of 100,000 (100K)
photons, an overlap of a light image into an adjacent pixel that is
associated with a dark image may result in 10K photons output. Since it
only partially overlaps this pixel, this is represented by an area 74 in
the bixel 62 and an area 76 in the trash pattern waveform 72. Similarly,
when the transition from the light bixel to the dark bixel occurs, there
will be insufficient filling of the associated trailing pixel 60 and there
will be less than full output therefrom. This is represented by an output
of, for example, only 90K photons, this represented by an area 78 in the
bixel 62 and an area 80 in the waveform 72.
Referring now to FIG. 4b, there is illustrated a situation wherein a bixel
81 is provided in the 3.times.3 array of pixels 60 that is offset to the
right. This is represented by a waveform 82 that is disposed to the right
of the desired aligned waveform 68. The resultant trash pattern is
represented by a waveform 84. It can be seen in this situation that a
transition from a dark bixel to a light bixel will result in the leading
pixel 60 associated with the bixel for a given row being less than full at
a level of, for example, 90K photons. This is represented by an area 86 in
the bixel 81 and an area 88 in the waveform 84. Similarly, the transition
from a light bixel to a dark bixel will overlap into the adjacent pixel
resulting in an area 90 in the pixel 81, corresponding to an area 92 of,
for example, 10K photons output from the adjacent pixel 60.
In order to correct the resultant trash patterns of the waveforms 72 and 84
for either the left displacement or right displacement condition, the
state machine assigns expected states to the pixels. The state machines
will seek 1-1 or 0-0 pairs in the shift-corrected data. The pixels 60 are
allocated into decoding periods, or states, depending upon the current
pixel and what is expected next. The "expected state" is anticipated
because, for a nominal 2:1 oversampling, each data bit is represented by
two pixels in a given row. The light bixel will be represented by two
image pixels labelled with states W1 and W2 and the dark bixel will be
represented by two pixels labelled with states B1 and B2. FIG. 5a has the
state names applied to the waveforms of FIG. 4a, and FIG. 5b illustrates
the state names applied to the waveforms of FIG. 4b.
With respect to FIG. 5a, it can be seen that the data pattern is comprised
of the data stream "010110". Therefore, this will be comprised of the
image pixel stream states "B1, B2, W1, W2, B1, B2, W1, W2, W1, W2, B1,
B2". The waveform 72 is labelled with the photon output, which for a full
photon output will be 100,000 photons or "100K", with the overlap being
approximately 10%. This will result in the leading edge of the bixel being
displaced to the left of the expected pixel in the preceding pixel, such
that the output of that pixel will be approximately 10% of full output.
However, this will result in the trailing edge of the bixel not completely
filling the expected trailing pixel, i.e., the W2 pixel, thus resulting in
an output that is approximately 10% lower or 90K. The bixel will therefore
be represented by areas 100, 102 and 104, having outputs of 10K, 100K and
90K, respectively. It can be seen that the output of the image pixels
associated with the expected output illustrated by waveform 68 exhibit a
trend wherein a logic "1" goes from the level of 100K to a level of 90K,
i.e., a downward trend. Conversely, a logic "0" value will have a trend
going from a value of zero to a value of 10K, i.e., an upward trend. By
examining two adjacent pixels, it can be determined whether this is a
logic "1" or a logic "0".
Referring now to FIG. 5b, there is illustrated the state labels associated
with the waveforms of FIG. 4b. In this mode, the bixel is displaced to the
right and, therefore, the actual output of the leading pixel associated
with a light bixel will have a lower than expected output, whereas the
leading pixel in a dark bixel will have a higher than expected state when
following a light bixel. Therefore, the light image or logic "1" bit will
exhibit a change from a lower than expected value to a full value at the
transition from a dark bixel to a light bixel. This is an upward trend. A
dark pixel following a light pixel will exhibit a downward trend going
from a higher than expected value in the leading pixel to an expected
value in the trailing pixel. These trends are precisely opposite to those
shown in FIG. 5a for the left-shifted case.
Referring now to FIG. 6a, there is illustrated a detail of the energy
shifting method. It is recognized that when a light bixel overlaps into an
adjacent pixel associated with a dark bixel, the output of that adjacent
pixel is either less than expected or more than expected. If it is more
than expected, this energy can be shifted back into the pixel wherein
there was a less than expected output. In FIG. 6a, there is illustrated a
diagram corresponding to FIG. 5a. It can be seen that the leading edge of
the initial bixel at an edge 106 overlaps into a preceding pixel to the
first expected pixel output W1, such that the pixel in which the edge 106
occurs will have an energy level 108 that is greater than expected, as
illustrated in a resultant waveform 107. The next pixel, W1, will have an
expected level, but the trailing pixel, W2, will be associated with an
edge 110 that falls prior to the end of the pixel, such that less than a
full output will be achieved. This is represented by an energy deficient
area 112, within a resultant waveform 107. This continues for each pixel.
By moving the excess energy in area 108 to the energy deficient area 112,
i.e., an energy shift to the right, this can be corrected.
Referring now to FIG. 6b, there is illustrated a diagram similar to that of
FIG. 6a, but representing a situation depicted in FIG. 5b, i.e., when the
bixel is displaced to the right of the image pixel boundary. In this
situation, the initial pixel in which the transition from a dark bixel to
a light bixel occurs will have an edge 114, this being the expected pixel
W1. As such, less than full illumination will occur in pixel W1, resulting
in an energy deficient area 116 in a resultant waveform 118. The pixel W2
associated with the expected trailing edge pixel will have a full output
but the next pixel, that associated with the B1 pixel of a dark bixel will
have the transition from a light bixel to a dark bixel occurring therein
at an edge 120. This will result in an excess energy area 122 within the
waveform 118. To adjust for this, it is necessary to shift the energy to
the left by shifting the excess energy in area 122 to the deficient energy
area 116.
Referring now to FIG. 6c, there is illustrated a detail of the energy
shifting operation for a shift right operation. This is represented for
the left displaced configuration of FIG. 6a. It can be seen that for a
transition from a dark to light there will be a region of excess energy
126 associated with the trailing B2 pixel in the dark image that must be
shifted to the trailing W2 pixel in an energy deficient area 128. This is
achieved merely by increasing the value therein. Therefore, it is only
necessary to have knowledge of what the expected state is and then shift
the energy. For example, if it is known that the image is displaced to the
left, whenever a 10% left displacement exists, an increase in the output
of a B2 dark pixel will indicate that the energy must be shifted to the W2
pixel in a subsequent light bixel that precedes a transition to a dark
bixel. Therefore, the energy can be subtracted from the B2 dark bixel and
then added to the next W2 pixel having an energy deficient area. This can
be done in a serial fashion, such that the pixel output information does
not have to be stored for a large number of bixels in a given row.
Referring now to FIGS. 7a and 7b, there are illustrated waveforms depicting
the synchronization operation at zero startup. As described above with
respect to FIG. 3, the row is initiated with two light bixels which follow
two or more dark bixels. With specific reference to FIG. 7a, there is
illustrated a waveform that corresponds to the situation wherein the bixel
is displaced to the left of the pixel elements. This would correspond to
an expected waveform 132 and an actual waveform 134. The waveform 134
illustrates a transition 138 whenever the first non-zero pixel occurs
after passing through the dark border during a scan of a row. If the
above-described procedure were followed, the energy from the pixel in
which the transition 138 existed would be transferred to the trailing W2
pixel associated with the transition from a light bixel to a dark bixel.
However, in the synchronization procedure, the pixel in which the first
non-zero value occurs is assumed to be a logic "1" rather than a simple
moire fragment. This will create an artificial phase-lead condition. As
such, although the expected waveform is illustrated as being to the right
of the actual waveform 138, the energy shift is made such that the pixel
in which the first non-zero state occurs will have the energy shifted
thereto such that the energy is moved to the left. The pixel associated
with the edge 138 will now be assigned the expected state W1 and the next
three pixels will be assigned the states W2, W1 and W2. Thereafter,
depending upon the bixel sequence, the appropriate states will be assigned
thereto.
The trash pattern or actual output associated with the waveform 138 is
illustrated by a waveform 140 having the edges thereof aligned with the
pixel boundaries. It can be seen that the first pixel assigned the state
of W1 will have a low output, illustrated by an area 142, of approximately
10K photons. The next state, represented by an area 144, will have a full
output of 100K photons with the delta therebetween being approximately 90K
photons. Since this is a phase-lead condition, this indicates that energy
must be shifted to the pixel associated with the state W1 from a later
pixel associated with a transition from W2 to B1. This will result in a
recovered waveform 150. To determine when the transition from the trailing
pixel W2 to the leading pixel B1 of a light bixel to a dark bixel
transition occurs, it is only necessary to look for a transition from a
full level of 100K photons to a partial level of 90K photons, since this
is a phase-lead condition. This occurs at an area 152 in the waveform 140
which is at a level of 90K photons. This represents an energy excess,
represented by an area 154 in waveform 150, which is shifted to the
portion of the recovered data waveform 150 associated with the W1 pixel,
represented by an area 156. In general, by recognizing the condition that
a change in level from 10K photons to 100K photons is a one, it is then
only necessary to increase the level of 10K photons to 100K photons to
classify this pixel as the W1 leading pixel from a dark bixel to a light
bixel transition. Thereafter, this will constitute the criteria for a
transition from dark bixel to a light bixel. Likewise, when the transition
from 100K photons to 90K photons occurs, this will indicate the transition
from a light bixel to a dark bixel.
Referring specifically to FIG. 7b, there is illustrated the condition
wherein the actual waveform is displaced to the right of the expected
waveform. An expected waveform 158 is illustrated with an actual waveform
160 displaced to the right thereof. As was the case with the description
of FIG. 7a, the criteria for defining the actual W1 state for the first
light bixel is to determine in which pixel the first transition from a
dark bixel to a light bixel occurs, represented by a transition 162. This
pixel is then defined as state W1. A waveform 164 represents the trash
pattern or actual output of the pixels and a waveform 166 represents the
recovered data. In this mode, a phase-lead condition actually exists and,
as such, a transition from a dark bixel to a light bixel is indicated by a
less than full output of 90K photons, making the transition to a full
output in the next adjacent pixel. Of course, this illustration only
results in a delta of 10K photons. Thereafter, it is only necessary to
determine when the output makes a transition from a less than full output
of 90K photons to a full output of 100K photons to determine when a
transition from a dark bixel to a light bixel occurs. Similarly, whenever
a transition occurs from a less than full output to a zero output, this
indicates the dark pixel B1 following a light pixel W2. Therefore, the
leading pixel W1 in the first light bixel in the string of bixels will
have an output of 90K photons, which must have the energy shifted thereto
and the level thereof raised to a full output of 100K photons. This is
represented by an area 168. Similarly, whenever the output shifts from a
level of 10K photons to a zero level, the pixel with a 10K photon output
is assigned the state of B1 and the energy output thereof reduced in the
recovered data waveform 166, as represented by an area 170 that is removed
therefrom.
Once the determination is made as to the direction energy is shifted, this
will continue along the row. However, it is possible to have some
distortion along a row, such that the initial delta may change as the scan
progresses across a row. For example, in the example of FIG. 7b, if a
delta is initially 10K photons with the actual bixel transition being
displaced to the right of the actual pixel border, the condition might
exist wherein the displacement to the right increases as the row is
scanned. This may result in the delta increasing. If this continues until
the bixel image transition increased in displacement by more than one
pixel, this would cause the delta to increase from 10K photons to 100K
photons, at which point the states would shift to the right by one pixel.
This could cause errors in the data.
Because displacement changes occur relatively slowly as processing of a row
moves left-to-right, the hardware is constrained to only recognize changes
in energy of small amounts from pixel-to-pixel. This has the effect of
limiting the effects of noise in the processing; that is, by restricting
changes in the observed shift amount (deltas) to very small amounts, the
effects of local noise in the data is minimized. For example, as a row
moves from left-to-right, energy may be shifted from one pixel to another.
In this shifting operation, the amount of energy to be shifted is compared
to the amount of energy shifted in the previous energy shift operation. If
the difference therebetween is greater than a predetermined amount, the
energy shifted is forced to the predetermined amount. By way of example,
consider that the output of each of the pixels is a 4-bit word
representing eight analog levels. If the allowable difference between two
sequential energy shifts was equal to a value of "1" analog level, and if
the difference in energy shift from one energy shift to the next
subsequent energy shift were "3" analog levels, the actual energy shift
would be forced to "1" analog level.
Referring now to FIG. 7c, the delta change as a function of distortion
across the row is illustrated. The actual output waveform consists of a
condition represented by a single dark bixel followed by a light bixel
followed by a dark bixel, i.e., a checkerboard pattern. A first waveform
174 illustrates a transition from a level of 10K photons in the B2 state
pixel to a level of 100K photons in the W1 state pixel. This is
represented by an expected waveform 176, the left displaced actual bixel
illustrated by a waveform 178. As the scan continues along the row, a
second waveform, for example in the middle of the row, is illustrated by a
waveform 180, which illustrates a transition from a less than full level
output in the B2 pixel to a full level output in the W1 pixel with a delta
that is less than the delta in the waveform 174. This is illustrated by
the expected output 182 and the actual pixel waveform 184. As the scan
continues down the row, another waveform 186 representing the actual
output will occur wherein the delta between the B2 pixel and the W1 pixel
decreases even further relative to the deltas associated with the
waveforms 174 and 180. This is associated with an expected waveform 188
and the actual pixel waveform 190. If this continues, the delta will
eventually reach a zero value and then the waveform will appear to be
displaced to the right.
In order to compensate for this, a decision is made prior to the delta
decreasing to a zero value. An arbitrary threshold of, for example, 50% is
set for the delta. Whenever the value of delta is greater than 50%, both
the left energy shift and the right energy shift occur as described above,
i.e., in a displaced left position wherein the energy is shifted to the
right; in a displaced right condition, the energy will be displaced to the
left. However, when the delta increases or decreases to a level less than
50%, i.e., greater than 50% output, the "expected states" are shifted to
the left and, thereafter, when the delta increases to a level greater than
50%, the expected states are shifted to the right. This is illustrated in
FIG. 7d.
In FIG. 7d, there is illustrated a situation wherein a waveform 194 has a
delta that is slightly greater than 50%, wherein the energy from the B2
pixel is shifted to the W2 pixel. Thereafter, if this were to continue,
the next waveform, a waveform 198, would have a delta of less than 50%.
However, at this point a decision is made that the full output pixel,
which previously was the B2 pixel, is now assigned a state of W1, and the
energy is shifted to the left as opposed to the right. Note that this is a
shift of the state as opposed to a shift of energies. The energy shifting
is a function of whether the actual bixel output edge is leading the
expected state or lagging the expected state. It can be seen in the
waveform of 198 that, for a checkerboard pattern, prior to a shift line
200 the W2 pixel is assigned to a state that preceded a B1 pixel. However,
at the shift line 200, the previously assigned state of B2 is changed to
an assigned state of W1 for the next pixel associated with the light
bixel.
Referring now to FIG. 7e, there is illustrated a topological view of the
detector array and detected image illustrating an arbitrary distortion. A
line 202 is illustrated as being serpentined across the surface,
representing the loci of points representing where the delta value would
pass the threshold. On the left of the line 202, the states would be in a
shift right position and on the right side of the line 202, the states
would be shifted to the left. Of course, multiple lines 202 could exist
along a given image output by the detector.
When making the decision whether to shift to the left or shift to the
right, there is some hysteresis provided for noise purposes. If the
threshold were at a given average value, the decision would be made to
move from left to right at a first threshold value on one side of the
average threshold and the opposite decision made to go in the opposite
direction at a second threshold value on the opposite side of the average
threshold. This is a general hysteresis technique that prevents any
shifting on noise. Further, noise is eliminated by preventing the delta
value from changing by more than a predetermined amount from one bixel to
another, as described above.
Referring now to FIG. 8a, there is illustrated a layout of two rows of
pixels along the entire scan path. The description hereinabove was
directed only toward distortion along the y-axis. However, the distortion
can also occur along the x-axis in the form of pincushion, etc. This can
cause errors. In order to correct for these errors, each of the rows is
divided into three separate columns, or more depending on the application.
In the example, only three columns are provided. This provides three
segments for each row, a row segment illustrated in FIG. 8b. Since there
are two pixels for each bixel along the x-axis, it is only necessary to
utilize this procedure for every other row. Typically, odd rows are
utilized. It should be noted that as many columns as needed to correct
vertical (Y-axis) pincushion are used. An odd number are preferred, but
not necessary.
The three columns are referred to as row segments and are laid out in a
left column 210, a middle column 212 and a right column 214. Each of the
row segments is comprised of fields, the first field being a row number in
a field 216, the second field being a data field 218 and the third field
being a parity field 220, which contains a parity bit or some type of
error checking bit. The error checking bit in field 220 is associated only
with the data bits in field 218 and possibly the number bits in field 216.
The first column, left column 210, includes a synchronizing field 222
which includes the two logic "1" bits for row synchronization.
When each of the row segments is scanned, a row number is detected, the
data bits in field 218 are detected, and then the parity calculated. This
parity is then compared to the parity bit in the field 220. If there is a
comparison, this indicates that the scan was correct. However, if there is
no comparison, this indicates that the data is in error.
Referring now to FIG. 9, there is illustrated a block diagram for the
system to generate the offset. The system generally receives small
segments of the detector output from the detector 42 as data words on a
bus 226, these being two bytes long and representing the top two pixels in
two bixels. These are input to a bit discriminator 228 which is operable
to determine whether the bixel is a light bixel or a dark bixel. These two
byte segments are then input to the line buffer 230 which is controlled by
a control circuit 232. Line buffer 230 is operable | | |