This invention generally relates to techniques for displaying an image using a plurality of holographically generated subframes. More particularly the invention is concerned with methods, apparatus and computer program code for enhancing the effective resolution of images displayed in this way.
We have previously described techniques for displaying an image (which here includes a frame of a video sequence) by successively displaying holographic subframes. Although each subframe in itself, may be of relatively low perceived image quality, these integrate within the human eye to give the impression of a high quality image. By way of background we provide an outline of our preferred technique, referred to as OSPR (One Step Phase Retrieval) later; for more details reference may also be made to our co-pending patent applications, for example, WO 2005/059881 (hereby incorporated by reference). Broadly speaking the succession of holographic subframes is displayed using a spatial light modulator (SLM) such as one of a range of available so-called micro displays. The SLM is modulated with holographic data for each subframe which, in some preferred embodiments, is binary (either on or off) as a result of quantising the subframe data into two (or more) phases. This facilitates the use of a relatively inexpensive SLM and also significantly reduces the quantisation requirements. In some other preferred embodiments more than two phase levels are employed, for example four phase modulation (0, π/2, π, 3 π/2) since with only binary modulation a conjugate image is produced and the displayed image comprises a pair of images, one spatially inverted with respect to the other, losing half the available light. This can be avoided with four phase modulation (it will be understood that an SLM will, in general, provide phase rather than amplitude modulation); again for further details reference may be made to WO'881 (ibid). We have further previously described some improved techniques for noise reduction, in particular in UK Patent Application No. GB 0518912.1 filed on 16 Dec. 2005 (incorporated by reference) in which, broadly speaking, each successive subframe is adjusted to compensate for noise generated by one or more previously displayed subframes. This improves the convergence of the procedure (1/N2 rather than 1/N, where N is the number of subframes) thus again reducing the computational load and/or increasing the perceived image quality.
However there remains a general need for increasing the quality of the displayed image and/or decreasing the computational load. It has previously been recognised that when displaying an image using a single computer generated hologram, if it were possible to adjust the phase distribution of the computer generated hologram in just the right way an increase in resolution might be achieved (see Yasuhiro Takaki and Junichi Hojo, Computer-generated holograms to produce high-density intensity patterns, Applied Optics, Vol. 38 (11) pp. 2189-2195) although it was not known how this could be done (see section 5, discussion, ibid). The problem can be illustrated as follows: in a holographically displayed image each “point” of the image is expressed using a pattern of light which is the Fourier transform of the SLM aperture (generally a two-dimensional sinc2 function). Depending upon the pixel pattern and holographic data, two adjacent pixels may either be represented by a +1, +1 pattern or by a +1, −1 pattern. In the former case constructive interference occurs and the two pixels effectively merge; in the latter case the two pixels destructively interfere at the boundary between the two creating a black image which is visually distracting and manifests itself as speckle in the displayed image. Thus one expression of the problem is to find a way of reducing this speckle, in particular in the context of a system which displays an image using a plurality of holographic subframes. The inventors have recognised that in such a system the right choice of phase can effectively be made without having to explicitly calculate what the phase should be, by averaging over multiple subframes. Thus, broadly speaking, the inventors have recognised that by working at different resolutions the effect of speckle at the interfaces between adjacent pixels which is generally problematic can be exploited for the purpose of resolution enhancement. Further, in the context of an OSPR-type procedure which involves a phase randomisation step (to convert an input image spatial frequency spectrum which generally tails off towards the high frequencies to a substantially flat spectrum) embodiments of the technique allow an increase in effective resolution (and a reduction in speckle) whilst meeting the desirable requirement of a substantially flat spatial frequency spectrum.
According to a first aspect of the present invention there is therefore provided a method of generating data for displaying an image defined by a plurality of holographically generated subframes for display sequentially in time to give the impression of said image, the method comprising: receiving data for said image for display; determining holographic data for a said subframe from target image data at a first spatial resolution derived from said received data; converting said holographic data to image subframe data for display to generate a said holographic subframe, said image subframe data having a second spatial resolution lower than said first spatial resolution; generating reconstructed image data at said first spatial resolution from said image subframe data, said reconstructed image data representing said displayed holographic subframe; adjusting said target image data using said reconstructed image data; and determining holographic data and image subframe data for a subsequent said subframe using said adjusted image data.
Broadly speaking, in embodiments by determining the holographic subframe data at a higher resolution than is actually used to display a subframe, compensation for phase-induced errors can be formed automatically by adjusting the target image data, in particular target phase data (for pixels of the image) to compensate for the errors introduced. Preferably this is performed so that the flat spatial spectrum constraint is satisfied.
In embodiments the target phase data (for pixels of the target image) is initially randomised but afterwards adjusted to perform error compensation and hence noise reduction, the error compensation being performed at a higher resolution than a displayed subframe, in this way effectively increasing the resolution of the displayed image. Preferably the compensation is performed iteratively, for each successively displayed subframe, each subframe thus compensating for cumulative phase-related errors resulting from previous holographic subframes for the image. Further preferably a second compensation loop is included when determining the data for each subframe in accordance with the target image data. Thus preferably determining the holographic data for a subframe includes adjusting the target phase data in response to the calculated image subframe data, to produce successively improved approximations to the desired target. This process may be viewed as a loop in which the amplitude data of a target data image is fixed (by the target) but in which the phase data is effectively a free parameter. The data for displaying a subframe is initially calculated from the target phase data but this is then used to reconstruct the displayed subframe and adjust the target phase data so that on a further iteration the image subframe data is a better approximation to the desired subframe image. A predetermined number of iterations may be employed to converge on the desired target. In embodiments this “inner” loop involves Fourier and inverse Fourier transforms and phase quantisation (for example binarisation) since these conserve the substantially flat spectrum provided by the initial randomisation; other types of transform may, however, also be employed. Thus broadly speaking in embodiments the initial randomisation of the image plane phase results in a roughly flat spectrum—i.e. the spectrum (hologram) approximates a phase-only function, and this constraint is subsequently enforced in the hologram plane at each iteration by the phase quantisation operation.
In some preferred embodiments converting the holographic data to the image subframe data for, for example, driving a spatial light modulator comprises band limiting the holographic data. This may be implemented, for example, by selectively masking out the higher frequency components of the holographic data which comprise those further out from the origin of the holographic (spatial frequency) plane. For example a square or rectangular mask centred at the centre of the spatial frequency plane may be applied.
In preferred embodiments generation of the reconstructed image data includes a transformation from the frequency domain back to the spatial domain, the transformation being configured to provide an increase in resolution back to the first level of resolution. This may be implemented, for example, by padding the holographic subframe data with predetermined data, particularly zeros, to add high spatial frequency components so that the resolution corresponds to the first resolution; then a conventional transform such as a Fourier or inverse Fourier transform may be employed. Alternatively a modified Fourier or other transform may be employed in which the transform is applied at points interpolated between the input (frequency domain) subframe points to increase the x and or y resolution by a factor of two or more. (The skilled person will understand that in this context Fourier and inverse Fourier transforms are equivalent, apart from a scaling factor).
In preferred embodiments the generation of the reconstructed image data also includes converting the (complex) spatial domain output from the transformation into magnitude value data, to approximate what an observer's eye would see.
In another, related aspect the invention provides a method of generating data for displaying an image using a plurality of holographically generated temporal image subframes, the method comprising: receiving data for said image to be displayed and determining target image data from said received data; performing a space-frequency transform at a first resolution on said target image data to generate data for a said image subframe; and reducing said first resolution to generate data for displaying a said subframe.
As noted above, in preferred embodiments the target image data includes phase data and the method further comprises adjusting a phase of the target image data for a subframe to compensate for phase-related noise in the subframe. In embodiments this provides an iterative subframe data generation process in which the phase (prior to quantisation, for example binarisation or four phase quantisation) converges on a set of values (for the pixels) which give the optimum perceived result from the resolution reduction process. Preferably the method also includes adjusting the phase data of the target image data for a subframe to compensate for phase-related noise in one or more subframes. This provides an iterative process in which each successive subframe aims to optimise the effect of the resolution reduction on the displayed image from the previous frames. As mentioned above, preferably the adjusting of the phase data of the target image comprises performing a frequency-space transform of the data for a displayed subframe which includes an increase in resolution back to the higher resolution used for generating the image subframe.
The invention further provides a method of generating data for displaying an image defined by displayed image data using a plurality of holographically generated temporal subframes, said temporal subframes being displayed sequentially in time such that they are perceived as a single noise-reduced image, the method comprising generating from said displayed image data holographic data for each subframe of said set of subframes such that successive replay of holograms defined by said holographic data for said subframes gives the appearance of said image, a said subframe having a reduced resolution compared to a resolution of said image data, and wherein the method further comprises, when generating said holographic data for a said subframe, compensating for said resolution reduction arising from one or more previous subframes of said sequence of holographically generated subframes.
The invention further provides processor control code to implement the above-described methods, in particular on a data carrier such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. Code (and/or data) to implement embodiments of the invention may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language such as Verilog (Trade Mark) or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate such code and/or data may be distributed between a plurality of coupled components in communication with one another.
In a first complementary aspect the invention provides a system for generating data for displaying an image defined by a plurality of holographically generated subframes for display sequentially in time to give the impression of said image, the system comprising: an input to receive data for said image for display; working memory; a holographic subframe output; program memory storing processor control code; and a processor coupled to said program memory, data memory input, and output, to load and implement said processor control code, said code comprising code for controlling the processor to: determine holographic data for a said subframe from target image data at a first spatial resolution derived from said received data; convert said holographic data to image subframe data for display to generate a said holographic subframe, said image subframe data having a second spatial resolution lower than said first spatial resolution; generate reconstructed image data at said first spatial resolution from said image subframe data, said reconstructed image data representing said displayed holographic subframe; adjust said target image data using said reconstructed image data; and determine holographic data and image subframe data for a subsequent said subframe using said adjusted image data.
The invention further provides a system for generating data for displaying an image using a plurality of holographically generated temporal image subframes, the system comprising: an input to receive data for said image to be displayed; working memory; a holographic subframe output; program memory storing processor control code; and a processor coupled to said program memory, data memory input, and output, to load and implement said processor control code, said code comprising code for controlling the processor to: determine target image data from said received data; perform a space-frequency transform at a first resolution on said target image data to generate data for a said image subframe; and reduce said first resolution to generate data for displaying a said subframe.
The invention still further provides a system for displaying an image defined by displayed image data using a plurality of holographically generated temporal subframes, said temporal subframes being displayed sequentially in time such that they are perceived as a single-noise reduced image, the system comprising: an input for said displayed image data; working memory for storing said displayed image data and said holographic subframe data; a holographic subframe data output; program memory storing processor control code; and a processor coupled to said memory, data memory, input, and output, to load and implement said processor control code, said code comprising code for controlling the processor to: generate from said displayed image data holographic data for each subframe of said set of subframes such that successive replay of holograms defined by said holographic data for said subframes gives the appearance of said image, a said subframe having a reduced resolution compared to a resolution of said image data; and, when generating said holographic data for a said subframe, compensate for said resolution reduction arising from one or more previous subframes of said sequence of holographically generated subframes.
In still further aspects the invention provides a system, for each of the above described method aspects of the invention, and for their embodiments. Each system therefore comprises means for implementing each of the steps of the respective above described methods.
These and other aspects of the invention will now be further described, by way of example only, with reference to the accompanying figures in which:
a and 13b show illustrations of controlling pixel phase to produce a super-resolution effect;
a and 14b show a detailed block diagram of a system according to an embodiment of the invention for generating a plurality (N) of subframe holograms for displaying a resolution-enhanced image;
a and 15b show variations of standard deviation over mean statistic (
a and 16b show a comparison of conventional OSPR-with-feedback (
Referring first to
It is helpful, as a preliminary, to describe the basic (non-adaptive) OSPR algorithm and its implementation. The algorithm is a method of generating, for each still or video frame I=Ixy, sets of N binary-phase holograms h(1) . . . h(N). Statistical analysis of the algorithm has shown that such sets of holograms form replay fields that exhibit mutually independent additive noise.
Step 1 forms N targets Gxy(n) equal to the amplitude of the supplied intensity target Ixy, but with independent identically-distributed (i.i.t.), uniformly-random phase. Step 2 computes the N corresponding full complex Fourier transform holograms guv(n). Steps 3 and 4 compute the real part and imaginary part of the holograms, respectively. Binarisation of each of the real and imaginary parts of the holograms is then performed in step 5: thresholding around the median of muv(n) ensures equal numbers of −1 and 1 points are present in the holograms, achieving DC balance (by definition) and also minimal reconstruction error. In an embodiment, the median value of muv(n) is assumed to be zero. This assumption can be shown to be valid and the effects of making this assumption are minimal with regard to perceived image quality. Further details can be found in the applicant's earlier application (ibid), to which reference may be made.
Lenses L1 and L2 (with focal lengths f1 and f2 respectively) form the beam-expansion pair. This expands the beam from the light source so that it covers the whole surface of the modulator. Lens pair L3 and L4 (with focal lengths f3 and f4 respectively) form the beam-expansion pair. This effectively reduces the pixel size of the modulator, thus increasing the diffraction angle. As a result, the image size increases. The increase in image size is equal to the ratio of f3 to f4, which are the focal lengths of lenses L3 and L4 respectively.
A digital signal processor system 100 has an input 102 to receive image data from the consumer electronic device defining the image to be displayed. The DSP 100 implements a procedure as described herein to generate sub-frame (phase) hologram data for a plurality of holographic sub-frames which is provided from an output 104 of the DSP 100 to the SLM 24, optionally via a driver integrated circuit if needed. The DSP 100 drives SLM 24 to project a plurality of phase hologram sub-frames which combine to give the impression of displayed image 14.
The DSP system 100 comprises a processor coupled to working memory, to data memory storing (adjusted) displayed image data, cumulative phase-adjustment frame store data, target displayed image data, and holographic subframe data and to program memory such as ROM, Flash RAM or other non-volatile memory storing processor control code, in particular displayed image adjustment code, target image determination code, holographic image subframe calculation code including resolution enhancement code, and operating system code to implement corresponding functions as described further later.
The purpose of the phase-modulation block shown in
The quantisation shown in
There are many different ways in which phase-modulation data, as shown in
In another embodiment, pre-calculated phase modulation data is stored in a look-up table and a sequence of address values for the look-up table is produced, such that the phase-data read out from the look-up table is random. In this embodiment, it can be shown that a sufficient condition to ensure randomness is that the number of entries in the look-up table, N, is greater than the value, m, by which the address value increases each time, that m is not an integer factor of N, and that the address values ‘wrap around’ to the start of their range when N is exceeded. In a preferred embodiment, N is a power of 2, e.g. 256, such that address wrap around is obtained without any additional circuitry, and m is an odd number such that it is not a factor of N.
The operations described above may be implemented partially or wholly in hardware and/or partially or wholly in software, for example on a general purpose digital signal processor.
Referring now to
In a 2D holographic video projection system, the theoretical maximum output resolution is normally at most the resolution of the microdisplay, because the replay field (output image) is the Fourier transform of the hologram (shown on the microdisplay), and the Fourier transform is a bijective mapping from M×M to M×M. In practice, however, the usable output resolution is lower for a number of reasons: for example, when an M×M-pixel binary-phase modulator is employed as the microdisplay, the presence of the conjugate image restricts the addressable output resolution to at most M×M/2 points.
It follows that the microdisplay will typically require at least double the number of pixels present in the output, and in practice more. These extra pixels have the effect of:
There would be many advantages if it were possible to use a binary M×M-pixel microdisplay to form output images at a resolution greater than M×M/2.
One possible solution to the problem was described in patent application PCT GB2004 005255, and involves superimposing onto the binary-phase microdisplay a binary phase mask of the same physical size containing 2M×2M points of random but known phases, and taking the phase mask structure into account when calculating the hologram. Such a technique can give an output resolution of 2M×M points, but at the expense of a severe reduction in signal-to-noise (SNR) ratio. Because high SNR is essential for many applications including video, use of such a technique is often not practical.
The inventors have recognised that inter-pixel interference may be exploited to produce increased resolution. Referring to
It can be shown (and also seen from the graph) that the main lobe of such a sine function is in fact wider than the inter-pixel distance in the output. Therefore, adjacent pixels will interfere with each other, determined by their relative phases. Ordinarily, this effect is detrimental to the reconstructed image quality, causing random structure between samples that is often referred to rather confusingly as “speckles” in the literature (for example, J. P. Allebach, N. C. Gallagher, and B. Liu, “Aliasing error in digital holography,” Appl. Opt. 15, 2183-2188, 1976). However, it is possible to exploit this effect to our advantage.
Because the eye perceives not the field amplitude F (which has maximum frequency ±M/2) but its intensity |F|2 (which can be shown to have maximum frequency ±M), careful manipulation of the phases allows one to influence the pixel values between the sampling grid to create structure at higher spatial frequencies than M/2. For example, while a sequence of output samples [1, 0, 1, 0, 1] results, as expected, in 3 peaks of frequency M/2 (
The use of OSPR-with-feedback algorithms can generate OSPR hologram sets of resolution M×M that form high-quality image reproductions at double (in each dimension) the resolution of that of the hologram, i.e. 2M×2M. Allowing for the conjugate image present in a binary phase system, this allows a usable resolution of 2M×M to be achieved.
OSPR-with-feedback algorithms (as described in UK patent application no. 0518912.1 filed 16 Sep. 2005) can generate a set of holograms such that the Nth hologram HN in the set cancels out the cumulative noise produced by holograms H1 . . . HN-1. This is done by maintaining a dynamic estimate of the reproduction achieved by time-sequencing the holograms H1 . . . HN-1, and feeding the error forward to the Nth hologram generation stage so it can be cancelled. When the N holograms are time-sequenced, the effect is that only the final hologram in the set contributes to the output noise, resulting in a noise variance that falls as 1/N2 (compared with standard OSPR without feedback described in patent application PCT GB2004 005253, where noise variance falls simply as 1/N).
Here we extend this technique by modifying the algorithm so that, in addition to feeding forward the reproduction error present at each of the M×M sampling points (x, y), the errors present between the sampling points after stage N−1, i.e. at (x½, y), (x, y½) and (x½, y½), are also fed forwards and compensated for when calculating the hologram HN in stage N. In embodiments this uses a modified inter-pixel Fourier transform operation to evaluate the frequency components every half-sample, instead of every sample. As an alternative to half-sample evaluation, such a transform can be implemented by, for example, padding each M×M hologram up to 2M×2M by embedding it in a matrix of zeros; in either case and we notate this as F2M×2M [H(x, y)]. Taking the Fourier transform of this padded hologram then produces a 2M×2M field, which can be adjusted for error as desired before taking the inverse Fourier transform to obtain a 2M×2M hologram, which is then bandlimited to form the next M×M hologram in the output OSPR set.
The algorithm uses a combination of incoherent (OSPR-with-feedback) and coherent (phase) optimisation strategies. Coherent optimisation alone using a single hologram per image frame is not sufficient: because the hologram is the frequency spectrum of the image, phase holograms (which de facto have uniform amplitude everywhere) always form images with a uniform (i.e. flat) frequency spectrum, which, for a fixed amplitude target image implies a requirement of effectively random phase in the image pixels. However, as we have discussed above, super-resolution using inter-pixel interference uses exact control over image pixel phase, which is incompatible with the random image pixel phase (flat spectrum) requirement. Additionally using multiple subframe holograms per video frame by means of an OSPR-with-feedback approach allows the exact phase control requirement to be achieved over the temporal integral of a set of subframe holograms (as perceived by the eye), even though the requirement is violated for each individual hologram in the set to allow the flat-spectrum (effectively-random image pixel phase) constraint to be met.
We next describe details of an example super-resolution OSPR-with-feedback procedure:
The variables are as follows:
We next make the following definitions:
The skilled person will recognise that the modified (inter-pixel) Fourier transform effectively evaluates a Fourier (or inverse Fourier) transform at intermediate image points ie.
In the following, reference may be made to
T′(x,y):=T(x,y)γ/2
Note that in the above F(x,y) is different to the transform or inverse transform F (which has a superscript).
Referring to
We next describe some results of numerical simulations of the procedure.
With the OSPR-with-feedback algorithms described in UK patent application no. 0518912.1, noise variance falls as 1/N2. In the above described super-resolution procedure (2M×2M input image, M×M output hologram), we would expect the same rate of decrease of noise variance. However we would also expect the noise variance value for each N to be greater than the corresponding noise variance in the case of conventional OSPR-with-feedback (M×M input image, M×M output hologram). This is because we are controlling a greater number of parameters in the output field without increasing the number of degrees of freedom in the hologram, and this information loss would be expected to manifest itself as increased output noise in each of the controlled pixels.
To provide a quantitative comparison, we look at the variation with N of a standard deviation over mean statistic (effectively the square root of noise variance) for:
The results obtained through numerical simulation are shown in
To show the quality of results achievable with this approach, a 768×384 input image was chosen and embedded in a 1024×1024 frame. Holograms were then generated as follows:
A section of the output in each case is shown in
Applications for the above described methods and systems include, but are not limited to the following: Mobile phone; PDA; Laptop; Digital camera; Digital video camera; Games console; In-car cinema; Personal navigation systems (In-car or wristwatch GPS); Watch; Personal media player (e.g. MP3 player, personal video player); Dashboard mounted display; Laser light show box; Personal video projector (the “video iPod” idea); Advertising and signage systems; Computer (including desktop); Remote control units; desktop computers, televisions, home multimedia entertainment devices and so forth.
The skilled person will understand that embodiments of the invention may be implemented entirely in hardware, entirely in software, or using a combination of the two.
No doubt many effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
0601481.5 | Jan 2006 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2007/050037 | 1/24/2007 | WO | 00 | 2/19/2009 |